rapid-photo-downloader-0.4.10/0000775000175000017500000000000012302422407016372 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/po/0000775000175000017500000000000012302422407017010 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/po/it.po0000644000175000017500000025004012270217622017770 0ustar damondamon00000000000000# Italian translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-21 23:51+0000\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s.%(minute)s.%(second)s.%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Dispositivo" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Dimensione" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Avanzamento scaricamento" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s non è stato smontato correttamente" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "Analisi..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "l'origine del file system" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Scaricamento da %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Scaricare veramente da questa posizione? Su alcuni sistemi, l'analisi di " "questa posizione può richiedere molto tempo." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Scarica" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Sospendi" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Le seguenti cartelle da scaricare non sono valide:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "La seguente cartella da scaricare non è valida:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Impossibile procedere con lo scaricamento" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "Nessun dispositivo di backup contiene una cartella valida per eseguire il " "backup di %(filetype)s" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "foto" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "video" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "Problema nel backup" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Manca circa 1 secondo" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Mancano circa %i secondi" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Manca circa 1 minuto" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Mancano circa %(minutes)i.%(seconds)02i minuti" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "foto e video" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "foto o video" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "foto" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "Scaricati %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "Impossibile scaricare %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avvisi" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Scaricamenti completati" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s scaricati" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "impossibile scaricare %(filetype)s" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s su %(total)s %(filetypes)s (%(remaining)s rimanenti)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s su %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Da" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Rileva automaticamente" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Selezionare una cartella contenente %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Copia" #: rapid/rapid.py:3397 msgid "Move" msgstr "Sposta" #: rapid/rapid.py:3419 msgid "To" msgstr "Su" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Foto:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Selezionare una cartella in cui scaricare le foto" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Video:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Selezionare una cartella in cui scaricare i video" #: rapid/rapid.py:3650 msgid "and" msgstr "e" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Si utilizzano dispositivi di backup" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Si utilizza un dispositivo di backup" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Non è stato rilevato alcun dispositivo di backup" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Spazio libero:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s liberi" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Backup di fotografie e video su %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Backup su %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Backup delle fotografie su %(path)s, dei video su %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Le preferenze del programma non sono valide" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Foto" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "la cartella per scaricare %(file_type)s non esiste" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Cartella: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "la cartella per scaricare %(file_type)s non è valida" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "la cartella per scaricare %(file_type)s non è scrivibile" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniature" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "Visualizza informazioni sulla riga comando quando il programma è in " "esecuzione (predefinito: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "Visualizza informazioni di debug quando eseguito dalla riga comando" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "Visualizza solo gli errori sulla riga comando" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "Elenca le estensioni delle foto e dei video riconosciuti dal programma ed " "esce" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "Rileva automaticamente i dispositivi da cui scaricare, sovrascrivendo le " "preferenze esistenti del programma" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "Specifica manualmente il PATH del dispositivo da cui scaricare, " "sovrascrivendo le preferenze esistenti del programma" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" "Reimposta tutte le preferenze e le impostazioni del programma ed esce" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Errore: specificare il dispositivo di auto-rilevamento o specificare " "manualmente il percorso di un dispositivo dal quale scaricare, ma non " "entrambe." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "e %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Tutte le impostazioni e preferenze sono state reimpostate" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Errore durante il backup" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Impossibile creare la directory di destinazione: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Origine: %(source)s\n" "Destinazione: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Errore: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "Backup %(file_type)s sovrascritto" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "Backup di %(file_type)s non eseguito" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "Il backup di %(file_type)s esiste già" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "File: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "Si è verificato un errore sconosciuto" #: rapid/device.py:80 msgid "Device Detected" msgstr "Dispositivo rilevato" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Utilizzare questo dispositivo o partizione come sorgente da cui scaricare " "foto o video?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Ricordare questa scelta" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Data e ora" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Testo" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nome file" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Meta-dati" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Ordinamenti" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Codice lavoro" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Data dell'immagine" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Data del video" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Oggi" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Ieri" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Tempo di scaricamento" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nome + estensione" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nome" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Estensione" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Numero immagine" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Numero video" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Apertura" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Tempo di esposizione" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Lunghezza focale" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Marca fotocamera" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Modello fotocamera" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Modello fotocamera breve" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Modello della fotocamera breve (es.: DSC-P92)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Numero seriale" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Contatore dell'otturatore" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Numero file" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Solo la cartella" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Cartella e file" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nome del proprietario" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Codec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Larghezza" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Altezza" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Lunghezza" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Fotogrammi per secondo" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Artista" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Copyright" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Scaricati oggi" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Numero della sessione" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Numero della sotto-cartella" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Numero memorizzato" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Lettera di sequenza" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Tutte le cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Ultima cifra" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Ultime 2 cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Ultime 3 cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Ultime 4 cifre" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Caso originale" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "MAIUSCOLO" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "minuscolo" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Una cifra" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Due cifre" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tre cifre" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Quattro cifre" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinque cifre" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Sei cifre" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sette cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Sotto-secondi" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "AAAAMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "AAAA-MM-GG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "AAMMGG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "AA-MM-GG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMGGAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMGGAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMGG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "GGMMAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "GGMMAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "GG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Mese (intero)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Mese (abbreviato)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minuti)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Le preferenze della sotto-cartella non dovrebbero iniziare con un %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" "Le preferenze della sotto-cartella non dovrebbero terminare con un %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" "Le preferenze della sotto-cartella non dovrebbero contenere due %s uno dopo " "l'altro" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Rimuovere tutti i codici lavoro?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Occorre rimuovere tutti i codici lavoro?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Rimuovere tutti i percorsi memorizzati?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Occorre rimuovere tutti i percorsi memorizzati?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Rimuovere tutti i percorsi ignorati?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Occorre rimuovere tutti i percorsi ignorati?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Errore nelle preferenze di rinomina foto" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Errore nelle preferenze di rinomina video" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Errore nelle preferenze di scarica sotto-cartelle foto" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Errore nelle preferenze di scarica sotto-cartelle video" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Inserire un codice lavoro" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Inserire un nuovo codice lavoro o selezionarne uno precedente" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Inserire un nuovo codice lavoro" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Codice lavoro:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Inserire un persorco da ignorare" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Specificare un percorso che non sarà mai esaminato per cercare fotografie e " "video" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Percorso:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Codice lavoro" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Selezioanre un percorso in cui salvare le fotografie" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Selezioanre un percorso in cui salvare i video" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Attenzione: meta-dati insufficienti per generare completamente il " "nome. Utilizzare altre opzioni per la rinomina." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Attenzione: meta-dati insufficienti per generare completamente le " "sotto-cartelle. Utilizzare altre opzioni per identificare le sotto-" "cartelle." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Esempio: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Le preferenze della sotto-cartella %(filetype)s inserite non sono valide e " "non possono essere utilizzate.\n" "Vengono ripristinati i valori predefiniti." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Le espressioni regolari che seguono non sono valide e saranno rimosse a meno " "che non vengano corrette:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Questa espressione regolare non è valida e sarà rimossa a meno che non venga " "corretta:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Espressione regolare non valida" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "driveesterno1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "driveesterno1" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Parigi" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlino" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Mosca" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsavia" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Giacarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stoccolma" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "sotto-cartella" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nome del file" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Il valore della data %s non sembra essere valido" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Il nome del file non ha un'estensione." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Il nome del file non ha una componente numerica." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Errore nel generare la componente %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "i meta-dati %(filetype)s non sono leggibili" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s non può essere generato" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Si è verificato un errore durante la copia di %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "%(filetype)s non è stato scaricato correttamente" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s esiste già" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "Non si può effettuare il backup di %(filetype)s in quanto non è stata " "travata nessuna posizione adatta." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s è stata scattata il %(image1_date)s alle %(image1_time)s, e " "%(image2)s il %(image2_date)s alle %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s è stato già scaricato" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "La data di ultima modifica dei %(filetype)s esistenti è %(date)s alle " "%(time)s. E' stato aggiunto l'identificatoe univoco '%(identifier)s'." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "Il %(filetype)s è stato modificato il %(date)s alle %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Non ci sono dati con cui nominare i %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Errore: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" "Controllo del file non riuscito. La versione scaricata è diversa " "dall'originale." #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "I metadata potrebbero essere corrotti." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "Il nome del file, l'estensione e le informazioni Exif indicano che è già " "stato scaricato." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " È stato effettuato il backup su %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " È stato effettuato il backup su questi di dispositivi: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s e %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Sono state rilevato foto con lo stesso nome del file, ma scattate in ore " "differenti: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Si è verificato un errore salvando su %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Si è verificato un errore salvando su %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Si sono verificati degli errori durante il backup sui seguenti dispositivi " "di backup: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s e %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s e %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Il backup esiste già su %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Il backup esiste già in queste posizioni: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Salvataggio sovrascritto su %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Salvataggi sovrascritti su questi dispositivi: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" "Si è verificato un errore durante la creazione delle directory su " "%(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Si è verificato un errore durante la creazione delle directory sui seguenti " "dispositivi di backup: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" "Controllo dei file non riuscito su %(volume)s. La versione nel backup è " "diversa da quella scaricata." #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "Controllo dei file non riuscito sui seguenti dispositivi: " #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Inoltre, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Inoltre, si è verificato %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Inoltre, si è verificato un %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Il %(type)s metadata è mancante." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "I seguenti metadata sono mancanti: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s e %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problemi nella generazione della sottocartella e del nome del file" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problema nella generazione della sottocartella e del nome del file" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemi nella generazione %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problema nella generazione %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s esiste già, ma si è effettuato il backup" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Si è verificato un errore durante la copia di %(filetype)s, ma ne è stato " "effettuato il backup" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Si sono verificati molteplici errori" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Sono state rilevate fotografie con gli stessi nomi di file, ma prese ad " "orari diversi" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "si sono verificati errori salvando" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Si sono verificati errori salvando" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "si è verificato un errore salvando" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Si è verificato un errore salvando" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, e %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" "scansione in corso (trovate %(photos)s fotografie e %(videos)s video)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "sottocartella e nome del file" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "La fotografia è stata già scaricata" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Origine: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" "Si è verificato un errore nella creazione della sottocartella di download" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Percorso: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Informazioni..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "Seleziona _tutto" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Controlla fotografie" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Controlla video" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Fai una donazione..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Richiedi Aiuto In Linea..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Aiuto" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Preferenze" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Esci" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Aggiorna" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Segnala un Problema..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Traduci questa applicazione..." #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Deseleziona Tutti" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_File" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Download / Sospendi" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Seleziona" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Seleziona Tutto _Senza il Codice _Lavoro" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Seleziona Tutto _Con il Codice Lavoro" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Visualizza" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Registro errori" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Svotare i Downloads Completati" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "File precedente" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "File successivo" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Aiuto" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Traduci questa Applicazione..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Includi nel download" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Download" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Preferenze: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Cartelle per il download delle " "foto" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Esempio: /home/user/Immagini" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Sottocartella di download" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Cartella di download:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Scelta della cartella di download. Sottocartelle per le fotografie scaricate " "saranno create automaticamente in questa cartella utilizzando la struttura " "specificata sotto." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Cartella di download" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Cartelle delle foto" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Rinomina foto\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Rinomina foto" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Nuovo:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Originale:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Esempio" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Rinomina foto" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Cartelle per il download dei " "video" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Spiacenti, la funzionalità dello scarico dei video è disabilitata. Per " "scaricare i video, si prega di installare i pacchetti python hachoir " "metadata e kaa metadata, oppure exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Scegliere la cartella per il download. Le sottocartelle per i video " "scaricati saranno create automaticamente in questa cartella utilizzando la " "struttura specificata sotto." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Cartelle video" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Rinomina video\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Rinomina video" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Opzioni di rinomina" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Numeri di sequenza" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Specificare l'ora nel formato 24 ore a cui il numero di sequenza " "Downloads oggi dovrebbe essere reimpostato." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Giorno iniziale:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Downloads oggi:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Numero memorizzato:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Sincronizza i numeri di sequenza RAW + JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Compatibilità con altri sistemi operativi" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Specificare se dai nomi delle foto, dei video e delle cartelle occorre " "rimuovere qualche carattere non ammesso da altri sistemi operativi." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Elimina caratteri incompatibili" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Opzioni di rinomina" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Codici Lavoro" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Codici Lavoro" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Aggiungere..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "R_imuovi Tutto" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Codici Lavoro" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Dispositivi" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Dispositivi" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "I dispositivi indicano da dove si scaricano fotografie e video, come " "macchine fotografiche, schede di memoria o Dispositivi di Memorizzazione " "Portatile (PSD).\n" "\n" "Puoi scaricare da più dispositivi simultaneamente, oppure puoi specificare " "una posizione sul tuo disco fisso.\n" "\n" "Scaricare direttamente dalla macchina fotografica è attualmenet una " "caratteristica sperimentale. Se scaricando direttamente dalla tua macchina " "fotografica funziona male o per niente, prova ad impostarla in modalità PTP. " " Se ciò non fosse possibile, occorre utilizzare un lettore di schede di " "memoria." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Rileva automaticamente i dispositivi di memorizzazione portatile" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Rileva i dispositivi automaticamente" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Se abiliti la rilevazione automatica dei Dispositivi di Memorizzazione " "Portatile (PSD), sarà analizzato tutto il dispositivo. Su grossi dispositivi " "ciò potrebbe richiedere un po' di tempo.\n" "\n" "Quando questa opzione è abilitata, ed un dispositivo potenziale viene " "rilevato, ti verrà richiesto di determinare se questo dovrà essere " "analizzato o meno." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Posizione:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Se si disabilita la rilevazione automatica, scegliere la posizione esatte " "delle fotografie e dei video." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Opzioni Dispositivo" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Percorsi Memorizzati" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "I percorsi memorizzati sono quelli associati con i dispositivi che hai " "scelto di analizzare sempre oppure di ignorare quando la rilevazione " "automatica dei Dispositivi di Memorizzazione Portatile (PSD) è abilitata." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Percorsi Ignorati" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Specifica la porzione finale dei percorsi che vuoi ignorare quando si " "analizzano i dispositivi per le fotografie o i video. Qualsiasi percorso che " "termini con i valori di seguito non sarà analizzato." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Ri_muovi Tutto" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Utilizza espressioni regolari _python-style" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Opzioni Dispositivo" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Backup\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Backup" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Se si disabilita la rilevazione automatica, scegliere le posizioni esatte " "del salvataggio." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Rileva automaticamente i dispositivi di backup" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Durante il download è possibile effettuare il backup delle foto e dei video " "in posizioni multiple, come ad esempio su dischi esterni." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Effettua il backup delle foto e dei video durante il download" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Specificare la cartella in cui memorizzare i backup sul dispositivo. \n" "\n" "Nota: sarà usato anche per determinare se il dispositivo è utilizzato o " "meno per i backup. Per ogni dispositivo che vuoi utilizzare per i backup, " "crea una cartella al suo interno con uno di questi nomi." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Posizione del salvataggio delle fotografie" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Nome della cartella del backup delle foto:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Esempio:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/externaldrive/Photos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Nome della cartella di backup dei video:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Posizione del salvataggio dei video" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Varie" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automazione programma" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Smonta (\"espelli\") il dispositivo al completamento del download" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Inizia il download all'avvio del programma" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Inizia il download quando il dispositivo viene inserito" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Esce dal programma quando il download è completo" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" "Esce dal programma anche se si sono verificati errori e avvisi durante il " "download" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Ruota automaticamente le immagini JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "Controllare i file mentre vengono scaricati" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Prestazioni" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Generazione delle miniature (lento)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Varie" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Gestione degli errori" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Nomi di foto e video in conflitto" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Aggiunta di un identificatore univoco" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Salta il download" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Quando una fotografia o un video con lo stesso nome è già stata scaricata, " "scegli se saltare il download oppure aggiungere un identificatore unico." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Scegliere se, durante un salvataggio, si vuole sovrascrivere un file che " "abbia lo stesso nome sul dispositivo di salvataggio, o ignorarne la copia." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Sovrascrivi" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Salta" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Gestione degli errori" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importa le tue foto ed i video in modo efficiente ed affidabile" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Origine: %(source)s\n" #~ "Problema: %(problem)s" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Scansione del dispositivo completata: nessuna immagine trovata in %s" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Scansione del dispositivo completata: trovate %(number)s immagini in " #~ "%(device)s" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 di %s immagini copiate" #, python-format #~ msgid "Source: %s" #~ msgstr "Origine: %s" #~ msgid "Could not open image" #~ msgstr "Impossibile aprire l'immagine" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Sottocartella: %(subfolder)s\n" #~ "Immagine: %(image)s\n" #~ "Problema: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Origine: %(source)s\n" #~ "Destinazione: %(destination)s\n" #~ "Errore: %(errno)s %(strerror)s" #~ msgid "Image overwritten" #~ msgstr "Immagine sovrascritta" #~ msgid "No backup device was detected." #~ msgstr "Nessun dispositivo di backup è stato rilevato." #~ msgid "This device has no images to download from." #~ msgstr "Questo dispositivo non ha immagini da scaricare." #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s di %(total)s immagini copiate" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Il download è inziato da %s" #~ msgid "Image already exists" #~ msgstr "L'immagine esiste già" #~ msgid "errors" #~ msgstr "errori" #~ msgid "Some preferences will be reset." #~ msgstr "Alcune preferenze saranno azzerate." #~ msgid "Warning:" #~ msgstr "Attenzione:" #~ msgid "Automatically start download is false" #~ msgstr "Avvio automatico dei download disattivo" #~ msgid "Automatically start download is true" #~ msgstr "Avvio automatico dei download attivo" #~ msgid "images skipped" #~ msgstr "immagini saltate" #~ msgid "Goodbye" #~ msgstr "Arrivederci" #, python-format #~ msgid "%s is already running" #~ msgstr "%s è già in esecuzione" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Scusa ma queste preferenze contengono un errore:\n" #~ msgid "Error in Image Rename preferences" #~ msgstr "Errore nelle preferenze Rinomina Immagine" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Errore nelle preferenze Sottocartella di Download" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Le preferenze sottocartella inserite non sono valide e non possono essere " #~ "usate.\n" #~ "Saranno reimpostate ai loro valori di default." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Sono stati rimossi alcuni valori non necessari nelle preferenze " #~ "sottocartella." #~ msgid "Select an image folder" #~ msgstr "Selezionare una cartella contenente le foto" #~ msgid "Select a folder in which to backup images" #~ msgstr "Selezionare una cartella per le immagini di backup" #~ msgid "Resetting value to zero.\n" #~ msgstr "Resetta i valori a zero.\n" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Il valore Downloads Oggi non è valido.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Si resetta a mezzanotte.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Il valore della preferenza 'Inizio del giorno' è corrotto.\n" #~ msgid "Resetting to default values." #~ msgstr "Si resettano ai valori di default." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Per favore controlla le preferenze, riavvia il programma e prova di nuovo" #~ msgid "There is an error in the program preferences." #~ msgstr "C'è un errore nelle referenze programma." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Origine: %(source)s\n" #~ "Destinazione: %(destination)s\n" #~ "Problema: %(problem)s" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Non si è potuto generare correttamente il nome file dell'immagine. " #~ "Controllare che ci siano sufficienti metadati per l'immagine." #~ msgid "Image filename could not be generated" #~ msgstr "Non si è potuto generare il nome file dell'immagine" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "I metadati sono essenziali per generare i nomi delle sottocartelle / " #~ "immagini.\n" #~ "Origine: %s" #~ msgid "Image has no metadata" #~ msgstr "L'immagine non ha metadati" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Un nuovo giorno è iniziato - si resetta il numero di sequenza 'Downloads " #~ "Oggi'" #~ msgid "Download copying error" #~ msgstr "Errore nella copia del download" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Aggiunto identificatore univoco '%s'" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Impossibile generare correttamente il nome della sottocartella. Controllare " #~ "che ci siano metadati sufficienti per l'immagine." #, python-format #~ msgid "%s images skipped" #~ msgstr "%s immagini ignorate" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Non si è potuto creare la cartella di destinazione\n" #~ "%(directory)s\n" #~ "Errore: %(errno)s %(strerror)s" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s immagini scaricate" #~ msgid "The device can now be safely removed" #~ msgstr "Il dispositivo può adesso essere rimosso in modo sicuro" #~ msgid "Backup image already exists" #~ msgstr "L'immagine di backup esiste già" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Origine: %(source)s\n" #~ "Destinazione: %(destination)s\n" #~ "Errore: %(errorno)s %(strerror)s" #~ msgid "The image was not copied." #~ msgstr "L'immagine non è stata copiata." #~ msgid "Backup device missing" #~ msgstr "Manca il dispositivo di backup" #~ msgid "Image has no thumbnail" #~ msgstr "L'immagine non ha miniatura" #~ msgid "Image skipped" #~ msgstr "Immagine ignorata" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Le preferenze del programma sembrano essere valide, ma occorre controllarle " #~ "per assicurare la correttezza delle operazioni." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Una versione più recente di questo programma è stato eseguito su questo " #~ "computer.\n" #~ "\n" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "La miniatura non può essere visualizzata" #~ msgid "It may be corrupted" #~ msgstr "Può essere corrotto" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Download completato da %s" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Spiacente, alcune preferenze non sono valide e saranno ripristinate." #~ msgid "No preferences needed to be changed." #~ msgstr "Non occorre cambiare alcuna preferenza." #~ msgid "Preferences were modified." #~ msgstr "Le preferenze sono state modificate." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Questa versione del programma è più recente della versione eseguita in " #~ "precedenza. Si controllano le preferenze." #~ msgid "Problem using pynotify." #~ msgstr "Riscontrato un problema usando pynotify." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Questa versione del programma utilizza preferenze diverse dalla vecchia " #~ "versione. Alcune delle preferenze precedenti non erano valide, e non hanno " #~ "potuto essere aggiornate. Saranno reimpostate." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Impossibile acquisire le proprietà server di pynotify." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Questa versione del programma utilizza preferenze diverse dalla vecchia " #~ "versione. Le tue preferenze sono state aggiornate.\n" #~ "\n" #~ "Controllarle per assicurare la correttezza delle operazioni." #~ msgid "Using manually specified path" #~ msgstr "Si utilizza un percorso specificato manualmente" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Rilevato %(device)s con il percorso %(path)s" #~ msgid "images downloaded" #~ msgstr "immagini scaricate" #~ msgid "_Pause" #~ msgstr "_Pausa" #~ msgid "Preferences were changed." #~ msgstr "Le preferenze sono state modificate." #~ msgid "_Download " #~ msgstr "_Download " #~ msgid "Using" #~ msgstr "Si usa" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "elenca le estensioni per i files delle immagini che il programma riconosce, " #~ "ed esce" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Metadato sotto-secondi non presente nell'immagine" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "Metadato %s non presente nell'immagine" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Errore nel componente data e ora. Il valore %s non sembra valido" #~ msgid "extension was specified but image name has no extension" #~ msgstr "" #~ "è stata specificata un'estensione ma il nome dell'immagine non ha estensione" #~ msgid "image number was specified but image filename has no number" #~ msgstr "" #~ "è stato specificato un numero immagine ma il nome file dell'immagine non ha " #~ "numero" #~ msgid "These preferences are not well formed:" #~ msgstr "Queste preferenze non sono formalmente corrette:" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Il valore delle preferenze '%(value)s' non è valido" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "La chiave delle preferenze '%(key)s' non è valida\n" #~ "Sono previsti uno di %(value)s" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "errore nella generazione del nme con il componente %s" #~ msgid " " #~ msgstr " " #~ msgid "Image Rename" #~ msgstr "Rinomina Immagine" #~ msgid "Missing Backup Devices" #~ msgstr "Dispositivi di Backup Mancanti" #~ msgid "Image Name Conflicts" #~ msgstr "Conflitti sul Nome Immagine" #~ msgid "Image Devices" #~ msgstr "Dispositivi Immagine" #~ msgid "Automation" #~ msgstr "Automazione" #~ msgid "Example: /home/user/photos" #~ msgstr "Esempio: /home/utente/fotografie" #~ msgid "Image Devices" #~ msgstr "Dispositivi Immagine" #~ msgid "Download Folder" #~ msgstr "Cartella di Download" #~ msgid "Image Rename\t" #~ msgstr "Rinomina Immagine\t" #~ msgid "Backup photos when downloading" #~ msgstr "Backup delle foto durante il download" #~ msgid "Automation" #~ msgstr "Automazione" #~ msgid "Backup" #~ msgstr "Backup" #~ msgid "Backup folder name:" #~ msgstr "Nome della cartella di backup:" #~ msgid "Automatically detect image devices" #~ msgstr "Rileva automaticamente i dispositivi immagine" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Scelta se saltare il download dell'immagine, oppure aggiungere un " #~ "identificatore univoco." #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Download Folder" #~ msgstr "Cartella di Download" #~ msgid "Error Log" #~ msgstr "Registrazione degli Errori" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importa le tue immagini in modo efficiente ed affidabile" #~ msgid "Image location:" #~ msgstr "Locazione dell'immagine" #~ msgid "Image Rename" #~ msgstr "Rinomina Immagini" #~ msgid "Image Devices" #~ msgstr "Dispositivi Immagine" #~ msgid "Exit program after completion of successful download" #~ msgstr "" #~ "Termina il programma al termine del completamento di un download con esito " #~ "positivo" #~ msgid "Ignore" #~ msgstr "Ignora" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Se si disabilita il rilevamento automatico, scegliere l'esatta locazione " #~ "delle immagini." #~ msgid "Report an error" #~ msgstr "Riporta un errore" #~ msgid "Report a warning" #~ msgstr "Riporta una segnalazione" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader è software libero; puoi ridistribuirlo e/o " #~ "modificarlo alle condizioni della GNU General Public License come pubblicato " #~ "dalla Free Software Foundation; o la versione 2 della Licenza, o (a tua " #~ "scelta) ogni versione successiva.\n" #~ " \n" #~ "Rapid Photo Downloader è distributed nella speranza che sarà utile, ma SENZA " #~ "NESSUNA GARANZIA; anche senza la garanzia implicita di COMMERCIABILITA' o " #~ "IDONEITA' PER UNO SCOPO PARTICOLARE. Vedi la GNU General Public License per " #~ "dettagli ulteriori.\n" #~ "\n" #~ "Dovresti aver ricevuto una copia della GNU General Public License con Rapid " #~ "Photo Downloader; altrimenti, scrivi alla Free Software Foundation, Inc., 51 " #~ "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Specifica la cartella nella quale i backups sono memorizzati sul " #~ "dispositivo. \n" #~ "\n" #~ "Nota: questa sarà anche usata per determinare se un dispositivo è " #~ "utilizzato per i backups o meno. Per ogni dispositivo che si vuol utilizzare " #~ "per il backup, crearvi una cartella con questo nome." #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Smonta (\"espelle\") il dispositivo immagini al termine del download" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Quando si effettua il backup, scegliere se sovrascrivere un'immagine che ha " #~ "lo stesso nome sul dispositivo di backup, o se saltarne il backup." #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Specificare cosa fare quando un'immagine con lo stesso nome è già stata " #~ "scaricata o salvata." #~ msgid "Start downloading upon image device insertion" #~ msgstr "Inizia il download all'inserimento di un dispositivo immagini" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "Specificare cosa fare quando non ci sono dispositivi di backup." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Specificare se l'immagine o i nomi di cartella dovrebbero avere rimossi i " #~ "caratteri non permessi da altri sistemi operativi." #~ msgid "_Photos" #~ msgstr "_Fotografie" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Si possono salvare in locazioni diverse le proprie fotografie mentre vengono " #~ "scaricate, ad esempio un dischi esterni." #~ msgid "_Thumbnails" #~ msgstr "_Miniature" #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "I dispositivi immaginw sono dispositivi da cui scaricare fotografie, come " #~ "macchine fotografiche, schede di memoria o dispositivi di memorizzazione " #~ "portatili (PSD).\n" #~ "\n" #~ "Puoi scaricare fotografie da più dispositivi immagine contemporaneamente.\n" #~ "\n" #~ "Se il download diretto dalla tua macchina fotografica funziona male o non " #~ "funziona per niente, prova ad impostarla in modalità PTP. Se questo non " #~ "fosse possibile, considera di utilizzare un lettore di schede di memoria." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Attenzione: I metadati dell'immagine non sono sufficienti per " #~ "generare correttamente un nome. Per favore, usa altre opzioni di " #~ "rinomina." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Attenzione: I metadati dell'immagine non sono sufficienti per " #~ "generare correttamente sottocartelle. Per favore, usa altre opzioni per i " #~ "nomi di sottocartella." #~ msgid "Starting downloads" #~ msgstr "Inizio download" #~ msgid "Job Code entered" #~ msgstr "Codice Lavoro inserito" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Si iniziano i downloads che attendevano un Codice Lavoro" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s selezionato come sorgente per il download" #~ msgid "This device or partition will always be used to download from" #~ msgstr "" #~ "Questo dispositivo o partizione sarà sempre usato come sorgente per il " #~ "download" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s rifiutato come sorgente per il download" #~ msgid "This device or partition will never be used to download from" #~ msgstr "" #~ "Questo dispositivo o partizione non sarà mai usato come sorgente per il " #~ "download" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Inserire un nuovo codice lavoro, o selezionarne uno precedente." #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Questo è un dispositivo o una partizione da cui scaricare immagini?" #~ msgid "Job Code not entered" #~ msgstr "Codice Lavoro non inserito" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Dispositivo %(device)s (%(path)s) ignorato" #~ msgid "Enter a new job code." #~ msgstr "Inserire un nuovo codice lavoro" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Si richiede se usare %s" #~ msgid "Prompting for Job Code" #~ msgstr "Si richiede un Codice Lavoro" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Si sta già richiedendo un Codice Lavoro, non si richiede di nuovo" #~ msgid "Backup location:" #~ msgstr "Posizione del backup:" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Se si disabilita il rilevamento automatico, scegliere l'esatta posizione del " #~ "backup." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Se si abilita il riconoscimento automatico dei dispositivi di memorizzazione " #~ "portatile, tutto il dispositivo sarà sottoposto a scansione per le immagini. " #~ "Su dispositivi capienti ciò potrebbe richiedere tempo." rapid-photo-downloader-0.4.10/po/oc.po0000644000175000017500000014530412270217613017763 0ustar damondamon00000000000000# Occitan (post 1500) translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:17+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Periferic" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Talha" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Progression del telecargament" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "Deteccion en cors..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "" #: rapid/rapid.py:2270 msgid "Pause" msgstr "" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Impossible de procedir al transferiment" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avertiments" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "" #: rapid/rapid.py:3650 msgid "and" msgstr "e" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "e %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Font : %(source)s\n" "Destinacion : %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "Mio/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Tèxte" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nom del fichièr" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadonadas" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sequéncias" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Etiqueta de transferiment" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Data de l'imatge" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Uèi" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Ièr" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nom + extension" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nom" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extension" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Numèro de l'imatge" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Dobertura" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Temps d'exposicion" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Distància focala" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Marca de l'aparelh" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Modèl d'aparelh de fòto" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Numèro de seria" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "MAJUSCULA" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "minuscula" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Una chifra" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Doas chifras" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tres chifras" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Quatre chifras" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinc chifras" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Sièis chifras" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sèt chifras" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "AAAAMMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "AAA-MM-JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "AAMMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "AA-MM-JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MM-JJ-AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MM-JJ-AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "JJMMAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "JJMMAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutas)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Exemple : %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "discextèrne1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "discextèrne2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Nòva York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manilha" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "París" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapèst" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moscòu" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsòvia" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Estocòlme" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Font : %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Far un don..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Transferiment / Pausa" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Afichatge" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Ajuda" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Traduire aquesta aplicacion..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Dorsièr de destinacion" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original :" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Exemple" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Apondre..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Exemple :" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Gestion de las errors" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Espotir" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Ignorar" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" #~ msgid "Could not open image" #~ msgstr "Impossible de dobrir l'imatge" #, python-format #~ msgid "Source: %s" #~ msgstr "Font : %s" #~ msgid "errors" #~ msgstr "errors" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Impossible d'afichar la vinheta" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 de %s imatges copiats" #~ msgid "Select an image folder" #~ msgstr "Seleccionar un dorsièr d'imatges" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Font : %(source)s\n" #~ "Problèma : %(problem)s" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s imatges transferits" #~ msgid "Image overwritten" #~ msgstr "Imatge espotit" #~ msgid "Image skipped" #~ msgstr "Imatge passat" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Identifcant unic '%s' apondut" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Font : %(source)s\n" #~ "Destinacion : %(destination)s\n" #~ "Error : %(errno)s %(strerror)s" #~ msgid "Image has no thumbnail" #~ msgstr "L'imatge a pas d'apercebut" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s imatges copiats sus %(total)s" #~ msgid "Warning:" #~ msgstr "Avertiment :" #~ msgid "Problem using pynotify." #~ msgstr "Problèma d'utilizacion de pynotify" #~ msgid "_Download " #~ msgstr "_Transferiment " #~ msgid "_Pause" #~ msgstr "_Pausa" #~ msgid "Goodbye" #~ msgstr "Al reveire" #~ msgid "Image Name Conflicts" #~ msgstr "Conflictes de nom d'imatges" #~ msgid "Image Devices" #~ msgstr "Volum d'imatges" #~ msgid "Automation" #~ msgstr "Automatizacion" #~ msgid "Backup" #~ msgstr "Salvament" #~ msgid "Image Devices" #~ msgstr "Volum d'imatges" #~ msgid "Download Folder" #~ msgstr "Transferiment" #~ msgid "Ignore" #~ msgstr "Ignorar" #~ msgid "Image Devices" #~ msgstr "Voums d'imatges" #~ msgid "_Thumbnails" #~ msgstr "_Vinhetas" #~ msgid "Using" #~ msgstr "En utilizacion" #~ msgid " " #~ msgstr " " #~ msgid "_Photos" #~ msgstr "_Fòtos" rapid-photo-downloader-0.4.10/po/nn.po0000644000175000017500000021156412270217620017775 0ustar damondamon00000000000000# Norwegian Nynorsk translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Norwegian Nynorsk \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Eining" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Storleik" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Nedlastingsframgang" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s vart ikkje avmontert" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "leiter..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "rotmappa til filsystemet" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Lastar ned frå %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Vil du verkeleg lasta ned herfrå? På visse system kan det ta veldig lang tid " "å skanna dette." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Last ned" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pause" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Følgjande mapper er ugyldige:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Mappa er ugyldig:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Kan ikkje gå vidare med nedlasting" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "bilete" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "videoar" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Omtrent eitt sekund igjen" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Omtrent %i sekund igjen" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Omtrent eitt minutt igjen" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Omtrent %(minutes)i minutt og %(seconds)02i sekund igjen" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "bilete og videoar" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "bilete eller videoar" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "bilete" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "Lasta ned %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "Klarte ikkje å laste ned %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "åtvaringar" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Alle nedlastingar er ferdige" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s lasta ned" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "Klarte ikkje å laste ned %(filetype)s" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s av %(total)s %(filetypes)s (%(remaining)s igjen)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s av %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Frå" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Oppdag automatisk" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Vel ei mappe med %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Kopier" #: rapid/rapid.py:3397 msgid "Move" msgstr "Flytt" #: rapid/rapid.py:3419 msgid "To" msgstr "Til" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Bilete:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Vel ei mappe å laste inn bilete til" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Videoar:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Vel ei mappe å laste inn video til" #: rapid/rapid.py:3650 msgid "and" msgstr "og" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Nyttar einingar for tryggleikskopiering" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Nyttar eining for tryggleikskopiering" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Fann ingen einingar for tryggleikskopiering" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Ledig plass:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s tilgjengeleg" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Tek tryggleikskopi av bilete og videoar til %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Tek tryggleikskopi til %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Tek tryggleikskopi av bilete til %(path)s og videoar til %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Programinnstillingane er ugyldige" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Bilete" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "Nedlastingsmappa til %(file_type)s finst ikkje" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Mappe: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "Nedlastingsmappa til %(file_type)s er ugyldig" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "Nedlastingsmappa til %(file_type)s er ikkje skrivbar" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniatyrbilete" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "vis programinformasjon på kommandolinja når programmet køyrer \n" "(standard: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "vis avlusingsinformasjon ved køyring frå kommandolinja" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "vis berre feil på kommandolinja" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "vis kva for bilet- og videofiltypane programmet gjenkjenner, og avslutt" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "oppdag automatisk einingar du vil lasta ned frå, overstyrer eksisterande " "innstillingar" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "manuelt spesifiser stien til eininga du vil lasta ned frå, overstyrer " "eksisterande innstillingar" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "nullstill alle programinnstillingar og avslutt" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Feil: Bruk auto-oppdaging av einingar eller oppgi ei sti til ei eining du " "vil lasta ned frå, men ikkje gjer begge på ein gong." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "og %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Alle innstillingar er nullstilte" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Feil ved tryggleikskopiering" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Klarte ikkje å opprette målmappa %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Kjelde: %(source)s\n" "Mål: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Feil: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Fil: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Oppdaga eining" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Vil du laste ned bilete eller videoar frå denne eininga/partisjonen?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Hugs dette valet" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Dato tid" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Tekst" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Filnamn" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sekvensar" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Jobbnamn" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Biletdato" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Videodato" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Idag" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Igår" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Nedlastingstidspunkt" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Namn + filtype" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Namn" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Filtype" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Bilettal" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Videotal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Blenderopning" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Lukketid" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Brennvidde" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Kameramerke" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Kameramodell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Kort kameramodell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Bindestrek, kort kameramodell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Serienummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Eksponeringsteljar" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Filnummer" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Berre mappa" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Mappe og fil" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Namn på eigar" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Kodek" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Breidd" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Høgd" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Lengd" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Bilet per sekund" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Kunstnar" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Opphavsrett" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Nedlastingar idag" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Øktteljar" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Undermappeteljar" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Lagra tal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Sekvensbokstav" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Alle tal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Siste tal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Siste to tal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Siste tre tal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Siste fire tal" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Opphavleg Versalisering" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "STORE BOKSTAVAR" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "små bokstavar" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Eitt tal" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "To tal" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tre tal" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Fire tal" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Fem tal" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Seks tal" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sju tal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Delsekund" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ÅÅÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ÅÅÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "ÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "ÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Månad (heile)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Månad (forkorta)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "TTMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "TTMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "TT-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "TT-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "TT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutt)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Innstillingane for undermapper burde ikkje byrje med %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Innstillingane for undermapper burde ikkje ende med %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Innstillingane for undermapper burde ikkje ha to %s etter kvarandre" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Fjern alle jobbnamn?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Skal alle jobbnamn fjernast?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Fjern alle hugsa søkjestiar?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Skal alle hugsa søkjestiar fjernast?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Fjern alle oversedde søkjestiar?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Skal alle oversedde søkjestiar fjernast?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Feil i innstillingane til biletomdøping" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Feil i innstillingane til videoomdøping" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Feil i innstillingane til undermapper for biletnedlasting" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Feil i innstillingane til undermapper for videonedlasting" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Skriv inn eit jobbnamn" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Skriv inn eit jobbnamn, eller vel eit du har nytta tidlegare" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Skriv inn eit nytt jobbnamn" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Jobbnamn:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Oppgi ein søkjesti å oversjå" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Oppgi ein sti som du vil aldri skal gjennomsøkjast etter bilete eller videoar" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Sti:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Jobbnamn" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Vel ei mappe kor du vil tryggleikskopiera bilete" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Vel ei mappe kor du vil tryggleikskopiera videoar" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Åtvaring: Det er ikkje nok metadata for å fullt ut\n" "generere namnet. Ver vennleg og nytt andre omdøpingsval." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Åtvaring: Det er ikkje nok metadata for å fullt ut\n" "generere undermappene. Ver vennleg og nytt andre omdøpingsval.<" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Døme: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Innstillingane til undermapper for filtypen %(filetype)s er ugyldige\n" "og kan ikkje nyttast.\n" "Dei blir endra til standardverdiar." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Dei følgjande regulære uttrykka er ugyldige, og vil bli fjerna om du ikkje " "endrar dei:\n" "%s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Det følgjande regulære uttrykket er ugyldig, og vil bli fjerna om du ikkje " "endrar det:\n" "%s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Ugyldig regulært uttrykk" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "eksterndisk1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "eksterndisk2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praha" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskva" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Warszawa" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "undermappe" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "filnamn" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Dato-/tidsverdien %s synest ugyldig." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Filnamnet manglar filending." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Filnamnet manglar nummerdelen." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Feil ved oppretting av %s-komponenten." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "Klarte ikkje å lesa metadata i %(filetype)s." #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "Klarte ikkje å oppretta %(filetype)s %(area)s." #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Ein feil oppstod ved kopiering av %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s finst allereie" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "Kunne ikkje ta tryggleikskopi av %(filetype)s, fann inga målmappe for " "tryggleikskopiar." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s vart teke den %(image1_date)s kl. %(image1_time)s, og %(image2)s " "den %(image2_date)s kl. %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s er allereie lasta ned" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Den eksisterande %(filetype)s-en vart sist endra sist den %(date)s kl. " "%(time)s, og har fått «%(identifier)s» som unik ID." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "Den eksisterande %(filetype)s-en var sist endra den %(date)s kl. %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Manglar data for å namngi %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Feil: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Metadataen kan vera korrupt." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "Filnamnet, filendinga og Exif-informasjonen er allereie overført." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Han vart tryggleikskopiert til %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Han vart tryggleikskopiert til dei følgjande einingane: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s og %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "Fann bilete med same filnamn, men tekne ved ulike tider: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Ein feil oppstod ved tryggleikskopiering til %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Ein feil oppstod ved tryggleikskopiering til %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Ein feil oppstod ved tryggleikskopiering til følgjande einingar: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s og %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s og %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Tryggleikskopien finst allereie på %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Tryggleikskopien finst allereie på følgjande stader: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Tryggleikskopien vart overskriven på %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Tryggleikskopien vart overskriven på følgjande einingar: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Ein feil oppstod ved oppretting av mapper på %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Feil oppstod ved oppretting av mapper på følgjande einingar for " "tryggleikskopiering: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s I tillegg, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " I tillegg oppstod %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " I tillegg oppstod %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "%(type)s-metadataen manglar." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Følgjande metadata manglar: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s og %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problem ved oppretting av undermappe og filnamn" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problem ved oppretting av undermappe og filnamn" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problem ved oppretting av %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problem ved oppretting av %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s finst allereie, men blei tryggleikskopiert" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Ein feil oppstod ved kopiering av %(filetype)s-en, men han blei " "tryggleikskopiert" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Fleire feil oppstod" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Fann bilete med like filnamn, tatt på ulike datoar" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "det oppstod feil i tryggleikskopieringa" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Det oppstod feil i tryggleikskopieringa" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "det oppstod ein feil i tryggleikskopieringa" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Det oppstod ein feil i tryggleikskopieringa" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, og %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "skannar (fann %(photos)s bilete og %(videos)s videoar) …" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "undermappe og filnamn" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Biletet er allereie lasta ned" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Kjelde: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Klarte ikkje å lasta ned undermappa" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Sti: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Om …" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Merk alle" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Sjekk alle bilete" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Sjekk alle videoar" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Doner..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Få hjelp på nettet..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Hjelp" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Innstillingar" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Avslutt" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Frisk opp att" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Meld frå om eit problem" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Omsett denne applikasjonen …" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "Merk _ingen" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Fil" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Last ned / Pause" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Vel" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Vel alle _utan jobbnamn" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Vel alle med _jobbnamn" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Vis" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Feillogg" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Fjern fullførte nedlastingar" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Førre fil" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Neste fil" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Hjelp" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Omset dette programmet..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "Inkluder i _nedlastinga" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Last ned" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Innstillingar: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "Biletnedlastingsmapper" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Døme: /home/brukar/Bilete" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Nedlastingsundermapper" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Nedlastingsmappe:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Vel ei nedlastingsmappe. Når du nyttar strukturen nedanfor blir det \n" "automatisk oppretta undermapper for dei nedlasta bileta i denne mappa." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Nedlastingsmappe" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Biletmapper" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Omdøping av bilete\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Omdøping av bilete" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Ny:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Opphavleg:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Døme" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Omdøping av bilete" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Videonedlastingsmapper" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Orsak, videonedlasting er skrudd av. Ver venleg og last ned anten python-" "pakkene hachoir metadata og kaa metadata, eller " "exiftool, for å lasta ned videoar." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Vel ei nedlastingsmappe. Når du nyttar strukturen nedanfor blir det \n" "automatisk oppretta undermapper for dei nedlasta videoane i denne mappa." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Videomapper" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Omdøping av videoar\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Omdøping av videoar" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Omdøpingsval" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Sekvenstal" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Oppgi tida i 24-timarsformat som sekvensteljaren Nedlastingar idag " "skal nullstillast til." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Dag byrjar:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Nedlastingar idag:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Lagra tal:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " tt:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Synkroniser sekvenstal for RAW og JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilitet med andre operativsystem" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Oppgi om du vil fjerne teikn som andre operativsystem ikkje forstår frå " "bilete, videoar eller mappenamn." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Fjern inkompatible teikn" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Omdøpingsval" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Jobbnamn" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Jobbnamn" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Legg til..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "_Fjern alle" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Jobbnamn" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Einingar" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Einingar" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Einingar er der du lastar ned bilete og videoar frå, til dømes fotoapparat, " "minnekort eller berbare lagringseiningar.\n" "\n" "Du kan lasta ned frå fleire einingar samtidig, eller oppgi ein stad på " "harddisken din.\n" "\n" "Nedlasting rett frå fotoapparat er ein eksperimentell funksjon for no. " "Viss det fungerer dårleg eller ikkje i det heile, prøv å setja apparatet i " "PTP-modus. Viss det ikkje går an, må du bruka ein kortlesar." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Oppdag portable lagringseiningar automatisk" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Oppdag einingar automatisk" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Viss du skrur på automatisk oppdaging på ei berbar lagringseining, vil heile " "eininga gjennomsøkjast. På store einingar kan dette ta litt tid.\n" "Når dette er skrudd på, og programmet oppdagar ei mogleg eining, vil det " "spørja deg om du vil søkja gjennom eininga eller ikkje." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Stad:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Viss du skrur av automatisk oppdaging, må du oppgi kor bileta og videoane er." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Einingsinnstillingar" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Hugsa stiar" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Hugsa stiar er kopla til einingar som du har valt å alltid søkja gjennom, " "eller alltid oversjå, ved automatisk oppdaging av berbare lagringseiningar." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Oversedde stiar" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Oppgi endinga av stiane som du vil oversjå når du søkjer gjennom einingar " "etter bilete eller videoar. Stiar som ender med verdiane under vil ikkje bli " "gjennomsøkt." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "_Fjern alle" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Bruk _python sine regulære uttrykk" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Val for einingar" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Tryggleikskopi\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Tryggleikskopi" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Viss du skrur av automatisk oppdaging, må du oppgi kor du vil ta " "tryggleikskopi til." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Oppdag einingar for tryggleikskopiering automatisk" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Du kan ta tryggleikskopi av bilete og videoar til fleire stader når du " "lastar ned, t.d. til eksterne harddisker." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Ta tryggleikskopi av bilete og videoar ved nedlasting" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Oppgi mappa på eininga kor tryggleikskopiar er lagra. \n" "\n" "Merk: dette blir au nytta for å finne ut om eininga er nytta til " "tryggleikskopiering. Lag ei mappe med eitt av desse namna på kvar eining som " "du vil ta tryggleikskopi til." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Ta tryggleikskopi av bilete til:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Mappenamn for tryggleikskopiering av bilete:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Døme:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/eksterndisk/Bilete" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Mappenamn for tryggleikskopiering av video:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Ta tryggleikskopi av videoar til:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Ymse" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatisering" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Avmonter (kople ut) eining når nedlastinga er fullført" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Gå i gang med å laste ned bilete når programmet startar" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Gå i gang med å laste ned når einingar blir kopla til" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Avslutt programmet når nedlastinga er ferdig" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Avslutt programmet sjølv om nedlastinga hadde feil eller åtvaringar" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Roter JPEG-bilete automatisk" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Yting" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Lag miniatyrbilete (treigare)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Ymse" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Feilhandtering" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Namnekonfliktar i bilete og video" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Legg til unik identifikator" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Hopp over nedlasting" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Vel om du skal hoppe over fila eller leggje til ein unik identifikator når " "eit bilete eller ein video med det same namnet allereie er lasta ned." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Ved tryggleikskopiering, vel om du skal overskrive filer på eininga som har " "same namn, eller hoppe over den fila." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Overskriv" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Hopp over" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Feilhandtering" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importer bileta og videoane dine trygt og effektivt" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Ugyldig verdi for Nedlastingar idag.\n" #~ msgid "Resetting value to zero.\n" #~ msgstr "Nullstiller verdien.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Ugyldig innstillingsverdi for «Byrjar av dag»\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Nullstiller verdien til midnatt.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Orsak, det er ein feil i innstillingane:\n" #~ msgid "Resetting to default values." #~ msgstr "Nullstiller til standardverdiar." #~ msgid "There is an error in the program preferences." #~ msgstr "Det er ein feil i innstillingane." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Vennligst kontroller innstillingane, start programmet på nytt, og prøv igjen." #~ msgid "The device can now be safely removed" #~ msgstr "Du kan no trygt fjerne eininga" #~ msgid "errors" #~ msgstr "feil" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Ei ny dag har byrja - nullstiller sekvensnummeret «Nedlastingar idag»" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Byrja å laste ned frå %s" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Ferdig med å laste ned frå %s" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s velt for nedlasting" #~ msgid "This device or partition will always be used to download from" #~ msgstr "Nyttar alltid denne eininga/partisjonen for nedlasting" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s ikkje godkjend som nedlastingseining" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Nyttar aldri denne eininga/partisjonen til nedlasting" #~ msgid "Job Code entered" #~ msgstr "Jobbnamn lagra" #~ msgid "Job Code not entered" #~ msgstr "Jobbnamn ikkje lagra" #~ msgid "Some preferences will be reset." #~ msgstr "Visse innstillingar blir nullstilt." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Spør om å nytte %s" #~ msgid "Prompting for Job Code" #~ msgstr "Spør om jobbnamn" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Spør allereie om jobbnamn, ikkje spør igjen" #~ msgid "Starting downloads" #~ msgstr "Byrjar nedlasting" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Byrjar nedlastingar som har venta på jobbnamn" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Ei nyare utgåve av dette programmet har køyrt tidlegare på denne maskinen.\n" #~ "\n" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Programinnstillingane kan synast å vere gyldige, men ver vennleg og " #~ "kontroller dei for å vere sikker på at alt er som det skal vere." #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Orsak, visse innstillingar var ugyldige og blir nullstilt." #~ msgid "Warning:" #~ msgstr "Åtvaring:" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Denne utgåva av programmet er nyare enn den som køyrte tidlegare. " #~ "Kontrollerer innstillingar." #~ msgid "Preferences were modified." #~ msgstr "Innstillingane blei endra." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Denne utgåva av programmet nyttar andre innstillingar enn den gamle utgåva. " #~ "Innstillingane dine er oppdatert.\n" #~ "\n" #~ "Ver vennleg og kontroller dei for å sjå til at alt er som det skal vere." #~ msgid "No preferences needed to be changed." #~ msgstr "Trengte ikkje å endre nokon innstillingar." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Denne utgåva av programmet nyttar andre innstillingar enn den gamle utgåva. " #~ "Visse gamle innstillingar var ugyldige, og kunne ikkje oppdaterast. Dei blir " #~ "nullstilt." #~ msgid "Problem using pynotify." #~ msgstr "Problem med pynotify." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Klarte ikkje å hente inn eigenskapane til pynotify-tenaren." #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Ignorerte eininga %(device)s (%(path)s)" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Fann %(device)s med sti %(path)s" #~ msgid "Automatically start download is true" #~ msgstr "Byrjar automatisk nedlasting" #~ msgid "Automatically start download is false" #~ msgstr "Byrjar ikkje automatisk nedlasting" #~ msgid "Using manually specified path" #~ msgstr "Nytt manuelt oppgitt sti" #~ msgid "_Pause" #~ msgstr "_Pause" #~ msgid "Goodbye" #~ msgstr "Ha det bra" #~ msgid "Using" #~ msgstr "Nyttar" #, python-format #~ msgid "%s is already running" #~ msgstr "%s køyrer allereie" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Innstillingsnøkkelen '%(key)s' er ugyldig.\n" #~ "Venta ein av %(value)s" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Innstillingsnøkkelen '%(value)s' er ugyldig" #~ msgid "These preferences are not well formed:" #~ msgstr "Desse innstillingane er ikkje velforma:" #~ msgid " " #~ msgstr " " #~ msgid "Automation" #~ msgstr "Automatisering" #~ msgid "Automation" #~ msgstr "Automatisering" #~ msgid "Backup" #~ msgstr "Tryggleikskopi" #~ msgid "Backup location:" #~ msgstr "Kopier til:" #~ msgid "Error Log" #~ msgstr "Feillogg" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Viss du skrur av automatisk oppdaging må du oppgi nøyaktig kor du vil ta " #~ "tryggleikskopien." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Viss du skrur på automatisk oppdaging av portable lagringseiningar blir " #~ "heile eininga gjennomsøkt etter bilete. På store einingar kan dette ta ein " #~ "del tid." #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Select an image folder" #~ msgstr "Vel ei biletmappe" #~ msgid "Select a folder in which to backup images" #~ msgstr "Vel ei tryggingskopimappe" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s bilete lasta ned" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s bilete hoppa over" #~ msgid "Backup image already exists" #~ msgstr "Tryggingskopibiletet finst alt." #~ msgid "The image was not copied." #~ msgstr "Biletet vart ikkje kopiert." #~ msgid "Backup device missing" #~ msgstr "Tryggingskopieininga finst ikkje" rapid-photo-downloader-0.4.10/po/pl.po0000644000175000017500000024754412270217612020005 0ustar damondamon00000000000000# Polish translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:17+0000\n" "Last-Translator: Michal Predotka \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Urządzenie" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Rozmiar" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Postęp pobierania" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "Nie odmontowano %(device)s" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "wyszukiwanie..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "katalog główny systemu plików" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Pobieranie z %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Naprawdę pobierać z tego miejsca? W niektórych systemach, skanowanie tego " "położenia może potrwać bardzo długo." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Pobierz" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Wstrzymaj" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Nieprawidłowe katalogi pobierania:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Nieprawidłowy katalog pobierania:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Pobieranie nie może się odbyć" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "Żadne urządzenie do zapisu kopii zapasowej nie zawiera katalogu do " "utworzenia kopii %(filetype)s" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "zdjęcia" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "filmy" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "Problem z zapisem kopii zapasowej" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Pozostała około sekunda" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Pozostało około %i sekund" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Pozostała około minuta" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Pozostało około %(minutes)i:%(seconds)02i minut" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "zdjęcia i filmy" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "zdjęcia lub filmy" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "film" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "zdjęcie" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "Pobrane pliki typu %(filetypes)s: %(noFiles)s" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "Nieudanych pobrań plików typu %(filetypes)s: %(noFiles)s" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "ostrzeżenia" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Ukończono wszystkie pobierania" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "Plik typu %(filetype)s został pobrany" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "Nie udało się pobrać pliku typu %(filetype)s" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" "%(number)s z %(total)s plików typu %(filetypes)s (pozostało: %(remaining)s)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s z %(total)s plików typu %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Źródło" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Wykrywanie automatyczne" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Wybór katalogu zawierającego %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Skopiuj" #: rapid/rapid.py:3397 msgid "Move" msgstr "Przenieś" #: rapid/rapid.py:3419 msgid "To" msgstr "Cel" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Zdjęcia:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Wybór katalogu dla pobieranych zdjęć" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Filmy:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Wybór katalogu dla pobieranych filmów" #: rapid/rapid.py:3650 msgid "and" msgstr "oraz" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Użycie urządzeń do zapisu kopii zapasowej" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Użycie urządzenia do zapisu kopii zapasowej" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Nie wykryto urządzeń na których można utworzyć kopię zapasową" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Wolne miejsce:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s wolnego miejsca" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Tworzenie kopii zapasowej zdjęć i filmów w %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Tworzenie kopii zapasowej w %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Tworzenie kopii zapasowej zdjęć w %(path)s a filmów w %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Preferencje programu są nieprawidłowe" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Zdjęcie" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Film" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "katalog pobierania %(file_type)s nie istnieje" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Katalog: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "katalog pobierania %(file_type)s jest nieprawidłowy" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "katalog pobierania %(file_type)s nie jest zapisywalny" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniatury" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "wyświetl informacje programu w linii komend podczas działania programu " "(domyślnie: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "wyświetlanie informacji o błędach w przypadku uruchomienia z linii poleceń" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "wyświetlaj jedynie błędy w linii komend" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "wypisz typy plików rozpoznawane przez program i zakończ" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "automatyczne wykrywaj urządzenia z których ma nastąpić pobieranie, " "nadpisując istniejące ustawienia programu" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "ręcznie określ ścieżkę dostępu do urządzenia z którego ma nastąpić " "pobieranie, nadpisując istniejące ustawienia programu" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "zresetuj wszystkie ustawienia oraz preferencje programu i zakończ" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Błąd: określ automatyczne wykrywanie urządzeń lub określ ścieżkę dostępu do " "urządzenia z którego ma nastąpić pobieranie, ale nie obydwie rzeczy " "jednocześnie." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "oraz %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Wszystkie ustawienia oraz preferencje zostały zresetowane" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Błąd tworzenia kopii zapasowej" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Katalog docelowy nie mógł zostać utworzony: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Źródło: %(source)s\n" "Cel: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Błąd: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "Nadpisano kopię zapasową %(file_type)s" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "%(file_type)s nie ma kopii zapasowej" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "Kopia zapasowa %(file_type)s już istnieje" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Plik: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "Wystąpił nieznany błąd" #: rapid/device.py:80 msgid "Device Detected" msgstr "Znalezione urządzenie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Pobierać zdjęcia lub filmy z tego urządzenia lub partycji?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "Zapa_miętaj ten wybór" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Data czas" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Tekst" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nazwa pliku" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadane" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sekwencje" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Kod pracy" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Data zdjęcia" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Data filmu" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Dzisiaj" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Wczoraj" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Data pobierania" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nazwa + rozszerzenie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nazwa" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Rozszerzenie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Numer obrazu" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Numer filmu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Przysłona" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Czas naświetlania" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Ogniskowa" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Producent aparatu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Model aparatu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Skrót modelu aparatu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Skrót z myślnikiem modelu aparatu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Numer seryjny" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Licznik migawki" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Numer pliku" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Tylko katalog" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Katalog i plik" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nazwa właściciela" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Kodek" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Szerokość" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Wysokość" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Długość" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Klatki na sekundę" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Wykonawca" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Prawa autorskie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Pobierań dzisiaj" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Numer sesji" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Numer podkatalogu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Numer zachowany" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Litera sekwencji" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Wszystkie cyfry" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Ostatnia cyfra" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Ostatnie 2 cyfry" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Ostatnie 3 cyfry" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Ostatnie 4 cyfry" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Oryginalna wielkość liter" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "WIELKIE LITERY" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "małe litery" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Jedna cyfra" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Dwie cyfry" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Trzy cyfry" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Cztery cyfry" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Pięć cyfr" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Sześć cyfr" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Siedem cyfr" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Części sekundy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "RRRRMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "RRRR-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "RRMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "RR-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDRRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMRRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "RRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "RR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Miesiąc (pełna nazwa)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Miesiąc (skrót nazwy)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "GGMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "GGMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "GG-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "GG-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "GG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minuty)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Preferencje podkatalogu nie powinny zaczynać się od %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Preferencje podkatalogu nie powinny kończyć się na %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" "Preferencje podkatalogu nie powinny zawierać dwóch %s jeden po drugim" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Usunąć wszystkie kody pracy?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Usunąć wszystkie kody pracy?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Usunąć wszystkie Ścieżki pamiętane?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Czy wszystkie zapamiętane ścieżki powinny zostać usunięte?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Usunąć wszystkie Ścieżki ignorowane?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Czy wszystkie ignorowane ścieżki powinny zostać usunięte?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Błąd w preferencjach zmiany nazw obrazów" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Błąd w preferencjach zmiany nazw filmów" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Błąd w preferencjach podkatalogów pobierania zdjęć" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Błąd w preferencjach podkatalogów pobierania filmów" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Wprowadzenie kodu pracy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Proszę wprowadzić nowy kod pracy, lub wybrać poprzedni" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Proszę wprowadzić nowy kod pracy" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Kod pracy:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Wprowadź Ścieżkę ignorowaną" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Proszę określić ścieżkę, która nigdy nie będzie sprawdzana w poszukiwaniu " "zdjęć lub obrazów" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Scieżka:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Kod pracy" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Proszę wybrać katalog dla tworzenia kopii zapasowej zdjęć" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Proszę wybrać katalog dla tworzenia kopii zapasowej filmów" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Ostrzeżenie: Metadane są niewystarczające do pełnego wygenerowania " "nazwy. Proszę użyć innej opcji zmiany nazwy." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Ostrzeżenie: Metadane są niewystarczające do pełnego wygenerowania " "podkatalogów. Proszę użyć innej opcji określenia nazw podkatalogów." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Przykład: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Wprowadzone preferencje podkatalogu %(filetype)s są nieprawidłowe i nie mogą " "zostać użyte.\n" "Zostaną przywrócone ich domyślne wartości." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Następujące wyrażenia regularne są niepoprawne, i zostaną usunięte, jeśli " "nie będą poprawione:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "To wyrażenie regularne są niepoprawne, i zostanie usunięte, jeśli nie będzie " "poprawione:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Nieprawidłowe wyrażenie regularne" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "dyskzewnętrzny1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "dyskzewnętrzny2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Nowy Jork" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paryż" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapeszt" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rzym" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskwa" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Warszawa" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Dżakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madryt" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Sztokholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "podkatalog" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nazwa pliku" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Wartość daty %s wydaje się nieprawidłowa." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Nazwa pliku nie posiada rozszerzenia." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Plik nie posiada cyfr w swojej nazwie." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Błąd w generowaniu składowej %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "metadane pliku %(filetype)s nie mogą zostać odczytane" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "Nie można wygenerować %(filetype)s %(area)s" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Wystąpił błąd przy kopiowaniu %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "Niepoprawne pobranie %(filetype)s" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s już istnieje" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "Nie można utworzyć kopii zapasowej pliku %(filetype)s ponieważ nie udało się " "znaleźć właściwego miejsca na kopię." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s zostało zrobione %(image1_date)s o %(image1_time)s, a %(image2)s " "%(image2_date)s o %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "Plik %(filetype)s już został pobrany" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Istniejący plik %(filetype)s został ostatnio zmodyfikowany %(date)s o " "%(time)s. Dodano unikalny identyfikator '%(identifier)s'." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "Istniejący plik %(filetype)s został ostatnio zmodyfikowany %(date)s o " "%(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Brak danych aby nazwać %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Błąd: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "Nieudana weryfikacja plików. Pobrana wersja różni się od oryginału." #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Metadane mogą być uszkodzone." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "Nazwa pliku, rozszerzenie i informacje Exif zostały już pobrane." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Kopia zapasowa została utworzona na %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Kopia zapasowa została utworzona na nośnikach: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s oraz %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Zdjęcia o tej samej nazwie pliku, ale zrobione w innym czasie: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" "Wystąpił błąd podczas tworzenia kopii zapasowej na %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Wystąpił błąd podczas tworzenia kopii zapasowej na %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Wystąpiły błędy podczas tworzenia kopii zapasowej na następujących " "nośnikach: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s oraz %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s oraz %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Kopia zapasowa już istnieje na %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Kopia zapasowa już istnieje w następujących miejscach: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Kopia zapasowa nadpisana na %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Kopia zapasowa nadpisana na nośnikach: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Wystąpił błąd podczas tworzenia katalogów na %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Wystąpił błąd podczas tworzenia katalogów na następujących nośnikach: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" "Nieudana weryfikacja plików na %(volume)s. Kopia zapasowa różni się od " "wersji pobranej." #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "Nieudana weryfikacja plików na tych urządzeniach: " #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Dodatkowo, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Oprócz tego wystąpiły %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Oprócz tego wystąpił %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Brak metadanych %(type)s." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Brak następujących metadanych: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" "%(missing_metadata_elements)s oraz %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problemy przy tworzeniu podkatalogów i nazw plików" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problem w tworzeniu podkatalogu i nazwy pliku" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemy w tworzeniu %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problem w tworzeniu %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s już istnieje, ale została utworzona kopia zapasowa" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Wystąpił błąd podczas kopiowania %(filetype)s, ale została utworzona kopia " "zapasowa" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Wystąpiło kilka problemów" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Zdjęcia z taką samą nazwą, ale zrobione w różnym czasie" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "wystąpiły błędy podczas tworzenia kopii zapasowej" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Wystąpiły błędy podczas tworzenia kopii zapasowej" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "wystąpił błąd podczas tworzenia kopii zapasowej" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Wystąpił błąd podczas tworzenia kopii zapasowej" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, oraz %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" "wyszukiwanie (znalezionych zdjęć: %(photos)s znalezionych filmów: " "%(videos)s)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "podkatalog i nazwa pliku" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Zdjęcie zostało już pobrane" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Źródło: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Nie udało się utworzyć podkatalogu pobierania" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Ścieżka: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "O programie..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "Zaznacz _wszystko" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Zaznacz wszystkie zdjęcia" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Zaznacz wszystkie filmy" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Darowizna" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "Z_najdź pomoc w sieci..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Pomoc" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Preferencje" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Zakończ" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Odśwież" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "Zgłoś _błąd w programie..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Przetłumacz ten program..." #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Odznacz wszystko" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Plik" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Pobierz / Wstrzymaj" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Zaznaczenie" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Zaznacz wszystkie _bez kodu pracy" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Zaznacz wszystkie z _kodem pracy" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Widok" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Dziennik błędów" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "Wyczyść _ukończone pobierania" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Poprzedni plik" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Następny plik" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "Pomo_c" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Przetłumacz ten program..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "Zaw_rzyj w pobieraniu" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "Pobie_rz" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Preferencje: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Katalogi pobierania zdjęć" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Przykład: /home/użytkownik/Obrazy" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Podkatalogi pobierania" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Katalog pobierania:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Proszę wybrać katalog pobierania. Podkatalogi dla pobranych zdjęć zostaną w " "nim automatycznie utworzone w oparciu o poniższą specyfikację." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Katalog pobierania" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Katalogi zdjęć" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Zmiana nazw zdjęć\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Zmiana nazw zdjęć" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Nowa:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Oryginalna:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Przykład" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Zmiana nazw zdjęć" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Katalogi pobierania filmów" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Przepraszamy, pobieranie filmów jest wyłączone. Aby pobierać filmy, należy " "zainstalować pakiety dla pythona hachoir metadata oraz kaa " "metadata, lub exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Proszę wybrać katalog pobierania. Podkatalogi dla pobranych filmów zostaną w " "nim automatycznie utworzone w oparciu o poniższą specyfikację." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Katalogi filmów" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Zmiana nazw filmów\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Zmiana nazw filmów" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Opcje zmiany nazw" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Numery sekwencji" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Proszę określić czas, w formacie 24-godzinnym, w którym numer sekwencji " "Pobierań dzisiaj powinien zostać zresetowany." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Początek dnia:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Pobierań dzisiaj:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Numer zachowany:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " gg:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Synchronizuj numery sekwencji RAW + JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Zgodność z innymi systemami operacyjnymi" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Proszę określić czy znaki, które są niedozwolone przez inne systemy " "operacyjne, powinny zostać usunięte z nazw obrazów i katalogów." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Usuń niezgodne znaki" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Opcje zmiany nazw" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Kody pracy" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Kody pracy" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Dodaj..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "U_suń wszystko" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Kody pracy" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Urządzenia" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Urządzenia" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Urządzenia z których można pobrać zdjęcia i filmy, takie jak aparaty " "fotograficzne, karty pamięci czy przenośne magazyny danych.\n" "\n" "Pobieranie może następować z kilku urządzeń jednocześnie, lub z określonego " "położenia na dysku.\n" "\n" "Pobieranie bezpośrednio z aparatu jest obecnie w fazie eksperymentalnej. " "Jeśli pobieranie bezpośrednio z aparatu fotograficznego działa nieprawidłowo " "lub wcale, proszę spróbować przestawić go do trybu PTP. Jeśli nie jest to " "możliwe, zalecane jest użycie czytnika kart pamięci." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Automatycznie wykryj przenośne magazyny danych" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Automatycznie wykryj urządzenia" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Jeżeli automatyczne wykrywanie przenośnych magazynów danych jest aktywne, " "obrazy będą wyszukiwane na całym nośniku. W przypadku nośników o dużych " "pojemnościach, może to chwilę potrwać.\n" "\n" "Jeżeli ta opcja jest zaznaczona, a potencjalne urządzenie zostanie wykryte, " "pojawi się komunikat z pytaniem o przeprowadzenie skanowania." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Położenie:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "W przypadku wyłączenia wykrywania automatycznego, proszę wybrać dokładne " "położenie zdjęć i filmów." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Opcje urządzenia" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Ścieżki pamiętane" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Zapamiętane ścieżki to te przypisane do urządzeń, które zostały wybrane do " "ignorowania lub sprawdzania zawsze, kiedy Automatyczne wykrywanie " "przenośnych magazynów danych jest aktywne." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Ścieżki ignorowane" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Proszę określić końcowy fragment dowolnej ścieżki, która ma być ignorowana " "podczas skanowania urządzeń. Każda ścieżka mająca na końcu poniższe wartości " "nie będzie skanowana." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "U_suń wszystkie" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Używaj wyrażeń regularnych w stylu _python" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Opcje urządzenia" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Kopia zapasowa\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Kopia zapasowa" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "W przypadku wyłączenia wykrywania automatycznego, proszę wybrać dokładne " "położenie kopii zapasowej." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" "Automatycznie wykryj urządzenia na których można utworzyć kopię zapasową" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Możliwe jest utworzenie wielu kopii zapasowych dla pobieranych zdjęć i " "filmów, np. na zewnętrznych dyskach twardych." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Utwórz kopię zapasową zdjęć i filmów podczas pobierania" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Proszę określić katalog dla tego urządzenia w którym przechowywana będzie " "kopia zapasowa. \n" "\n" "Uwaga: zostanie to również wykorzystane do określenia czy urządzenie " "będzie używane do tworzenia kopii zapasowych. Proszę utworzyć katalog o " "podanej nazwie dla każdego urządzenia, które będzie używane do zapisu kopii " "zapasowych." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Położenie kopii zapasowej:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Nazwa katalogu z kopią zapasową zdjęć:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Przykład:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/dyskzewnętrzny/Photos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Nazwa katalogu z kopią zapasową filmów:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Położenie kopii zapasowej filmów:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Różności" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatyzacja programu" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Odmontuj (\"wysuń\") urządzenie po ukończeniu pobierania" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Rozpocznij pobieranie przy uruchomieniu programu" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Rozpocznij pobieranie po podłączeniu urządzenia" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Opuść program po zakończeniu pobierania" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" "Zakończ program nawet jeśli wystąpią błędy i ostrzeżenia podczas pobierania" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Automatycznie obracaj obrazy JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "Weryfikuj pliki podczas pobierania" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Wydajność" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Utwórz miniatury (wolniej)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Różności" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Obsługa błędów" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Konflikty między nazwami zdjęć i filmów" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Dodaj unikatowy identyfikator" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Pomiń pobieranie" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Proszę określić działanie w przypadku, gdy zdjęcie lub film o tej samej " "nazwie został już pobrany." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Proszę wybrać, czy podczas tworzenia kopii zapasowej nadpisać czy pominąć " "plik o tej samej nazwie na urządzeniu docelowym." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Nadpisz" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Pomiń" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Obsługa błędów" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importuj zdjęcia i wideo wydajnie i niezawodnie" #~ msgid "errors" #~ msgstr "błędy" #~ msgid "Warning:" #~ msgstr "Ostrzeżenie:" #~ msgid "_Photos" #~ msgstr "_Zdjęcia" #~ msgid "Download Folder" #~ msgstr "Katalog pobierania" #~ msgid "Download Folder" #~ msgstr "Katalog pobierania" #~ msgid "Example: /home/user/photos" #~ msgstr "Przykład: /home/user/photos" #~ msgid " " #~ msgstr " " #~ msgid "Backup" #~ msgstr "Kopia zapasowa" #~ msgid "Backup folder name:" #~ msgstr "Nazwa katalogu z kopią zapasową:" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Image Name Conflicts" #~ msgstr "Konflikty nazw obrazów" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Proszę wybrać czy pominąć pobieranie obrazu, czy dodać unikatowy " #~ "identyfikator." #~ msgid "Report an error" #~ msgstr "Zgłoś błąd" #~ msgid "Report a warning" #~ msgstr "Zgłoś ostrzeżenie" #~ msgid "Ignore" #~ msgstr "Ignoruj" #~ msgid "Automation" #~ msgstr "Automatyzacja" #~ msgid "Automation" #~ msgstr "Automatyzacja" #~ msgid "Start downloading upon image device insertion" #~ msgstr "Rozpocznij pobieranie po podłączeniu nośnika zdjęć" #~ msgid "Exit program after completion of successful download" #~ msgstr "Zakończ działanie programu po udanym ukończeniu pobierania" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Odmontuj (\"wysuń\") nośnik zdjęć po ukończeniu pobierania" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Możliwe jest utworzenie wielu kopii zapasowych dla pobieranych zdjęć, np. na " #~ "zewnętrznych dyskach twardych." #~ msgid "Backup photos when downloading" #~ msgstr "Utwórz kopię zapasową podczas pobierania zdjęć" #~ msgid "Backup location:" #~ msgstr "Położenie kopii zapasowej:" #~ msgid "_Thumbnails" #~ msgstr "_Miniatury" #~ msgid "Error Log" #~ msgstr "Dziennik błędów" #~ msgid "_Pause" #~ msgstr "W_strzymaj" #~ msgid "_Download " #~ msgstr "_Pobierz " #~ msgid "Image Rename\t" #~ msgstr "Zmiana nazw obrazów\t" #~ msgid "Image Devices" #~ msgstr "Nośniki obrazów" #~ msgid "Image Devices" #~ msgstr "Nośniki obrazów" #~ msgid "Image Devices" #~ msgstr "Nośniki obrazów" #~ msgid "Automatically detect image devices" #~ msgstr "Automatycznie wykryj nośniki obrazów" #~ msgid "Image location:" #~ msgstr "Położenie obrazów:" #~ msgid "Select an image folder" #~ msgstr "Wybór katalogu obrazów" #~ msgid "Select a folder in which to backup images" #~ msgstr "Wybór katalogu do utworzenia kopii zapasowej" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "skopiowano 0 z %s obrazów" #~ msgid "Image Rename" #~ msgstr "Zmiana nazw obrazów" #~ msgid "Image Rename" #~ msgstr "Zmiana nazw obrazów" #~ msgid "Could not open image" #~ msgstr "Nie można otworzyć obrazu" #~ msgid "Image has no metadata" #~ msgstr "Obraz nie posiada metadanych" #~ msgid "The image was not copied." #~ msgstr "Obraz nie został skopiowany." #, python-format #~ msgid "%s images skipped" #~ msgstr "obrazów pominiętych: %s" #, python-format #~ msgid "%s images downloaded" #~ msgstr "obrazów pobranych: %s" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Nie można wyświetlić miniatury" #~ msgid "Image has no thumbnail" #~ msgstr "Obraz nie posiada miniatury" #~ msgid "Image skipped" #~ msgstr "Obraz pominięto" #~ msgid "Image overwritten" #~ msgstr "Obraz nadpisano" #~ msgid "Image already exists" #~ msgstr "Obraz już istnieje" #~ msgid "Preferences were changed." #~ msgstr "Preferencje zostały zmienione." #~ msgid "Preferences were modified." #~ msgstr "Preferencje zostały zmodyfikowane." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Ta wersja programu jest nowsza od uruchomionej poprzednio. Sprawdzanie " #~ "preferencji." #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Przepraszamy, te preferencje zawierają błąd:\n" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Błąd w preferencjach podkatalogu pobierania" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Wartość preferencji \"Początek dnia\" jest uszkodzona.\n" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "" #~ "Przepraszamy, niektóre preferencje są nieprawidłowe i zostaną zresetowane." #~ msgid "No preferences needed to be changed." #~ msgstr "Żadne preferencje nie muszą zostać zmienione." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Ta wersja programu używa innych preferencji niż starsza wersja. Niektóre z " #~ "poprzednich preferencji były nieprawidłowe i nie mogły zostać " #~ "zaktualizowane. Zostaną one zresetowane." #~ msgid "Resetting to default values." #~ msgstr "Resetowanie do wartości domyślnych." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Źródło: %(source)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "Source: %s" #~ msgstr "Źródło: %s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Źródło: %(source)s\n" #~ "Cel: %(destination)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Źródło: %(source)s\n" #~ "Cel: %(destination)s\n" #~ "Błąd: %(errorno)s %(strerror)s" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Podkatalog: %(subfolder)s\n" #~ "Obraz: %(image)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Źródło: %(source)s\n" #~ "Cel: %(destination)s\n" #~ "Błąd: %(errno)s %(strerror)s" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Nieprawidłowa wartość Pobierań dzisiaj.\n" #~ msgid "Resetting value to zero.\n" #~ msgstr "Resetowanie wartości do zera.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Resetowanie do północy.\n" #~ msgid "Error in Image Rename preferences" #~ msgstr "Błąd w preferencjach zmiany nazw obrazów" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Wyszukiwanie zakończone: w katalogu %(device)s znaleziono obrazów %(number)s" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Wyszukiwanie zakończone: nie znaleziono obrazów w katalogu %s" #~ msgid "Image filename could not be generated" #~ msgstr "Nazwa pliku obrazu nie mogła zostać wygenerowana" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Nazwa pliku obrazu nie mogła zostać prawidłowo wygenerowana. Proszę " #~ "sprawdzić, czy metadane obrazu są wystarczające." #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Metadane są niezbędne aby wygenerować nazw podkatalogów / obrazów.\n" #~ "Źródło: %s" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Nazwa podkatalogu nie mogła zostać prawidłowo wygenerowana. Proszę " #~ "sprawdzić, czy metadane obrazu są wystarczające." #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Dodano unikatowy identyfikator \"%s\"" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Rozpoczął się nowy dzień - resetowanie numeru sekwencji \"Pobierań dzisiaj\"" #~ msgid "Download copying error" #~ msgstr "Błąd pobierania" #~ msgid "Backup image already exists" #~ msgstr "Kopia zapasowa obrazu już istnieje" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Nie można utworzyć katalogu docelowego\n" #~ "%(directory)s\n" #~ "Błąd: %(errno)s %(strerror)s" #~ msgid "The device can now be safely removed" #~ msgstr "Teraz można bezpiecznie usunąć urządzenie" #~ msgid "Backup device missing" #~ msgstr "Brak urządzenia do zapisu kopii zapasowej" #~ msgid "No backup device was detected." #~ msgstr "Nie wykryto urządzenia na którym można utworzyć kopię zapasową" #~ msgid "This device has no images to download from." #~ msgstr "Ten nośnik nie zawiera obrazów, które można pobrać." #, python-format #~ msgid "Download has started from %s" #~ msgstr "Rozpoczęto pobieranie z %s" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "Skopiowano %(number)s z %(total)s obrazów" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Ukończono pobieranie z %s" #~ msgid "It may be corrupted" #~ msgstr "Może być uszkodzone" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Nowsza wersja tego programu była poprzednio uruchomiona na tym komputerze.\n" #~ "\n" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Preferencje programu wydają się być właściwe, proszę jednak sprawdzić, czy " #~ "zapewniają prawidłowe działanie." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Ta wersja programu używa innych preferencji niż starsza wersja. Preferencje " #~ "zostały zaktualizowane.\n" #~ "\n" #~ "Proszę je sprawdzić, czy zapewniają prawidłowe działanie." #~ msgid "Problem using pynotify." #~ msgstr "Problem z użyciem pynotify." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Pobranie właściwości serwera pynotify nieudane." #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Wykryto %(device)s ze ścieżką %(path)s" #~ msgid "Automatically start download is true" #~ msgstr "Automatyczne rozpoczęcie pobierania jest włączone" #~ msgid "Automatically start download is false" #~ msgstr "Automatyczne rozpoczęcie pobierania jest wyłączone" #~ msgid "Using manually specified path" #~ msgstr "Użycie ręcznie wprowadzonej ścieżki" #~ msgid "images downloaded" #~ msgstr "obrazów pobranych" #~ msgid "images skipped" #~ msgstr "obrazów pominiętych" #~ msgid "Goodbye" #~ msgstr "Do zobaczenia" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "wypisz typy plików rozpoznawane przez program i zakończ" #~ msgid "Using" #~ msgstr "Użycie" #, python-format #~ msgid "%s is already running" #~ msgstr "%s jest już uruchomiony" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Klucz preferencji \"%(key)s\" jest nieprawidłowy.\n" #~ "Oczekiwano %(value)s" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Wartość preferencji \"%(value)s\" jest nieprawidłowa" #~ msgid "These preferences are not well formed:" #~ msgstr "Następujące preferencje nie są dobrze sformułowane:" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Obraz nie zawiera metadanych części sekundy" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "Obraz nie zawiera metadanych %s" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Błąd w składniku data czas. Nieprawidłowa wartość %s" #~ msgid "extension was specified but image name has no extension" #~ msgstr "" #~ "rozszerzenie zostało określone ale obraz nie posiada żadnego rozszerzenia" #~ msgid "image number was specified but image filename has no number" #~ msgstr "" #~ "numer obrazu został określony ale nazwa pliku nie posiada żadnego numeru" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "błąd przy tworzeniu nazwy ze składową %s" #~ msgid "Missing Backup Devices" #~ msgstr "Brak urządzeń do zapisu kopii zapasowej" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "W przypadku wyłączenia wykrywania automatycznego, proszę określić dokładne " #~ "położenie kopii zapasowej." #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "W przypadku wyłączenia wykrywania automatycznego, proszę wybrać dokładne " #~ "położenie obrazów." #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importuj obrazy wydajnie i niezawodnie" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Program Rapid Photo Downloader jest wolnym oprogramowaniem; można go " #~ "rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji " #~ "Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według " #~ "wersji drugiej tej Licencji lub którejś z późniejszych wersji.\n" #~ "\n" #~ "Program Rapid Photo Downloade rozpowszechniany jest z nadzieją, iż będzie on " #~ "użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji " #~ "PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu " #~ "uzyskania bliższych informacji należy zapoznać się z Powszechną Licencją " #~ "Publiczną GNU.\n" #~ "\n" #~ "Z pewnością wraz z niniejszym programem dostarczono także egzemplarz " #~ "Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie -" #~ " proszę napisać do Free Software Foundation, Inc., 51 Franklin Street, Fifth " #~ "Floor, Boston, MA 02110-130159 USA" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Proszę określić katalog dla tego urządzenia w którym przechowywana będzie " #~ "kopia zapasowa. \n" #~ "\n" #~ "Uwaga: zostanie to również wykorzystane do określenia czy urządzenie " #~ "będzie używane do tworzenia kopii zapasowych. Proszę utworzyć katalog o " #~ "podanej nazwie dla każdego urządzenia, które będzie używane do zapisu kopii " #~ "zapasowych." #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Proszę określić zachowanie w przypadku, kiedy obraz o tej samej nazwie " #~ "został już pobrany lub posiada kopię zapasową." #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "" #~ "Proszę określić zachowanie w przypadku braku urządzeń na których można " #~ "utworzyć kopię zapasową." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Proszę określić czy znaki, które są niedozwolone przez inne systemy " #~ "operacyjne, powinny zostać usunięte z nazw obrazów i katalogów." #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Proszę wybrać, czy podczas tworzenia kopii zapasowej nadpisać, czy pominąć " #~ "obraz o tej samej nazwie na urządzeniu docelowym." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Proszę sprawdzić preferencje, uruchomić program ponownie i spróbować jeszcze " #~ "raz." #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Wprowadzone preferencje podkatalogu są nieprawidłowe i nie mogą zostać " #~ "użyte.\n" #~ "Zostaną przywrócone ich domyślne wartości." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Pewne niepotrzebne wartości zostały usunięte z preferencji podkatalogu." #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Nośniki obrazów to urządzenia z których można pobrać zdjęcia, takie jak " #~ "aparaty fotograficzne, karty pamięci czy przenośne magazyny danych,\n" #~ "\n" #~ "Zdjęcia mogą być pobierane jednocześnie z kilku nośników obrazów.\n" #~ "\n" #~ "Jeżeli pobieranie bezpośrednio z aparatu fotograficznego działa " #~ "nieprawidłowo lub wcale, proszę spróbować przestawić go na tryb PTP. Jeśli " #~ "jest to niemożliwe, proszę rozważyć użycie czytnika kart pamięci." #~ msgid "There is an error in the program preferences." #~ msgstr "Błąd w preferencjach programu." #~ msgid "Some preferences will be reset." #~ msgstr "Niektóre preferencje zostaną zresetowane." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Jeżeli automatyczne wykrywanie przenośnych magazynów danych jest aktywne, " #~ "obrazy będą wyszukiwane na całym nośniku. W przypadku nośników o dużych " #~ "pojemnościach, może to chwilę potrwać." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Ostrzeżenie: Metadane obrazu są niewystarczające do pełnego " #~ "wygenerowania nazwy. Proszę użyć innych opcji zmiany nazwy." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Ostrzeżenie: Metadane obrazu są niewystarczające do pełnego " #~ "wygenerowania podkatalogów. Proszę użyć innej opcji określenia nazw " #~ "podkatalogów" #~ msgid "Starting downloads" #~ msgstr "Rozpoczynanie pobierania" #~ msgid "Job Code entered" #~ msgstr "Kod pracy wprowadzony" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Rozpoczynanie pobierania oczekującego na kod pracy" #~ msgid "Prompting for Job Code" #~ msgstr "Zapytanie o kod pracy" #~ msgid "Job Code not entered" #~ msgstr "Nie wprowadzono kodu pracy" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Proszę wprowadzić nowy kod pracy lub wybrać poprzedni." #~ msgid "Enter a new job code." #~ msgstr "Proszę wprowadzić nowy kod pracy." #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Pobierać obrazy z tego urządzenia lub partycji?" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Urzadzenie %(device)s (%(path)s) zignorowane" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Już pytano o kod pracy, nie zapytuj ponownie" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Zapytanie o użycie %s" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "jako źródło pobierania wybrano %s" #~ msgid "This device or partition will always be used to download from" #~ msgstr "" #~ "To urządzenie lub partycja zawsze będzie używane jako źródło pobierania" #~ msgid "This device or partition will never be used to download from" #~ msgstr "" #~ "To urządzenie lub partycja nigdy nie będzie używane jako źródło pobierania" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "urządzenie %s odrzucone jako źródło pobierania" rapid-photo-downloader-0.4.10/po/sr.po0000644000175000017500000027555012270217622020015 0ustar damondamon00000000000000# Serbian translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # Мирослав Николић , 2012. msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-21 23:47+0000\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian translators\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" "Language: sr\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Брзи преносилац фотографија" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Уређај" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Величина" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Напредак преузимања" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s није демонтиран" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "претражујем уређај..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "почетни директоријум система датотека" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Преузми са %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Да ли заиста желите да преузмете слике одавде? На неким системима " "претраживање те путање може да потраје." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Преузми" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Паузирај" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Следеће фасцикле за преузимање су неисправне:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Следећа фасцикла за преузимање је неисправна:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Не могу да наставим преузимање" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "Ниједан уређај резерве не садржи исправну фасциклу за стварање резерве " "„%(filetype)s“" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "фотографије" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "видео" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "Проблем са резервом" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Преостала је 1 секунда" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Преостало је %i секунди" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Преостао је 1 минут" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Преостало је %(minutes)i:%(seconds)02i" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "фотографије и видео" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "фотографије или видео" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "видео" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "фотографија" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s преузето" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s није преузето" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "упозорења" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Сва преузимања су завршена" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s преузето" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s није преузето" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s од %(total)s %(filetypes)s (преостаје %(remaining)s)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s од %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Од" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Сам одреди" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Изаберите фасциклу која садржи %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Умножи" #: rapid/rapid.py:3397 msgid "Move" msgstr "Премести" #: rapid/rapid.py:3419 msgid "To" msgstr "У" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Фотографије:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Изаберите фасциклу за чување фотографија" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Видео:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Изаберите фасциклу за смештање преузетог видеа" #: rapid/rapid.py:3650 msgid "and" msgstr "и" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Употреба резервних уређаја" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Употреба резервног уређаја" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Нису изабрани резервни уређаји" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Слободан простор:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s слободно" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Направи резерву слика и видеа у %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Правим резерву у %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Правим резерву слика у %(path)s и видеа у %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. у %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Подешавања програма су неисправна" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Фотографија" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Видео" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "Фасцикла за преузимање %(file_type)s датотека не постоји" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Фасцикла: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "Фасцикла за преузимање %(file_type)s датотека је неисправна" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "Фасцикла за преузимање %(file_type)s датотека је неуписива" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Умањени прикази" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "исписује податке о програму у командној линији док је покренут програм " "(подразумевано: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "приказује податке за тражење грешака у програму при покретању из командне " "линије" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "исписује грешке само у командној линији" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "исписује проширења подржаних слика и видеа и напушта програм" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "сам открива уређаје са којих ће да преузима, преписујући постојеће поставке " "програма" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "ручно наводи ПУТАЊУ уређаја са којих ће да преузима, преписујући постојеће " "поставке програма" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "враћа све поставке на подразумевано и напушта програм" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Грешка: наведите самооткривање уређаја или ручно наведите путању уређаја са " "којих вршити преузимање, али немојте оба истовремено." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "и %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Сва подешавања су враћена на подразумеване вредности" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Грешка прављења резерве" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Не могу да направим циљни директоријум: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Извор: %(source)s\n" "Циљ: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Грешка: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "Резерва „%(file_type)s“ је преписана" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "није направљена резерва за „%(file_type)s“" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "Резерва за „%(file_type)s“ већ постоји" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Датотека: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "Дошло је до непознате грешке" #: rapid/device.py:80 msgid "Device Detected" msgstr "Пронађен је нови уређај" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Да ли да преузмем фотографије или видео са овог уређаја/партиције?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Запамти овај избор" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Датум" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Текст" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Назив датотеке" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Метаподаци" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Низови" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Код задатка" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Датум фотографије" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Датум видеа" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Данас" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Јуче" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Датум преузимања" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Назив + наставак" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Назив" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Наставак" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Број слике" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Број видеа" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Отвор бленде" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ИСО" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Време излагања" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Жижна даљина" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Произвођач фото-апарата" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Модел фото-апарата" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Скраћени назив фото-апарата" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Дужи назив фото-апарата" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Серијски број" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Број окидања" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Број датотеке" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Само фасцикла" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Фасцикла и датотека" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Име власника" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Кодек" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Ширина" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Висина" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Дужина" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Кадрова у секунди" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Аутор" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Ауторска права" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Данашња преузимања" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Број сесије" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Број подфасцикле" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Сачувани број" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Низ слова" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Све цифре" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Последње цифре" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Последње две цифре" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Последње три цифре" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Последње четири цифре" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Оригинална величина слова" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "ВЕЛИКА СЛОВА" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "мала слова" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Једна цифра" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Две цифре" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Три цифре" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Четири цифре" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Пет цифре" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Шест цифре" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Седам цифара" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Стотинке" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ГГГГММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ГГГГ-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ГГММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ГГ-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "ММДДГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "ММДДГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "ММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "ДДММГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "ДДММГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "ГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "ГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "ММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Месец (пун)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Месец (скраћен)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "ЧЧММСС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "ЧЧММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "ЧЧ-ММ-СС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "ЧЧ-ММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "ЧЧ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "ММ (минута)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "СС" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Подешавања подфасцикле не треба да почиње са %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Подешавања подфасцикле не треба да се завршава са %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Подешавања подфасцикле не треба да садржи два %s један за другим" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Да уклоним све кодове задатка?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Да ли да уклоним све кодове задатка?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Да уклоним све запамћене путање?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Да ли да уклоним све запамћене путање?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Да уклоним све занемарене путање?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Да ли да уклоним све занемарене путање?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Грешка у поставкама за преименовање фотографија" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Грешка у поставкама за преименовање видеа" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Грешка у поставкама подфасцикли за преузете фотографије" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Грешка у поставкама подфасцикли за преузет видео" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Унесите код задатка" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Упишите код задатка или изаберите неки претходни" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Упишите нови код задатка" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Код задатка:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Унесите путање за занемаривање" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "Одредите путање са којих никада не желите да преузмете слике и видео" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Путања:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Код задатка" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Изаберите фасциклу за резерве фотографија" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Изаберите фасциклу за резерву видеа" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Упозорење: Нема довољно метаподатака за образовање пуног имена. " "Искористите друге опције за преименовање." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Упозорење: Нема довољно метаподатака за образовање подфасцикли. " "Искористите другу опцију за именовање фасцикли." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Пример: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Унете поставке %(filetype)s подфасцикле нису исправне и неће бити " "коришћене.\n" "Враћам поставке на подразумеване вредности." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Следећи изрази су неисправни и биће уклоњени уколико их не поправите:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Следећи израз је неисправан и биће уклоњен уколико га не поправите:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Неисправан регуларни израз" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "СпољниУређај1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "СпољниУређај2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Београд" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Софија" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Праг" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Зајечар" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Нови Сад" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Техеран" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Будва" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Париз" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Берлин" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Сиднеј" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Будимпешта" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Рим" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Москва" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Делфи" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Варшава" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Амазон" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Мадрид" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Истамбул" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "подфасцикла" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "назив датотеке" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Вредности за датум и време %s су неисправне." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Назив датотеке не садржи проширење." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Назив датотеке нема секвенцу бројева." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Не могу да образујем део имена за %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "Не могу да читам %(filetype)s метаподатке" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "Не могу да образујем %(filetype)s %(area)s" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Грешка приликом умножавања %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "„%(filetype)s“ није исправно преузета" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "Већ постоји %(filetype)s" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "Не могу да направим резерву %(filetype)s датотека јер није нађена " "одговарајућа локација." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s је сликана %(image1_date)s у %(image1_time)s, а %(image2)s " "%(image2_date)s у %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s је већ преузет" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Постојећи %(filetype)s је измењен %(date)s у %(time)s. Додата је јединствена " "реч „%(identifier)s“." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "Постојећи %(filetype)s је измењен %(date)s у %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Не постоје подаци за именовање %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Грешка: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" "Провера датотеке није успела. Преузето издање се разликује од изворног." #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Метаподаци су можда неисправни." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "Назив датотеке, проширење и Ексиф подаци указују да је датотека већ преузета." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Резерва је смештена на %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Резерва је смештена на следеће уређаје: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s и %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Нађене су фотографије са истим називом датотека, али сликане у различито " "време: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Грешка приликом прављења резерве на %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Грешка приликом прављења резерве на %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Грешка приликом прављења резерве на следећим уређајима: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s и %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s и %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Већ постоји резерва на %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Већ постоји резерва на овим местима: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Резерва је преписана на %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Резерва је преписана на овим уређајима: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Грешка при образовању директоријума на %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "Грешка при образовању директоријума на следећим уређајима: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" "Провера датотеке на „%(volume)s“ није успела. Издање резерве се разликује од " "преузетог издања." #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "Провера датотеке није успела на овим уређајима: " #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Додатно, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Такође, дошло је и до %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Такође, дошло је и до %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Недостају %(type)s метаподаци." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Недостају следећи метаподаци: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s и %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Проблеми при образовању подфасцикли и назива датотека" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Проблем при образовању подфасцикли и назива датотека" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Проблеми при образовању %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Проблем при образовању %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "Већ постоји %(filetype)s, али је направљена резерва" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Дошло је до грешке приликом умножавања %(filetype)s, али је направљена " "резерва" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Дошло је до више грешака" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Нађене су фотографије са истим именом, које су сликане у различито време" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "дошло је до грешака при прављењу резерве" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Дошло је до грешака при прављењу резерве" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "дошло је до грешке при прављењу резерве" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Дошло је до грешке при прављењу резерве" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, и %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "прегледам (нађох %(photos)s фотографија и %(videos)s видеа)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "подфасцикла и назив датотеке" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Фотографије су већ преузете" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Извор: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Не могу да направим подфасциклу за преузимање" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Путања: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "О програму..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "Изабери _све" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Изабери све фотографије" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Изабери све снимке" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Приложите неки динар..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "Помоћ на _мрежи" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Помоћ" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Поставке" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Изађи" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Освежи" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Пријављивање грешака" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Преведите овај програм..." #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Поништи сав избор" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Датотека" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Преузми / Паузирај" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Изабери" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Изабери све без к_ода задатка" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Изабери све са _кодом задатка" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "П_реглед" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "Списак са _грешкама" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Очисти завршена преузимања" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Претходна датотека" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Следећа датотека" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Помоћ" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Преведите овај програм..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Укључи у преузето" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Преузми" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Поставке: Брзи преносилац фотографија" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Фасцикла за преузете слике" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Пример: /home/user/Фотографије" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Подфасцикле за преузимања" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Фасцикла за чување:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Изаберите фасциклу за чување преузетих фотографија. Подфасцикле ће бити " "направљене на основу задатог редоследа." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Фасцикла за фотографија" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Фасцикла за слике" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" "Преименовање фотографија\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Преименовање фотографија" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Нова:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Првобитна:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Пример" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Преименовање фотографија" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Фасцикла за преузет видео" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Преузимање видеа је онемогућено. За преузимање видеа инсталирајте hachoir " "metadata и kaa metadata за Питон и exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Изаберите фасциклу за чување преузетог видеа. Подфасцикле ће бити направљене " "на основу задатог редоследа." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Видео фасцикле" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Преименовање видеа\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Преименовање видеа" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Опције за преименовање" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Низ бројева" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Одређује време у које ће вредност данашњих преузимања бити поништена." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Почетак дана:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Данашњих преузимања:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Сачувани бројеви:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " чч:мм" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Усагласи називе РАВ и ЈПЕГ слика" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Сагласност са осталим оперативним системима" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Одређује да ли из назива фотографија, видеа и фасцикли треба уклонити знаке " "који нису подржани на другим оперативним системима." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Избаци неподржане знакове" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Опције преименовања" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Кодови задатка" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Кодови задатка" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Додај..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "У_клони све" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Код задатка" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Уређаји" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Уређаји" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Уређаји са којих се преузимају слике или видео, као што су фото-апарати, " "меморијске картице или преносна складишта.\n" "\n" "Можете преузимати податке са више уређаја у исто време или уместо уређаја " "изабрати одређено место са вашег диска.\n" "\n" "Директно преузимање са фото-апарата је још увек у развојној фази. Уколико " "приметите да је брзина преузимања мала, или да преузимање уопште не ради, " "поставите апарат у ПТП режим или купите читач картица." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Сам пронађи преносне меморијске уређаје" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Сам пронађи уређаје" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Уколико омогућите аутоматско налажење преносних уређаја, то може да потраје " "када је преносни уређај велики јер ће бити претражен у потпуности.\n" "\n" "При налажењу одговарајућег уређаја бићете упитани да ли желите да га " "претражите или не." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Место:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Уколико онемогућите аутоматско налажење уређаја, изаберите место до слика " "или видеа." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Опције уређаја" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Запамћене путање" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Упамћене путање су оне које се везују за уређаје које желите да увек " "претражите или занемарите при аутоматском тражењу уређаја." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Занемарене путање" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Унесите део назива путања које желите да занемарите приликом претраживања " "уређаја. Све путање које се завршавају овим називом ће бити занемарене." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "У_клони све" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Користи _регуларни израз у Питоновом стилу" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Опције уређаја" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Резерва\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Резерва" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Уколико искључите аутоматско налажење уређаја, изаберите тачно место." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Сам пронађи уређаје за резерве" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Можете направити резерве фотографија и видеа на више места при преузимању, " "нпр. на спољним дисковима." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Направи резерву слика и видеа при преузимању" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Наведите фасциклу на уређају у којој се чувају резерве. \n" "\n" "Примедба: ово одређује и да ли се уређаји користе као резервни. Унутар " "сваког резервног уређаја морате направити фасцику са неким од ових " "назива." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Место до резервних фотографија:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Назив фасцикле резерве за слике:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Пример:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/Спољни_уређај/Фотографије" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Назив фасцикле резерве за видео:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Путања до резервног видеа:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Остало" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Аутоматизација програма" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Демонтирај (избаци) уређај након успешног преузимања" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Започни преузимање по покретању програма" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Започни преузимање по прикључивању уређаја" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Изађи из програма по преузимању" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Изађи из програма чак и када постоје грешке у преузимању" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Сам окрени слике" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "Проверава датотеке након преузимања" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Учинак" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Изгради умањене приказе (спорије)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Остало" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Превазилажење грешака" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Сукоби назива видеа и слика" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Додај јединствену реч" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Прескочи преузимање" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Када је већ преузета фотографија или видео са истим називом, изаберите или " "да је прескочите или да јој додате јединствену ознаку." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Да ли да препишем датотеку са истим називом на резервном уређају или да је " "прескочим приликом прављења резерве." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Препиши" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Прескочи" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Руковање грешкама" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Увезите ваше фотографије и видео брзо и поуздано" #~ msgid "Resetting to default values." #~ msgstr "Враћам на подразумеване вредности." #~ msgid "Resetting value to zero.\n" #~ msgstr "Постављам вредност на нулу.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Вредност подешавања за „почетак дана“ је неисправна.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Ово подешавање садржи грешку:\n" #~ msgid "Error in Image Rename preferences" #~ msgstr "Грешка у подешавањима за преименовање" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Грешка у подешавањима подфасцикли за чување" #~ msgid "Resetting to midnight.\n" #~ msgstr "Постављам на поноћ.\n" #~ msgid "Select an image folder" #~ msgstr "Изаберите фасциклу са сликама" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Упозорење: Нема довољно метаподатака за образовање назива " #~ "фотографије. Искористите неку другу опцију за преименовање." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Упозорење: Нема довољно метаподатака за образовање подфасцикли. " #~ "Искористите неку другу опцију за именовање подфасцикли." #~ msgid "Select a folder in which to backup images" #~ msgstr "Изаберите фасциклу за резервне копије слика" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Проверите поставке и поново покрените програм." #, python-format #~ msgid "0 of %s images copied" #~ msgstr "преузето је 0 од %s фотографија" #~ msgid "There is an error in the program preferences." #~ msgstr "Постоји грешка у подешавањима програма." #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Не могу да образујем назив фотографија. Проверите да ли оне садрже довољно " #~ "метаподатака." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Извор: %(source)s\n" #~ "Проблем: %(problem)s" #~ msgid "Image filename could not be generated" #~ msgstr "Не могу да образујем назив фотографије" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Није нађена ни једна фотографија на %s" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "Пронађено је %(number)s фотографија на %(device)s" #~ msgid "Could not open image" #~ msgstr "Не могу да отворим фотографију" #, python-format #~ msgid "Source: %s" #~ msgstr "Извор: %s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Извор: %(source)s\n" #~ "Циљ: %(destination)s\n" #~ "Проблем: %(problem)s" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Метаподаци су неопходни за образовање назива подфасцикли и датотека.\n" #~ "Извор: %s" #~ msgid "Image has no metadata" #~ msgstr "Фотографија не садржи метаподатке" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Није исправна вредност за данашња преузимања.\n" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "Почео је нови дан, поништавам број данашњих преузимања" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Додат је јединствена реч „%s“" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Подфасцикла: %(subfolder)s\n" #~ "Слика: %(image)s\n" #~ "Проблем: %(problem)s" #, python-format #~ msgid "%s images skipped" #~ msgstr "Прескочено је %s склика" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Извор: %(source)s\n" #~ "Циљ: %(destination)s\n" #~ "Грешка: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Не могу да направим циљни директоријум\n" #~ "%(directory)s\n" #~ "Грешка %(errno)s %(strerror)s" #, python-format #~ msgid "%s images downloaded" #~ msgstr "Преузето је %s склика" #~ msgid "The device can now be safely removed" #~ msgstr "Сада је безбедно да уклоните уређај" #~ msgid "Backup image already exists" #~ msgstr "Већ постоји резервна копија слике" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Извор: %(source)s\n" #~ "Циљ: %(destination)s\n" #~ "Грешка: %(errorno)s %(strerror)s" #~ msgid "The image was not copied." #~ msgstr "Фотографија није копирана." #~ msgid "Image overwritten" #~ msgstr "Преписана слика" #~ msgid "This device has no images to download from." #~ msgstr "Уређај не садржи фотографије за преузимање." #~ msgid "errors" #~ msgstr "грешке" #~ msgid "Backup device missing" #~ msgstr "Нама уређаја за резервне копије" #~ msgid "No backup device was detected." #~ msgstr "Није пронађен уређај за резервне копије" #~ msgid "Image has no thumbnail" #~ msgstr "Слика нема умањени приказ" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Преузимам фотографије са %s" #~ msgid "Image skipped" #~ msgstr "Прескочена слика" #~ msgid "Image already exists" #~ msgstr "Већ постојећа слика" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Не могу да прикажем умањени приказ" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Завршено је преузимање са %s" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "Преузето је %(number)s од %(total)s слика" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s је изабран за преузимање слика" #~ msgid "This device or partition will always be used to download from" #~ msgstr "Фотографије ће увек бити преузете са овог уређаја или партиције" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s је забрањен за преузимање слика" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Фотографије никада неће бити преузете са овог уређаја или партиције" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Унесите код задатка или изаберите неки претходни." #~ msgid "It may be corrupted" #~ msgstr "Можда је оштећен" #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Да ли да преузимам фотографије са овог уређаја или партиције?" #~ msgid "Job Code not entered" #~ msgstr "Код задатка није унет" #~ msgid "Some preferences will be reset." #~ msgstr "Нека подешавања ће бити поништена." #~ msgid "Enter a new job code." #~ msgstr "Унос новог кода задатка." #~ msgid "Job Code entered" #~ msgstr "Код задатка је унет" #~ msgid "Starting downloads" #~ msgstr "Почињем преузимање" #~ msgid "Warning:" #~ msgstr "Упозорење:" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Нека подешавања су неисправна, пе ће бити поништена." #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "Изгледа да су подешавања програма исправна, али их проверите." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Новије издање програма је било покретано на овом рачунару.\n" #~ "\n" #~ msgid "No preferences needed to be changed." #~ msgstr "Поставке нису мењане." #~ msgid "Preferences were modified." #~ msgstr "Поставке су измењене." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Ово издање програма не новије од претходно покретаног. Проверавам подешавања." #~ msgid "Problem using pynotify." #~ msgstr "Проблем при коришћењу pynotify." #~ msgid "Using manually specified path" #~ msgstr "Користим ручно изабрану путању" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Уређај %(device)s (%(path)s) је занемарен" #~ msgid "Automatically start download is true" #~ msgstr "Укључено је аутоматско преузимање" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Пронађен је уређај %(device)s у %(path)s" #~ msgid "Automatically start download is false" #~ msgstr "Искључено је аутоматско преузимање" #~ msgid "_Pause" #~ msgstr "_Паузирај" #~ msgid "images skipped" #~ msgstr "прескочене фотографије" #~ msgid "_Download " #~ msgstr "_Преузми " #~ msgid "images downloaded" #~ msgstr "преузете фотографије" #~ msgid "Preferences were changed." #~ msgstr "Поставке су измењене." #, python-format #~ msgid "%s is already running" #~ msgstr "%s је већ покренут" #~ msgid "Using" #~ msgstr "Користи" #~ msgid "Goodbye" #~ msgstr "Довиђења" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Није исправна поставка „%(value)s“" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Није исправна поставка „%(key)s“.\n" #~ "Очекивано је %(value)s" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "грешка при образовању назива са %s" #~ msgid " " #~ msgstr " " #~ msgid "Missing Backup Devices" #~ msgstr "Нису присутни уређај за резервне копије" #~ msgid "Image Devices" #~ msgstr "Уређај са сликама" #~ msgid "Automation" #~ msgstr "Аутоматизација" #~ msgid "Example: /home/user/photos" #~ msgstr "Example: /home/user/фотографије" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "Уклоњене су неке необавезне вредности из подешавања подфасцикли." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Питај да ли да користим %s" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Већ сам питао за код задатка, нећу питати поново" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Започињем преузимања која чекају на код задатка" #~ msgid "Prompting for Job Code" #~ msgstr "Питај за код задатка" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Ово издање програма користи различите поставке од претходног издања. " #~ "Поставке су ажуриране.\n" #~ "\n" #~ "Проверите да ли су жељене радње исправне." #~ msgid "These preferences are not well formed:" #~ msgstr "Ова подешавања нису исправно образована:" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "Не постоје %s метаподаци у фотографији" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Метаподатак за време у стотинкама не потоји" #~ msgid "Download Folder" #~ msgstr "" #~ "Фасцикла за чување фотографија" #~ msgid "Automation" #~ msgstr "Аутоматизација" #~ msgid "Automatically detect image devices" #~ msgstr "Сам пронађи уређаје са сликама" #~ msgid "Image Devices" #~ msgstr "Уређаји са сликама" #~ msgid "Backup location:" #~ msgstr "Место за резервну копију:" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Сва права су задржана, Дејмон Линч (Damon Lynch) 2007-09" #~ msgid "Backup folder name:" #~ msgstr "Име фасцикле за резервну копију:" #~ msgid "_Thumbnails" #~ msgstr "_Умањени прикази" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Демонтирај/избаци уређај са сликама након преузимања" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Можете направити резервне копије фотографија на више места приликом " #~ "преузимања, нпр. на спољним дисковима." #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Одређује фасциклу на уређају у којој се чувају резервне копије. \n" #~ "\n" #~ "Примедба: ово одређује и да ли се уређај користи као резервни. За сваки " #~ "уређај са резервник копијама направите посебну фасциклу, која се налази " #~ "унутар уређаја." #~ msgid "Report a warning" #~ msgstr "Пријавите упизорење" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Брзи преносилац фотографија је слободан софтвер; можете га расподељивати " #~ "и/или га мењати под условима ГНУ Опште Јавне Лиценце (GNU GPL) како је " #~ "објављује Задужбина за Слободни Софтвер (FSF); било верзије 2 те Лиценце, " #~ "било (по вашем нахођењу) било које новије верзије.\n" #~ "\n" #~ "Брзи преносилац фотографија се расподељује у нади да ће бити од користи, али " #~ "БЕЗ ИКАКВИХ ГАРАНЦИЈА; чак и без подразумеване гаранције КОРИСНОСТИ или " #~ "ПРИЛАГОЂЕНОСТИ ОДРЕЂЕНОЈ НАМЕНИ. Видите ГНУ Општу Јавну Лиценцу за више " #~ "детаља.\n" #~ "\n" #~ "Требали сте да добијете примерак ГНУ Опште Јавне Лиценце уз Брзи преносилац " #~ "фотографија; ако нисте, пишите Задужбини за Слободни Софтвер (Free Software " #~ "Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA" #~ msgid "Start downloading upon image device insertion" #~ msgstr "Започни преузимање по прикључењу уређаја" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Увезите фотографије ефикасно и сигурно" #~ msgid "Image location:" #~ msgstr "Место фотографије:" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Грешка у датуму. Изгледа да није исправна вредност %s" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Ово издање програма користи другачије поставке од старијег издања. Нека од " #~ "претходних подешавања нису исправна и не могу се ажурурати. Она ће бити " #~ "враћена на подразумеване вредности." #~ msgid "image number was specified but image filename has no number" #~ msgstr "број слике је одређен, али назив фотографије не садржи број" #~ msgid "extension was specified but image name has no extension" #~ msgstr "наставак је одређен, али назив фотографије не садржи наставак" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "исписује наставке датотека са сликом које су подржане" #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Не могу да користим могућности pynotify сервера." #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Да ли да прекинем преузимање или да додам јединствену реч на назив " #~ "фотографије." #~ msgid "Image Name Conflicts" #~ msgstr "Неподударање назива слика" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Уколико искључите аутоматско налажење, изаберите место за резервну копију." #~ msgid "Exit program after completion of successful download" #~ msgstr "Напусти програм по успешном преузимању фотографија" #~ msgid "Error Log" #~ msgstr "Испис грешака" #~ msgid "Image Devices" #~ msgstr "Уређај са сликама" #~ msgid "Ignore" #~ msgstr "Занемари" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "Уколико искључите аутоматско налажење, изаберите путању до слика." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Уколико омогућите аутоматско налажење покретних меморијских уређаја, цео " #~ "уређај ће бити претражен у потрази за фотографијама, што може да потраје." #~ msgid "Download copying error" #~ msgstr "Грешка у преузимању" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Одређује шта треба предузети када већ постоји фотографија са истим именом " #~ "међу преузетим или резервним." #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "Одређује шта треба предузети када не постоје резервни уређаји." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Одређује да ли треба уклонити знакове које не подржава оперативни систем из " #~ "назива датотека и фасцикли." #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Унета подешавања подфасцикли нису исправна.\n" #~ "Она ће бити враћена на подразумеване вредности." #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Не могу да образујем називе подфасцикли. Проверите да ли постоје потребни " #~ "метаподаци." #~ msgid "_Photos" #~ msgstr "_Фотографија" #~ msgid "Download Folder" #~ msgstr "Фасциклe" #~ msgid "Backup photos when downloading" #~ msgstr "Направи резервну копију приликом преузимања фотографија" #~ msgid "Report an error" #~ msgstr "Пријави грешку" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Приликом прављења резервне копије, уколико већ постоји фотографија са истим " #~ "именом, можете је преписати или прескочити." #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Уређаји са сликама могу бити фотоапарати, разне спољне меморије и покретни " #~ "дискови.\n" #~ "\n" #~ "Можете преузети фотографије са више уређаја одједном.\n" #~ "\n" #~ "Уколико је преузимање фотографија директно са фотоапарата споро или не " #~ "ради, пробајте да подесите фотоапарат тако да ради у PTP режиму. Уколико то " #~ "није могуће, набавите спољни читач картица." #~ msgid "Image Rename" #~ msgstr "Преименовање" #~ msgid "Image Rename\t" #~ msgstr "" #~ "Преименовање фотографија\t" #~ msgid "Image Rename" #~ msgstr "Преименовање фотографија" #~ msgid "Backup" #~ msgstr "Резерва" rapid-photo-downloader-0.4.10/po/uk.po0000644000175000017500000030024212270217607017776 0ustar damondamon00000000000000# Ukrainian translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # Sergiy Gavrylov , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Stuartlittle1970@gmail.com \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Пристрої" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Пристрій" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Розмір" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Поступ завантаження" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s не від’єднано" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "сканування..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "корінь файлової системи" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Завантаження з %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Ви справді бажаєте завантажити звідси? На деяких системах сканування цього " "місцезнаходження може зайняти багато часу." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Завантажити" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Призупинити" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Ці каталоги завантаження є некоректними:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Ці каталоги завантаження є некоректними:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Неможливо продовжити завантаження" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "фото" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "відео" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Залишилось біля 1 секунди" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Залишилось біля %i секунд" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Залишилось біля 1 хвилини" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Залишилось біля %(minutes)i:%(seconds)02i" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "фото та відео" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "фото або відео" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "відео" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "фото" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "Завантажено %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s не вдалось завантажити" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "застереження" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Всі завантаження завершені" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s завантажено" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s не вдалось завантажити" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s з %(total)s %(filetypes)s (%(remaining)s залишилось)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s з %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "З" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Автоматичне визначення" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Виберіть теку, що містить %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Копіювати" #: rapid/rapid.py:3397 msgid "Move" msgstr "Переміщення" #: rapid/rapid.py:3419 msgid "To" msgstr "До" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Фото:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Виберіть теку для завантаження фото" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Відео:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Виберіть теку для завантаження відео" #: rapid/rapid.py:3650 msgid "and" msgstr "та" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Використання пристроїв для резервного копіювання" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Використання пристрою для резервного копіювання" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Пристроїв для резервного копіювання не виявлено" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Вільний простір:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "," #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s вільно" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Резервне копіювання фотографій та відеозаписів до %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Резервне копіювання до %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" "Резервне копіювання фотографій до %(path)s та відеозаписів до %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Налаштування програми є хибними" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Фото" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Відео" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s каталог завантаження не існує" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Каталог: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s каталог завантаження є хибним" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s каталог завантаження не доступний для запису" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Мініатюри" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "показати дані програми в командному рядку під час запуску (типово: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "показувати інструкцію зі зневадження під час запуску з командного рядка" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "виводити в командний рядок лише помилки" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "вивести список розширень фото та відео файлів, розпізнаних програмою і вийти" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "автоматично визначати пристрій, з якого буде виконуватися завантаження, " "замінюючи налаштування програми що існують" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "самостійно вкажіть розміщення (PATH) пристрою, з якого буде виконуватися " "завантаження, замінюючи налаштування програми що існують" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "скинути всі параметри та налаштування програми і вийти" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Помилка: вкажіть автоматичне визначення пристрою або самостійно вкажіть " "розміщення пристрою, з якого буде виконуватися завантаження, але не " "використовуйте відразу обидва варіанти." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "та %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Всі параметри та налаштування скинуті" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Помилка резервного копіювання" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Не вдалось створити теку адресата: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Джерело: %(source)s\n" "Адресат: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Помилка: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Файл: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Виявлений пристрій" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Чи використовувати цей пристрій або розділ для вивантаження з нього фото та " "відео?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Пам’ятати цей вибір" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "МБ/с" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Дата і час" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Текст" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Назва файлу" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Метадані" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Послідовності" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Мітка" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Дата фото" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Дата відео" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Сьогодні" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Вчора" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Час та дата завантаження" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Назва + розширення" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Назва" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Розширення" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Номер фото" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Номер відео" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Діафрагма" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Час експозиції" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Фокусна відстань" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Виробник камери" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Модель камери" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Скорочена назва камери" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Написана через дефіс коротка назва моделі" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Серійний номер" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Кількість затворів" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Номер файлу" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Лише тека" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Тека та файл" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Ім’я власника" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Кодек" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Ширина" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Висота" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Тривалість" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Кадрів за секунду" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Виконавець" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Авторське право" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Завантажень сьогодні" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Номер сеансу" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Номер підтеки" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Номер збереження" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Послідовність знаків" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Всі цифри" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Остання цифра" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Останні 2 цифри" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Останні 3 цифри" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Останні 4 цифри" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Початковий регістр" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "ВЕРХНІЙ РЕГІСТР" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "нижній регістр" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Одна цифра" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Дві цифри" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Три цифри" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Чотири цифри" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "П’ять цифр" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Шість цифр" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Сім цифр" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Підсекунди" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "РРРРММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "РРРР-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "РРММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "РР-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "ММДДРРРР" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "ММДДРР" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "ММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "ДДММГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "ДДММРР" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "РРРР" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "РР" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "ММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Місяць (повністю)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Місяць (коротко)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "ГГХХСС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "ГГХХ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "ГГ-ХХ-СС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "ГГ-ХХ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "ГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "ХХ (хвилин)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "СС" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Параметри підтеки не повинні починатись з %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Параметри підтеки не повинні завершуватись %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Параметри підтеки не повинні містити два %s одне за одним" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Вилучити всі мітки?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Чи потрібно вилучити всі мітки?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Вилучити усі запам’ятовані розміщення?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Чи має бути вилучено усі заппам’ятовані розміщення?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Вилучити усі розміщення що ігноруються?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Чи має бути вилучено усі ігноровані розміщення?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Помилка в параметрі «Перейменування фото»" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Помилка в налаштуваннях «Перейменування відео»" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Помилка в налаштуваннях «Підтеки для завантаження фото»" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Помилка в налаштуваннях «Підтеки для завантаження відео»" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Введіть мітку" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Введіть нову мітку або виберіть попередню" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Введіть нову мітку" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Мітка:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Введіть розміщення, яке бажаєте ігнорувати" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Вкажіть розміщення, яке не буде скануватися на наявність фотографій або " "відеофрагментів" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Шлях:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Мітка" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Оберіть теку у якій будуть зберігатися резервні копії фотографій" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Оберіть теку у якій будуть зберігатися резервні копії відеофрагметів" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Увага: Недостатньо метаданих для повного створення назви. " "Використовуйте інші варіанти перейменування." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Увага: Недостатньо метаданих для повного створення підтек. " "Використовуйте інші варіанти найменування підтек." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Приклад: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Введені параметри підтеки %(filetype)s помилкові, вони не " "використовуватимуться.\n" "Ці значення будуть скинуті до типових." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Наступні регулярні вирази неприпустимі й будуть вилучені, якщо ви не " "виправите їх:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Регулярний вираз неприпустимий й буде вилучено, якщо ви не виправите його:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Неприпустимий регулярний вираз" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "зовнішній пристрій 1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "зовнішній пристрій 2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Нью-Йорк" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Маніла" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Прага" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Гельсінкі" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Веллінгтон" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Тегеран" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Кампала" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Париж" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Берлін" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Сідней" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Будапешт" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Рим" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Москва" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Делі" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Варшава" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Джакарта" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Мадрид" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Стокгольм" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "підтека" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "назва файлу" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Значення дати та часу %s встановлено неправильно." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "В імені файлу відсутнє розширення" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "В імені файлу відсутній числовий компонент." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Помилка створення компонента %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s не можливо прочитати метадані" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s не може бути згенерованим" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Сталася помилка при копіюванні %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s вже існує" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s не може бути збережений в резервну копію, тому, що не вказано " "місце для збереження резервних копій." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s було створено %(image1_date)s у %(image1_time)s та %(image2)s " "створено %(image2_date)s у %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s вже було завантажено" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Існуючий фал %(filetype)s було модифіковано %(date)s в %(time)s. Додано " "унікальний ідентифікатор '%(identifier)s' ." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "Існуючий фал %(filetype)s було модифіковано %(date)s в %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Не існує даних з ім’ям %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Помилка: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Метадані можуть бути пошкодженими." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "Файл, розширення та Exif інформація вже були завантажені." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Було створено резервну копію на %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Було створено резервну копію на цих пристроях: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s та %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Виявлені файли з однаковими назвами, проте створені в різний час: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" "Сталася помилка при створенні резервної копії на %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Сталася помилка при створенні резервної копії на %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Сталася помилка при створенні резервної копії на наступних пристроях: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s та %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s та %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Резервна копія вже існує на %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Резервна копія вже існує на: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Резервну копію на %(volume)s перезаписано." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Перезаписано резервну копію на пристрої: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Сталася помилка при створені каталогів на %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "Сталася помилка при створені каталогів на наступних пристроях: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "У доповнення до %(previousproblem)s: %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " До того ж є %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " До того ж була %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "У метаданих пропущено %(type)s" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Ці метадані пропущено: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s, %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "При створенні ім’я каталогу та файлу сталися помилки." #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Помилка при створенні імені каталогу та файлу." #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Сталися помилки при створенні %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Помилка %s при створенні" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "Хоч %(filetype)s вже існує, резервна копія все одно створена." #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "При копіюванні %(filetype)s сталася помилка, але резервна копія все одно " "створена." #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Виявлено чисельні проблеми" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Виявлені фото з однаковою назвою, але зроблені в різний час" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "Помилки при створенні резервної копії" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Помилки при створенні резервної копії" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "була помилка при резевному копіюванні" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Була помилка при резевному копіюванні" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, ще %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" "перевірка (знайдено %(photos)s фотографій та %(videos)s відеозаписів)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "підтека та назва файлу" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Фото вже були завантажені" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Джерело: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Не вдалося створити каталог для завантаження" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Шлях: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Позначити все" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Зробити пожертву..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "О_тримати довідку онлайн..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "Зв_іт про помилку..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Скасувати позначку всього" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Файл" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Завантаження / Призупинити" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Вибрати" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Вибрати всі без _міток" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Вибрати всі з _мітками" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Перегляд" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Журнал помилок" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Очистити завершені завантаження" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Попередній Файл" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Наступний файл" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Довідка" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Перекласти цю програму..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "Включити у завантаження" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Завантажити" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Параметри: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Теки для завантаження фото" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Приклад: /home/user/Pictures" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Підтеки для завантаження" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Тека для завантаження:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Виберіть теку для завантаження. В цій теці автоматично створюватимуться " "підтеки для завантажених фото використовуючи структуру, зазначену нижче." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Тека для завантаження" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Теки з фото" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Перейменування фото\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Перейменування фото" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Нова назва:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Початкова назва:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Приклад" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Перейменування фото" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Теки для завантаження відео" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Вибачте, але стягнення відео вимкнено. Для того щоб мати можливість " "завантажувати відео, будь-ласка, встановіть пакунки hachoir metadata " "та kaa metadata для Пітона або exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Виберіть теку для завантаження. В цій теці автоматично створюватимуться " "підтеки для завантажених відео використовуючи структуру, зазначену нижче." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Теки відео" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Перейменування відео\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Перейменування відео" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" "Параметри перейменування" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Послідовність номерів" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Вкажіть час в 24-годинному форматі, коли буде скинута послідовність номерів " "для параметра Завантажень сьогодні." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Початок дня:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Завантажень сьогодні:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Номер зберігання:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " гг:хх" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Синхронізувати послідовність номерів RAW + JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Сумісність з іншими операційними системами" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Вкажіть, чи вилучати з назв фото, відео та тек всі символи, що не дозволені " "в інших операційних системах." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Вилучати несумісні символи" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Параметри перейменування" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Мітки" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Мітки" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "Д_одати..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "В_илучити все" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Мітки" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Пристрої" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Пристрої - з них завантажується фото та відео, наприклад, камера, карта " "пам’яті або переносний накопичувач.\n" "\n" "Ви можете налаштувати завантаження з декількох пристроїв одночасно або " "вказати місце для завантаження на жорсткому диску\n" "\n" "Завантаження напряму з камери поки що є пробною можливістю. Якщо " "завантаження напряму з камери працює погано або не працює взагалі, " "перемикніть її у режим PTP. Якщо це неможливо, використовуйте пристрій для " "читання карт пам’яті." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Автоматично виявляти портативні пристрої зберігання" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Автоматично виявляти пристрої" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Якщо ви увімкнули автовизначення переносного накопичувача, буде проскановано " "увесь накопичувач. На пристроях більшої ємності це може зайняти час\n" "\n" "Коли цей параметр увімкнено, й відповідний пристрій знайдено, програма " "спитає вас, чи потрібно його сканувати." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Розташування:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Якщо ви вимикаєте автовизначення, оберіть містце для резервного копіювання " "фото та відео." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Налаштування пристроїв" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Розміщення які запам’ятовано" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Запам’ятованими адресами є ті, які асоціюються з пристроями вибраними вами " "для виконання їх постійного сканування або ігнорування, при залученій " "можливості автоматичного визначення Портативного пристрою зберігання." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Ігноровані розміщення" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Вкажіть кінцівку будь-якої адреси, яку ви бажаєте ігнорувати при скануванні " "пристроїв, на вміст фотографій та відеозаписів. Усі адреси що закінчуються " "значеннями вказаними нижче, скануватися не будуть." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Вилучити все" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Використовувати регулярні вирази стилю _python" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Параметри пристрою" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Резервне копіювання\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Резервне копіювання" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Якщо ви вимикаєте автовизначення, оберіть місце для резервного копіювання." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Автоматичне виявляти пристрої для резервного копіювання" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Ви можете створювати резервні копії фото та відео в кількох місцях прямо під " "час завантаження, наприклад, на зовнішніх жорстких дисках." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Резервне копіювання фото та відео під час завантаження" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Вкажіть каталог, в якому зберігатимуться резервні копії на пристрої. \n" "\n" "Примітка: це також визначатиме, чи використовується пристрій для " "резервного копіювання, чи ні. Для кожного пристрою, який ви " "використовуватимете, в цьому каталозі створюватиметься тека з відповідною " "назвою." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Розміщення для резервного копіювання фото:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Назва теки для резервного копіювання фото:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Приклад:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/externaldrive/Photos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Назва теки для резервного копіювання відео:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Розміщення для резервного копіювання відео:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Решта налаштувань" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Автоматизація програми" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Від’єднати («витягти») пристрій після завершення завантаження" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Розпочинати завантаження під час запуску програми" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Розпочинати завантаження після під’єднання пристрою" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Закінчити програму після завантаження" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Закінчити програму навіть при помилках завантаження" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Автоматично повертати зображення JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Швидкодія" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Створювати мініатюри (довше копіюється)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Інше" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Обробка помилок" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Конфлікти назв фото та відео" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Додати унікальний ідентифікатор" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Пропустити завантаження" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Коли фото або відео з такою ж назвою вже завантажені, виберіть, чи " "пропустити завантаження цього файлу, чи додати унікальний ідентифікатор." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Чи слід під час резервного копіювання перезаписати файл, що має однакову " "назву з файлом на пристрої, чи пропустити його?" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Перезаписати" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Пропустити" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Обробка помилок" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Імпортуйте фото та відео ефективно та надійно" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Неправильне значення «Завантажень сьогодні».\n" #~ msgid "Resetting value to zero.\n" #~ msgstr "Скинути значення на 0.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Значення параметру «Початок дня» пошкоджене.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Скидання налаштувань у північ.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "На жаль, ці параметри містять помилку:\n" #~ msgid "Resetting to default values." #~ msgstr "Скинути до типових значень." #~ msgid "There is an error in the program preferences." #~ msgstr "Помилка в налаштуваннях програми." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Перевірте налаштування, перезапустіть програму та спробуйте знову." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Джерело: %(source)s\n" #~ "Проблема: %(problem)s" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Доданий унікальний ідентифікатор '%s'" #~ msgid "Download copying error" #~ msgstr "Помилка копіювання завантаження" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Джерело: %(source)s\n" #~ "Адресат: %(destination)s\n" #~ "Помилка: %(errorno)s %(strerror)s" #, python-format #~ msgid "Source: %s" #~ msgstr "Джерело: %s" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Почався новий день - скидання порядкового номера параметра «Завантажень " #~ "сьогодні»" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Джерело: %(source)s\n" #~ "Адресат: %(destination)s\n" #~ "Помилка: %(errno)s %(strerror)s" #~ msgid "The device can now be safely removed" #~ msgstr "Зараз можна безпечно вилучити носій" #~ msgid "errors" #~ msgstr "помилки" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Завантаження почалось з %s" #~ msgid "Backup device missing" #~ msgstr "Відсутній пристрій для резервного копіювання" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Завершено завантаження з %s" #~ msgid "It may be corrupted" #~ msgstr "Можливо він пошкоджений" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s вибрано для вивантаження" #~ msgid "This device or partition will always be used to download from" #~ msgstr "" #~ "Цей пристрій або розділ завжди використовуватиметься для вивантаження" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s відкинутий як пристрій для завантаження" #~ msgid "This device or partition will never be used to download from" #~ msgstr "" #~ "Цей пристрій або розділ ніколи не використовуватиметься для вивантаження" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Введіть нову мітку або виберіть попередню." #~ msgid "Enter a new job code." #~ msgstr "Введіть нову мітку." #~ msgid "Job Code entered" #~ msgstr "Мітка введена" #~ msgid "Job Code not entered" #~ msgstr "Мітка не введена" #~ msgid "Some preferences will be reset." #~ msgstr "Деякі параметри будуть скинуті." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Чи нагадувати про використання %s" #~ msgid "Prompting for Job Code" #~ msgstr "Нагадування про вибір мітки" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Про мітку вже відомо, не нагадувати знову" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Розпочинаються завантаження, що очікували на мітку" #~ msgid "Starting downloads" #~ msgstr "Розпочинаються завантаження" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "На цьому комп'ютері раніше запускалася новіша версія програми.\n" #~ "\n" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Здається параметри програми правильні, але перевірте їх, щоб програма " #~ "працювала коректно." #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "На жаль, деякі параметри помилкові і будуть скинуті." #~ msgid "Warning:" #~ msgstr "Попередження:" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Ця версія програми новіша, ніж та, що працювала раніше. Перевірте " #~ "налаштування." #~ msgid "Preferences were modified." #~ msgstr "Параметри були змінені." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Ця версія програми використовує інші налаштування, ніж стара. Ваші " #~ "налаштування були оновлені.\n" #~ "\n" #~ "Перевірте їх, щоб програма працювала коректно." #~ msgid "No preferences needed to be changed." #~ msgstr "Немає параметрів, які необхідно було б змінити." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Ця версія програми використовує інші налаштування, ніж стара. Деякі з " #~ "попередніх налаштувань помилкові і не будуть оновлені а будуть скинуті." #~ msgid "Problem using pynotify." #~ msgstr "Проблема з використанням pynotify." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Не вдалося отримати властивості сервера pynotify." #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Пристрій %(device)s (%(path)s) проігнорований" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Виявлено %(device)s за адресою %(path)s" #~ msgid "Automatically start download is true" #~ msgstr "Автоматичний початок завантаження — так" #~ msgid "Automatically start download is false" #~ msgstr "Автоматичний початок завантаження — ні" #~ msgid "Using manually specified path" #~ msgstr "Використовувати вручну зазначений шлях" #~ msgid "_Download " #~ msgstr "_Завантажити " #~ msgid "_Pause" #~ msgstr "_Пауза" #~ msgid "Preferences were changed." #~ msgstr "Налаштування були змінені." #~ msgid "Goodbye" #~ msgstr "До побачення" #~ msgid "Using" #~ msgstr "Використання" #, python-format #~ msgid "%s is already running" #~ msgstr "%s вже функціонує" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Помилковий ключ параметрів '%(key)s'.\n" #~ "Очікувався один з %(value)s" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Помилкове значення параметра '%(value)s'" #~ msgid "These preferences are not well formed:" #~ msgstr "Ці параметри не дуже добре підібрані:" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Помилка в компоненті дати та часу. Виникає помилкове значення %s" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "помилка генерування назви компонентом %s" #~ msgid " " #~ msgstr " " #~ msgid "Missing Backup Devices" #~ msgstr "Відсутні пристрої резервного копіювання" #~ msgid "Automation" #~ msgstr "Автоматизація" #~ msgid "Automation" #~ msgstr "Автоматизація" #~ msgid "Backup" #~ msgstr "Резервне копіювання" #~ msgid "Backup location:" #~ msgstr "Місце для резервного копіювання:" #~ msgid "Error Log" #~ msgstr "Журнал помилок" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Якщо автоматичне виявлення вимкнено, виберіть точне місце для резервного " #~ "копіювання." #~ msgid "Ignore" #~ msgstr "Ігнорувати" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader — це вільне програмне забезпечення; ви можете " #~ "розповсюджувати його та/або змінювати за умовами ліцензії GNU General Public " #~ "License, як опубліковано Free Software Foundation; або версії 2 цієї " #~ "ліцензії, або (на ваш вибір) пізнішою версією.\n" #~ "\n" #~ "Rapid Photo Downloader розповсюджується з надією, що вона буде корисною, але " #~ "БЕЗ БУДЬ-ЯКОЇ ГАРАНТІЇ; і навіть без гарантії КОМЕРЦІЙНОЇ СПРОМОЖНОСТІ або " #~ "ПРИДАТНОСТІ ДЛЯ ВИЗНАЧЕНОЇ МЕТИ. Детальніше дивіться GNU General Public " #~ "License.\n" #~ "\n" #~ "Ви мали отримати копію GNU General Public License разом з Rapid Photo " #~ "Downloader; якщо ні, напишіть листа за адресою: Free Software Foundation, " #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Report a warning" #~ msgstr "Попередити" #~ msgid "Report an error" #~ msgstr "Попередити про помилку" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "Вкажіть, що робити, якщо немає пристроїв для резервного копіювання." #~ msgid "_Photos" #~ msgstr "Фо_то" #~ msgid "_Thumbnails" #~ msgstr "_МІніатюри" #~ msgid "Error in Image Rename preferences" #~ msgstr "Помилка в налаштуваннях «Перейменування фото»" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Помилка в налаштуваннях «Підтека для завантаження»" #~ msgid "Select an image folder" #~ msgstr "Виберіть теку для фото" #~ msgid "Select a folder in which to backup images" #~ msgstr "Виберіть теку для резервного копіювання фото" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Увага: Не достатньо метаданих для генерування повної назви фото. " #~ "Виберіть інший варіант перейменування." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Увага: Не достатньо метаданих для генерування повної назви підтек. " #~ "Виберіть інший варіант перейменування." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "Налаштування підтеки містили деякі вилучені непотрібні значення." #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Введені параметри підтеки помилкові, тому не можуть бути використані.\n" #~ "Вони будуть скинуті до типових значень." #, python-format #~ msgid "0 of %s images copied" #~ msgstr "Скопійовано 0 з %s фото" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Сканування пристрою завершено: знайдено %(number)s фото на %(device)s" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Сканування пристрою завершено: на %s фото не знайдено" #~ msgid "Image filename could not be generated" #~ msgstr "Не вдалось згенерувати назву файла фото" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Не вдалось правильно згенерувати назву файла фото. Переконайтесь чи " #~ "достатньо метаданих." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Джерело: %(source)s\n" #~ "Адресат: %(destination)s\n" #~ "Проблема: %(problem)s" #~ msgid "Could not open image" #~ msgstr "Не вдалось відкрити фото" #~ msgid "Image has no metadata" #~ msgstr "Фото не містить метаданих" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Метадані потрібні для генерування назв підтек та фото.\n" #~ "Джерело: %s" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Не вдалось правильно згенерувати назву підтеки. Переконайтесь чи достатньо " #~ "метаданих." #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Підтека: %(subfolder)s\n" #~ "Фото: %(image)s\n" #~ "Проблема: %(problem)s" #~ msgid "The image was not copied." #~ msgstr "Фото не скопійоване." #~ msgid "Backup image already exists" #~ msgstr "Резервна копія фото вже наявна" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Не вдалось створити каталог адресата\n" #~ "%(directory)s\n" #~ "Помилка: %(errno)s %(strerror)s" #, python-format #~ msgid "%s images downloaded" #~ msgstr "завантажено %s фото" #, python-format #~ msgid "%s images skipped" #~ msgstr "пропущено %s фото" #~ msgid "No backup device was detected." #~ msgstr "Не виявлено пристрою для резервного копіювання." #~ msgid "This device has no images to download from." #~ msgstr "На пристрої немає фото для завантаження." #~ msgid "Image skipped" #~ msgstr "Фото пропущене" #~ msgid "Image overwritten" #~ msgstr "Фото перезаписане" #~ msgid "Image already exists" #~ msgstr "Фото вже наявне" #~ msgid "Image has no thumbnail" #~ msgstr "Фото не має мініатюри" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "скопійовано %(number)s фото з %(total)s" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Не можна показати мініатюру" #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Чи використовувати цей пристрій або розділ для вивантаження фото?" #~ msgid "images downloaded" #~ msgstr "фото завантажено" #~ msgid "images skipped" #~ msgstr "фото пропущено" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "вивести список розширень файлів зображення, розпізнаних програмою і вийти" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Метаданих підсекунд немає на фото" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s метаданих немає на фото" #~ msgid "extension was specified but image name has no extension" #~ msgstr "розширення зазначено, але у назві фото його немає" #~ msgid "image number was specified but image filename has no number" #~ msgstr "номер фото зазначений, але у назві фото його немає" #~ msgid "Image Devices" #~ msgstr "Пристрої для фото" #~ msgid "Image Name Conflicts" #~ msgstr "Конфлікти назв фото" #~ msgid "Image Rename" #~ msgstr "Перейменування фото" #~ msgid "Example: /home/user/photos" #~ msgstr "Приклад: /home/user/photos" #~ msgid "Download Folder" #~ msgstr "Тека для завантаження" #~ msgid "Image Devices" #~ msgstr "Пристрої для фото" #~ msgid "Image Rename\t" #~ msgstr "Перейменування фото\t" #~ msgid "Automatically detect image devices" #~ msgstr "Автоматично виявляти пристрої для фото" #~ msgid "Backup folder name:" #~ msgstr "Назва теки для резервного копіювання:" #~ msgid "Backup photos when downloading" #~ msgstr "Резервне копіювання фото під час завантаження" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Виберіть, чи пропускати завантаження фото, чи додавати унікальний " #~ "ідентифікатор." #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Download Folder" #~ msgstr "Тека для завантаження" #~ msgid "Exit program after completion of successful download" #~ msgstr "Вийти з програми після вдалого завершення завантаження" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Якщо автоматичне виявлення вимкнено, виберіть точне місце розташування фото." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Якщо автоматичне виявлення портативних пристроїв для зберігання увімкнено, " #~ "вони скануватимуться для пошуку фото. На пристроях великого об’єму це може " #~ "зайняти досить багато часу." #~ msgid "Image Devices" #~ msgstr "Пристрої для фото" #~ msgid "Image Rename" #~ msgstr "Перейменування фото" #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Пристрої для фото — це звідки ви завантажуєте фото: камери, карти пам'яті " #~ "або портативні пристрої для зберігання даних.\n" #~ "\n" #~ "Завантажувати фото можна з кількох пристроїв одночасно.\n" #~ "\n" #~ "Якщо завантаження прямо з камери працює погано або зовсім не працює, " #~ "спробуйте встановити режим PTP. Якщо це неможливо, використовуйте пристрій " #~ "для читання карток." #~ msgid "Image location:" #~ msgstr "Розташування фото:" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Імпортуйте фото ефективно та надійно" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Вкажіть каталог, в якому зберігатимуться резервні копії на пристрої. \n" #~ "\n" #~ "Примітка: це також визначатиме, чи використовується пристрій для " #~ "резервного копіювання, чи ні. Для кожного пристрою, який ви " #~ "використовуватимете, в цьому каталозі створюватиметься тека з відповідною " #~ "назвою." #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Вкажіть, що робити, якщо фото з такою назвою вже завантажено або створена " #~ "його резервна копія." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Вкажіть, чи вилучати з назв фото та тек всі символи, що не дозволені в інших " #~ "операційних системах." #~ msgid "Start downloading upon image device insertion" #~ msgstr "Розпочинати завантаження після під’єднання пристрою" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Від’єднати («витягти») пристрій після завершення завантаження" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Чи слід під час резервного копіювання перезаписати файл, що має однакову " #~ "назву з файлом на пристрої, чи пропустити його?" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Ви можете створювати резервні копії фото в кількох місцях прямо під час " #~ "завантаження, наприклад, на зовнішніх жорстких дисках." rapid-photo-downloader-0.4.10/po/sk.po0000664000175000017500000016623512267511453020014 0ustar damondamon00000000000000# Slovak translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-11-20 13:25-0600\n" "PO-Revision-Date: 2011-11-22 12:38+0000\n" "Last-Translator: Andrej \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-12-28 07:56+0000\n" "X-Generator: Launchpad (build 14560)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:107 rapid/rapid.py:1699 rapid/glade3/rapid.ui.h:14 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:112 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:114 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:117 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:152 msgid "Device" msgstr "Zariadenie" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:170 msgid "Size" msgstr "Veľkosť" #: rapid/rapid.py:173 msgid "Download Progress" msgstr "Priebeh sťahovania" #: rapid/rapid.py:319 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1186 msgid "scanning..." msgstr "skenovanie..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1697 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1701 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1702 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2124 rapid/glade3/rapid.ui.h:5 msgid "Download" msgstr "Stiahnuť" #: rapid/rapid.py:2127 msgid "Pause" msgstr "Pozastaviť" #: rapid/rapid.py:2228 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2231 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2232 msgid "Download cannot proceed" msgstr "Sťahovanie nemôže pokračovať" #: rapid/rapid.py:2559 msgid "About 1 second remaining" msgstr "Zostáva približne 1 sekunda" #: rapid/rapid.py:2561 #, python-format msgid "About %i seconds remaining" msgstr "Zostáva približné %i sekúnd" #: rapid/rapid.py:2563 msgid "About 1 minute remaining" msgstr "Ostáva približne 1 minúta." #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2568 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Ostáva približne %(minutes)i:%(seconds)02i minút." #: rapid/rapid.py:2590 rapid/rpdfile.py:113 msgid "photos and videos" msgstr "fotografie a videá" #: rapid/rapid.py:2592 rapid/rpdfile.py:115 msgid "photos or videos" msgstr "fotografie a videá" #: rapid/rapid.py:2595 rapid/rapid.py:3408 rapid/rpdfile.py:118 msgid "videos" msgstr "videá" #: rapid/rapid.py:2597 rapid/preferencesdialog.py:1617 rapid/rpdfile.py:120 #: rapid/rpdfile.py:254 msgid "video" msgstr "video" #: rapid/rapid.py:2600 rapid/rapid.py:3406 rapid/rpdfile.py:123 msgid "photos" msgstr "fotografie" #. check subfolder preferences for bad values #: rapid/rapid.py:2602 rapid/preferencesdialog.py:1616 rapid/rpdfile.py:125 #: rapid/rpdfile.py:234 msgid "photo" msgstr "fotografia" #: rapid/rapid.py:2629 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s stiahnutých." #: rapid/rapid.py:2633 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s sa nepodarilo stiahnuť." #: rapid/rapid.py:2636 rapid/rapid.py:2688 msgid "warnings" msgstr "varovania" #: rapid/rapid.py:2645 msgid "All downloads complete" msgstr "Všetka sťahovania bola dokončená" #: rapid/rapid.py:2651 rapid/rapid.py:2660 rapid/rapid.py:2669 #: rapid/rapid.py:2678 rapid/rapid.py:2686 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2653 rapid/rapid.py:2671 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s stiahnutých." #: rapid/rapid.py:2662 rapid/rapid.py:2680 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s failed to download" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2719 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2726 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3072 msgid "From" msgstr "" #: rapid/rapid.py:3080 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3084 rapid/preferencesdialog.py:1324 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/rapid.py:3125 msgid "Copy" msgstr "Kopírovať" #: rapid/rapid.py:3138 msgid "Move" msgstr "Presunúť" #: rapid/rapid.py:3160 msgid "To" msgstr "Do" #: rapid/rapid.py:3167 rapid/rapid.py:3796 msgid "Photos:" msgstr "Fotky:" #: rapid/rapid.py:3170 rapid/preferencesdialog.py:1161 msgid "Select a folder to download photos to" msgstr "Vyberte zložku do ktorej majú byť obrázky stiahnuté" #: rapid/rapid.py:3182 rapid/rapid.py:3796 msgid "Videos:" msgstr "Videá:" #: rapid/rapid.py:3184 rapid/preferencesdialog.py:1179 msgid "Select a folder to download videos to" msgstr "Vyberte priečinok pre stiahnuté videá" #: rapid/rapid.py:3376 msgid "and" msgstr "a" #: rapid/rapid.py:3381 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3383 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3385 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3412 msgid "Free space:" msgstr "Voľné miesto:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3424 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3428 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3433 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3438 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3444 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3452 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3455 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3458 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3465 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3494 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3613 rapid/rpdfile.py:235 msgid "Photo" msgstr "Fotografia" #: rapid/rapid.py:3615 rapid/rpdfile.py:255 msgid "Video" msgstr "Video" #: rapid/rapid.py:3624 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3626 rapid/rapid.py:3640 rapid/rapid.py:3653 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3638 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3651 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:3729 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3777 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:3778 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:3779 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3781 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:3783 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:3801 #, python-format msgid "and %s" msgstr "a %s" #: rapid/rapid.py:3809 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:142 rapid/backupfile.py:165 msgid "Backing up error" msgstr "Chyba zálohovanie" #: rapid/backupfile.py:144 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:146 rapid/backupfile.py:167 rapid/subfolderfile.py:196 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Zdroj: %(source)s\n" "Destinácia: %(destination)s" #: rapid/backupfile.py:149 rapid/backupfile.py:169 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/copyfiles.py:159 rapid/subfolderfile.py:211 #: rapid/subfolderfile.py:352 rapid/subfolderfile.py:370 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/device.py:79 msgid "Device Detected" msgstr "Zariadenie detekované" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:88 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:107 msgid "_Remember this choice" msgstr "_Zapamatovať si túto voľbu" #: rapid/downloadtracker.py:298 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:150 msgid "Date time" msgstr "Dátum a čas" #: rapid/generatenameconfig.py:151 msgid "Text" msgstr "Text" #: rapid/generatenameconfig.py:152 msgid "Filename" msgstr "Názov súboru" #: rapid/generatenameconfig.py:153 msgid "Metadata" msgstr "Metadáta" #: rapid/generatenameconfig.py:154 msgid "Sequences" msgstr "Sekvencie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:156 rapid/preferencesdialog.py:574 msgid "Job code" msgstr "Pracovný kód" #: rapid/generatenameconfig.py:157 msgid "Image date" msgstr "Dátum obrázku" #: rapid/generatenameconfig.py:158 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:159 msgid "Today" msgstr "Dnes" #: rapid/generatenameconfig.py:160 msgid "Yesterday" msgstr "Včera" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:162 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:164 msgid "Name + extension" msgstr "Názov + koncovka" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:166 msgid "Name" msgstr "Názov" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:168 msgid "Extension" msgstr "Koncovka" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:170 msgid "Image number" msgstr "Číslo obrázka" #: rapid/generatenameconfig.py:171 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:173 msgid "Aperture" msgstr "Clona" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:175 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:177 msgid "Exposure time" msgstr "Čas expozície" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:179 msgid "Focal length" msgstr "Ohnisková vzdialenosť" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:181 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:183 msgid "Camera model" msgstr "Model kamery" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:185 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:187 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:189 msgid "Serial number" msgstr "Sériové číslo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:191 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:193 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:195 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:197 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:199 msgid "Owner name" msgstr "Meno vlastníka" #: rapid/generatenameconfig.py:200 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:201 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:203 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:204 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:208 msgid "Downloads today" msgstr "Dnešné stiahnutie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:210 msgid "Session number" msgstr "Číslo relácie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:212 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:214 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:216 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:218 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:220 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:222 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:224 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:226 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:228 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:230 msgid "UPPERCASE" msgstr "VEĽKÉ PÍSMENÁ" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:232 msgid "lowercase" msgstr "malé písmená" #: rapid/generatenameconfig.py:233 msgid "One digit" msgstr "Jedna číslica" #: rapid/generatenameconfig.py:234 msgid "Two digits" msgstr "Dve číslice" #: rapid/generatenameconfig.py:235 msgid "Three digits" msgstr "Tri číslice" #: rapid/generatenameconfig.py:236 msgid "Four digits" msgstr "Štyri číslice" #: rapid/generatenameconfig.py:237 msgid "Five digits" msgstr "Päť číslic" #: rapid/generatenameconfig.py:238 msgid "Six digits" msgstr "Šesť číslic" #: rapid/generatenameconfig.py:239 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:241 msgid "Subseconds" msgstr "Subsekundy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:243 msgid "YYYYMMDD" msgstr "RRRRMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:245 msgid "YYYY-MM-DD" msgstr "RRRR-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:247 msgid "YYMMDD" msgstr "RRMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:249 msgid "YY-MM-DD" msgstr "RR-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:251 msgid "MMDDYYYY" msgstr "MMDDRRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:253 msgid "MMDDYY" msgstr "MMDDRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:255 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:257 msgid "DDMMYYYY" msgstr "DDMMRRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:259 msgid "DDMMYY" msgstr "DDMMRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:261 msgid "YYYY" msgstr "RRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:263 msgid "YY" msgstr "RR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:265 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:267 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:269 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:271 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:273 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:275 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:277 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:279 msgid "MM (minutes)" msgstr "MM (minúty)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:281 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:371 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:373 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:377 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:436 rapid/preferencesdialog.py:697 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:437 rapid/preferencesdialog.py:714 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:443 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:444 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:450 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:451 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:462 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:642 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:663 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:680 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:739 msgid "Enter a Job Code" msgstr "Vložte pracovný kód" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:755 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:763 msgid "Job Code:" msgstr "Pracovný kód:" #: rapid/preferencesdialog.py:819 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:831 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:836 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1079 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1350 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1458 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1509 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1512 #, python-format msgid "Example: %s" msgstr "Príklad: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1602 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1747 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1749 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1750 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1931 msgid "externaldrive1" msgstr "externýdisk1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1933 msgid "externaldrive2" msgstr "externýdisk2" #: rapid/prefsrapid.py:126 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:127 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:127 msgid "Prague" msgstr "Praha" #: rapid/prefsrapid.py:127 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:127 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:128 msgid "Tehran" msgstr "Teherán" #: rapid/prefsrapid.py:128 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:128 msgid "Paris" msgstr "Paríž" #: rapid/prefsrapid.py:128 msgid "Berlin" msgstr "Berlín" #: rapid/prefsrapid.py:128 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:129 msgid "Budapest" msgstr "Budapešť" #: rapid/prefsrapid.py:129 msgid "Rome" msgstr "Rím" #: rapid/prefsrapid.py:129 msgid "Moscow" msgstr "Moskva" #: rapid/prefsrapid.py:129 msgid "Delhi" msgstr "Dillí" #: rapid/prefsrapid.py:129 msgid "Warsaw" msgstr "Varšava" #: rapid/prefsrapid.py:130 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:130 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:130 msgid "Stockholm" msgstr "Štokholm" #. components #: rapid/problemnotification.py:26 rapid/subfolderfile.py:363 msgid "subfolder" msgstr "podpriečinok" #: rapid/problemnotification.py:27 rapid/subfolderfile.py:361 msgid "filename" msgstr "názov súboru" #: rapid/problemnotification.py:80 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:81 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:83 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:84 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:86 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:88 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:90 rapid/problemnotification.py:91 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:93 rapid/problemnotification.py:94 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:97 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:102 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:103 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:107 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:108 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:109 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:201 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:204 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:223 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:225 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:227 rapid/problemnotification.py:288 #: rapid/problemnotification.py:300 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:228 rapid/problemnotification.py:289 #: rapid/problemnotification.py:301 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:240 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:257 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:259 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:261 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:265 rapid/problemnotification.py:313 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:267 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:271 rapid/problemnotification.py:315 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:276 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:284 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:286 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:309 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:311 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:322 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:330 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:332 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:341 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:343 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:346 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:363 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:365 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:368 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:370 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:379 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:381 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:401 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:403 rapid/subfolderfile.py:230 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Fotografie detekované s rovnakým názvom, ale urobené v rozličný čas" #: rapid/problemnotification.py:409 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:410 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:412 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:413 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:416 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:139 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/subfolderfile.py:79 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:300 msgid "Photo has already been downloaded" msgstr "Fotografie už boli stiahnuté" #: rapid/subfolderfile.py:301 #, python-format msgid "Source: %(source)s" msgstr "Zdroj: %(source)s" #: rapid/subfolderfile.py:359 msgid "subfolder and filename" msgstr "podpriečinok a meno súboru" #: rapid/subfolderfile.py:397 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:398 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:6 msgid "Download / Pause" msgstr "Stiahnutie / Pauza" #: rapid/glade3/rapid.ui.h:7 msgid "Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:15 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Clear Completed Downloads" msgstr "_Vyčistit kompletné sťahovanie" #: rapid/glade3/rapid.ui.h:23 msgid "_Download" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "_Error Log" msgstr "_Záznam chyb" #: rapid/glade3/rapid.ui.h:25 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Nápoveda" #: rapid/glade3/rapid.ui.h:27 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Make a Donation..." msgstr "_Dejte príspevok ..." #: rapid/glade3/rapid.ui.h:29 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:30 msgid "_Translate this Application..." msgstr "_Přeložit túto aplikáciu ..." #: rapid/glade3/rapid.ui.h:31 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:32 msgid "_View" msgstr "_Zobraziť" #: rapid/glade3/prefs.ui.h:1 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:2 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:3 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:4 msgid "Backup" msgstr "Záloha" #: rapid/glade3/prefs.ui.h:5 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilita s inými operačnými systémami" #: rapid/glade3/prefs.ui.h:6 msgid "Download Folder" msgstr "Zložka sťahovanie" #: rapid/glade3/prefs.ui.h:7 msgid "Download Subfolders" msgstr "Podzložky sťahovanie" #: rapid/glade3/prefs.ui.h:8 msgid "Example" msgstr "Príklad" #: rapid/glade3/prefs.ui.h:9 msgid "Job Codes" msgstr "Pracovné kódy" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "Program Automation" msgstr "Automatizácia programu" #: rapid/glade3/prefs.ui.h:13 msgid "Sequence Numbers" msgstr "Sekvenčná čísla" #: rapid/glade3/prefs.ui.h:14 msgid "/media/externaldrive/Photos" msgstr "/media/externaldrive/Photos" #: rapid/glade3/prefs.ui.h:15 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Example:" msgstr "Príklad:" #: rapid/glade3/prefs.ui.h:17 msgid "New:" msgstr "Nový:" #: rapid/glade3/prefs.ui.h:18 msgid "Original:" msgstr "Originálný:" #: rapid/glade3/prefs.ui.h:19 msgid "Backup\t" msgstr "Záloha\t" #: rapid/glade3/prefs.ui.h:20 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Error Handling" msgstr "Obsluha chýb" #: rapid/glade3/prefs.ui.h:23 msgid "Job Codes" msgstr "Pracovné kódy" #: rapid/glade3/prefs.ui.h:24 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Rename Options" msgstr "Možnosti premenovanie" #: rapid/glade3/prefs.ui.h:28 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Add unique identifier" msgstr "Pridať unikátny identifikátor" #: rapid/glade3/prefs.ui.h:31 msgid "Automatically detect Portable Storage Devices" msgstr "Automatická detekcia vreckových pamäťových zariadení" #: rapid/glade3/prefs.ui.h:32 msgid "Automatically detect backup devices" msgstr "Automatická detekcia zálohovacích zariadení" #: rapid/glade3/prefs.ui.h:33 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Backup" msgstr "Záloha" #: rapid/glade3/prefs.ui.h:36 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:38 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:47 msgid "Download folder:" msgstr "Adresár pre stahované súbory:" #: rapid/glade3/prefs.ui.h:48 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Error Handling" msgstr "Obsluha chýb" #: rapid/glade3/prefs.ui.h:50 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:51 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:52 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "Job Codes" msgstr "Pracovné kódy" #: rapid/glade3/prefs.ui.h:60 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Overwrite" msgstr "Prapísať" #: rapid/glade3/prefs.ui.h:63 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "Preferences: Rapid Photo Downloader" msgstr "Nastavenie: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:70 msgid "R_emove All" msgstr "O_dstrániť všetko" #: rapid/glade3/prefs.ui.h:72 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Rename Options" msgstr "Nastavenie premenovanie" #: rapid/glade3/prefs.ui.h:76 msgid "Skip" msgstr "Preskočiť" #: rapid/glade3/prefs.ui.h:77 msgid "Skip download" msgstr "Vynechať sťahovanie" #: rapid/glade3/prefs.ui.h:78 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Start downloading at program startup" msgstr "Štart sťahovania pri štarte programu" #: rapid/glade3/prefs.ui.h:86 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Stored number:" msgstr "Skladované číslo:" #: rapid/glade3/prefs.ui.h:88 msgid "Strip incompatible characters" msgstr "Odstrániť nekompatibilné znaky" #: rapid/glade3/prefs.ui.h:89 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "_Add..." msgstr "_Pridať..." #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" #~ msgid " " #~ msgstr " " #~ msgid "Resetting value to zero.\n" #~ msgstr "Resetovanie hodnoty na nulu.\n" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 z %s obrázkov skopírované" #, python-format #~ msgid "Source: %s" #~ msgstr "Zdroj: %s" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s obrázkov preskočených" #~ msgid "errors" #~ msgstr "chyby" #~ msgid "The image was not copied." #~ msgstr "Obrázky neboli okopírované." #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s obrázkov stiahnutých" #~ msgid "Image overwritten" #~ msgstr "Obrázok prepísaný" #~ msgid "Image skipped" #~ msgstr "Obrázok preskočený" #~ msgid "Warning:" #~ msgstr "Varovanie:" #~ msgid "Select an image folder" #~ msgstr "Vyberte zložku obrázkov" #~ msgid "Could not open image" #~ msgstr "Nemožno otvoriť obrázok" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Destinácia: %(destination)s\n" #~ "Chyba: %(errno)s %(strerror)s" #~ msgid "Problem using pynotify." #~ msgstr "Problém používania pynotify." #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Dnešná hodnota sťahovanie je invalidní.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Resetovanie do polnoci.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Hodnota nastavenia 'Začiatok dňa' je poškodená.\n" #~ msgid "Image has no metadata" #~ msgstr "Obrázok nemá metadáta." #~ msgid "_Photos" #~ msgstr "_Fotografie" #~ msgid "_Get Help Online..." #~ msgstr "_Nápoveda online..." #~ msgid "Error in Image Rename preferences" #~ msgstr "Chyba v nastavení premenovávanie obrázkov." #~ msgid "_Thumbnails" #~ msgstr "_Miniatúry" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Prepáčte, v nastavení je chyba:\n" #~ msgid "Resetting to default values." #~ msgstr "Resetovanie na výchozí hodnoty." #~ msgid "There is an error in the program preferences." #~ msgstr "Vyskytla sa chyba v nastavenie programu." #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Chyba v nastavenie sťahovacie podzložky" #~ msgid "Select a folder in which to backup images" #~ msgstr "Vyberte zložku do ktorej má byť uložená záloha obrázkov" #~ msgid "_Report a Problem..." #~ msgstr "_Ohlásiť problém" #~ msgid "Missing Backup Devices" #~ msgstr "Chýbajúce zálohovacie zariadenia" #~ msgid "Image Rename" #~ msgstr "Premenovanie obrázka" #~ msgid "Image Name Conflicts" #~ msgstr "Konflikt mien obrázkov" #~ msgid "Image Devices" #~ msgstr "Obrázková zariadení" #~ msgid "Automation" #~ msgstr "Automatizácia" #~ msgid "Example: /home/user/photos" #~ msgstr "Príklad: /home/user/photos" #~ msgid "Download Folder" #~ msgstr "Zložka sťahovanie" #~ msgid "Image Devices" #~ msgstr "Obrázková zariadenia" #~ msgid "Automation" #~ msgstr "Automatizácia" #~ msgid "Image Rename\t" #~ msgstr "Premenovanie obrázka\t" #~ msgid "Backup location:" #~ msgstr "Umiestnenie zálohy:" #~ msgid "_Download " #~ msgstr "_Stiahnutie " #~ msgid "_Pause" #~ msgstr "_Pauza" #~ msgid "Preferences were changed." #~ msgstr "Nastavenie zmenené." #~ msgid "Using" #~ msgstr "Používanie" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Prosím skontrolujte nastavenia, reštartujte program a skúste to znova." #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "Nový deň začal - resetovanie 'Dnešná sťahovania' sekvenčné číslo" #~ msgid "Image has no thumbnail" #~ msgstr "Obrázok nemá náhľad" #~ msgid "Image already exists" #~ msgstr "Obrázok neexistuje" #~ msgid "Backup image already exists" #~ msgstr "Záloha obrázku neexistuje" #~ msgid "Report an error" #~ msgstr "Ohlásenie chyby" #~ msgid "Report a warning" #~ msgstr "Ohlásenie varovanie" #~ msgid "Image location:" #~ msgstr "Umiestnenie obrázka:" #~ msgid "Ignore" #~ msgstr "Ignorovať" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Error Log" #~ msgstr "Správa o chybách" #~ msgid "Download Folder" #~ msgstr "Sťahovacie zložka" #~ msgid "Goodbye" #~ msgstr "Hezký den" #~ msgid "Preferences were modified." #~ msgstr "Nastavenie bolo upravené." #~ msgid "images skipped" #~ msgstr "obrázky preskočené" #~ msgid "images downloaded" #~ msgstr "obrázky stiahnuté" #~ msgid "Image Rename" #~ msgstr "Premenovanie obrázkov" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Niektoré hodnoty v nastavení podzložky sú nepodstatné a preto boli zmazané." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Varovanie: Existujú dostatočná metadáta obrázka. S ich pomocou je " #~ "možné vygenerovať názov. Ak chcete obrázok premenovať použite nastavenia " #~ "premenovanie." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Varovanie: Existujú dostatočné metadáta obrázku pre vygenerovanie " #~ "podzložiek. Ak chcete podzložky premenovať použite nastavenia mien." #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Špecifikujte zložku, v ktorej sú uložené zálohy v zariadení.\n" #~ "\n" #~ "Poznámka: tento údaj bude tiež použitý pre určenie, či je zariadenie " #~ "používané na zálohovanie. Ak chcete použiť iné zariadenia pre zálohovanie, " #~ "vytvorte v ňom priečinok s týmto názvom." #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importujte svoje obrázky efektívne a spoľahlive" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader je otvorený softvér; môžete ho šíriť a / alebo " #~ "modifikovať za podmienok GNU General Public License publikovanej Free " #~ "Software Foundation; vo verzii 2, alebo (podľa vašich nárokov) v inej novšie " #~ "verzi.\n" #~ "\n" #~ "Rapid Photo Downloader je distribuovaný v nádeji že bude používaný, ale BEZ " #~ "AKEJKOĽVEK ZÁRUKY; neposkytujú sa ani odvodené záruky OBCHODOVATEĽNOSTI " #~ "alebo VHODNOSTI PRE KONKRÉTNY ÚČEL. Pozrite GNU General Public License pre " #~ "viac detailov.\n" #~ "\n" #~ "Mali by ste dostať kópiu GNU General Public Licence spolu s Rapid Photo " #~ "Downloader. Ak ju neobržíte napíšte na: Free Software Foundation, Inc, 51 " #~ "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Start downloading upon image device insertion" #~ msgstr "Štart sťahovanie po vložení obrázkového zariadenia" #~ msgid "Image Devices" #~ msgstr "Obrázková zariadenia" #~ msgid "Exit program after completion of successful download" #~ msgstr "Ukončiť program po ukončení úspešného stiahnutie" #~ msgid "Image filename could not be generated" #~ msgstr "Názov obrázku nemohol byť vygenerovaný" #~ msgid "The device can now be safely removed" #~ msgstr "Zariadenie teraz nemôže byť bezpečne vymazané" #~ msgid "This device has no images to download from." #~ msgstr "Zariadenie nemá žiadne obrázky na stiahnutie." #, python-format #~ msgid "Download has started from %s" #~ msgstr "Sťahovanie z %s začalo" #~ msgid "Download copying error" #~ msgstr "Chyba kopírovanie sťahovanie" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Sťahovanie z %s dokončené" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Vložené nastavenie podzložky je invalidné a nemožno použiť.\n" #~ "Bolo teda resetované na predvolené hodnoty." #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Sken zariadenia kompletný: nájdených %(number)s obrázkov na %(device)s" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Náhľad nemôže byť zobrazený" #~ msgid "Starting downloads" #~ msgstr "Sťahovanie začína" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Destinácia: %(destination)s\n" #~ "Problém: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Problém: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Destinácia: %(destination)s\n" #~ "Chyba: %(errorno)s %(strerror)s" #~ msgid "Job Code entered" #~ msgstr "Pracovný kód bol vložen" #~ msgid "Job Code not entered" #~ msgstr "Pracovný kód nebol vložen" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Zariadenia %(device)s (%(path)s) bolo ignorované" #, python-format #~ msgid "%s is already running" #~ msgstr "%s nie je pripravené na používanie" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Prehľadávanie zariadenia kompletné: nenájdené žiadne obrázky na %s" #~ msgid "Backup device missing" #~ msgstr "Chýba záložné zariadenie" #~ msgid "No backup device was detected." #~ msgstr "Nebolo detekované žiadne záložné zariadenie." #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s z %(total)s obrázkov skopírovaných" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Unikátna značka '%s' pridaná" #~ msgid "Some preferences will be reset." #~ msgstr "Niektoré nastavenia budú resetované." rapid-photo-downloader-0.4.10/po/nb.po0000644000175000017500000016455112270217617017772 0ustar damondamon00000000000000# Norwegian Bokmal translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Enhet" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Størrelse" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Status for nedlasting" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s ble ikke utløst" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "søker..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "rotmappen til filsystemet" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Laster ned fra %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Vil du virkelig laste ned fra denne posisjonen ? På noen system kan det ta " "lang tid å søke igjennom filene." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Last ned" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pause" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Følgende mapper er ugyldige:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Denne mappen for nedlasting er ugyldig:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Kan ikke fortsette nedlasting" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "bilder" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "videoklipp" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Rundt 1 sekund igjen" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Omtrent %i sekunder igjen" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Rundt 1 minutt igjen" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Omtrent %(minutes)i minutter og %(seconds)02i sekunder igjen" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "bilder og videoer" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "bilder eller video" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "bilde" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s nedlastet" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "Klarte ikke a laste ned %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "advarsler" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Ferdig med nedlasting" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s lastet ned" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "Klarte ikke å laste ned %(filetype)s" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s av %(total)s %(filetypes)s (%(remaining)s igjen)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s av %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Fra" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Oppdag automatisk" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Velg katalog med %(file_types)r" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Kopier" #: rapid/rapid.py:3397 msgid "Move" msgstr "Flytt" #: rapid/rapid.py:3419 msgid "To" msgstr "Til" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Bilder:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Velg katalog for å laste inn bilder" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Videoer:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Velg katalog for å laste inn video" #: rapid/rapid.py:3650 msgid "and" msgstr "og" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Bruker sikkerhetskopierings enheter" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Bruker sikkerhetskopierings enhet" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Fant ingen enheter for sikkerhetskopiering" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Ledig plass:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s tilgjengelig" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Sikkerhetskopierer bilder og video til %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Sikkerhetskopierer til %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Sikkerhetskopierer bilder til %(path)s og video til %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Programinnstillingene er ugyldige" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Bilde" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "Nedlastningsmappe til %(file_type)s finnes ikke" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Mappe: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "Nedlastingsmappe til %(file_type)s er ugyldig" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "Nedlastingsmappen til %(file_type)s er ikke skrivbar" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniatyrbilder" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "vis programinformasjon på kommandolinjen når programmet kjører (standard: " "%default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "vis feilrettingsinformasjon ved kjøring fra kommandolinje" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "vis bare feil på kommandolinjen" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "vis hvilke bilde- og videofiltyper programmet gjenkjenner, og avslutt" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "nullstill alle programinnstillinger og avslutt" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "og %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Alle innstillingene er nullstillte" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Feil ved sikkerhetskopiering" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Klarte ikke å opprette målmappen %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Kilde: %(source)s\n" "Mål: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Feil: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Fil: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Enhet funnet" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Skal denne enheten eller partisjon brukes til å laste ned bilder eller " "videoer fra?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Husk dette valget" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Dato tid" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Tekst" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Filnavn" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sekvenser" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Jobbnavn" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Bilde dato" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Video dato" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "I dag" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "I går" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Nedlastings dato" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Navn + filtype" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Filnavn" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Filtype" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Bilde nummer" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Video nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Blender" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Eksponeringstid" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Brennvidde" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Kamera produsent" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Kamera modell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Forkortet kamera modell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Forkortet kamera modell med prefiks" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Serie nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Eksponerings teller" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Fil nummer" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Bare mappe" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Mappe og fil" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Eier navn" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Kodek" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Bredde" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Høyde" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Lengde" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Bilder i sekundet" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Kunstner" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Opphavsrettighet" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Nedlastet i dag" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Økt nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Undermappe nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Antall lagrede" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Sekvensbokstav" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Alle tall" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Siste tall" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Siste 2 tall" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Siste 3 tall" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Siste 4 tall" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "STORE BOKSTAVER" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "små bokstaver" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Ett tall" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "To tall" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tre tall" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Fire tall" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Fem Tall" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Seks tall" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Syv tall" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Delsekund" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ÅÅÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ÅÅÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "YYYY" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "YY" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Måned (full)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Måned (kort)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "TTMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "TTMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "TT-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "TT-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutter)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Egenskaper for undermappen kan ikke begynne med %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Egenskapene for undermappen kan ikke slutte med %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Egenskaper for undermappen skal ikke ha to %s etter hverandre" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Fjern alle jobb koder?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Skal alle jobb koder fjernes?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Fjern alle huskede stier?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Skal alle huskede stier fjernes?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Fjern alle undertrykte filbaner?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Skal alle undertrykte stier fjernes?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Feil i innstillingene til nytt bildenavn" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Feil i innstillingene til nytt videonavn" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Feil i innstillingene til undermappene for bildenedlasting" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Feil i innstillingene til undermappene for videonedlasting" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Skriv inn ett jobbnavn" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Skriv inn ett jobbnavn, eller velg ett tidligere ett" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Skriv inn ett nytt jobbnavn" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Jobbnavn" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "Oppgi en filsti som det ikke vil letes etter bilder eller video" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Filbane:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Jobbnavn" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Velg en mappe for sikkerhetskopiering av bilder" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Velg en mappe for sikkerhetskopiering av video" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Advarsel: Det er ikke nok metadata til å generere navnet fullt ut. " "Bruk andre alternativer for omdøping av navn." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Advarsel: Det er ikke nok metadata til å generere undermapper. " "Bruk andre alternativer for omdøping av undermapper." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Eksempel: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Innstillingene til %(filetype)s undermappe er ugyldige og kan ikke brukes.\n" "De vil bli satt tilbake til standard verdier." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "De følgende regulære uttrykkene er ugyldige, og vil bli fjernet om du ikke " "endrer dem:\n" "%s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Dette regulære uttrykket er ugyldig, og vil bli fjernet om du ikke retter " "det:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Ugyldig regulært uttrykk" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "eksterndisk1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "eksterndisk2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praha" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskva" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Warszawa" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "undermappe" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "filnavn" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Dato tidsverdien %s fremstår som ugyldig." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Filnavnet mangler filending." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Filnavnet mangler nummerdelen." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Feil ved oppretting av %s-komponenten." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s metadata kan ikke leses" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s kunne ikke opprettes" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "En feil oppstod ved kopiering av %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s finnes allerede" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s ble tatt den %(image1_date)s klokken %(image1_time)s, og " "%(image2)s den %(image2_date)s klokken %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s er allerede lastet ned" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Mangler data for å navngi %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Feil: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Metadataen kan være korrupt." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Det ble sikkerhetskopiert til %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Det ble sikkerhetskopiert til disse enhetene: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s og %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Bilder funnet med samme filnavn, men tatt ved forskjellige tidspunkt: " "%(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "En feil oppstod ved sikkerhetskopiering til %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "En feil oppstod ved sikkerhetskopiering til %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Flere feil oppstod ved sikkerhetskopiering til følgende enheter: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s og %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s og %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Sikkerhetskopi finnes allerede på %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Sikkerhetskopier finnes allerede i disse plasseringene: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Sikkerhetskopi overskrevet på %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Sikkerhetskopier overskrevet på disse enhetene: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "En feil oppstod ved oppretting av mapper på %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Flere feil oppstod ved oppretting av mapper på følgende enheter for " "sikkerhetskopi: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s i tillegg, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Dessuten, var det %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Dessuten, var det ett %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "%(type)s metadata mangler." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Følgende metadata mangler: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s og %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Flere problemer ved oppretting av undermapper og filnavn" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problem ved oppretting av undermappe og filnavn" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemer ved oppretting av %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problem ved oppretting av %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s finnes allerede, men den ble sikkerhetskopiert" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "En feil oppstod ved kopiering av %(filetype)s, men den ble sikkerhetskopiert" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Flere feil oppstod" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Bilder funnet med samme filnavn, men tatt ved forskjellige tidspunkt" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "det oppstod flere feil ved sikkerhetskopieringen" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Det oppstod flere feil ved sikkerhetskopieringen" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "det oppstod en feil ved sikkerhetskopieringen" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Det oppstod en feil under sikkerhetskopieringen" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, og %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "undermappe og filnavn" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Bildet er allerede lastet ned" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Kilde: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Klarte ikke å opprette undermappe for nedlasting" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Filbane: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Merk alle" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Gi en donasjon..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Fjern all markering" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Fil" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Last ned / Pause" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Velg" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Velg alle _uten jobbnavn" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Vis" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Feillogg" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Fjern fullførte nedlastinger" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Forrige fil" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Neste fil" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Hjelp" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Oversett dette programmet..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Inkluder i nedlasting" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Last ned" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Innstillinger: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "Bildenedlastingsmapper" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Eksempel: /home/user/Pictures" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Nedlastingsundermapper" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Nedlastingsmappe:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Velg en mappe for nedlasting. Undermapper for bildene vil automatisk bli " "opprettet i denne mappen etter de valg du har gjort for " "nedlastingsundermapper." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Nedlastingsmappe" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Foto mapper" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Gi nytt bildenavn\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Gi nytt bildenavn" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Ny:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Eksempel" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Gi nytt bildenavn" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Videonedlastingsmapper" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Beklager, funksjon for nedlasting av video deaktivert. For å laste ned " "video, vær vennlig å installer enten hachoir metadata og kaa " "metadata programpakkene for python, eller exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Velg en mappe for nedlasting. Undermapper for videoene vil automatisk bli " "opprettet i denne mappen etter de valg du har gjort for " "nedlastingsundermapper." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Videomapper" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Gi nytt videonavn\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Gi nytt videonavn" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" "Alternativer for å gi nytt navn" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Sekvensnummre" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Angi tiden i 24-timers format der hvor Nedlastinger idag " "sekvensnummeret skal nullstilles" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Dag begynner:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Nedlastinger idag:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Lagret antall:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " tt:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Synkroniser RAW + JPEG sekvensnumre" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilitet med andre operativsystem" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Fjern inkompatible tegn" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Alternativer for gi nytt navn" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Jobbnavn" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Jobbnavn" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Legg til..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "_Fjern alle" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Jobbnavn" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Enheter" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Enheter" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Oppdag flyttbare lagringsenheter automatisk" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Oppdag enheter automatisk" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Sted:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Om du skrur av automatisk oppdaging, velg eksakt plassering der bildene og " "video er." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Enhetsalternativer" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Huskede filbaner" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Undertrykte filbaner" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "_Fjern alle" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Bruk _python sine regulære uttrykk" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Enhetsalternativer" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Sikkerhetskopi\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Sikkerhetskopi" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Oppdag enheter for sikkerhetskopiering automatisk" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Ta sikkerhetskopi av bilder og video ved nedlasting" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Eksempel:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/eksterndisk/Bilder" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Mappenavn for sikkerhetskopiering av video:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Diverse" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatisering" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Avslutt programmet når nedlastingen er ferdig" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Avslutt programmet selv om nedlastingen hadde feil eller advarsler" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Rotèr JPEG-bilder automatisk" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Ytelse" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Lag miniatyrbilder (tregere)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Diverse" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Feilhåndtering" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Bilde og video navnekonflikter" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Legg til unik identifikator" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Hopp over nedlasting" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Velg om du skal hoppe over filen eller legge til en unik identifikator når " "ett bilde eller video med det samme navnet er lastet ned fra før." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Under sikkerhetskopiering, velg om du vil overskrive eller hoppe over filer " "med samme navn på sikkerhetskopierings enheten." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Skriv over" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Hopp over" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Feilhåndtering" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importer dine bilder og videoer effektivt og pålitelig" #~ msgid "Resetting value to zero.\n" #~ msgstr "Nullstiller verdien.\n" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Ugyldig verdi for Nedlastinger idag.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Nullstiller verdien til midnatt.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Beklager,innstillingene inneholder en feil:\n" #~ msgid "Resetting to default values." #~ msgstr "Nullstiller til standardverdier." #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s avvist som en nedlastings enhet" #~ msgid "This device or partition will never be used to download from" #~ msgstr "" #~ "Denne enheten eller partisjonen vil aldri bli brukt til å laste ned fra" #~ msgid "Backup" #~ msgstr "Sikkerhetskopi" rapid-photo-downloader-0.4.10/po/es.po0000644000175000017500000024727712270217622020005 0ustar damondamon00000000000000# Spanish translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-23 03:30+0000\n" "Last-Translator: Adolfo Jayme \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" "Language: es\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Dispositivo" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Tamaño" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Progreso de la descarga" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s no se desmontó" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "analizando…" #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "la raíz del sistema de archivos" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Descargando desde %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "¿Quiere realmente descargar desde aquí? En algunos sistemas, analizar esta " "ubicación puede tardar mucho tiempo." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Descargar" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pausar" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Las carpetas de descarga no son válidas:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Esta carpeta de descarga no es válida:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "No se puede iniciar la descarga" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "Ningún dispositivo de respaldo contiene una carpeta válida para respaldar " "%(filetype)s" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotos" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "vídeos" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "Problema de respaldo" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Queda aproximadamente 1 segundo" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Quedan aproximadamente %i segundos" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Queda aproximadamente 1 minuto" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Quedan aproximadamente %(minutes)i:%(seconds)02i minutos" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fotos y vídeos" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fotos o vídeos" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "vídeo" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "foto" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s descargados" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "No se pudieron descargar %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avisos" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Todas las descargas completadas" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s descargados" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "No se pudieron descargar %(filetype)s" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s de %(total)s %(filetypes)s (%(remaining)s restantes)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s de %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Desde" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Detectar automáticamente" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Elija un directorio que contenga %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Copiar" #: rapid/rapid.py:3397 msgid "Move" msgstr "Mover" #: rapid/rapid.py:3419 msgid "To" msgstr "A" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fotos:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Elija una carpeta donde descargar las fotos" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Vídeos:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Elija una carpeta donde descargar los vídeos" #: rapid/rapid.py:3650 msgid "and" msgstr "y" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Usando dispositivos de copia de seguridad" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Usando dispositivo de copia de seguridad" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "No se detectaron dispositivos de copia de seguridad" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Espacio libre:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s disponible" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Respaldando fotos y vídeos en %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Respaldando en %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Respaldando fotos en %(path)s y vídeos en %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Las preferencias del programa no son válidas" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Foto" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Vídeo" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s directorio de descarga no existe" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Carpeta: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s directorio de descarga es incorrecto" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s imposible escribir en directorio de descarga" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniaturas" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "mostrar información del programa en la línea de órdenes mientras se ejecuta " "el programa (predet.: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "mostrar información de depuración cuando se ejecute desde la línea de órdenes" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "solo errores de salida en la línea de órdenes" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "listar las extensiones de archivo para fotos y vídeos que el programa " "reconoce y salir" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "detectar automáticamente los dispositivos de los cuales descargarr, " "sobreescribiendo las preferencias existentes del programa" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "especificar manualmente de que dispositivos descargar, sobreescribiendo las " "preferencias existentes del programa" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" "Restablecer todas las configuraciones y preferencias del programa y salir" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Error: especificar autodeteccion del dispositivo o eleccion manual de " "dispositivo desde donde descargar, pero no ambas." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "y %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Todas las opciones y preferencias se han reestablecido" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Error en copia de seguridad" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "El directorio de destino no puede ser creado: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Origen: %(source)s\n" "Destino: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Error: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "%(file_type)s sin respaldar" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "Ya existe un respaldo de %(file_type)s" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Archivo: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "Ocurrió un error desconocido" #: rapid/device.py:80 msgid "Device Detected" msgstr "Dispositivo detectado" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "¿Quiere utilizar este dispositivo para almacenar las fotos o videos " "descargados?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Recordar esta elección" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Fecha Hora" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Texto" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nombre de archivo" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadatos" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Secuencias" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Código de trabajo" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Fecha de la imagen" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Fecha del video" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Hoy" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Ayer" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Hora de la descarga" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nombre + extensión" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nombre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extensión" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Número de imagen" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Numero de video" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Apertura" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Tiempo de exposición" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Longitud focal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Fabricante camara" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Modelo de la camara" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Modelo corto de cámara" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Modelo de cámara con guión corto" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Número de serie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Contador obturador" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Número de archivo" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Carpeta solamente" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Carpeta y archivo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nombre propietario" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Códec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Ancho" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Alto" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Duración" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Cuadros por Segundo" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Autor" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Copyright" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Descargas de hoy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Número de sesión" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Número de subcarpeta" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Número almacenado" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Letra secuencial" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Todos los digitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Último dígito" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Últimos 2 dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Últimos 3 dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Últimos 4 dígitos" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Formato original" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "MAYÚSCULAS" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "minúsculas" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Un dígito" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Dos dígitos" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tres dígitos" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Cuatro dígitos" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinco dígitos" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Seis dígitos" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Siete digitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Decimas de segundo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "AñoMesDia" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "Año-Mes-Dia" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "AñoMesDia" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "AA-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Mes (todo)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Mes (abreviado)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutos)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Preferencias de subcarpeta no debe empezar con una %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Preferencias de subcarpeta no debe terminar con una %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" "Preferencias de subcarpeta no debe contener dos %s una después de la otra" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "¿Borrar todos los Códigos de Trabajo?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "¿Quitar todos los Codigos de Trabajo?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "¿Quitar todas las rutas memorizadas?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "¿Deben de quitarse todas las rutas memorizadas?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "¿Quitar todas las rutas ignoradas?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "¿Deben de quitarse todas las rutas memorizadas?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Error en las preferencias de renombrado de fotos" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Error en las preferencias de renombrado de vídeos" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Error en las preferencias en las subcarpetas de descarga de Fotos" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Error en las preferencias en las subcarpetas de descarga de Videos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Ingrese un Código de trabajo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Inserte un nuevo código de trabajo o seleccione uno anterior" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Inserte un nuevo código de trabajo" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Código de trabajo:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Escriba una ruta para ignorar" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Especifique una ruta que nunca se escaneará en busca de fotos o vídeos" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Ruta:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Código de trabajo" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" "Seleccione una carpeta en la que se hará una copia de seguridad de las fotos" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" "Seleccione una carpeta en la que se hará una copia de seguridad de los vídeos" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Atencion: No hay suficientes datos para generar el nombre " "completo. Por favor utilice otras opciones para renombrar." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Atencion: No hay suficientes metadatos para crear subdirectorios. " "Por favor utilice otro nombre para el subdirectorio." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Ejemplo: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "El %(filetype)s las preferencias para el subdirectorio son incorrectas y no " "pueden ser utilizadas.\n" "Se ajustaran a los valores por defecto" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Las siguientes expresiones no son válidas y serán eliminadas a no ser que " "las corrija:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Esta expresión regular no es válida, y se eliminará a menos que use una " "correcta:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Expresión regular inválida" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "dispositivoexterno1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "dispositivoexterno2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Nueva York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teherán" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "París" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlín" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sídney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moscú" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsovia" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Yakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Estocolmo" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "subdirectorio" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nombre de archivo" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Fecha y hora %s parecen incorrectos." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "El nombre del archivo no tiene extension." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "El nombre del archivo no tiene componentes numericos." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Error generando componente %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s no se pueden leer los metadatos" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s no se pueden generar" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Ocurrió un error al copiar el/los %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s ya existe" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s no se hizo copia de seguridad por que no se encontro una " "ubicacion donde realizarla." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s fue tomada en %(image1_date)s en %(image1_time)s, y %(image2)s en " "%(image2_date)s en %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s ya estan descargadas" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "El existente %(filetype)s fue modificado por ultima vez el %(date)s a las " "%(time)s. identificador único '%(identifier)s' añadido." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "El existente %(filetype)s fue modificado por ultima vez el %(date)s a las " "%(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "No hay datos que coincidan con el nombre del %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Error: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" "Falló la comprobación de archivos. La versión descargada difiere de la " "original." #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Los metadatos parecen corruptos." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "El nombre de fichero, extensión y la información Exif indican que ya ha sido " "descargado." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Fue realizada una copia de seguridad de los datos en %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" " Fue realizada una copia de seguridad de los datos en este dispositivo " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s y %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Detectadas fotos con el mismo nombre, pero distinta fecha de realizacion: " "%(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" "Ocurrio un error durante la realizacion de la copia de seguridad en " "%(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Ocurrio un error al realizar la copia de seguridad en %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Ocurrió un error durante la realización de la copia de seguridad en el " "dispositivo: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s y %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s y %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "La copia de seguridad ya existe en %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Las copias de seguridad estan en este directorio: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Sobreescrita copia de seguridad en %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Sobreescritas copias de seguridad en estos dispositivos: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Ocurrió un error al crear los directorios en %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Ocurrió un error al crear los directorios en los dispositivos de copia de " "seguridad: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" "Falló la comprobación de archivos en %(volume)s. La versión respaldada " "difiere de la descargada." #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "Falló la comprobación de archivos en estos dispositivos: " #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Adicionalmente, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Además, se encontrarón %(problems)s" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Además, se encontro %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Los %(type)s metadatos no estan." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Los siguientes metadatos faltan: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s y %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problemas al crear subdirectorio y nombre de archivo" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problema al crear subdirectorio y nombre de archivo" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemas al %s crear" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problema al %s crear" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s ya existen, pero fue realizada copia de seguridad" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Un error ocurrió al copiar los %(filetype)s, pero fue realizada una copia de " "seguridad" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Varios problemas fueron encontrados" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Fotos detectadas con el mismo nombre de archivo, pero tomadas a distinta hora" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "Hubo varios errores al realizar la copia de seguridad" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Hubo varios errores al realizar la copia de seguridad" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "Hubo un error al realizar la copia de seguridad" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Hubo un error al realizar la copia de seguridad" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, y %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "analizando (se encontraron %(photos)s fotos y %(videos)s vídeos)…" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "Subdirectorio y nombre de archivo" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "La fotografia ya ha sido descargada" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Origen: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Fallo al crear carpeta para descargas" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Ruta: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Acerca de..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Seleccionar todo" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Seleccionar todas las fotos" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Seleccionar todos los vídeos" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Hacer una donación" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Conseguir ayuda online" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Ayuda" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Preferencias" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Salir" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Actualizar" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Reportar problema..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Traducir esta aplicación..." #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Deseleccionar todo" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Archivo" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Descarga/Pausa" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Seleccionar" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Seleccionar todo sin codigo de trabajo" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Seleccionar todo con codigo de trabajo Wit_h" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Ver" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Registro de errores" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Limpiar descargas completadas" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Archivo anterior" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Archivo siguiente" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Ayuda" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Traducir esta aplicación…" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Incluido en la descarga" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Descarga" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Preferencias: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Carpeta de Descarga de Fotos" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Ejemplo: /home/usuario/Imagenes" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Subcarpeta de descargas" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Directorio de descarga" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Seleccione una carpeta para descargas. Las subcarpetas para descargar " "fotografías serán creadas automáticamente en la carpeta usando la estructura " "especificada abajo." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Carpeta de descargas" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Directorios de fotografías" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Renombrar Foto\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Copy text \t cambiar nombre a la fotografia" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Nuevo:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Ejemplo" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Cambiar nombre a fotografía" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Carpetas de Descargas de Vídeos" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Lo sentimos, la funcionalidad de descarga de vídeos está desactivada. Para " "descargar los vídeos, por favor instale hachoir metadata y kaa " "metadata paquetes de python, o exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Seleccione una carpeta para descargas. Las subcarpetas para descargar videos " "serán creadas automáticamente en la carpeta usando la estructura " "especificada abajo." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Carpetas de vídeo" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Renombrar Vídeo\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Renombrar vídeo" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Opciones de renombre" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Números de secuencia" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Especifique la hora en formato de 24 horas en la que el numero de secuencia " "de las Descargas de hoy , debe ser restablecido." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Día de inicio:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Descargas de hoy:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Número almacenado:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Sincronizar números de secuencia de RAW + JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Compatibilidad con otros Sistemas Operativos" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Especifique si se debería de retirar algún caracter no permitido por otros " "sistemas operativos de los nombres de las fotos, vídeos y carpetas." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Quitar carácteres incompatibles" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Opciones para cambio de nombre" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Códigos de trabajo" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Códigos de trabajo" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Añadir…" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "R_etirar todo" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Códigos de trabajo" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Dispositivos" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Dispositivos" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Los dispositivos son de donde se puede descargar las fotos y los vídeos, " "como cámaras, tarjetas de memorias o Dispositivos de Almacenamiento " "Portables.\n" "\n" "Puede descargar desde múltiples dispositivos a la vez, o puede especificar " "una localización en su disco duro.\n" "\n" "Descargar directamente desde cámara es actualmente una característica " "experimental. Si la descarga desde su cámara funciona mal o no funciona, " "pruebe estableciendo en modo PTP. Si no es posible, necesitará usar un " "lector de tarjetas." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Detectar automáticamente dispositivos de almacenamiento portables" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Detectar dispositivos automaticamente" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Si activa la detección automática de dispositivos de almacenamiento " "externos, se analizara el dispositivo completo. En dispositivos de gran " "capacidad, esto puede llevar algún tiempo.\n" "\n" "Cuando está opción esté habilitada y se detecte un dispositivo potencial, se " "preguntara si desea analizarlo o no." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Ubicación:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Si se desactiva la detección automática, elegir la ubicación exacta para las " "fotografías y videos." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" "Opciones de Dispositivo" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Rutas recordadas" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Recordar las rutas asociadas con los dispositivos elegidos para escanear " "siempre o ignorar cuando automáticamente es detectado un dispositivo de " "almacenamiento portable." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "IRutas ignoradas" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Especificar las carpetas o dispositivos a ignorar al escanear en busca de " "fotos o videos. Las que estén marcadas no serán exploradas." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Re_tirar todo" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Utilizar expresiones regulares de estilo python" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Opciones de dispositivo" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Respaldo\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Copia de seguridad" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Si se desactiva la detección automática, elegir la ubicación exacta para la " "copia de seguridad." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Detectar automáticamente dispositivos de copia de seguridad" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Usted puede tener sus copia de seguridad de fotos y videos en múltiples " "lugares, una vez descargados, por ejemplo, discos duros externos." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Realizar copia de seguridad al descargar fotos y vídeos" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Especificar la carpeta en la cual se realiza la copia de seguridad en el " "dispositivo. \n" " \n" "Nota: esto también será utilizado para determinar si el dispositivo se " "está utilizado para la copia de seguridad o no. Para cada dispositivo que " "desee utilizar para realizar la copia seguridad, cree una carpeta con uno de " "estos nombres." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Ubicación para copia de seguridad de fotografías:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Directorio para copia de seguridad de fotografías:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Ejemplo:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/medio/dispositivoexterno/Fotografias" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Nombre de la carpeta para copia de seguridad de videos:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Ubicacion de la copia de seguridad de videos:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Misceláneo" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatización de programa" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Extraer (\"eject\") el dispositivo al concluir la descarga" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Empezar descargas al iniciar el programa" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Comenzar a descargar al conectar un dispositivo" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Salir del programa cuando se completen las descargas" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" "Salir del programa, incluso si la descarga tiene advertencias o errores" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Rotar automáticamente las imágenes JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "Comprobar archivos a medida que se descargan" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Prestaciones" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Generar miniaturas (lento)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Varios" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Manejo de errores" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Problemas con el nombre de Fotografiay Video" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Agregar identificador único" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Saltar descarga" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Cuando una fotografía o video ha sido ya descargada, elegir omitirla " "descarga del archivo o añadir un identificador único." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Cuando haga copia de seguridad, elija si desea sobrescribir un archivo en el " "dispositivo de copia de seguridad que tenga el mismo nombre, o salte hacer " "respaldo." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Sobreescribir" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Saltar" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Manejo de errores" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Descargue sus fotografías y vídeos de forma eficaz y segura" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 de %s imagenes copiadas" #~ msgid "errors" #~ msgstr "errores" #~ msgid "_Pause" #~ msgstr "_Pausar" #~ msgid "Goodbye" #~ msgstr "Adiós" #~ msgid " " #~ msgstr " " #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader es software libre; puede redistribuirlo y/o " #~ "modificarlo bajo los términos de la Licencia Pública General de GNU tal como " #~ "la publica la Free Software Foundation; tanto en la versión 2 de la Licencia " #~ "como (a su elección) cualquier versión posterior.\n" #~ "\n" #~ "Rapid Photo Downloader se distribuye con la esperanza de que será útil,pero " #~ "SIN NINGUNA GARANTÍA; sin incluso la garantía implicada de MERCANTIBILIDAD o " #~ "ADECUACIÓN PARA UN PROPÓSITO PARTICULAR. Vea la Licencia Pública General de " #~ "GNU para más detalles.\n" #~ "\n" #~ "Debería haber recibido una copia de la Licencia pública General de GNU junto " #~ "con Rapid Photo Downloader; si no, escriba a la Free Software Foundation, " #~ "Inc,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, EE. UU." #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Lo siento, pero estas preferencias contienen un error:\n" #~ msgid "Select an image folder" #~ msgstr "Seleccionar una carpeta de imágenes" #~ msgid "Could not open image" #~ msgstr "No se pudo abrir la imagen" #~ msgid "Image has no metadata" #~ msgstr "La imagen no tiene metadatos" #~ msgid "Backup image already exists" #~ msgstr "La copia de seguridad de la imagen ya existe" #~ msgid "The image was not copied." #~ msgstr "La imagen no fue copiada." #~ msgid "Image overwritten" #~ msgstr "Imagen sobreescrita" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s imágenes descargadas" #~ msgid "Image already exists" #~ msgstr "La imagen ya existe" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Descarga completa desde %s" #~ msgid "Problem using pynotify." #~ msgstr "Problema usando pynotify." #, python-format #~ msgid "Source: %s" #~ msgstr "Origen: %s" #~ msgid "_Photos" #~ msgstr "_Fotos" #~ msgid "_Thumbnails" #~ msgstr "_Miniaturas" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "" #~ "Desmontar (\"expulsar\") el dispositivo de imagenes una vez completada la " #~ "descarga" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "" #~ "Exploración del dispositivo completada: no se han encontrado imágenes en %s" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Exploración del dispositivo completada: encontradas %(number)s imágenes en " #~ "%(device)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Origen: %(source)s\n" #~ "Destino: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Lo siento, algunas preferencias son invalidas y serán restablecidas" #~ msgid "Image skipped" #~ msgstr "Imagen saltada" #~ msgid "_Download " #~ msgstr "_Descargar " #~ msgid "images downloaded" #~ msgstr "imagenes descargadas" #~ msgid "Using" #~ msgstr "Usando" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Origen: %(source)s\n" #~ "Destino: %(destination)s\n" #~ "Problema: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Origen: %(source)s\n" #~ "Problema: %(problem)s" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Subcarpeta: %(subfolder)s\n" #~ "Imagen: %(image)s\n" #~ "Problema: %(problem)s" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s imagenes saltadas" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "El directorio de destino no pudo ser creado\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgid "The device can now be safely removed" #~ msgstr "El dispositivo ya se puede extraer de forma segura" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Origen: %(source)s\n" #~ "Destino: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgid "Preferences were modified." #~ msgstr "Las preferencias fueron modificadas." #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s de %(total)s imágenes copiadas" #~ msgid "Error in Image Rename preferences" #~ msgstr "Error en las preferencias de Renombrar Imagen" #~ msgid "Backup device missing" #~ msgstr "Dispositivo de respaldo perdido" #~ msgid "No backup device was detected." #~ msgstr "No se detectó un dispositivo de respaldo." #~ msgid "Download copying error" #~ msgstr "Error al copiar la descarga" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Identificador único '%s' agregado" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Una versión mas nueva de este programa fue ejecutada antes en este equipo.\n" #~ "\n" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Miniatura no puede mostrarse" #~ msgid "It may be corrupted" #~ msgstr "Puede estar corrupta" #~ msgid "images skipped" #~ msgstr "Imágenes saltadas" #~ msgid "Using manually specified path" #~ msgstr "Usando manualmente la ruta especifica" #~ msgid "Preferences were changed." #~ msgstr "Las preferencias fueron cambiadas." #~ msgid "No preferences needed to be changed." #~ msgstr "Ninguna preferencia necesita ser cambiada." #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Valor inválido de descargas de hoy.\n" #, python-format #~ msgid "%s is already running" #~ msgstr "%s ya se está ejecutando" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Detectado %(device)s con ruta %(path)s" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Valor '%(value)s' es inválido" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Clave preferida '%(key)s' es inválida.\n" #~ "Esperado uno de %(value)s" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Metadato de sub-segundos no esta presente en la imagen" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "metadato %s no está presente en la imagen" #~ msgid "Image Rename" #~ msgstr "Renombrar imagen" #~ msgid "Image Devices" #~ msgstr "Dispositivos de imagen" #~ msgid "Missing Backup Devices" #~ msgstr "Dispositivo de respaldo perdido" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Error en el campo de fecha. El valor %s parece inválido" #~ msgid "Automation" #~ msgstr "Automatización" #~ msgid "Example: /home/user/photos" #~ msgstr "Ejemplo: /home/user/photos" #~ msgid "Image Devices" #~ msgstr "Dispositivos de imagen" #~ msgid "Image Rename\t" #~ msgstr "Renombrar imagen\t" #~ msgid "Automation" #~ msgstr "Automatización" #~ msgid "Exit program after completion of successful download" #~ msgstr "Salir del programa al completar exitosamente la descarga" #~ msgid "Error Log" #~ msgstr "Registro de error" #~ msgid "Ignore" #~ msgstr "Ignorar" #~ msgid "Image Rename" #~ msgstr "Renombrar imagen" #~ msgid "Report an error" #~ msgstr "Reportar un error" #~ msgid "Select a folder in which to backup images" #~ msgstr "Seleccione una carpeta para respaldar las imágenes" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Ha empezado un nuevo día - restableciendo los números de secuencia de " #~ "'Descargas del día'" #, python-format #~ msgid "Download has started from %s" #~ msgstr "La descarga empezó desde %s" #~ msgid "Automatically start download is true" #~ msgstr "Iniciar automaticamente la descarga está activa" #~ msgid "Automatically start download is false" #~ msgstr "Iniciar automaticamente la descarga está desactivada" #~ msgid "extension was specified but image name has no extension" #~ msgstr "" #~ "La extensión fue especificada, pero el nombre de la imagen no tiene extensión" #~ msgid "Image Name Conflicts" #~ msgstr "Conflictos en nombre de imagen" #~ msgid "Download Folder" #~ msgstr "Carpeta de descargas" #~ msgid "Backup folder name:" #~ msgstr "Nombre de carpeta de respaldo" #~ msgid "Backup location:" #~ msgstr "Ruta de respaldo:" #~ msgid "Automatically detect image devices" #~ msgstr "Detectar automáticamente dispositivos de imagen" #~ msgid "Download Folder" #~ msgstr "Carpeta de descarga" #~ msgid "Image location:" #~ msgstr "Ruta de imagen:" #~ msgid "Image Devices" #~ msgstr "Dispositivos de imagen" #~ msgid "Report a warning" #~ msgstr "Reportar un aviso" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "Especificar que hacer cuando no hay dispositivos de respaldo." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Esta versión del programa es más reciente que la versión previamente " #~ "ejecutada. Compruebe las preferencias." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Esta versión del programa utiliza preferencias de la antigua versión. " #~ "Algunas de sus preferencias anteriores no eran válidas, y no pueden ser " #~ "actualizadas, por lo que serán restablecidas." #~ msgid "These preferences are not well formed:" #~ msgstr "Estas preferencias no están bien formadas:" #~ msgid "image number was specified but image filename has no number" #~ msgstr "" #~ "Número de imagen fue especificado, pero el nombre de la imagen no lo tiene" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "Error generando nombre con componente %s" #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Fallo al recibir capacidades del servidor pynotify" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Las preferencias del programa parecen ser válidas, pero por favor revise a " #~ "fin de garantizar el correcto funcionamiento." #~ msgid "This device has no images to download from." #~ msgstr "El dispositivo no tiene imágenes para descargar." #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "lista de extensiones de archivo de imagen que el programa reconoce y salir" #~ msgid "Backup photos when downloading" #~ msgstr "Respaldar fotos al descargarlas" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Seleccione si desea saltar la descarga de la imagen, o añadir un " #~ "identificador único." #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importar sus imágenes de manera eficiente y fiable" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Especificar la carpeta en la que las copias de seguridad se almacenan en el " #~ "dispositivo. \n" #~ "\n" #~ "Nota: esto también se utilizará para determinar si el dispositivo se " #~ "utiliza para las copias de seguridad. Para cada dispositivo que desea " #~ "utilizar para hacer copias de seguridad se creará una carpeta con este " #~ "nombre." #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Si desactiva la detección automática, seleccione la ruta exacta de respaldo." #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Si desactiva la detección automática, seleccione la ruta exacta de las " #~ "imágenes." #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Cuando respalde, elegir si desea sobreescribir la imagen en el dispositivo " #~ "de seguridad que tiene el mismo nombre, o de saltar su respaldo." #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Especificar qué hacer cuando una imagen del mismo nombre ya se ha descargado " #~ "o respaldado." #~ msgid "Start downloading upon image device insertion" #~ msgstr "Empezar a descargar sobre dispositivo de imagen insertado" #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Especificar si la imagen y los nombres de las carpetas se le han removido " #~ "carácteres que no se permite a otros sistemas operativos." #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright © Damon Lynch 2007-09" #~ msgid "Warning:" #~ msgstr "Aviso:" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Esta versión del programa utiliza preferencias de la antigua versión. Sus " #~ "preferencias han sido actualizadas.\n" #~ "\n" #~ "Por favor, compruebe el correcto funcionamiento." #~ msgid "Some preferences will be reset." #~ msgstr "Algunas preferencias serán restablecidas." #~ msgid "There is an error in the program preferences." #~ msgstr "Hay un error en las preferencis del programa." #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Las preferencias de subcarpeta ingresadas son inválidas y no pueden ser " #~ "usadas.\n" #~ "Estas serán restablecidas a los valores por defecto." #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Los dispositivos de imagen son aquellos desde los cuales descargará las " #~ "fotos, como cámaras, tarjetas de memoria o Dispositivos de almacenamiento " #~ "portátil.\n" #~ "\n" #~ "Puede descargar fotos desde múltiples dispositivos simultaneamente.\n" #~ "\n" #~ "Si la descarga desde su cámara funciona lento o no funciona, pruebe " #~ "configurarla en modo PTP. Si esto no es posible, considere usar un lector de " #~ "tarjetas." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Si activa la detección automática de Dispositivos de almacenamiento " #~ "portátil, será revisado completamente en busca de imágenes. En dispositivos " #~ "grandes, esto puede tomar algún tiempo." #~ msgid "Starting downloads" #~ msgstr "Iniciando descargas" #~ msgid "Job Code entered" #~ msgstr "Código de trabajo ingresado" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Iniciando descargas que han sido esperadas por un Código de trabajo" #~ msgid "Prompting for Job Code" #~ msgstr "Pidiendo un Código de trabajo" #~ msgid "Job Code not entered" #~ msgstr "Código de trabajo no introducido" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s seleccionado para descargar de" #~ msgid "This device or partition will always be used to download from" #~ msgstr "Siempre se descargará de este dispositivo o partición" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s rechazado como dispositivo de descarga" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Jamás se descargará de este dispositivo o partición" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Entre un nuevo código de trabajo o seleccione uno previo." #~ msgid "Enter a new job code." #~ msgstr "Entre un nuevo código de trabajo." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Preguntando si usar o no %s" #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "¿Deberían bajarse imágenes de este dispositivo o partición?" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Dispositivo %(device)s (%(path)s) ignorado" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Preguntando por código de trabajo, no volver a preguntar" #~ msgid "Resetting value to zero.\n" #~ msgstr "Restableciendo valor a cero.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Restableciendo a medianoche.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Valor preferencial de 'Inicio del día' corrupto.\n" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Error en las preferencias de la Subcarpeta de Descargas" #~ msgid "Resetting to default values." #~ msgstr "Restableciendo a los valores por defecto." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Se han removido innecesariamente algunos valores de las preferencias de la " #~ "subcarpeta." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Advertencia: No hay suficientes metadatos de imagen para generar " #~ "completamente el nombre. Por favor, use otras opciones de renombre." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Advertencia: No hay suficientes metadatos de imagen para generar " #~ "completamente las subcarpetas. Por favor, use otras opciones de renombre de " #~ "subcarpetas." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Por favor, revise las preferencias, reinicie el programa e intente de nuevo." #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "No se pudo generar correctamente el nombre del archivo de imagen. Compruebe " #~ "que existan suficientes meta-datos." #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Los metadatos son esenciales para generar subcarpetas/nombres de imagen.\n" #~ "Destino: %s" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "El nombre de la subcarpeta no pudo ser generado correctamente. Compruebe que " #~ "existan suficientes metadatos." #~ msgid "Image has no thumbnail" #~ msgstr "La imagen no tiene miniatura" #~ msgid "Image filename could not be generated" #~ msgstr "No se pudo generar el nombre del archivo de imagen" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Puede tener respaldos de sus fotos en múltiples ubicaciones, por ejemplo: " #~ "discos duros externos." #~ msgid "Backup" #~ msgstr "Copia de seguridad" rapid-photo-downloader-0.4.10/po/cs.po0000644000175000017500000023574012270217620017771 0ustar damondamon00000000000000# Czech translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Zařízení" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Velikost" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Průběh stahování" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s se neodpojilo" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "skenování..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "kořen souborového systému" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Stahování z %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Stáhnout" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pozastavit" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Následující složky jsou neplatné:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Následující složka je neplatná:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Stahování nemůže pokračovat" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotografie" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "videa" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Zbývá 1 sekunda" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Zbývá %i sekund" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Zbývá 1 minuta" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Zbývá %(minutes)i:%(seconds)02i minut" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fotografie a videa" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fotografie či videa" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "fotografie" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s staženo" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s nebyly staženy" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "varování" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Všechna stahování kompletní" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s staženo" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s nelze stáhnout" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s z %(total)s %(filetypes)s (%(remaining)s remaining)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s z celkem %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Z" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Automatická detekce" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Vyberte složku, která obsahuje %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Kopírovat" #: rapid/rapid.py:3397 msgid "Move" msgstr "Přesun" #: rapid/rapid.py:3419 msgid "To" msgstr "Do" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fotografie:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Vyberte složku do které mají být obrázky staženy" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Videa:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Zvolte adresář do kterého se bude stahovat video" #: rapid/rapid.py:3650 msgid "and" msgstr "a" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Používání zálohovacích zařízení" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Používání zálohovacího zařízení" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Zálohovací zařízení nebylo detekováno" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Volné místo:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s volné" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Zálohování fotografií a videí do %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Zálohování %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Zálohování fotografií do %(path)s a videí do %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Nastavení programu je nevalidní" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Fotografie" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s složka neexistuje" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Složka: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s složka je neplatná" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s do složky nelze zapisovat" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Náhledy" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "zobrazit informace o programu na příkazové řádce (default: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "Zobrazit ladicí informace při spuštění z příkazové řádky" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "pouze výstup chyb do příkazové řádky" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "zobrazit přípony souborů, které program rozpozná, a skončit" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "resetovat nastavení programu a skončit" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "a %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Všechna nastavení a předvolby byly nastaveny na výchozí hodnoty" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Chyba zálohování" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Adresář destinace nelze vytvořit: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Zdroj: %(source)s\n" "Destinace: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Chyba: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Soubor: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Zařízení detekováno" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Nacházejí se na tomto zařízení fotografie nebo videa ke stažení?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Zapamatovat si tuto volbu" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Datum a čas" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Text" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Jméno souboru" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sekvence" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Pracovní kód" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Datum obrázku" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Datum videa" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Dnes" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Včerejšek" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Čas stahování" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Jméno + koncovka" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Název" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Koncovka" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Číslo obrázku" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Číslo videa" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Clona" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Čas expozice" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Vzdálenost ohniska" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Vytvoření fotoaparátu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Druh fotoaparátu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Krátký druh kamery" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Model kamery v označení odděleném pomlčkou" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Sériové číslo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Číslo snímku" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Číslo souboru" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Pouze složka" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Složka a soubor" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Vlastníkovo jméno" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Kodek" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Šířka" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Výška" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Délka" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Snímková hodnota" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Umělec" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Copyright" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Dnešní stahování" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Číslo této relace" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Číslo podsložky" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Uskladněné číslo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Zpráva sekvence" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Všechny číslice" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Poslední číslice" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Poslední 2 číslice" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Poslední 3 číslice" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Poslední 4 číslice" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Originální obal" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "Velká písmena (ABCDEFG)" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "Malá písmena (abcdefg)" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Jedna číslice" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Dvě číslice" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tři číslice" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Čtyři číslice" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Pět číslic" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Šest číslic" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sedm číslic" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Milisekundy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "RRRRMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "RRRR-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "RRMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "RR-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDRRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMRRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "RRRR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "RR" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minuty)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Nastavení podsložky nemělo začít %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Nastavení podsložky nemělo končit %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Nastavení podsložky by nemělo obsahovat dvě %s za sebou" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Odstranit všechny pracovní kódy?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Chcete odstranit všechny pracovní kódy?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Odstranit všechny zapamatované cesty?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Opravdu chcete smazat všechny zapamatované cesty?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Odstranit všechny ignorované cesty?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Opravdu chcete smazat všechny ignorované cesty?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Chyba v nastavení přejmenování fotografií" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Chyba v nastavení přejmenování videí" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Chyba v nastavení složek pro stahování fotek" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Chyba v nastavení složek pro stahování videí" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Vložte pracovní kód" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Vložte nový štítek nebo vyberte nějaký existující" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Vložte nový pracovní kód" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Pracovní kód:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Vložte cestu k ignorování" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Cesta:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Pracovní kód" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Zvolte složku, ve které bude uložena záloha fotografií" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Zvolte složku ve které budou zálohována videa" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Varování: Není k dispozici dostatečný počet metadat, aby bylo " "možné vytvořit celé jméno. Použijte prosím pro vytvoření jména jiné " "možnosti." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Varování: Není k dispozici dostatečný počet metadat, aby bylo " "možné vytvořit složky. Použijte prosím pro vytvoření jména jiné " "možnosti." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Příklad: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Parametry pro vytvoření složky %(filetype)s jsou neplatné a nelze je " "použít.\n" "Použijí se výchozí hodnoty." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Neplatný regulární výraz" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "externídisk1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "externídisk2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praha" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teherán" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paříž" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlín" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapešť" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Řím" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskva" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Dílí" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varšava" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "podsložka" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "název souboru" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Hodnota pro datum nebo čas %s je neplatná." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Jméno souboru neobsahuje příponu." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Jméno souboru neobsahuje číselnou hodnotu." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Chyba při vytváření části %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "Metadata %(filetype)s nelze načíst." #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "Nelze vytvořit %(filetype)s %(area)s" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Při kopírování %(filetype)s došlo k chybě." #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s a již existuje" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s nelze zálohovat, protože nebylo nalezeno vhodné umístění." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s byl už stažen" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Existující %(filetype)s byl naposledy změněn %(date)s v %(time)s. Byl " "přidán jedinečný identifikátor '%(identifier)s'." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "Existující %(filetype)s byl naposledy změněn %(date)s v %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Neexistují žádná data k pojmenování %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Chyba: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Metadata jsou pravděpodobně poškozená." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "Jméno souboru, přípona a EXIF naznačují, že soubor byl již stažen." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " byl zálohován na %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " byl zálohován na následující zařízení: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s a %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Byly nalezeny fotky se stejným jménem, ale rozdílným časem vzniku: " "%(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Došlo k chybě při zálohování na %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Došlo k chybě při zálohování na %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Došlo k chybám při zálohování na následující zařízení: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s a %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s a %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Na zařízení %(volume)s už záloha existuje." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Zálohy už existují, a to v těchto umístěních: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Záloha na %(volume)s byla přepsána." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Zálohy na následujících zařízeních byly přepsány: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Došlo k chybě při vytváření adresářů na %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "Došlo k chybě při vytváření adresářů na následujících zařízeních: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s - kromě toho: %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Kromě toho došlo k dalším %(problems)s problémům." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Kromě toho došlo k %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Metadata %(type)s chybí." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Následující metada chybí: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s a %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problémy při vytváření názvů pro složky a soubory" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problém při vytváření názvů pro složky a soubory" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problémy při vytváření %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problém při vytváření %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s už existuje, ale byl zálohován" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "Při kopírování %(filetype)s došlo k chybě, ale záloha proběhla" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Došlo k více problémům" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Byly nalezeny fotky se stejným jménem, ale různým datem vzniku" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "chyby při zálohování" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Chyby při zálohování" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "chyba při zálohování" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Chyba při zálohování" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s a %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "hledám (nalezeno %(photos)s fotek a %(videos)s videí)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "podsložka a název souboru" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Fotka už byla stažena" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Zdroj: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Nepodařilo se vytvořit podsložku" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Cesta: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "Zaškrtnout _všechny" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Dejte příspěvek..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Nápověda online..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Ohlásit problém..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Odznačit vše" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Soubor" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Stahování / Pauza" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Vybrat" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Vybrat všechny _bez štítku" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Vybrat všechny se ští_tkem" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Zobrazení" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Záznam chyb" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Vyčistit kompletní stahování" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Předchozí soubor" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Další soubor" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Nápověda" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Přeložit tuto aplikaci..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "Vybrat pro stažení" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Stáhnout" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Nastavení: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Složky stahování fotografií" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Příklad: /home/user/Pictures" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Podsložky stahování" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Složka stahování:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Vyberte složku stahování. Podsložky pro stahované obrázky budou vytvořeny " "automaticky v této složce s použitím struktury specifikované níže." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Složka stahování" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Složky fotografií" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" "Přejmenování fotografií\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Přejmenování fotografie" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Nový:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Originál:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Příklad" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Přejmenování fotografií" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Složky stahování videa" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Vyberte složku pro stažení. Podsložky pro stažená videa jsou vytvořena " "automaticky podle schématu, které si vytvoříte." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Složky pro videa" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Přejmenování videa\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Přejmenovat videa" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Možnosti přejmenování" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Sekvenční čísla" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Specifikujte čas ve 24 hodinovém formátu aby mohlo být resetováno sekvenční " "číslo v Dnešní stahování." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Začátek dne:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Dnešní stahování:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Uskladněné číslo:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Synchronizovat sekvenční čísla RAW + JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompaktibilita s jinými operačními systémy" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Určete znaky, které se mohou objevit v názvech souborů, ale mohly by později " "působit problémy" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Odstranit nekompatibilní znaky" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Možnosti přejmenování" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Pracovní kódy" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Pracovní kódy" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Přidat..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "O_dstranit vše" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Pracovní kódy" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Zařízení" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Zařízení" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Automatická detekce kapesních paměťových zařízení" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Automaticky detekovat zařízení" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Umístění:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Možnosti zařízení" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Zapamatované cesty" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Ignorované cesty" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "_Odstranit vše" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Použijte _python-style regulární zkratky" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Možnosti zařízení" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Záloha\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Záloha" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Automatická detekce zálohovacích zařízení" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Při stahování můžete fotky a videa zálohovat na více umístění, např. na " "externí disky." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Zálohovat fotografie a videa při stahování" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Vyberte složku, ve které jsou na zařízení uloženy zálohy. \n" "Poznámka: Podle toho se také pozná, zda je zařízení použito pro zálohy. " "Na každém zařízení, které chcete pro zálohy použít, vytvořte složku s " "některým jménem. " #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Umístění zálohy fotografií:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Název složky pro zálohu fotek" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Příklad:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/externaldrive/Photos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Název složky pro zálohu videí" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Umístění zálohy videí:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Různé" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatizace programu" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Po stažení souborů odpojit zařízení" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Start stahování při startu programu" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Začít stahovat hned po vložení zařízení" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Ukončit program po stažení souborů" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Ukončit program, i když stahování skončilo varováními nebo chybami" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Automaticky otáčet obrázky formátu JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Výkon" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Generovat náhledy (pomalé)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Různé" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Chybová obsluha" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Konflikty jmen fotografií a videa" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Přidat unikátní identifikátor" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Vynechat stahování" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Pokud má fotka nebo video stejný název jako již existující soubor, vyberte, " "zda se má stahování přeskočit, nebo přejmenovat." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Vyberte, zda při zálohování přepsat na cílovém zařízení soubor se stejným " "jménem, nebo jeho zálohování přeskočit." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Přepsat" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Vynechat" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Chybová obsluha" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importovat fotky a videa spolehlivě" #~ msgid "Error in Image Rename preferences" #~ msgstr "Chyba v nastavení přejmenovávání obrázků." #~ msgid "Resetting to default values." #~ msgstr "Resetování na výchozí hodnoty." #~ msgid "Select an image folder" #~ msgstr "Vyberte složku obrázků" #~ msgid "Select a folder in which to backup images" #~ msgstr "Vyberte složku do které má být uložena záloha obrázků" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Prosím zkontrolujte nastavení, restartujte program a zkuste to znovu." #~ msgid "There is an error in the program preferences." #~ msgstr "Vyskytla se chyba v nastavení programu." #~ msgid "Image filename could not be generated" #~ msgstr "Název obrázku nemohl být vygenerován" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Skenování zařízení kompletní: žádné obrázky nebyly na %s nalezeny" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 z %s obrázků okopírováno" #~ msgid "Could not open image" #~ msgstr "Nelze otevřít obrázek" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s obrázků přeskočeno" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s obrázků staženo" #, python-format #~ msgid "Source: %s" #~ msgstr "Zdroj: %s" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Unikátní identifikátor '%s' přidán" #~ msgid "The image was not copied." #~ msgstr "Obrázek nebyl okopírován." #~ msgid "errors" #~ msgstr "chyby" #~ msgid "Backup device missing" #~ msgstr "Zálohovací zařízení chybí" #~ msgid "No backup device was detected." #~ msgstr "Zálohovací zařízení nebylo detekováno." #~ msgid "Image skipped" #~ msgstr "Obrázek přeskočen" #~ msgid "Image already exists" #~ msgstr "Obrázek neexistuje" #~ msgid "Starting downloads" #~ msgstr "Stahování začíná" #~ msgid "Preferences were modified." #~ msgstr "Nastavení bylo modifikováno." #~ msgid "images skipped" #~ msgstr "obrázky přeskočeny" #~ msgid "_Download " #~ msgstr "_Stažení " #~ msgid "images downloaded" #~ msgstr "obrázky staženy" #~ msgid "_Pause" #~ msgstr "_Pozastavit" #~ msgid "Using" #~ msgstr "Používání" #~ msgid "Download copying error" #~ msgstr "Chyba kopírování obrázků" #~ msgid "_Photos" #~ msgstr "_Fotografie" #~ msgid "_Thumbnails" #~ msgstr "_Náhledy" #~ msgid "Image location:" #~ msgstr "Umístění obrázku:" #~ msgid "Image Rename" #~ msgstr "Přejmenování obrázku" #~ msgid "Ignore" #~ msgstr "Ignoruj" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Download Folder" #~ msgstr "Složka stahování" #~ msgid "Image overwritten" #~ msgstr "Obrázek přepsán" #~ msgid "This device has no images to download from." #~ msgstr "Toto zařízení nemá žádné obrázky pro stažení." #, python-format #~ msgid "Download has started from %s" #~ msgstr "Stahování začalo z %s" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Stahování kompletní z %s" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Náhled nemůže být zobrazen" #~ msgid "Job Code entered" #~ msgstr "Pracovní kód vložen" #~ msgid " " #~ msgstr " " #~ msgid "Image Rename" #~ msgstr "Přejmenování obrázku" #~ msgid "Example: /home/user/photos" #~ msgstr "Příklad: /home/user/photos" #~ msgid "Backup" #~ msgstr "Záloha" #~ msgid "Backup location:" #~ msgstr "Umístění zálohy:" #~ msgid "Report an error" #~ msgstr "Nahlásit chybu" #~ msgid "Report a warning" #~ msgstr "Nahlásit varování" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Chyba v nastavení stahovací podsložky" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "Sken zařízení kompletní: nalezeno %(number)s obrázků na %(device)s" #~ msgid "Backup image already exists" #~ msgstr "Záloha obrázku neexistuje" #~ msgid "Image has no thumbnail" #~ msgstr "Obrázek nemá náhled" #~ msgid "Preferences were changed." #~ msgstr "Nastavení změněno" #, python-format #~ msgid "%s is already running" #~ msgstr "%s není připraven k používání" #~ msgid "Image Name Conflicts" #~ msgstr "Konflikt jmen obrázků" #~ msgid "Automation" #~ msgstr "Automatizace" #~ msgid "Download Folder" #~ msgstr "Složka stahování" #~ msgid "Image Rename\t" #~ msgstr "Přejmenování obrázku\t" #~ msgid "Backup folder name:" #~ msgstr "Jméno složky zálohování:" #~ msgid "Image Devices" #~ msgstr "Obrázková zařízení" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Promiňte, v nastavení je chyba:\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Resetování do půlnoci.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Hodnota nastavení 'Začátek dne' je poškozena.\n" #~ msgid "Warning:" #~ msgstr "Varování:" #~ msgid "Some preferences will be reset." #~ msgstr "Některé nastavení bylo resetováno." #~ msgid "No preferences needed to be changed." #~ msgstr "Žádné nastavení nebylo změněno." #~ msgid "Problem using pynotify." #~ msgstr "Problém používání pynotify." #~ msgid "Missing Backup Devices" #~ msgstr "Chybějící zálohovací zařízení" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "chyba vygenerování jména s komponentem %s" #~ msgid "Image Devices" #~ msgstr "Obrázková zařízení" #~ msgid "Backup photos when downloading" #~ msgstr "Zálohovat obrázky během stahování" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Vyberte zda má být přeskočeno stahování obrázku nebo přidejte unikátní " #~ "identifikátor." #~ msgid "Automation" #~ msgstr "Automatizace" #~ msgid "Automatically detect image devices" #~ msgstr "Automatická detekce obrázkových zařízení" #~ msgid "Exit program after completion of successful download" #~ msgstr "Odejít z programu když bude stahování hotovo" #~ msgid "Error Log" #~ msgstr "Chybový záznam" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader je otevřený software; můžete ho redistribuovat a/nebo " #~ "modifikovat za podmínek GNU General Public License publikované Free Software " #~ "Foundation; ve verzi 2, nebo (podle vašich nároků) v jiné novější verzi.\n" #~ "\n" #~ "Rapid Photo Downloader je distribuován v naději že bude používán, ale BEZ " #~ "JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI anebo " #~ "VHODNOSTI PRO URČITÝ ÚČEL. Viz GNU General Public License pro více detailů.\n" #~ "\n" #~ "Měli byste obdržet kopii GNU General Public Licence spolu s Rapid Photo " #~ "Downloader. Pokud ji neobržíte napište na: Free Software Foundation, Inc, 51 " #~ "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Novější verze této aplikace na tomto počítači již byla spuštěna.\n" #~ "\n" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Problém: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Destinace: %(destination)s\n" #~ "Problém: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Destinace: %(destination)s\n" #~ "Chyba: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Adresář destinace nemohl být vytvořen\n" #~ "%(directory)s\n" #~ "Chyba: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Zdroj: %(source)s\n" #~ "Destinace: %(destination)s\n" #~ "Chyba: %(errorno)s %(strerror)s" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Podsložka: %(subfolder)s\n" #~ "Obrázek: %(image)s\n" #~ "Problém: %(problem)s" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Promiňte, nastavení je invalidní a muselo být resetováno." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Tato verze tohoto programu již na tomto počítači byla nainstalována. " #~ "Kontrola nastavení." #~ msgid "Automatically start download is false" #~ msgstr "Automatický start stahování je zakázán" #~ msgid "Automatically start download is true" #~ msgstr "Automatický start stahování je povolen" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s z %(total)s obrázků okopírováno" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "Nový den začal - resetování 'Dnešní stahování' sekvenční číslo" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Vy můžete vaše fotografie zálohovat do různých umístění a můžete je stahovat " #~ "na různé externí disky." #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Stahování začne po vložení pracovního kódu" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Detekováno %(device)s s %(path)s cestami" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Hodnota nastavení '%(value)s' je invalidní" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Klíč nastavení '%(key)s' je invalidní\n" #~ "Předpokládáno %(value)s" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Varování: Existují dostatečná metadata obrázku. S jejich pomocí " #~ "lze vygenerovat název. Pokud chcete obrázek přejmenovat použijte nastavení " #~ "přejmenování." #~ msgid "It may be corrupted" #~ msgstr "Toto může být poškozeno" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Varování: Existují dostatečná metadata obrázku pro vygenerování " #~ "podsložek. Pokud chcete podsložky přejmenovat použijte nastavení jmen." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Některé hodnoty v nastavení podsložky jsou nepodstatné a proto byly smazány." #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s metadata nejsou v obrázku" #~ msgid "Start downloading upon image device insertion" #~ msgstr "Start stahování po vložení obrázkového zařízení" #~ msgid "These preferences are not well formed:" #~ msgstr "Tato nastavení nejsou správně utvořena:" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importujte své obrázky efektivně a spolehlivě" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Metadata jsou základy pro generování podsložek / jmen obrázků.\n" #~ "Zdroj: %s" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Nastavení programu se zdá být validní, ale zkontrolujte bezpečnou opravnou " #~ "operaci." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Tato verze programu používá jiné nastavení než ta stará. Vaše nastavení bylo " #~ "aktualizováno.\n" #~ "\n" #~ "Prosím zkontrolujte bezpečnou opravnou operaci." #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Chyba v časovém komponentu. Hodnota %s se zdá invalidní" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Metadata subsekund neprezentují obrázek" #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Přijetí schopností pynotify serveru selhalo." #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "" #~ "Specifikujte co se má dít, když když nejsou nalezena žádná zálohovací " #~ "zařízení." #~ msgid "Resetting value to zero.\n" #~ msgstr "Resetování hodnoty na nulu.\n" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Vložené nastavení podsložky je invalidní a nelze použít.\n" #~ "Bylo tedy resetováno na výchozí hodnoty." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Tato verze programu využívá uživatelsky jiné nastavení než ta předchozí. " #~ "Některé nastavení je invalidní a nelze aktualizovat. Je tedy resetováno." #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Odpojit (\"vysunout\") obrázkové zařízení po dokončení stahování" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Máte-li zapnutou automatickou detekci, vyberte přesnou lokaci zálohy." #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Máte-li zapnutou automatickou detekci, vyberte přesnou lokaci snímků." #~ msgid "extension was specified but image name has no extension" #~ msgstr "typ souboru byl rozeznán, ale obrázek nemá označení typu souboru" #~ msgid "image number was specified but image filename has no number" #~ msgstr "číslo obrázku bylo rozeznáno, ale obrázek nemá číslo" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Jestli povolíte automaticko detekci přenosných paměťových zařízení, tak " #~ "budou z tohoto zařízení hledány obrázky. Na zařízeních s větší kapacitou to " #~ "bude trvat déle." #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "program rozpozná typy obrázkových souborů a ukončí" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Hodnota dnešní stahování je invalidní.\n" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Při zálohování vyberte zda chcete přepsat obrázek který má schodné jméno s " #~ "jiným, či zda ho chcete nezálohovat." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Specifikujte zda mají být z názvů obrázků a složek vymazány některé znaky " #~ "které nejsou povoleny operačními systémy." #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Specifikujte, co se má dělat, když byl obrázek stejného jména již stažen " #~ "nebo zálohován." #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Obrázková zařízení jsou zařízení, ze kterých se mohou stahovat fotografie, " #~ "jsou to např.: fotoaparáty, paměťové karty nebo přenosná paměťová zařízení.\n" #~ "\n" #~ "Zde si můžete stáhnout fotografie z více obrázkových zařízení současně.\n" #~ "\n" #~ "Pokud stažení přímo z fotoaparátu funguje špatně nebo vůbec nefunguje, " #~ "zkuste je v nastavení přepnout do režimu PTP. Není-li to možné, zvažte " #~ "použití čtečky karet. " #~ msgid "Image Devices" #~ msgstr "Obrázková zařízení" #~ msgid "Goodbye" #~ msgstr "Hezký den" #~ msgid "Image has no metadata" #~ msgstr "Obrázek nemá metadata" #~ msgid "Job Code not entered" #~ msgstr "Pracovní kód nebyl vložen" #~ msgid "Enter a new job code." #~ msgstr "Vložte nový pracovní kód." #~ msgid "Prompting for Job Code" #~ msgstr "Výzva pro pracovní kód" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Výzva pro použití %s" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Výzva k pracovnímu kódu již existuje, nevyzívejte znovu" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Zařízení %(device)s (%(path)s) ignorováno" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s vybráno pro stažení" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s odmítnuto jako stahovací zařízení" #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Máte zařízení či oddíl určený ke stažení?" #~ msgid "This device or partition will always be used to download from" #~ msgstr "Toto zařízení či oddíl bude vždy použito pro stažení" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Toto zařízení či oddíl nebude použito pro stažení" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Vložte nový pracovní kód, nebo vyberte předchozí." #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Specifikujte složku, ve které jsou uloženy zálohy na zařízení. \n" #~ "\n" #~ "Poznámka: tento údaj bude také použit pro určení, zda je zařízení " #~ "používané pro zálohování. Pokud chcete použít jiné zařízení pro zálohování , " #~ "vytvořte v něm složku s tímto názvem." #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Název obrázku se nepodařilo vygenerovat. Prosím zkontrolujte, zda existují " #~ "dostatečná metadata." #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Jméno podsložky nemohlo být řádně vygenerováno. Zkontrolujte, kde jsou " #~ "dostatečná metadata." #~ msgid "The device can now be safely removed" #~ msgstr "Zařízení nyní nemůže být bezpečně vymazáno" #~ msgid "Using manually specified path" #~ msgstr "Používání manuálně specifikované cesty" rapid-photo-downloader-0.4.10/po/fr.po0000644000175000017500000025250312270217610017766 0ustar damondamon00000000000000# French translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # Julien Valroff , 2011. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:17+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Français \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Périphérique" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Taille" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Progression du transfert" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "Le périphérique %(device)s n'a pas été démonté" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "Détection en cours..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "Partition racine" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Transfert depuis %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Êtes-vous sûr de vouloir transférer depuis cet emplacement ? Sur certains " "systèmes, la recherche de photos ou de vidéos peut prendre du temps." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Transférer" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pause" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Ces répertoires de destination ne sont pas valides:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Ce répertoire de destination n'est pas valide:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Impossible de procéder au transfert" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "photos" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "vidéos" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Environ 1 seconde restante" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Environ %i secondes restantes" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Environ 1 minute restante" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Environ %(minutes)i:%(seconds)02i restantes" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "photos et vidéos" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "photos ou vidéos" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "vidéo" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "photo" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s transférés" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "erreur lors du transfert de %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avertissements" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Tous les transferts sont terminés" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s téléchargé" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "Echec de transfert pour %(filetype)s" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s sur %(total)s %(filetypes)s (%(remaining)s restants)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s sur %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Depuis" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Détecter automatiquement" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Sélectionnez un dossier contenant %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Copier" #: rapid/rapid.py:3397 msgid "Move" msgstr "Déplacer" #: rapid/rapid.py:3419 msgid "To" msgstr "Vers" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Photos :" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Sélectionnez le dossier de destination" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Vidéos :" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Sélectionnez un dossier vers lequel transférer vos vidéos" #: rapid/rapid.py:3650 msgid "and" msgstr "et" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Utilisation des volumes de sauvegarde" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Utilisation du volume de sauvegarde" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Aucun volume de sauvegarde détécté" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Espace libre :" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr ", " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s disponibles" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Sauvegarde des photos et vidéos vers %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Sauvegarde sur %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Sauvegarde des photos vers %(path)s et des vidéos vers %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Les préférences de l'application sont invalides" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Photo" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Vidéo" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s répertoires de destination n'existe pas" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Répertoire: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s répertoire de destination n'est pas valide" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s répertoire de destination protégé en écriture" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Aperçus" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "affiche les informations de l'application sur la ligne de commande lorsque " "l'application est active (défaut: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "Affiche les informations de débogage en mode console" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "n'affiche que les erreurs sur la ligne de commande" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "Liste des extensions de fichiers photo et vidéo reconnues par le programme" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "Détecter automatiquement les périphériques à partir desquels télécharger, " "écraser les préférences du programme" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "Spécifier manuellement le chemin des périphériques à partir desquels " "télécharger, écraser les préférences du programme" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "Réinitialise tous les paramètres et préférences du programme" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Erreur: activez l'auto-détection ou spécifiez manuellement un chemin pour " "les périphériques à partir desquels télécharger mais ne faites pas les deux." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "et %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Tous les paramètres et préférences ont été réinitialisés" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Erreur lors de la sauvegarde" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Le dossier de destination n'a pas pu être créé %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Source : %(source)s\n" "Destination : %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Erreur : %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Fichier: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Périphérique détecté" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Est-ce qu'il faut transférer des photos et vidéos à partir de ce " "périphérique ou cette partition ?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "Se souveni_r de ce choix" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "Mo/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Date/heure" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Texte" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nom de fichier" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Métadonnées" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Séquences" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Étiquette de transfert" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Date de l'image" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Date de la vidéo" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Aujourd'hui" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Hier" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Date du transfert" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nom + extension" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nom" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extension" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Numéro de l'image" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Numéro de vidéo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Ouverture" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Vitesse d'obturation" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Longueur focale" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Marque de l'appareil" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Modèle de l'appareil" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Modèle de l'appareil (version courte)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Nom court de l'appareil photo avec trait d'union" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Numéro de série" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Nombre de déclenchements de l'obturateur" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Numéro de Fichier" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Répertoire seulement" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Répertoire et fichier" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nom du propriétaire" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Codec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Largeur" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Hauteur" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Longueur" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Images par seconde" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Artiste" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Droits d’auteur" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Transferts journaliers" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Numéro de session" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Numéro de sous-dossier" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Nombres stockés" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Séquence alphabétique" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Tous les chiffres" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Dernier chiffre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "2 derniers chiffres" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "3 derniers chiffres" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "4 derniers chiffres" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Casse originale" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "MAJUSCULES" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "minuscules" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Un chiffre" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Deux chiffres" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Trois chiffres" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Quatre chiffres" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinq chiffres" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Six chiffres" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "7 chiffres" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Sous-secondes" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "AAAAMMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "AAAA-MM-JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "AAMMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "AA-MM-JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMJJAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMJJAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "JJMMAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "JJMMAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Mois (complet)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Mois (en abrégé)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutes)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" "Les préférences de sous-dossier ne devraient pas commencer avec un %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" "Les préférences de sous-dossier ne devraient pas se terminer avec un %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" "Les préférences de sous-dossier ne devraient pas contenir deux %s consécutifs" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Supprimer toutes les étiquettes de transfert ?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" "Êtes-vous sûr de vouloir supprimer toutes les étiquettes de transfert ?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Supprimer tous les emplacements mémorisés ?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Supprimer tous les emplacements mémorisés ?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Enlever tous les exmplacements exclus ?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Enlever tous les exmplacements exclus ?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Erreur dans les préférences de renommage des photos" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Erreur dans les préférences de renommage des vidéos" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Erreur dans les préférences des sous-dossiers de transfert de photos" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Erreur dans les préférences des sous-dossiers de transfert de vidéos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Entrer une étiquette de transfert" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" "Séléctionnez une étiquette de transfert existante ou créez en une nouvelle" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Entrez une nouvelle étiquette de transfert" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Étiquette de transfert" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Saisissez un emplacement à exclure" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Saisissez un emplacement pour lequel les photos et les vidéos ne seront pas " "recherchées" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Emplacement :" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Code Tâche" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Choisissez un dossier dans lequel sauvegarder les photos" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Choisissez un dossier dans lequel sauvegarder les vidéos" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Attention : Il n'y a pas assez de métadonnées pour générer " "correctement le nom. Utilisez d'autres options de renommage." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Attention : Il n'y a pas suffisamment de métadonnées pour générer " "les sous-dossiers correctement. Veuillez utiliser d'autres options pour " "nommer les sous-dossiers." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Exemple : %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Les préférences de dossier %(filetype)s entrées sont invalides et ne peuvent " "être utilisées.\n" "Elles vont être réinitialiseées à leurs valeurs par défaut." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Les expressions rationnelles ci-dessous sont invalides et seront enlevées si " "vous ne les corrigez pas :\n" "%s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Cette expression rationnelle est invalide et sera enlevée si vous ne la " "corrigez pas :\n" "%s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Expression rationnelle non valide" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "disqueexterne1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "disqueexterne2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manille" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Prague" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Téhéran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rome" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moscou" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsovie" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "sous-dossier" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nom de fichier" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "La valeur de date et heure %s semble non valable." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Le nom de fichier n'a pas d'extension." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Le nom du fichier n'a pas de composante unique." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Erreur lors de la génération de la composante %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s metadonné(e) illisible(s)" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s n'a pu être généré" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Une erreur s'est produite lors de la copie de %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s existe déjà" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s n'a pu être sauvegardé car aucun emplacement approprié nà pu " "être trouvé." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s a été prise le %(image1_date)s à %(image1_time)s, et %(image2)s " "le %(image2_date)s à %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s a déjà été transféré" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "La dernière modification du fichier existant %(filetype)s a été effectuée le " "%(date)s à %(time)s. L'identifiant unique '%(identifier)s' ajouté." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "La dernière modification du fichier existant %(filetype)s a été effectuée le " "%(date)s à %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Il n'y a aucune donnée pour nommer le %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Erreur : %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Les métadonnées sont peut-être corrompues" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "Le nom de fichier, l'extension et l'information Exif indiquent qu'il a déjà " "été transféré." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Il a été archivé sur %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Il a été archivé sur ce périphérique : " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s et %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Des photos ayant des noms de fichiers indentiques mais ayant été prises à " "des moments différents ont été détectées : %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" "Une erreur c'est produite lors de l'archivage sur %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Une erreur c'est produite lors de l'archivage sur %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Des erreurs se sont produites lors de la sauvegarde sur le volume de " "sauvegarde suivant : " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s et %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s et %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Une sauvegarde existe déjà sur %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Des sauvegardes existent déjà aux emplacements suivants : " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Sauvegarde écrasée sur %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Sauvegardes écrasées sur les périphériques suivants : " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" "Une erreur s'est produite lors de la création des répertoires sur " "%(volume)s : %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Des erreurs se sont produites lors de la création des répertoires sur les " "volume de sauvegarde suivants : " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Ainsi que, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " En outre, il y avait des %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " En outre, il y avait un %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Le %(type)s de métadonnées est manquant." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "la métadonnée suivante est manquante: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s et %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problème lors de la génération du sous-dossier et du nom de fichier" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problème lors de la génération du sous-dossier et du nom de fichier" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problèmes lors de la génération de %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problème lors de la génération de %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s existe déjà, mais cela a été archivé" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Une erreur s'est produite lors de la copie de %(filetype)s, mais cela a été " "archivé" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Plusieurs problèmes ont été rencontrés" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Des photos portant le même nom mais prises à différents moments ont été " "détectées" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "il y a eu des erreurs lors de la sauvegarde" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Il y a eu des erreurs lors de la sauvegarde" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "il y a eu une erreur lors de la sauvegarde" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Il y a eu une erreur lors de la sauvegarde" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, et %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "Lecture en cours: %(photos)s photos et %(videos)s vidéos trouvées" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "Sous-dossier et nom de fichier" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "La photo a déjà été transférée" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Source : %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Echec de création de sous-répertoire de destination" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Chemin: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "À propos..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "Tout _cocher" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Sélectionner toutes les photos" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "sélectionner toutes les vidéos" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "Faire un don..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "Aide en li_gne..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Aide" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Préférences" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Quitter" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Actualiser" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Rapporter un problème..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Traduire cette application…" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "To_ut déselectionner" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Fichier" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Transfert / Pause" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Sélection" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Séléctionner tous les fichiers n'ayant pas d'étiquette de transfert" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Séléctionner tous les fic_hiers ayant une étiquette de transfert" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Voir" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "Journal des _erreurs" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Effacer les transferts terminés" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Fichier précédent" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Fichier suivant" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Aide" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Traduire cette application..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Inclure dans le transfert" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Transférer" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Préférences : Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Dossiers de destination des " "photos" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Exemple : /home/utilisateur/Images" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Sous-dossiers de transfert" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Dossier de destination :" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Choisissez le dossier de destination. Les sous-dossiers pour les photos " "transférées seront automatiquement crées dans ce dossier selon la structure " "spécifiée ci-dessous." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Dossier de destination" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Dossiers photos" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Renommage des photos\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Renommage des phtoos" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Nouveau :" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original :" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Exemple" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Renommage des photos" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Dossiers de destination des " "vidéos" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Désolé, la fonctionnalité de transfert de vidéos est désactivée. Afin de " "l'activer, installez soit les modules python hachoir metadata et " "kaa metadata, soit exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Choisissez le dossier de destination. Des sous-dossiers pour les vidéos " "transférées seront automatiquement créés dans ce dossier en utilisant la " "structure spécifiée ci-dessous." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Dossiers vidéos" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Renommage des vidéos\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Renommage des vidéos" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Options de renommage" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Séquences numériques" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Spécifiez l'heure au format 24h à laquelle la séquence Transferts " "journaliers doit être réinitialisée." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Début du jour :" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Transferts journaliers :" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Nombre stocké :" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" "Synchroniser les séquences numériques pour les paires d'images RAW + JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Compatibilité avec d'autres systèmes d'exploitation" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Spécifier si les noms de photo, de vidéo et de dossier doivent avoir des " "caractères supprimés n'étant pas autorisés par d'autre systèmes " "d'exploitation." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Enlever les caractères incompatibles" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Options de renommage" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" "Étiquettes de transfert" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Étiquettes de transfert" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Ajouter..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "Tout supprim_er" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Étiquettes de transfert" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Périphériques" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Périphériques" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Les périphériques sont les emplacements d'où sont chargés les photos et " "vidéos, tels que les caméras, les cartes mémoire ou volumes de stockage " "amovibles.\n" "\n" "Vous pouvez charger à partir de différents périphériques simultanément ou " "vous pouvez spécifier un emplacement sur votre disque dur.\n" "\n" "Charger directement à partir d'une caméra est actuellement une options au " "stade expérimental. Si le chargement direct à partir de la caméra " "fonctionnement lentement ou pas du tout, essayez le réglage en mode PTP. Si " "c'est impossible, un lecteur de carte devra être utilisé." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Détecter automatiquement les volumes de stockage amovibles" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Détecter les périphériques automatiquement" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Si vous activez la détection automatique des volumes de stockage amovibles, " "le périphérique sera scanné dans son intégralité. Pour les grands volumes, " "cela peut prendre un certain temps.\n" "\n" "Lorsque cette options est activée et qu'un périphérique potentiel est " "détecté, il vous sera demandé s'il doit être scanné ou non." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Emplacement :" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Si vous désactivez la détection automatique, choisissez les emplacements " "exacts des photos et vidéos." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" "Options des périphériques" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Emplacements mémorisés" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Les emplacements mémorisés sont associés aux périphériques que vous avez " "choisis de toujours scanner ou ignorer lorsque la détection automatique des " "périphériques de stockage amovible est activée." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Emplacements exclus" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Spécifiez la portion finale de tout emplacement que vous souhaitez ignorer " "lors d'une recherche de photos ou de vidéos sur un périphérique. Tout " "emplacement se terminant par ces valeurs sera ignoré lors de la recherche." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Tout suppri_mer" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Utiliser les expressions rationnelles de type _python" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Options des périphériques" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Sauvegarde\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Sauvegardes" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Si vous désactivez la détection automatique, choisissez les emplacements " "exacts des sauvegardes." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Détecter automatiquement les volumes de sauvegarde" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Vous pouvez archiver vos photos et vidéos vers des emplacements multiples " "dès lors qu'elles sont transférées, sur différents disques durs par exemple." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Sauvegarder les photos et les vidéos lors du transfert" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Spécifier le dossier dans lequel l'archivage est stocké sur le périphérique. " " \n" "\n" "Note: ceci sera également utilisé pour déterminer si oui ou non le " "périphérique est utilisé pour les sauvegardes. Créez un répertoire avec un " "de ces noms sur chaque volume de sauvegarde." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Emplacement de sauvegarde des photos :" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Dossier de sauvegarde des photos :" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Exemple :" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/disqueexterne/Photos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Dossier de sauvegarde des vidéos :" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Emplacement de sauvegarde des vidéos :" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Divers" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatisation de l'application" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Démonter (« éjecter ») le périphérique après un transfert réussi" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Démarrer le transfert au démarrage de l'application" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Commencer le transfert lors de l'insertion d'un périphérique" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Quitter l'application après un transfert réussi" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" "Quitter l'application même si des avertissements ou des erreurs ont été " "signalés pendant le transfert" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Pivoter automatiquement les images au format JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Performance" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Générer les aperçus (plus lent)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Divers" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Gestion des erreurs" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Photo et Vidéo Conflits de noms" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Ajouter un identifiant unique" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Passer le transfert" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Lorsqu'une photo ou une vidéo portant le même nom a déjà été transférée, " "choisissez si vous souhaitez sauter le transfert ou si vous préférez ajouter " "un identifiant unique." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Lors de l'archivage, choisir s'il faut écraser ou passer un fichier ayant le " "même nom sur le volume de sauvegarde." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Écraser" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Passer" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Gestion des erreurs" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Transférez vos photos et vidéos de façon simple et fiable" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Désolé, il y a une erreur dans cette préférence :\n" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Scan du volume complet : %(number)s ont été trouvées sur le volume %(device)s" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 de %s images copiées" #~ msgid "Select an image folder" #~ msgstr "Sélectionner un dossier d'images" #~ msgid "Select a folder in which to backup images" #~ msgstr "Sélectionner un dossier de sauvegarde des images" #, python-format #~ msgid "Source: %s" #~ msgstr "Source : %s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Source : %(source)s\n" #~ "Destination : %(destination)s\n" #~ "Problème : %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Source : %(source)s\n" #~ "Problème : %(problem)s" #~ msgid "Image filename could not be generated" #~ msgstr "Le nom du fichier n'a pas pu être généré" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Le nom du fichier n'a pas pu être généré correctement. Vérifiez qu'il y ait " #~ "suffisamment de métadonnées dans l'image." #~ msgid "Image has no metadata" #~ msgstr "L'image n'a pas de métadonnées" #~ msgid "Could not open image" #~ msgstr "Impossible d'ouvrier l'image" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Le nom du sous-dossier n'a pas pu être généré correctement. Vérifiez qu'il y " #~ "ait suffisamment de métadonnées dans l'image." #~ msgid "Backup image already exists" #~ msgstr "Une sauvegarde existe déjà" #~ msgid "The image was not copied." #~ msgstr "L'image n'a pas été copiée." #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Identifant unique '%s' ajouté" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Sous-dossier : %(subfolder)s\n" #~ "Image : %(image)s\n" #~ "Problème : %(problem)s" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s images non prises en compte" #~ msgid "errors" #~ msgstr "erreurs" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Source : %(source)s\n" #~ "Destination : %(destination)s\n" #~ "Erreur : %(errno)s %(strerror)s" #~ msgid "The device can now be safely removed" #~ msgstr "Le volume peut maintenant être retiré en toute sécurité" #~ msgid "Image has no thumbnail" #~ msgstr "L'image n'a pas d'aperçu" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s images copiées sur %(total)s" #~ msgid "Image overwritten" #~ msgstr "Image écrasée" #~ msgid "Image already exists" #~ msgstr "L'image existe déjà" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Une version plus récente de l'application a précédemment été lancée sur cet " #~ "ordinateur.\n" #~ "\n" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Transfert terminé depuis %s" #~ msgid "Download copying error" #~ msgstr "Erreur de copie lors du transfert" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s images transférées" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Le transfert a débuté depuis %s" #~ msgid "Warning:" #~ msgstr "Avertissement :" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "" #~ "Désolé, certaines préférences ne sont pas valides et seront réinitialisées." #~ msgid "No preferences needed to be changed." #~ msgstr "Aucun changement des préférences n'a été nécessaire." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Cette version de l'application utilise des préférences différentes de " #~ "l'ancienne version. Vos préférences ont été mises à jour.\n" #~ "Veuillez les vérifier afin d'assurer le bon fonctionnement de l'application." #~ msgid "Preferences were modified." #~ msgstr "Les préférences ont été modifiées." #~ msgid "Problem using pynotify." #~ msgstr "Problème d'utilisation de pynotify" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Cette version de l'application utilise des préférences différentes de " #~ "l'ancienne version. Certaines de vos préférences antérieures sont invalides " #~ "et n'ont pas été mises à jour. Elles vont être réinitialisées." #~ msgid "Using manually specified path" #~ msgstr "Utilisation du chemin d'accès renseigne manuellement" #~ msgid "Automatically start download is true" #~ msgstr "Le démarrage automatique du transfert est activé" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Le volume %(device)s a été détecté avec le chemin d'accès %(path)s" #~ msgid "Automatically start download is false" #~ msgstr "Le démarrage automatique du transfert est désactivé" #~ msgid "images skipped" #~ msgstr "Images non prises en compte" #~ msgid "_Download " #~ msgstr "_Transfert " #~ msgid "images downloaded" #~ msgstr "Images transférées" #~ msgid "_Pause" #~ msgstr "_Pause" #~ msgid "Preferences were changed." #~ msgstr "Les préférences ont été modifiées" #~ msgid "Goodbye" #~ msgstr "Au-revoir" #, python-format #~ msgid "%s is already running" #~ msgstr "%s déjà actif" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "affiche les extensions de fichier reconnues par l'application et quitte " #~ "l'application" #~ msgid "These preferences are not well formed:" #~ msgstr "Les préférences suivantes ne sont pas bien formattées :" #~ msgid "extension was specified but image name has no extension" #~ msgstr "" #~ "Un extension a été spécifiée mais le nom de l'image ne comporte aucune " #~ "extension" #~ msgid "image number was specified but image filename has no number" #~ msgstr "" #~ "Un numéro d'image a été spécifié mais le nom de l'image ne comporte aucun " #~ "numéro" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "Erreur dans la génération du nom avec le composant %s" #~ msgid " " #~ msgstr " " #~ msgid "Image Rename" #~ msgstr "Renommage des images" #~ msgid "Missing Backup Devices" #~ msgstr "Volumes de sauvegarde absents" #~ msgid "Image Name Conflicts" #~ msgstr "Conflits de nom d'images" #~ msgid "Image Devices" #~ msgstr "Volume d'images" #~ msgid "Automation" #~ msgstr "Automatisation" #~ msgid "Example: /home/user/photos" #~ msgstr "Exemple : /home/utilisateur/photos" #~ msgid "Automation" #~ msgstr "Automatisation" #~ msgid "Backup" #~ msgstr "Sauvegarde" #~ msgid "Backup folder name:" #~ msgstr "Nom du dossier de sauvegarde :" #~ msgid "Image Devices" #~ msgstr "Volume d'images" #~ msgid "Image Rename\t" #~ msgstr "Renommage des images\t" #~ msgid "Automatically detect image devices" #~ msgstr "Détecter automatiquement les volumes d'images" #~ msgid "Backup photos when downloading" #~ msgstr "Sauvegarder les photos pendant le transfert" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Choisissez si vous souhaitez passer l'image ou ajouter un identifiant unique." #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importez vos images efficacement et de façon fiable" #~ msgid "Image location:" #~ msgstr "Emplacement de l'image :" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Si la détection automatique est désactivée, choisissez un emplacement pour " #~ "la sauvegarde." #~ msgid "Exit program after completion of successful download" #~ msgstr "Quitter l'application à la suite d'un transfert réussi" #~ msgid "Ignore" #~ msgstr "Ignorer" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Si la détection automatique est désactivée, choisissez un emplacement pour " #~ "les images." #~ msgid "Error Log" #~ msgstr "Journal des erreurs" #~ msgid "Report an error" #~ msgstr "Rapporter une erreur" #~ msgid "Report a warning" #~ msgstr "Rapporter un avertissement" #~ msgid "Start downloading upon image device insertion" #~ msgstr "Démarrer le transfert lors de l'insertion d'un volume d'images" #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Spécifiez s'il faut enlever du nom des images et des dossiers tout caractère " #~ "non autorisé par d'autres systèmes d'exploitation." #~ msgid "_Photos" #~ msgstr "_Photos" #~ msgid "Resetting value to zero.\n" #~ msgstr "Remise à zéro de la valeur.\n" #~ msgid "Resetting to default values." #~ msgstr "Réinitialisation aux valeurs par défaut" #~ msgid "Download Folder" #~ msgstr "Dossier de destination" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Spécifiez le dossier dans lequel sont stockées les sauvegardes sur le " #~ "volume.\n" #~ "\n" #~ "Note : cela sera également utilisé pour déterminer si le volume est " #~ "utilisé pour les sauvegardes. Pour chaque volume que vous souhaitez utiliser " #~ "pour les sauvegarder, créez un dossier portant ce nom." #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Démonter (« éjecter ») le volume d'images après le transfert" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Impossible d'afficher la vignette" #~ msgid "Image skipped" #~ msgstr "Image passée" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Lors de la sauvegarde, choisissez s'il faut écraser une image portant le " #~ "même nom sur le volume de sauvegarde, ou s'il faut passer l'image." #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Il est possible de sauvegarder les photos sur des emplacements multiples, " #~ "différents du dossier de transfert (par exemple, des disques durs externes)." #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Valeur de 'Transferts journaliers' invalide.\n" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Un nouveau jour a commencé - remise à zero de la numérotation « Transferts " #~ "journaliers »" #~ msgid "No backup device was detected." #~ msgstr "Aucun volume de sauvegarde n'a été détecté." #~ msgid "Resetting to midnight.\n" #~ msgstr "Réinialisation à minuit.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "La valeur de la préférence « Début de la journée » est corrompue.\n" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "La métadonnée est essentielle pour générer les noms des sous-dossiers / des " #~ "images.\n" #~ "Source : %s" #~ msgid "Backup device missing" #~ msgstr "Volume de sauvegarde absent" #~ msgid "This device has no images to download from." #~ msgstr "Aucune image à transféré depuis le volume." #~ msgid "Error in Image Rename preferences" #~ msgstr "Erreur dans les préférences concernant le renommage des images" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Les préférences pour le sous-repertoire ne sont pas valables et ne peuvent " #~ "être utilisées.\n" #~ "Les valeurs par défaut seront utilisées." #~ msgid "Some preferences will be reset." #~ msgstr "" #~ "Certaines préférences vont être réinitalisées à leurs valeurs par défaut." #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "La métadonnée %s n'est pas présente dans l'image" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "" #~ "Erreur dans le composant de date/heure. La valeur %s semble non valide" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "La préférence « %(value)s » est invalide" #~ msgid "It may be corrupted" #~ msgstr "Il est peut-être corrompu" #~ msgid "Subsecond metadata not present in image" #~ msgstr "L'image ne contient pas la métadonnée sous-secondes" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Avertissement : Il n'y a pas assez de métadonnées dans l'image " #~ "pour générer le nom de façon complète. Utilisez une autre option de " #~ "renommage." #~ msgid "Starting downloads" #~ msgstr "Démarrage du transfert" #~ msgid "Using" #~ msgstr "En utilisation" #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Echec de la reception des possibilités du serveur pynotify" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Attention: Il y a un manque de méta-donnés des images pour générer " #~ "des sous-dossiers vides. S'il vous plait utiliser un autre sous dossier en " #~ "nommant les options." #~ msgid "Job Code not entered" #~ msgstr "Étiquettes de transfert non renseignée" #~ msgid "Prompting for Job Code" #~ msgstr "En attende de l'étiquette de transfert" #~ msgid "Job Code entered" #~ msgstr "Étiquette de transfert entrée" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "" #~ "Démarrage des téléchargements qui ont attendu une étiquette de transfert" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s a été séléctionné comme source de transfert" #~ msgid "This device or partition will always be used to download from" #~ msgstr "" #~ "Ce périphérique ou cette partition sera toujours utilisé comme source de " #~ "transfert" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s a été rejeté comme source de transfert" #~ msgid "This device or partition will never be used to download from" #~ msgstr "" #~ "Ce périphérique ou cette partition ne sera jamais utilisé comme source de " #~ "transfert" #~ msgid "Enter a new job code." #~ msgstr "Saisissez une nouvelle étiquette de transfert" #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "" #~ "Voulez-vous utiliser ce périphérique ou cette partition comme source de " #~ "transfert ?" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Périphérique %(device)s (%(path)s) ignoré" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Détection terminée : aucune image trouvée sur %s" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Les préférences pour le sous-dossier présentent des valeurs inutiles qui ont " #~ "été retirées." #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Erreur dans les préférences concernant le sous-dossier de transfert" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Affichage du choix d'utilisation ou non de %s" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Affiche déjà pour l'étiquette de transfert, n'affichera plus" #~ msgid "There is an error in the program preferences." #~ msgstr "Il y a une erreur dans les préférences du programme." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Merci de vérifier les préférences, de redémarrer le programme et d'essayer " #~ "encore." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Source : %(source)s\n" #~ "Destination : %(destination)s\n" #~ "Erreur : %(errorno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Le dossier de destination n'a pas pu être créé\n" #~ "%(directory)s\n" #~ "Erreur : %(errno)s %(strerror)s" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "" #~ "Saisissez une nouvelle étiquette de transfert, ou choisissezen une précédente" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Les préférences de l'application semblent correctes, veuillez tout de même " #~ "les vérifier afin d'assurer le bon déroulement de l'opération." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "L'application a été mise à jour. Vérification des préférences." #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "La préférence '%(key)s' est invalide.\n" #~ "Valeurs attendues : %(value)s" #~ msgid "Backup location:" #~ msgstr "Emplacement de la sauvegarde :" #~ msgid "Download Folder" #~ msgstr "Dossier de téléchargement" #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Périphériques d'images dont des volumes depuis lesquels sont transférées des " #~ "photos (appareil photo, carte mémoire ou équipements de stockage portable).\n" #~ "\n" #~ "Vous avez la possibilité de transférer des photos depuis plusieurs " #~ "périphérique simultanément.\n" #~ "\n" #~ "Si le transfert direct depuis votre appareil photo fonctionne " #~ "difficilement voire pas du tout, essayez de le paramétrer en mode PTP. Si ce " #~ "n'est pas possible, utilisez un lecteur de cartes." #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader est un logiciel libre; vous pouvez le distribuer " #~ "et/ou le modifier sous les termes de la licence GNU General Public License " #~ "comme publiée par la Free Software Foundation; soit dans la version 2 de " #~ "cette license, ou (selon votre choix) dans les termes d'une version " #~ "postérieure. \n" #~ "\n" #~ "Ce programme est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE " #~ "GARANTIE; sans même la garantie implicite de COMMERCIALISATION ou " #~ "D’ADAPTATION A UN OBJET PARTICULIER. Pour plus de détails, voir la Licence " #~ "Publique Générale GNU.\n" #~ "\n" #~ "Un exemplaire de la Licence Publique Générale GNU doit être fourni avec ce " #~ "programme; si ce n’est pas le cas, écrivez à la Free Software Foundation " #~ "Inc., 675 Mass Ave, Cambridge, MA 02139, Etats-Unis." #~ msgid "Image Rename" #~ msgstr "Renommage d'images" #~ msgid "Image Devices" #~ msgstr "Périphériques d'images" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Spécifiez quelle action appliquer lorsqu'une image portant le même nom a " #~ "déjà été transférée ou sauvegardée." #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "" #~ "Spécifiez quelle action appliquer quand il n'y a aucun volume de sauvegarde." #~ msgid "_Thumbnails" #~ msgstr "Vigne_ttes" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Si vous activez la détection automatique des volumes de stockage amovibles, " #~ "le volume complet sera analysé. Sur des volumes de capacité importante, cela " #~ "peut prendre du temps." rapid-photo-downloader-0.4.10/po/ca.po0000644000175000017500000014757712302421641017755 0ustar damondamon00000000000000# Catalan translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-25 01:13+0000\n" "Last-Translator: Adolfo Jayme \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-02-23 16:36+0000\n" "X-Generator: Launchpad (build 16926)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Dispositiu" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Mida" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Progrés de la baixada" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "No es va desmuntar el %(device)s" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "s’està escanejant…" #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "l’arrel del sistema de fitxers" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Baixada des de %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Realment voleu baixar des d’aquí? En alguns sistemes, l’escaneig d’aquesta " "ubicació pot trigar massa." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Baixa" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Atura" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Aquestes carpetes de baixada no són vàlides:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Aquesta carpeta de baixada no és vàlida:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "No es pot continuar amb la baixada" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "No hi ha cap dispositiu que contingui una carpeta vàlida per fer la còpia de " "seguretat de %(filetype)s" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotos" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "vídeos" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Queda prop d’un segon" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Queden prop de %i segons" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Queda prop d’un minut" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Queden %(minutes)i:%(seconds)02i minuts" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fotos i vídeos" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fotos o vídeos" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "vídeo" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "foto" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s baixats" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "No s’han pogut baixar %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avisos" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s baixats" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "No s’ha pogut baixar %(filetype)s" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s de %(total)s %(filetypes)s (queden %(remaining)s)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s de %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Des de" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Detecció automàtica" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Trieu una carpeta que contingui %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Còpia" #: rapid/rapid.py:3397 msgid "Move" msgstr "Mou" #: rapid/rapid.py:3419 msgid "To" msgstr "A" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fotos:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Trieu una carpeta en la qual es baixaran les fotos" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Vídeos:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Trieu una carpeta en la qual es baixaran els vídeos" #: rapid/rapid.py:3650 msgid "and" msgstr "i" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Espai lliure:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s lliure" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Els paràmetres del programa no són vàlids" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Foto" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Vídeo" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "La carpeta de baixada per %(file_type)s no hi existeix" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Carpeta: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "La carpeta de baixada per %(file_type)s és incorrecta" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "No es pot escriure a la carpeta de baixada per %(file_type)s" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniatures" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "mostra informació de depuració en executar des de la línia d’ordres" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "restableix tots els paràmetres del programa i surt" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "i %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "S’han restablit tots els paràmetres i preferències" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "S’ha produït un error en fer la còpia de seguretat" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "No s’ha pogut crear la carpeta de destinació: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Origen: %(source)s\n" "Destinació: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "S’ha produït un error: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Fitxer: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "S’ha produït un error desconegut" #: rapid/device.py:80 msgid "Device Detected" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Voleu baixar fotos i vídeos des d’aquest dispositiu o partició?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Recorda aquesta elecció" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Text" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nom del fitxer" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadades" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Seqüències" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Codi de tasca" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Data de la imatge" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Data del vídeo" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Avui" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Ahir" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Temps de baixada" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nom + extensió" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nom" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extensió" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Temps d’exposició" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Distància focal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Fabricant de la càmera" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Model de la càmera" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Número de sèrie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Només la carpeta" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Carpeta i fitxer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nom del propietari" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Còdec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Amplada" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Alçada" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Durada" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Artista" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Copyright" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Baixades avui" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Lletra de seqüència" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Tots els dígits" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Últim dígit" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Últims 2 dígits" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Últims 3 dígits" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Últims 4 dígits" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "MAJÚSCULES" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "minúscules" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Un dígit" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Dos dígits" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tres dígits" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Quatre dígits" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinc dígits" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Sis dígits" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Set dígits" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Subsegons" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Mes (abreujat)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minuts)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Voleu suprimir tots els codis de tasques?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Voleu suprimir tots els codis de tasques?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Voleu suprimir tots els camins recordats?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Voleu suprimir tots els camins recordats?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Introduïu un codi de tasca" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Introduïu un codi de tasca nou o trieu un codi anterior" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Introduïu un codi de tasca nou" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Codi de tasca:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Camí:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Codi de tasca" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Exemple: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "L’expressió regular no és vàlida" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Nova York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Hèlsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "París" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlín" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moscou" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsòvia" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Estocolm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "subcarpeta" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nom de fitxer" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s i %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "S’ha produït un error en fer la còpia de seguretat a %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s i %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s i %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Falten les metadades de tipus %(type)s." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Falten les metadades següents: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s i %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "Subcarpeta i nom del fitxer" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Ja s’havia baixat la foto" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Origen: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Camí: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Quant a…" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/suports/unitatexterna/Fotos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Miscel·lània" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Comença la baixada en engegar el programa" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Tanca el programa quan finalitzi la baixada" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Tanca el programa fins i tot quan hi hagi errors o avisos" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Gira automàticament les imatges JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "Verifica els fitxers a mesura que es baixen" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Rendiment" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Genera miniatures (més lent)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Miscel·lània" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Gestió d’errors" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Conflictes de nom de foto i vídeo" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Afegeix un identificador únic" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Ignora la baixada" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Quan ja s’ha baixat una foto o vídeo amb el mateix nom, trieu entre ometre " "el fitxer o afegir un identificador únic." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "En fer còpies de seguretat, trieu entre sobreescriure un fitxer en el " "dispositiu amb el mateix nom o ometre-ho." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Sobreescriu" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Omet" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Gestió d’errors" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importeu les vostres fotos i vídeos amb eficiència i fiabilitat" rapid-photo-downloader-0.4.10/po/de.po0000644000175000017500000024767312270217615017770 0ustar damondamon00000000000000# German translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:16+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Laufwerk" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Grösse" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Fortschritt des Herunterladens" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s konnte nicht entfernt werden" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "Laufwerk wird durchsucht …" #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "Stammverzeichnis des Dateisystems" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Herunterladen von %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Wollen Sie wirklich von hier herunterladen? Auf manchen Systemen kann das " "Scannen dieses Ortes sehr lange dauern." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Herunterladen" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Anhalten" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Diese Download-Verzeichnisse sind ungültig:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Dieses Download-Verzeichnis ist ungültig:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Der Download kann nicht weitergeführt werden" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "Bilder" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "Filme" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Etwa 1 Sekunde verbleibend" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Etwa %i Sekunden verbleibend" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Etwa 1 Minute verbleibend" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Etwa %(minutes)i:%(seconds)02i Minuten verbleibend" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "Bilder und Filme" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "Bilder oder Filme" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "Film" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "Bild" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s heruntergeladen" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s konnten nicht heruntergeladen werden" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "Warnungen" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Alle Downloads sind abgeschlossen" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s heruntergeladen" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s konnten nicht heruntergeladen werden" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s of %(total)s %(filetypes)s (%(remaining)s verbleibend)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s von %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Von" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Auto-Erkennung" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Wählen Sie einen Ordner welcher %(file_types)s enthält" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Kopieren" #: rapid/rapid.py:3397 msgid "Move" msgstr "Verschieben" #: rapid/rapid.py:3419 msgid "To" msgstr "Nach" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Bilder:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Wählen Sie ein Verzeichnis für den Download der Bilder" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Filme:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Wählen Sie einen Ordner für den Download von Filmen" #: rapid/rapid.py:3650 msgid "and" msgstr "und" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Die Sicherungslaufwerke werden verwendet" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Das Sicherungslaufwerk wird verwendet" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Es wurden keine Sicherungslaufwerke gefunden" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Freier Speicherplatz:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s verfügbar" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Erstelle Sicherungskopie von Bildern und Filmen nach %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Sicherungskopieren in %(path)s erstellen" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" "Erstelle Sicherungskopie von Bildern nach %(path)s und von Filmen nach " "%(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Die Benutzervoreinstellungen sind ungültig" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Bild" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Film" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s Download-Verzeichnis existiert nicht" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Verzeichnis: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s Download-Verzeichnis ist ungültig" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s Download-Verzeichnis ist schreibgeschützt" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Vorschaubilder" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "Zeige die Programminformationen an, wenn das Programm aus der Kommandozeile " "aufgerufen wurde (Voreinstellung: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "Während des Ausführens von der Kommandozeile Debug-Informationen anzeigen" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "Zeige Fehlermeldungen nur auf der Kommandozeile an" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "Anzeigen der Dateitypen für Bilder und Filme anzeigen, welche das Programm " "erkennt und beenden" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "Laufwerke zum Herunterladen automatisch erkennen, bestehende " "Programmeinstellungen übergehen" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "PFAD zum Laufwerk für das Herunterladen manuell angeben, bestehende " "Programmeinstellungen übergehen" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "Alle Einstellungen auf Standardwerte zurücksetzten und beenden" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Fehler: Wählen Sie entweder »Laufwerke zum Herunterladen automatisch " "erkennen« oder »PFAD zum Laufwerk für das Herunterladen manuell angeben«, " "aber nicht beides gleichzeitig." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "und %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Alle Einstellungen wurden zurückgesetzt" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Fehler beim Erstellen der Sicherungskopie" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Das Zielverzeichnis konnte nicht erstellt werden: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Quelle: %(source)s\n" "Ziel: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Fehler: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Datei: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Laufwerk gefunden" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Soll dieses Laufwerk oder diese Partition zum Herunterladen von Bildern oder " "Filmen verwendet werden?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Auswahl merken" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Datum Uhrzeit" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Text" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Dateiname" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadaten" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sequenzen" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Auftragsbezeichnung" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Bilddatum" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Film Datum" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Heute" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Gestern" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Download-Zeit" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Name + Erweiterung" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Name" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Erweiterung" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Bildnummer" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Film Nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Blende" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO-Wert" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Belichtungszeit" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Brennweite" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Kamerahersteller" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Kameramodell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Kameramodell (kurz)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Kameramodell (kurz, Bindestriche)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Seriennummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Anzahl der Auslösungen" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Dateinummer" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "nur Ordner" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Ordner und Datei" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Name des Eigentümers" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Codec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Breite" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Höhe" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Länge" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Bilder pro Sekunde" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Autor" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Copyright" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Downloads heute" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Sitzungsnummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Nummer des Unterverzeichnisses" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Gespeicherte Nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Vorlaufender Buchstabe" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Alle Ziffern" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Letzte Ziffer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Letzte 2 Ziffern" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Letzte 3 Ziffern" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Letze 4 Ziffern" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Ursprüngliche Schreibweise" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "GROSSBUCHSTABEN" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "kleinschreibung" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Eine Ziffer" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Zwei Ziffern" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Drei Ziffern" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Vier Ziffern" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Fünf Ziffern" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Sechs Ziffern" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sieben Ziffern" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Hundertstelsekunden" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "JJJJMMTT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "JJJJ-MM-TT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "JJMMTT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "JJ-MM-TT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMTTJJJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMTTJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMTT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "TTMMJJJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "TTMMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "JJJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "TT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Monat (ausgeschrieben)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Monat (abgekürzt)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (Minuten)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Die Unterverzeichnisvoreinstellungen sollten nicht mit %s beginnen" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Die Unterverzeichnisvoreinstellungen sollten nicht mit %s enden" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" "Die Unterverzeichnisvoreinstellungen sollten nicht zwei %s nacheinander " "enthalten" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Alle Auftragsbezeichnungen löschen?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Sollen alle Auftragsbezeichnungen gelöscht werden?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Alle gespeicherten Pfade löschen?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Sollen alle gespeicherten Pfade gelöscht werden?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Alle ignorierten Pfade löschen?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Sollen alle ignorierten Pfade gelöscht werden?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Fehler in den Vorgaben zur Umbennennung von Bildern" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Fehler in den Vorgaben zur Umbennennung von Filmen" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Fehler in den Vorgaben für Bilder-Downloadunterordner" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Fehler in den Vorgaben zur Filme-Downloadunterordner" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Geben Sie eine Auftragsbezeichnung ein" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" "Geben Sie eine neue Auftragsbezeichung ein oder wählen Sie eine bestehende " "aus" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Geben Sie eine neue Auftragsbezeichung ein" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Auftragsbezeichnung:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Geben Sie einen Pfad ein, welcher ignoriert werden sollen" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Geben Sie einen Pfad ein, welcher nie nach Bildern oder Filmen durchsucht " "werden soll" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Pfad:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Auftragsbezeichnung" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" "Wählen Sie den Order in welchem die Sicherkeitskopien der Bilder abgelegt " "werden" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Wählen Sie einen Order für die Sicherungskopien der Filme" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Warnung: There is insufficient metadata to fully generate the " "name. Please use other renaming options." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Warnung: Die Metadaten sind unvollständig, die Unterordner können " "nicht erstellt werden. Bitte verwenden Sie andere Einstellungen zur " "Benennung der Unterordner." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Beispiel: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Die eingegebenen Einstellungen für %(filetype)s Unterordner sind ungültig " "und können nicht verwendet werden.\n" "Sie werden auf die Standardwerte zurückgesetzt." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Die folgenden regulären Ausdrücke sind ungültig und werden entfernt, sofern " "Sie sie nicht korrigieren:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Der folgende reguläre Ausdruck ist ungültig und wird entfernt, sofern Sie " "ihn nicht korrigieren:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Ungültiger regulärer Ausdruck" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "ExternesLaufwerk1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "ExternesLaufwerk2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Prag" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rom" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskau" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Warschau" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "Unterordner" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "Dateiname" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Die Werte für Datum und Uhrzeit %s scheinen ungültig zu sein." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Der Dateinamen enthält keinen Dateitypen." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Der Dateinamen enthält keine Zahlen." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Fehler beim Erstellen von %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s Metadaten können nicht gelesen werden" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s können nicht erstellt werden" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Beim Kopieren von %(filetype)s ist ein Fehler aufgetreten" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s existiert bereits" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "Von %(filetype)s konnte keine Sicherungskopie erstellt werden, da kein " "entsprechenden Verzeichnis gefunden wurde." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s wurde am %(image1_date)s um %(image1_time)s aufgenommen und " "%(image2)s am %(image2_date)s um %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s wurde bereits heruntergeladen" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Die existierende Datei %(filetype)s wurde zuletzt am %(date)s um %(time)s " "modifiziert. Eine eindeutige Kennung '%(identifier)s' wurde angefügt." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "Die existierende Datei %(filetype)s wurde zuletzt am %(date)s um %(time)s " "modifiziert." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" "Es existieren keine Daten um den Dateinamen zu erstellen %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Fehler: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Die Metadaten scheinen korrupt zu sein." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "Dateiname, Erweiterung und EXIF-Informationen zeigen an, dass das Bild schon " "heruntergeladen wurde." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Es wurde auf %(volume)s gesichert" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Es wurde auf diese Laufwerke gesichert: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s und %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Bilder mit identischen Dateinamen aber unterschiedlichen Aufnahmezeiten " "gefunden: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" "Ein Fehler trat auf beim beim Erstellen der Sicherungskopien auf Laufwerk " "%(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" "Ein Fehler trat auf beim beim Erstellen der Sicherungskopien auf Laufwerk " "%(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Fehler traten auf beim beim Erstellen der Sicherungskopien auf die folgenden " "Laufwerke: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s und %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s und %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Sicherungskopie existiert bereits auf %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Sicherungskopien existieren bereits auf den folgenden Laufwerken: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Sicherungskopie überschrieben auf %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Sicherungskopien überschrieben auf den folgenden Laufwerken: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Fehler beim Erstellen der Verzeichnisse auf %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Fehler beim Erstellen der Verzeichnisse auf den folgenden " "Sicherungslaufwerken: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s zusätzlich, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Zustätzlich sind folgende Probleme aufgetreten %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Zustätzlich ist folgendes Problem aufgetreten %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Die %(type)s Metadaten fehlen." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Die folgenden Metadaten fehlen: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" "%(missing_metadata_elements)s und %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Probleme bei der Erstellung der Order und Dateinamen" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problem bei der Erstellung der Order und Dateinamen" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Probleme bei der Erstellung von %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problem bei der Erstellung von %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s existiert bereits, wurde aber gesichert" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Beim kopieren von %(filetype)s, ist ein Fehler aufgetreten, es wurde aber " "gesichert" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Mehrere Probleme sind aufgetreten" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Bilder mit gleichem Dateinamen aber unterschiedlichen Aufnahmezeiten gefunden" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "beim Erstellen der Sicherungskopieren sind Fehler aufgetreten" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Beim Erstellen der Sicherungskopieren sind Fehler aufgetreten" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "beim Erstellen der Sicherungskopieren ist ein Fehler aufgetreten" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Beim Erstellen der Sicherungskopieren ist ein Fehler aufgetreten" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, und %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "Suche läuft (%(photos)s Fotos und %(videos)s Videos gefunden) …" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "Unterordner und Dateiname" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Das Bild wurde bereits heruntergeladen" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Quelle: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Der Download-Unterordner konnte nicht erstellt werden" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Pfad: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Alle auswählen" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Spenden Sie …" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Online Hilfe ..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Problemmeldung" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "A_uswahl aufheben" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Datei" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Download / Pause" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Auswahl" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Alle ohne Auftragsbezeichnung auswählen" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Alle mit Auftragsbezeichnung auswählen" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Ansicht" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Fehlerprotokoll" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Heruntergeladene Dateien nicht mehr anzeigen" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Vorherige Datei" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Nächste Datei" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Hilfe" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "Diese Anwendung überse_tzen …" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Datei herunterladen" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Herunterladen" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Voreinstellungen: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "Bilder Download Ordner" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Beispiel: /home/user/Bilder" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Download Unterverzeichnis" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Downloadverzeichnis:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Wählen Sie das Downloadverzeichnis. Unterverzeichnisse werden je nach " "gewählten Voreinstellungen automatisch erzeugt." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Download Verzeichnis" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Bilder Verzeichnisse" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Bilder Umbenennen\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Umbenennen von Bildern" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Neu:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Beispiel" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Bilder Umbenennen" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Film Download Ordner" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Verzeihung, das Herunterladen von Videos ist deaktiviert. Bitte installieren " "Sie zum Herunterladen von Videos entweder die hachoir metadata und " "kaa metadata Pakete oder exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Wählen Sie den Download Ordner. Unterordner für die Filme werden automatisch " "basierend auf der unten angefügten Struktur erstellt." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Filme Ordner" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Filme Umbenennen\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Filme Umbenennen" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" "Einstellungen zur Umbenennung" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Sequenznummern" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Geben Sie die Uhrzeit im 24-Stunden Format an, wann die Sequenznummer in " "Downloads heute zurückgesetzt werden soll." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Beginn des Tages:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Downloads heute:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Gespeicherte Nummer" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Synchronisiere RAW + JPEG Sequenznummern" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilität mit anderen Betriebssystemen" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Geben Sie ab, ob Zeichen in Namen oder Ordnern, welche auf einem anderen " "Betriebssystem nicht gültig sind, entfernt werden sollen." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Entferne nicht kompatible Zeichen" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Optionen für die Umbenennung" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Auftragsbezeichnungen" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Auftragsbezeichnungen" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Hinzufügen …" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "_Alle entfernen" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Auftragsbezeichnungen" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Laufwerke" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Laufwerke" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Suche automatisch nach portablen Laufwerken" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Automatisch erkannte Laufwerke" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Wenn Sie die automatische Erkennung von transportablen Speichergeräten " "einschalten, wird das ganze Gerät durchsucht. Dies kann je nach Grösse " "einige Zeit dauern.\n" "\n" "Ist diese Option eingeschaltet, so werden Sie nach der Erkennung eines " "Gerätes gefragt, ob es durchsucht werden soll oder nicht." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Ort:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Wenn Sie die automatische Erkennung ausschalten, wählen Sie den Ort zur " "Speicherung von Bildern und Filmen." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Geräteeinstellungen" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Gespeicherte Pfade" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Gespeicherte Pfade sind Geräten zugeordnet, welche nach Ihren Vorgaben immer " "durchsucht oder immer ignoriert werden, sobald die automatische Erkennung " "von transportablen Speichergeräten eingeschaltet ist." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Pfade ignorieren" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Spezifizieren Sie den letzten Teil eines Pfades an, welcher beim Durchsuchen " "von Geräten nach Bildern oder Filmen ignoriert werden soll. Jegliche Pfade " "welche mit diesen Werten enden, werden nicht durchsucht." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Alle _entfernen" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Verwende _python-style reguläre Ausdrücke" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Geräteeinstellungen" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Datensicherung\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Datensicherung" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Wenn Sie die automatische Erkennung ausschalten, wählen Sie den Ort zur " "Erstellung der Sicherungskopien." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Suche automatisch nach Backuplaufwerken" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Bilder und Filme können während dem Herunterladen an mehrere Orte gesichert " "werden, z.B. auf externe Laufwerke." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Sicherungskopien während dem Herunterladen erstellen" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Geben Sie den Ordner an, in welchem die Sicherungskopien gespeichert werden. " " \n" "\n" "Hinweis: Dies wird auch für den Entscheid verwendet, ob das Laufwerk für " "Sicherungskopien verwendet wird. Erstellen Sie auf jedem Laufwerk, welches " "für Sicherungskopien verwendet wird, einen Ordner mit diesem Namen." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Sicherungsort der Bilder" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Ordner für Sicherungskopien der Bilder:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Beispiel:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/medium/externeslaufwerk/Fotos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Sicherungsordner für Filme:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Sicherungsort für Filme" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Verschiedenes" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Programm Automatisierung" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" "Unmount (\"Auswerfen\") des Laufwerkes, sobald das Herunterladen beendet ist" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Beginn des Downloads bei Programmstart" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Mit dem Herunterladen beginnen, sobald ein Laufwerk verfügbar ist" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Programm beenden wenn alles Downloads abgeschlossen sind" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Programm beenden auch wenn Fehler oder Warnungen aufgetreten sind" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "JPEG-Dateien automatisch rotieren" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Geschwindigkeit" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Vorschaubilder erstellen (langsam)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Verschiedenes" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Fehlerbehandlung" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Namenskonflikte Bilder und Filme" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Füge eine eindeutige Information hinzu" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Überspringe Download" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Bitte wählen Sie aus, was zu tun ist, wenn ein Bild oder ein Film bereits " "heruntergeladen wurde, entweder Datei überspringen oder eine eindeutige " "Bezeichnung anfügen." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Bitte geben Sie an was geschehen soll, falls bei der Sicherung bereits eine " "Datei mit demselben Namen vorhanden ist, Überspringen oder Überschreiben." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Überschreibe" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Überspringen" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Fehlerbehandlung" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importieren Sie Ihre Bilder und Filme schnell und zuverlässig" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 von %s Bildern kopiert" #~ msgid "Could not open image" #~ msgstr "Das Bild konnte nicht geöffnet werden" #~ msgid "Image filename could not be generated" #~ msgstr "Der Dateiname konnte nicht erzeugt werden" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Der Dateiname konnte nicht erzeugt werden. Bitte überprüfen Sie die " #~ "Metadaten der Bilddatei." #~ msgid "Image has no metadata" #~ msgstr "Das Bild enthält keine Metadaten" #, python-format #~ msgid "Source: %s" #~ msgstr "Quelle: %s" #~ msgid "Backup image already exists" #~ msgstr "Die Sicherungskopie besteht bereits" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Ein neuer Tag hat begonnen - die Anzahl der 'Downloads Heute' wird " #~ "zurückgesetzt" #~ msgid "Download copying error" #~ msgstr "Fehler beim Kopieren" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Die eindeutige Bezeichnung '%s' wurde hinzugefügt" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s Bilder übersprungen" #~ msgid "errors" #~ msgstr "Fehler" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s Bilder heruntergeladen" #~ msgid "The device can now be safely removed" #~ msgstr "Das Laufwerk kann nun entfernt werden" #~ msgid "Backup device missing" #~ msgstr "Das Laufwerk für die Sicherungskopien fehlt" #~ msgid "Image overwritten" #~ msgstr "Bilddatei überschrieben" #~ msgid "This device has no images to download from." #~ msgstr "Das Laufwerk enthält keine Bilddateien." #~ msgid "Image has no thumbnail" #~ msgstr "Die Datei enthält kein Vorschaubild" #~ msgid "Image skipped" #~ msgstr "Bild übersprungen" #~ msgid "Image already exists" #~ msgstr "Bilddatei existiert bereits" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s von %(total)s Bildern kopiert" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Download von %s abgeschlossen" #~ msgid "Warning:" #~ msgstr "Warnung:" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "" #~ "Einige Voreinstellungen sind ungültig, sie werden auf die Standardwerte " #~ "zurückgesetzt." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Eine neuere Version des Programms wurde bereits auf diesem Computer " #~ "aufgerufen.\n" #~ "\n" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Diese Version des Programms ist neuer als bis bisherige. Die " #~ "Voreinstellungen werden überprüft." #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Vorschaubild kann nicht angezeigt werden" #~ msgid "It may be corrupted" #~ msgstr "Es könnte defekt sein" #~ msgid "No preferences needed to be changed." #~ msgstr "Es mussten keine Voreinstellungen angepasst werden." #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Überprüfung der Laufwerke abgeschlossen: %(number)s Bilder auf %(device)s " #~ "gefunden" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Quelle: %(source)s\n" #~ "Ziel: %(destination)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "" #~ "Überprüfung der Laufwerke abgeschlossen: Keine Bilder gefunden auf %s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Quelle: %(source)s\n" #~ "Ziel: %(destination)s\n" #~ "Fehler: %(errorno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Das Zielverzeichnis konnte nicht erstellt werden\n" #~ "%(directory)s\n" #~ "Fehler: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Quelle: %(source)s\n" #~ "Ziel: %(destination)s\n" #~ "Fehler: %(errno)s %(strerror)s" #~ msgid "Problem using pynotify." #~ msgstr "Bei der Verwendung von pynotify ist ein Problem aufgetreten." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Die Version des Programms verwendet andere Voreinstellungen als die " #~ "bisherige Version. Einige der bestehenden Einstellungen sind ungültig und " #~ "werden auf die Standardwerte zurückgesetzt." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Die Werte des pynotify Servers konnten nicht abgefragt werden." #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Die %(device)s gefunden auf Pfad %(path)s" #~ msgid "Using manually specified path" #~ msgstr "Verwende den manuell eingegebenen Pfad" #~ msgid "_Download " #~ msgstr "_Download " #~ msgid "_Pause" #~ msgstr "_Pause" #, python-format #~ msgid "%s is already running" #~ msgstr "%s wird bereits ausgeführt" #~ msgid "Using" #~ msgstr "Verwende" #~ msgid "Goodbye" #~ msgstr "Auf Wiedersehen" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Der Download von %s hat begonnen" #~ msgid " " #~ msgstr " " #~ msgid "These preferences are not well formed:" #~ msgstr "Diese Voreinstellungen sind falsch formatiert:" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Das Bild enthält keine Hunderstelsekunden-Informationen" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s Metadaten sind im Bild nicht vorhanden" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "" #~ "Fehler in den Datum/Zeit Informationen. Der Wert %s scheint ungültig zu sein" #~ msgid "image number was specified but image filename has no number" #~ msgstr "" #~ "Eine Bildnummer wurde angegeben, aber der Dateiname enthält keine Nummer" #~ msgid "Image Devices" #~ msgstr "Laufwerke mit Bilddaten" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Quelle: %(source)s\n" #~ "Problem: %(problem)s" #~ msgid "Image Rename" #~ msgstr "Umbenennung von Bildern" #~ msgid "Missing Backup Devices" #~ msgstr "Fehlende Sicherungslaufwerke" #~ msgid "Image Devices" #~ msgstr "Laufwerke" #~ msgid "Download Folder" #~ msgstr "Download Verzeichnis" #~ msgid "Image Rename\t" #~ msgstr "" #~ "Umbenennung von Dateien\t" #~ msgid "Automation" #~ msgstr "Automatisierung" #~ msgid "Backup photos when downloading" #~ msgstr "Erstelle Sicherung der Bilder beim Herunterladen" #~ msgid "Automation" #~ msgstr "Automatisierung" #~ msgid "Backup" #~ msgstr "Datensicherung" #~ msgid "Backup folder name:" #~ msgstr "Verzeichnis für Datensicherung:" #~ msgid "Backup location:" #~ msgstr "Ziel der Datensicherung" #~ msgid "Automatically detect image devices" #~ msgstr "Suche automatisch nach Laufwerken mit Bildern" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Download Folder" #~ msgstr "Downloadverzeichnis" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Wählen Sie das genaue Verzeichnis für die Datensicherung, falls die " #~ "automatische Erkennung ausgeschaltet ist." #~ msgid "Exit program after completion of successful download" #~ msgstr "Beende das Programm nach Abschluss des Downloads" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Wählen Sie das genaue Verzeichnis für die Bilder, falls die automatische " #~ "Erkennung ausgeschaltet ist." #~ msgid "Error Log" #~ msgstr "Fehlerprotokoll" #~ msgid "Image Rename" #~ msgstr "Dateiumbenennung" #~ msgid "Image Devices" #~ msgstr "Laufwerke mit Bildern" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importieren Sie Ihre Bilder effizient und zuverlässig" #~ msgid "Image location:" #~ msgstr "Bilder Quelle:" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "" #~ "Geben Sie an was geschehen soll, falls keine Sicherungslaufwerke vorhanden " #~ "sind." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Geben Sie an was geschehen soll, wenn die Verzeichnisse Zeichen enthalten, " #~ "welche von anderen Betriebssystemen nicht unterstützt werden." #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Während der Datensicherung können bestehende Bilder auf dem " #~ "Sicherungslaufwerk überschrieben oder übersprungen werden." #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Aufwerfen des Bildlaufwerks nach Beendigung des Downloads" #~ msgid "Start downloading upon image device insertion" #~ msgstr "Beginn des Downloads beim Einfügen von Bilderlaufwerken" #~ msgid "_Photos" #~ msgstr "_Fotos" #~ msgid "_Thumbnails" #~ msgstr "_Vorschaubilder" #~ msgid "Resetting to midnight.\n" #~ msgstr "Die Zeit wird auf Mitternacht zurückgesetzt.\n" #~ msgid "Resetting value to zero.\n" #~ msgstr "Wert wird auf Null zurückgesetzt.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Der Vorgabewert für 'Start des Tages' ist ungültig.\n" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Anzahl der ungültigen Downloads von heute.\n" #~ msgid "No backup device was detected." #~ msgstr "Das Laufwerk für die Sicherungskopien konnte nicht gefunden werden." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Diese Version des Programms ist neuer als bis bisherige. Die " #~ "Voreinstellungen wurden angepasst\n" #~ "Bitte überprüfen Sie diese." #~ msgid "Preferences were modified." #~ msgstr "Die Voreinstellungen wurden geändert." #~ msgid "Automatically start download is false" #~ msgstr "Der automatische Downloadbeginn ist ausgeschaltet" #~ msgid "Automatically start download is true" #~ msgstr "Der automatische Downloadbeginn ist eingeschaltet" #~ msgid "Preferences were changed." #~ msgstr "Die Voreinstellungen wurden geändert." #~ msgid "images skipped" #~ msgstr "Bilder übersprungen" #~ msgid "images downloaded" #~ msgstr "Bilder heruntergeladen" #~ msgid "extension was specified but image name has no extension" #~ msgstr "" #~ "Erweiterung wurde angegeben, aber der Dateiname enthält keine Erweiterung" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "Ein Fehler ist aufgetreten bei der Erstellung des Namens mit %s" #~ msgid "Example: /home/user/photos" #~ msgstr "Beispiel: /home/user/Fotos" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Wählen Sie das Bild zu überspringen oder eine eindeutige Bezeichnung " #~ "einzufügen" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Sie können Bilder während des Herunterladens an mehrere Orten sichern, z.B. " #~ "auf externe Festplatten." #~ msgid "Job Code entered" #~ msgstr "Auftragsbezeichnung eingegeben" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "" #~ "Beginne mit den Dowaloads welche auf eine Auftragsbezeichnung gewartet haben" #~ msgid "Prompting for Job Code" #~ msgstr "Frage nach der Auftragsbezeichnung" #~ msgid "Report an error" #~ msgstr "Fehler anzeigen" #~ msgid "Report a warning" #~ msgstr "Warnung anzeigen" #~ msgid "Ignore" #~ msgstr "Ignorieren" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Geben Sie an was geschehen soll, falls eine Datei oder eine Sicherungskopie " #~ "mit demselben Namen bereits existiert." #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s wurde zum Herunterladen ausgewählt" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Abfrage, ob %s zu benutzen ist" #~ msgid "Job Code not entered" #~ msgstr "Keine Auftragsbezeichnung angegeben" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Auftragsbezeichnung wurde schon abgefragt, nicht wieder fragen" #~ msgid "Starting downloads" #~ msgstr "Beginne mit den Downloads" #~ msgid "Image Name Conflicts" #~ msgstr "Konflikte der Bildernamen" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Warnung: Die Bilder enthalten ungenügende Metadaten um den " #~ "Dateinamen zu erzeugen. Bitte verwenden Sie eine andere Option zur " #~ "Umbenennung." #~ msgid "The image was not copied." #~ msgstr "Das Bild wurde nicht kopiert." #~ msgid "This device or partition will always be used to download from" #~ msgstr "Von diesem Laufwerk oder dieser Partition wird immer heruntergeladen" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s wurde als Laufwerk zum Herunterladen abgelehnt" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Von diesem Laufwerk oder dieser Partition wird nie heruntergeladen" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "" #~ "Geben Sie eine neue Auftragsbezeichnung an oder wählen Sie eine bereits " #~ "bestehende." #~ msgid "Enter a new job code." #~ msgstr "Geben Sie eine neue Auftragsbezeichnung an." #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Laufwerk %(device)s (%(path)s) ignoriert" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "Anzeigen der gültigen Dateiendungen und beenden" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Voreingestellter Wert '%(value)s' ist ungültig" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Voreingestellter Schlüssel '%(key)s' ist ungültig.\n" #~ "Erwarteter Wert %(value)s" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Wenn Sie die automatische Erkennung für portable Laufwerke aktivieren, wird " #~ "das gesamte Laufwerk nach Bildern durchsucht. Bei sehr grossen Datenträgern " #~ "kann dies eine Weile dauern." #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Laufwerke mit Bilddaten sind Laufwerke, von welchen Bilder heruntergeladen " #~ "werden können, z.B. Kameras, Speicherkarten oder portable Speichermedien.\n" #~ "\n" #~ "Sie können Bilder von mehreren Speichermedien gleichzeitig herunterladen.\n" #~ "\n" #~ "Wenn das direkte Herunterladen von Ihrer Kamera langsam oder überhaupt " #~ "nicht funktioniert, versuchen Sie diese in den PTP Modus zu schalten. Sollte " #~ "das nicht möglich sein, verwenden Sie bitte einen Kartenleser." #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "" #~ "Sollen Bilder von diesem Laufwerk oder dieser Partition heruntergeladen " #~ "werden?" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Bitte überprüfen Sie die Voreinstellungen, starten Sie das Programm neu und " #~ "versuchen es erneut." #~ msgid "There is an error in the program preferences." #~ msgstr "Fehler in den Programmvoreinstellungen." #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Entschuldigung, diese Voreinstellungen enthalten einen Fehler:\n" #~ msgid "Resetting to default values." #~ msgstr "Die Voreinstellungen werden auf die Standardwerte zurückgesetzt." #~ msgid "Error in Image Rename preferences" #~ msgstr "Fehler in den Voreinstellungen zum Umbenennen der Dateien" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Die Programmvoreinstellungen scheinen gültig zu sein, aber bitte überprüfen " #~ "Sie diese, um einen problemlosen Programmablauf zu gewährleisten." #~ msgid "Some preferences will be reset." #~ msgstr "Einige Voreinstellungen werden zurückgesetzt." #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Die gewählten Voreinstellungen für Unterverzeichnisse sind ungültig und " #~ "können nicht benutzt werden.\n" #~ "Sie werden auf Standardwerte zurückgesetzt." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Es wurden einige unnötige Werte in den Voreinstellungen für " #~ "Unterverteichnisse entfernt." #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Die Metadaten sind Voraussetzung für die Erstellung der Unterverzeichnisse / " #~ "Dateinamen\n" #~ "Quelle: %s" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Fehler in den Download-Unterverzeichnis Voreinstellungen" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Warnung: Die Bilder enthalten ungenügende Metadaten um die " #~ "Unterverzeichnisse zu erzeugen. Bitte verwenden Sie eine andere Einstellung " #~ "zur Umbenennung." #~ msgid "Select an image folder" #~ msgstr "Wählen Sie ein Bilder Verzeichnis" #~ msgid "Select a folder in which to backup images" #~ msgstr "" #~ "Wählen Sie ein Verzeichnis zur Speicherung der Sicherungskopien der Bilder" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Das Unterverzeichnis konnte nicht erzeugt werden. Bitte überprüfen Sie die " #~ "Metadaten der Bilddatei." #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Unterverzeichnis: %(subfolder)s\n" #~ "Bild: %(image)s\n" #~ "Problem: %(problem)s" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Geben Sie ein Verzeichnis an, in welchem die Sicherungskopien auf dem " #~ "Laufwerk gespeichert werden.\n" #~ "Hinweis: Diese Einstellung wird auch verwendet um festzulegen, ob das " #~ "Laufwerk für Sicherungskopien verwendet wird oder nicht. Bitte erstellen Sie " #~ "auf jedem Laufwerk, welches Sie zur Datensicherung verwenden wollen, ein " #~ "Verzeichnis mit diesem Namen." rapid-photo-downloader-0.4.10/po/hr.po0000644000175000017500000014776012270217616020006 0ustar damondamon00000000000000# Croatian translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Miroslav Matejaš \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Uređaj" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Veličina" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Napredak preuzimanja" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "pretražujem..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "" #: rapid/rapid.py:2270 msgid "Pause" msgstr "" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Preuzimanje se ne može nastaviti" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotografije" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "video snimke" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "slika" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "upozorenja" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Sva preuzimanja su završena" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Odaberite direktorij za spremanje preuzetih fotografija" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "" #: rapid/rapid.py:3650 msgid "and" msgstr "i" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Greška prilikom spremanja sigurnosne kopije" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Izvor: %(source)s\n" "Odredište: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Pronađeni uređaj" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Tekst" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Ime datoteke" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Danas" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Jučer" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Naziv + ekstenzija" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Naziv" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Ekstenzija" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Broj slike" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Dužina ekspozicije" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Žarišna duljina" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Model fotoaparata" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Serijski broj" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Ime vlasnika" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "VELIKA SLOVA" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "mala slova" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "GGGGMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "GGGG-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "GGMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "GG-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDGGGG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDGG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMGGGG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMGG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "GGGG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "GG" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Primjer: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Prag" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Pariz" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budimpešta" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rim" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskva" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varšava" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "ime datoteke" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Doniraj..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Potraži pomoć na Internetu..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "Prijavi _problem..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Datoteka" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Preuzmi / Pauziraj" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Odaberite" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Pogled" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Pomoć" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "Prevedi _ovaj program..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Postavke: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Direktorij preuzimanja:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Primjer" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilnost s ostalim operacijskim sustavima" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Dodaj..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Uređaji" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Uređaji" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Sigurnosna kopija" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Primjer:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Dodaj jedinstveni identifikator" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Preskoči preuzimanje" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Preskoči" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" #~ msgid "errors" #~ msgstr "greške" #~ msgid "Report an error" #~ msgstr "Prijavi pogrešku" #~ msgid "_Pause" #~ msgstr "_Pauza" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Žao mi je, ove opcije sadrže grešku:\n" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Molim provjerite postavke, ponovno pokrenite program i pokušajte ponovo." #~ msgid "Could not open image" #~ msgstr "Ne mogu otvoriti sliku" #, python-format #~ msgid "Source: %s" #~ msgstr "Izvor: %s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Izvor: %(source)s\n" #~ "Odredište: %(destination)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Izvor: %(source)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Izvor: %(source)s\n" #~ "Odredište: %(destination)s\n" #~ "Greška: %(errorno)s %(strerror)s" #~ msgid "The image was not copied." #~ msgstr "Slika nije kopirana." #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Poddirektorij: %(subfolder)s\n" #~ "Slika: %(image)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Izvor: %(source)s\n" #~ "Odredište: %(destination)s\n" #~ "Greška: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Ne može se stvoriti odredišni direktorij\n" #~ "%(directory)s\n" #~ "Greška: %(errno)s %(strerror)s" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Novija verzija ovog programa je prethodno pokrenuta na ovom računalu.\n" #~ "\n" #~ msgid "Warning:" #~ msgstr "Upozorenje:" #~ msgid "No preferences needed to be changed." #~ msgstr "Mijenjanje postavki nije potrebno." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Ova verzija programa je novija od prethodno pokrenute verzije. Provjeravam " #~ "postavke." #~ msgid "Using manually specified path" #~ msgstr "Koristim ručno zadanu putanju" #~ msgid "Preferences were changed." #~ msgstr "Postavke su promijenjene." #, python-format #~ msgid "%s is already running" #~ msgstr "Program %s je već pokrenut" #~ msgid " " #~ msgstr " " #~ msgid "Backup photos when downloading" #~ msgstr "Napravi sigurnosnu kopiju fotografija prilikom preuzimanja" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Automation" #~ msgstr "Automatizacija" #~ msgid "Backup" #~ msgstr "Sigurnosna kopija" #~ msgid "Download Folder" #~ msgstr "Direktorij preuzimanja" #~ msgid "Exit program after completion of successful download" #~ msgstr "Zatvori program nakon uspješnog preuzimanja" #~ msgid "_Photos" #~ msgstr "_Fotografije" #~ msgid "_Thumbnails" #~ msgstr "_Umanjene sličice" #~ msgid "Select a folder in which to backup images" #~ msgstr "Odaberite direktorij za spremanje sigurnosnih kopija slika" #~ msgid "Image already exists" #~ msgstr "Slika već postoji" rapid-photo-downloader-0.4.10/po/ja.po0000664000175000017500000013253512267511465017770 0ustar damondamon00000000000000# Japanese translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-09-08 06:50-0500\n" "PO-Revision-Date: 2011-08-24 15:52+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-09-19 19:06+0000\n" "X-Generator: Launchpad (build 13980)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:106 rapid/glade3/rapid.ui.h:14 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:111 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:113 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:116 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:150 msgid "Device" msgstr "デバイス" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:167 msgid "Size" msgstr "サイズ" #: rapid/rapid.py:170 msgid "Download Progress" msgstr "ダウンロードの進行状況" #: rapid/rapid.py:316 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1178 msgid "scanning..." msgstr "スキャン中…" #: rapid/rapid.py:2077 rapid/glade3/rapid.ui.h:5 msgid "Download" msgstr "ダウンロード" #: rapid/rapid.py:2080 msgid "Pause" msgstr "一時停止" #: rapid/rapid.py:2181 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2184 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2185 msgid "Download cannot proceed" msgstr "" #: rapid/rapid.py:2490 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2492 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2494 msgid "About 1 minute remaining" msgstr "" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2499 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2521 rapid/preferencesdialog.py:891 rapid/rpdfile.py:110 msgid "photos and videos" msgstr "" #: rapid/rapid.py:2523 rapid/rpdfile.py:112 msgid "photos or videos" msgstr "" #: rapid/rapid.py:2526 rapid/rapid.py:3103 rapid/rpdfile.py:115 msgid "videos" msgstr "" #: rapid/rapid.py:2528 rapid/preferencesdialog.py:1616 rapid/rpdfile.py:117 #: rapid/rpdfile.py:270 msgid "video" msgstr "" #: rapid/rapid.py:2531 rapid/rapid.py:3101 rapid/preferencesdialog.py:893 #: rapid/rpdfile.py:120 msgid "photos" msgstr "" #. check subfolder preferences for bad values #: rapid/rapid.py:2533 rapid/preferencesdialog.py:1615 rapid/rpdfile.py:122 #: rapid/rpdfile.py:250 msgid "photo" msgstr "" #: rapid/rapid.py:2560 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2564 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2567 rapid/rapid.py:2619 msgid "warnings" msgstr "" #: rapid/rapid.py:2576 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2582 rapid/rapid.py:2591 rapid/rapid.py:2600 #: rapid/rapid.py:2609 rapid/rapid.py:2617 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2584 rapid/rapid.py:2602 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2593 rapid/rapid.py:2611 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2650 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2657 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3071 msgid "and" msgstr "" #: rapid/rapid.py:3076 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3078 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3080 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3107 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3119 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3123 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3128 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3133 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3139 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3147 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3150 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3153 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3160 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3189 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3308 rapid/rpdfile.py:251 msgid "Photo" msgstr "" #: rapid/rapid.py:3310 rapid/rpdfile.py:271 msgid "Video" msgstr "" #: rapid/rapid.py:3319 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3321 rapid/rapid.py:3335 rapid/rapid.py:3348 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3333 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3346 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:3424 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3471 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:3472 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:3473 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3475 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:3477 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:3490 msgid "Photos:" msgstr "" #: rapid/rapid.py:3490 msgid "Videos:" msgstr "" #: rapid/rapid.py:3495 #, python-format msgid "and %s" msgstr "" #: rapid/rapid.py:3503 msgid "All settings and preferences have been reset" msgstr "" #: rapid/rapid.py:3521 msgid "" "Video downloading functionality disabled.\n" "To download videos, please install the hachoir metadata and kaa metadata " "packages for python." msgstr "" #: rapid/backupfile.py:142 rapid/backupfile.py:165 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:144 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:146 rapid/backupfile.py:167 rapid/subfolderfile.py:196 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:169 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/copyfiles.py:143 rapid/subfolderfile.py:211 #: rapid/subfolderfile.py:351 rapid/subfolderfile.py:369 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/device.py:79 msgid "Device Detected" msgstr "デバイスが検知されました" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:88 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:107 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:291 msgid "MB/s" msgstr "" #: rapid/generatenameconfig.py:145 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:146 msgid "Text" msgstr "" #: rapid/generatenameconfig.py:147 msgid "Filename" msgstr "" #: rapid/generatenameconfig.py:148 msgid "Metadata" msgstr "" #: rapid/generatenameconfig.py:149 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:151 rapid/preferencesdialog.py:570 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:153 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:154 msgid "Today" msgstr "" #: rapid/generatenameconfig.py:155 msgid "Yesterday" msgstr "" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:157 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:159 msgid "Name + extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:161 msgid "Name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:163 msgid "Extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Image number" msgstr "" #: rapid/generatenameconfig.py:166 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:168 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:170 msgid "ISO" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:172 msgid "Exposure time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Serial number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Shutter count" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Owner name" msgstr "" #: rapid/generatenameconfig.py:189 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:190 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:191 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:192 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:193 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:194 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:195 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:197 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:199 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:201 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:203 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:205 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:207 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:209 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:211 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:213 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:215 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:217 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:219 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:221 msgid "lowercase" msgstr "" #: rapid/generatenameconfig.py:222 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:223 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:224 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:225 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:226 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:227 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:228 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:230 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:232 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:234 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:236 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:238 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:240 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:370 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:372 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:431 rapid/preferencesdialog.py:693 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:432 rapid/preferencesdialog.py:710 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:438 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:439 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:445 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:457 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:638 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:659 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:676 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:735 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:751 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:754 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:759 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:815 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:827 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:832 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1078 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1160 msgid "Select a folder to download photos to" msgstr "写真をダウンロードする先のフォルダを選択してください" #: rapid/preferencesdialog.py:1178 msgid "Select a folder to download videos to" msgstr "" #: rapid/preferencesdialog.py:1323 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/preferencesdialog.py:1349 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1362 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1457 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1508 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1511 #, python-format msgid "Example: %s" msgstr "" #. Preferences list is now empty #: rapid/preferencesdialog.py:1601 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1746 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1748 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1749 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1931 msgid "externaldrive1" msgstr "外部ドライブ1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1933 msgid "externaldrive2" msgstr "外部ドライブ2" #: rapid/prefsrapid.py:126 msgid "New York" msgstr "ニューヨーク" #: rapid/prefsrapid.py:127 msgid "Manila" msgstr "マニラ" #: rapid/prefsrapid.py:127 msgid "Prague" msgstr "プラハ" #: rapid/prefsrapid.py:127 msgid "Helsinki" msgstr "ヘルシンキ" #: rapid/prefsrapid.py:127 msgid "Wellington" msgstr "ウェリントン" #: rapid/prefsrapid.py:128 msgid "Tehran" msgstr "テヘラン" #: rapid/prefsrapid.py:128 msgid "Kampala" msgstr "カンパラ" #: rapid/prefsrapid.py:128 msgid "Paris" msgstr "パリ" #: rapid/prefsrapid.py:128 msgid "Berlin" msgstr "ベルリン" #: rapid/prefsrapid.py:128 msgid "Sydney" msgstr "シドニー" #: rapid/prefsrapid.py:129 msgid "Budapest" msgstr "ブダペスト" #: rapid/prefsrapid.py:129 msgid "Rome" msgstr "ローマ" #: rapid/prefsrapid.py:129 msgid "Moscow" msgstr "モスクワ" #: rapid/prefsrapid.py:129 msgid "Delhi" msgstr "デリー" #: rapid/prefsrapid.py:129 msgid "Warsaw" msgstr "ワルシャワ" #: rapid/prefsrapid.py:130 msgid "Jakarta" msgstr "ジャカルタ" #: rapid/prefsrapid.py:130 msgid "Madrid" msgstr "マドリッド" #: rapid/prefsrapid.py:130 msgid "Stockholm" msgstr "ストックホルム" #. components #: rapid/problemnotification.py:26 rapid/subfolderfile.py:362 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:27 rapid/subfolderfile.py:360 msgid "filename" msgstr "" #: rapid/problemnotification.py:80 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:81 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:83 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:84 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:86 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:88 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:90 rapid/problemnotification.py:91 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:93 rapid/problemnotification.py:94 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:97 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:102 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:103 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:107 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:108 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:109 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:201 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:204 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:223 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:225 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:227 rapid/problemnotification.py:288 #: rapid/problemnotification.py:300 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:228 rapid/problemnotification.py:289 #: rapid/problemnotification.py:301 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:240 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:257 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:259 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:261 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:265 rapid/problemnotification.py:313 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:267 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:271 rapid/problemnotification.py:315 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:276 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:284 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:286 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:309 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:311 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:322 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:330 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:332 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:341 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:343 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:346 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:363 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:365 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:368 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:370 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:379 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:381 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:401 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:403 rapid/subfolderfile.py:230 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:409 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:410 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:412 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:413 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:416 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:136 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/subfolderfile.py:79 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:299 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:300 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:358 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:396 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:397 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:6 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:15 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Download" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:27 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:30 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:31 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:32 msgid "_View" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:2 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:38 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "Delete photos and videos from device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:47 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:51 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:52 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:60 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:72 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install the hachoir metadata and kaa metadata packages for " "python." msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:88 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "_Add..." msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" #~ msgid "Resetting value to zero.\n" #~ msgstr "値をゼロにリセットする\n" #~ msgid "Resetting to default values." #~ msgstr "初期設定の値にリセットする" #~ msgid "There is an error in the program preferences." #~ msgstr "プログラムの設定にエラーがあります" #~ msgid "Could not open image" #~ msgstr "画像を開くことができませんでした" #~ msgid "Some preferences will be reset." #~ msgstr "いくつかの設定はリセットされます" #~ msgid "Select a folder in which to backup images" #~ msgstr "画像をバックアップする先のフォルダを選択してください" #~ msgid " " #~ msgstr " " rapid-photo-downloader-0.4.10/po/be.po0000644000175000017500000014536712267511503017762 0ustar damondamon00000000000000# Belarusian translation for rapid # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-06-23 04:00-0500\n" "PO-Revision-Date: 2013-02-24 09:11+0000\n" "Last-Translator: Ilya Tsimokhin \n" "Language-Team: Belarusian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-08-26 05:21+0000\n" "X-Generator: Launchpad (build 16738)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:112 rapid/rapid.py:1784 rapid/glade3/rapid.ui.h:1 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:117 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:119 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:122 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:157 msgid "Device" msgstr "Прылада" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:175 msgid "Size" msgstr "Памер" #: rapid/rapid.py:178 msgid "Download Progress" msgstr "Сцягванне" #: rapid/rapid.py:336 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s не адмантаваны" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1216 msgid "scanning..." msgstr "пошук..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1782 msgid "the root of the file system" msgstr "корань файлавай сістэмы" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1786 #, python-format msgid "Downloading from %(location)s." msgstr "Сцягванне з %(location)s." #: rapid/rapid.py:1787 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Вы сапраўды хочаце сцягнуць адсюда? На некаторых сістэмах пошук можа доўга " "цягнуцца." #: rapid/rapid.py:2209 msgid "Download" msgstr "Сцягнуць" #: rapid/rapid.py:2212 msgid "Pause" msgstr "Прыпыніць" #: rapid/rapid.py:2317 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2320 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2321 msgid "Download cannot proceed" msgstr "Немагчыма сцянуць" #: rapid/rapid.py:2700 msgid "About 1 second remaining" msgstr "Засталося каля секунды" #: rapid/rapid.py:2702 #, python-format msgid "About %i seconds remaining" msgstr "Засталося каля %i секунд" #: rapid/rapid.py:2704 msgid "About 1 minute remaining" msgstr "Засталося каля хвіліны" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2709 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Засталося каля %(minutes)i:%(seconds)i" #: rapid/rapid.py:2731 rapid/rpdfile.py:123 msgid "photos and videos" msgstr "здымкі і відэа" #: rapid/rapid.py:2733 rapid/rpdfile.py:125 msgid "photos or videos" msgstr "здымкі або відэа" #: rapid/rapid.py:2736 rapid/rapid.py:3558 rapid/rpdfile.py:128 msgid "videos" msgstr "відэа" #: rapid/rapid.py:2738 rapid/preferencesdialog.py:1620 rapid/rpdfile.py:130 #: rapid/rpdfile.py:291 msgid "video" msgstr "відэа" #: rapid/rapid.py:2741 rapid/rapid.py:3556 rapid/rpdfile.py:133 msgid "photos" msgstr "здымкі" #. check subfolder preferences for bad values #: rapid/rapid.py:2743 rapid/preferencesdialog.py:1619 rapid/rpdfile.py:135 #: rapid/rpdfile.py:272 msgid "photo" msgstr "здымкі" #: rapid/rapid.py:2770 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s сцягнуты" #: rapid/rapid.py:2774 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s не атрымалася сцягнуць" #: rapid/rapid.py:2777 rapid/rapid.py:2829 msgid "warnings" msgstr "папярэджанні" #: rapid/rapid.py:2786 msgid "All downloads complete" msgstr "Усе сцягванні скончаны" #: rapid/rapid.py:2792 rapid/rapid.py:2801 rapid/rapid.py:2810 #: rapid/rapid.py:2819 rapid/rapid.py:2827 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2794 rapid/rapid.py:2812 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s сцягнуты" #: rapid/rapid.py:2803 rapid/rapid.py:2821 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s не атрымалася сцягнуць" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2860 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s з %(total)s %(filetypes)s (%(remaining)s засталося)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2867 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s з %(total)s %(filetypes)s" #: rapid/rapid.py:3222 msgid "From" msgstr "Адкуль" #: rapid/rapid.py:3230 msgid "Auto Detect" msgstr "Аўта вызначэнне" #: rapid/rapid.py:3234 rapid/preferencesdialog.py:1327 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Выбраць папку з %(file_types)s" #: rapid/rapid.py:3275 msgid "Copy" msgstr "Капіяваць" #: rapid/rapid.py:3288 msgid "Move" msgstr "Перанесці" #: rapid/rapid.py:3310 msgid "To" msgstr "" #: rapid/rapid.py:3317 rapid/rapid.py:3986 msgid "Photos:" msgstr "Здымкі:" #: rapid/rapid.py:3320 rapid/preferencesdialog.py:1164 msgid "Select a folder to download photos to" msgstr "Выбярыце папку, куды сцягнуць здымкі" #: rapid/rapid.py:3332 rapid/rapid.py:3986 msgid "Videos:" msgstr "Відэа:" #: rapid/rapid.py:3334 rapid/preferencesdialog.py:1182 msgid "Select a folder to download videos to" msgstr "Выбярыце папку, куды сцягнуць відэа" #: rapid/rapid.py:3526 msgid "and" msgstr "і" #: rapid/rapid.py:3531 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3533 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3535 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3562 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3574 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3578 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3583 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3588 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3594 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3602 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3605 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3608 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3615 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3644 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3770 rapid/rpdfile.py:273 msgid "Photo" msgstr "Здымак" #: rapid/rapid.py:3772 rapid/rpdfile.py:292 msgid "Video" msgstr "Відэа" #: rapid/rapid.py:3781 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3783 rapid/rapid.py:3797 rapid/rapid.py:3810 #, python-format msgid "Folder: %s" msgstr "Папкі: %s" #: rapid/rapid.py:3795 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3808 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:3894 msgid "Thumbnails" msgstr "Мініяцюры" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3949 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:3950 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:3951 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3953 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:3955 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:3956 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:3957 msgid "reset all program settings and preferences and exit" msgstr "Скінуць усе наладкі і выйсці" #: rapid/rapid.py:3970 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:3991 #, python-format msgid "and %s" msgstr "і %s" #: rapid/rapid.py:3999 msgid "All settings and preferences have been reset" msgstr "Усе наладкі былі скінуты" #: rapid/backupfile.py:157 rapid/backupfile.py:180 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:159 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:161 rapid/backupfile.py:182 rapid/subfolderfile.py:199 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:164 rapid/backupfile.py:184 #, python-format msgid "Error: %(inst)s" msgstr "Памылка: %(inst)s" #: rapid/copyfiles.py:163 rapid/subfolderfile.py:214 #: rapid/subfolderfile.py:347 rapid/subfolderfile.py:365 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Файл: %(file)s" #: rapid/device.py:80 msgid "Device Detected" msgstr "Знойдзена прылада" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "МБ/с" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Дата/час" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Тэкст" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Назва файла" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Сёння" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Учора" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Назва + пашырэнне" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Назва" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Пашырэнне" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Нумар здымка" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Нумар відэа" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Вытворца камеры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Мадэль камеры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Кароткая мадэль камеры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Серыйны нумар" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Імя ўладальніка" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Кодэк" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Шырыня" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Вышыня" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Кадраў за секунду" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Артыст" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Аўтарскія правы" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Сцягнута сёння" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Нумар сеанса" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Нумар падпапкі" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Усе лічбы" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Апошняя лічба" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Апошнія 2 лічбы" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Апошнія 3 лічбы" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Апошнія 4 лічбы" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Арыгінальнае напісанне" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "ВЯЛІКІЯ ЛІТАРЫ" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "малыя літары" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Адна лічба" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Дзве лічбы" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Тры лічбы" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Чатыры лічбы" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Пяць лічбаў" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Шэсць лічбаў" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Сем лічбаў" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ГГГГММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ГГГГ-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ГГММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ГГ-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "ММДДГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "ММДДГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "ММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "ДДММГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "ДДММГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "ГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "ГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "ММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Месяц (цалкам)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Месяц (скарочана)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "ГГХХСС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "ГГХХ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "ГГ-ХХ-СС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "ГГ-ХХ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "ГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "ХХ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "СС" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Выдаліць усе цэтлікі?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Трэба выдаліць усе цэтлікі?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Памылка ў наладках назваў здымкаў" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Памылка ў наладках назваў відэа" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Увядзіце цэтлік" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Увядзіце новы цэтлік або выбярыце стары" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Увядзіце новы цэтлік" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Цэтлікі:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1082 msgid "Job Code" msgstr "Цэтлікі" #: rapid/preferencesdialog.py:1353 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1366 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1461 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1512 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1515 #, python-format msgid "Example: %s" msgstr "Прыклад: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1605 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1750 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1752 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1753 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1934 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1936 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Нью-Ёрк" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Маніла" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Прага" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Хельсінкі" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Ўэлінгтон" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Тэгеран" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Кампала" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Парыж" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Бэрлін" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Сіднэй" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Будапешт" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Рым" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Масква" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Дэлі" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Варшава" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Джакарта" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Мадрыд" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Стакгольм" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:358 msgid "subfolder" msgstr "падпапка" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:356 msgid "filename" msgstr "назва файла" #: rapid/problemnotification.py:81 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:82 msgid "Filename does not have an extension." msgstr "Адсутнічае пашырэнне." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:84 msgid "Filename does not have a number component." msgstr "Адсутнічае нумар." #: rapid/problemnotification.py:85 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:87 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:91 rapid/problemnotification.py:92 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Памылка капіявання %(filetype)s" #: rapid/problemnotification.py:94 rapid/problemnotification.py:95 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s ужо існуе" #: rapid/problemnotification.py:98 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:103 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s быў зняты %(image1_date)s а %(image1_time)s, і %(image2)s зняты " "%(image2_date)s а %(image2_time)s." #: rapid/problemnotification.py:104 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s ужо сцягнуты" #: rapid/problemnotification.py:108 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:109 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "Існуючы %(filetype)s быў зменены %(date)s а %(time)s." #: rapid/problemnotification.py:110 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:112 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Памылка: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:202 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:205 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "Назва файла, пашырэнне і EXIF сведчаць, што здымак ужо сцягнуты." #: rapid/problemnotification.py:224 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:226 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:228 rapid/problemnotification.py:289 #: rapid/problemnotification.py:301 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:229 rapid/problemnotification.py:290 #: rapid/problemnotification.py:302 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s і %(final_volume)s." #: rapid/problemnotification.py:241 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "Знойдзены здымкі з той жа назвай, але знятыя ў розны час %(details)s" #: rapid/problemnotification.py:258 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:260 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:262 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:266 rapid/problemnotification.py:314 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:268 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:272 rapid/problemnotification.py:316 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s і %(volume)s (%(inst)s)." #: rapid/problemnotification.py:277 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s і %(volume)s." #: rapid/problemnotification.py:285 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:287 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:297 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:299 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:310 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Памылка стварэння папкі на %(volume)s: %(inst)s." #: rapid/problemnotification.py:312 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:323 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:331 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:333 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:342 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:344 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:364 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:366 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:369 #, python-format msgid "Problems in %s generation" msgstr "Праблемы пры стварэнні %s" #: rapid/problemnotification.py:371 #, python-format msgid "Problem in %s generation" msgstr "Праблема пры стварэнні %s" #: rapid/problemnotification.py:380 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:382 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:402 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:404 rapid/subfolderfile.py:233 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Знойдзены здымкі з аднолькавай назвай, але знятыя ў розны час" #: rapid/problemnotification.py:410 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:411 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:413 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:414 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:417 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:153 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:163 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "пошук (знойдзена %(photos)s здымкаў і %(videos)s відэа)..." #: rapid/subfolderfile.py:80 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:301 msgid "Photo has already been downloaded" msgstr "Фота ўжо было сцягнута" #: rapid/subfolderfile.py:302 #, python-format msgid "Source: %(source)s" msgstr "Крыніца: %(source)s" #: rapid/subfolderfile.py:354 msgid "subfolder and filename" msgstr "падпапка і назва файла" #: rapid/subfolderfile.py:393 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:394 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_File" msgstr "_Файл" #: rapid/glade3/rapid.ui.h:3 msgid "Download / Pause" msgstr "Сцягваць / Прыпыніць" #: rapid/glade3/rapid.ui.h:4 msgid "_Select" msgstr "_Выбраць" #: rapid/glade3/rapid.ui.h:5 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:6 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "_View" msgstr "_Прагляд" #: rapid/glade3/rapid.ui.h:8 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Previous File" msgstr "Папярэдні файл" #: rapid/glade3/rapid.ui.h:11 msgid "Next File" msgstr "Наступны файл" #: rapid/glade3/rapid.ui.h:12 msgid "_Help" msgstr "_Даведка" #: rapid/glade3/rapid.ui.h:13 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Translate this Application..." msgstr "_Перакласці праграму..." #: rapid/glade3/rapid.ui.h:15 msgid "_Check All" msgstr "Пазначыць _усё" #: rapid/glade3/rapid.ui.h:16 msgid "_Uncheck All" msgstr "_Зняць пазначэнне" #: rapid/glade3/rapid.ui.h:17 msgid "_Include in download" msgstr "_Уключыць у сцягванне" #: rapid/glade3/rapid.ui.h:18 msgid "_Download" msgstr "_Сцягнуць" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Прыклад: /home/user/Pictures" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Папкі здымкаў" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Новае:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Арыгінал:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Прыклад" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Папкі з відэа" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Пачатак дня:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Сцягнута сёння:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " гг:хх" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Сінхранізаваць нумары RAW і JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Сумяшчальнасць з іншымі аперацыйнымі сістэмамі" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Цэтлікі" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Дадаць…" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "_Выдаліць усё" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Цэтлікі" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Прылады" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Прылады" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:88 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" rapid-photo-downloader-0.4.10/po/pt.po0000644000175000017500000017473612302421644020015 0ustar damondamon00000000000000# Portuguese translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-02-21 13:30+0000\n" "Last-Translator: Tiago S. \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-02-23 16:36+0000\n" "X-Generator: Launchpad (build 16926)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Transferidor Rápido de Foto" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Dispositivo" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Tamanho" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Progresso da Transferência" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s did not unmount" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "a analisar..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "a raiz do sistema de ficheiros" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "A transferir de %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Quer realmente transferir deste local? Em alguns sistemas, varrer este local " "pode levar muito tempo." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Transferir" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pausa" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Estas pasteas de transferência são inválidas:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Essa pasta de download é inválida:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "A transferência não pôde continuar" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "Nenhum dispositivo de backup contém uma pasta válida para fazer o backup de " "%(filetype)s" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotografias" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "vídeos" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "Problema no Backup" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Falta aproximadamente 1 segundo" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Falta aproximadamente %i segundos" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Falta aproximadamente 1 minuto" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Falta aproximadamente %(minutes)i:%(seconds)02i minutos" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fotos e vídeos" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fotos ou vídeos" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "vídeo" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "foto" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s descarregados" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s não puderam ser descarregados" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avisos" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Todas transferências completas" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s transferidos" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s falhou a transferência" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s de %(total)s %(filetypes)s (%(remaining)s restantes)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s de %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "A partir de:" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Detecção Automática" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Escolha um diretório que contenha %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Copiar" #: rapid/rapid.py:3397 msgid "Move" msgstr "Mover" #: rapid/rapid.py:3419 msgid "To" msgstr "Para:" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fotografias:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Seleccione o diretório para onde transferir as fotos" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Vídeos:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Seleccione o diretório para baixar os vídeos para" #: rapid/rapid.py:3650 msgid "and" msgstr "e" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "A usar dispositivos de backup" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "A usar o dispositivo de backup" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Nenhum dispositivo de backup detectado" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Espaço livre:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s livres" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "A criar o backup das fotos e vídeos em %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "A criar cópias de segurança em %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "A criar o backup das fotos em %(path)s e vídeos em %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Preferências do programa são inválidas" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Fotografia" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Vídeo" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s pasta de download não existe" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Pasta: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s pasta de transferência é inválida" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s pasta de transferência não é gravável" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniaturas" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "exibir informaçṍes do programa na linha de comando enquando o programa é " "executado (default: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "mostrar informações de depuração quando executado a partir da linha de " "comando" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "mostrar erros apenas na linha de comando" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "listar extensões de foto vídeo que o programa reconhece e sair" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "detectar automaticamente os dispositivos dos quais transferir, " "sobrescrevendo as preferência do programa actuais" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "especificar manualmente o caminho do dispositivo para o qual transferir, " "sobrescrevendo as preferência do programa actuais" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" "Restabelecer todas as configurações e preferências do programa e fechá-lo" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Erro: especificar a auto-detecção do dispositivo ou especificar manualmente " "o caminho de um dispositivo para o qual transferir, mas não ambos." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "e %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Todas as configurações e preferências foram redefinidas" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Erro ao criar cópias de segurança" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Diretório de destino não pôde ser criado: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Origem: %(source)s\n" "Destino: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Erro: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "%(file_type)s do backup sobreescritos" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "%(file_type)s ainda não estão no backup" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "O backup de %(file_type)s já existe" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Arquivo: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "Ocorreu um erro desconhecido" #: rapid/device.py:80 msgid "Device Detected" msgstr "Dispositivo detectado" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Deverá ser feita uma tranferência das fotografias ou vídeos presentes neste " "dispositivo ou partição?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Recordar esta escolha" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Data e hora" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Texto" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nome do ficheiro" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Detalhes" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sequências" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Etiqueta" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Imagem de dados" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Dados de vídeo" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Hoje" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Ontem" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Início da transferência" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nome + extensão" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nome" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extensão" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Número da imagem" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Número do vídeo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Abertura" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Tempo de exposição" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Distância focal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Marca da câmara" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Modelo da câmara" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Modelo de câmara curta" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Modelo hifenizado de câmara curta" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Número de série" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Contagem de Disparos" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Número de ficheiro" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Apenas pasta" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Pasta e arquivo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nome do proprietário" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Codec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Largura" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Altura" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Duração" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Quadros por Segundo" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Artista" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Direitos de Autor" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Transferências hoje" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Número da sessão" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Número da subpasta" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Número armazenado" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Sequência de letras" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Todos os dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Último dígito" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Últimos 2 dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Últimos 3 dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Últimos 4 dígitos" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Caixa Original" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "MAIÚSCULAS" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "minúsculas" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Um dígito" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Dois dígitos" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Três dígitos" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Quatro dígitos" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinco dígitos" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Seis dígitos" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sete dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Subsegundos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "AAAAMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "AAAA-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "AAMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "AA-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Mês (inteiro)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Mês (Abreviado)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutos)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Preferências de subpasta não devem começar com %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Preferências de subpasta não devem terminar com %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Preferências de subpasta não devem conter dois %s um após o outro" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Remover todas os Códigos de Tarefas?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Deseja realmente remover todas os Códigos de Tarefas?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Remover todos os caminhos recordados?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Todos os caminhos recordados devem ser removidos?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Remover todos os caminhos ignorados?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Todos os caminhos ignorados devem ser removidos?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Erro causado pelas preferêcias de \"renomear fotografias\"" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Erro causado pelas preferêcias de \"renomear vídeos\"" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" "Erro causado pelas preferêcias de subdiretórios em \"diretórios de " "fotografias\"" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" "Erro causado pelas preferêcias de subdiretórios em \"diretórios de vídeo\"" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Introduzir um Código de Tarefa" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Defina um novo Código de Tarefa or seleccione um já existente" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Introduza um novo Código de Tarefa" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Código de Tarefa:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Introduza um Caminho a ser Ignorado" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "Especifique um caminho onde fotos e vídeos não devem ser procurados" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Caminho:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Código de Tarefa" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Seleccione uma pasta onde será guardado o backup das fotos" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Seleccione uma pasta onde será guardado o backup dos vídeos" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Aviso: As meta-Informações disponíveis são insuficientes para " "gerar um nome de arquivo. Por favor, use outras opções de renomeação." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Aviso: As meta-Informações disponíveis são insuficientes para " "gerar nomes de subdiretórios. Por favor, use de outras opções de " "nomeação." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Exemplo: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "As preferências definidas para os subdiretórios de %(filetype)s são " "inválidas e não poderão ser usadas.\n" "Elas serão redefinidas para seus valores padrão." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "As seguintes expressões regulares não são válidas e serão removidas a não " "ser que sejam corrigidas:\n" "%s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Esta expressão regular é inválida e será removida a não ser que seja " "corrigida:\n" "%s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Expressão regular inválida" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "discoexterno1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "discoexterno2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Nova Iorque" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teerã" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlim" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapeste" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moscovo" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Deli" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsóvia" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jacarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Estocolmo" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "subpasta" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nome do ficheiro" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "O valor %s de data e hora parece inválido." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Nome do arquivo não tem extensão." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Nome do arquivo não tem um componente número." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Erro ao gerar o componente %s" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "Os metadados de %(filetype)s não podem ser lidos" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s não pode ser gerado" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Ocorreu um erro ao copiar %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "%(filetype)s não foram transferidos correctamente." #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s já existe." #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s não pôde ser guardado em backup porque nenhum local de backup " "foi encontrado." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s foi tirada em %(image1_date)s em %(image1_time)s, e %(image2)s em " "%(image2_date)s em %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s já foi transferido." #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "O actual%(filetype)s foi modificado pela última vez em%(date)s em%(time)s. " "Identificador exclusivo '%(identifier)s'' acrescentado." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "O %(filetype)s existente foi modificado pela última vez em %(date)s as " "%(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Não há dados com os quais o nome %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Erro: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" "Verificação do ficheiro falhou. A versão transferida é diferente da original." #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Os metadados podem estar corrompidos." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "O nome e extensão do ficheiro e informações Exif indicam que já foi " "transferido." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Foi feito backup para %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Foi feito backup destes dispositivos: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s e %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Fotos detectadas com o mesmo nome, mas tiradas em momentos diferentes: " "%(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Ocorreu um erro ao fazer backup em %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Ocorreu um erro ao fazer backup em %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Ocorreram erros ao fazer backup nos dispositivos de backup seguintes: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s e %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s e %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Um backup já existe no %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Os backups já existem nestes locais: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Backup substituído em %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Backups substituídos nestes dispositivos: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Ocorreu um erro ao criar diretórios em %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Ocorreram erros ao criar directórios nos dispositivos de backup seguintes: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" "A verificação de ficheiros falhou em %(volume)s. A versão guardada em backup " "é diferente da versão transferida." #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "A verificação de ficheiros falhou nestes dispositivos: " #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Adicionalmente, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Além disso, houve %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Além disso, houve um %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Os metadados %(type)s estão em falta." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Os metadados seguinte estão em falta: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s e %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problemas na criação da subpasta e nome do ficheiro" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problema na criação da subpasta e nome do ficheiro" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemas na criação de %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problema na criação de %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s já existe, mas foi feito backup" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "Ocorreu um erro ao copiar %(filetype)s, mas foi feito backup" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Vários problemas foram encontrados" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Foram detectadas fotografias com o mesmo nome, mas com tempos diferentes" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "Ocorreram erros ao gazer o backup" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Ocorreram erros ao fazer o backup" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "ocorreu um erro ao fazer backup" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Ocorreu um erro ao fazer backup" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, e %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" "a analisar (encontradas %(photos)s fotografias e %(videos)s vídeos)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "subdiretório e nome do ficheiro" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "A fotografia já foi transferida" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Origem: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Falha ao criar subpasta descarga" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Caminho: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Sobre..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Verificar Tudo" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Verificar Todas as Fotografias" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Verificar Todos os Vídeos" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "Fazer uma _Doação..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Obter Ajuda Online..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Ajuda" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Definições" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Sair" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Actualizar" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Reportar um Problema..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Traduzir esta Aplicação..." #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Desmarcar Tudo" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Ficheiro" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Transferir / Pausar" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Seleccionar" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Selecionar Tudo Sem Código de Tarefa (_J)" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Seleccionar com o Código de Tarefa (_H)" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Ver" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "Registo de _Erros" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "Limpar Tranferências _Concluídas" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Ficheiro Anterior" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Ficheiro Seguinte" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "Ajuda (_H)" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Traduzir esta Aplicação..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Incluir na transferência" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "Transferência (_D)" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Definições: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Pasta de Transferência de Fotos" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Exemplo: /home/utilizador/Imagens" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Subpastas de Transferência" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Pasta de transferências:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Escolher pasta de transferência. Subpastas para as fotos serão criados " "automaticamente nesta pasta usando a estrutura especificada em seguida." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Pasta de Transferência" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Pastas de Fotografias" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Renomear Fotografia\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Renomear Fotografia" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Novo:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Exemplo" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Renomear Fotografia" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Pasta de Transferência de " "Vídeos" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Desculpe, a funcionalidade de transferência de vídeo foi desactivada Para " "executar a transferência de vídeos, por favor instale os pacotes hachoir " "metadata e kaa metadata do python, ou exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Escolher pasta de transferência. Subpastas para os vídeos transferidos serão " "criadas automaticamente nesta pasta usando a estrutura especificada em " "seguida." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Pasta de Vídeo" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Renomear Vídeos\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Renomear Vídeo" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Renomear Opções" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Números de sequência" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Especifique o tempo no formato de 24 horas no qual a sequência numérica de " "Transferência de Hoje devem reiniciar." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Dia de início:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Transferências de hoje:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Número acumulado:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Sincronizar números de sequência RAW+JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Compatibilidade com Outros Sistemas Operativos" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Escolha se um caractere do nome de uma fotografia, vídeo ou directório deve " "ser omitido, para o caso do mesmo não ser suportado por outros sistemas " "operativos." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Omitir caracteres incompatíveis" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Renomear Opções" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Códigos de Tarefa" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Códigos de Tarefa" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Adicionar..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "R_emover Tudo" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Códigos de Tarefa" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Dispositivos" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Dispositivos" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Dispositivos são de onde as fotos e vídeos são transferidas, tais como " "câmaras, cartões de memória ou dispositivos de armazenamento portátil.\n" "\n" "Pode transferir de vários dispositivos simultaneamente, ou pode especificar " "um local em seu disco rígido.\n" "\n" "Transferir directamente de câmaras é actualmente um recurso experimental. " "Caso ele não funcione correctamente, tente activar o modo PTP. Caso isso não " "seja possível, um leitor de cartões deve ser utilizado." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Detectar automaticamente Dispositivos de Armazenamento Portátil" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Detectar automaticamente dispositivos" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Se activar a detecção de Dispositivos de Armazenamento Portáteis, todo o " "dispositivo será analisado. Em dispositivos muito grandes, isso pode levar " "algum tempo.\n" "Quando esta opção esta activada e um potencial dispositivo é detectado, será " "perguntado se o mesmo deve ser analisado ou não." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Localização:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Se desactivar a detecção automática, escolha o local exacto das fotografias " "e vídeos." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Opções do Dispositivo" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Caminhos Recordados" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Caminhos recordados são os que estão associados com dispositivos que " "escolheu analisar sempre ou ignorar quando a detecção automatica de " "dispositivos está activada." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Caminhos Ignorados" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Especifique a porção final de qualquer caminho que queira ignorado quando a " "analisar de dispositivos à procura de fotografias ou vídeos. Qualquer " "caminho que termine nos valores abaixo referidos não será analisado." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Re_mover Todas" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Usar expressões regulares no estilo _python" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Opções do Dispositivo" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Backup\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Backup" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Se desactivar a detecção automática, seleccione o caminho exacto do local do " "backup." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Detectar automaticamente dispositivos de backup" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Ao descarregar fotografias e vídeos, há a possibilidade de que seja feita " "uma cópia de segurança em vários locais diferentes, como, por exemplo, em " "discos rígidos externos." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Fazer backup de fotografias e vídeos ao transferir" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Especifique a pasta no qual os backups serão armazenados no dispositivo. \n" "\n" "Nota: isso também será utilizado para determinar se o dispositivo é ou " "não utilizado para backups. Para cada dispositivo que deseja usar para fazer " "backup, criar uma pasta com um desses nomes." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Local do backup de fotografias:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Nome da Pasta de Backup de Fotografias" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Exemplo:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/discoexterno/Fotos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Nome da pasta para cópia de segurança de vídeos:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Local do backup de Vídeos:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "Backup" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Diversos" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Programa de Automação" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" "Desmontar ou ejetar o dispositivo após a conclusão da tarefa de transferência" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Iniciar a transferência após o início do programa" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Iniciar a transferência ao conectar o dispositivo" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Sair do programa quando a transferência terminar" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Sair do programa mesmo que o download tivesse avisos ou erros" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Rodar imagens JPEG automaticamente" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "Verificar os ficheiros assim que são transferidos" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Perfomance" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Criar miniaturas (mais lento)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Vários" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Gestão de Erros" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Conflitos de Nomes de Fotos e Vídeos" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Adicionar um identificador único" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Ignorar transferência" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Escolha como o programa deverá proceder caso ao copiar uma fotografia ou " "vídeo haja um arquivo de mesmo nome." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Escolha como o programa deverá proceder caso ao fazer uma cópia de segurança " "haja um arquivo de mesmo nome." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Sobrescrever" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Ignorar" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Gestão de Erros" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importar fotografias e vídeos de forma eficiente e confiável" rapid-photo-downloader-0.4.10/po/ru.po0000644000175000017500000030430612270217611020005 0ustar damondamon00000000000000# Russian translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:16+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" "Language: ru\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Носитель" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Размер" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Ход загрузки" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s не отсоединён" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "поиск файлов..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "корень файловой системы" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Загрузка из %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Вы точно хотите загрузить отсюда? На некоторых системах сканирование этого " "местоположения может занять много времени." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Загрузка" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Пауза" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Неправильно указанные папки загрузки:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Неправильно указанная папка загрузки:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Невозможно загрузить" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "фото" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "видео" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Осталась примерно 1 секунда" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Осталось %i секунд" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Осталась примерно 1 минута" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Осталось примерно %(minutes)i:%(seconds)02i" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "фото и видео" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "фото или видео" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "видео" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "фото" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s загружено" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s не удалось загрузить" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "предупреждения" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Все загрузки завершены" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s загружено" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s не удалось загрузить" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s из %(total)s %(filetypes)s (%(remaining)s осталось)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s из %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Из" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Автоопределение" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Выберите каталог, содержащий %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Копировать" #: rapid/rapid.py:3397 msgid "Move" msgstr "Переместить" #: rapid/rapid.py:3419 msgid "To" msgstr "к" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Фото:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Выберите каталог для загрузки фото" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Видео:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Выберите каталог для загрузки видео" #: rapid/rapid.py:3650 msgid "and" msgstr "и" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Использование носителя для резервного копирования" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Использование носителя для резервного копирования" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Не обнаружен носитель для резервных копий" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Свободное место:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "Доступно %(free)s для %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s свободно" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Резервное копирование фотографий и видеозаписей в %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Резервное копирование в %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" "Резервное копирование фотографий в %(path)s и видеозаписей в %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Настройки программы не корректны" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Фото" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Видео" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "Указанный для загрузки каталог %(file_type)s не существует" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Каталог: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "для %(file_type)s папка загрузки указана неверно." #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "каталог для %(file_type)s доступен только для чтения" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Миниатюры" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "выводить информацию в командной строке во время выполнения программы (по " "умолчанию: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "отображать отладочную информацию при запуске из командной строки" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "выводить в командную строку только ошибки" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "вывести расширения фото- и видеофайлов, которые распознает программа, и выйти" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "автоматически определять устройство, с которого будет производиться " "загрузка, заменяя существующие настройки программы" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "самостоятельно укажите расположение (PATH) устройства, с которого будет " "производиться загрузка, заменяя существующие настройки программы" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "сбросить все настройки и выйти" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Ошибка: укажите автоматическое определение устройства или самостоятельно " "укажите расположение устройства, с которого будет производиться загрузка, но " "не используйте сразу оба варианта." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "и %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Все установки и настройки были сброшены" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Ошибка резервного копирования" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Каталог назначения не может быть создан: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Источник: %(source)s\n" "Назначение: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Ошибка: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Файл: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Обнаружен носитель" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Следует ли загрузить фото или видео с этого носителя или раздела?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Запомнить мой выбор" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "МБ/с" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Дата и время" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Текст" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Имя файла" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Метаданные" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Последовательности" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Метка" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Дата фотографии" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Дата видео" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Сегодня" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Вчера" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Время начала загрузки" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Имя + расширение" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Имя" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Расширение" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Номер фотографии" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Номер видео" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Диафрагма" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Выдержка" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Фокусное расстояние" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Производитель камеры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Модель камеры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Сокращённое название камеры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Дополнительное сокращенное название камеры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Серийный номер" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Счётчик кадров" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Номер файла" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Только каталог" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Каталог и файл" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Имя владельца" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Кодек" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Ширина" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Высота" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Длительность" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Кадров в секунду" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Автор" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Авторские права" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Загрузок за текущий день" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Номер в текущей сессии" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Номер подкаталога" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Сквозная нумерация" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Последовательность символов" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Все цифры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Последняя цифра" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Последние 2 цифры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Последние 3 цифры" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Последние 4 цифры" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Исходный Регистр" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "ВЕРХНИЙ РЕГИСТР" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "нижний регистр" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Одна цифра" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Две цифры" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Три цифры" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Четыре цифры" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Пять цифр" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Шесть цифр" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "семь цифр" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Доли секунды" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ГГГГММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ГГГГ-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ГГММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ГГ-ММ-ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "ММДДГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "ММДДГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "ММДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "ДДММГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "ДДММГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "ГГГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "ГГ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "ММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "ДД" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Месяц (полностью)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Месяц (кратко)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "ЧЧММСС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "ЧЧММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "ЧЧ-ММ-СС" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "ЧЧ-ММ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "ЧЧ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "ММ (мин.)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "СС" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Имя каталога не должно начинаться с %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Имя каталога не должно закачинаться на %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Имя каталога не может содержать две %s, одну за другой" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Удалить все метки?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Вы действительно хотите удалить все метки?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Удалить все запомненные расположения?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Должны ли быть удалены все запомненные расположения?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Удалить все пропускаемые расположения?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Должны ли быть удалены все пропускаемые расположения?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Ошибка в параметрах Переименования фото" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Ошибка в параметрах Переименования видео" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Ошибка в параметрах Подкаталогов для загрузки фото" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Ошибка в параметрах Подкаталогов для загрузки видео" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Введите метку" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Введите новую метку или выберите одну из существующих" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Введите новую метку" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Метка:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Введите расположение, которое хотите пропустить" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Укажите расположение, которое не будет сканироваться на наличие фотографий " "или видеофрагментов" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Расположение:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Метка" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Выберите папку в которой будут хранить резервные копии фотографий" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" "Выберите папку в которой будут храниться резервные копии видеофрагментов" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Внимание: Недостаточно метаданных для создания имен файлов. " "Пожалуйста, используйте другие варианты переименования." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Warning: Недостаточно метаданных для создания названий " "подкаталогов. Пожалуйста, используйте другие варианты именования " "подкаталогов." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Пример: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Введённые настройки подкаталога для %(filetype)s неверны и не могут быть " "использованы.\n" "Они сброшены до значений по умолчанию." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Следующие регулярные выражения недопустимы и будут удалены, если вы не " "исправите их:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Регулярное выражение недопустимо и будет удалено, если вы не исправите его:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Недопустимое регулярное выражение" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "внешнийдиск1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "внешнийдиск2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Нью-Йорк" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Манила" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Прага" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Хельсинки" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Веллингтон" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Тегеран" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Кампала" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Париж" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Берлин" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Сидней" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Будапешт" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Рим" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Москва" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Дели" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Варшава" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Джакарта" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Мадрид" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Стокгольм" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "подкаталог" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "имя файла" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Значение даты и времени %s установлено неверно." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Название файла не содержит расширения." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "В имени файла нет порядкового номера" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Ошибка создания компонента %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "для %(filetype)s не удается прочитать метаданные" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s не удалось создать" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Произошла ошибка при копировании %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s уже существует" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "Резервная копия %(filetype)s не может быть создана, так как не найдено " "хранилище резервных копий." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s было создано %(image1_date)s в %(image1_time)s и %(image2)s " "создано %(image2_date)s в %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s уже был загружен" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Файл %(filetype)s изменен %(date)s в %(time)s. Добавлен уникальный код " "'%(identifier)s'." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "Файл %(filetype)s был изменен %(date)s в %(time)s" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Недостаточно данных для переименования файла %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Ошибка: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Метаданные могут быть повреждены." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "Файл с таким именем, расширением и метаданными уже есть." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Сделана резервная копия на %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Сделана резервная копия на: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s и %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Обнаружены фотографии с одинаковыми названиями, но сделанные в разное время: " "%(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" "Произошла ошибка при создании резервной копии на %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Произошла ошибка при создании резервной копии на %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" "Произошли ошибки при создании резервной копии на следующих носителях: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s и %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s и %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Уже существует резервная копия на %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Уже существует резервная копия на: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Резервная копия на %(volume)s перезаписана." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Перезаписана резерная копия на носителе: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Произошла ошибка при создании каталогов на %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "Произошла ошибка при создании каталогов на следующих устройствах: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "В дополнение к %(previousproblem)s: %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " К тому же есть %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " К тому же была %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "В метаданных пропущен %(type)s" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Эти метаданные пропущены: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s, %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "При задании имени каталога и файла возникли ошибки." #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Ошибка при задании имени каталога и файла." #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Возникли ошибки при создании %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Ошибка при создании %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "Хотя %(filetype)s уже существует, резервная копия все равно создана." #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "При копировании %(filetype)s возникла ошибка, но резервная копия все равно " "создана." #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Обнаружены многочисленные проблемы" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Обнаружены фотографии с одинаковыми названиями, но сделанные в разное время" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "ошибки при создании резервной копии" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Ошибки при создании резервной копии" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "была ошибка при резевном копировании" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Была ошибка при резевном копировании" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, еще %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" "проверка (найдено %(photos)s фотографий и %(videos)s видеозаписей)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "подкаталог и название файла" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Фото уже загружено" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Источник: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Не удалось создать каталог для загрузки" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Путь: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Отметить все" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Сделать пожервование" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Получить помощь в интернете..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Сообщить о проблеме..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Снять все отметки" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Файл" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Загрузка / Пауза" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Выделить" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Выбрать всё _без меток" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Выбрать всё с _метками" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Просмотр" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Журнал ошибок" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Убрать завершённые загрузки" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Предыдущий файл" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Следующий файл" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Помощь" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Перевести это приложение..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Включить в загрузку" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Загрузить" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Настройки: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Каталоги для загрузки фото" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Пример: /home/user/Pictures" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Подкаталоги для загрузки фотографий" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Каталог загрузки:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Выберите каталог, в котором будут храниться фотографии. Подкаталоги для " "загружаемых фотографий будут автоматически созданы в каждом каталоге, " "используя структуру, указанную вами ниже." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Каталог для загрузки фотографий" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Каталоги фото" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Переименование фото\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Переименование фото" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Новое название:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Исходное название:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Пример" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Переименование фото" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Каталоги для загрузки видео" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Извините, но закачка видео отключена. Для того чтобы иметь возможность " "загружать видео, пожалуйста, установите пакеты hachoir metadata и " "kaa metadata для Питона или exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Выберите каталог, в котором будут храниться видеоролики. Подкаталоги для " "загружаемых видеороликов будут автоматически созданы в каждом каталоге, " "используя структуру, указанную вами ниже." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Каталоги видео" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Переименование видео\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Переименование видео" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" "Параметры переименования" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Последовательности номеров" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Укажите время в 24-часовом формате, когда следует обнулять параметр " "Загрузок сегодня." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Начало дня:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Загрузок сегодня:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Сквозная нумерация:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " чч:мм" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Синхронизировать последовательность номеров при загрузке RAW + JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Совместимость с другими операционными системами" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Укажите, следует ли удалить символы в названиях фото, видео, каталогов, " "которые не распознаются в других операционных системах." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Убрать несовместимые символы" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Параметры переименования" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Метки" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Метки" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Добавить..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "У_далить все" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Метки" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Устройства" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Носители" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Устройства - с них загружается фото и видео, например, камера, карта памяти " "или переносной накопитель.\n" "\n" "Вы можете настроить загрузку с нескольких устройств одновременно или указать " "место для загрузки на жестком диске\n" "\n" "Загрузки напрямую с камеры пока что являются пробной возможностью. Если " "загрузка напрямую с камеры работает плохо или не работает вообще, " "переключите ее в режим PTP. Если это невозможно, используйте устройство для " "чтения карт памяти." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Автоматически определять внешние съёмные носители" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Автоматически обнаруживать носители" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Если вы включили автоопределение переносного накопителя, будет просканирован " "весь накопитель. На устройствах большой емкости это может занять время\n" "\n" "Когда эта опция включена, и подходящее устройство обнаружено, программа " "спросит вас, нужно ли его сканировать." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Расположение:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Если вы отключаете автоопределение, выберите место для резервного " "копирования фото и видео." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Настройки устройств" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Запомненные расположения" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Запоминаемыми адресами являются те, которые ассоциируются с устройствами " "выбранными вами для выполнения их постоянного сканирования или " "игнорирования, при задействованной возможности автоматического определения " "Портативного устройства хранения." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Пропускаемые расположения" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Укажите окончание любого адреса, которое вы хотите игнорировать при " "сканировании устройств, на наличие фотографий и видеозаписей. Все адреса " "оканчивающиеся значениями указанными ниже, сканироваться не будут." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "У_далить все" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Использовать регулярные выражения стиля _python" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Настройки устройства" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" "Резервное копирование\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Резервное копирование" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Если вы отключаете автоопределение, выберите место для резервного " "копирования." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Автоматически определять носители для резервного копирования" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Имеется возможность создания резервной копии ваших фотографий и видеороликов " "прямо во время загрузки, в том числе на внешних жёстких дисках." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" "Создавать резервные копии фотографий и видеороликов во время загрузки" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Укажите каталог для размещения резервных копий на носителе. \n" "\n" "Примечение: эта настройка также определяет, используется ли носитель для " "резервного копирования. На каждом носителе, который вы хотите использовать " "для резервного копирования, создайте каталог с одним из этих имен." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Размещение для резервного копирования фото:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Название каталога резервного копирования фото" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Пример:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/externaldrive/Photos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Название каталога резервного копирования видео" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Размещение для резервного копирования видео:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Остальные настройки" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Автоматизация программы" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Отключить (\"извлечь\") носитель после завершения загрузки" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" "Начать загрузку фотографий и видеороликов сразу после запуска программы" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Начать загрузку сразу после подключения носителя" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Завершить программу после загрузки" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Завершить программу даже при ошибках загрузки" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Автоматически поворачивать изображения JPEG" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Быстродействие" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Создавать миниатюры (дольше копируется)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Прочие" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Обработка ошибок" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Конфликт названий между фото и видео" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Добавить уникальную метку" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Пропустить загрузку" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Если фотография или видеоролик с таким названием уже загружен, выберите, " "пропустить загрузку или добавить уникальный идентификатор." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Во время резервного копирования следует перезаписать файл, имеющий тоже " "самое название, или пропустить его?" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Перезаписать" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Пропустить" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Обработка ошибок" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Импортируйте ваши фото и видео быстро и надёжно" #~ msgid "Could not open image" #~ msgstr "Не смог открыть фотографию" #, python-format #~ msgid "Source: %s" #~ msgstr "Источник: %s" #~ msgid "Image has no metadata" #~ msgstr "Фотография не содержит метаданных" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s фотографий пропущено" #~ msgid "errors" #~ msgstr "ошибки" #~ msgid "Image overwritten" #~ msgstr "Фотография перезаписана" #~ msgid "This device has no images to download from." #~ msgstr "На этом устройстве не обнаружены фотографии, которые можно скачать." #~ msgid "Image skipped" #~ msgstr "Фотография пропущена" #~ msgid "Image already exists" #~ msgstr "Фотография уже существует" #~ msgid "Warning:" #~ msgstr "Предупреждение:" #~ msgid "images skipped" #~ msgstr "фотографий пропущено" #~ msgid "_Pause" #~ msgstr "_Пауза" #~ msgid "_Photos" #~ msgstr "_Фотографии" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Источник: %(source)s\n" #~ "Получатель: %(destination)s\n" #~ "Проблема: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Источник: %(source)s\n" #~ "Проблема: %(problem)s" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Подкаталог: %(subfolder)s\n" #~ "Фотография: %(image)s\n" #~ "Проблема: %(problem)s" #~ msgid "Goodbye" #~ msgstr "До свидания" #~ msgid " " #~ msgstr " " #~ msgid "Example: /home/user/photos" #~ msgstr "Пример: /home/user/photos" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Эффективное и надёжное импортирование ваших фотографий" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Error Log" #~ msgstr "Журнал ошибок" #~ msgid "Ignore" #~ msgstr "Игнорировать" #~ msgid "Report an error" #~ msgstr "Сообщить об ошибке" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Невозможно создать каталог получателя\n" #~ "%(directory)s\n" #~ "Ошибка: %(errno)s %(strerror)s" #~ msgid "Problem using pynotify." #~ msgstr "Проблема при использовании pynotify." #~ msgid "Automation" #~ msgstr "Автоматизация" #~ msgid "Backup" #~ msgstr "Резервное копирование" #~ msgid "Backup location:" #~ msgstr "Местоположение резервных копий" #~ msgid "Image Rename" #~ msgstr "Переименование фотографий" #~ msgid "Resetting value to zero.\n" #~ msgstr "Сбросить значение до нуля.\n" #~ msgid "Select an image folder" #~ msgstr "Выберите каталог с фотографиями" #, python-format #~ msgid "%s is already running" #~ msgstr "%s уже запущено" #~ msgid "Using" #~ msgstr "Использование" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Обнаружено %(device)s с путём %(path)s" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Извините, эти параметры содержат ошибку:\n" #~ msgid "Image Rename" #~ msgstr "Переименование фотографий" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Предпросмотр фотографии не может быть выполнен" #~ msgid "It may be corrupted" #~ msgstr "Возможно он повреждён" #~ msgid "Image has no thumbnail" #~ msgstr "У фотографии нет предпросмотра" #~ msgid "_Thumbnails" #~ msgstr "_Предпросмотр фотографий" #~ msgid "extension was specified but image name has no extension" #~ msgstr "расширение было указано, но фотографий не имеет расширения" #~ msgid "image number was specified but image filename has no number" #~ msgstr "номер фотографии был указано, но фотография не имеет номер" #~ msgid "Automation" #~ msgstr "Автоматизация" #~ msgid "Image Devices" #~ msgstr "Носители фотографий" #~ msgid "Image Devices" #~ msgstr "Носители фотографий" #~ msgid "Image Rename\t" #~ msgstr "" #~ "Переименование фотографий\t" #~ msgid "Image Devices" #~ msgstr "Носители фотографий" #~ msgid "Error in Image Rename preferences" #~ msgstr "Ошибка в параметрах настройки переименования фотографий" #~ msgid "Automatically detect image devices" #~ msgstr "Автоматически определять носители, которые содержат фотографии" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "" #~ "Укажите, что делать если не обнаружены носители для резервного копирования." #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Сканирование носителя %s завершено: фотографий не найдено" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Метаданные подсекунд не представлены в фотографии" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s метаданные не представлены в фотографии" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Значение 'Начало дня' повреждено.\n" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Параметры подкаталогов, имеющих некоторые ненужные значения, были удалены." #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Метаданные необходимы для генерирования названий подкаталогов / " #~ "фотографий.\n" #~ "Источник: %s" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Ошибка в компоненте даты и времени. Значение %s неверно." #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "вывести расширения файла фотографии, которые распознала программа и выйти" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Введённые параметры подкаталога неправильны и не могут быть использованы.\n" #~ "Они будут сброшены до значений принятых по умолчанию." #~ msgid "Resetting to default values." #~ msgstr "Восстановить настройки по умолчанию." #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Название фотографии не получилось сгенерировать должным образом. Проверьте " #~ "достаточно ли метаданных." #~ msgid "Image filename could not be generated" #~ msgstr "Не смог сгенерировать название фотографии" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Сканирование носителя завершено: найдено %(number)s фотографий на %(device)s" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Название подкаталога не получилось сгенерировать должным образом. Проверьте " #~ "достаточно ли метаданных." #~ msgid "The device can now be safely removed" #~ msgstr "Теперь можно безопасно отсоединить носитель" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "На этом компьютере ранее запускалась более новая версия программы.\n" #~ "\n" #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Не удалось получить возможности сервера pynotify." #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s фотографий скачано" #~ msgid "Start downloading upon image device insertion" #~ msgstr "Начать скачивание фотографий при вставке носителя" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Если вы отключаете автоматическое определение, то, пожалуйста, выберите " #~ "точное местоположение носителя для резервного копирования." #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Если вы отключаете автоматическое определение, то, пожалуйста, выберите " #~ "точное местоположение фотографий." #~ msgid "Report a warning" #~ msgstr "Предупредить" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "" #~ "Отсоединить (\"извлечь\") носитель с фотографиями после завершения скачивания" #~ msgid "Exit program after completion of successful download" #~ msgstr "Выйти из программы после успешного завершения скачивания фотографий" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Вы можете производить резервное копирование фотографий на различные " #~ "носители, в том числе на внешние жёсткие диски." #~ msgid "Backup photos when downloading" #~ msgstr "Выполнять резервное копирование фотографий при их скачивании" #~ msgid "Backup folder name:" #~ msgstr "Название каталога:" #~ msgid "Backup image already exists" #~ msgstr "Носитель для резервного копирования фотографий уже существует" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Укажите каталог для хранения резервных копий фотографий на устройстве.\n" #~ "\n" #~ "Примечание: На каждом носителе, который вы хотите использовать для " #~ "резервного копирования, создайте каталог с этим названием." #~ msgid "Image Name Conflicts" #~ msgstr "Конфликты в названии фотографии" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Укажите, как следует поступить с фотографией, имеющей точно такое же " #~ "название и уже скачанной или сохранённой в резервной копии." #~ msgid "images downloaded" #~ msgstr "фотографий скачано" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "ошибка генерирования названия компонентом %s" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Внимание: Не хватает метаданных для генерирования названия " #~ "фотографии. Пожалуйста, измените настройки переименования фотографий." #~ msgid "Image location:" #~ msgstr "Носитель фотографий:" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Выберите пропускать ли скачивание такой фотографии или добавлять к ней " #~ "уникальный идентификатор." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Укажите, должны ли удаляться символы в названиях фотографий и каталогов, " #~ "которые не распознаются в других операционных системах." #~ msgid "Download Folder" #~ msgstr "Каталог хранения фотографий" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Ошибка в параметрах настройки подкаталогов для хранения фотографий" #~ msgid "Download Folder" #~ msgstr "" #~ "Каталог хранения фотографий" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Внимание: Не хватает метаданных для генерирования названия " #~ "подкаталогов. Пожалуйста, измените настройки переименования подкаталогов " #~ "(см. параметр Каталог хранения)." #~ msgid "Select a folder in which to backup images" #~ msgstr "Выберите каталог для хранения резервных копий фотографий" #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Носители фотографий - это устройства (фотоаппараты, карты памяти, съёмные " #~ "носители) с которых необходимо скачать фотографии.\n" #~ "\n" #~ "Вы можете одновременно скачивать фотографии с нескольких носителей.\n" #~ "\n" #~ "Скачивание непосредственно из фотоаппарата может работать медленно или не " #~ "работать совсем, в этом случае попытайтесь установить его в режим PTP. Если " #~ "это не возможно, то попробуйте использовать устройство для чтения карт " #~ "памяти." #~ msgid "Enter a new job code." #~ msgstr "Введите новую метку." #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Носитель %(device)s (%(path)s) проигнорирован" #~ msgid "No backup device was detected." #~ msgstr "Устройство для хранения резервных копий не обнаружено." #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "" #~ "Использовать ли этот носитель или диск как место, с которого скачиваются " #~ "фотографии?" #~ msgid "Job Code not entered" #~ msgstr "Метка не введена" #~ msgid "Job Code entered" #~ msgstr "Метка введена" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Во время резервного копирования могут встретиться фотографии с одинаковыми " #~ "названиями. Выберите, перезаписать ли такую фотографию или пропустить её." #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 из %s фотографий скачано" #~ msgid "The image was not copied." #~ msgstr "Фотография не закачана." #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s из %(total)s фотографий скачано" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Неверное значение 'Загрузок сегодня'.\n" #~ msgid "Download copying error" #~ msgstr "Ошибка при загрузке файлов" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Добавлена уникальная метка '%s'" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Начался новый день - сброшена последовательность номеров параметра 'Загрузок " #~ "сегодня'" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Начата загрузка с %s" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Загрузка с %s завершена" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s выбран для загрузки" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s не выбран для загрузки" #~ msgid "This device or partition will always be used to download from" #~ msgstr "Этот носитель или раздел всегда будет использован для загрузки" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Этот носитель или раздел никогда не будет использован для загрузки" #~ msgid "Starting downloads" #~ msgstr "Начинаются загрузки" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Начинаются загрузки, которые ожидали ввода метки" #~ msgid "Automatically start download is false" #~ msgstr "Автоматически начинать загрузку - нет" #~ msgid "Automatically start download is true" #~ msgstr "Автоматически начинать загрузку - да" #~ msgid "_Download " #~ msgstr "_Загрузить " #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Пожалуйста, проверьте настройки, перезапустите программу и попробуйте снова." #~ msgid "There is an error in the program preferences." #~ msgstr "Обнаружена ошибка в настройках программы." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Источник: %(source)s\n" #~ "Назначение: %(destination)s\n" #~ "Ошибка: %(errorno)s %(strerror)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Источник: %(source)s\n" #~ "Назначение: %(destination)s\n" #~ "Ошибка: %(errno)s %(strerror)s" #~ msgid "Backup device missing" #~ msgstr "Отсутствует носитель для резервного копирования" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Введите новую метку или выберите существующую." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Спрашивать, использовать ли %s" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Уже предложено использовать метку, больше не спрашивать" #~ msgid "Prompting for Job Code" #~ msgstr "Предлагать использовать метку" #~ msgid "Some preferences will be reset." #~ msgstr "Некоторые настройки будут сброшены." #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Настройки программы выглядят верными, но проверьте их, чтобы увериться в " #~ "правильной работе." #~ msgid "No preferences needed to be changed." #~ msgstr "Настройки не требуют изменения." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Эта версия программы использует несколько другие настройки, чем предыдущая. " #~ "Ваши настройки были автоматически обновлены.\n" #~ "\n" #~ "Пожалуйста, проверьте их, чтобы быть увериться в правильной работе." #~ msgid "Preferences were modified." #~ msgstr "Настройки были изменены" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Эта версия программы новее, чем запущенная ранее. Проверьте настройки." #~ msgid "Using manually specified path" #~ msgstr "Использовать указанный вручную путь" #~ msgid "Preferences were changed." #~ msgstr "Настройки были изменены" #~ msgid "These preferences are not well formed:" #~ msgstr "Эти настройки не очень хорошо подобраны:" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Неверное значение настроек '%(value)s'" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Неверен ключ настроек '%(key)s'.\n" #~ "Ожидался один из %(value)s" #~ msgid "Missing Backup Devices" #~ msgstr "Отсутствует носитель для резервного копирования" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Если вы включите автоматическое определение съёмных носителей, то они будут " #~ "просканированы на наличие фотографий. На носителях большого объёма это может " #~ "занять достаточно много времени." #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader - это бесплатное программное обеспечение; вы можете " #~ "передавать его и/или модифицировать в соответствии с соглашением GNU General " #~ "Public License опубликованным Free Software Foundation версии 2 или (по " #~ "вашему выбору) более поздней версии.\n" #~ "\n" #~ "Rapid Photo Downloader распространяется в надежде, что эта программа будет " #~ "полезна вам, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ и даже без гарантий КОММЕРЧЕСКОЙ " #~ "ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ ЦЕЛЕЙ КАКОГО-ЛИБО ОПРЕДЕЛЁННОГО ИСПОЛЬЗОВАНИЯ. " #~ "Для дополнительной информации читайте GNU General Public License.\n" #~ "\n" #~ "Вы должны были получить копию GNU General Public License вместе с Rapid " #~ "Photo Downloader; если вы не получили её, то вы можете написать в Free " #~ "Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-" #~ "1301, USA." #~ msgid "Resetting to midnight.\n" #~ msgstr "Вернуть значение \"полночь\".\n" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Извините, некоторые настройки неверны и будут сброшены." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Эта версия программы использует несколько другие настройки, чем предыдущая. " #~ "Некоторые ваши настройки неверны и не могут быть обновлены. Они будут " #~ "сброшены." rapid-photo-downloader-0.4.10/po/et.po0000664000175000017500000013366012267511474020006 0ustar damondamon00000000000000# Estonian translation for rapid # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-06-17 03:05-0500\n" "PO-Revision-Date: 2012-06-20 18:05+0000\n" "Last-Translator: tabbernuk \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-06-22 14:41+0000\n" "X-Generator: Launchpad (build 15461)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:112 rapid/rapid.py:1784 rapid/glade3/rapid.ui.h:1 msgid "Rapid Photo Downloader" msgstr "Rapid foto allalaadija" #: rapid/rapid.py:117 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:119 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:122 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:157 msgid "Device" msgstr "Seade" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:175 msgid "Size" msgstr "Maht" #: rapid/rapid.py:178 msgid "Download Progress" msgstr "Allalaadimise edenemine" #: rapid/rapid.py:336 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1217 msgid "scanning..." msgstr "otsimine..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1782 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1786 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1787 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2209 msgid "Download" msgstr "Laadi arvutisse" #: rapid/rapid.py:2212 msgid "Pause" msgstr "Peata" #: rapid/rapid.py:2317 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2320 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2321 msgid "Download cannot proceed" msgstr "" #: rapid/rapid.py:2700 msgid "About 1 second remaining" msgstr "Umbes 1 sekund jäänud veel" #: rapid/rapid.py:2702 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2704 msgid "About 1 minute remaining" msgstr "Umbes 1 minut on veel jäänud" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2709 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2731 rapid/rpdfile.py:123 msgid "photos and videos" msgstr "fotod ja videod" #: rapid/rapid.py:2733 rapid/rpdfile.py:125 msgid "photos or videos" msgstr "fotod või videod" #: rapid/rapid.py:2736 rapid/rapid.py:3558 rapid/rpdfile.py:128 msgid "videos" msgstr "videod" #: rapid/rapid.py:2738 rapid/preferencesdialog.py:1620 rapid/rpdfile.py:130 #: rapid/rpdfile.py:291 msgid "video" msgstr "video" #: rapid/rapid.py:2741 rapid/rapid.py:3556 rapid/rpdfile.py:133 msgid "photos" msgstr "fotod" #. check subfolder preferences for bad values #: rapid/rapid.py:2743 rapid/preferencesdialog.py:1619 rapid/rpdfile.py:135 #: rapid/rpdfile.py:272 msgid "photo" msgstr "foto" #: rapid/rapid.py:2770 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2774 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2777 rapid/rapid.py:2829 msgid "warnings" msgstr "hoiatused" #: rapid/rapid.py:2786 msgid "All downloads complete" msgstr "Kõik allalaadimised lõpetatud" #: rapid/rapid.py:2792 rapid/rapid.py:2801 rapid/rapid.py:2810 #: rapid/rapid.py:2819 rapid/rapid.py:2827 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2794 rapid/rapid.py:2812 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2803 rapid/rapid.py:2821 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2860 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2867 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3222 msgid "From" msgstr "" #: rapid/rapid.py:3230 msgid "Auto Detect" msgstr "Automaattuvastus" #: rapid/rapid.py:3234 rapid/preferencesdialog.py:1327 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/rapid.py:3275 msgid "Copy" msgstr "Kopeeri" #: rapid/rapid.py:3288 msgid "Move" msgstr "Liiguta" #: rapid/rapid.py:3310 msgid "To" msgstr "Sihtkoht" #: rapid/rapid.py:3317 rapid/rapid.py:3985 msgid "Photos:" msgstr "Fotod:" #: rapid/rapid.py:3320 rapid/preferencesdialog.py:1164 msgid "Select a folder to download photos to" msgstr "" #: rapid/rapid.py:3332 rapid/rapid.py:3985 msgid "Videos:" msgstr "Videod:" #: rapid/rapid.py:3334 rapid/preferencesdialog.py:1182 msgid "Select a folder to download videos to" msgstr "" #: rapid/rapid.py:3526 msgid "and" msgstr "ja" #: rapid/rapid.py:3531 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3533 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3535 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3562 msgid "Free space:" msgstr "Vaba ruum:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3574 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3578 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3583 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3588 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3594 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3602 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3605 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3608 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3615 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3644 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3770 rapid/rpdfile.py:273 msgid "Photo" msgstr "Foto" #: rapid/rapid.py:3772 rapid/rpdfile.py:292 msgid "Video" msgstr "Video" #: rapid/rapid.py:3781 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3783 rapid/rapid.py:3797 rapid/rapid.py:3810 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3795 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3808 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:3894 msgid "Thumbnails" msgstr "Pisipildid" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3948 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:3949 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:3950 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3952 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:3954 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:3955 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:3956 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:3969 msgid "" "Error: specify device auto-detection or manually specifiy a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:3990 #, python-format msgid "and %s" msgstr "" #: rapid/rapid.py:3998 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:157 rapid/backupfile.py:180 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:159 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:161 rapid/backupfile.py:182 rapid/subfolderfile.py:199 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:164 rapid/backupfile.py:184 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/copyfiles.py:163 rapid/subfolderfile.py:214 #: rapid/subfolderfile.py:347 rapid/subfolderfile.py:365 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Seade tuvastatud" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Mäleta seda valikut" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Faili nimi" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metaandmed" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Pildi kuupäev" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Video kuupäev" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Täna" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Eile" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Allalaadimise aeg" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nimi+laiend" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nimi" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Laiend" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Pildi number" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Video number" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Ava" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Säritusaeg" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Fookuskaugus" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Kaamera mudel" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Seerianumber" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Faili number" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Ainult kataloog" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Kataloog ja fail" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Omaniku nimi" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Laius" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Kõrgus" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Kestvus" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1082 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1353 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1366 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1461 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1512 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1515 #, python-format msgid "Example: %s" msgstr "" #. Preferences list is now empty #: rapid/preferencesdialog.py:1605 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1750 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1752 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1753 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1934 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1936 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:358 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:356 msgid "filename" msgstr "" #: rapid/problemnotification.py:81 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:82 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:84 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:85 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:87 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:91 rapid/problemnotification.py:92 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:94 rapid/problemnotification.py:95 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:103 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:104 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:108 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:109 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:112 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:202 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:205 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:224 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:226 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:228 rapid/problemnotification.py:289 #: rapid/problemnotification.py:301 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:229 rapid/problemnotification.py:290 #: rapid/problemnotification.py:302 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:241 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:258 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:260 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:262 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:266 rapid/problemnotification.py:314 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:268 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:272 rapid/problemnotification.py:316 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:277 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:285 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:287 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:297 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:299 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:310 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:312 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:323 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:331 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:333 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:342 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:344 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:364 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:366 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:369 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:380 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:382 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:402 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:404 rapid/subfolderfile.py:233 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:410 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:411 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:413 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:414 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:417 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:153 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:163 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:80 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:301 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:302 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:354 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:393 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:394 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:6 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "_View" msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:15 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:88 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" rapid-photo-downloader-0.4.10/po/zh_CN.po0000644000175000017500000020746112270217616020371 0ustar damondamon00000000000000# Chinese (Simplified) translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Wylmer Wang \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "快速照片下载器" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "设备" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "容量" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "下载进度" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "正在扫描..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "" #: rapid/rapid.py:2270 msgid "Pause" msgstr "" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "下载无法进行" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "相片" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "视频" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "剩余约1秒钟" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "约剩余 %i 秒" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "约剩余 1 秒钟" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "约剩余 %(minutes)i:%(seconds)02i 分钟" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "图片和视频" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "照片或视频" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "视频" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "照片" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s 下载失败" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "警告" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "所有下载已完成" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s 下载失败" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s/%(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "选择目录保存 %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "选择下载相片的目录..." #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "选择下载视频的目录..." #: rapid/rapid.py:3650 msgid "and" msgstr "" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "正在使用备份驱动器" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "正在使用备份驱动器" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "没有检测到备份驱动器" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "备份至 %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "视频" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "只在命令行显示错误信息" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "重置所有程序设置和首选项并退出" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "和 %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "备份错误" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "音频输入: %(source)s\n" "音频输出: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "错误: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "检测到驱动器" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "要使用此设备或分区来下载照片或视频吗?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "记住此选择 (_R)" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "兆/秒" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "日期时间" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "文件名" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "元数据" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "序列" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "任务代码" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "今日" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "昨天" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "名称+扩展名" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "扩展名" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "光圈" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "曝光时间" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "焦距" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "相机制造商" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "相机型号" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "相机型号缩写" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "序列号" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "快门数" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "机主姓名" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "每秒帧数" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "今日下载" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "子目录编号" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "存储编号" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "序列字母" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "所有位数" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "最后1位" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "最后2位" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "最后3位" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "最后4位" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "小写" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "一位" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "两位" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "三位" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "四位" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "五位" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "六位" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "七位" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "YYYYMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "YYMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "YY-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDYYYY" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDYY" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMYYYY" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMYY" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (分钟)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "子目录首选项不应以 %s 开头" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "子目录首选项不应以 %s 结尾" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "子目录首选项不应包含两个相邻的 %s" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "照片重命名设置出错" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "视频重命名设置出错." #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "照片下载子文件夹设置出错." #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "视频下载子文件夹出错" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "输入一个任务代码" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "任务代码:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "警告: 没有足够的数据来完成命名, 请使用其它的重命名选项." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "警告: 没有足够的数据来完成自文件夹命名, 请使用其它的重命名文件夹选项." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "范例: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "外部驱动器1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "外部驱动器2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "纽约" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "马尼拉" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "布拉格" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "赫尔辛基" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "惠灵顿" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "德黑兰" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "坎帕拉" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "巴黎" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "柏林" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "悉尼" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "布达佩斯" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "罗马" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "莫斯科" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "德里" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "华沙" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "雅加达" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "马德里" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "斯德哥尔摩" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "子目录" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "文件名" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "检测到文件名相同,但拍摄时间不同的照片。" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "子文件夹和文件名" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "照片已经下载过" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "源: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "我要捐赠... (_M)" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "获取在线帮助... (_G)" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "报告问题... (_R)" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "文件(_F)" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "下载 / 暂停" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "选择(_S)" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "查看(_V)" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "错误日志 (_E)" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "清除已完成的下载(_C)" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "帮助 (_H)" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "翻译本程序...(_T)" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "首选项:急速照片下载器" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "照片下载目录" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "例如:/home/user/Pictures" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "下载子目录" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "下载目录:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "选择下载目录。下载照片的子目录将使用下列指定结构在此目录内自动创建。" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "下载目录" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "照片目录" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "照片重命名\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "照片重命名" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "原始的:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "例子" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "照片重命名" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "视频下载目录" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "选择下载目录。下载视频的子目录将使用下列指定结构在此目录内自动创建。" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "视频目录" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "视频重命名\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "视频重命名" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "重命名选项" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "序列数字" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "开始日:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "今日下载:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "同步RAW+JPEG序列号" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "兼容其它操作系统" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "指定照片、视频或文件夹名称时应删除任何与其他操作系统不兼容的字符。" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "去掉不兼容字符" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "重命名选项" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "任务代码" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "任务代码" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "添加(_A)..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "全部删除 (_E)" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "驱动器" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "设备" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "自动检测可移动存储设备" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "自动检测设备" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "位置:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "备份\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "备份" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "自动检测备份设备" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "下载后你可以把照片或视频备份到多个位置,比如:外置硬盘。" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "下载时备份照片和视频" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "指定备份存储于设备的目录。 \n" "\n" "注意:这还会被用来确认一个设备是否用来备份。请对每一个希望用于备份的设备创建一个有以上名称的目录。" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "照片备份目录名称" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "例如:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/媒体/外部驱动器/照片" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "视频备份目录" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "程序自动化" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "下载完成后卸载(弹出)设备" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "程序启动时开始下载" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "设备插入后自动开始下载" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "错误处理" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "照片和视频名字冲突" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "添加唯一标识符" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "跳过下载" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "当同名照片或视频已存在时,选择忽略下载或者增加唯一标识符。" #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "备份时,选择是否覆盖或忽略备份设备上的同名文件。" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "覆盖" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "跳过" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "错误处理" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "高效可靠地导入你的照片和视频" #~ msgid "Resetting to default values." #~ msgstr "重设至默认值." #~ msgid "Resetting value to zero.\n" #~ msgstr "归零.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "重设至午夜.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "对不起, 这些自定义设置中有错误:\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "'Start of day' 偏好值已经损坏\n" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "请检查首选项设置,然后重启程序,再试一试。" #~ msgid "There is an error in the program preferences." #~ msgstr "程序首选项存在一个错误" #~ msgid "The device can now be safely removed" #~ msgstr "该设备现在可以安全删除" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "新的一天已开始—正在重置“今日下载”序列号" #~ msgid "errors" #~ msgstr "错误" #, python-format #~ msgid "Download has started from %s" #~ msgstr "下载已经从 %s 处开始" #~ msgid "This device or partition will always be used to download from" #~ msgstr "此设备或分区总是用来下载照片或视频" #~ msgid "This device or partition will never be used to download from" #~ msgstr "此设备或分区不再用于下载" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "提示是否使用 %s" #~ msgid "Some preferences will be reset." #~ msgstr "某些首选项将被重置" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "程序首选项似乎是有效的,但请检查以确保正确的操作。" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "已经提示过作业代码,无需再提示" #~ msgid "Starting downloads" #~ msgstr "开始下载" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "开始下载已经在等待作业代码的下载任务" #~ msgid "Prompting for Job Code" #~ msgstr "提示作业代码" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "抱歉,一些首选项设置无效,它们将被重置。" #~ msgid "No preferences needed to be changed." #~ msgstr "没有首选项需要变更。" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "此版本程序使用与旧版本不同的首选项设置。你的首选项设置已经更新。" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "此版本的程序比之前运行的版本更新。正在检查首选项设置。" #~ msgid "Using manually specified path" #~ msgstr "使用手动指定的路径" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "检测到驱动器 %(device)s 路径 %(path)s" #~ msgid "Goodbye" #~ msgstr "再见" #, python-format #~ msgid "%s is already running" #~ msgstr "%s 已在运行" #~ msgid "Automation" #~ msgstr "自动化" #~ msgid "Backup" #~ msgstr "备份" #~ msgid "Backup location:" #~ msgstr "备份位置:" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "如果启动了可移动存储设备自动侦测,将扫描整个设备上的照片。对于大容量设备,这可能需要一些时间。" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "如果禁用了自动侦测,请选择备份的确切位置。" #~ msgid "Error Log" #~ msgstr "错误日志" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "急速照片下载器是自由软件,您可以根据自由软件基金会发布的 GPL " #~ "协议的条款再发布和/或修改该软件;协议可以是第二版本或(按照您的意愿)任何一个后来的版本。\n" #~ "\n" #~ "急速照片下载器的发布希望对您有帮助,但是没有任何担保责任,亦无对适售性或针对特定目的而隐含的担保。详情请看 GPL 协议。\n" #~ "\n" #~ "您应该和急速照片下载器一同收到了一份 GPL 协议;如果没有,请写信至:Free Software Foundation, Inc., 51 " #~ "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Automation" #~ msgstr "自动" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "警告: 没有足够的图像元数据来生成名称。请用其他的重命名选项。" #~ msgid "Error in Image Rename preferences" #~ msgstr "图像重命名首选项错误" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "下载子目录首选项错误" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "警告: 没有足够的图像元数据来生成子目录。请用其他的子目录选项。" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "子目录首选项存在一些已被删除的非必需选项值。" #~ msgid "Select an image folder" #~ msgstr "选择一个图像目录" #~ msgid "Select a folder in which to backup images" #~ msgstr "选择一个用于图像备份的目录" #~ msgid "Could not open image" #~ msgstr "无法打开图像" #, python-format #~ msgid "Source: %s" #~ msgstr "源:%s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "源:%(source)s\n" #~ "目标:%(destination)s\n" #~ "问题:%(problem)s" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "图像文件名不能正确生成。请确保有充足的图像元数据。" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "源:%(source)s\n" #~ "问题:%(problem)s" #~ msgid "Image filename could not be generated" #~ msgstr "无法生成图像文件名" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "设备扫描完成:在%s上没有找到图像" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "设备扫描完成:在设备%(device)s上发现%(number)s图像" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "元数据是生成子目录/图像必不可少的。\n" #~ "源:%s" #~ msgid "Image has no metadata" #~ msgstr "图像没有元数据" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s 图像已下载" #~ msgid "Backup image already exists" #~ msgstr "备份图像已存在" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "来源:%(source)s\n" #~ "目标:%(destination)s\n" #~ "错误:%(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "目标目录无法创建\n" #~ "%(directory)s\n" #~ "错误:%(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "来源:%(source)s\n" #~ "目标:%(destination)s\n" #~ "错误:%(errorno)s %(strerror)s" #~ msgid "The image was not copied." #~ msgstr "图像没有被复制" #~ msgid "Download copying error" #~ msgstr "下载复制错误" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "唯一标识符“%s”已添加" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "子目录名无法正确生成。请确保有足够的图像元数据信息。" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "子目录:%(subfolder)s\n" #~ "图像:%(image)s\n" #~ "问题:%(problem)s" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s 图像已被忽略" #~ msgid "Backup device missing" #~ msgstr "备份设备丢失" #~ msgid "No backup device was detected." #~ msgstr "没有侦测到备份设备" #~ msgid "This device has no images to download from." #~ msgstr "此设备没有图像可供下载" #~ msgid "Image has no thumbnail" #~ msgstr "图像没有缩略图" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(total)s 中的 %(number)s 图像已复制" #, python-format #~ msgid "Download complete from %s" #~ msgstr "从%s开始下载完成" #~ msgid "Image overwritten" #~ msgstr "图像被覆盖" #~ msgid "Image already exists" #~ msgstr "图像已存在" #~ msgid "Image skipped" #~ msgstr "图像被忽略" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "输入一个新的任务代码或选择一个已存在的。" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "此版本的程序使用跟旧版本不同的首选项。之前的一些首选项已经无效且无法更新,它们将被重置。" #~ msgid "Job Code not entered" #~ msgstr "任务代码还没输入" #~ msgid "Enter a new job code." #~ msgstr "输入一个新任务代码" #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "接收pynotify服务器功能失败" #~ msgid "Job Code entered" #~ msgstr "任务代码已输入" #~ msgid "images skipped" #~ msgstr "图像已忽略" #~ msgid "images downloaded" #~ msgstr "图像已下载" #~ msgid "Preferences were changed." #~ msgstr "首选项已更改" #~ msgid "_Download " #~ msgstr "下载 (_D) " #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "图像里不存在%s元数据" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "日期时间部分有错误,值 %s 好像无效。" #~ msgid "extension was specified but image name has no extension" #~ msgstr "扩展名已指定,但图像名没有扩展名" #~ msgid "image number was specified but image filename has no number" #~ msgstr "图像编号已指定,但图像文件名没有编号" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "使用组件 %s 生产文件名时出错" #~ msgid "Image Rename" #~ msgstr "图像重命名" #~ msgid "Missing Backup Devices" #~ msgstr "备份设备丢失" #~ msgid "Example: /home/user/photos" #~ msgstr "例如: /home/user/photos" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "选择是否忽略图像下载或增加唯一标识符继续下载。" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "版权所有 Damon Lynch 2007-09" #~ msgid "Backup folder name:" #~ msgstr "备份目录名称:" #~ msgid "Automatically detect image devices" #~ msgstr "自动侦测图像设备" #~ msgid "Download Folder" #~ msgstr "下载目录" #~ msgid "Image Devices" #~ msgstr "图像设备" #~ msgid "Download Folder" #~ msgstr "下载目录" #~ msgid "Image Rename\t" #~ msgstr "图像重命名\t" #~ msgid "Report a warning" #~ msgstr "报告一个警告" #~ msgid "Import your images efficiently and reliably" #~ msgstr "高效、可靠地导入您的图像" #~ msgid "Image location:" #~ msgstr "图像位置:" #~ msgid "Exit program after completion of successful download" #~ msgstr "下载完成后退出程序" #~ msgid "Image Rename" #~ msgstr "图像重命名" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "如果禁用了自动侦测,请选择正确的图像目录。" #~ msgid "Report an error" #~ msgstr "报告错误" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "指定如何处理同名下载或备份文件" #~ msgid "Start downloading upon image device insertion" #~ msgstr "图像设备插入式开始下载" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "指定没有备份设备时该如何处理" #~ msgid "_Thumbnails" #~ msgstr "缩略图(_T)" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "您可以把已下载的备份到多个位置,比如:外部硬盘。" #~ msgid "_Photos" #~ msgstr "照片 (_P)" #~ msgid " " #~ msgstr " " #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "输入的子目录偏好无效,无法使用。\n" #~ "它们将被重置为默认值。" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "缩略图无法显示" #~ msgid "It may be corrupted" #~ msgstr "文件可能已损坏" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0/%s 图片已复制" #~ msgid "Preferences were modified." #~ msgstr "首选项已修改" #~ msgid "_Pause" #~ msgstr "暂停(_P)" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "忽略设备 %(device)s (%(path)s)" #~ msgid "Automatically start download is false" #~ msgstr "自动开始下载值为假" #~ msgid "Automatically start download is true" #~ msgstr "自动开始下载值为真" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "列出程序识别的图像文件扩展名并退出" #~ msgid "Image Devices" #~ msgstr "图像设备" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "偏好值 '%(value)s' 无效" #~ msgid "Image Name Conflicts" #~ msgstr "图像名冲突" #~ msgid "Image Devices" #~ msgstr "图像设备" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "备份时选择是否覆盖备份设备上的同名文件,或者忽略。" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "下载完成后卸载(弹出)图像设备" #~ msgid "Using" #~ msgstr "使用" #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "指定是否删除图像和目录名称中其他操作系统不允许的任何字符。" rapid-photo-downloader-0.4.10/po/ro.po0000644000175000017500000017653712270217615020020 0ustar damondamon00000000000000# Romanian translation for rapid # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: bert \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Foto Descărcător" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Dispozitiv" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Mărime" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Progresul Descărcării" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "scanez" #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "" #: rapid/rapid.py:2270 msgid "Pause" msgstr "" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Descărcarea nu poate continua" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotografii" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "video" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Aproximativ 1 secundă rămâne" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Aproximativ %i secunde rămân" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Aprozimativ 1 minut rămâne" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Aproximativ %(minutes)i:%(seconds)-2i minute rămân" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fotografii și video" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fotografii și video" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "fotografie" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s descărcate" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s descărcare eșuată" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avertismente" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Toate descărcările complecte" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s descărcate" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s au eşuat la descărcare" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s din %(total)s %(filetypes)s (%(remaining)s remaining)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s din %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Selectaţi un dosar ce conţine %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fotografii:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Alegeți un dosar unde să fie descărcate fotografiile" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Video-uri" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Selectează un dosar unde descarc video" #: rapid/rapid.py:3650 msgid "and" msgstr "și" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Folosesc copia de siguranță a dispozitivelor" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Folosesc copia de siguranță a dispozitivului" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Nu am găsit copie de siguranță a dispozitivului" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Copiez de siguranță în %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Fotografie" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "afișare informații program în linia de comandă când programul rulează " "(default: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "afișare informații depanare în linia de coandă atunci când rulează" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "doar erorile de ieșire în linie de comandă" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "listează extensiile fișierului fotografie și video pe care progamul le " "recunoaște și ieși" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "resetează toate setările și preferințele și ieși" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "și %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Toate setările și preferințele au fost resetate" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Eroare copiere de siguranță" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Directorul de destinație nu poate fi creat: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Sursă: %(source)s\n" "Destinație: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Erori: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "Copia de siguranță %(file_type)s va fi rescrisă" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "%(file_type)s nu s-a copiat de siguranță" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "Copia de siguranță a %(file_type)s există deja" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Dispozitiv Detectat" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Poate acest dispozitiv sau partiție să fie folosit pentru descărcare " "fotografii sau video de la?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Amintiţi-vă această alegere" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Dată timp" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Text" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nume fișier" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Secvenţe" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Cod sarcină" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Dată imagine" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Dată video" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Astăzi" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Ieri" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Timp descărcare" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nume + extensie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nume" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extensie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Număr imagine" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Număr video" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Diafragmă" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Timp expunere" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Distanță focală" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Fabricant cameră foto" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Model cameră foto" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Model scurt cameră foto" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Silabisire scurtă model cameră foto" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Număr serie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Calcul obturator" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nume proprietar" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Codec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Lățime" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Înălțime" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Lungime" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Cadre pe secundă" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Descărcările de azi" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Numărul sesiunii" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Număr subdosare" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Număr stocare" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Secvență literă" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Toți digiți" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Ultimul digit" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Ultimii 2 digiți" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Ultimii 3 digiți" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Ultimii 4 digiți" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Format original" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "MAJUSCULE" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "minuscule" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Un digit" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Doi digiți" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Trei digiți" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Patru digiți" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinci digiți" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Șase digiți" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Șapte digiți" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Milisecunde" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "AAAALLZZ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "AAAA-LL-ZZ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "AALLZZ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "AA-LL-ZZ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "LLZZAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "LLZZAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "LLZZ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "ZZLLAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "ZZLLAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "LL" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "ZZ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "OOMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "OOMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "OO-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "OO-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "OO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minute)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Preferințele subdosarului nu se poate începe cu %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Preferințele subdosarului nu se pot termina cu %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" "Preferințele subdosarului nu trebuie să conțină două %s una după alta" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Eliminați toate Codurile Sarcină" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Să elimin toate Codurile Sarcină" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Eroare în preferințele redenumirii fotografiei" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Eroare în preferințele redenumirii fișierului video" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Eroare în preferințe Subdosar Descărcări Foto" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Eroare în preferințe Subdosar Descărcări Video" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Introduceți un Cod Sarcină" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Introduceți un nou Cod Sarcină, sau selectați unul precedent" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Introduceți un nou Cod Sarcină" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Cod Sarcină" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Cod Sarcină" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Avertivare: Nu există suficiente metadate pentru a genera pe " "deplin numele. Folosiţi alte opţiuni de redenumire." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Avertizare: Insuficiente metadata pentru generare complectă a " "subdosarului. Folosiți opțiunea de denumire." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Exemple: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Preferințele %(filetype)s subdosarului introduse sunt invalide și nu pot fi " "folosite.\n" "Ele vor fi resetate la valori implicte." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "dispozitiv extern 1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "dispozitiv extern 2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapesta" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moscova" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varșovia" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "subdosar" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nume fișier" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Fotografii detectate cu același nume de fișier, dar făcute în timpi diferiți" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "subdosare si nume fișiere" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Fotografia este deja descărcată" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Sursă: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Faceți o Donație..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Găsiți Ajutor Online..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Raportați o problemă..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Fişier" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Descărcare / Pauză" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Selectați" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Selectați tot fără _Cod Sarcină" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Selectați tot c_u Cod Sarcină" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Vizualizează" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Erori Jurnal" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Curăță descărcările Complected" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Ajutor" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Tradu această aplicație..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Preferințe: Rapid Foto Descărcător" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Dosar Descărcări Fotografii" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Exemplu: /acasă/utilizator/Poze" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Subdosar Descărcări" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Dosarul de descărcare:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Alegeți dosarul de descărcări. Subdosarul pentru fotografiile descărcate va " "fi creat automat în acest dosar folosind structura de mai jos." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Dosar Descărcare" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Dosar Fotografii" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" "Redenumire Fotografii\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Redenumire Fotografie" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Nou:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Exemplu" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Redenumire Fotografie" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Dosar Descărcări Video" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Alegeți dosarul de descărcări. Subdosarul pentru video descărcate va fi " "creat automat în acest dosar folosind structura de mai jos." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Dosare Video" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Redenumire Video\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Redenumire Video" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Redenumire Opțiuni" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Număr Secvență" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Specificaţi ora în formatul de 24 de ore la care Descărcări de astăzi " "numărul de ordine ar fi resetate." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Ziua de început:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Descărcări de azi:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Număr stocare:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " oo:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Sincronizarea RAW + JPEG numere de secvenţă" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Compatibilitate cu Alt Sistem de Operare" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Specificaţi dacă foto, video şi nume de dosar ar trebui să aibă caractere " "eliminate care nu sunt permise de alte sisteme de operare." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Curăță caractere incompatibile" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Opțiuni Redenumire" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Coduri Sarcină" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Cod Sarcină" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Adaugă..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "Șt_erge tot" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Coduri Sarcină" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" "Copy text \t\r\n" "Dispozitiv" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Dispozitive" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Detectare automată a Dispozitivelor de Stocare Portabile" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Detectare automată dispozitive" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Locație:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Copie de Rezervă\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Copie de rezervă" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Detectare automată a copiilor de siguranță a dispozitivelor" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Puteţi avea fotografiile şi video copiate de siguranță în mai multe locaţii " "în care sunt descărcate, de exemplu, hard diskuri externe." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Copiază de siguranță fotografiile șî video cănd descărci" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Specificaţi dosarul în care copiile de siguranță sunt stocate pe dispozitiv. " " \n" "\n" "Notă: acest lucru va fi, de asemenea, utilizat pentru a determina dacă " "sau nu, dispozitivul este folosit pentru copie de siguranță. Pentru fiecare " "dispozitiv pentru care faceți copie de siguranță, creați un dosar în el cu " "numele lui." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Numele dosarului copie de siguranță pentru fotografii:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Exemplu:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/dispozitiv extern/Fotografii" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Nume dosar copie de siguranță video:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Program Automatizare" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Demontează (\"scoate\") dispozitiv dacă descărcarea este complectă" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Pornire descărcare la pornirea programului" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Pornire descărcare la introducerea dispozitivului" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Eroare de manipulare" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Conflicte în Nume Fotografii și Video" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Adaugă identificator unic" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Omite descărcare" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Atunci când o fotografie sau video cu acelaşi nume a fost deja descărcat, " "alegeţi dacă să săriţi descărcarea fişierul, sau pentru a adăuga un " "identificator unic." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Când copiați de siguranță, alegeți dacă să suprascrieți un fișier de pe " "dispozitivul de rezervă care are acelși nume, sau să-l săriți." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Suprascrie" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Omite" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Tratarea erorilor" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importați fotografii și video eficien și fiabil" #~ msgid "Resetting to midnight.\n" #~ msgstr "Resetarea la miezul nopţii\n" #~ msgid "There is an error in the program preferences." #~ msgstr "Este o eroare în preferințe program." #~ msgid "errors" #~ msgstr "erori" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Descărcarea a început de la %s" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Descărcare complectă din %s" #~ msgid "This device or partition will always be used to download from" #~ msgstr "" #~ "Acest dispozitiv sau partiţie va fi întotdeauna folosit pentru a descărca de " #~ "la" #~ msgid "This device or partition will never be used to download from" #~ msgstr "" #~ "Acest dispozitiv sau partiţie nu va fi folosit pentru a descărca de la" #~ msgid "Some preferences will be reset." #~ msgstr "Câteva preferințe vor fi resetate." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "O versiune mai nouă a acestui program a fost anterior executa pe acest " #~ "computer.\n" #~ "\n" #~ msgid "Starting downloads" #~ msgstr "Pornire descărcări" #~ msgid "Warning:" #~ msgstr "Atenție:" #~ msgid "No preferences needed to be changed." #~ msgstr "Nicio preferință nu trebuie modificată." #~ msgid "Preferences were modified." #~ msgstr "Preferințele au fost modificate" #~ msgid "Using manually specified path" #~ msgstr "Utilizând o cale specificată manual" #~ msgid "Automatically start download is false" #~ msgstr "Pornirea descărcării în mod automat este falsă" #~ msgid "Automatically start download is true" #~ msgstr "Pornirea descărcării în mod automat este adevărată" #~ msgid "_Pause" #~ msgstr "_Pauză" #~ msgid "Goodbye" #~ msgstr "La revedere" #~ msgid "Using" #~ msgstr "utilizând" #, python-format #~ msgid "%s is already running" #~ msgstr "%s este deja în execuţie" #~ msgid "These preferences are not well formed:" #~ msgstr "Aceste preferinţe nu sunt bine formate:" #~ msgid " " #~ msgstr " " #~ msgid "Automation" #~ msgstr "" #~ "Copy text \t\r\n" #~ "Automatizare" #~ msgid "Automation" #~ msgstr "Automatizare" #~ msgid "Backup location:" #~ msgstr "Locație copie de rezervă" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Dacă dezactivaţi detectarea automată, alegeţi locaţia copiei de rezervă " #~ "exact." #~ msgid "Error Log" #~ msgstr "Jurnal Erori" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Dacă activaţi detectarea automată de Dispozitive Portabile de Stocare, " #~ "întregul dispozitiv va fi scanat pentru imagini. În cazul dispozitivelor " #~ "mari, aceasta ar putea dura ceva timp." #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Dispozitiv %(device)s (%(path)s) ignorat" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Detectat %(device)s cu calea %(path)s" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Valoare preferință %(value)s' este invalidă" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s selectate pentru descărcare de la" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Determinați dacă doriţi să utilizaţi %s" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Preferința cheii '%(key)s' este invalidă\n" #~ "Aștept una dintre %(value)s" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader este software liber, îl puteţi redistribui şi / sau " #~ "modifica sub termenii GNU General Public License publicate de Free Software " #~ "Foundation; fie versiunea 2 a Licenţei, sau (la opţiunea dumneavoastră) " #~ "orice versiune ulterioară.\n" #~ "\n" #~ "Rapid Photo Downloader este distribuit în speranţa că va fi folositor, dar " #~ "FĂRĂ NICI O GARANŢIE, nici chiar garanţia implicită de VANDABILITATE sau " #~ "POTRIVIRE PENTRU UN SCOP ANUME. Vezi GNU General Public License pentru mai " #~ "multe detalii.\n" #~ "\n" #~ "Trebuie să fi primit o copie a GNU General Public License, împreună cu Rapid " #~ "Photo Downloader, dacă nu, scrieţi la Free Software Foundation, Inc, 51 " #~ "Franklin Street, Fifth Floor, Boston, MA 02110 la 1301, Statele Unite ale " #~ "Americii." #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Aceste preferințe conțin o eroare:\n" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s rejectat ca și dispozitiv de descărcare" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Valoare Invalidă Descărcări Astăzi.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Valorile preferinței 'Pornirea zilei' sunt corupte.\n" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Nouă zi a început - resetați numărul de secvență \"Descărcările de azi\"" #~ msgid "Job Code not entered" #~ msgstr "Codul Sarcină nu s-a introdus" #~ msgid "Job Code entered" #~ msgstr "Cod Sarcină introdus" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Ponesc descărcarea care așteaptă un Cod Sarcină" #~ msgid "Prompting for Job Code" #~ msgstr "Determinați pentru Cod Sarcină" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Deja determinat pentru Cod Sarcină, nu solicita din nou" #~ msgid "Problem using pynotify." #~ msgstr "Probleme folosind notificarea py." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Verificați preferințele, reporniți, și încercați din nou." #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Preferinţele programului par a fi valabil, verificaţi pentru a asigura " #~ "funcţionarea corectă." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Această versiune de program folosește preferințe diferite decât versiunea " #~ "veche. Preferințele dvs. au fost actualizate.\n" #~ "\n" #~ "Verificaţi-le pentru a asigura funcţionarea corectă." #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Unele preferinţe sunt invalide şi vor fi resetate." #~ msgid "Backup" #~ msgstr "Copie de rezervă" #~ msgid "Resetting value to zero.\n" #~ msgstr "Se resetează valore la zero.\n" #~ msgid "Resetting to default values." #~ msgstr "Se resetează la valori implicite." #~ msgid "The device can now be safely removed" #~ msgstr "Dispozitivul poate fi scos în siguranță" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Această versiune a programului este mai nouă decât versiunea anterioară ce " #~ "rulează. Verificați preferinţele." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Această versiune de program folosește preferințe diferite decât versiunea " #~ "veche. Câteva din preferințe sunt invalide și nu pot fi actualizate. Ele vor " #~ "fi resetate." rapid-photo-downloader-0.4.10/po/fa.po0000644000175000017500000014254712270217620017754 0ustar damondamon00000000000000# Persian translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Persian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "در حال پویش..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "" #: rapid/rapid.py:2270 msgid "Pause" msgstr "" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "دانلود نمی تواند ادامه پیدا کند..." #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "یک پوشه را برای دانلود عکس انتخاب نمایید" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "" #: rapid/rapid.py:3650 msgid "and" msgstr "" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "کد دستور" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "مثال : %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "درایو خارجی 1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "درایو خارجی 2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "نیویورک" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "مانیل" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "پراگ" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "هلسینکی" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "ولینگتون" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "تهران" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "کامپلا" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "پاریس" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "برلین" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "سیدنی" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "بوداپست" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "رم" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "مسکو" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "دهلی" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "ورشو" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "جاکارتا" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "مادرید" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "استکهلم" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" #~ msgid "Resetting value to zero.\n" #~ msgstr "ری ست مقدار به صفر\n" #~ msgid "Error in Image Rename preferences" #~ msgstr "خطای تغیر نام تصویر" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "خطای ایجاد زیر پوشه دانلود" #~ msgid "Resetting to default values." #~ msgstr "مقدار دهی ثانویه مقادیر اولیه" #~ msgid "Select an image folder" #~ msgstr "یک پوشه عکس را انتخاب نمایید" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "تنظیمات زیرپوشه دارای تعدادی ارزش های غیر ضروری حذف شده است." #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "تنظیمات زیرپوشه وارد شده نامعتبر است و نمیتوان آنها را استفاده کرد.\n" #~ "آنها به مقادیر پیش فرض خود را مجددا تنظیم خواهند شد." #~ msgid "Select a folder in which to backup images" #~ msgstr "یک فولدر را برای گرفتن بک آپ عکس ها انتخاب نماید" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "لطفا تنظیمات چک کنید ، برنامه را مجدد راه اندازی ، و دوباره سعی کنید." #~ msgid "There is an error in the program preferences." #~ msgstr "خطا در تنظیمات برنامه وجود دارد." #~ msgid " " #~ msgstr " " rapid-photo-downloader-0.4.10/po/tr.po0000664000175000017500000013231512267511447020017 0ustar damondamon00000000000000# Turkish translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-09-08 06:50-0500\n" "PO-Revision-Date: 2011-08-24 15:52+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-09-19 19:06+0000\n" "X-Generator: Launchpad (build 13980)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:106 rapid/glade3/rapid.ui.h:14 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:111 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:113 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:116 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:150 msgid "Device" msgstr "Aygıt" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:167 msgid "Size" msgstr "Boyut" #: rapid/rapid.py:170 msgid "Download Progress" msgstr "İndirme Süreci" #: rapid/rapid.py:316 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1178 msgid "scanning..." msgstr "taranıyor..." #: rapid/rapid.py:2077 rapid/glade3/rapid.ui.h:5 msgid "Download" msgstr "İndir" #: rapid/rapid.py:2080 msgid "Pause" msgstr "Duraklat" #: rapid/rapid.py:2181 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2184 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Bu indirme klasörü geçersiz:\n" "%s" #: rapid/rapid.py:2185 msgid "Download cannot proceed" msgstr "" #: rapid/rapid.py:2490 msgid "About 1 second remaining" msgstr "Yaklaşık 1 saniye kaldı" #: rapid/rapid.py:2492 #, python-format msgid "About %i seconds remaining" msgstr "Yaklaşık %i saniye kaldı" #: rapid/rapid.py:2494 msgid "About 1 minute remaining" msgstr "Yaklaşık 1 dakika kaldı" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2499 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Yaklaşık %(minutes)i:%(seconds)02i dakika kaldı" #: rapid/rapid.py:2521 rapid/preferencesdialog.py:891 rapid/rpdfile.py:110 msgid "photos and videos" msgstr "fotoğraflar ve videolar" #: rapid/rapid.py:2523 rapid/rpdfile.py:112 msgid "photos or videos" msgstr "fotoğraflar veya videolar" #: rapid/rapid.py:2526 rapid/rapid.py:3103 rapid/rpdfile.py:115 msgid "videos" msgstr "videolar" #: rapid/rapid.py:2528 rapid/preferencesdialog.py:1616 rapid/rpdfile.py:117 #: rapid/rpdfile.py:270 msgid "video" msgstr "video" #: rapid/rapid.py:2531 rapid/rapid.py:3101 rapid/preferencesdialog.py:893 #: rapid/rpdfile.py:120 msgid "photos" msgstr "fotoğraflar" #. check subfolder preferences for bad values #: rapid/rapid.py:2533 rapid/preferencesdialog.py:1615 rapid/rpdfile.py:122 #: rapid/rpdfile.py:250 msgid "photo" msgstr "fotoğraf" #: rapid/rapid.py:2560 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2564 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2567 rapid/rapid.py:2619 msgid "warnings" msgstr "uyarılar" #: rapid/rapid.py:2576 msgid "All downloads complete" msgstr "Bütün yüklemeler tamamlandı" #: rapid/rapid.py:2582 rapid/rapid.py:2591 rapid/rapid.py:2600 #: rapid/rapid.py:2609 rapid/rapid.py:2617 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2584 rapid/rapid.py:2602 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2593 rapid/rapid.py:2611 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2650 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2657 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3071 msgid "and" msgstr "ve" #: rapid/rapid.py:3076 msgid "Using backup devices" msgstr "Yedekleme ünitelerini kullanma" #: rapid/rapid.py:3078 msgid "Using backup device" msgstr "Yedekleme ünitesi kullanma" #: rapid/rapid.py:3080 msgid "No backup devices detected" msgstr "Yedekleme ünitesi bulunamadı" #: rapid/rapid.py:3107 msgid "Free space:" msgstr "Boş alan:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3119 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3123 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3128 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3133 msgid "." msgstr "," #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3139 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3147 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3150 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3153 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3160 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3189 msgid "Program preferences are invalid" msgstr "Uygulama tercihleri geçersiz" #: rapid/rapid.py:3308 rapid/rpdfile.py:251 msgid "Photo" msgstr "Fotoğraf" #: rapid/rapid.py:3310 rapid/rpdfile.py:271 msgid "Video" msgstr "Video" #: rapid/rapid.py:3319 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3321 rapid/rapid.py:3335 rapid/rapid.py:3348 #, python-format msgid "Folder: %s" msgstr "Klasör: %s" #: rapid/rapid.py:3333 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3346 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:3424 msgid "Thumbnails" msgstr "Küçük resimler" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3471 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "Uygulama bilgilerini, uygulama çalışırken komut satırında göster(öntanımlı: " "%default)" #: rapid/rapid.py:3472 msgid "display debugging information when run from the command line" msgstr "Komut satırında çalışırken hata ayıklama bilgisini göster" #: rapid/rapid.py:3473 msgid "only output errors to the command line" msgstr "sadece hataqları komut satırında göster" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3475 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:3477 msgid "reset all program settings and preferences and exit" msgstr "Bütün uygulama ayarlarını ve tercihlerini sıfırla ve çık" #: rapid/rapid.py:3490 msgid "Photos:" msgstr "Fotoğraflar:" #: rapid/rapid.py:3490 msgid "Videos:" msgstr "Videolar:" #: rapid/rapid.py:3495 #, python-format msgid "and %s" msgstr "ve %s" #: rapid/rapid.py:3503 msgid "All settings and preferences have been reset" msgstr "Bütün uygulama ayarları ve tercihleri sıfırlandı" #: rapid/rapid.py:3521 msgid "" "Video downloading functionality disabled.\n" "To download videos, please install the hachoir metadata and kaa metadata " "packages for python." msgstr "" #: rapid/backupfile.py:142 rapid/backupfile.py:165 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:144 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:146 rapid/backupfile.py:167 rapid/subfolderfile.py:196 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:169 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/copyfiles.py:143 rapid/subfolderfile.py:211 #: rapid/subfolderfile.py:351 rapid/subfolderfile.py:369 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/device.py:79 msgid "Device Detected" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:88 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:107 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:291 msgid "MB/s" msgstr "" #: rapid/generatenameconfig.py:145 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:146 msgid "Text" msgstr "" #: rapid/generatenameconfig.py:147 msgid "Filename" msgstr "" #: rapid/generatenameconfig.py:148 msgid "Metadata" msgstr "" #: rapid/generatenameconfig.py:149 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:151 rapid/preferencesdialog.py:570 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:153 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:154 msgid "Today" msgstr "" #: rapid/generatenameconfig.py:155 msgid "Yesterday" msgstr "" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:157 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:159 msgid "Name + extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:161 msgid "Name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:163 msgid "Extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Image number" msgstr "" #: rapid/generatenameconfig.py:166 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:168 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:170 msgid "ISO" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:172 msgid "Exposure time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Serial number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Shutter count" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Owner name" msgstr "" #: rapid/generatenameconfig.py:189 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:190 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:191 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:192 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:193 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:194 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:195 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:197 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:199 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:201 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:203 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:205 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:207 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:209 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:211 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:213 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:215 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:217 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:219 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:221 msgid "lowercase" msgstr "" #: rapid/generatenameconfig.py:222 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:223 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:224 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:225 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:226 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:227 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:228 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:230 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:232 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:234 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:236 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:238 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:240 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:370 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:372 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:431 rapid/preferencesdialog.py:693 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:432 rapid/preferencesdialog.py:710 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:438 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:439 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:445 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:457 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:638 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:659 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:676 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:735 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:751 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:754 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:759 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:815 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:827 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:832 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1078 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1160 msgid "Select a folder to download photos to" msgstr "" #: rapid/preferencesdialog.py:1178 msgid "Select a folder to download videos to" msgstr "" #: rapid/preferencesdialog.py:1323 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/preferencesdialog.py:1349 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1362 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1457 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1508 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1511 #, python-format msgid "Example: %s" msgstr "" #. Preferences list is now empty #: rapid/preferencesdialog.py:1601 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1746 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1748 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1749 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1931 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1933 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:126 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:127 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:127 msgid "Prague" msgstr "Prag" #: rapid/prefsrapid.py:127 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:127 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:128 msgid "Tehran" msgstr "Tahran" #: rapid/prefsrapid.py:128 msgid "Kampala" msgstr "" #: rapid/prefsrapid.py:128 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:128 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:128 msgid "Sydney" msgstr "Sidney" #: rapid/prefsrapid.py:129 msgid "Budapest" msgstr "Budapeşte" #: rapid/prefsrapid.py:129 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:129 msgid "Moscow" msgstr "Moskova" #: rapid/prefsrapid.py:129 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:129 msgid "Warsaw" msgstr "Varşova" #: rapid/prefsrapid.py:130 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:130 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:130 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:26 rapid/subfolderfile.py:362 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:27 rapid/subfolderfile.py:360 msgid "filename" msgstr "" #: rapid/problemnotification.py:80 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:81 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:83 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:84 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:86 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:88 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:90 rapid/problemnotification.py:91 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:93 rapid/problemnotification.py:94 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:97 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:102 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:103 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:107 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:108 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:109 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:201 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:204 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:223 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:225 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:227 rapid/problemnotification.py:288 #: rapid/problemnotification.py:300 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:228 rapid/problemnotification.py:289 #: rapid/problemnotification.py:301 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:240 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:257 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:259 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:261 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:265 rapid/problemnotification.py:313 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:267 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:271 rapid/problemnotification.py:315 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:276 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:284 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:286 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:309 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:311 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:322 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:330 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:332 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:341 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:343 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:346 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:363 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:365 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:368 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:370 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:379 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:381 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:401 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:403 rapid/subfolderfile.py:230 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:409 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:410 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:412 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:413 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:416 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:136 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/subfolderfile.py:79 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:299 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:300 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:358 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:396 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:397 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:6 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:15 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Download" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:27 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:30 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:31 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:32 msgid "_View" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:2 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:38 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "Delete photos and videos from device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:47 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:51 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:52 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:60 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:72 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install the hachoir metadata and kaa metadata packages for " "python." msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:88 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "_Add..." msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" #~ msgid " " #~ msgstr " " rapid-photo-downloader-0.4.10/po/nl.po0000644000175000017500000024444112270217613017775 0ustar damondamon00000000000000# Dutch translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:17+0000\n" "Last-Translator: A.J. Baudrez \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" "Language: nl\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Apparaat" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Grootte" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Downloadvoortgang" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s werd niet ontkoppeld" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "Aan het scannen..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "de 'root' van het bestandssysteem" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Aan het downloaden van %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Wenst u werkelijk vanaf hier te downloaden? Het doorlopen van deze plaats " "kan op bepaalde systemen heel lang duren." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Download" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pauze" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Deze downloadmappen zijn ongeldig:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Deze downloadmap is ongeldig:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Download kan niet plaatsgrijpen" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "Geen enkel backup apparaat bevat een geldige folder om %(filetype)s te " "backuppen" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "foto's" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "video's" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "Backup probleem" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Ongeveer 1 seconde te gaan" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Ongeveer %i seconden te gaan" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Ongeveer 1 minuut te gaan" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Ongeveer %(minutes)i:%(seconds)02i minuten te gaan" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "foto's en video's" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "foto's of video's" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "foto" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s gedownload" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s kon niet gedownload worden" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "verwittigingen" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Alle downloads zijn afgelopen" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s gedownload" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s werden niet gedownload" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" "%(number)s van de %(total)s %(filetypes)s (%(remaining)s blijven over)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s van %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Van" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Automatisch detecteren" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Selecteer een map die %(file_types)s bevat" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Kopiëren" #: rapid/rapid.py:3397 msgid "Move" msgstr "Verplaatsen" #: rapid/rapid.py:3419 msgid "To" msgstr "Naar" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Foto's:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Duid een map aan om de foto's naar toe te downloaden" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Video's:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Selecteer een map om de video's naar toe te downloaden" #: rapid/rapid.py:3650 msgid "and" msgstr "en" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Backup apparaten aan het gebruiken" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Backup apparaat aan het gebruiken" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Geen backup apparaat gedetecteerd" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Vrije ruimte:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s vrij" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Foto's en video's aan het backuppen naar %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Backuppen naar %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Foto's naar %(path)s en video's naar %(path2)s aan het backuppen" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Programma voorkeuren zijn ongeldig" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Foto" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s downloadmap bestaat niet" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Map: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s downloadmap is ongeldig" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s downloadmap is niet beschrijfbaar" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniaturen" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "vertoon programma informatie op de commando lijn wanneer het programma " "draait (standaard: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "vertoon debug informatie wanneer uitgevoerd vanaf de commando prompt" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "alleen fouten naar de commandolijn sturen" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "vertoon de foto en video bestandsextenties welke het programma herkent en " "verlaat het programma" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "detecteer automatisch apparaten om van te downloaden, overschrijf daarbij de " "programma voorkeuren" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "specificeer manueel het PAD van het apparaat om van te downloaden, " "overschrijf daarbij de programma voorkeuren" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "herstel alle programma instellingen en verlaat het programma" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Fout: Specificeer auto-detectie apparaat of geef manueel het pad op van waar " "gedownload moet worden, maar doe beiden niet samen." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "en %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Alle instellingen en voorkeuren werden hersteld" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Backup fout" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Doelmap kon niet aangemaakt worden: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Bron: %(source)s\n" "Doel: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Fout: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "Backup %(file_type)s overschreven" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "%(file_type)s is niet gebackupped" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "Backup van %(file_type)s bestaat reeds" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Bestand: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "Er is een onbekende fout opgetreden" #: rapid/device.py:80 msgid "Device Detected" msgstr "Apparaat gedetecteerd" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Moet dit apparaat of deze partitie gebruikt worden om foto's of video's van " "te downloaden?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Herinner deze keuze" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Datum tijd" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Tekst" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Bestandsnaam" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Reeksen" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Job code" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Afbeeldingsdatum" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Videodatum" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Vandaag" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Gisteren" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Download tijd" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Naam + extentie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Naam" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extentie" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Afbeeldingsnummer" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Videonummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Diafragma" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Belichtingstijd" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Brandpuntsafstand" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Cameramerk" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Cameramodel" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Cameramodel (kort)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Cameramodel (kort na koppelteken)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Serienummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Sluiterteller" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Bestandsnummer" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Enkel mapgedeelte" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Map en bestand" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Naam eigenaar" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Codec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Breedte" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Hoogte" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Lengte" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Frames per seconde" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Artiest" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Copyright" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Downloads vandaag" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Sessienummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Submapnummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Opgeslagen nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Vervolgletter" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Alle cijfers" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Laatste cijfer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Laatste 2 cijfers" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Laatste 3 cijfers" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Laatste 4 cijfers" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Oorspronkelijke hoofdletterstatus" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "HOOFDLETTERS" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "kleine letters" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Eén cijfer" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Twee cijfers" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Drie cijfers" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Vier cijfers" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Vijf cijfers" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Zes cijfers" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Zeven cijfers" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Subseconden" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "JJJJMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "JJJJ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "JJMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "JJ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDJJJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMJJJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "JJJJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "JJ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Maand (volledig)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Maand (kort)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minuten)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Submapvoorkeuren mogen niet starten met een %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Submapvoorkeuren mogen niet eindigen op een %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Submapvoorkeuren mogen geen twee opeenvolgende %s bevatten" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Verwijder alle Job Codes?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Moeten alle Job Codes verwijderd worden?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Verwijder alle onthouden paden?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Moeten alle onthouden paden verwijderd worden?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Verwijder alle genegeerde paden?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Moeten alle genegeerde paden verwijderd worden?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Fout in de voorkeuren van Foto Hernoemen" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Fout in de voorkeuren Video Hernoemen" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Fout in de voorkeuren van Foto Download Submappen" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Fout in de voorkeuren Video Download Submappen" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Geef een Job Code op" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Geef een nieuwe Job Code in of selecteer een bestaande" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Geef een nieuwe Job Code in" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Job Code:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Geef het te negeren pad op" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "Geef een pad op dat nooit op foto's of video's gescand zal worden" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Pad:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Job Code" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Selecteer een map waar foto's naar toe gebackuped moeten worden" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Selecteer een map waar video's naar toe gebackuped moeten worden" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Opgepast: Er is onvoldoende metadata om een volledige naam aan te " "maken. Gelieve andere hernoemings opties te gebruiken." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Opgepast: Er is onvoldoende metadata om volledige submappen aan te " "maken. Kies andere submappen benoemings opties." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Voorbeeld: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "De voorkeuren voor de %(filetype)s submap zijn ongeldig en kunnen niet " "gebruikt worden.\n" "Ze zullen naar de standaard waardes worden teruggezet." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "De volgende reguliere expressies zijn ongeldig en zullen verwijderd worden " "tenzij ze verbeterd worden:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Deze volgende reguliere expressie is ongeldig en zal verwijderd worden " "tenzij ze verbeterd wordt:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Ongeldige reguliere expressie" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "extern apparaat 1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "extern apparaat 2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manilla" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praag" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Parijs" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlijn" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Boedapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rome" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskou" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Warschau" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "submap" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "bestandsnaam" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Datum tijd waarde %s blijkt ongeldig te zijn." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Bestandsnaam heeft geen extentie." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Bestandsnaam bevat geen getallenreeks." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Fout bij het aanmaken van component %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s metadata kan niet gelezen worden" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s kon niet aangemaakt worden" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Er is een fout gebeurd tijdens het kopiëren van de %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "%(filetype)s is niet correct gedownload" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s bestaat reeds" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s konden niet gebackupped worden omdat er geen gepaste backup " "plaats gevonden werd." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s werd genomen op %(image1_date)s om %(image1_time)s, en %(image2)s " "op %(image2_date)s om %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s werd eerder al gebackupped" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "De bestaande %(filetype)s werd laatst aangepast op %(date)s om %(time)s. " "Uniek identificatienummer '%(identifier)s' toegevoegd." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "De bestaande %(filetype)s werd laatst aangepast op %(date)s om %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Er zijn geen gegevens om de %(filetype)s een naam te geven." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Fout: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" "Bestandscontrole mislukt. De gedownloade versie verschilt van de originele." #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "De metadata kan beschadigd zijn." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "De bestandsnaam, extentie en Exif informatie geven aan dat het reeds " "gedownload werd." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Het werd gebackupped naar %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Het werd gebackupped naar deze apparaten: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s en %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Foto's ontdekt met dezelfde bestandsnamen maar genomen op verschillende " "tijden: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Een fout gebeurde tijdens het backuppen naar %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Een fout gebeurde tijdens het backuppen naar %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Fouten gebeurden tijdens het backuppen naar de volgende apparaten: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s en %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s en %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Backup bestaat reeds op %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Backups bestaan reeds op volgende plaatsen: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Backup overschreven op %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Backups overschreven op deze apparaten: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" "Een fout gebeurde tijdens het aanmaken van mappen op %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Fouten gebeurden tijdens het aanmaken van mappen op de volgende backup " "apparaten: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" "Bestandscontrole mislukt op %(volume)s. De gebackupde versie verschilt van " "de gedownloade." #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "Bestandscontrole mislukt op deze apparaten: " #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Bovenop, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Daarenboven waren er %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Daarenboven was er een %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "De %(type)s metadata ontbreekt." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "De volgende metadata ontbreekt: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s en %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problemen bij het aanmaken van de submappen en bestandsnamen" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Probleen bij het aanmaken van de submappen en bestandsnamen" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemen bij het aanmaken van %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Probleem bij het aanmaken van %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s bestaat reeds, maar het was gebackupped" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Een fout gebeurde bij het kopiëren van %(filetype)s, maar het was gebackupped" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Meerdere problemen tegengekomen" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Foto's gevonden met dezelfde bestandsnaam, maar op een verschillend tijdstip " "genomen" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "er waren fouten tijdens het backuppen" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Er waren fouten tijdens het backuppen" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "er was een fout tijdens het backuppen" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Er was een fout tijdens het backuppen" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, en %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "aan het scannen (vond %(photos)s foto's en %(videos)s video's)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "submap en bestandsnaam" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Foto werd al eens gedownload" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Bron: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Kon downloadmap niet aanmaken" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Pad: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Over..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "Alles _aanvinken" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Controlleer all foto's" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Controlleer alle video's" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Doe een gift..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Online Help..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Help" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Voorkeuren" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Afsluiten" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Verversen" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Rapporteer een probleem..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Vertaal deze Toepassing..." #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "Alles _uitvinken" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Bestand" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Download / Pauze" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Selecteer" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Selecteer Alle Zonder _Job Code" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Selecteer Alle _met Job Code" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Weergave" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Fouten log" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Verwijder Afgewerkte Downloads" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Vorig Bestand" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Volgend Bestand" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Help" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Vertaal deze Toepassing" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_In download meenemen" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Downloaden" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Voorkeuren: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "Foto Download Mappen" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Voorbeeld: /home/user/Afbeeldingen" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Download Submappen" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Downloadmap:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Kies de downloadmap. Submappen voor de gedownloadde foto's zullen " "automatisch aangemaakt worden in deze map volgens de structuur hieronder." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "DownloadMap" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Fotomappen" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Foto Hernoemen\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Foto Hernoemen" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Nieuw:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Origineel:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Voorbeeld" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Foto Hernoemen" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Video Downloadmappen" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Sorry, de video download functionaliteit is uitgezet. Om video's te " "downloaden moet je ofwel de hachoir metadata en de kaa " "metadata paketten voor python, ofwel exiftool installeren." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Kies de downloadmap. Submappen voor de gedownloadde video's zullen " "automatisch aangemaakt worden in deze map conform de onderstaande structuur." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Videomappen" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Video Hernoemen\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Video Hernoemen" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Hernoemingsopties" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Volgnummers" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Specifieer de tijd in 24-uurs formaat waar het Downloads vandaag " "volgnummer aan gelijk gezet moet worden." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Aanvang dag:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Downloads vandaag:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Opgeslagen nummer:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Synchroniseer RAW + JPEG volgnummers" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Compatibiliteit met andere besturingssystemen" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Duid aan of foto-, video- en mapnamen tekens die niet toegelaten zijn bij " "andere besturingssystemen dienen verwijderd te worden." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Verwijder niet-compatibele karakters" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Hernoemingsopties" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Job Codes" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Job Codes" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Toevoegen…" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "V_erwijder alles" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Job Codes" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Apparaten" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Apparaten" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Met apparaten wordt bedoeld waar je de foto's en video's van downloadt, " "zoals camera's, geheugenkaarten of Draagbare Opslagmedia.\n" "\n" "Er kan vanaf meerdere apparaten simultaan gedownload worden, of je kunt een " "plaats op je harde schijf aanduiden.\n" "\n" "Rechtstreeks downloaden vanaf de camera is momenteel een experimentele " "optie. Indien rechtstreeks downloaden vanaf de camera niet of onvoldoende " "werkt, probeer via de PTP mode. Als dat niet mogelijk is, moet een " "kaartlezer gebruikt worden." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Automatisch detecteren van Draagbare Opslagmedia" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Automatisch apparaten ontdekken" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Als je de automatische herkenning van draagbare opslagmedia aanzet, zal het " "volledig apparaat ingelezen worden. Bij grote apparaten kan dat een tijd " "duren.\n" "\n" "Als deze optie aanstaat en een potentieel apparaat gedetecteerd wordt, zal " "je gevraagd worden om te bepalen of het al dan niet ingelezen moet worden." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Locatie:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Als je de automatische herkenning uitzet, moet je een exacte locatie ingeven " "van de foto's en video's." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "`Apparaat Opties" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Onthouden paden" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Onthouden paden zijn deze verbonden met apparaten die je gekozen hebt om " "steeds gescand of genegeerd te worden, wanneer de automatische herkenning " "van Draagbare Opslag Apparaten aangezet is." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Genegeerde paden" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Geef het gedeelte op aan het einde van een pad waarvan je wenst dat dit pad " "genegeerd moet worden wanneer er gescand wordt naar foto's of video's. Elk " "pad dat eindigt met de tekens hieronder zal niet gescand worden." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "_Alles verwijderen" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Gebruik '_python-style regular expressions'" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Apparaat Opties" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Backup\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Backup" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Als je de automatische herkenning uitzet, moet je een exacte backup locatie " "ingeven." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Automatisch detecteren van backup apparaten" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Je kan je foto's en video's naar meerdere locaties backuppen terwijl ze " "gedownload worden, bv. externe harde schijven." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Backup foto's en video's gedurende het downloaden" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Duid de map aan waar de backups bewaard zijn op dat apparaat. \n" "\n" "Noot: dit zal ook gebruikt worden om na te gaan of het apparaat al dan " "niet voor backups gebruikt wordt. Voor ieder apparaat dat je als backup " "wenst te gebruiken, moet er een map aangemaakt worden met één van de " "volgende namen." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Foto backup locatie:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Foto backup foldernaam:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Voorbeeld:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/externaldrive/Fotos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Video backup foldernaam:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Video backup locatie:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Diversen" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Programma Automatisatie" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Ontkoppel (\"eject\") apparaat na beëindigen van de download" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Start de download tijdens het opstarten van het programma" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Start de download zodra het apparaat wordt aangekoppeld" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Beëindig programma als de download afgelopen is" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" "Beëindig programma zelfs indien de download fouten of waarschuwingen had" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Automatisch JPEG beelden roteren" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "Controleer bestanden tijdens het downloaden" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Prestatie" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Aanmaken miniatuur (trager)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Overige" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Foutverwerking" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Foto- en Videonaam conflict" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Unieke identifieteken toevoegen" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Download overslaan" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Wanneer er een foto of een video met dezelfde naam al gedownload was, kies " "om het downloaden van dit bestand over te slaan of om er een uniek " "identificatieteken aan toe te voegen." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Kies om het bestand op het backupapparaat met dezelfde naam te " "overschrijven, of over te slaan, gedurende de backup." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Overschrijven" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Overslaan" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Foutafhandeling" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importeer je foto's en video's efficiënt en betrouwbaar" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Sorry, deze voorkeuren bevatten een fout:\n" #~ msgid "Resetting to default values." #~ msgstr "Terugzetten naar de standaard waardes." #~ msgid "Select a folder in which to backup images" #~ msgstr "Duid een map aan om afbeeldingen naar toe te backuppen" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Gelieve de voorkeuren te controleren, het programma te herstarten en opnieuw " #~ "te proberen." #~ msgid "There is an error in the program preferences." #~ msgstr "Er is een fout in de programma voorkeuren." #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 van %s afbeeldingen gekopieerd" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "'Start of day' voorkeurswaarde is corrupt.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Terugzetten op middernacht.\n" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Apparaat scan afgelopen: %(number)s afbeeldingen gevonden op %(device)s" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Apparaat scan afgelopen: geen afbeeldingen gevonden op %s" #~ msgid "Image filename could not be generated" #~ msgstr "Afbeeldingsnaam kon niet aangemaakt worden" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Bron: %(source)s\n" #~ "Probleem: %(problem)s" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Afbeeldingsnaam kon niet goed aangemaakt worden. Controlleer of er voldoende " #~ "afbeeldingsmetadata aanwezig is." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Bron: %(source)s\n" #~ "Doel: %(destination)s\n" #~ "Probleem: %(problem)s" #~ msgid "Could not open image" #~ msgstr "Kon afbeelding niet openen" #, python-format #~ msgid "Source: %s" #~ msgstr "Bron: %s" #~ msgid "Image has no metadata" #~ msgstr "Afbeelding heeft geen metadata" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Unieke identifier '%s' toegevoegd" #~ msgid "Download copying error" #~ msgstr "Download kopieer fout" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Bron: %(source)s\n" #~ "Doel: %(destination)s\n" #~ "Fout: %(errorno)s %(strerror)s" #~ msgid "The image was not copied." #~ msgstr "De afbeelding werd niet gekopieerd" #~ msgid "Backup image already exists" #~ msgstr "Backup afbeelding bestaat al" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Doelmap kon niet aangemaakt worden\n" #~ "%(directory)s\n" #~ "Fout: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Bron: %(source)s\n" #~ "Doel: %(destination)s\n" #~ "Fout: %(errno)s %(strerror)s" #~ msgid "The device can now be safely removed" #~ msgstr "Het apparaat kan nu veilig verwijderd worden" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s afbeeldingen gedownload" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s afbeeldingen overgeslaan" #~ msgid "errors" #~ msgstr "fouten" #~ msgid "Backup device missing" #~ msgstr "Backup apparaat afwezig" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Download begonnen vanaf %s" #~ msgid "Image skipped" #~ msgstr "Afbeelding overgeslaan" #~ msgid "Image overwritten" #~ msgstr "Afbeelding overschreven" #~ msgid "Image already exists" #~ msgstr "Afbeelding bestaat reeds" #~ msgid "Image has no thumbnail" #~ msgstr "Afbeelding heeft geen miniatuur" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s van %(total)s afbeeldingen gekopieerd" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Miniatuur kan niet getoond worden" #~ msgid "It may be corrupted" #~ msgstr "Het kan corrupt zijn" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s aangeduid om gedownload te worden van" #~ msgid "This device or partition will always be used to download from" #~ msgstr "" #~ "Dit apparaat of deze partitie zal altijd gebruikt worden om van te downloaden" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s afgewezen als download apparaat" #~ msgid "This device or partition will never be used to download from" #~ msgstr "" #~ "Dit apparaat of deze partitie zal nooit gebruikt worden om van te downloaden" #~ msgid "Enter a new job code." #~ msgstr "Geef een nieuwe job code." #~ msgid "Job Code entered" #~ msgstr "Job Code ingevoerd" #~ msgid "Job Code not entered" #~ msgstr "Job Code niet ingevoerd" #~ msgid "Some preferences will be reset." #~ msgstr "Sommige voorkeuren worden gereset" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Vragen om %s te gebruiken" #~ msgid "Prompting for Job Code" #~ msgstr "Vragen naar de Job Code" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Reeds bezig met vragen naar Job Code, vraag niet opnieuw" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Downloads beginnen die op een Job Code aan het wachten waren" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Een recentere versie van dit programma werd reeds op deze computer " #~ "opgestart.\n" #~ "\n" #~ msgid " " #~ msgstr " " #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Programma voorkeuren blijken OK te zijn, maar controleer toch even op " #~ "correcte werking van het programma" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Sorry, bepaalde voorkeuren zijn ongeldig en worden gereset." #~ msgid "Preferences were modified." #~ msgstr "Voorkeuren werden aangepast." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Deze versie van het programma gebruikt andere voorkeuren dan de vorige " #~ "versie. Uw voorkeuren werden aangepast.\n" #~ "\n" #~ "Gelieve deze te controleren om een goede werking te garanderen." #~ msgid "No preferences needed to be changed." #~ msgstr "Er dienen geen voorkeuren aangepast te worden." #~ msgid "Problem using pynotify." #~ msgstr "Probleem met het gebruik van pynotify." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Kon de pynotify server mogelijkheden niet ontvangen." #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Apparaat %(device)s (%(path)s) wordt genegeerd" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Detecteerde %(device)s met als pad %(path)s" #~ msgid "Automatically start download is true" #~ msgstr "Automatisch opstarten download is waar" #~ msgid "Automatically start download is false" #~ msgstr "Automatisch opstarten download is onwaar" #~ msgid "_Download " #~ msgstr "_Download " #~ msgid "Goodbye" #~ msgstr "Tot later" #~ msgid "Using" #~ msgstr "Gebruik makend van" #, python-format #~ msgid "%s is already running" #~ msgstr "%s is al draaiende" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Voorkeurwaarde '%(value)s' is ongeldig" #~ msgid "_Pause" #~ msgstr "_Pauze" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Fout in datum/tijd component. Waarde %s blijkt ongeldig" #~ msgid "extension was specified but image name has no extension" #~ msgstr "Uitbreiding was gespecifieerd, maar afbeeldingsnaam heeft er geen" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "fout bij het aanmaken van de naam met component %s" #~ msgid "Image Rename" #~ msgstr "Afbeelding Hernoemen" #~ msgid "Image Devices" #~ msgstr "Afbeeldings Apparaten" #~ msgid "Example: /home/user/photos" #~ msgstr "Voorbeeld: /home/user/photos" #~ msgid "Automation" #~ msgstr "Automatisatie" #~ msgid "Automation" #~ msgstr "Automatisering" #~ msgid "Backup" #~ msgstr "Backup" #~ msgid "Image Rename\t" #~ msgstr "Afbeelding Hernoemen\t" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Backup location:" #~ msgstr "Backup locatie:" #~ msgid "Image Devices" #~ msgstr "Afbeeldingsapparaat" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Als je de automatische herkenning uitschakelt, kies de juiste backup plaats." #~ msgid "Exit program after completion of successful download" #~ msgstr "Verlaat programma na het beëindigen van een gelukte download" #~ msgid "Ignore" #~ msgstr "Negeren" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Als je de automatische herkenning uitschakelt, kies de juiste plaats voor de " #~ "afbeeldingen." #~ msgid "Error Log" #~ msgstr "Foutenlog" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importeer je afbeeldingen efficiënt en betrouwbaar" #~ msgid "Image location:" #~ msgstr "Afbeeldingsplaats:" #~ msgid "Image Rename" #~ msgstr "Afbeelding Hernoemen" #~ msgid "Report an error" #~ msgstr "Rapporteer een fout" #~ msgid "Report a warning" #~ msgstr "Rapporteer een verwittiging" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Specifieer wat er dient te gebeuren indien een afbeelding met dezelfde naam " #~ "reeds gedownload of gebackupped was." #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Ontkoppel (\"verwijder\") het afbeeldingsapparaat na de download" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Je kan je foto's op meerdere plaatsen backuppen tijdens het downloaden, bv. " #~ "externe harde schijven." #~ msgid "Start downloading upon image device insertion" #~ msgstr "Start de download zodra het afbeeldingsapparaat aangekoppeld wordt" #~ msgid "_Photos" #~ msgstr "_Foto's" #~ msgid "_Thumbnails" #~ msgstr "_Miniaturen" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Kies tussen het overslaan van de download van de afbeelding, of er een " #~ "unieke identifier aan toe te kennen." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Als je de automatische herkenning van Draagbare Opslagmedia inschakelt, zal " #~ "het volledig apparaat gescanned worden op afbeeldingen. Bij grote apparaten, " #~ "kan dat een tijd duren." #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Afbeeldingsapparaten zijn apparaten waar we foto's van kunnen downloaden " #~ "zoals camera's, geheugenkaarten en draagbare opslagmedia.\n" #~ "\n" #~ "Je kunt foto's van meerdere afbeeldingsapparaten simultaan downloaden.\n" #~ "\n" #~ "Indien het rechtstreeks downloaden vanaf je camera slecht of helemaal " #~ "niet werkt, probeer het via de PTP mode. Als dat niet mogelijk is overweeg " #~ "een kaartlezer te gebruiken." #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Kies tijdens het backuppen om een afbeelding met dezelfde naam op het " #~ "backupapparaat te overschrijven of over te slaan." #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Ongeldige Downloads Vandaag waarde.\n" #~ msgid "Resetting value to zero.\n" #~ msgstr "Waarde op nul terugzetten.\n" #~ msgid "Error in Image Rename preferences" #~ msgstr "Fout in Afbeelding Hernoemen voorkeuren" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Fout in Download Submap voorkeuren" #~ msgid "Select an image folder" #~ msgstr "Duid een afbeeldingsmap aan" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "De ingevulde submapvoorkeuren zijn ongeldig en kunnen niet gebruikt worden.\n" #~ "Ze zullen naar de standaard waardes worden teruggezet." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Bij de submap voorkeuren werden enkele overbodige waardes verwijderd." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Opgepast: Er is onvoldoende afbeeldingsmetadata om een volledige " #~ "naam aan te maken. Gelieve andere hernoemingsopties te gebruiken." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Opgepast: Er is onvoldoende afbeeldingsmetadata om een submap aan " #~ "te maken. Gelieve andere submap benoemingsopties te gebruiken." #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Metadata is essentieel om submappen / afbeeldingsnamen aan te maken.\n" #~ "Bron: %s" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Nieuwe dag begonnen - volgnummer 'Downloads Vandaag' aan het terugzetten" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Submapnaam kon niet goed aangemaakt worden. Controlleer of er voldoende " #~ "afbeeldingsmetadata aanwezig is." #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Submap: %(subfolder)s\n" #~ "Afbeelding: %(image)s\n" #~ "Probleem: %(problem)s" #~ msgid "No backup device was detected." #~ msgstr "Geen backup apparaat gevonden." #~ msgid "This device has no images to download from." #~ msgstr "Dit apparaat bevat geen afbeeldingen die gedownload kunnen worden." #, python-format #~ msgid "Download complete from %s" #~ msgstr "Download van %s afgelopen" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Geef een nieuwe job code op, of kies een vorige." #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "" #~ "Moet dit apparaat of deze partitie gebruikt worden om afbeeldingen van te " #~ "downloaden?" #~ msgid "Warning:" #~ msgstr "Waarschuwing:" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Deze versie van het programma gebruikt andere voorkeuren dan de vorige. " #~ "Bepaalde van je vorige voorkeuren zijn ongeldig en kunnen niet aangepast " #~ "worden. Ze worden naar standaard waarden teruggebracht." #~ msgid "Using manually specified path" #~ msgstr "Manueel ingegeven pad aan het gebruiken" #~ msgid "Preferences were changed." #~ msgstr "Voorkeuren werden aangepast." #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "toon een lijst van bestandextenties welke het programma herkent en keer terug" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Voorkeurtoets '%(key)s' is ongeldig.\n" #~ "Eén van %(value)s werd verwacht" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Subsecond metadata niet aanwezig in de afbeelding" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s metadata is niet aanwezig in de afbeelding" #~ msgid "These preferences are not well formed:" #~ msgstr "Deze voorkeuren zijn niet goed opgesteld:" #~ msgid "image number was specified but image filename has no number" #~ msgstr "" #~ "afbeeldingsnummer was gespecifieerd, maar de bestandsnaam heeft er geen" #~ msgid "Missing Backup Devices" #~ msgstr "Ontbrekende Backup Apparaten" #~ msgid "Image Name Conflicts" #~ msgstr "Afbeeldingsnaam conflicteert" #~ msgid "Download Folder" #~ msgstr "DownloadMap" #~ msgid "Backup photos when downloading" #~ msgstr "Foto's backuppen gedurende download" #~ msgid "Automatically detect image devices" #~ msgstr "Automatisch detecteren van afbeeldingsapparaten" #~ msgid "Backup folder name:" #~ msgstr "Backupmap naam:" #~ msgid "Download Folder" #~ msgstr "Download Map" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader is vrije software; je mag het herverdelen en/of " #~ "aanpassen onder de termen van de GNU General Public License zoals " #~ "gepubliceerd door de Free Software Foundation; ofwel versie 2 van de " #~ "License, of (volgens jou voorkeur) elke latere versie.\n" #~ "\n" #~ "Rapid Photo Downloader wordt verdeeld in de hoop dat het nuttig zal zijn, " #~ "maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie van " #~ "VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL . Zie de GNU General " #~ "Public License voor meer details.\n" #~ "\n" #~ "Je zou een kopie van de GNU General Public License ontvangen moeten hebben " #~ "samen met Rapid Photo Downloader; indien niet, contacteer de Free Software " #~ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " #~ "USA." #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "" #~ "Specifieer wat er dient te gebeuren indien er geen backup apparaten zijn." #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Specifieer de map waar de backups opgeslagen zijn op het apparaat. \n" #~ "\n" #~ "Nota: dit zal ook gebruikt worden om na te gaan of het apparaat al dan " #~ "niet voor backups gebruikt wordt. Voor ieder apparaat dat je als backup " #~ "medium wenst te gebruiken, dien je een map aan te maken met deze naam." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Specifieer of tekens dienen verwijderd te worden van een afbeeldings- of " #~ "mapnaam die niet door andere besturingssystemen toegestaan zijn." #~ msgid "Starting downloads" #~ msgstr "Downloaden aanvangen" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Deze versie van het programma is recenter dan de vorige. De voorkeuren " #~ "worden overlopen." #~ msgid "images skipped" #~ msgstr "afbeeldingen overgeslaan" #~ msgid "images downloaded" #~ msgstr "afbeeldingen gedownload" #~ msgid "Image Devices" #~ msgstr "Afbeeldings Apparaten" rapid-photo-downloader-0.4.10/po/fi.po0000644000175000017500000022406312270217614017761 0ustar damondamon00000000000000# Finnish translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:16+0000\n" "Last-Translator: Toni Lähdekorpi \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Nopea kuvien lataus" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Laite" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Koko" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Latauksen edistyminen" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "etsii..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "" #: rapid/rapid.py:2270 msgid "Pause" msgstr "" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Latausta ei voida jatkaa" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "kuvat" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "videot" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Noin 1 sekunti jäljellä" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Noin %i sekuntia jäljellä" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Noin 1 minuutti jäljellä" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Noin %(minutes)i:%(seconds)02i minuuttia jäljellä" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "kuvat ja videot" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "kuvat ja videot" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "kuva" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s ladattu" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s ei voitu ladata" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "varoitukset" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Kaikki lataukset valmiita" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s ladattu" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s lataus ei onnistunut" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s / %(total)s %(filetypes)s (%(remaining)s jäljellä)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s/%(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "valitse kansio joka sisältää %(file_types)s tiedostoja" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Kuvat:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Valitse kansio johon kuvat ladataan" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Videot:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "valitse johon videot ladataan" #: rapid/rapid.py:3650 msgid "and" msgstr "ja" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Käyttää varmuuskopiolaitteita" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Käyttää varmuuskopiolaitetta" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Varmuuskopiolaitetta ei löytynyt" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Varmuuskopioidaan kohteeseen %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Kuva" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "näytä ohjelman tiedot komentorivillä kun ohjelma käynnistetään (oletus: " "%default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "näytä vianhakutietoja suorittaessa komentoriviltä" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "tulosta vain virheet komentoriville" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "listaa kuva- ja videotiedostopäätteitä joita ohjelma tunnistaa ja poistu" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "tyhjennä kaikki ohjelman asetukset ja määritykset, ja poistu" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "ja %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Kaikki asetukset ja määritykset tyhjennetty" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Varmuuskopiointi virhe" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Kohdekansiota ei voitu luoda: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Lähde: %(source)s\n" "Kohde: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Virhe: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "%(file_type)s Varmuuskopio ylikirjoitettiin" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "%(file_type)s ei varmuuskopioida" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "%(file_type)s varmuuskopio on jo olemassa" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Laite havaittu" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Tulisiko tätä laitetta tai osiota käyttää kuvalaitteena?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Muista tämä valinta" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "Mt/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Ajankohta" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Teksti" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Tiedostonimi" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metatieto" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Numeroinnit" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Työkoodi" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Kuvan päivämäärä" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Videon päivämäärä" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Tänään" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Huomenna" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Latausaika" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nimi + pääte" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nimi" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Tiedostopääte" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Kuvan numero" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Videon numero" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Aukko" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "Herkkyys" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Valotusaika" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Polttoväli" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Kameran merkki" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Kameran malli" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Lyhyt kameramalli" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Tavutettu lyhyt kameran malli" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Sarjanumero" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Suljinlaskuri" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Omistajan nimi" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Koodekki" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Leveys" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Korkeus" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Pituus" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Kuvataajuus" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Latauksia tänään" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Istuntonumero" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Alikansion numero" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Tallennettu numero" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Kirjainsarja" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Kaikki numerot" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Viimeinen numero" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Kaksi viimeistä numeroa" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Kolme viimeistä numeroa" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Neljä viimeistä numeroa" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Alkuperäinen kirjoitusasu" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "ISOT KIRJAIMET" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "pienet kirjaimet" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Yksi numero" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Kaksi numeroa" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Kolme numeroa" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Neljä numeroa" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Viisi numeroa" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Kuusi numeroa" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Seitsemän numeroa" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "sekunnin osat" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "VVVVKKPP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "VVVV-KK-PP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "VVKKPP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "VV-KK-PP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "KKPPVVVV" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "KKPPVV" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "KKPP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "PPKKVVVV" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "PPKKVV" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "VVVV" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "VV" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "KK" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "PP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "hhmmss" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "hhmm" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "TT-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "TT-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "TT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Alikansioiiden asetusten ei tulisi alkaa %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Alikansioiden asetusten ei tulisi loppua %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Alikansioiden asetusten ei tulisi sisältää kahta vierekkäistä %s" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Poista kaikki työkoodit?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Tulisiko kaikki työkoodit poistaa?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Virhe kuvien uudelleennimeämisen määrityksissä" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Virhe videoiden uudelleennimeämisen määrityksissä" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Virhe kuvien latauksen alikansion määrityksissä" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Virhe videoiden latauksen alikansion määrityksissä" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Syöta työkoodi" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Syötä työkoodi tai valitse edellisistä" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Syötä uusi työkoodi" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Työkoodi:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Työkoodi" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Varoitus: Tiedostossa ei ole riittävästi metatietoja nimen " "luomiseksi. Käytä muita uudelleennimeämis valintoja." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Varoitus: Tiedostossa ei ole riittävästi metatietoja alikansioiden " "luomiseksi. Käytä muita alikansion nimeämisvalintoja." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Esimerkki: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Annetut alikansioasetukset %(filetype)s tiedostoille olivat väärät ja niitä " "ei voi käyttää.\n" "Asetukset palautetaan oletusarvoihin." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "ulkoinenasema1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "ulkoinenasema2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praha" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Guatemala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Pariisi" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berliini" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rooma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskova" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsova" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Tukholma" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "alikansio" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "tiedostonimi" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Saman niminen kuva havaittu, mutta kuvat on otettu eri aikaan" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "alikansio ja tiedstonimi" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Kuva on jo ladattu" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Lähde: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Tee lahjoitus" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Hae ohjeita netistä..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Raportoi ongelma..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Tiedosto" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Lataa / Keskeytä" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Valitse" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Valitse kaikki työ_koodittomat" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Valitse kaikki _työkoodilliset" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Näytä" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "Virheloki" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Tyhjennä valmistuneet lataukset" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Ohje" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Käännä tämä ohjelma..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Asetukset: Nopea Valokuvien Lataaja" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "Kuvien latauskansiot" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Esimerkki: /home/user/Kuvat" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Latausalikansio" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Latauskansio:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Valitse latauskansio. Alikansiot ladatuille kuville tehdään automaattisesti " "tähän kansioon käyttäen alla määriteltyä rakennetta käyttäen." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Latauskansio" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Kuvakansiot" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" "Kuvan uudelleenimeäminen\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Kuvan Uudelleennimeäminen" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Uusi:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Alkuperäinen:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Esimerkki" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Kuvan Uudelleennimeäminen" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Videoiden latauskansiot" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Valitse latauskansio. Alikansiot ladattuja videoita varten luodaan tähän " "hakemistoon automaattisesti, käyttäen alla määritettyä rakennetta." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Videokansiot" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" "Videon uudelleenimeäminen\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Videon uudelleenimeäminen" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" "Uudelleennimeämis valinnat" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Numeroinnit" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Valitse aika 24 tunnin muodossa jossa Latauksia tänään numerointi " "tulisi palauttaa." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Päivän alku:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Latauksia tänään:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Tallennettu numero:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Yhtenäistä RAW + JPEG järjestysnumerot" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Yhteensopivuus käyttöjärjestelmien kanssa" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Määrittele, pitäisikö kuvien, videoiden ja kansioiden nimistä poistaa " "merkit, jotka eivät ole sallittuja muissa käyttöjärjestelmissä." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Poista yhteensopimattomat merkit" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Uudelleennimeämis valinnat" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Työkoodit" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Työkoodit" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Lisää..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "P_oista kaikki" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Työkoodit" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Laitteet" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Laitteet" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Tunnista automaattisesti ulkoiset tallennuslaitteet" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Tunnista laitteet automaattisesti" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Sijainti:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Varmuuskopio\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Varmuuskopio" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Tunnista automaattisesti varmuuskopiolaitteet" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Voit varmuuskopioida kuvat ja videot useaan sijaintiin ladattaessa, " "esimerkiksi ulkoisiin kiintolevyihin." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Varmuuskopioi kuvat ja videot ladattaessa" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Määrität kansio mihin varmuuskopiot tallennetaan laitteella. \n" "\n" "Huomaa: tällä tullaan myös selvittämään käytetäänkö laitetta " "varmuuskopiointiin. Luo jokaiseen laitteeseen mitä haluat käyttää " "varmuuskopiointiin, kansio käyttäen yhtä näistä nimistä." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Kuvien varmuuskopiokansion nimi:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Esimerkki" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/ulkoinenlevy/Kuvat" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Videoiden varmuuskopiokansion nimi:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Ohjelman automatiikka" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Irrota (\"poista\") laite latauksen valmistuttua" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Aloita lataus kun ohjelma käynnistetään" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Aloita lataaminen kun laite kiinnitetään" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Virheenkäsittely" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Kuva- ja videonimien ristiriidat" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Lisää yksilöllinen tunniste" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Ohita lataus" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Kun kuva tai video samalla nimellä on jo ladattu, valitse ohitetaanko " "lataaminen vai lisätäänkö tiedostonimeen yksilöllinen tunniste." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Kun varmuuskopiodaan, valitse kirjoitetaanko saman nimisten tiedostojen " "päälle vai ohitetaanko tiedoston varmuuskopiointi." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Ylikirjoita" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Ohita" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Virheenkäsittely" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Tuo kuvasi ja videosi tehokkaasti ja luotettavasti" #~ msgid "Error in Image Rename preferences" #~ msgstr "Virhe kuvan nimeämisasetuksissa" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 kuvaa %s kuvasta kopioitu" #~ msgid "Select an image folder" #~ msgstr "Valitse kuvakansio" #~ msgid "Could not open image" #~ msgstr "Kuvaa ei voitu avata" #, python-format #~ msgid "Source: %s" #~ msgstr "Lähde: %s" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Kuvan tiedostonimeä ei pystytty luomaan oikein. Tarkista että kuvassa on " #~ "riittävästi metatietoja." #~ msgid "Image filename could not be generated" #~ msgstr "Kuvan tiedostonimeä ei pystytty luomaan" #~ msgid "Image has no metadata" #~ msgstr "Kuvassa ei ole metatietoja" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Metatieto on välttämätöntä kansiorakenteen ja tiedostonimien luontiin.\n" #~ "Lähde: %s" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Kansiorakennetta ei voitu luoda. Tarkista että kuvassa on riittävästi " #~ "metatietoja." #~ msgid "Backup image already exists" #~ msgstr "Kuvan varmuuskopio on jo olemassa" #~ msgid "The image was not copied." #~ msgstr "Kuvaa ei kopioitu." #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "Uusi päivä on alkanut - Palautetaan 'Latauksia Tänään' luku" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Yksilöinti '%s' lisätty" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s kuvaa ohitettu" #~ msgid "errors" #~ msgstr "virheet" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s kuvaa ladattu" #~ msgid "The device can now be safely removed" #~ msgstr "Laite voidaan turvallisesti poistaa" #~ msgid "Backup device missing" #~ msgstr "Varmuuskopiolaite puuttuu" #~ msgid "No backup device was detected." #~ msgstr "Varmuuskopiolaitetta ei löytynyt" #~ msgid "This device has no images to download from." #~ msgstr "Laitteessa ei ole kuvia ladattavaksi." #~ msgid "Image has no thumbnail" #~ msgstr "Kuvalla ei ole näytekuvaa" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Lataus lähteestä %s valmis" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Lataus lähteestä %s on alkanut" #~ msgid "Image skipped" #~ msgstr "Kuva ohitettu" #~ msgid "Image overwritten" #~ msgstr "Kuva korvattu" #~ msgid "Image already exists" #~ msgstr "Kuva on jo olemassa" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Tämä ohjelma on uudempi kuin aikaisemmin käytetty. Tarkista asetukset." #~ msgid "Warning:" #~ msgstr "Varoitus:" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "" #~ "Anteeksi, jotkin asetukset ovat virheellisiä ja ne palautetaan " #~ "oletusarvoihin." #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Ohjelma on kelpaava, mutta ole hyvä ja tarkista että ohjelma toimii oikein." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Ohjelman uudempaa versiota on käytetty tässä tietokoneessa.\n" #~ "\n" #~ msgid "Preferences were modified." #~ msgstr "Asetuksia on muokattu." #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Näytekuvaa ei voida näyttää" #~ msgid "It may be corrupted" #~ msgstr "Se voi olla vahingoittunut" #~ msgid "No preferences needed to be changed." #~ msgstr "Asetuksia ei tarvinnut muuttaa." #~ msgid "Problem using pynotify." #~ msgstr "Ongelmia pynotifyn käytössä." #~ msgid "Using manually specified path" #~ msgstr "Käytetään käsin valittua polkua" #~ msgid "images skipped" #~ msgstr "kuvia ohitettu" #~ msgid "images downloaded" #~ msgstr "kuvia ladattu" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Ole hyvä ja tarkista asetukset, käynnistä ohjelma uudelleen ja koita " #~ "uudestaan." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "Alikansioasetuksista poistettiin tarpeettomia arvoja." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Lähde: %(source)s\n" #~ "Kohde: %(destination)s\n" #~ "Ongelma: %(problem)s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Lähde: %(source)s\n" #~ "Ongelma: %(problem)s" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Laite etsintä on valmis: kuvia ei löytynyt sijainnista %s" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Laite etsintä on valmis: löytyi %(number)s kuvaa %(device)s laitteesta" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Alikansio: %(subfolder)s\n" #~ "Kuva: %(image)s\n" #~ "Ongelma: %(problem)s" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Tämä ohjelmaversio käyttää eri asetuksia kuin vanha versio. Asetuksesi on " #~ "päivitettu.\n" #~ "\n" #~ "Ole hyvä ja tarkista ne varmistaaksesi ohjelman toiminta." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Tämä ohjelmaversio käyttää eri asetuksia kuin vanha versio. Jotkin entisistä " #~ "asetuksistasi olivat virheellisiä ja niitä ei voitu päivittää. Ne " #~ "palautetaan oletuksiin." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Lähde: %(source)s\n" #~ "Kohde: %(destination)s\n" #~ "Virhe: %(errno)s %(strerror)s" #~ msgid "Some preferences will be reset." #~ msgstr "Jotkin asetukset palautetaan." #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s kuvaa %(total)s kuvasta kopioitu" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Löytyi %(device)s laitetta polusta %(path)s" #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Ei saanut pynotify-palvelimen ominaisuuksia." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Lähde: %(source)s\n" #~ "Kohde: %(destination)s\n" #~ "Virhe: %(errorno)s %(strerror)s" #~ msgid "Download copying error" #~ msgstr "Kopiointivirhe" #~ msgid "_Download " #~ msgstr "_Lataa " #~ msgid "_Pause" #~ msgstr "_Keskeytä" #~ msgid "Preferences were changed." #~ msgstr "Asetuksia muutettiin." #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "Listaa kuvatiedostopäätteet jotka ohjelma tunnistaa ja poistu" #~ msgid "Goodbye" #~ msgstr "Näkemiin" #~ msgid "Automatically start download is false" #~ msgstr "Automaattinen latauksen aloitus on pois päältä" #~ msgid "Automatically start download is true" #~ msgstr "Automaattinen latauksen aloitus on päällä" #, python-format #~ msgid "%s is already running" #~ msgstr "%s on jo käynnissä" #~ msgid "Using" #~ msgstr "Käyttäen" #~ msgid "extension was specified but image name has no extension" #~ msgstr "" #~ "tiedostopääte oli määritelty mutta kuvan nimessä ei ole tiedostopäätettä" #~ msgid "image number was specified but image filename has no number" #~ msgstr "kuvan numero oli määritelty, mutta tiedostonimessä ei ole numeroa" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Kohdekansiota ei voitu luoda\n" #~ "%(directory)s\n" #~ "Virhe: %(errno)s %(strerror)s" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Asetuksen arvo '%(value)s' on virheellinen" #~ msgid "These preferences are not well formed:" #~ msgstr "Nämä asetukset eivät ole oikeassa muodossa:" #~ msgid "Subsecond metadata not present in image" #~ msgstr "sekunnin osia ei löydy metatiedoista tässä kuvassa" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s metatietoa ei löydy tästä kuvasta" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "virhe luotaessa nimeä osalla %s" #~ msgid " " #~ msgstr " " #~ msgid "Image Devices" #~ msgstr "Kuva laitteet" #~ msgid "Image Rename" #~ msgstr "Kuvan uudelleennimeäminen" #~ msgid "Missing Backup Devices" #~ msgstr "Puuttuvat varmusskopiolaitteet" #~ msgid "Example: /home/user/photos" #~ msgstr "Esimerkki: /home/käyttäjä/kuvat" #~ msgid "Automation" #~ msgstr "Automatisointi" #~ msgid "Download Folder" #~ msgstr "Latauskansio" #~ msgid "Image Devices" #~ msgstr "Kuvalaitteet" #~ msgid "Image Rename\t" #~ msgstr "" #~ "Kuvan uudelleennimeäminen\t" #~ msgid "Automatically detect image devices" #~ msgstr "Tunnista automaattisesti kuvalaitteet" #~ msgid "Automation" #~ msgstr "Automatisointi" #~ msgid "Backup" #~ msgstr "Varmuuskopio" #~ msgid "Backup folder name:" #~ msgstr "Varmuuskopiokansion nimi:" #~ msgid "Backup location:" #~ msgstr "Varmuuskopioiden sijainti:" #~ msgid "Backup photos when downloading" #~ msgstr "Tee varmuuskopio ladattaessa kuvia" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Valitse ohitetaanko kuva ladattaessa vai lisätäänkö nimeen yksilöllinen " #~ "tunniste." #~ msgid "Download Folder" #~ msgstr "Latauskansio" #~ msgid "Error Log" #~ msgstr "Virheloki" #~ msgid "Exit program after completion of successful download" #~ msgstr "Poistu ohjelmasta onnistuneen latauksen jälkeen" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Jos poistat automaattisen tunnistuksen käytöstä, määritä varmuuskopioiden " #~ "tarkka sijainti." #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Jos poistat automaattisen tunnistuksen käytöstä, määritä tarkka kuvien " #~ "sijainti." #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Jos kytket päälle automaattisen kannettavan laitteen tunnistuksen, koko " #~ "laite käydään läpi kuvia etsittäessä, tämä voi kestää hetken." #~ msgid "Ignore" #~ msgstr "Ohita" #~ msgid "Image Devices" #~ msgstr "Kuvalaitteet" #~ msgid "Image Rename" #~ msgstr "Kuvan uudelleennimeäminen" #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Kuvalaitteet ovat laitteita joista kuvat ladataan, kuten kameroita, " #~ "muistikortteja tai muita kannettavia laitteita.\n" #~ "\n" #~ "Voit ladata valokuvia monesta kuvalaitteesta yhtäaikaa.\n" #~ "\n" #~ "Jos lataus suoraan kamerasta toimii huonosti tai ei ollenkaan, koita " #~ "asettaa se PTP tilaan. Jos ei ole mahdollista, harkitse kortinlukijan " #~ "käyttämistä." #~ msgid "Image location:" #~ msgstr "Kuvan sijainti:" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Tuo kuvasti tehokkaasti ja turvallisesti" #~ msgid "Report a warning" #~ msgstr "Raportoi varoitus" #~ msgid "Report an error" #~ msgstr "Raportoi virhe" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Valitse mitä tehdään kun samanniminen kuva on jo ladattu tai varmuuskopioitu." #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "Valitse mitä tehdään jos varmuuskopiolaitteita ei löydy." #~ msgid "Start downloading upon image device insertion" #~ msgstr "Aloita lataus kun kuvalaite kytketään" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Poista kuvalaite kun lataus on valmis" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Varmuuskopioitaessa, valitse ylikirjoitetaanko kuva varmuuskopiolaitteessa " #~ "jos saman niminen kuva on jo olemassa, vai ohitetaanko se." #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Voit varmuuskopioida kuvasi useaan kohteeseen kun kuvia ladataan, esim. " #~ "ulkoisille kovalevyille." #~ msgid "_Photos" #~ msgstr "_Valokuvat" #~ msgid "_Thumbnails" #~ msgstr "_Näytekuvat" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Virhe aikamäärityksessä. Arvo %s näyttää virheelliseltä" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Asetus '%(key)s' on virheellinen.\n" #~ "Tulisi olla yksi näistä %(value)s" #~ msgid "Image Name Conflicts" #~ msgstr "Kuvannimien konfliktit" #~ msgid "Resetting value to zero.\n" #~ msgstr "Palautetaan arvo nollaan.\n" #~ msgid "Resetting to default values." #~ msgstr "Palautetaan oletusarvot." #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Tekijänoikeus Damon Lynch 2007-09" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Virheelliset lataukset tänään\n" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Virhe latauksen alikansioasetuksissa" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Alikansioasetukset ovat virheelliset, eikä niitä voida käyttää.\n" #~ "Palautetaan oletusasetukset." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Varoitus: Kuvassa ei ole riittäviä metadata tietoja kuvan " #~ "nimeämiseen. Ole hyvä ja vaihda nimeämisasetuksia." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Warning: Kuvassa ei ole riittäviä metadata tietoja alikansioiden " #~ "luomiseen. Ole hyvä ja vaihda alikansioidenluontiasetukstia." #~ msgid "Select a folder in which to backup images" #~ msgstr "Valitse kansio johon varmuuskopio tehdään" #~ msgid "Job Code entered" #~ msgstr "Työkoodi syötetty" #~ msgid "Starting downloads" #~ msgstr "Käynnistetään latauksia" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Työkoodia odottaneet lataukset käynnistetään" #~ msgid "Prompting for Job Code" #~ msgstr "Kysyy työkoodia" #~ msgid "Resetting to midnight.\n" #~ msgstr "Palautetaan keskiyöhön.\n" #~ msgid "There is an error in the program preferences." #~ msgstr "Ohjelman asetuksissa on virhe." #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Tulisiko tätä laitetta tai osiota käyttää kuvien lataamiseen?" #~ msgid "Job Code not entered" #~ msgstr "Työkoodia ei annettu" #~ msgid "This device or partition will always be used to download from" #~ msgstr "Tätä laitetta tai osiota tullaan aina käyttämään kuvien lataamiseen" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s laitetta ei hyväksytty latauslaitteeksi" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Tästä laitteesta tai osiosta ei ladata koskaan" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Anna uusi työkoodi tai valitse aikaisempi." #~ msgid "Enter a new job code." #~ msgstr "Anna uusi työkoodi." #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Laite %(device)s (%(path)s) ohitettu" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s valittu ladattavaksi" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Työkoodia pyydetään jo, älä pyydä uudestaan" #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Kysyy tulisiko käyttää laitetta %s" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Määritä kansio johon varmuuskopiot tallennetaan laitteessa.\n" #~ "\n" #~ "Huomaa: tämä määrittää myös käytetäänkö laitetta varmuuskopiointiin vai " #~ "ei. Jokaiseen varmuuskopiolaitteeseen tulee tehdä tämän niminen kansio." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Valitse tuleeko kuva ja kansionimistä poistaa merkit joita ei tueta toisissa " #~ "käyttöjärjestelmissä." #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "'Päivän alku'-asetuksen arvo on virheellinen.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Anteeksi, näissä määrityksissä on virhe:\n" rapid-photo-downloader-0.4.10/po/da.po0000644000175000017500000017002112270217621017737 0ustar damondamon00000000000000# Danish translation for rapid # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Torben Gundtofte-Bruun \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Enhed" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Størrelse" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Downloadfremgang" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s kunne ikke afmonteres" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "gennemsøger..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "filsystemets rod" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "henter fra %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Vil du virkelig hente herfra? På nogle systemer kan det tage lang tid at " "gennemse denne kilde." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Hent" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pause" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Disse download mapper er ugyldige:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Denne download mappe er ugyldig:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Download kan ikke fortsætte" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotos" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "videoer" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Cirka 1 sekund endnu" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Cirka %i sekunder endnu" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Cirka 1 minut endnu" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Cirka %(minutes)i:%(seconds)02i sekunder endnu" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fotos og videoer" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fotos eller videoer" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "video" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "foto" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s hentet" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s kunne ikke hentes" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "advarsler" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Alle downloads er afsluttet" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s hentet" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s kunne ikke hentes" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s af %(total)s %(filetypes)s (%(remaining)s endnu)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s af %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Fra" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Opdag automatisk" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Vælg en mappe der indeholder %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Kopier" #: rapid/rapid.py:3397 msgid "Move" msgstr "Flyt" #: rapid/rapid.py:3419 msgid "To" msgstr "Til" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fotos:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Vælg en mappe at downloade fotos til" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Videoer:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Vælg en mappe at downloade videoer til" #: rapid/rapid.py:3650 msgid "and" msgstr "og" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Benytter backup enheder" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Benytter backup enhed" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Ingen backup enheder fundet" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Fri plads:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr ", " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "," #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s fri plads" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Sikkerhedskopierer fotos og videoer til %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Tager sikkerhedskopi til %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Sikkerhedskopierer fotos til %(path)s og videoer til %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Programmets indstillinger er ugyldige" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Foto" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s download mappe findes ikke" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Mappe: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s download mappe er ugyldig" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s download mappe er skrivebeskyttet" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Små billeder" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "vis programinformation på kommandolinien mens programmet kører (standard: " "%default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "vis fejlsøgningsinformation når programmet startes fra kommandolinien" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "vis kun fejl på kommandolinien" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "vis hvilke foto og video formater programmet kender, og afslut" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "opdag enheder automatisk, hvorfra der skal hentes, og overskriv " "eksisterende programindstillinger" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "angiv stien manuelt, hvorfra der skal hentes, og overskriv eksisterende " "programindstillinger" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "nulstil alle programindstillinger og afslut" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Fejl: angiv automatisk opdagelse af enheder, eller angiv stien manuelt, " "hvorfra der skal hentes, men angiv ikke begge dele." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "og %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Alle indstillinger er blevet nulstillet" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Fejl ved sikkerhedskopiering" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Destinationsmappe kunne ikke oprettes: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Kilde: %(source)s\n" "Destination: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Fejl: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Fil: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Enhed fundet" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Skal fotos og videoer hentes fra denne enhed?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Husk dette valg" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Dato og klokkeslæt" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Tekst" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Filnavn" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sekvenser" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Job kode" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Billedets dato" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Videoens dato" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "I dag" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "I går" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Download klokkeslæt" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Navn + udvidelse" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Navn" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Udvidelse" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Billedets nummer" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Videoens nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Blænde" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Lukkertid" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Brændvidde" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Kameramærke" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Kameramodel" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Forkortet kameramodel" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Forkortet kameramodel med bindestreg" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Serienummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Lukker-antal" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Filnummer" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Kun mappen" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Mappe og fil" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Ejernavn" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Kodning" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Bredde" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Højde" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Længde" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Billeder per sekund" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Kunstner" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Ophavsret" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Downloads i dag" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Kørselsnummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Undermappe nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Gemt nummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Sekvensbogstav" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Alle cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Sidste ciffer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Sidste 2 cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Sidste 3 cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Sidste 4 cifre" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Oprindelige Store/Små Bogstaver" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "STORE BOGSTAVER" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "små bogstaver" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Et ciffer" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "To cifre" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tre cifre" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Fire cifre" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Fem cifre" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Seks cifre" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Syv cifre" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Delsekunder" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ÅÅÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ÅÅÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "ÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "ÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Måned (udskrevet)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Måned (forkortet)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "TTMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "TTMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "TT-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "TT-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "TT" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutter)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Undermappe indstillinger bør ikke begynde med et %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Undermappe indstillinger bør ikke slutte med et %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Undermappe indstillinger bør ikke indeholde to %s efter hinanden" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Fjern alle job koder?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Skal alle job koder fjernes?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Fjern alle huskede stier?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Skal alle huskede stier fjernes?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Fjern alle ignorerede stier?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Skal alle ignorerede stier fjernes?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Fejl i indstillinger til foto omdøbning" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Fejl i indstillinger til video omdøbning" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Fejl i indstillinger til foto download undermapper" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Fejl i indstillinger til video download undermapper" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Angiv en jobkode" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Angiv en ny jobkode eller vælg en eksisterende" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Angiv en ny jobkode" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Jobkode:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Angiv en sti der skal ignoreres" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "Angiv en sti som aldrig skal gennemsøges efter fotos og videoer" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Sti:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Jobkode" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Vælg en mappe til sikkerhedskopier af fotos" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Vælg en mappe til sikkerhedskopier af videoer" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Advarsel: Metadata er utlistrækkelige til at generere navnet. Vælg " "andre muligheder for omdøbning." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Advarsel: Metadata er utlistrækkelige til at generere undermapper. " "Vælg andre muligheder for navngivning af undermapper." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Eksempel: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Indstillingerne til %(filetype)s undermappen er ugyldige.\n" "De bliver nulstillet til deres standardværdier." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "De følgende regulære udtryk er ugyldige og vil blive fjernet, medmindre du " "ændrer dem:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Det følgende regulære udtryk er ugyldige og vil blive fjernet, medmindre du " "ændrer det:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Ugyldigt regulært udtryk" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "eksterntdrev1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "eksterntdrev2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Prag" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsingfors" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rom" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskva" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Warszawa" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "undermappe" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "filnavn" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Værdi for dato og klokkeslæt %s forekommer ugyldigt." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Filnavnet har ingen udvidelse." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Filnavnet indeholder ingen tal." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Kunne ikke generere component %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s metadata kan ikke læses" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s kunne ikke genereres" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Der opstod en fejl ved kopiering af %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s findes allerede" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "Der kunne ikke tages sikkerhedskopi af %(filetype)s, fordi der ikke findes " "egnede placeringer til sikkerhedskopierne." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s blev taget den %(image1_date)s kl. %(image1_time)s, og %(image2)s " "den %(image2_date)s kl. %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s er allerede blevet downloadet" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "De eksisterende %(filetype)s er sidst ændret den %(date)s klokken %(time)s. " "Entydig angivelse '%(identifier)s' blev tilføjet." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "De eksisterende %(filetype)s er sidst ændret den %(date)s klokken %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Der mangler data til navngivning af %(filetype)sne." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Fejl: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Metadata kan være korrupt." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "Filnavnet, udvidelsen og Exif informationerne antyder, at filen allerede er " "blevet downloadet." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Filen blev sikkerhedskopieret til %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Filen blev sikkerhedskopieret til disse enheder: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s og %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Der findes fotos med ens filnavne men forskellige datoer: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Der opstod en fejl ved sikkerhedskopiering til %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Der opstod en fejl ved sikkerhedskopiering til %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Der opstod fejl ved sikkerhedskopiering til de følgende enheder: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s og %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s og %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Sikkerhedskopi findes allerede på %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Sikkerhedskopier findes allerede her: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Sikkerhedskopi blev overskrevet på %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Sikkerhedskopier blev overskrevet på disse enheder: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Der opstod en fejl ved oprettelse af mapper på %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "Der opstod fejl ved oprettelse af mapper på disse enheder: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Og %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Desuden opstod der %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Desuden opstod der %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Der mangler %(type)s metadata." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Følgende metadata mangler: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s og %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problemer ved generering af undermapper og filnavne" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problem ved generering af undermapper og filnavne" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemer ved generering af %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problem ved generering af %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s findes allerede, men er sikkerhedskopieret" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Der opstod en fejl ved kopiering af %(filetype)s, men det blev " "sikkerhedskopieret" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Der opstod adskillige problemer" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Der findes fotos med ens filnavne men forskellige klokkeslæt: %(details)s" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "der opstod fejl ved sikkerhedskopiering" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Der opstod fejl ved sikkerhedskopiering" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "der opstod en fejl ved sikkerhedskopiering" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Der opstod en fejl ved sikkerhedskopiering" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, og %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "gennemsøger (%(photos)s fotos og %(videos)s videoer fundet)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "undermappe og filnavn" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Fotoet er allerede blevet downloadet" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Kilde: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Kunne ikke oprette undermappe" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Sti: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Markér alle" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Giv et bidrag..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Afmarkér alle" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Fil" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Download / Pause" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Markér" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Markér alle _uden jobkode" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Markér alle med _jobkode" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Vis" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Fejl-log" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Ryd afsluttede downloads" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Forrige fil" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Næste fil" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Hjælp" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Oversæt denne applikation..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Indkludér i download" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Download" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Indstillinger: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "Foto download mapper" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Eksempel: /home/user/Billeder" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Download undermappe" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Download mappe:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Vælg download mappen. Undermapper for de downloadede fotos vil automatisk " "blive oprettet her ved hjælp af den nedenfor angivne struktur." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Download mappe" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Foto mapper" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Foto omdøbning\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Photo omdøbning" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Ny:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Eksempel" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Foto omdøbning" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Video download mapper" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Funktionen til hentning af videoer er slået fra. For at hente videoer skal " "du installere enten hachoir metadata og kaa metadata pakkerne " "eller exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Vælg download mappen. Undermapper for de downloadede videoer vil automatisk " "blive oprettet her ved hjælp af den nedenfor angivne struktur." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Video mapper" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Video omdøbning\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Video omdøbning" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" "Omdøbningsindstillinger" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Sekvensnumre" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Angiv på hvilket klokkeslæt Downloads today sekvensnummeret skal " "nulstilles. Brug 24-timers format." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Dagen begynder:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Downloads i dag:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Husket nummer:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Synchronisér RAW + JPEG sekvensnumre" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilitet med andre styresystemer" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Angiv, om tegn skal fjernes fra foto-, video- og mappenavne, hvis de ikke er " "tilladt på andre styresystemer." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Fjern inkompatible tegn" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Indstillinger for omdøbning" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Jobkoder" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Jobkoder" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Tilføj..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "_Fjern alle" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Jobkoder" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Enheder" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Enheder" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Enheder er de steder, hvorfra fotos og videoer downloades, for eksempel " "kameraer, hukommelseskort eller bærbare lagermedier.\n" "\n" "Du kan downloade fra flere enheder samtidigt eller angive en placering på " "din harddisk.\n" "\n" "At downloade direkte fra et kamera er i øjeblikket en eksperimentel " "funktionalitet. Hvis dette virker dårligt, eller slet ikke, så prøv at " "indstille kameraet til PTP. Hvis det ikke er muligt, skal du benytte en " "kortlæser." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Opdag bærbare enheder automatisk" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Opdag enheder automatisk" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Hvis du slår automatisk opdagelse fra, bliver hele enheden gennemsøgt. På " "store enheder kan det tage lang tid.\n" "\n" "Når en enhed bliver opdaget mens denne mulighed er valgt, bliver du spurgt " "om enheden skal gennemsøges eller ej." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Sted:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Vælg nøjagtig placering af fotos og videoer, hvis du slår automatisk " "opdagelse fra." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Enhedsindstillinger" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Huskede stier" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Huskede stier er stier til bestemte enheder, som enten altid eller aldrig " "gennemsøges, når automatisk genkendelse af bærbare enheder er slået til." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Ignorerede stier" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Angiv den sidste del af stier, der skal ignoreres ved gennemsøgning af " "enheder. Stier, der ender med disse værdier, vil ikke bliev gennemsøgt." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "_Fjern alle" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "brug regulære udtryk i _python-style" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Enhedsindstillinger" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Sikkerhedskopi\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Sikkerhedskopi" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Vælg nøjagtig placering af sikkerhedskopier, hvis du slår automatisk " "opdagelse fra." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Opdag backup-enheder automatisk" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Dine fotos og videoer kan sikkerhedskopieres til flere steder mens de " "downloades, for eksempel en ekstern harddisk." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Tag sikkerhedskopi af fotos og videoer mens de downloades" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Angiv den mappe hvor sikkerhedskopier er gemt på enheden. \n" "\n" "Bemærk: Dette afgør også, hvorvidt enheden bruges til sikkerhedskopier. " "Opret en mappe med en af disse navne på hver enhed, du ønsker at bruge til " "sikkerhedskopiering." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Placering af foto sikkerhedskopier:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Navn til mappe til foto sikkerhedskopier:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Eksempel:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/medie/externtdrev/Fotos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Mappenavn til video sikkerhedskopi:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Placering af video sikkerhedskopi:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Diverse" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Programautomatisering" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Unmount enhed (\"skub ud\") når download er afsluttet" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Start download når programmet starter" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Start download når enhed tilsluttes" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Afslut programmet når download er afsluttet" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" "Afslut programmet selvom der opstod fejl eller advarsler ved download" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Rotér JPEG billeder automatisk" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Ydeevne" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Dan små billeder" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Diverse" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Fejlhåndtering" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Foto og video navnekonflikter" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Tilføj entydig angivelse" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Spring download over" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Vælg, om et foto eller en video skal springes over, eller om der skal " "tilføjes en entydig kending, når et foto eller en video med samme navn " "allerede er downloadet." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Vælg, om et foto eller en video skal springes over eller overskrives, når " "sikkerhedskopien allerede indeholder et foto eller en video med samme navn." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Overskriv" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Spring over" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Fejlhåndtering" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importér dine fotos og videoer effektivt og pålideligt" #~ msgid "Backup" #~ msgstr "Sikkerhedskopi" rapid-photo-downloader-0.4.10/po/pt_BR.po0000644000175000017500000024264012270217614020372 0ustar damondamon00000000000000# Brazilian Portuguese translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:16+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Dispositivo" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Tamanho" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Progresso da transferência" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s não desmontado" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "verificando..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "a raiz do sistema de arquivos" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Tranferindo de %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Você realmente deseja realizar o download deste local? Em alguns sistemas, " "varrer este local pode leavar muito tempo." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Download" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pausar" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Essas pastas de download são inválidas:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Essa pasta de download é inválida:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "A transferência não pôde continuar" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fotos" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "vídeos" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Faltando 1 segundo aproximadamente" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Faltando %i segundos aproximadamente" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Faltando 1 minuto aproximadamente" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Faltando %(minutes)i:%(seconds)02i minutos aproximadamente" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fotos e vídeos" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fotos ou vídeos" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "vídeo" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "foto" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s descarregados" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s não puderam ser descarregados" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "avisos" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Todos os downloads completos" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s downloaded" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s falhou em baixar" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s de %(total)s %(filetypes)s (%(remaining)s restantes)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s de %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "De" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Detectar Automaticamente" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Escolha um diretório que contenha %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Copiar" #: rapid/rapid.py:3397 msgid "Move" msgstr "Mover" #: rapid/rapid.py:3419 msgid "To" msgstr "Para" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fotos:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Selecione o diretório para baixar as fotos para" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Vídeos:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Selecione o diretório para baixar os vídeos para" #: rapid/rapid.py:3650 msgid "and" msgstr "e" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Usando dispositivos de backup" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Usando o dispositivo de backup" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Nenhum dispositivo de backup detectado" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Espaço livre:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s livres" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Criando o backup das fotos e vídeos em %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "A criar cópias de segurança em %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Criando o backup das fotos em %(path)s e vídeos em %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Preferências do programa são inválidas" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Fotografia" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Vídeo" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s pasta de download não existe" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Pasta: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s pasta de download e inválida" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s pasta de download não é gravável" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniaturas" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "exibir informaçṍes do programa na linha de comando enquando o programa é " "executado (default: %default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" "mostrar informações de depuração quando executado a partir da linha de " "comando" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "Ouvir apenas os erros de saída para a linha de comando" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "Listar extensões de foto vídeo que o programa reconhece e sair" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" "Restabelecer todas as configurações e preferências do programa e fechá-lo" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "e %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Todas as configurações e preferências foram redefinidas" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Erro ao criar cópias de segurança" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Diretório de destino não pôde ser criado: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Origem: %(source)s\n" "Destino: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Erro: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Arquivo: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Dispositivo detectado" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Deverá ser feita uma descarga das fotografias ou vídeos presentes neste " "dispositivo ou partição?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Relembrar esta escolha" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Data e hora" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Texto" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nome do arquivo" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadados" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Seqüências" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Etiqueta" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Imagem de dados" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Dados de vídeo" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Hoje" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Ontem" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Início do download" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Nome + extensão" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nome" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Extensão" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Número da imagem" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Número do vídeo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Abertura" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Tempo de exposição" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Distância focal" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Filmar" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Modelo da câmera" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Modelo de câmera Curta" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Modelo hifenizada de câmera de curto" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Número de série" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Contagem de Disparos" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Numero do arquivo" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Apenas pasta" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Pasta e arquivo" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Nome do dono" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Codec" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Largura" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Altura" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Comprimento" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Quadros Por Segundo" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Artista" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Direitos autorais" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Downloads de hoje" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Número da sessão" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Número da subpasta" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Número armazenado" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Seqüência de letras" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Todos os dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Último dígito" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Últimos 2 dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Últimos 3 dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Últimos 4 dígitos" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Caixa de tetxo original" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "CAIXA ALTA" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "caixa baixa" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Um dígito" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Dois dígitos" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Três dígitos" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Quatro dígitos" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Cinco dígitos" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Seis dígitos" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sete dígitos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Subsegundos" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "AAAAMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "AAAA-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "AAMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "AA-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMAAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "AAAA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "AA" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minutos)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Preferências de subpasta não deve começar com uma %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Preferências subpasta não deve terminar com uma %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Preferências subpasta não deve conter dois %s um após o outro" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Remover todas as etiquetas?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Deseja realmente remover todas as etiquetas?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Remover todos os caminhos lembrados" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Todos os caminhos lembrados devem ser removidos?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Remover todos os Caminhos Ignorados?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Todos os caminhos ignorados devem ser removidos?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Erro causado pelas preferêcias em \"renomear fotografias\"" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Erro causado pelas preferêcias em \"renomear vídeos\"" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" "Erro causado pelas preferêcias de subdiretórios em \"diretórios de " "fotografias\"" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" "Erro causado pelas preferêcias de subdiretórios em \"diretórios de vídeo\"" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Definir uma etiqueta" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Defina uma nova etiqueta or selecione uma já presente" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Defina uma nova etiqueta" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Etiqueta:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Entre um Caminho a ser Ignorado" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "Especifique um caminho onde fotos e vídeos não devem ser procurados" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Caminho:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Etiqueta" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Selecione uma pasta onde será executado o backup das fotos" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Selecione uma pasta onde será executado o backup dos vídeos" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Aviso: As meta-Informações disponíveis são insuficientes para " "gerar um nome de arquivo. Por favor, use outras opções de renomeação." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Aviso: As meta-Informações disponíveis são insuficientes para " "gerar nomes de subdiretórios. Por favor, use de outras opções de " "nomeação." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Exemplo: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "As preferências definidas para os subdiretórios de %(filetype)s são " "inválidas e não poderão ser usadas.\n" "Elas serão redefinidas para seus valores padrão." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "As seguintes expressões regulares não são válidas e serão removidas a não " "ser que sejam corrigidas:\n" "%s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Esta expressão regular é inválida e será removida a não ser que seja " "corrigida:\n" "%s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Expressão regular inválida" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "disco_externo_1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "disco_externo_2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "Nova Iorque" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Praga" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinque" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teerã" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlim" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapeste" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Roma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moscou" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Deli" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsóvia" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jacarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madri" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Estocolmo" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "subdiretório" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "nome de arquivo" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Data e hora %s valor aparece inválido." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Nome do arquivo não tem extensão." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Nome do arquivo não tem um componente número." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Erro ao gerar o componente %s" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s metadados não podem ser lidos" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s não pode ser gerado" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Ocorreu um erro ao copiar %(filetype)s" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s já existe." #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s não pôde ser feito backup porque nenhum local de backup foi " "encontrado." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s foi tomada em %(image1_date)s em %(image1_time)s, e %(image2)s em " "%(image2_date)s em %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s já foi baixado" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "O atual%(filetype)s foi modificada pela última vez em%(date)s em%(time)s. " "Identificador exclusivo '%(identifier)s'' acrescentou." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "O %(filetype)s existente foi modificado pela ultima vez em %(date)s as " "%(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Não há dados com os quais o nome %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Erro: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Os metadados podem estar corrompidos." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "A extensão do arquivo e informações Exif indicam que já foram baixados." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Foi feito backup para %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Foi feito backup destes dispositivos: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s e %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Fotos detectadas com o mesmo nome, mas tiradas em momentos diferentes: " "%(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Ouvir Ocorreu um erro ao fazer backup em %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Ouvir Ocorreu um erro ao fazer backup em %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Ocorreram erros ao fazer backup em dispositivos de backup a seguir: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s e %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s e %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "Backup já existe no %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "Os backups já existem nestes locais: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Backup substituído em %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Backups substituídos nestes dispositivos: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Ocorreu um erro ao criar diretórios em %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" "Ocorreram erros ao criar diretórios nos dispositivos de backup a seguir: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Adicionalmente, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Além disso, houve %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Além disso, houve um %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "Os metadados %(type)s estão faltando." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Os metadados seguinte estão em falta: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s e %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problemas na subpasta e arquivo de geração" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problema na subpasta e arquivo de geração" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problemas na geração de %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problema na geração de %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s já existe, mas foi feito backup" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "Ocorreu um erro ao copiar %(filetype)s, mas foi feito backup" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Vários problemas foram encontrados" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "Foram detectadas fotografias de mesmo nome, mas de horários diferentes" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "houve erros de backup" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Houve erros de backup" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "Ocorreu um erro ao fazer backup" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Houve um erro ao fazer backup" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, e %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "subdiretório e nome de arquivo" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "A foto já foi baixada" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Origem: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Falha ao criar subpasta download" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Caminho: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Verificar Tudo" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "Fazer uma _doação..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Ajuda Online..." #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Reportar um problema..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Desmarcar Tudo" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Arquivo" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Download / Pausa" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Selecionar" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Selecionar Tudo Sem Código _Job" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Selecionar o código de trabalho Wit_h" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "E_xibir" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "Registro de _Erros" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Limpar tarefas conluídas" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Arquivo Anterior" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Próximo Arquivo" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "Aj_uda" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Traduzir este aplicativo..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Incluir no download" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Baixar" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Preferências: Photo Downloader Rapid" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "Pasta de Download de Fotos" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Exemplo: /home/usuário/Fotos" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Subpastas de Download" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Pasta de Downloads:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Escolher pasta de download. Subpastas para as fotos serão criados " "automaticamente nesta pasta usando a estrutura a seguir especificados." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Pasta de Download " #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Pastas de Fotos" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Renomear Foto\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Renomear Foto" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Novo:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Exemplo" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Renomear Foto" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Pasta de Download de Vídeos" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Desculpe, a funcionalidade de download de vídeo foi desabilitada. Para " "executar o download de vídeos, por favor instale os pacotes hachoir " "metadata e kaa metadata do python, ou exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Escolher pasta de download. Subpastas para os vídeos baixados serão criados " "automaticamente nesta pasta usando a estrutura a seguir especificados." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Pasta de Vídeo" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Renomear Vídeos\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Renomear Vídeo" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Renomear Opções" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Números de sequência" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Especifique o tempo em formato de 24 horas em que a sequência numérica de " " Downloads de Hoje devem reiniciar." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Dia de início:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Downloads de hoje:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Número acumulado:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Sincronizar números seqüênciais em pares RAW-JPEG" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Compatibilidade com Outros Sistemas Operacionais" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Escolha se um caractere do nome de uma foto, vídeo ou diretório deverá ser " "omitido, caso o mesmo não seja suportado por outros sistemas operacionais." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Omitir caracteres incompatíveis" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Renomear Opções" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Job Codes" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Job Códigos" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Adicionar..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "R_emover Tudo" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Job Códigos" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Devices" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Dispositivos" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Dispositivos são de onde as fotos e vídeos são baixados, como câmeras, " "cartões de memória ou dispositivos de armazenamento portátil.\n" "\n" "Você pode baixar de vários dispositivos simultaneamente, ou pode especificar " "um local em seu disco rígido.\n" "\n" "Baixar diretamente de câmeras é atualmente um recurso experimental. Caso " "ele não funcione corretamente, tente ativar o modo PTP. Caso isso não seja " "possível, um leitor de cartões deve ser utilizado." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Detectar automaticamente dispositivos de armazenamento portátil" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Detectar automaticamente dispositivos" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Se vovê habilitar a detecção de Dispositivos de Armazenamento Portateis, " "todo o dispositivo será varrido. Em dispositivos muito grandes, isso pode " "levar algum tempo.\n" "Quando esta opção esta habilitada e um dispositivo potêncial é detectado, " "será perguntado se o mesmo deve ser varrido ou não." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Localização" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Se você desabilitar a detecção automática, escolha o local exato das fotos e " "vídeos." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Opções do dispositivo" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Caminhos Lembrados" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Caminhos Ignorados" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Re_mover todos" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Usar expressões regulares no estilo _python" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Opções do dispositivo" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Backup\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Backup" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Se você desabilitar a detecção automática, selecione o caminho exato do " "local do backup." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Detectar automaticamente dispositivos de backup" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Ao descarregar fotografias e vídeos, há a possibilidade de que seja feita " "uma cópia de segurança em vários locais diferentes, como, por exemplo, em " "discos rígidos externos." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Fazer backup de fotos e vídeos ao baixar" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Especifique a pasta no qual os backups serão armazenados no dispositivo. \n" "\n" "Nota: isso também será utilizado para determinar se o dispositivo é ou " "não utilizado para backups. Para cada dispositivo que deseja usar para fazer " "backup, criar uma pasta com um desses nomes." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Local do backup de Fotos:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Nome da Pasta de Backup de Fotos" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Exemplo:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/midia/ldriveexterno/Fotos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Nome da pasta para cópia de segurança de vídeos:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Local do backup de Vídeos:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Miscellaneous" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Programa de Automação" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" "Desmontar ou ejetar o dispositivo após conclusão da tarefa de descarga" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Iniciar a descarga após o início do programa" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Iniciar a descarga ao conectar o dispositivo" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Sair do programa quando o download terminar" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Sair do programa mesmo que o download tivesse avisos ou erros" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Rotacionar imagens JPEG automaticamente" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Performance" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Gerar miniaturas (mais lento)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Diversos" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Error Handling" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Conflitos de Nomes de Fotos e Vídeos" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Adicionar identificador único" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Pular download" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Escolha como o programa deverá proceder caso ao copiar uma fotografia ou " "vídeo haja um arquivo de mesmo nome." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Escolha como o programa deverá proceder caso ao fazer uma cópia de segurança " "haja um arquivo de mesmo nome." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Sobrescrever" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Pular" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Tratamento de Erros" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importar fotos e vídeos de forma eficiente e confiável" #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Pelo programa ser de uma versão mais avançada, algumas preferências são " #~ "agora obsoletas e serão portanto restabelecidas em seus valores padrão." #~ msgid "Resetting to midnight.\n" #~ msgstr "A restabelecer tempo em meia-noite.\n" #~ msgid "Resetting to default values." #~ msgstr "A restabelecer valores em seus padrões." #~ msgid "Some preferences will be reset." #~ msgstr "Algumas preferências serão restabelecidas." #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Algumas preferências são inválidas e serão portanto restabelecidas." #~ msgid " " #~ msgstr " " #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Valor de \"Descargas Hoje\" é inválido.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Valor de \"começo do dia\" é inválido.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Erro encontrado nas seguintes preferências:\n" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Por favor, tente novamente após revisar as preferências e reiniciar o " #~ "programa." #~ msgid "There is an error in the program preferences." #~ msgstr "Há um erro nas preferências do programa." #~ msgid "errors" #~ msgstr "erros" #~ msgid "The device can now be safely removed" #~ msgstr "O dispositivo poderá agora ser removido com segurança" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "" #~ "Um novo dia teve início - o número seqüencial \"descargas hoje\" foi " #~ "restabelecido." #~ msgid "This device or partition will always be used to download from" #~ msgstr "Este dispositivo ou partição será recordado para futuras descargas" #~ msgid "Job Code entered" #~ msgstr "Etiqueta definida" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Este dispositivo ou partição será rejeitado para futuras descargas" #~ msgid "Job Code not entered" #~ msgstr "Etiqueta não definida" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "As preferências para subpastas entradas são inválidas e não podem ser " #~ "usadas.\n" #~ "Elas serão resetadas com seus valores padrão." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "As preferências da subpasta tinha alguns valores desnecessários que foram " #~ "removidos." #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 de %s imagens copiadas" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Atenção: Não há metadata suficiente para gerar o nome completo. " #~ "Por favor use outras opções de renomeação." #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Exploração de dispositivos completa: encontrados %(number)s imagens em " #~ "%(device)s" #~ msgid "Error in Image Rename preferences" #~ msgstr "Erro nas preferências de Renomeação de Imagens" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Erro nas preferências de Subpasta de Download" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Atenção: Não há metadata suficiente para gerar a subpasta. Por " #~ "favor use outras opções de nomeação de subpasta." #~ msgid "Select an image folder" #~ msgstr "Selecione uma pasta de imagens" #~ msgid "Select a folder in which to backup images" #~ msgstr "Selecione uma pasta onde será feito o backup de imagens" #~ msgid "Could not open image" #~ msgstr "Não foi possível abrir a imagem" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Fonte: %(source)s\n" #~ "Destino: %(destination)s\n" #~ "Problema: %(problem)s" #, python-format #~ msgid "Source: %s" #~ msgstr "Fonte: %s" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Nome do arquivo da imagem não pôde ser gerado apropriadamente. Verifique se " #~ "há metadata suficiente na imagem." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Fonte: %(source)s\n" #~ "Problema: %(problem)s" #~ msgid "Image filename could not be generated" #~ msgstr "Nome do arquivo da imagem não pôde ser gerado" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Exploração do dispositivo completa: nenhuma imagem encontrada em %s" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Metadata é essencial para gerar subpastas / nomes de imagens.\n" #~ "Fonte: %s" #~ msgid "Image has no metadata" #~ msgstr "Imagem não tem metadata" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Nome da subpasta não pôde ser gerado apropriadamente. Confira se há metadata " #~ "suficiente na imagem." #, python-format #~ msgid "%s images skipped" #~ msgstr "%s imagens puladas" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Fonte: %(source)s\n" #~ "Destino: %(destination)s\n" #~ "Erro: %(errno)s %(strerror)s" #, python-format #~ msgid "%s images downloaded" #~ msgstr "Feito o download de %s imagens" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Pasta de destino não pôde ser criada\n" #~ "%(directory)s\n" #~ "Erro: %(errno)s %(strerror)s" #~ msgid "Backup image already exists" #~ msgstr "Backup da imagem já existe." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Fonte: %(source)s\n" #~ "Destino: %(destination)s\n" #~ "Erro: %(errorno)s %(strerror)s" #~ msgid "The image was not copied." #~ msgstr "A imagem não foi copiada." #~ msgid "Download copying error" #~ msgstr "Erro enquanto fazia o download" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Identificador únco '%s' adicionado" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Subpasta: %(subfolder)s\n" #~ "Imagem: %(image)s\n" #~ "Problema: %(problem)s" #~ msgid "Resetting value to zero.\n" #~ msgstr "Redefinindo valor para zero.\n" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s foi rejeitado como um dispositivo de transferência" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Transferência foi iniciada em %s" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Transferência concluída de %s" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s selecionado para transferência de" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "A miniatura não pode ser exibida" #~ msgid "Backup device missing" #~ msgstr "Dispositivo de backup em falta" #~ msgid "No backup device was detected." #~ msgstr "Nenhum dispositivo de backup foi detectado." #~ msgid "This device has no images to download from." #~ msgstr "Este dispositivo não tem imagens para baixar" #~ msgid "It may be corrupted" #~ msgstr "Ele pode estar corrompido" #~ msgid "Image has no thumbnail" #~ msgstr "A imagem tem nenhuma miniatura" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s de %(total)s imagens copiadas" #~ msgid "Image skipped" #~ msgstr "Imagem ignorada" #~ msgid "Image overwritten" #~ msgstr "Imagem substituída" #~ msgid "Image already exists" #~ msgstr "Imagem já existe" #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "As preferências do programa parecem ser válidas, mas por favor verifique-los " #~ "para garantir o funcionamento correto." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "Uma nova versão deste programa foi executado anteriormente nesse " #~ "computador.\n" #~ "\n" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "A partir de downloads que foram à espera de um código de trabalho" #~ msgid "Enter a new job code." #~ msgstr "Introduza um código novo emprego." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Solicitação de se usar %s" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Já foi solicitado o Trabalho Código, não perguntar de novo" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "" #~ "Introduza um código novo emprego, ou selecione uma pesquisa anterior." #~ msgid "Starting downloads" #~ msgstr "Iniciando downloads" #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "este dispositivo ou partição deve ser usado para baixar imagens?" #~ msgid "Prompting for Job Code" #~ msgstr "Solicitando o código de trabalho" #~ msgid "Warning:" #~ msgstr "Atenção:" #~ msgid "No preferences needed to be changed." #~ msgstr "Nenhuma preferência precisou ser mudada." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Esta versão do programa utiliza diferentes preferências que a versão antiga. " #~ "Suas preferências foram atualizadas.\n" #~ "\n" #~ "Por favor verifique-los para garantir o funcionamento correto." #~ msgid "Preferences were modified." #~ msgstr "As preferências foram modificadas." #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Esta versão do programa é mais recente que a versão anteriormente executada. " #~ "Verificar preferências." #~ msgid "Problem using pynotify." #~ msgstr "Problema com pynotify." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Falha ao receber recursos do servidor pynotify." #~ msgid "Using manually specified path" #~ msgstr "Usando o caminho especificado manualmente" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Dispositivo %(device)s (%(path)s ignorado" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Detectado %(device)s com o caminho %(path)s" #~ msgid "Automatically start download is false" #~ msgstr "Iniciar download automaticamente é falso" #~ msgid "Automatically start download is true" #~ msgstr "Iniciar download automaticamente é verdadeiro" #~ msgid "Backup" #~ msgstr "Backup" #~ msgid "Backup location:" #~ msgstr "Localização do Backup:" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Se você ativar a detecção automática de dispositivos de armazenamento " #~ "portáteis, todo o dispositivo será digitalizado de imagens. Em dispositivos " #~ "grande, isto poderá levar algum tempo." #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Se você desabilitar a detecção automática, escolha o local de backup exato." #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Preferência chave %(key)s' é inválido.\n" #~ "Esperado um dos %(value)s" #~ msgid "images skipped" #~ msgstr "imagens ignorada" #~ msgid "_Download " #~ msgstr "_Download " #~ msgid "images downloaded" #~ msgstr "imagens baixadas" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "listar extensões de arquivo de imagem que o programa reconhece e sair" #~ msgid "_Pause" #~ msgstr "_Pausa" #~ msgid "Preferences were changed." #~ msgstr "Preferências foram alteradas." #, python-format #~ msgid "%s is already running" #~ msgstr "%s já está em execução" #~ msgid "Using" #~ msgstr "Em uso" #~ msgid "Goodbye" #~ msgstr "Adeus" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Subsecond não metadados presentes na imagem" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "metadados %s não está na imagem" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Erro no componente de data e hora. Valor %s parece ser inválido" #~ msgid "extension was specified but image name has no extension" #~ msgstr "" #~ "a extensão foi especificada, mas o nome da imagem não tem nenhuma extensão" #~ msgid "image number was specified but image filename has no number" #~ msgstr "" #~ "número de imagem foi especificado, mas o nome do arquivo de imagem não tem " #~ "nenhum número" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "erro ao gerar nome com o componente %s" #~ msgid "Image Name Conflicts" #~ msgstr "Conflitos no Nome da Imagem" #~ msgid "Image Devices" #~ msgstr "Dispositivos de Imagens" #~ msgid "These preferences are not well formed:" #~ msgstr "Estas preferências não são bem formadas:" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Valor de preferência '%(value)s' é invalido" #~ msgid "Automation" #~ msgstr "Automatização" #~ msgid "Backup folder name:" #~ msgstr "Nome da pasta de backup:" #~ msgid "Image Rename" #~ msgstr "Renomear Imagem " #~ msgid "Missing Backup Devices" #~ msgstr "Dispositivos de Backup Ausentes " #~ msgid "Example: /home/user/photos" #~ msgstr "Exemplo: /home/usuário/fotos" #~ msgid "Image Devices" #~ msgstr "" #~ "Dispositivos de Imagem" #~ msgid "Image Rename\t" #~ msgstr "" #~ "Renomear Imagem\t" #~ msgid "Automatically detect image devices" #~ msgstr "Detectar automaticamente dispositivos de imagem" #~ msgid "Download Folder" #~ msgstr "" #~ "Pasta de Downloads" #~ msgid "Automation" #~ msgstr "Automação" #~ msgid "Backup photos when downloading" #~ msgstr "Fazer backup de fotos ao baixar" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Direitos autorais Damon Lynch 09-2007" #~ msgid "Download Folder" #~ msgstr "Pasta de Download" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Escolha se deve ignorar o download da imagem, ou para adicionar um único " #~ "Identificador" #~ msgid "Image Rename" #~ msgstr "Renomear Imagem" #~ msgid "Image Devices" #~ msgstr "Dispositivos de Imagem" #~ msgid "Exit program after completion of successful download" #~ msgstr "Sair do programa após a conclusão do download bem-sucedido" #~ msgid "Ignore" #~ msgstr "Ignorar" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Se você desabilitar a detecção automática, escolha a localização exata das " #~ "imagens." #~ msgid "Error Log" #~ msgstr "Log de Erro" #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Dispositivos de imagem são dispositivos a partir do qual pode se fazer " #~ "download de fotos, tais como câmeras, cartões de memória ou dispositivos " #~ "portáteis.\n" #~ "\n" #~ "Você pode fazer download de fotos dos dispositivos de múltiplas imagens " #~ "simultaneamente.\n" #~ "\n" #~ "Se o download diretamente de sua câmera funciona mal ou não funciona de " #~ "modo algum , tente configurá-lo pode se o modo PTP. Se isso não for " #~ "possível, considere o uso de um leitor de cartão." #~ msgid "Report an error" #~ msgstr "Reportar um erro" #~ msgid "Report a warning" #~ msgstr "Relatório de um aviso" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader é um software livre, você pode redistribuí-lo e / ou " #~ "modificá-lo sob os termos da GNU General Public License como publicado pela " #~ "Free Software Foundation, tanto a versão 2 da Licença, ou (funciona de modo " #~ "algum seu critério) qualquer versão posterior.\n" #~ "\n" #~ "Rapid Photo Downloader é distribuído na esperança que possa ser útil, mas " #~ "SEM QUALQUER GARANTIA, sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou " #~ "ADEQUAÇÃO PARA UM DETERMINADO PROPÓSITO. Veja a GNU General Public License " #~ "para mais detalhes.\n" #~ "\n" #~ "Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com o " #~ "Rapid Photo Downloader, se não, escreva para a Free Software Foundation, " #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Import your images efficiently and reliably" #~ msgstr "Importar as suas imagens de forma eficiente e confiável" #~ msgid "Image location:" #~ msgstr "Localização da imagem:" #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Especifique o que fazer quando uma imagem de mesmo nome já foi baixado " #~ "backup." #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Especifique a pasta na qual os backups serão armazenados no dispositivo. \n" #~ "\n" #~ "Nota: isso também será utilizado para determinar se o dispositivo é ou " #~ "não utilizado para backups. Para cada dispositivo que deseja usar para fazer " #~ "backup, criar uma pasta com este nome." #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "Especifique o que fazer quando não existirem dispositivos de backup." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Especifique se os nomes das imagens e pasta deve ter os caracteres removidos " #~ "que não são permitidos por outros sistemas operacionais." #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Ao fazer backup, escolha se deseja substituir uma imagem no dispositivo de " #~ "backup que tem o mesmo nome, ou pular o backup dele." #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "" #~ "Desmontar (\"ejetar\") dispositivo de imagem após a conclusão download" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Você pode ter as fotos backup em vários locais em que serão transferidos, " #~ "por exemplo, discos rígidos externos." #~ msgid "_Thumbnails" #~ msgstr "_Miniaturas" #~ msgid "Start downloading upon image device insertion" #~ msgstr "Inicie a transferência após a inserção do dispositivo de imagem" #~ msgid "_Photos" #~ msgstr "_Fotos" rapid-photo-downloader-0.4.10/po/bg.po0000664000175000017500000013214712267511503017756 0ustar damondamon00000000000000# Bulgarian translation for rapid # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-06-13 18:23-0500\n" "PO-Revision-Date: 2011-08-16 01:11+0000\n" "Last-Translator: velinda \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-08-24 14:24+0000\n" "X-Generator: Launchpad (build 13727)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:105 rapid/glade3/rapid.ui.h:14 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:110 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:112 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:115 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:149 msgid "Device" msgstr "Устройство" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:166 msgid "Size" msgstr "Размер" #: rapid/rapid.py:169 msgid "Download Progress" msgstr "Прогрес на свалянето" #: rapid/rapid.py:315 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s did not unmount" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1171 msgid "scanning..." msgstr "сканиране ..." #: rapid/rapid.py:1989 rapid/glade3/rapid.ui.h:5 msgid "Download" msgstr "" #: rapid/rapid.py:1992 msgid "Pause" msgstr "" #: rapid/rapid.py:2093 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2096 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2097 msgid "Download cannot proceed" msgstr "" #: rapid/rapid.py:2386 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2388 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2390 msgid "About 1 minute remaining" msgstr "" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2395 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2417 rapid/preferencesdialog.py:823 rapid/rpdfile.py:110 msgid "photos and videos" msgstr "" #: rapid/rapid.py:2419 rapid/rpdfile.py:112 msgid "photos or videos" msgstr "" #: rapid/rapid.py:2422 rapid/rapid.py:2967 rapid/rpdfile.py:115 msgid "videos" msgstr "" #: rapid/rapid.py:2424 rapid/preferencesdialog.py:1374 rapid/rpdfile.py:117 #: rapid/rpdfile.py:270 msgid "video" msgstr "" #: rapid/rapid.py:2427 rapid/rapid.py:2965 rapid/preferencesdialog.py:825 #: rapid/rpdfile.py:120 msgid "photos" msgstr "" #. check subfolder preferences for bad values #: rapid/rapid.py:2429 rapid/preferencesdialog.py:1373 rapid/rpdfile.py:122 #: rapid/rpdfile.py:250 msgid "photo" msgstr "" #: rapid/rapid.py:2456 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2460 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2463 rapid/rapid.py:2515 msgid "warnings" msgstr "предупреждения" #: rapid/rapid.py:2472 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2478 rapid/rapid.py:2487 rapid/rapid.py:2496 #: rapid/rapid.py:2505 rapid/rapid.py:2513 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2480 rapid/rapid.py:2498 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2489 rapid/rapid.py:2507 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2546 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2553 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:2935 msgid "and" msgstr "и" #: rapid/rapid.py:2940 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:2942 msgid "Using backup device" msgstr "" #: rapid/rapid.py:2944 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:2971 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:2983 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:2987 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:2992 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:2997 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3003 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3009 #, python-format msgid "Backing up to %(path)s" msgstr "" #: rapid/rapid.py:3014 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3043 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3148 rapid/rpdfile.py:251 msgid "Photo" msgstr "" #: rapid/rapid.py:3150 rapid/rpdfile.py:271 msgid "Video" msgstr "" #: rapid/rapid.py:3159 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3161 rapid/rapid.py:3175 rapid/rapid.py:3188 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3173 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3186 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:3264 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3311 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:3312 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:3313 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3315 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:3316 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:3329 msgid "Photos:" msgstr "" #: rapid/rapid.py:3329 msgid "Videos:" msgstr "" #: rapid/rapid.py:3334 #, python-format msgid "and %s" msgstr "" #: rapid/rapid.py:3342 msgid "All settings and preferences have been reset" msgstr "" #: rapid/rapid.py:3351 msgid "" "Video downloading functionality disabled.\n" "To download videos, please install the hachoir metadata and kaa metadata " "packages for python." msgstr "" #: rapid/backupfile.py:139 rapid/backupfile.py:162 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:141 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:143 rapid/backupfile.py:164 rapid/subfolderfile.py:194 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:146 rapid/backupfile.py:166 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/copyfiles.py:143 rapid/subfolderfile.py:209 #: rapid/subfolderfile.py:348 rapid/subfolderfile.py:366 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/device.py:79 msgid "Device Detected" msgstr "Устройството е открито" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:88 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:107 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:268 msgid "MB/s" msgstr "" #: rapid/generatenameconfig.py:145 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:146 msgid "Text" msgstr "" #: rapid/generatenameconfig.py:147 msgid "Filename" msgstr "" #: rapid/generatenameconfig.py:148 msgid "Metadata" msgstr "" #: rapid/generatenameconfig.py:149 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:151 rapid/preferencesdialog.py:549 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:153 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:154 msgid "Today" msgstr "" #: rapid/generatenameconfig.py:155 msgid "Yesterday" msgstr "" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:157 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:159 msgid "Name + extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:161 msgid "Name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:163 msgid "Extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Image number" msgstr "" #: rapid/generatenameconfig.py:166 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:168 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:170 msgid "ISO" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:172 msgid "Exposure time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Serial number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Shutter count" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Owner name" msgstr "" #: rapid/generatenameconfig.py:189 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:190 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:191 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:192 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:193 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:194 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:195 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:197 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:199 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:201 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:203 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:205 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:207 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:209 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:211 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:213 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:215 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:217 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:219 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:221 msgid "lowercase" msgstr "" #: rapid/generatenameconfig.py:222 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:223 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:224 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:225 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:226 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:227 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:228 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:230 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:232 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:234 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:236 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:238 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:240 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:370 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:372 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:389 rapid/preferencesdialog.py:672 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:406 rapid/preferencesdialog.py:689 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:436 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:617 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:638 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:655 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:714 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:731 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:734 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:739 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:916 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:998 msgid "Select a folder to download photos to" msgstr "Изберете папка, в която да изтеглите снимки" #: rapid/preferencesdialog.py:1016 msgid "Select a folder to download videos to" msgstr "" #: rapid/preferencesdialog.py:1107 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/preferencesdialog.py:1129 #, python-format msgid "Select a folder in which to backup %(file_types)s" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1215 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1266 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1269 #, python-format msgid "Example: %s" msgstr "Пример: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1359 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1645 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1647 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:122 msgid "New York" msgstr "Ню Йорк" #: rapid/prefsrapid.py:123 msgid "Manila" msgstr "Манила" #: rapid/prefsrapid.py:123 msgid "Prague" msgstr "Прага" #: rapid/prefsrapid.py:123 msgid "Helsinki" msgstr "Хелзинки" #: rapid/prefsrapid.py:123 msgid "Wellington" msgstr "Уелингтън" #: rapid/prefsrapid.py:124 msgid "Tehran" msgstr "Техеран" #: rapid/prefsrapid.py:124 msgid "Kampala" msgstr "Кампала" #: rapid/prefsrapid.py:124 msgid "Paris" msgstr "Париж" #: rapid/prefsrapid.py:124 msgid "Berlin" msgstr "Берлин" #: rapid/prefsrapid.py:124 msgid "Sydney" msgstr "Сидни" #: rapid/prefsrapid.py:125 msgid "Budapest" msgstr "Будапеща" #: rapid/prefsrapid.py:125 msgid "Rome" msgstr "Рим" #: rapid/prefsrapid.py:125 msgid "Moscow" msgstr "Москва" #: rapid/prefsrapid.py:125 msgid "Delhi" msgstr "Делхи" #: rapid/prefsrapid.py:125 msgid "Warsaw" msgstr "Варшава" #: rapid/prefsrapid.py:126 msgid "Jakarta" msgstr "Джакарта" #: rapid/prefsrapid.py:126 msgid "Madrid" msgstr "Мадрид" #: rapid/prefsrapid.py:126 msgid "Stockholm" msgstr "Стокхолм" #. components #: rapid/problemnotification.py:26 rapid/subfolderfile.py:359 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:27 rapid/subfolderfile.py:357 msgid "filename" msgstr "" #: rapid/problemnotification.py:80 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:81 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:83 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:84 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:86 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:88 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:90 rapid/problemnotification.py:91 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:93 rapid/problemnotification.py:94 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:97 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:102 #, python-format msgid "" "%(image1)s was taken at on %(image1_date)s at %(image1_time)s, and " "%(image2)s on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:103 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:107 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:108 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:109 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:201 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:204 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:223 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:225 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:227 rapid/problemnotification.py:288 #: rapid/problemnotification.py:300 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:228 rapid/problemnotification.py:289 #: rapid/problemnotification.py:301 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:240 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:257 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:259 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:261 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:265 rapid/problemnotification.py:313 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:267 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:271 rapid/problemnotification.py:315 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:276 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:284 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:286 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:309 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:311 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:322 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:330 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:332 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:341 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:343 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:346 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:363 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:365 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:368 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:370 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:379 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:381 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:401 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:403 rapid/subfolderfile.py:228 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:409 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:410 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:412 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:413 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:416 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:136 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/subfolderfile.py:79 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:297 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:298 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:355 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:393 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:394 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:6 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:15 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Download" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:27 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:30 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:31 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:32 msgid "_View" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:2 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:38 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "Delete photos and videos from device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:47 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:51 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:52 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths\t" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:60 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:72 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Remembered Devices" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "" "Remembered devices are those devices you have chosen to always scan or never " "scan when automatic detection of Portable Storage Devices is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install the hachoir metadata and kaa metadata packages for " "python." msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:88 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "_Add..." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "_Use regular expressions" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Настройките съдържат грешка :\n" #~ msgid "Select an image folder" #~ msgstr "Изберете папка за изображение" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "В настройките за подпапка са премахнати някои ненужни стойности." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Моля, проверете настройките, рестартирайте програмата, и опитайте отново." #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 от %s копирани изображения" #~ msgid "Could not open image" #~ msgstr "Изображението не може да бъде отворено" #, python-format #~ msgid "Source: %s" #~ msgstr "Източник: %s" #~ msgid "The image was not copied." #~ msgstr "Изображението не е копирано." #, python-format #~ msgid "%s images skipped" #~ msgstr "%s пропуснати изображения" #~ msgid "errors" #~ msgstr "грешкиа" #~ msgid "Image overwritten" #~ msgstr "Изображението е презаписано" #~ msgid "Image already exists" #~ msgstr "Изображението вече съществува" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s от %(total)s копирани изображения" #~ msgid "Image skipped" #~ msgstr "Изображението е пропуснато" #~ msgid "Warning:" #~ msgstr "Предупреждение:" #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "По-нова версия на тази програма е била инсталирана на този компютър.\n" #~ "\n" #~ msgid "Starting downloads" #~ msgstr "Начална на изтеглянето" #~ msgid " " #~ msgstr " " rapid-photo-downloader-0.4.10/po/hu.po0000644000175000017500000024533612270217621020003 0ustar damondamon00000000000000# Hungarian translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:12+0000\n" "Last-Translator: loriand \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Gyors Fotó Letöltő" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Eszköz" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Méret" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Letöltés Folyamatban" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s eszköz nem lett csatlakoztatva" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "keresés..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "a fájlrendszer gyökere" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "Letöltés innen: %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "Valóban le akarsz tölteni innen? Néhány rendszeren ez sokáig tart." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Letöltés" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Megállítás" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Nem jók a letöltési könyvtárak:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Nem jó a letöltési könyvtár:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "A letöltés megszakadt." #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" "A biztonsági másolat eszköze nem tartalmaz megfelelő könyvtárat a " "%(filetype) számára." #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "fényképek" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "videók" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "Probléma a Biztonsági mentéssel" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Kb. 1 másodperc van hátra" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Kb. %i másodperc van hátra" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Kb. 1 perc van hátra" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Kb. %(minutes)i:%(seconds)02i perc van hátra" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "fényképek és videók" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "fénykép vagy videó" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "videó" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "fénykép" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "Letöltve: %(noFiles)s %(filetypes)s" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s : sikertelen letöltés" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "figyelmeztetések" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Minden letöltés befejeződött" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s letöltve" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s letöltése sikertelen volt" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" "%(total)s %(filetypes)s összesen. Letöltve: %(number)s (%(remaining)s még " "hátra van)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(total)s %(filetypes)s összesen. Letöltve: %(number)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Honnan" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Automatikus Felismerés" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Válasszon egy könyvtárt az alábbiaknak: %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Másolás" #: rapid/rapid.py:3397 msgid "Move" msgstr "Áthelyezés" #: rapid/rapid.py:3419 msgid "To" msgstr "Hova" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Fényképek:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Válasszon egy letöltési könyvtárat" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Videók:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Válasszon egy letöltési könyvtárat" #: rapid/rapid.py:3650 msgid "and" msgstr "és" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "A biztonsági mentés eszközök használata" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "A biztonsági mentés eszköz használata" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Nincs elérhető biztonsági mentés eszköz" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Szabad hely:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s üres" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Fotók és videók biztonsági mentésének helye: %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Biztonsági mentés készül az alábbi helyre: %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" "A fotók biztonsági mentése a %(path)s könyvtárba és a videók biztonsági " "mentése a %(path2)s könyvtárba" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "A program beállítása nem jó." #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Fénykép" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Videó" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s letöltési könyvtár nem létezik" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "könyvtár: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s letöltési könyvtár nem jó" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s letöltési könyvtár nem írható" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Előnézeti képek" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "futás közben program információ megjelenítése a terminálban (default: " "%default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "Mutassa a hibakeresési információkat parancssoros futtatásnál." #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "csak a hibák megjelenítése a terminálban" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" "A program által felismerhető kép és videó kiterjesztések listázása, majd " "kilépés" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "A program beállításainak visszaállítása, majd kilépés" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "és %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Minden beállítás visszaállításra került" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "A biztonsági másolat készítése során hiba történt." #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "A cél könyvtár nem hozható létre: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Forrás: %(source)s\n" "Cél: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Hiba: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Fájl: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "Ismeretlen hiba történt" #: rapid/device.py:80 msgid "Device Detected" msgstr "Eszköz érzékelve" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "Akarod ezt az eszközt, vagy partíciót fénykép vagy videó letöltésre " "használni?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Emlékezzen erre a választásra" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Dátum és idő" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Szöveg" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Fájlnév" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metaadat" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sorozatok" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Munka-szám" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Kép dátuma" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Videó dátum" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Ma" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Tegnap" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Letöltési idő" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Név + kiterjesztés" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Név" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Kiterjesztés" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Kép száma" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Videó sorszám" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Rekesz" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Expozíciós idő" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Fókusztávolság" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Fényképezőgép gyártója" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Fényképezőgép" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Rövid típusmegnevezés" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Bővített típusmegnevezés" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Sorozatszám" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Zár számláló" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Fájl (sor)szám" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Csak mappa" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Mappa és fájl" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "A tulajdonos neve" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Kodek" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Szélesség" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Magasság" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Hossz" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Képkoca/másodperc" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Készítette" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Szerzői jog" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Mai letöltések" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Munkamenetszám" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Alkönyvtár száma" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Tárolt szám" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Sorozat betű" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Minden számjegy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Utolsó számjegy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Utolsó 2 számjegy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Utolsó 3 számjegy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Utolsó 4 számjegy" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Eredeti kisbetű / nagybetű" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "NAGYBETŰS" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "kisbetűs" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "Egyszámjegyű" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Kétszámjegyű" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Háromszámjegyű" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Négyszámjegyű" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Ötszámjegyű" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Hatszámjegyű" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Hét számjegy" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Millimásodperc" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ÉÉÉÉHHNN" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ÉÉÉÉ-HH-NN" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ÉÉHHNN" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ÉÉ-HH-NN" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "HHNNÉÉÉÉ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "HHNNÉÉ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "HHNN" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "NNHHÉÉÉÉ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "NNHHÉÉ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "ÉÉÉÉ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "ÉÉ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "NN" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Hónap (teljes)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Hónap (rövid)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "ÓÓPPMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "ÓÓPP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "ÓÓ-PP-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "ÓÓ-PP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "ÓÓ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "PP" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "MM" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Alkönyvtár beállítások nem kezdődhetnek %s értékkel" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Alkönyvtár beállítások nem végződhetnek %s értékkel" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" "Alkönyvtár beállítások nem tartalmazhatnak két %s értéket egymás után" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Minden Munka-szám eltávolítása?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Minden Munka-szám el legyen távolítva?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Minden megjegyzett elérési út eltávolítása?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Biztosan eltávolítod az összes megjegyzett elérési utat?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Minden mellőzött útvonal törlése" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Valóban törölni szeretnéd az összes mellőzött útvonalat?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Hiba a fénykép átnevezési beállításoknál" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Hiba a videó átnevezési beállításoknál" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Hiba a fénykép letöltési alkönyvtár beállításoknál" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Hiba a videó letöltési alkönyvtár beállításoknál" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Adjon meg munka-számot" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Adjon meg új munka-kódot, vagy válasszon egyet a korábbiakból." #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Adjon meg új munka-kódot" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Munka-szám:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Add meg a mellőzni kívánt útvonalat" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Kérlek add meg azt a könyvtárt ahol soha ne keressek fényképeket vagy " "videókat" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Útvonal:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Munka kód" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Add meg a fényképek biztonsági mentésének útvonalát" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Add meg a videók biztonsági mentésének útvonalát" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Figyelem: Nincs elegendő metaadat a fájl teljes átnevezéshez. " "Kérem válasszon más metaadatot az átnevezéshez." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Figyelem: Nincs elegendő metaadat az alkönyvtár létrehozásához. " "Kérem válasszon más metaadatot az alkönyvtár létrehozáshoz." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Példa: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "A %(filetype)s alkönyvtár beállítások érvénytelenek, nem használhatóak.\n" "Az alapértelmezett értékek kerülnek visszaállításra." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "A következő reguláris kifejezések hibásak, és távolításra kerülnek, ha nem " "javítod ki őket:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Ez a reguláris kifejezés hibás, és távolításra kerül, ha nem javítod ki:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Érvénytelen reguláris kifejezés" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "külső_meghajtó1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "külső_meghajtó2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manila" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Prága" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsinki" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teherán" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Párizs" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Róma" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moszkva" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Varsó" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "alkönyvtár" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "fájlnév" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Ez a dátim, idő érték nem tűnik valósnak: %s" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "A fájlnévnek nincs kiterjesztése." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "A fájlnévnek nincs szám része." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Hiba a komponens elkészítésekor: %s." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "%(filetype)s métadatatát nem tudom olvasni" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s nem lehet létrehozni" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Hiba lépett fel a %(filetype)s másolása közben" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "A %(filetype)s letöltése nem volt hibátlan." #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s már létezik (le van töltve)" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s biztonsági mentése nem készül el, mert nincs használható hely " "számára" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "A %(image1)s kép %(image1_date)s %(image1_time)s kor készült és, a " "%(image2)s kép %(image2_date)s %(image2_time)s kor készült." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s már le van töltve" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "A létező %(filetype)s típus utoljára %(date)s %(time)s lett módosítva.\r\n" "Az alábbi azonosító hozzáadva: %(identifier)s" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "A létező %(filetype)s módosítva lett: %(date)s %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Nincs adat a %(filetype)s elnevezéséhez" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Hiba: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" "A fájl ellenőrzés hibát talált. A letöltött verzió eltér az eredetitől." #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "A métadatad hibás lehet" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" "A fájlnév, a kiterjesztés, és az Exif információ szerint ez már le van " "töltve." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Biztonsági mentés létrehozva: %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Biztonsági mentés létrehozva ezeken az eszközökön: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s és %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "A fényképeknek azonos a neve, de eltérő időben készültek:%(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" "Hiba történt a biztonsági mentés közben ezen az eszközön: %(volume)s: " "%(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Hiba történt a biztonsági mentés közben ezen az eszközön %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Hiba történt a biztonsági mentés közben az alábbi eszközökön: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s és %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s és %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "A biztonsági mentés már létezik itt: %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "A biztonsági mentés az elábbi eszközökön már létezik: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "A biztonsági mentés felülírva ezen az eszközön: %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "A biztonsági mentés felülírva ezeken az eszközökön: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" "Hiba lépett fel a könyvtárak létrehozáskor ezen az eszközön: %(volume)s: " "%(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "Hiba lépett fel a könyvtárak létrehozáskor ezen az eszközökön: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" "A fájl ellenőrzés hibát talált a %(volume)s. A letöltött verzió eltér az " "eredetitől." #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "A fájl ellenörzés hibát talált ezen az eszközön: " #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s továbbá, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Továbbá, még ezek %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Továbbá, még ez %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "A %(type)s métaadat hiányzik." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "A következő métaadatad hiányzik: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "%(missing_metadata_elements)s és %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Probléma az alkönyvtár és a fájlnév létrehozásakor" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Probléma az alkönyvtár és a fájlnév létrehozásakor" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Probléma a %s létrehozásakor" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Probléma a %s létrehozásakor" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s már létezik, de biztonsági mentés létrehozva" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Hiba történt a %(filetype)s másolásakor, de a biztonsági mentés létrehozva." #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Több probléma lépett fel." #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" "A program egyező nevű, de különböző időpontban készített képeket talált." #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "hibák voltak a biztonsági mentés közben" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Hibák voltak a biztonsági mentés közben" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "hiba volt a biztonsági mentés közben" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Hiba volt a biztonsági mentés közben" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s, és %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "keresés (found %(photos)s photos and %(videos)s videos)..." #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "alkönyvtár és file neve" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "A kép már korábban le lett töltve." #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Forrás: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Nem sikerült az alkönyvtár létrehozás" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Path: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Névjegy…" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "Összes _kijelölése" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Kijelöl minden fényképet" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Kijelöl minden videót" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Küldjön adományt..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Online help" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Súgó" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Beállítások" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Kilépés" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Újratöltés" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Hibajelentés küldése..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Ezen alkalmazás fordítása…" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Kijelölések törlése" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Fájl" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Letöltés / Megszakítás" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Kijelölés" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Összes kijelölése_Munka-kód nélkül" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Összes kijelölése_Munka-kód szerint" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Nézet" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Hibanapló" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Kész letöltések kiürítése" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Előző fájl" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Következő fájl" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Súgó" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Fordítás" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "Letöltésben szerepel" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Letöltés" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Beállítások: Gyors Fénykép Letöltő" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" "A Fényképek Letöltési Könyvtára" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Például: /home/jozsef/Képek" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Letöltési alkönyvtár" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Letöltési könyvtár:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Válaszd ki a letöltési könyvtárat. Az alkönyvtárak automatikusan létre " "fognak jönni az általad megadott könyvtár alá." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Letöltési könyvtár" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Fénykép Könyvtár" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "Fénykép Átnevezés\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Fénykép Átnevezés" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Új:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Eredeti:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Példa:" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Fénykép Átnevezés" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" "Videók Letöltési Könyvtára" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Sajnálom, a videó letöltési lehetőség le van tiltva. A videó letöltéshez, " "kérlek telepítsd hachoir metadata és a kaa metadata csomagokat " "a python részére, vagy az exiftool csomagot." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Válaszd ki a letöltési könyvtárat. Az alkönyvtárak automatikusan létre " "fognak jönni az általad megadott könyvtár alá." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Videó Könyvtár" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "Videó Átnevezés\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Videó Átnevezés" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "Átnevezési lehetőségek" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Sorozat szám" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Határozza meg azt az időt 24 órás formában, ahol a Downloads today " "sorozatszámot vissza kell állítani." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Nap kezdete:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Mai letöltések:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Tárolt szám:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " óó:pp" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "RAW és JPEG fájlok számkiosztásának szinkronizálása" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilitás egyéb operációs rendszerekkel" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Adja meg, hogy a képek és videók nevéből el legyenek-e távolítva az egyéb " "operációs rendszerek által nem megengedett karakterek." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Az inkompatibilis karakterek kihagyása" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Átnevezési lehetőségek" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Munka-szám" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Munka-szám" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Hozzáadás…" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "Összes törlése" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Munka-szám" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Eszközök" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Eszközök" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Eszközök ahonnan a fotókat és a videókat letöltjük, mint például fényképező " "gépek, memória kártyák, pendirve-ok.\n" "\n" "Letölthetsz egyszerre több eszközről, vagy kijelölhetsz egy könyvtárat a " "merevlemezeden.\n" "\n" "A fényképezőgépről történő közvetlen letöltés még kísérleti lehetőség. Ha " "a fényképezőgépről a letöltés lassú, vagy nem működik akkor próbáld meg a " "fényképezőgépet PTP módba állítani. Ha ez nem lehetséges használj " "kártyaolvasót." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Hordozható eszközök automatikus érzékelése" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Az eszközök automatikus felismerése" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Ha engedélyezed az automatikus felderítést a hordozható eszközre, akkor az " "egész eszközön fogok keresni. Nagy méretű eszközön ez sokáig tarthat. \n" "\n" "Ha ez a lehetőség engedélyezve van, akkor a lehetséges eszköz érzékelésekor " "rá fogok kérdezni, hogy akarod-e az automatikus felderítést ezen az eszközön." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Hely:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Kérlek válassz könyvtárt a fotók és a videók számára, ha nem akarod hogy " "automatikusan kerüljenek meghatározásra (disable auto detection)." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Eszköz beállítások" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Megjegyzett elérési utak" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Megjegyzett útvonalak azok, amelyeket a különböző hordozható eszközökkel " "kapcsolatban kiválasztasz letöltésre vagy mellőzésre." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Mellőzött útvonal" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" "Add meg azt az útvonal végződést amit figyelmen kívül hagyjak amikor " "fotókat vagy videókat keresek a letöltéshez. Bármilyen útvonal ami a " "megadott értékre végződik nem lesz ellenőrizve." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Ö_sszes eltávolítása" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Használj python stílusú reguláris kifejezést" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Eszköz beállítások" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Backup\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Biztonsági mentés" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Kérlek válassz könyvtárt a biztonsági mentésnek, ha nem akarod hogy " "automatikusan kerüljön meghatározásra (disable auto detection)." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Biztonsági mentés eszközök automatikus érzékelése" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "A képekről és videókról letöltés közben több másolat készülhet, különböző " "helyekre, például külső merevlemezre." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "A fényképek és vidók biztonsági mentése letöltés közben" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "Adja meg a könyvtárat, ahová a biztonsági másolatok készülnek." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Fotók biztonsági mentésének helye:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "A biztonsági másolat mappa neve:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Példa:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/externaldrive/Photos" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "A videó biztonsági mentési könyvtára" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Videó biztonsági mentésének helye:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Egyebek" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatizálás" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "A készülék lecsatlakoztatása a letöltést követően." #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "A letöltés megkezdése a program indításakor" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Azonnali letöltés a készülék csatlakoztatását követően." #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Kilépés a programból a letöltés végeztével" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" "Kilépés a programból letöltési hibák és figyelmeztetések ellenére is." #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "A JPEG képek automatikus forgatása" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Teljesítmény" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Bélyegkép létrehozás (lassabb)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Egyebek" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Error Handling" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Fénykép és Videó név összeütközés" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Egyedi azonosító megadása" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "A letöltés kihagyása" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Ha egyező nevű kép vagy videó már le lett töltve, ajánlja fel a kihagyást, " "vagy a letöltés folytatását egyedi azonosító hozzáadásával" #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Adja meg, hogy a biztonsági másolatok készítésekor felül legyenek-e írva az " "azonos néven létező fájlok, vagy át legyenek ugorva." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Felülírás" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Kihagyás" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Hibakezelés" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Importáld a fényképeidet és videóidat hatékonyan és megbízhatóan" #~ msgid "Resetting value to zero.\n" #~ msgstr "Az érték visszaállítása nullára.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Visszaállítás éjfélre.\n" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Elnézést, de ezek a beállítások hibásak:\n" #~ msgid "Error in Image Rename preferences" #~ msgstr "Hiba a kép átnevezési beállításokban" #~ msgid "Error in Download Subfolder preferences" #~ msgstr "A megadott letöltési mappa beállítás hibás." #~ msgid "Resetting to default values." #~ msgstr "Visszaállítás az alapbeállításokra." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Figyelmeztetés: Nincs elegendő adat a név teljes kitöltéséhez. " #~ "Kérem, használjon más átnevezési lehetőséget." #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Az almappára vonatkozó beállításokból el lettek távolítva a felesleges " #~ "értékek." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Figyelmeztetés: Nincs elegendő adat az almappa teljes " #~ "kitöltéséhez. Kérem, használjon más almappa nevezési lehetőséget." #~ msgid "Select an image folder" #~ msgstr "Válasszon egy könyvtárat a képeknek" #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Kérem ellenőrizze a beállításokat, indítsa újra a programot, és próbálja meg " #~ "újra." #~ msgid "There is an error in the program preferences." #~ msgstr "A program beállítása hibás." #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "A kép elnevezését nem lehet meghatározni. Ellenőrizze, hogy elegendőek-e a " #~ "meta-adatok." #~ msgid "Image has no metadata" #~ msgstr "A kép nem rendelkezik meta-adatokkal." #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "Új nap kezdődött - a mai letöltések száma vissza lesz állítva." #~ msgid "The device can now be safely removed" #~ msgstr "Az eszköz biztonságosan eltávolítható." #~ msgid "Download copying error" #~ msgstr "Másolási hiba a letöltés során" #~ msgid "Backup image already exists" #~ msgstr "A biztonsági másolat már létezik." #~ msgid "The image was not copied." #~ msgstr "A kép nem lett másolva." #~ msgid "Image overwritten" #~ msgstr "Kép felülírva" #~ msgid "errors" #~ msgstr "hibák" #~ msgid "Backup device missing" #~ msgstr "A biztonsági másolat eszköze hiányzik" #~ msgid "No backup device was detected." #~ msgstr "A biztonsági másolat eszköze nem érzékelhető" #~ msgid "This device has no images to download from." #~ msgstr "Ezen az eszközön nincsenek letölthető képek" #~ msgid "Image has no thumbnail" #~ msgstr "A képhez nem tartozik előnézet" #~ msgid "Image skipped" #~ msgstr "Kép átugorva" #~ msgid "Image already exists" #~ msgstr "A kép már létezik" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Forrás: %(source)s\n" #~ "Hiba: %(problem)s" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "A keresés kész: nem található kép %s ." #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "A keresés kész: %(number)s számú képet található: %(device)s" #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 of %s kép átmásolva" #, python-format #~ msgid "Source: %s" #~ msgstr "Forrás: %s" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Forrás: %(source)s\n" #~ "Cél: %(destination)s\n" #~ "Hiba: %(problem)s" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Az alkönyvtár / kép nevének meghatározásához meta-adatra van szükség\n" #~ "Forrás: %s" #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Alkönyvtár: %(subfolder)s\n" #~ "Kép: %(image)s\n" #~ "Hiba: %(problem)s" #, python-format #~ msgid "%s images skipped" #~ msgstr "%s kép átugorva" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Forrás: %(source)s\n" #~ "Cél: %(destination)s\n" #~ "Hiba: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "A cél-könyvtár nem hozható létre\n" #~ "%(directory)s\n" #~ "Hiba: %(errno)s %(strerror)s" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s kép letöltve" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Forrás: %(source)s\n" #~ "Cél: %(destination)s\n" #~ "Hiba: %(errorno)s %(strerror)s" #, python-format #~ msgid "Download has started from %s" #~ msgstr "A letöltés megkezdődött %s helyről" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Az előnézet nem jeleníthető meg" #~ msgid "It may be corrupted" #~ msgstr "Hibás lehet" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s a %(total)s képből átmásolva" #, python-format #~ msgid "Download complete from %s" #~ msgstr "A letöltés befejeződött: %s" #~ msgid "Job Code entered" #~ msgstr "Munka-szám megadva" #~ msgid "Warning:" #~ msgstr "Figyelmeztetés:" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "Elnézést, de néhány beállítás helytelen, és vissza lesz állítva." #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "A beállítások érvényesek, de ellenőrizze azokat a helyes működés érdekében." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "A program frissebb változata volt futtatva ezen a számítógépen.\n" #~ "\n" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "A jelenlegi verzió frissebb a megelőzően futtatottnál. A beállítások " #~ "ellenőrzése." #~ msgid "Some preferences will be reset." #~ msgstr "Néhány beállítás vissza lesz állítva" #~ msgid "Starting downloads" #~ msgstr "A letöltések megkezdése" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "A munka-számra várakozó letöltések megkezdése" #~ msgid "Prompting for Job Code" #~ msgstr "Adjon meg munka-számot" #~ msgid "No preferences needed to be changed." #~ msgstr "A beállításokat nem kellett változtatni." #~ msgid "Preferences were modified." #~ msgstr "A beállítások módosultak." #~ msgid "Problem using pynotify." #~ msgstr "A pynotify használata során hiba jelentkezett." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "A jelenlegi verzió más beállításokat használ, mint a régi verzió. A korábbi " #~ "beállítások egy része érvénytelen volt, nem lehetett frissíteni. Ezek " #~ "visszaállításra kerültek." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "A pynotify kiszolgálót nem sikerült elérni." #~ msgid "Using manually specified path" #~ msgstr "Kézzel megadott útvonal használata" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Érzékelve %(device)s megadott útvonalon %(path)s" #~ msgid "Automatically start download is false" #~ msgstr "Az automatikus letöltés indítás nem lett beállítva" #~ msgid "Automatically start download is true" #~ msgstr "Az automatikus letöltés indítás be lett állítva" #~ msgid "images skipped" #~ msgstr "képek átugorva" #~ msgid "_Download " #~ msgstr "_Letöltés " #~ msgid "images downloaded" #~ msgstr "képek letöltve" #~ msgid "_Pause" #~ msgstr "_Megállítás" #~ msgid "Preferences were changed." #~ msgstr "A beállítások megváltoztak." #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "" #~ "a program által felismert fájl kiterjesztések listázása, majd kilépés" #~ msgid "Goodbye" #~ msgstr "Viszlát" #~ msgid "Using" #~ msgstr "Használatban" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Millimásodperc meta-adat nem található a képben" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s meta-adat nem található" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Hiba a dátum/idő összetevőben. %s érték érvénytelennek tűnik." #~ msgid "extension was specified but image name has no extension" #~ msgstr "kiterjesztés megadva, de a képnek nincs kiterjesztése" #~ msgid "These preferences are not well formed:" #~ msgstr "Ezek a beállítások nem megfelelőek:" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Beállított érték '%(value)s' érvénytelen." #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Beállítás '%(key)s' érvénytelen.\n" #~ "Válasszon a listából %(value)s" #~ msgid "image number was specified but image filename has no number" #~ msgstr "kép száma lett megadva, de a fájlnévben nem található szám" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "a %s összetevővel hiba a név létrehozásakor" #~ msgid " " #~ msgstr " " #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Egyedi azonosító hozzáaadva: '%s'" #~ msgid "Image Rename" #~ msgstr "Kép átnevezés" #~ msgid "Missing Backup Devices" #~ msgstr "Hiányzó biztonsági mentés eszköz" #~ msgid "Image Name Conflicts" #~ msgstr "Kép név ütközés" #~ msgid "Image Devices" #~ msgstr "Kép eszköz" #~ msgid "Automation" #~ msgstr "Automation" #~ msgid "Example: /home/user/photos" #~ msgstr "Példa: /home/user/photos" #~ msgid "Download Folder" #~ msgstr "Download Folder" #~ msgid "Automation" #~ msgstr "Automatizálás" #~ msgid "Image Devices" #~ msgstr "Image Devices" #~ msgid "Image Rename\t" #~ msgstr "Image Rename\t" #~ msgid "Automatically detect image devices" #~ msgstr "Kép eszközök automatikus érzékelése" #~ msgid "Backup photos when downloading" #~ msgstr "Letöltéskor biztonsági mentés készítése" #~ msgid "Backup" #~ msgstr "Biztonsági mentés" #~ msgid "Backup folder name:" #~ msgstr "Biztonsági mentés könyvtár:" #~ msgid "Backup location:" #~ msgstr "Biztonsági mentés helye:" #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "Download Folder" #~ msgstr "Letöltési könyvtár" #~ msgid "Error Log" #~ msgstr "Hibanapló" #~ msgid "Import your images efficiently and reliably" #~ msgstr "Hatékony és megbízható fénykép importálás" #~ msgid "Image location:" #~ msgstr "Képek helye:" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Ha engedélyezi a mobil adattárolók automatikus érzékelését, akkor az egész " #~ "eszközről össze lesznek gyűjtve a képek. Nagy tárhely esetén ez több időt " #~ "vesz igénybe." #~ msgid "Image Rename" #~ msgstr "Kép átnevezés" #~ msgid "Image Devices" #~ msgstr "Kép eszköz" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Ha kikapcsolja az automatikus érzékelést, válasszon pontos biztonsági mentés " #~ "helyet." #~ msgid "Exit program after completion of successful download" #~ msgstr "Kilépés a programból a letöltések sikeres befejezését követően." #~ msgid "Ignore" #~ msgstr "Figyelmen kívül hagyás" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Ha kikapcsolja az automatikus érzékelést, válasszon pontos mentési helyet." #~ msgid "Report an error" #~ msgstr "Hibabejelentés küldése" #~ msgid "Report a warning" #~ msgstr "Figyelmeztetés küldése" #~ msgid "Start downloading upon image device insertion" #~ msgstr "A letöltés megkezdése a kép eszköz érzékelésekor" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "Határozza meg, mi a teendő, ha nincsen biztonsági mentés eszköz." #~ msgid "_Photos" #~ msgstr "_Fényképek" #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "A képek letöltésekor lehetséges biztonsági másolat készítése, pl. külső " #~ "merevlemezre." #~ msgid "_Thumbnails" #~ msgstr "_Indexképek" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Válasszon, hogy a biztonsági mentés készítésekor felülírja az azonos nevű " #~ "képeket, vagy ugorja át azokat." #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "" #~ "A fénykép eszköz leválasztása (kiadása) a letöltések elvégzését követően" #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Döntse el, tartalmazhatnak-e a kép és mappa nevek olyan karaktereket, " #~ "melyeket a többi operációs rendszer nem fogad el." #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "" #~ "Határozza meg, mi a teendő, ha egy fényképnek azonos a neve egy korábban " #~ "letöltött képpel." #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "A Gyors Fénykép Letöltő szabad szoftver; szabadon terjeszthető és " #~ "módosítható a a Free Software Foundation által közzétett GNU General Public " #~ "License szerint; akár (választásod alapján) bármely későbbi verzió szerint.\n" #~ "\n" #~ "A Gyors Fénykép Letöltőt abban a reményben terjesztjük, hogy hasznos lesz, " #~ "de GARANCIA NÉLKÜL; anélkül, hogy akár hallgatólagos garancia lenne " #~ "ELADHATÓSÁGRA VAGY EGY ADOTT CÉLRA. Lásd további részletekért a GNU General " #~ "Public License-t.\n" #~ "\n" #~ "Kapnia kellett egy példányt a GNU General Public License-ből, ha nem, írjon " #~ "az alábbi címre: Free Software Foundation, Inc., 51 Franklin Street, Fifth " #~ "Floor, Boston, MA 02110-1301, USA." #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "A Mai letöltések értéke érvénytelen.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "A 'Nap kezdete' beállítás értéke hibás.\n" #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Az almappára vonatkozó beállítások érvénytelenek és nem használhatóak. " #~ "Vissza lesznek állítva az alapértékekre." #~ msgid "Select a folder in which to backup images" #~ msgstr "Válasszon egy könyvtárat a bizotnsági mentéseknek" #~ msgid "Image filename could not be generated" #~ msgstr "A kép elnevezését nem lehet létrehozni." #~ msgid "Could not open image" #~ msgstr "A kép megnyitása sikertelen." #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Az alkönyvtár neve nem volt meghatározható. Ellenőrizze, hogy van-e elegendő " #~ "meta-adat." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "A jelenlegi verzió más beállításokat használ, mint a régi verzió. A " #~ "beállítások frissültek.\n" #~ "Kérem ellenőrizze a helyes működéshez." #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Válasszon, hogy a átugorja a kép letöltését, vagy egyedi azonosítót tegyen " #~ "hozzá." #, python-format #~ msgid "%s is already running" #~ msgstr "A %s már fut." #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Adja meg a könyvtárat, ahol a biztonsági másolatokat tartja. \n" #~ "\n" #~ "Megjegyzés: ez alapján lesz meghatározva az is, hogy egy adott eszköz a " #~ "biztonsági mentések tárolására való-e. Minden eszközön, amelyet biztonsági " #~ "mentésként használ, hozza létre a megfelelő könyvtárat." #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "A kép eszközök letöltendő fényképeket tartalmazó készülékek, mint " #~ "fényképezőgépek, memória kártyák, mobil adattárolók.\n" #~ "\n" #~ "Egy időben több eszközről is lehetséges a képek lementése.\n" #~ "\n" #~ "Ha a fényképezőgépről való letöltés rosszul, vagy egyáltalán nem működik, " #~ "próbálja meg átállítani PTP módba. Ha ez nem lehetséges, egy kártyaolvasó " #~ "használata lehet a megoldás." #~ msgid "Job Code not entered" #~ msgstr "A munka-szám nincs megadva" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Ez az eszköz vagy partició még nem volt letöltési forrás." #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Adja meg az új munka-számot, vagy válasszon egy előzőt." #~ msgid "Enter a new job code." #~ msgstr "Adja meg az új munka-számot" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Eszköz %(device)s (%(path)s) mellőzve" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "A munka-szám már megadva, ne addja meg újra" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s kijelölve letöltésre innen" #~ msgid "This device or partition will always be used to download from" #~ msgstr "" #~ "Az eszköz vagy partíció adatai mindig letöltési forrásként szolgálnak." #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s nem használható letöltési eszközként." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Javaslat helyette: %s" #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Erről az eszközről vagy partícióról le legyenek töltve a képek?" rapid-photo-downloader-0.4.10/po/en_GB.po0000664000175000017500000011013112267511476020336 0ustar damondamon00000000000000# English (United Kingdom) translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-11-11 10:25-0600\n" "PO-Revision-Date: 2009-11-18 01:30+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2009-11-18 01:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:100 rapid/glade3/rapid.glade.h:68 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:374 msgid "New York" msgstr "New York" #: rapid/rapid.py:375 msgid "Manila" msgstr "Manila" #: rapid/rapid.py:375 msgid "Prague" msgstr "Prague" #: rapid/rapid.py:375 msgid "Helsinki" msgstr "Helsinki" #: rapid/rapid.py:375 msgid "Wellington" msgstr "Wellington" #: rapid/rapid.py:376 msgid "Tehran" msgstr "Tehran" #: rapid/rapid.py:376 msgid "Kampala" msgstr "Kampala" #: rapid/rapid.py:376 msgid "Paris" msgstr "Paris" #: rapid/rapid.py:376 msgid "Berlin" msgstr "Berlin" #: rapid/rapid.py:376 msgid "Sydney" msgstr "Sydney" #: rapid/rapid.py:377 msgid "Budapest" msgstr "Budapest" #: rapid/rapid.py:377 msgid "Rome" msgstr "Rome" #: rapid/rapid.py:377 msgid "Moscow" msgstr "Moscow" #: rapid/rapid.py:377 msgid "Delhi" msgstr "Delhi" #: rapid/rapid.py:377 msgid "Warsaw" msgstr "Warsaw" #: rapid/rapid.py:378 msgid "Jakarta" msgstr "Jakarta" #: rapid/rapid.py:378 msgid "Madrid" msgstr "Madrid" #: rapid/rapid.py:378 msgid "Stockholm" msgstr "Stockholm" #: rapid/rapid.py:404 msgid "Invalid Downloads Today value.\n" msgstr "Invalid Downloads Today value.\n" #: rapid/rapid.py:405 msgid "Resetting value to zero.\n" msgstr "" #: rapid/rapid.py:444 msgid "'Start of day' preference value is corrupted.\n" msgstr "" #: rapid/rapid.py:445 msgid "Resetting to midnight.\n" msgstr "" #: rapid/rapid.py:474 msgid "Error in Image Rename preferences" msgstr "" #: rapid/rapid.py:483 rapid/rapid.py:1304 msgid "Sorry,these preferences contain an error:\n" msgstr "" #: rapid/rapid.py:494 msgid "Resetting to default values." msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/rapid.py:565 rapid/renamesubfolderprefs.py:184 msgid "Job code" msgstr "" #: rapid/rapid.py:633 msgid "Error in Download Subfolder preferences" msgstr "" #: rapid/rapid.py:768 msgid "Select a folder to download photos to" msgstr "" #: rapid/rapid.py:839 msgid "Select an image folder" msgstr "Select an image folder" #: rapid/rapid.py:861 msgid "Select a folder in which to backup images" msgstr "Select a folder in which to backup images" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/rapid.py:951 msgid "" "Warning: There is insufficient image metadata to fully generate " "the name. Please use other renaming options." msgstr "" #: rapid/rapid.py:972 msgid "" "Warning: There is insufficient image metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/rapid.py:976 #, python-format msgid "Example: %s" msgstr "" #: rapid/rapid.py:1031 msgid "The subfolder preferences had some unnecessary values removed." msgstr "" #. Preferences list is now empty #: rapid/rapid.py:1036 msgid "" "The subfolder preferences entered are invalid and cannot be used.\n" "They will be reset to their default values." msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/rapid.py:1233 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/rapid.py:1235 msgid "externaldrive2" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for images. It is visible initially in the progress bar for each device #. (which normally holds "x of y images copied"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1293 msgid "scanning..." msgstr "" #: rapid/rapid.py:1382 rapid/rapid.py:2453 msgid "There is an error in the program preferences." msgstr "" #: rapid/rapid.py:1383 msgid "" "\n" "Please check preferences, restart the program, and try again." msgstr "" "\n" "Please check preferences, restart the program, and try again." #: rapid/rapid.py:1384 rapid/rapid.py:1385 msgid "Download cannot proceed" msgstr "" #. Translators: as already, mentioned the %s value should not be modified or left out. It may be moved if necessary. #. It refers to the actual number of images that can be copied. For example, the user might see the following: #. '0 of 512 images copied'. #. This particular text is displayed to the user before the download has started. #: rapid/rapid.py:1421 rapid/rapid.py:2018 #, python-format msgid "0 of %s images copied" msgstr "" #. Translators: as you have already seen, the text can contain values that should not be modified or left out by you, for example %s. #. This text is another example of that, but it is is a little more complex. Here there are two values which will be displayed #. to the user when they run the program, signifying the number of images found, and the device they were found on. #. %(number)s should be left exactly as is: 'number' should not be translated. The same applies to %(device)s: 'device' should #. not be translated. Generally speaking, if translating the sentence requires it, you can move items like '%(xyz)s' around #. in a sentence, but you should never modify them or leave them out. #: rapid/rapid.py:1433 #, python-format msgid "Device scan complete: found %(number)s images on %(device)s" msgstr "" #: rapid/rapid.py:1439 #, python-format msgid "Device scan complete: no images found on %s" msgstr "" #: rapid/rapid.py:1470 msgid "Image filename could not be generated" msgstr "Image filename could not be generated" #. '%(source)s' and '%(problem)s' are two more examples of text that should not be modified or left out #: rapid/rapid.py:1472 #, python-format msgid "" "Source: %(source)s\n" "Problem: %(problem)s" msgstr "" #: rapid/rapid.py:1476 msgid "" "Image filename could not be properly generated. Check to ensure there is " "sufficient image metadata." msgstr "" "Image filename could not be properly generated. Check to ensure there is " "sufficient image metadata." #: rapid/rapid.py:1477 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s\n" "Problem: %(problem)s" msgstr "" #: rapid/rapid.py:1486 msgid "Could not open image" msgstr "" #: rapid/rapid.py:1487 #, python-format msgid "Source: %s" msgstr "" #: rapid/rapid.py:1505 msgid "Image has no metadata" msgstr "" #: rapid/rapid.py:1506 #, python-format msgid "" "Metadata is essential for generating subfolders / image names.\n" "Source: %s" msgstr "" #: rapid/rapid.py:1516 msgid "" "Subfolder name could not be properly generated. Check to ensure there is " "sufficient image metadata." msgstr "" #: rapid/rapid.py:1517 #, python-format msgid "" "Subfolder: %(subfolder)s\n" "Image: %(image)s\n" "Problem: %(problem)s" msgstr "" #: rapid/rapid.py:1569 rapid/rapid.py:1597 rapid/rapid.py:1616 #: rapid/rapid.py:1678 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/rapid.py:1618 #, python-format msgid "Unique identifier '%s' added" msgstr "" #. A new day, according the user's preferences of what time a day begins, has started #: rapid/rapid.py:1635 msgid "New day has started - resetting 'Downloads Today' sequence number" msgstr "" #: rapid/rapid.py:1640 rapid/rapid.py:1646 msgid "Download copying error" msgstr "" #: rapid/rapid.py:1641 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s\n" "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/rapid.py:1643 rapid/rapid.py:1716 msgid "The image was not copied." msgstr "" #: rapid/rapid.py:1677 msgid "Backup image already exists" msgstr "" #: rapid/rapid.py:1705 rapid/rapid.py:1713 rapid/rapid.py:1719 msgid "Backing up error" msgstr "" #: rapid/rapid.py:1706 #, python-format msgid "" "Destination directory could not be created\n" "%(directory)s\n" "Error: %(errno)s %(strerror)s" msgstr "" #: rapid/rapid.py:1714 rapid/rapid.py:1720 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s\n" "Error: %(errno)s %(strerror)s" msgstr "" #. This message informs the user that the device (e.g. camera, hard drive or memory card) was automatically unmounted and they can now remove it #: rapid/rapid.py:1733 msgid "The device can now be safely removed" msgstr "" #: rapid/rapid.py:1737 #, python-format msgid "%s images downloaded" msgstr "" #: rapid/rapid.py:1739 #, python-format msgid "%s images skipped" msgstr "" #: rapid/rapid.py:1745 rapid/rapid.py:2999 msgid "warnings" msgstr "" #: rapid/rapid.py:1747 rapid/rapid.py:3001 msgid "errors" msgstr "" #: rapid/rapid.py:1769 msgid "Backup device missing" msgstr "" #: rapid/rapid.py:1769 msgid "No backup device was detected." msgstr "" #: rapid/rapid.py:1773 msgid "This device has no images to download from." msgstr "" #: rapid/rapid.py:1808 #, python-format msgid "Download has started from %s" msgstr "" #: rapid/rapid.py:1853 msgid "Image skipped" msgstr "" #: rapid/rapid.py:1854 msgid "Image overwritten" msgstr "" #: rapid/rapid.py:1855 msgid "Image already exists" msgstr "" #: rapid/rapid.py:1900 msgid "Image has no thumbnail" msgstr "" #: rapid/rapid.py:1910 #, python-format msgid "%(number)s of %(total)s images copied" msgstr "" #: rapid/rapid.py:1926 #, python-format msgid "Download complete from %s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:2002 msgid "Device" msgstr "" #. Size refers to the total size of images on the device, typically in MB or GB #: rapid/rapid.py:2007 msgid "Size" msgstr "" #: rapid/rapid.py:2010 msgid "Download Progress" msgstr "" #: rapid/rapid.py:2126 rapid/rapid.py:2132 msgid "Thumbnail cannot be displayed" msgstr "" #: rapid/rapid.py:2127 rapid/rapid.py:2133 msgid "It may be corrupted" msgstr "" #: rapid/rapid.py:2163 msgid "Enter a Job Code" msgstr "" #: rapid/rapid.py:2179 msgid "Job Code:" msgstr "" #: rapid/rapid.py:2225 msgid "Job Code entered" msgstr "" #: rapid/rapid.py:2227 msgid "Job Code not entered - download to be cancelled" msgstr "" #: rapid/rapid.py:2454 msgid "Some preferences will be reset." msgstr "" #: rapid/rapid.py:2488 msgid "Prompting for Job Code" msgstr "" #: rapid/rapid.py:2505 msgid "Starting downloads that have been waiting for a Job Code" msgstr "" #: rapid/rapid.py:2509 msgid "Starting downloads" msgstr "" #: rapid/rapid.py:2539 msgid "" "A newer version of this program was previously run on this computer.\n" "\n" msgstr "" #: rapid/rapid.py:2541 msgid "" "Program preferences appear to be valid, but please check them to ensure " "correct operation." msgstr "" #: rapid/rapid.py:2543 msgid "Sorry, some preferences are invalid and will be reset." msgstr "" #: rapid/rapid.py:2544 msgid "Warning:" msgstr "" #: rapid/rapid.py:2549 msgid "" "This version of the program is newer than the previously run version. " "Checking preferences." msgstr "" #: rapid/rapid.py:2556 msgid "Preferences were modified." msgstr "" #: rapid/rapid.py:2557 msgid "" "This version of the program uses different preferences than the old version. " "Your preferences have been updated.\n" "\n" "Please check them to ensure correct operation." msgstr "" #: rapid/rapid.py:2561 msgid "No preferences needed to be changed." msgstr "" #: rapid/rapid.py:2563 msgid "" "This version of the program uses different preferences than the old version. " "Some of your previous preferences were invalid, and could not be updated. " "They will be reset." msgstr "" #: rapid/rapid.py:2572 msgid "Problem using pynotify." msgstr "" #: rapid/rapid.py:2588 msgid "Failed to receive pynotify server capabilities." msgstr "" #: rapid/rapid.py:2626 msgid "and" msgstr "" #: rapid/rapid.py:2631 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:2633 msgid "Using backup device" msgstr "" #: rapid/rapid.py:2635 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:2770 #, python-format msgid "Detected %(device)s with path %(path)s" msgstr "" #: rapid/rapid.py:2774 msgid "Automatically start download is true" msgstr "" #: rapid/rapid.py:2776 msgid "Automatically start download is false" msgstr "" #: rapid/rapid.py:2824 msgid "Using manually specified path" msgstr "" #: rapid/rapid.py:2945 rapid/rapid.py:2994 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2959 msgid "MB/s" msgstr "" #: rapid/rapid.py:2969 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2971 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2973 msgid "About 1 minute remaining" msgstr "" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2978 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2995 msgid "images downloaded" msgstr "" #: rapid/rapid.py:2997 msgid "images skipped" msgstr "" #. This text will be displayed to the user on the Download / Pause button. #. Please note the space at the end of the label - it is needed to meet the Gnome Human Interface Guidelines #: rapid/rapid.py:3089 msgid "_Download " msgstr "" #. This text will be displayed to the user on the Download / Pause button. #: rapid/rapid.py:3099 msgid "_Pause" msgstr "" #: rapid/rapid.py:3161 msgid "Preferences were changed." msgstr "" #: rapid/rapid.py:3298 msgid "Goodbye" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3309 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:3310 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3312 msgid "list image file extensions the program recognizes and exit" msgstr "list image file extensions the program recognises and exit" #: rapid/rapid.py:3325 #, python-format msgid "and %s" msgstr "" #. Which volume management code is being used (GIO or GnomeVFS) #: rapid/rapid.py:3330 rapid/rapid.py:3333 msgid "Using" msgstr "" #. this application is already running #: rapid/rapid.py:3347 #, python-format msgid "%s is already running" msgstr "" #: rapid/renamesubfolderprefs.py:178 msgid "Date time" msgstr "" #: rapid/renamesubfolderprefs.py:179 msgid "Text" msgstr "" #: rapid/renamesubfolderprefs.py:180 msgid "Filename" msgstr "" #: rapid/renamesubfolderprefs.py:181 msgid "Metadata" msgstr "" #: rapid/renamesubfolderprefs.py:182 msgid "Sequences" msgstr "" #: rapid/renamesubfolderprefs.py:185 msgid "Image date" msgstr "" #: rapid/renamesubfolderprefs.py:186 msgid "Today" msgstr "" #: rapid/renamesubfolderprefs.py:187 msgid "Yesterday" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:189 msgid "Name + extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:191 msgid "Name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:193 msgid "Extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:195 msgid "Image number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:197 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:199 msgid "ISO" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:201 msgid "Exposure time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:203 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:205 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:207 msgid "Camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:209 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:211 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:213 msgid "Serial number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:215 msgid "Shutter count" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/renamesubfolderprefs.py:217 msgid "Owner name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/renamesubfolderprefs.py:219 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/renamesubfolderprefs.py:221 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/renamesubfolderprefs.py:223 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/renamesubfolderprefs.py:225 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/renamesubfolderprefs.py:227 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:229 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:231 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:233 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:235 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/renamesubfolderprefs.py:237 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/renamesubfolderprefs.py:239 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/renamesubfolderprefs.py:241 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/renamesubfolderprefs.py:243 msgid "lowercase" msgstr "" #: rapid/renamesubfolderprefs.py:244 msgid "One digit" msgstr "" #: rapid/renamesubfolderprefs.py:245 msgid "Two digits" msgstr "" #: rapid/renamesubfolderprefs.py:246 msgid "Three digits" msgstr "" #: rapid/renamesubfolderprefs.py:247 msgid "Four digits" msgstr "" #: rapid/renamesubfolderprefs.py:248 msgid "Five digits" msgstr "" #: rapid/renamesubfolderprefs.py:249 msgid "Six digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:251 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:253 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:255 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:257 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:259 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:261 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:263 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:265 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:267 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:269 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:271 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:273 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:275 rapid/renamesubfolderprefs.py:289 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:277 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:279 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:281 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:283 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:285 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:287 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/renamesubfolderprefs.py:291 msgid "SS" msgstr "" #: rapid/renamesubfolderprefs.py:707 #, python-format msgid "" "Preference key '%(key)s' is invalid.\n" "Expected one of %(value)s" msgstr "" #: rapid/renamesubfolderprefs.py:714 #, python-format msgid "Preference value '%(value)s' is invalid" msgstr "" #: rapid/renamesubfolderprefs.py:718 msgid "These preferences are not well formed:" msgstr "" #: rapid/renamesubfolderprefs.py:828 msgid "Subsecond metadata not present in image" msgstr "" #: rapid/renamesubfolderprefs.py:831 rapid/renamesubfolderprefs.py:971 #, python-format msgid "%s metadata is not present in image" msgstr "" #: rapid/renamesubfolderprefs.py:856 rapid/renamesubfolderprefs.py:863 #, python-format msgid "Error in date time component. Value %s appears invalid" msgstr "" #: rapid/renamesubfolderprefs.py:894 msgid "extension was specified but image name has no extension" msgstr "" #: rapid/renamesubfolderprefs.py:898 msgid "image number was specified but image filename has no number" msgstr "" #: rapid/renamesubfolderprefs.py:1085 #, python-format msgid "error generating name with component %s" msgstr "" #: rapid/renamesubfolderprefs.py:1381 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/renamesubfolderprefs.py:1383 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/renamesubfolderprefs.py:1387 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/glade3/rapid.glade.h:1 msgid " " msgstr " " #: rapid/glade3/rapid.glade.h:2 msgid " " msgstr " " #: rapid/glade3/rapid.glade.h:3 msgid " hh:mm" msgstr "" #: rapid/glade3/rapid.glade.h:4 msgid ":" msgstr "" #: rapid/glade3/rapid.glade.h:5 msgid "Backup" msgstr "" #: rapid/glade3/rapid.glade.h:6 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/rapid.glade.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/rapid.glade.h:8 msgid "Download Subfolders" msgstr "" #: rapid/glade3/rapid.glade.h:9 msgid "Example" msgstr "" #: rapid/glade3/rapid.glade.h:10 msgid "Image Devices" msgstr "" #: rapid/glade3/rapid.glade.h:11 msgid "Image Name Conflicts" msgstr "" #: rapid/glade3/rapid.glade.h:12 msgid "Image Rename" msgstr "" #: rapid/glade3/rapid.glade.h:13 msgid "Job Codes" msgstr "" #: rapid/glade3/rapid.glade.h:14 msgid "Missing Backup Devices" msgstr "" #: rapid/glade3/rapid.glade.h:15 msgid "Program Automation" msgstr "" #: rapid/glade3/rapid.glade.h:16 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/rapid.glade.h:17 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/rapid.glade.h:18 msgid "Example: /home/user/photos" msgstr "" #: rapid/glade3/rapid.glade.h:19 msgid "Example:" msgstr "" #: rapid/glade3/rapid.glade.h:20 msgid "New:" msgstr "" #: rapid/glade3/rapid.glade.h:21 msgid "Original:" msgstr "" #: rapid/glade3/rapid.glade.h:22 msgid "Automation" msgstr "" #: rapid/glade3/rapid.glade.h:23 msgid "Backup\t" msgstr "" #: rapid/glade3/rapid.glade.h:24 msgid "Download Folder" msgstr "" #: rapid/glade3/rapid.glade.h:25 msgid "Error Handling" msgstr "" #: rapid/glade3/rapid.glade.h:26 msgid "Image Devices" msgstr "" #: rapid/glade3/rapid.glade.h:27 msgid "Image Rename\t" msgstr "" #: rapid/glade3/rapid.glade.h:28 msgid "Job Codes" msgstr "" #: rapid/glade3/rapid.glade.h:29 msgid "Rename Options" msgstr "" #: rapid/glade3/rapid.glade.h:30 msgid "Add unique identifier" msgstr "" #: rapid/glade3/rapid.glade.h:31 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/rapid.glade.h:32 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/rapid.glade.h:33 msgid "Automatically detect image devices" msgstr "" #: rapid/glade3/rapid.glade.h:34 msgid "Automation" msgstr "" #: rapid/glade3/rapid.glade.h:35 msgid "Backup" msgstr "" #: rapid/glade3/rapid.glade.h:36 msgid "Backup folder name:" msgstr "" #: rapid/glade3/rapid.glade.h:37 msgid "Backup location:" msgstr "" #: rapid/glade3/rapid.glade.h:38 msgid "Backup photos when downloading" msgstr "" #: rapid/glade3/rapid.glade.h:40 msgid "C_lear" msgstr "" #: rapid/glade3/rapid.glade.h:41 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/rapid.glade.h:42 msgid "" "Choose whether to skip downloading the image, or to add a unique indentifier." msgstr "" #: rapid/glade3/rapid.glade.h:43 msgid "Copyright Damon Lynch 2007-09" msgstr "" #: rapid/glade3/rapid.glade.h:44 msgid "Day start:" msgstr "" #: rapid/glade3/rapid.glade.h:45 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.glade.h:46 msgid "Download Folder" msgstr "" #: rapid/glade3/rapid.glade.h:47 msgid "Download folder:" msgstr "" #: rapid/glade3/rapid.glade.h:48 msgid "Downloads today:" msgstr "" #: rapid/glade3/rapid.glade.h:49 msgid "Error Handling" msgstr "" #: rapid/glade3/rapid.glade.h:50 msgid "Error Log" msgstr "" #: rapid/glade3/rapid.glade.h:51 msgid "Exit program after completion of successful download" msgstr "" #: rapid/glade3/rapid.glade.h:52 msgid "If you disable automatic detection, choose the exact backup location." msgstr "" #: rapid/glade3/rapid.glade.h:53 msgid "" "If you disable automatic detection, choose the exact location of the images." msgstr "" #: rapid/glade3/rapid.glade.h:54 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned for images. On large devices, this could take some " "time." msgstr "" #: rapid/glade3/rapid.glade.h:55 msgid "Ignore" msgstr "" #: rapid/glade3/rapid.glade.h:56 msgid "Image Devices" msgstr "" #: rapid/glade3/rapid.glade.h:57 msgid "Image Rename" msgstr "" #: rapid/glade3/rapid.glade.h:58 msgid "" "Image devices are devices from which to download photos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download photos from multiple image devices simultaneously.\n" "\n" "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, consider using a card " "reader." msgstr "" #: rapid/glade3/rapid.glade.h:63 msgid "Image location:" msgstr "" #: rapid/glade3/rapid.glade.h:64 msgid "Import your images efficiently and reliably" msgstr "" #: rapid/glade3/rapid.glade.h:65 msgid "Job Codes" msgstr "" #: rapid/glade3/rapid.glade.h:66 msgid "Overwrite" msgstr "" #: rapid/glade3/rapid.glade.h:67 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/rapid.glade.h:69 msgid "" "Rapid Photo Downloader 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.\n" "\n" "Rapid Photo Downloader 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.\n" "\n" "You should have received a copy of the GNU General Public License along with " "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." msgstr "" #: rapid/glade3/rapid.glade.h:74 msgid "Rename Options" msgstr "" #: rapid/glade3/rapid.glade.h:75 msgid "Report a warning" msgstr "" #: rapid/glade3/rapid.glade.h:76 msgid "Report an error" msgstr "" #: rapid/glade3/rapid.glade.h:77 msgid "Skip" msgstr "" #: rapid/glade3/rapid.glade.h:78 msgid "Skip download" msgstr "" #: rapid/glade3/rapid.glade.h:79 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with this name." msgstr "" #: rapid/glade3/rapid.glade.h:82 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/rapid.glade.h:83 msgid "" "Specify what to do when an image of the same name has already been " "downloaded or backed up." msgstr "" #: rapid/glade3/rapid.glade.h:84 msgid "Specify what to do when there are no backup devices." msgstr "" #: rapid/glade3/rapid.glade.h:85 msgid "" "Specify whether image and folder names should have any characters removed " "that are not allowed by other operating systems." msgstr "" #: rapid/glade3/rapid.glade.h:86 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/rapid.glade.h:87 msgid "Start downloading upon image device insertion" msgstr "" #: rapid/glade3/rapid.glade.h:88 msgid "Stored number:" msgstr "" #: rapid/glade3/rapid.glade.h:89 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/rapid.glade.h:90 msgid "Unmount (\"eject\") image device upon download completion" msgstr "" #: rapid/glade3/rapid.glade.h:91 msgid "" "When backing up, choose whether to overwrite an image on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/rapid.glade.h:92 msgid "" "You can have your photos backed up to multiple locations as they are " "downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/rapid.glade.h:93 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.glade.h:94 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.glade.h:95 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.glade.h:96 msgid "_Help" msgstr "" #: rapid/glade3/rapid.glade.h:97 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.glade.h:98 msgid "_Photos" msgstr "" #: rapid/glade3/rapid.glade.h:99 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.glade.h:100 msgid "_Thumbnails" msgstr "" #: rapid/glade3/rapid.glade.h:101 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.glade.h:102 msgid "_View" msgstr "" #: rapid/glade3/rapid.glade.h:103 msgid "translators please ignore this" msgstr "" #~ msgid "translator-credits" #~ msgstr "" #~ "Launchpad Contributions:\n" #~ " Damon Lynch https://launchpad.net/~dlynch3\n" #~ " Kuvaly https://launchpad.net/~kuvaly\n" #~ " Luis Landero https://launchpad.net/~landero" rapid-photo-downloader-0.4.10/po/sv.po0000644000175000017500000024057412270217615020021 0ustar damondamon00000000000000# Swedish translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:16+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "Rapid Photo Downloader" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" "%(date)s\n" "%(time)s" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "%(date)s %(time)s" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Enhet" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Storlek" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "Överföringsförlopp" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "%(device)s enheter avmonterades inte" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "söker av..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "filsystemets rotmapp" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "För över från %(location)s." #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "Vill du verkligen föra över härifrån? På vissa filsystem kan det ta väldigt " "lång tid att söka av den här platsen." #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Starta överföringen" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Pausa" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Följande nedladdningsmappar är ogiltiga:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Denna nedladdningsmapp är ogiltig:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Kan inte fortsätta överföringen" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "bilder" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "filmer" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Ungefär en sekund återstår" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Ungefär %i sekunder återstår" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Ungefär en minut återstår" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Ungefär %(minutes)i:%(seconds)02i minuter återstår" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "bilder och filmer" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "bilder eller filmer" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "film" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "bild" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s överfördes" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s gick inte att hämta" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "varningar" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "Alla överföringar är färdiga" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s överfördes" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s gick inte att föra över" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "%(number)s av %(total)s %(filetypes)s (%(remaining)s återstår)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s av %(total)s %(filetypes)s" #: rapid/rapid.py:3331 msgid "From" msgstr "Från" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "Upptäck automatiskt" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "Välj en mapp innehållande %(file_types)s" #: rapid/rapid.py:3384 msgid "Copy" msgstr "Kopiera" #: rapid/rapid.py:3397 msgid "Move" msgstr "Flytta" #: rapid/rapid.py:3419 msgid "To" msgstr "Till" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Bilder:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "Välj en mapp att överföra bilder till" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Filmer:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "Välj en katalog att överföra filmer till" #: rapid/rapid.py:3650 msgid "and" msgstr "och" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "Använder enheter för säkerhetskopiering" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "Använder enhet för säkerhetskopiering" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "Hittade inga enheter för säkerhetskopiering" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Ledigt utrymme:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "%(free)s tillgängligt" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "Säkerhetskopierar bilder och filmer till %(path)s" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "Säkerhetskopierar till %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "Säkerhetskopierar bilder till %(path)s och filmer till %(path2)s" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "Programinställningarna är ogiltiga" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Bild" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Film" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "%(file_type)s nedladdningsmapp saknas" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "Mapp: %s" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "%(file_type)s nedladdningsmapp är ogiltig" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "%(file_type)s nedladdningsmapp är inte skrivbar" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniatyrbilder" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "visa programinformation i kommandoraden när programmet körs (default: " "%default)" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "visa debug-information när programmet körs från kommandoraden" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "visa fel endast på kommandoraden" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "visa de filändelser som programmet stödjer och avsluta" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "upptäck automatiskt enheter att hämta objekt från och ersätt de nuvarande " "programinställningarna" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" "ange SÖKVÄGEN manuellt till den enhet från vilken du önskar hämta objekt och " "ersätt de nuvarande programinställningarna" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "nollställ alla inställningar och avsluta" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "Fel: Aktivera antingen automatisk upptäckt av enheter eller ange en sökvägen " "manuellt. Du kan inte välja båda." #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "och %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "Alla inställningar har nollställts" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "Fel vid säkerhetskopiering" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "Målmappen kunde inte skapas: %(directory)s\n" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "Källa: %(source)s\n" "Destination: %(destination)s" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "Fel: %(inst)s" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "Fil: %(file)s" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "Enhet hittad" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "Skall denna enhet användas för bild- och filmöverföring?" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "_Kom ihåg mitt val" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "MB/s" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "Datumtid" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Text" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Filnamn" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Sekvenser" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "Fototillfälle" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Bilddatum" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Filmdatum" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Idag" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Igår" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "Nedladdningsögonblick" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "Namn + filändelse" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Namn" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Filändelse" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Bildnummer" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Filmnummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "Bländare" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Exponeringstid" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "Brännvidd" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "Kameratillverkare" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "Kameramodell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "Förkortning på kameramodell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "Utökad förkortning på kameramodell" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "Serienummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "Antal exponeringar" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "Filnummer" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "Endast mappen" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "Mapp och fil" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "Ägarens namn" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "Avkodare" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "Bredd" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "Höjd" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "Längd" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "Bildrutor per sekund" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "Artist" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "Upphovsrätt" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "Överföringar idag" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "Sessionsnummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "Nummer på underkatalog" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "Tidigare sekvensnummer" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "Sekvensbokstav" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "Alla siffror" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "Senaste siffra" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "Senaste två siffrorna" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "Senaste tre siffrorna" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "Senaste fyra siffrorna" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "Använd ursprungligt skiftläge" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "VERSALER" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "gemener" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "En siffra" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "Två siffror" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "Tre siffror" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "Fyra siffror" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "Fem siffror" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "Sex siffror" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "Sju siffror" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "Sekunddelar" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "ÅÅÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "ÅÅÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "ÅÅMMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "ÅÅ-MM-DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "MMDDÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "MMDDÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "MMDD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "DDMMÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "DDMMÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "ÅÅÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "ÅÅ" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "DD" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "Månad (fullständigt namn)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "Månad (förkortad)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "HHMMSS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "HHMM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "HH-MM-SS" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "HH-MM" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "HH" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "MM (minuter)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "SS" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "Inställningen för undermappar ska inte börja med %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "Inställningen för undermappen ska inte börja med %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "Inställningen för undermappen ska inte innehålla två %s i rad" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "Ta bort alla fototillfällen?" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "Vill du ta bort alla fototillfällen?" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "Ta bort alla sparade sökvägar?" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "Ska alla sparade sökvägar tas bort?" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "Ta bort alla ignorerade sökvägar?" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "Ska alla ignorerade sökvägar tas bort?" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "Fel i inställningarna för bildnamnbyte" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "Fel i inställningarna för filmnamnbyte" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "Fel i inställningarna för bildöverföring" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "Fel i inställningarna för filmöverföring" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "Ange fototillfälle" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "Ange ett nytt fototillfälle, eller välj något av de tidigare" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "Ange ett nytt fototillfälle" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "Fototillfälle:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "Ange sökväg att ignorera" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" "Ange en sökväg som aldrig kommer att avsökas efter bilder eller videor" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "Sökväg:" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "Fototillfälle" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "Välj den mapp där du vill säkerhetskopiera bilderna" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "Välj den mapp där du vill säkerhetskopiera filmerna" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" "Varning: Metadata saknas för att namnge filerna. Ändra " "namngivningsinställningarna." #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" "Varning:Metadata saknas för att namnge undermappar. Ändra " "namngivningsinställningarna." #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "Exempel: %s" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" "Undermappen för %(filetype)s har felaktiga inställningar som inte kan " "användas.\n" "Återställer till standardvärden." #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" "Följande reguljära uttryck är ogiltiga och kommer att tas bort om du inte " "ändrar dem:\n" " %s" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" "Detta reguljära uttryck är ogiltigt och kommer att tas bort om du inte " "ändrar det:\n" " %s" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "Ogiltigt reguljärt uttryck" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "extern_enhet_1" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "extern_enhet_2" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "New York" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "Manilla" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "Prag" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "Helsingfors" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "Wellington" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "Teheran" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "Kampala" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "Paris" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "Berlin" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "Sydney" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "Budapest" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "Rom" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "Moskva" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "Delhi" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "Warszawa" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "Jakarta" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "Madrid" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "Stockholm" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "Undermapp" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "filnamn" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "Datum/tid-värdet %s verkar vara ogiltigt." #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "Filnamnet saknar filändelse." #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "Filnamnet saknar sekvensnummer." #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "Ett fel uppstod när nummer %s skulle skapas." #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "Metadata i %(filetype)s kan inte avläsas." #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "%(filetype)s %(area)s kunde inte skapas." #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "Ett fel uppstod när %(filetype)s skulle kopieras" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "%(filetype)s finns redan" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" "%(filetype)s kunde inte säkerhetskopieras, eftersom ingen plats för " "säkerhetskopior hittades." #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" "%(image1)s togs den %(image1_date)s kl %(image1_time)s och %(image2)s den " "%(image2_date)s kl %(image2_time)s." #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "%(filetype)s är redan nedladdad" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" "Den existerande %(filetype)s ändrades senast den %(date)s kl %(time)s. Den " "har fått '%(identifier)s' som unik identifierare." #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" "Den existerande %(filetype)s ändrades senast den %(date)s kl %(time)s." #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "Det saknas data för att namnge %(filetype)s." #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "Fel: %(errorno)s %(strerror)s" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "Metadatan kan vara skadad." #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "Filnamnet, filändelsen och exif-informationen har redan överförts." #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr " Den har säkerhetskopierats till %(volume)s" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr " Den har säkerhetskopierats till följande enheter: " #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "%s, " #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "%(volumes)s och %(final_volume)s." #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" "Hittade bilder med samma filnamn tagna vid olika tillfällen: %(details)s" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "Ett fel uppstod vid säkerhetskopiering till %(volume)s: %(inst)s." #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "Ett fel uppstod vid säkerhetskopiering till %(volume)s." #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "Ett fel uppstod vid säkerhetskopiering till följande enheter: " #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "%(volume)s (%(inst)s), " #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "%(volume)s, " #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "%(volumes)s och %(volume)s (%(inst)s)." #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "%(volumes)s och %(volume)s." #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "En säkerhetskopia finns redan på %(volume)s." #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "En säkerhetskopia finns redan i: " #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "Den befintliga säkerhetskopian skrevs över på %(volume)s." #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "Den befintliga säkerhetskopian skrevs över på: " #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "Ett fel uppstod när mappar skulle skapas på %(volume)s: %(inst)s." #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "Ett fel uppstod när mappar skulle skapas på följande enheter: " #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "%(previousproblem)s Dessutom, %(newproblem)s" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr " Dessutom uppstod %(problems)s." #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr " Dessutom uppstod %(problem)s." #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "%(type)s metadata saknas." #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "Följande metadata saknas: " #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" "%(missing_metadata_elements)s och %(final_missing_metadata_element)s." #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "Problem vid namngivning av undermappar och filnamn" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "Problem vid namngivning av undermappar och filnamn" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "Problem vid namngivning av %s" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "Problem vid namngivning av %s" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "%(filetype)s finns redan, men säkerhetskopierades" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" "Ett fel uppstod vid kopiering av %(filetype)s, men säkerhetskopierades" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "Flera fel uppstod" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "Bilder med samma filnamn, tagna vid olika tillfällen, hittades" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "det uppstod fel vid säkerhetskopieringen" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "Det uppstod fel vid säkerhetskopieringen" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "det uppstod ett fel vid säkerhetskopieringen" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "Det uppstod ett fel vid säkerhetskopieringen" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "%(previousproblem)s och %(backinguperror)s" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "%(number)s %(filetypes)s" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "söker igenom (har hittat %(photos)s bilder och %(videos)s filmer)…" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "undermapp och filnamn" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "Bilden har redan överförts" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "Källa: %(source)s" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "Misslyckades med att skapa nedladdningmappen" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "Sökväg: %s" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "Om..." #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "_Markera allt" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "Markera alla bilder" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "Markera alla filmer" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "_Donera..." #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "_Få hjälp online" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "Hjälp" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "Inställningar" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "Avsluta" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "Läs om" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "_Rapportera ett fel..." #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "Översätt detta program..." #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "_Avmarkera allt" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "_Arkiv" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "Överför / Pausa" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "_Markera" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "Markera alla som sakna_r fototillfälle" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "Markera alla med ett fototillf_älle" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "_Visa" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "_Fellogg" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "_Töm slutförda överföringar" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "Föregående fil" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "Nästa fil" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "_Hjälp" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "_Översätt programmet..." #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "_Ta med i överföring" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "_Överför" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "Inställningar: Rapid Photo Downloader" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "Bildöverföringsmapp" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "Exempel: /home/user/Bilder" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "Inkludera undermappar i överföringen" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "Överföringsmapp:" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" "Ange en överföringsmapp. Undermappar kommer att skapas automatiskt enligt " "strukturen nedan." #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "Överföringsmapp" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "Bildmapp" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" "Namngivning av bilder\t" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "Namngivning av bilder" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr " " #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "Ny:" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "Original:" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "Exempel" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "Namngivning av bilder" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "Filmöverföringsmappar" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" "Ledsen, men filmhämtningsfunktionen har inaktiverats. För att föra över " "filmer, installera antingen paketen hachoir metadata och kaa " "metadata för python, eller exiftool." #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" "Välj överföringsmapp. Undermappar kommer att skapas automatiskt enligt " "strukturen nedan." #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "Filmmapp" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" "Namngivning av filmer\t" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "Namngivning av filmer" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" "Alternativ för namngivning" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "Sekvensnummer" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" "Ange tiden i 24-timmarsformat då Antalet överföringar idag ska " "nollställas." #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "Dagen börjar:" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "Antalet överföringar idag:" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "Lagrat nummer:" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr ":" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr " hh:mm" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "Använd samma sekvensnummer för både RAW- och JPEG-filer" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "Kompatibilitet med andra operativsystem" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" "Ange om specialtecken som inte tillåts i andra operativsystem ska tas bort " "från fil- och mappnamn." #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "Avlägsna inkompatibla tecken" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "Inställningar för namngivning" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "Fototillfällen" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "Fototillfällen" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "_Lägg till..." #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "_Ta bort alla" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "Fototillfällen" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "Enheter" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "Enheter" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" "Du kan överföra bilder och filmer från kameror, minneskort eller externa " "enheter som t.ex hårddiskar.\n" "\n" "Du kan överföra från flera enheter samtidigt, eller ange en plats på din " "hårddisk.\n" "\n" "Överföring direkt från kameran är en experimentell funktion. Om det " "fungerar dåligt eller inte alls, prova att aktivera PTP läge på din kamera. " "Om det ändå inte fungerar måste du använda en kortläsare." #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "Hitta bärbara lagringsenheter automatiskt" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "Hitta enheter automatiskt" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" "Om du aktiverar sökning av externa enheter så kommer hela enheten att " "avsökas. På stora enheter kan det ta en stund.\n" "\n" "När denna inställning är påslagen och en möjlig enhet hittas, så kommer du " "att tillfrågas om den ska avsökas eller ej." #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "Plats:" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" "Om du inaktiverar automatisk sökning, måste du ange exakt plats för bilder " "och filmer." #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "Enhetsinställningar" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "Sparade sökvägar" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" "Sparade sökvägar är sådana som förknippas med enheter där du har valt att " "alltid avsöka eller ignorera, när automatisk avsökning är påslaget." #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "Ignorerade sökvägar" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "Ange namnändelse på sökvägar som du inte vill att de ska avsökas." #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "Ta bo_rt alla" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "Använd _Python-kompatibla reguljära uttryck" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "Enhetsinställningar" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "Säkerhetskopiering\t" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "Säkerhetskopia" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" "Om du inaktiverar automatisk sökning, måste du ange exakta platser för " "säkerhetskopiorna." #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "Hitta enheter för säkerhetskopiering automatiskt" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" "Du kan säkerhetskopiera dina bilder och filmer till flera mål när de " "överförs, till exempel externa hårddiskar." #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "Säkerhetskopiera bilder och filmer under överföringen" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" "Välj i vilken mapp på enheten som används till säkerhetskopior.\n" "\n" "Observera att mappen kommer användas för att avgöra om enheten används " "till säkerhetskopior. För varje enhet du vill använda till säkerhetskopior " "kan du skapa en mapp med ett av dessa namn." #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "Plats för säkerhetskopiering av bilder:" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "Säkerhetskopieringsmapp för bilder:" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "Exempel:" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "/media/extern_enhet/Bilder" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "Säkerhetskopieringsmapp för filmer:" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "Plats för säkerhetskopiering av videor:" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "Diverse" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "Automatisera programmet" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "Avmontera och mata ut enheter när överföringen är färdig" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "Påbörja överföringen när programmet startar" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "Påbörja överföring när en enhet sätts i" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "Avsluta programmet när överföringen är färdig" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "Avsluta programmet även om fel eller varningar uppstod" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "Rotera JPEG-bilder automatiskt" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "Prestanda" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "Skapa miniatyrbilder (långsammare)" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "Diverse" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "Felhantering" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "Bild- och filmnamnkonflikter" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "Lägg till unik identifierare" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "Hoppa över överföring" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" "Ange om en bild eller film med ett namn som redan finns, ska hoppas över " "eller tilldelas ett unikt nummer." #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" "Ange om en bild eller film med ett namn som redan finns på säkerhetskopian, " "ska hoppas över eller skrivas över." #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "Skriv över" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "Hoppa över" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "Felhantering" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "Överför dina bilder och filmer snabbt och enkelt" #~ msgid "Resetting value to zero.\n" #~ msgstr "Nollställer värde.\n" #~ msgid "Resetting to midnight.\n" #~ msgstr "Nollställer till midnatt.\n" #~ msgid "Error in Image Rename preferences" #~ msgstr "Fel i inställningarna för bildnamnbyte" #~ msgid "Sorry,these preferences contain an error:\n" #~ msgstr "Följande inställningar innehåller fel:\n" #~ msgid "Resetting to default values." #~ msgstr "Återställer till standardvärde." #~ msgid "Error in Download Subfolder preferences" #~ msgstr "Fel i inställningar för överföring till underkataloger" #~ msgid "Select an image folder" #~ msgstr "Välj en bildkatalog" #~ msgid "Select a folder in which to backup images" #~ msgstr "Välj en mapp för säkerhetskopiering av bilder" #~ msgid "The subfolder preferences had some unnecessary values removed." #~ msgstr "" #~ "Inställningar för underkataloger hade överflödiga värden som avlägsnades." #~ msgid "" #~ "The subfolder preferences entered are invalid and cannot be used.\n" #~ "They will be reset to their default values." #~ msgstr "" #~ "Inställningarna för underkataloger har ogiltiga värden.\n" #~ " Använder standardvärden." #~ msgid "There is an error in the program preferences." #~ msgstr "Det fanns ett fel i programinställningarna." #~ msgid "" #~ "\n" #~ "Please check preferences, restart the program, and try again." #~ msgstr "" #~ "\n" #~ "Var god kontrollera programinställningarna, starta om programmet, och försök " #~ "igen." #, python-format #~ msgid "0 of %s images copied" #~ msgstr "0 av %s bilder överförda" #, python-format #~ msgid "Device scan complete: found %(number)s images on %(device)s" #~ msgstr "" #~ "Avsökning av enhet klar: hittade %(number)s bilder på enheten %(device)s" #~ msgid "Image filename could not be generated" #~ msgstr "Kunde inte skapa ett filnamn för bild" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Källa: %(source)s\n" #~ "Problem: %(problem)s" #~ msgid "" #~ "Image filename could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Kunde inte skapa filenamn för bild. Kontrollera att bilden har tillräckligt " #~ "med metadata." #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Källa: %(source)s\n" #~ "Mål: %(destination)s\n" #~ "Problem: %(problem)s" #~ msgid "Could not open image" #~ msgstr "Kunde inte öppna bild" #, python-format #~ msgid "Source: %s" #~ msgstr "Källa: %s" #~ msgid "Image has no metadata" #~ msgstr "Bilden innehåller ingen metadata" #, python-format #~ msgid "" #~ "Metadata is essential for generating subfolders / image names.\n" #~ "Source: %s" #~ msgstr "" #~ "Metadata behövs för att kunna skapa underkataloger / filnamn.\n" #~ "Källa: %s" #~ msgid "" #~ "Subfolder name could not be properly generated. Check to ensure there is " #~ "sufficient image metadata." #~ msgstr "" #~ "Namn på underkatalog kunde inte skapas. Var god kontrollera att det finns " #~ "tillräckligt med metadata." #, python-format #~ msgid "" #~ "Subfolder: %(subfolder)s\n" #~ "Image: %(image)s\n" #~ "Problem: %(problem)s" #~ msgstr "" #~ "Underkatalog: %(subfolder)s\n" #~ "Bild: %(image)s\n" #~ "Problem: %(problem)s" #, python-format #~ msgid "Unique identifier '%s' added" #~ msgstr "Lade till unik indentifierare \"%s\"" #~ msgid "New day has started - resetting 'Downloads Today' sequence number" #~ msgstr "Ny dag påbörjad - nollställer dagens överföringar" #~ msgid "Download copying error" #~ msgstr "Överföringsfel" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errorno)s %(strerror)s" #~ msgstr "" #~ "Källa: %(source)s\n" #~ "Mål: %(destination)s\n" #~ "Fel: %(errorno)s %(strerror)s" #~ msgid "The image was not copied." #~ msgstr "Bilden överfördes inte." #~ msgid "Backup image already exists" #~ msgstr "Bilden är redan säkerhetskopierad" #~ msgid " " #~ msgstr " " #~ msgid "Copyright Damon Lynch 2007-09" #~ msgstr "Copyright Damon Lynch 2007-09" #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "the name. Please use other renaming options." #~ msgstr "" #~ "Varning: Det finns inte tillräckligt med metadata i bildfilen för " #~ "att skapa ett filnamn. Var god ändra inställningarna för namnbyte." #~ msgid "" #~ "Warning: There is insufficient image metadata to fully generate " #~ "subfolders. Please use other subfolder naming options." #~ msgstr "" #~ "Varning: Det finns inte tillräckligt med metadata i bildfilen för " #~ "att skapa ett namn för underkatalog. Var god ändra inställningarna för " #~ "namnbyte av underkatalog." #, python-format #~ msgid "%s images skipped" #~ msgstr "hoppade över %s bilder" #, python-format #~ msgid "" #~ "Source: %(source)s\n" #~ "Destination: %(destination)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Källa: %(source)s\n" #~ "Mål: %(destination)s\n" #~ "Fel: %(errno)s %(strerror)s" #, python-format #~ msgid "" #~ "Destination directory could not be created\n" #~ "%(directory)s\n" #~ "Error: %(errno)s %(strerror)s" #~ msgstr "" #~ "Målkatalog kunde inte skapas\n" #~ "%(directory)s\n" #~ "Fel: %(errno)s %(strerror)s" #~ msgid "The device can now be safely removed" #~ msgstr "Enheten kan nu avlägsnas säkert" #, python-format #~ msgid "%s images downloaded" #~ msgstr "%s bilder överförda" #~ msgid "Image overwritten" #~ msgstr "Skrev över bild" #~ msgid "errors" #~ msgstr "fel" #~ msgid "Backup device missing" #~ msgstr "Enhet för säkerhetskopiering saknas" #~ msgid "No backup device was detected." #~ msgstr "Ingen enhet för säkerhetskopiering hittades" #~ msgid "This device has no images to download from." #~ msgstr "Enheten saknar bilder att överföra" #~ msgid "Image has no thumbnail" #~ msgstr "Bilden saknar miniatyr" #, python-format #~ msgid "Download has started from %s" #~ msgstr "Överföringen startade vid %s" #~ msgid "Image already exists" #~ msgstr "Bilden finns redan" #~ msgid "Image skipped" #~ msgstr "Hoppade över bild" #~ msgid "Thumbnail cannot be displayed" #~ msgstr "Kunde inte skapa miniatyr" #~ msgid "It may be corrupted" #~ msgstr "Den kan vara korrupt" #, python-format #~ msgid "%(number)s of %(total)s images copied" #~ msgstr "%(number)s av %(total)s bilder överförda" #, python-format #~ msgid "Download complete from %s" #~ msgstr "Överföring från %s är klart" #~ msgid "Warning:" #~ msgstr "Varning:" #~ msgid "Sorry, some preferences are invalid and will be reset." #~ msgstr "" #~ "Beklagar, några av inställningarna innehåller fel och kommer att återställas." #~ msgid "" #~ "Program preferences appear to be valid, but please check them to ensure " #~ "correct operation." #~ msgstr "" #~ "Inställningarna ser korrekta ut, men kontrollera dem för att vara säker." #~ msgid "" #~ "A newer version of this program was previously run on this computer.\n" #~ "\n" #~ msgstr "" #~ "En nyare version av det här programmet har startats.\n" #~ "\n" #~ msgid "" #~ "This version of the program is newer than the previously run version. " #~ "Checking preferences." #~ msgstr "" #~ "Programmet är av en nyare version än tidigare, kontrollerar inställningar." #~ msgid "Some preferences will be reset." #~ msgstr "Några inställningar kommer att återställas" #~ msgid "Starting downloads" #~ msgstr "Påbörjar överföring" #~ msgid "No preferences needed to be changed." #~ msgstr "Inga inställningar behöver ändras." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Your preferences have been updated.\n" #~ "\n" #~ "Please check them to ensure correct operation." #~ msgstr "" #~ "Denna versionen av programmet använder andra inställningar än äldre " #~ "versioner. Inställningarna har därför uppdaterats." #~ msgid "Preferences were modified." #~ msgstr "Inställningarna har ändrats." #~ msgid "Problem using pynotify." #~ msgstr "Ett problem uppstod vid användning av pynotify." #~ msgid "" #~ "This version of the program uses different preferences than the old version. " #~ "Some of your previous preferences were invalid, and could not be updated. " #~ "They will be reset." #~ msgstr "" #~ "Denna versionen av programmet använder andra inställningar än äldre " #~ "versioner. Några av inställningarna var felaktiga och kunde inte uppdateras. " #~ "De kommer därför att återställas." #~ msgid "Failed to receive pynotify server capabilities." #~ msgstr "Kunde inte ta emot serveregenskaper från pynotify." #~ msgid "Using manually specified path" #~ msgstr "Använder manuell sökväg" #, python-format #~ msgid "Detected %(device)s with path %(path)s" #~ msgstr "Hittade %(device)s med sökvägen %(path)s" #~ msgid "Automatically start download is false" #~ msgstr "Automatisk överföring är avaktiverad" #~ msgid "Automatically start download is true" #~ msgstr "Automatisk överföring är aktiverad" #~ msgid "images skipped" #~ msgstr "bilder skippade" #~ msgid "_Download " #~ msgstr "_Överför " #~ msgid "images downloaded" #~ msgstr "bilder överförda" #~ msgid "_Pause" #~ msgstr "_Paus" #~ msgid "Preferences were changed." #~ msgstr "Inställningar ändrades" #~ msgid "list image file extensions the program recognizes and exit" #~ msgstr "visa filändelser för bildformat som programmet hanterar och avsluta" #~ msgid "Goodbye" #~ msgstr "Farväl" #, python-format #~ msgid "%s is already running" #~ msgstr "%s körs redan" #~ msgid "Using" #~ msgstr "Använder" #~ msgid "Subsecond metadata not present in image" #~ msgstr "Metadata för sekunder finns inte i bilden" #, python-format #~ msgid "%s metadata is not present in image" #~ msgstr "%s metadata finns inte i bilden" #, python-format #~ msgid "Error in date time component. Value %s appears invalid" #~ msgstr "Fel i komponenten för datumtid. Värdet %s verkar ogiltigt" #~ msgid "extension was specified but image name has no extension" #~ msgstr "filändelse angavs men bilden saknar filändelse" #~ msgid "image number was specified but image filename has no number" #~ msgstr "Bildnummer angavs men filnamnet saknar nummer" #, python-format #~ msgid "error generating name with component %s" #~ msgstr "ett fel uppstod med komponenten %s" #~ msgid "These preferences are not well formed:" #~ msgstr "Följande inställningar är ogiltiga:" #, python-format #~ msgid "Preference value '%(value)s' is invalid" #~ msgstr "Inställningen '%(value)s' är ogiltig" #, python-format #~ msgid "" #~ "Preference key '%(key)s' is invalid.\n" #~ "Expected one of %(value)s" #~ msgstr "" #~ "Inställningen '%(key)s' är ogiltig.\n" #~ "Förväntat värde är något av %(value)s" #~ msgid "Image Rename" #~ msgstr "Namnbyte av bilder" #~ msgid "Missing Backup Devices" #~ msgstr "Saknade enheter för säkerhetskopiering" #~ msgid "Example: /home/user/photos" #~ msgstr "Exempel: /home/user/photos" #~ msgid "Image Name Conflicts" #~ msgstr "Bildnamnskonflikter" #~ msgid "Image Devices" #~ msgstr "Bildenheter" #~ msgid "Automation" #~ msgstr "Automatisering" #~ msgid "Image Devices" #~ msgstr "Bildenheter" #~ msgid "Download Folder" #~ msgstr "Katalog för överföring" #~ msgid "Image Rename\t" #~ msgstr "Namnbyte av bilder\t" #~ msgid "Backup photos when downloading" #~ msgstr "Säkerhetskopiera bilder vid överföring" #~ msgid "Automation" #~ msgstr "Automatisering" #~ msgid "Backup location:" #~ msgstr "Plats för säkerhetskopior:" #~ msgid "Backup folder name:" #~ msgstr "Katalog för säkerhetskopiering:" #~ msgid "Automatically detect image devices" #~ msgstr "Hitta bildenheter automatiskt" #~ msgid "Download Folder" #~ msgstr "Katalog för överföring" #~ msgid "" #~ "Choose whether to skip downloading the image, or to add a unique indentifier." #~ msgstr "" #~ "Välj att antingen hoppa över bilden, eller att lägga till en unik " #~ "identifierare." #~ msgid "Image location:" #~ msgstr "Bildplats:" #~ msgid "" #~ "If you enable automatic detection of Portable Storage Devices, the entire " #~ "device will be scanned for images. On large devices, this could take some " #~ "time." #~ msgstr "" #~ "Om du avaktiverar automatisk sökning av bärbara lagringsenheter, ange " #~ "istället en plats." #~ msgid "Image Devices" #~ msgstr "Bildenheter" #~ msgid "If you disable automatic detection, choose the exact backup location." #~ msgstr "" #~ "Om du avaktiverar automatisk sökning av enheter för säkerhetkopiering, ange " #~ "istället en plats." #~ msgid "Exit program after completion of successful download" #~ msgstr "Avsluta programmet efter lyckad överföring" #~ msgid "Ignore" #~ msgstr "Ignorera" #~ msgid "" #~ "If you disable automatic detection, choose the exact location of the images." #~ msgstr "" #~ "Om du avaktiverar automatisk sökning av bildenheter, ange istället en plats." #~ msgid "Error Log" #~ msgstr "Fellogg" #~ msgid "Report a warning" #~ msgstr "Rapportera en varning" #~ msgid "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgstr "" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "Rapid Photo Downloader 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.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License along with " #~ "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " #~ "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." #~ msgid "Import your images efficiently and reliably" #~ msgstr "Överför dina bilder snabbt och säkert" #~ msgid "Report an error" #~ msgstr "Rapportera ett fel" #~ msgid "Unmount (\"eject\") image device upon download completion" #~ msgstr "Mata ut enhet när överföring är klar" #~ msgid "" #~ "Specify the folder in which backups are stored on the device. \n" #~ "\n" #~ "Note: this will also be used to determine whether or not the device is " #~ "used for backups. For each device you wish to use for backing up to, create " #~ "a folder in it with this name." #~ msgstr "" #~ "Ange i vilken katalog säkerhetskopior finns på enheten.\n" #~ "\n" #~ "Notera att detta katalognamn också kommer att användas för att avgöra om " #~ "enheten används för säkerhetskopior. Skapa en katalog med samma namn på " #~ "andra enheter du vill använda för säkerhetskopior." #~ msgid "Start downloading upon image device insertion" #~ msgstr "Börja överföring vid inkoppling av enhet" #~ msgid "Specify what to do when there are no backup devices." #~ msgstr "" #~ "Ange vad som ska hända när det inte finns några enheter för " #~ "säkerhetskopiering." #~ msgid "" #~ "Specify whether image and folder names should have any characters removed " #~ "that are not allowed by other operating systems." #~ msgstr "" #~ "Ange om tecken i fil- eller katalognamn som inte stöds av andra " #~ "operativsystem ska avlägsnas." #~ msgid "_Photos" #~ msgstr "_Bilder" #~ msgid "" #~ "When backing up, choose whether to overwrite an image on the backup device " #~ "that has the same name, or skip backing it up." #~ msgstr "" #~ "Ange om bilder med samma filnamn på enheten för säkerhetskopiering ska " #~ "ersättas, eller hoppas över." #~ msgid "" #~ "You can have your photos backed up to multiple locations as they are " #~ "downloaded, e.g. external hard drives." #~ msgstr "" #~ "Du kan säkerhetskopiera bilder till flera platser när de överförs, t.ex. " #~ "externa hårddiskar." #~ msgid "_Thumbnails" #~ msgstr "_Miniatyrbilder" #~ msgid "Invalid Downloads Today value.\n" #~ msgstr "Felaktigt värde för 'Antal överföringar idag'.\n" #~ msgid "'Start of day' preference value is corrupted.\n" #~ msgstr "Värdet på 'början på dagen' är korrupt\n" #~ msgid "Image Rename" #~ msgstr "Namnbyte" #~ msgid "Starting downloads that have been waiting for a Job Code" #~ msgstr "Påbörjar överföringar som har väntat på fototillfälle" #~ msgid "Job Code entered" #~ msgstr "Ett fototillfälle angavs" #~ msgid "Prompting for Job Code" #~ msgstr "Frågar om fototillfälle" #, python-format #~ msgid "Device scan complete: no images found on %s" #~ msgstr "Avsökning av enhet klar: hittade inga bilder på enheten %s" #~ msgid "" #~ "Image devices are devices from which to download photos, such as cameras, " #~ "memory cards or Portable Storage Devices.\n" #~ "\n" #~ "You can download photos from multiple image devices simultaneously.\n" #~ "\n" #~ "If downloading directly from your camera works poorly or not at all, try " #~ "setting it to PTP mode. If that is not possible, consider using a card " #~ "reader." #~ msgstr "" #~ "Bildenheter är enheter som bilder kan överföras från, t.ex. kameror, " #~ "minneskort eller bärbara lagringsenheter.\n" #~ "\n" #~ "Du kan överföra bilder från flera olika platser samtidigt.\n" #~ "\n" #~ "Om det fungerar dåligt eller inte alls att överföra bilder från din " #~ "kamera, prova att sätta den i PTP-läge. Om det inte är möjligt, överväg att " #~ "använda en minneskortläsare." #~ msgid "" #~ "Specify what to do when an image of the same name has already been " #~ "downloaded or backed up." #~ msgstr "Ange vad som hända när en bild med samma namn redan har överförts." #~ msgid "Should this device or partition be used to download images from?" #~ msgstr "Vill du överföra bilder från den här enheten eller partitionen?" #~ msgid "Job Code not entered" #~ msgstr "Inget fototillfälle angivet" #, python-format #~ msgid "%s selected for downloading from" #~ msgstr "%s bilder valda för överföring från" #~ msgid "This device or partition will always be used to download from" #~ msgstr "Bilder kommer alltid att överföras från denna enhet" #, python-format #~ msgid "%s rejected as a download device" #~ msgstr "%s nekades som överföringsenhet" #~ msgid "This device or partition will never be used to download from" #~ msgstr "Bilder kommer aldrig att överföras från denna enhet" #~ msgid "Enter a new job code, or select a previous one." #~ msgstr "Ange ett nytt fototillfälle, eller välj ett tidigare." #~ msgid "Enter a new job code." #~ msgstr "Ange ett nytt fototillfälle." #, python-format #~ msgid "Prompting whether to use %s" #~ msgstr "Frågar om %s ska användas" #~ msgid "Already prompting for Job Code, do not prompt again" #~ msgstr "Visar redan fråga om fototillfälle, fråga inte igen" #, python-format #~ msgid "Device %(device)s (%(path)s) ignored" #~ msgstr "Enhete %(device)s (%(path)s) ignorerades" #~ msgid "Backup" #~ msgstr "Säkerhetskopia" rapid-photo-downloader-0.4.10/po/rapid-photo-downloader.pot0000664000175000017500000013634712302421762024137 0ustar damondamon00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # 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: \n" "POT-Creation-Date: 2014-02-23 21:38+0500\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" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "" #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "" #: rapid/rapid.py:2270 msgid "Pause" msgstr "" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "" #: rapid/rapid.py:3650 msgid "and" msgstr "" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "" #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be used." "" msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" rapid-photo-downloader-0.4.10/po/en_AU.po0000664000175000017500000006022312267511477020362 0ustar damondamon00000000000000# English (Australia) translation for rapid # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2009-05-19 18:41+0800\n" "PO-Revision-Date: 2009-05-19 11:02+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: English (Australia) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2009-05-19 11:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: rapid/rapid.py:99 rapid/glade3/rapid.glade.h:59 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:399 msgid "Invalid Downloads Today value.\n" msgstr "" #: rapid/rapid.py:400 msgid "Resetting value to zero.\n" msgstr "" #: rapid/rapid.py:439 msgid "'Start of day' preference value is corrupted.\n" msgstr "" #: rapid/rapid.py:440 msgid "Resetting to midnight.\n" msgstr "" #: rapid/rapid.py:456 msgid "Error in Image Rename preferences" msgstr "" #: rapid/rapid.py:465 rapid/rapid.py:1127 msgid "Sorry,these preferences contain an error:\n" msgstr "" #: rapid/rapid.py:476 msgid "Resetting to default values." msgstr "" #: rapid/rapid.py:587 msgid "Error in Download Subfolder preferences" msgstr "" #: rapid/rapid.py:704 msgid "Select a folder to download photos to" msgstr "" #: rapid/rapid.py:751 msgid "Select an image folder" msgstr "" #: rapid/rapid.py:773 msgid "Select a folder in which to backup images" msgstr "" #: rapid/rapid.py:861 msgid "" "Warning: There is insufficient image metatdata to fully generate " "the name. Please use other renaming options." msgstr "" #: rapid/rapid.py:882 msgid "" "Warning: There is insufficient image metatdata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #: rapid/rapid.py:884 #, python-format msgid "Example: %s" msgstr "" #. this value is used as an example device when automatic backup device detection is enabled #: rapid/rapid.py:1057 msgid "externaldrive1" msgstr "" #. this value is used as an example device when automatic backup device detection is enabled #: rapid/rapid.py:1059 msgid "externaldrive2" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for images. It is visible initially in the progress bar for each device #. (which normally holds "x of y images copied"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1116 msgid "scanning..." msgstr "" #: rapid/rapid.py:1223 rapid/rapid.py:1788 #, python-format msgid "0 of %s images copied" msgstr "" #: rapid/rapid.py:1228 #, python-format msgid "Device scan complete: found %(number)s images on %(device)s" msgstr "" #: rapid/rapid.py:1234 #, python-format msgid "Device scan complete: no images found on %s" msgstr "" #: rapid/rapid.py:1265 msgid "Image filename could not be generated" msgstr "" #: rapid/rapid.py:1266 #, python-format msgid "" "Source: %(source)s\n" "Problem: %(problem)s" msgstr "" #: rapid/rapid.py:1270 msgid "" "Image filename could not be properly generated. Check to ensure there is " "sufficient image metadata." msgstr "" #: rapid/rapid.py:1271 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s\n" "Problem: %(problem)s" msgstr "" #: rapid/rapid.py:1280 msgid "Could not open image" msgstr "" #: rapid/rapid.py:1281 #, python-format msgid "Source: %s" msgstr "" #: rapid/rapid.py:1290 msgid "Image has no metadata" msgstr "" #: rapid/rapid.py:1291 #, python-format msgid "" "Metadata is essential for generating subfolders / image names.\n" "Source: %s" msgstr "" #: rapid/rapid.py:1303 msgid "" "Subfolder name could not be properly generated. Check to ensure there is " "sufficient image metadata." msgstr "" #: rapid/rapid.py:1304 #, python-format msgid "" "Subfolder: %(subfolder)s\n" "Image: %(image)s\n" "Problem: %(problem)s" msgstr "" #: rapid/rapid.py:1356 rapid/rapid.py:1384 rapid/rapid.py:1403 #: rapid/rapid.py:1465 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/rapid.py:1405 #, python-format msgid "Unique identifier '%s' added" msgstr "" #. A new day, according the user's preferences of what time a day begins, has started #: rapid/rapid.py:1422 msgid "New day has started - resetting 'Downloads Today' sequence number" msgstr "" #: rapid/rapid.py:1427 rapid/rapid.py:1433 msgid "Download copying error" msgstr "" #: rapid/rapid.py:1428 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s\n" "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/rapid.py:1430 rapid/rapid.py:1503 msgid "The image was not copied." msgstr "" #: rapid/rapid.py:1464 msgid "Backup image already exists" msgstr "" #: rapid/rapid.py:1492 rapid/rapid.py:1500 rapid/rapid.py:1506 msgid "Backing up error" msgstr "" #: rapid/rapid.py:1493 #, python-format msgid "" "Destination directory could not be created\n" "%(directory)s\n" "Error: %(errno)s %(strerror)s" msgstr "" #: rapid/rapid.py:1501 rapid/rapid.py:1507 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s\n" "Error: %(errno)s %(strerror)s" msgstr "" #. The device was automatically unmounted #: rapid/rapid.py:1520 msgid "The device can now be safely removed" msgstr "" #: rapid/rapid.py:1524 #, python-format msgid "%s images downloaded" msgstr "" #: rapid/rapid.py:1526 #, python-format msgid "%s images skipped" msgstr "" #: rapid/rapid.py:1532 rapid/rapid.py:2599 msgid "warnings" msgstr "" #: rapid/rapid.py:1534 rapid/rapid.py:2601 msgid "errors" msgstr "" #: rapid/rapid.py:1548 msgid "Download cannot proceed" msgstr "" #: rapid/rapid.py:1548 msgid "" "There is an error in the program preferences.\n" "Please check preferences, restart the program, and try again." msgstr "" #: rapid/rapid.py:1561 msgid "Backup device missing" msgstr "" #: rapid/rapid.py:1561 msgid "No backup device was detected." msgstr "" #: rapid/rapid.py:1565 msgid "This device has no images to download from." msgstr "" #: rapid/rapid.py:1586 #, python-format msgid "Download has started from %s" msgstr "" #: rapid/rapid.py:1623 msgid "Image skipped" msgstr "" #: rapid/rapid.py:1624 msgid "Image overwritten" msgstr "" #: rapid/rapid.py:1625 msgid "Image already exists" msgstr "" #: rapid/rapid.py:1670 msgid "Image has no thumbnail" msgstr "" #: rapid/rapid.py:1680 #, python-format msgid "%(number)s of %(total)s images copied" msgstr "" #: rapid/rapid.py:1696 #, python-format msgid "Download complete from %s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:1772 msgid "Device" msgstr "" #. Size refers to the total size of images on the device #: rapid/rapid.py:1777 msgid "Size" msgstr "" #: rapid/rapid.py:1780 msgid "Download Progress" msgstr "" #: rapid/rapid.py:1896 rapid/rapid.py:1902 msgid "Thumbnail cannot be displayed" msgstr "" #: rapid/rapid.py:1897 rapid/rapid.py:1903 msgid "It may be corrupted" msgstr "" #: rapid/rapid.py:2150 msgid "" "A newer version of this program was previously run on this computer.\n" "\n" msgstr "" #: rapid/rapid.py:2152 msgid "" "Program preferences appear to be valid, but please check them to ensure " "correct operation." msgstr "" #: rapid/rapid.py:2154 msgid "Sorry, some preferences are invalid and will be reset." msgstr "" #: rapid/rapid.py:2155 msgid "Warning:" msgstr "" #: rapid/rapid.py:2160 msgid "" "This version of the program is newer than the previously run version. " "Checking preferences." msgstr "" #: rapid/rapid.py:2167 msgid "Preferences were modified." msgstr "" #: rapid/rapid.py:2168 msgid "" "This version of the program uses different preferences than the old version. " "Your preferences have been updated.\n" "\n" "Please check them to ensure correct operation." msgstr "" #: rapid/rapid.py:2172 msgid "No preferences needed to be changed." msgstr "" #: rapid/rapid.py:2174 msgid "" "This version of the program uses different preferences than the old version. " "Some of your previous preferences were invalid, and could not be updated. " "They will be reset." msgstr "" #: rapid/rapid.py:2182 msgid "Problem using pynotify." msgstr "" #: rapid/rapid.py:2198 msgid "Failed to receive pynotify server capabilities." msgstr "" #: rapid/rapid.py:2236 msgid "and" msgstr "" #: rapid/rapid.py:2241 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:2243 msgid "Using backup device" msgstr "" #: rapid/rapid.py:2245 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:2380 #, python-format msgid "Detected %(device)s with path %(path)s" msgstr "" #: rapid/rapid.py:2384 msgid "Automatically start download is true" msgstr "" #: rapid/rapid.py:2386 msgid "Automatically start download is false" msgstr "" #: rapid/rapid.py:2434 msgid "Using manually specified path" msgstr "" #: rapid/rapid.py:2548 rapid/rapid.py:2594 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2562 msgid "MB/s" msgstr "" #: rapid/rapid.py:2572 msgid "About 1 second remaining" msgstr "" #: rapid/rapid.py:2574 #, python-format msgid "About %i seconds remaining" msgstr "" #: rapid/rapid.py:2576 msgid "About 1 minute remaining" msgstr "" #: rapid/rapid.py:2578 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "" #: rapid/rapid.py:2595 msgid "images downloaded" msgstr "" #: rapid/rapid.py:2597 msgid "images skipped" msgstr "" #. note the space at the end of the label, need it to meet HIG! :( #: rapid/rapid.py:2685 msgid "_Download " msgstr "" #. note the space at the end of the label, need it to meet HIG! :( #: rapid/rapid.py:2695 msgid "_Pause" msgstr "" #: rapid/rapid.py:2752 msgid "Preferences were changed." msgstr "" #: rapid/rapid.py:2883 msgid "Goodbye" msgstr "" #: rapid/rapid.py:2892 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:2893 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:2895 msgid "list image file extensions the program recognizes and exit" msgstr "list image file extensions the program recognises and exit" #: rapid/rapid.py:2908 #, python-format msgid "and %s" msgstr "" #. Which volume management code is being used (GIO or GnomeVFS) #: rapid/rapid.py:2913 rapid/rapid.py:2916 msgid "Using" msgstr "" #. this application is already running #: rapid/rapid.py:2930 #, python-format msgid "%s is already running" msgstr "" #: rapid/renamesubfolderprefs.py:173 msgid "Date time" msgstr "" #: rapid/renamesubfolderprefs.py:174 msgid "Text" msgstr "" #: rapid/renamesubfolderprefs.py:175 msgid "Filename" msgstr "" #: rapid/renamesubfolderprefs.py:176 msgid "Metadata" msgstr "" #: rapid/renamesubfolderprefs.py:177 msgid "Sequences" msgstr "" #: rapid/renamesubfolderprefs.py:178 msgid "Image date" msgstr "" #: rapid/renamesubfolderprefs.py:179 msgid "Today" msgstr "" #: rapid/renamesubfolderprefs.py:180 msgid "Yesterday" msgstr "" #: rapid/renamesubfolderprefs.py:181 msgid "Name + extension" msgstr "" #: rapid/renamesubfolderprefs.py:182 msgid "Name" msgstr "" #: rapid/renamesubfolderprefs.py:183 msgid "Extension" msgstr "" #: rapid/renamesubfolderprefs.py:184 msgid "Image number" msgstr "" #: rapid/renamesubfolderprefs.py:185 msgid "Aperture" msgstr "" #: rapid/renamesubfolderprefs.py:186 msgid "ISO" msgstr "" #: rapid/renamesubfolderprefs.py:187 msgid "Exposure time" msgstr "" #: rapid/renamesubfolderprefs.py:188 msgid "Focal length" msgstr "" #: rapid/renamesubfolderprefs.py:189 msgid "Camera make" msgstr "" #: rapid/renamesubfolderprefs.py:190 msgid "Camera model" msgstr "" #: rapid/renamesubfolderprefs.py:191 msgid "Short camera model" msgstr "" #: rapid/renamesubfolderprefs.py:192 msgid "Hyphenated short camera model" msgstr "" #: rapid/renamesubfolderprefs.py:193 msgid "Serial number" msgstr "" #: rapid/renamesubfolderprefs.py:194 msgid "Shutter count" msgstr "" #: rapid/renamesubfolderprefs.py:195 msgid "Owner name" msgstr "" #: rapid/renamesubfolderprefs.py:196 msgid "Downloads today" msgstr "" #: rapid/renamesubfolderprefs.py:197 msgid "Session number" msgstr "" #: rapid/renamesubfolderprefs.py:198 msgid "Subfolder number" msgstr "" #: rapid/renamesubfolderprefs.py:199 msgid "Stored number" msgstr "" #: rapid/renamesubfolderprefs.py:200 msgid "Sequence letter" msgstr "" #: rapid/renamesubfolderprefs.py:201 msgid "All digits" msgstr "" #: rapid/renamesubfolderprefs.py:202 msgid "Last digit" msgstr "" #: rapid/renamesubfolderprefs.py:203 msgid "Last 2 digits" msgstr "" #: rapid/renamesubfolderprefs.py:204 msgid "Last 3 digits" msgstr "" #: rapid/renamesubfolderprefs.py:205 msgid "Last 4 digits" msgstr "" #: rapid/renamesubfolderprefs.py:206 msgid "Original Case" msgstr "" #: rapid/renamesubfolderprefs.py:207 msgid "UPPERCASE" msgstr "" #: rapid/renamesubfolderprefs.py:208 msgid "lowercase" msgstr "" #: rapid/renamesubfolderprefs.py:209 msgid "One digit" msgstr "" #: rapid/renamesubfolderprefs.py:210 msgid "Two digits" msgstr "" #: rapid/renamesubfolderprefs.py:211 msgid "Three digits" msgstr "" #: rapid/renamesubfolderprefs.py:212 msgid "Four digits" msgstr "" #: rapid/renamesubfolderprefs.py:213 msgid "Five digits" msgstr "" #: rapid/renamesubfolderprefs.py:214 msgid "Six digits" msgstr "" #: rapid/renamesubfolderprefs.py:215 msgid "Subseconds" msgstr "" #: rapid/renamesubfolderprefs.py:216 msgid "YYYYMMDD" msgstr "" #: rapid/renamesubfolderprefs.py:217 msgid "YYYY-MM-DD" msgstr "" #: rapid/renamesubfolderprefs.py:218 msgid "YYMMDD" msgstr "" #: rapid/renamesubfolderprefs.py:219 msgid "YY-MM-DD" msgstr "" #: rapid/renamesubfolderprefs.py:220 msgid "MMDDYYYY" msgstr "" #: rapid/renamesubfolderprefs.py:221 msgid "MMDDYY" msgstr "" #: rapid/renamesubfolderprefs.py:222 msgid "MMDD" msgstr "" #: rapid/renamesubfolderprefs.py:223 msgid "DDMMYYYY" msgstr "" #: rapid/renamesubfolderprefs.py:224 msgid "DDMMYY" msgstr "" #: rapid/renamesubfolderprefs.py:225 msgid "YYYY" msgstr "" #: rapid/renamesubfolderprefs.py:226 msgid "YY" msgstr "" #: rapid/renamesubfolderprefs.py:227 msgid "MM" msgstr "" #: rapid/renamesubfolderprefs.py:228 msgid "DD" msgstr "" #: rapid/renamesubfolderprefs.py:229 msgid "HHMMSS" msgstr "" #: rapid/renamesubfolderprefs.py:230 msgid "HHMM" msgstr "" #: rapid/renamesubfolderprefs.py:599 #, python-format msgid "" "Preference key '%(key)s' is invalid.\n" "Expected one of %(value)s" msgstr "" #: rapid/renamesubfolderprefs.py:606 #, python-format msgid "Preference value '%(value)s' is invalid" msgstr "" #: rapid/renamesubfolderprefs.py:610 msgid "These preferences are not well formed:" msgstr "" #: rapid/renamesubfolderprefs.py:710 msgid "Subsecond metadata not present in image" msgstr "" #: rapid/renamesubfolderprefs.py:713 rapid/renamesubfolderprefs.py:836 #, python-format msgid "%s metadata is not present in image" msgstr "" #: rapid/renamesubfolderprefs.py:728 #, python-format msgid "Error in date time component. Value %s appears invalid" msgstr "" #: rapid/renamesubfolderprefs.py:759 msgid "extension was specified but image name has no extension" msgstr "" #: rapid/renamesubfolderprefs.py:763 msgid "image number was specified but image filename has no number" msgstr "" #: rapid/renamesubfolderprefs.py:948 #, python-format msgid "error generating name with component %s" msgstr "" #: rapid/renamesubfolderprefs.py:1264 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/renamesubfolderprefs.py:1266 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/renamesubfolderprefs.py:1270 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/glade3/rapid.glade.h:1 msgid " " msgstr "" #: rapid/glade3/rapid.glade.h:2 msgid " " msgstr "" #: rapid/glade3/rapid.glade.h:3 msgid " hh:mm" msgstr "" #: rapid/glade3/rapid.glade.h:4 msgid ":" msgstr "" #: rapid/glade3/rapid.glade.h:5 msgid "Backup" msgstr "" #: rapid/glade3/rapid.glade.h:6 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/rapid.glade.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/rapid.glade.h:8 msgid "Download Subfolders" msgstr "" #: rapid/glade3/rapid.glade.h:9 msgid "Example" msgstr "" #: rapid/glade3/rapid.glade.h:10 msgid "Image Devices" msgstr "" #: rapid/glade3/rapid.glade.h:11 msgid "Image Name Conflicts" msgstr "" #: rapid/glade3/rapid.glade.h:12 msgid "Image Rename" msgstr "" #: rapid/glade3/rapid.glade.h:13 msgid "Missing Backup Devices" msgstr "" #: rapid/glade3/rapid.glade.h:14 msgid "Program Automation" msgstr "" #: rapid/glade3/rapid.glade.h:15 msgid "Sequence numbers" msgstr "" #: rapid/glade3/rapid.glade.h:16 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/rapid.glade.h:17 msgid "Example: /home/user/photos" msgstr "" #: rapid/glade3/rapid.glade.h:18 msgid "Example:" msgstr "" #: rapid/glade3/rapid.glade.h:19 msgid "New:" msgstr "" #: rapid/glade3/rapid.glade.h:20 msgid "Original:" msgstr "" #: rapid/glade3/rapid.glade.h:21 msgid "Automation" msgstr "" #: rapid/glade3/rapid.glade.h:22 msgid "Backup\t" msgstr "" #: rapid/glade3/rapid.glade.h:23 msgid "Download Folder" msgstr "" #: rapid/glade3/rapid.glade.h:24 msgid "Error Handling" msgstr "" #: rapid/glade3/rapid.glade.h:25 msgid "Image Devices" msgstr "" #: rapid/glade3/rapid.glade.h:26 msgid "Image Rename\t" msgstr "" #: rapid/glade3/rapid.glade.h:27 msgid "Rename Options" msgstr "" #: rapid/glade3/rapid.glade.h:28 msgid "Add unique identifier" msgstr "" #: rapid/glade3/rapid.glade.h:29 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/rapid.glade.h:30 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/rapid.glade.h:31 msgid "Automatically detect image devices" msgstr "" #: rapid/glade3/rapid.glade.h:32 msgid "Automation" msgstr "" #: rapid/glade3/rapid.glade.h:33 msgid "Backup" msgstr "" #: rapid/glade3/rapid.glade.h:34 msgid "Backup folder name:" msgstr "" #: rapid/glade3/rapid.glade.h:35 msgid "Backup location:" msgstr "" #: rapid/glade3/rapid.glade.h:36 msgid "Backup photos when downloading" msgstr "" #: rapid/glade3/rapid.glade.h:37 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/rapid.glade.h:38 msgid "" "Choose whether to skip downloading the image, or to add a unique indentifier." msgstr "" #: rapid/glade3/rapid.glade.h:39 msgid "Copyright Damon Lynch 2007-09" msgstr "" #: rapid/glade3/rapid.glade.h:40 msgid "Day start:" msgstr "" #: rapid/glade3/rapid.glade.h:41 msgid "Download Folder" msgstr "" #: rapid/glade3/rapid.glade.h:42 msgid "Download folder:" msgstr "" #: rapid/glade3/rapid.glade.h:43 msgid "Downloads today:" msgstr "" #: rapid/glade3/rapid.glade.h:44 msgid "Error Handling" msgstr "" #: rapid/glade3/rapid.glade.h:45 msgid "Error Log" msgstr "" #: rapid/glade3/rapid.glade.h:46 msgid "Exit program after completion of successful download" msgstr "" #: rapid/glade3/rapid.glade.h:47 msgid "If you disable automatic detection, choose the exact backup location." msgstr "" #: rapid/glade3/rapid.glade.h:48 msgid "" "If you disable automatic detection, choose the exact location of the images." msgstr "" #: rapid/glade3/rapid.glade.h:49 msgid "Ignore" msgstr "" #: rapid/glade3/rapid.glade.h:50 msgid "Image Devices" msgstr "" #: rapid/glade3/rapid.glade.h:51 msgid "Image Rename" msgstr "" #: rapid/glade3/rapid.glade.h:52 msgid "" "Image devices are devices from which to download photos, such as memory " "cards or Portable Storage Devices.\n" "\n" "You can download photos from multiple image devices simultaneously." msgstr "" #: rapid/glade3/rapid.glade.h:55 msgid "Image location:" msgstr "" #: rapid/glade3/rapid.glade.h:56 msgid "Import your images efficiently and reliably" msgstr "" #: rapid/glade3/rapid.glade.h:57 msgid "Overwrite" msgstr "" #: rapid/glade3/rapid.glade.h:58 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/rapid.glade.h:60 msgid "" "Rapid Photo Downloader 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.\n" "\n" "Rapid Photo Downloader 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.\n" "\n" "You should have received a copy of the GNU General Public License along with " "Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., " "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." msgstr "" #: rapid/glade3/rapid.glade.h:65 msgid "Rename Options" msgstr "" #: rapid/glade3/rapid.glade.h:66 msgid "Report a warning" msgstr "" #: rapid/glade3/rapid.glade.h:67 msgid "Report an error" msgstr "" #: rapid/glade3/rapid.glade.h:68 msgid "Skip" msgstr "" #: rapid/glade3/rapid.glade.h:69 msgid "Skip download" msgstr "" #: rapid/glade3/rapid.glade.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with this name." msgstr "" #: rapid/glade3/rapid.glade.h:73 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/rapid.glade.h:74 msgid "" "Specify what to do when an image of the same name has already been " "downloaded or backed up." msgstr "" #: rapid/glade3/rapid.glade.h:75 msgid "Specify what to do when there are no backup devices." msgstr "" #: rapid/glade3/rapid.glade.h:76 msgid "" "Specify whether image and folder names should have any characters removed " "that are not allowed by other operating systems." msgstr "" #: rapid/glade3/rapid.glade.h:77 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/rapid.glade.h:78 msgid "Start downloading upon image device insertion" msgstr "" #: rapid/glade3/rapid.glade.h:79 msgid "Stored number:" msgstr "" #: rapid/glade3/rapid.glade.h:80 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/rapid.glade.h:81 msgid "Unmount (\"eject\") image device upon download completion" msgstr "" #: rapid/glade3/rapid.glade.h:82 msgid "" "When backing up, choose whether to overwrite an image on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/rapid.glade.h:83 msgid "" "You can have your photos backed up to multiple locations as they are " "downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/rapid.glade.h:84 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.glade.h:85 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.glade.h:86 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.glade.h:87 msgid "_Help" msgstr "" #: rapid/glade3/rapid.glade.h:88 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.glade.h:89 msgid "_Photos" msgstr "" #: rapid/glade3/rapid.glade.h:90 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.glade.h:91 msgid "_Thumbnails" msgstr "" #: rapid/glade3/rapid.glade.h:92 msgid "_View" msgstr "" #: rapid/glade3/rapid.glade.h:94 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Damon Lynch https://launchpad.net/~dlynch3" #: rapid/glade3/rapid.glade.h:95 msgid "translators please ignore this" msgstr "" rapid-photo-downloader-0.4.10/po/id.po0000644000175000017500000013743112270217617017764 0ustar damondamon00000000000000# Indonesian translation for rapid # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2014-01-21 21:34+0600\n" "PO-Revision-Date: 2014-01-22 00:14+0000\n" "Last-Translator: Damon Lynch \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2014-01-23 13:56+0000\n" "X-Generator: Launchpad (build 16901)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:117 rapid/rapid.py:1820 rapid/glade3/rapid.ui.h:15 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:122 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:124 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:127 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:162 msgid "Device" msgstr "Perangkat" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:180 msgid "Size" msgstr "Ukuran" #: rapid/rapid.py:183 msgid "Download Progress" msgstr "" #: rapid/rapid.py:343 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1241 msgid "scanning..." msgstr "" #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1818 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1822 #, python-format msgid "Downloading from %(location)s." msgstr "" #: rapid/rapid.py:1823 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" #: rapid/rapid.py:2267 rapid/glade3/rapid.ui.h:6 msgid "Download" msgstr "Unduh" #: rapid/rapid.py:2270 msgid "Pause" msgstr "Jeda" #: rapid/rapid.py:2376 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "Folder unduh ini tidak valid:\n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2379 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "Folder unduh ini tidak valid:\n" "%s" #: rapid/rapid.py:2380 msgid "Download cannot proceed" msgstr "Mengunduh tidak dapat diproses" #: rapid/rapid.py:2388 rapid/rapid.py:2391 #, python-format msgid "No backup device contains a valid folder for backing up %(filetype)s" msgstr "" #: rapid/rapid.py:2388 rapid/rapid.py:2843 rapid/rapid.py:3680 #: rapid/rpdfile.py:139 msgid "photos" msgstr "" #: rapid/rapid.py:2391 rapid/rapid.py:2838 rapid/rapid.py:3682 #: rapid/rpdfile.py:134 msgid "videos" msgstr "" #: rapid/rapid.py:2393 msgid "Backup problem" msgstr "" #: rapid/rapid.py:2802 msgid "About 1 second remaining" msgstr "Sisa 1 detik" #: rapid/rapid.py:2804 #, python-format msgid "About %i seconds remaining" msgstr "Sisa %i detik" #: rapid/rapid.py:2806 msgid "About 1 minute remaining" msgstr "Sisa 1 menit" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2811 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "Sisa %(minutes)i:%(seconds)02i menit" #: rapid/rapid.py:2833 rapid/rpdfile.py:129 msgid "photos and videos" msgstr "Foto dan Video" #: rapid/rapid.py:2835 rapid/rpdfile.py:131 msgid "photos or videos" msgstr "Foto dan Video" #: rapid/rapid.py:2840 rapid/preferencesdialog.py:1632 rapid/rpdfile.py:136 #: rapid/rpdfile.py:305 msgid "video" msgstr "" #. check subfolder preferences for bad values #: rapid/rapid.py:2845 rapid/preferencesdialog.py:1631 rapid/rpdfile.py:141 #: rapid/rpdfile.py:286 msgid "photo" msgstr "" #: rapid/rapid.py:2872 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "" #: rapid/rapid.py:2876 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "" #: rapid/rapid.py:2879 rapid/rapid.py:2935 msgid "warnings" msgstr "" #: rapid/rapid.py:2892 msgid "All downloads complete" msgstr "" #: rapid/rapid.py:2898 rapid/rapid.py:2907 rapid/rapid.py:2916 #: rapid/rapid.py:2925 rapid/rapid.py:2933 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "" #: rapid/rapid.py:2900 rapid/rapid.py:2918 #, python-format msgid "%(filetype)s downloaded" msgstr "" #: rapid/rapid.py:2909 rapid/rapid.py:2927 #, python-format msgid "%(filetype)s failed to download" msgstr "" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2970 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2977 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "" #: rapid/rapid.py:3331 msgid "From" msgstr "" #: rapid/rapid.py:3339 msgid "Auto Detect" msgstr "" #: rapid/rapid.py:3343 rapid/preferencesdialog.py:1337 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "" #: rapid/rapid.py:3384 msgid "Copy" msgstr "" #: rapid/rapid.py:3397 msgid "Move" msgstr "" #: rapid/rapid.py:3419 msgid "To" msgstr "" #: rapid/rapid.py:3426 rapid/rapid.py:4128 msgid "Photos:" msgstr "Foto:" #: rapid/rapid.py:3429 rapid/preferencesdialog.py:1174 msgid "Select a folder to download photos to" msgstr "" #: rapid/rapid.py:3441 rapid/rapid.py:4128 msgid "Videos:" msgstr "Video:" #: rapid/rapid.py:3443 rapid/preferencesdialog.py:1192 msgid "Select a folder to download videos to" msgstr "" #: rapid/rapid.py:3650 msgid "and" msgstr "dan" #: rapid/rapid.py:3655 msgid "Using backup devices" msgstr "" #: rapid/rapid.py:3657 msgid "Using backup device" msgstr "" #: rapid/rapid.py:3659 msgid "No backup devices detected" msgstr "" #: rapid/rapid.py:3686 msgid "Free space:" msgstr "Ruang kosong:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3698 #, python-format msgid "(%(file_type)s)" msgstr "" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3702 #, python-format msgid "%(free)s %(file_type)s" msgstr "" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3707 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3712 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3718 #, python-format msgid "%(free)s free" msgstr "" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3726 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "" #. user manually specified backup location #: rapid/rapid.py:3729 #, python-format msgid "Backing up to %(path)s" msgstr "" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3732 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" #: rapid/rapid.py:3739 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "" #: rapid/rapid.py:3768 msgid "Program preferences are invalid" msgstr "" #: rapid/rapid.py:3910 rapid/rpdfile.py:287 msgid "Photo" msgstr "Foto" #: rapid/rapid.py:3912 rapid/rpdfile.py:306 msgid "Video" msgstr "Video" #: rapid/rapid.py:3921 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "" #: rapid/rapid.py:3923 rapid/rapid.py:3937 rapid/rapid.py:3950 #, python-format msgid "Folder: %s" msgstr "" #: rapid/rapid.py:3935 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "" #: rapid/rapid.py:3948 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "" #: rapid/rapid.py:4034 msgid "Thumbnails" msgstr "Miniatur gambar" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:4089 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" #: rapid/rapid.py:4090 msgid "display debugging information when run from the command line" msgstr "" #: rapid/rapid.py:4091 msgid "only output errors to the command line" msgstr "" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:4093 msgid "list photo and video file extensions the program recognizes and exit" msgstr "" #: rapid/rapid.py:4095 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" #: rapid/rapid.py:4096 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "" #: rapid/rapid.py:4097 msgid "reset all program settings and preferences and exit" msgstr "" #: rapid/rapid.py:4110 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" #: rapid/rapid.py:4133 #, python-format msgid "and %s" msgstr "dan %s" #: rapid/rapid.py:4141 msgid "All settings and preferences have been reset" msgstr "" #: rapid/backupfile.py:149 rapid/backupfile.py:221 msgid "Backing up error" msgstr "" #: rapid/backupfile.py:151 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "" #: rapid/backupfile.py:153 rapid/backupfile.py:170 rapid/backupfile.py:223 #: rapid/subfolderfile.py:202 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" #: rapid/backupfile.py:156 rapid/backupfile.py:225 #, python-format msgid "Error: %(inst)s" msgstr "" #: rapid/backupfile.py:163 #, python-format msgid "Backup %(file_type)s overwritten" msgstr "" #: rapid/backupfile.py:166 #, python-format msgid "%(file_type)s not backed up" msgstr "" #: rapid/backupfile.py:168 #, python-format msgid "Backup of %(file_type)s already exists" msgstr "" #: rapid/backupfile.py:209 rapid/copyfiles.py:201 rapid/copyfiles.py:219 #: rapid/subfolderfile.py:217 rapid/subfolderfile.py:335 #: rapid/subfolderfile.py:456 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" #: rapid/copyfiles.py:214 msgid "An unknown error occurred" msgstr "" #: rapid/device.py:80 msgid "Device Detected" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "Teks" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "Nama Berkas" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "Metadata" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "Urutan" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "Tanggal gambar" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "Tanggal video" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "Hari ini" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "Kemarin" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "Nama" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "Ekstensi" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "Jumlah gambar" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "Jumlah video" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "ISO" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "Waktu pencahayaan" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "" #: rapid/preferencesdialog.py:1092 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1363 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1376 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1473 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1524 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1527 #, python-format msgid "Example: %s" msgstr "" #. Preferences list is now empty #: rapid/preferencesdialog.py:1617 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1762 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1764 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1765 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1949 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1951 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:329 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:327 msgid "filename" msgstr "" #: rapid/problemnotification.py:85 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:86 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:88 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:91 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:93 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:95 rapid/problemnotification.py:96 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "The %(filetype)s did not download correctly" msgstr "" #: rapid/problemnotification.py:101 rapid/problemnotification.py:102 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:105 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:111 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:115 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:116 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:117 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:119 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:210 msgid "" "File verification failed. The downloaded version is different from the " "original." msgstr "" #: rapid/problemnotification.py:213 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:216 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:235 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:237 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:239 rapid/problemnotification.py:300 #: rapid/problemnotification.py:312 rapid/problemnotification.py:339 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:240 rapid/problemnotification.py:301 #: rapid/problemnotification.py:313 rapid/problemnotification.py:340 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:252 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:269 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:271 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:273 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:277 rapid/problemnotification.py:325 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:279 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:283 rapid/problemnotification.py:327 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:288 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:296 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:298 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:308 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:310 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:321 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:323 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:335 #, python-format msgid "" "File verification failed on %(volume)s. The backed up version is different " "from the downloaded version." msgstr "" #: rapid/problemnotification.py:337 msgid "File verification failed on these devices: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:355 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:357 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:366 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:368 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:388 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:390 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:393 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:395 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:404 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:406 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:428 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:430 rapid/subfolderfile.py:261 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:436 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:437 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:439 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:440 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:443 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:159 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:169 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:81 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:325 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:406 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:407 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:485 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:486 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:1 msgid "About..." msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Check All Photos" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "Check All Videos" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "_Get Help Online..." msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "Help" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "Preferences" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Quit" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Refresh" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Report a Problem..." msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:19 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:20 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:21 msgid "_View" msgstr "" #: rapid/glade3/rapid.ui.h:22 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:23 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:24 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:25 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:26 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:27 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:28 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:29 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Back up" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Verify files as they are downloaded" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:100 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:101 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" rapid-photo-downloader-0.4.10/po/ar.po0000644000175000017500000014643212267511504017771 0ustar damondamon00000000000000# Arabic translation for rapid # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the rapid package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: rapid\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-06-23 04:00-0500\n" "PO-Revision-Date: 2012-09-09 08:00+0000\n" "Last-Translator: Ahmed Shubbar \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-09-11 00:24+0000\n" "X-Generator: Launchpad (build 15924)\n" #. Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html #: rapid/rapid.py:112 rapid/rapid.py:1784 rapid/glade3/rapid.ui.h:1 msgid "Rapid Photo Downloader" msgstr "" #: rapid/rapid.py:117 #, python-format msgid "" "%(date)s\n" "%(time)s" msgstr "" #: rapid/rapid.py:119 #, python-format msgid "%(date)s %(time)s" msgstr "" #: rapid/rapid.py:122 #, python-format msgid "%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #. Device refers to a thing like a camera, memory card in its reader, #. external hard drive, Portable Storage Device, etc. #: rapid/rapid.py:157 msgid "Device" msgstr "جهاز" #. Size refers to the total size of images on the device, typically in #. MB or GB #: rapid/rapid.py:175 msgid "Size" msgstr "الحجم" #: rapid/rapid.py:178 msgid "Download Progress" msgstr "اكتمال التنزيل" #: rapid/rapid.py:336 #, python-format msgid "%(device)s did not unmount" msgstr "" #. This refers to when a device like a hard drive is having its contents scanned, #. looking for photos or videos. It is visible initially in the progress bar for each device #. (which normally holds "x photos and videos"). #. It maybe displayed only briefly if the contents of the device being scanned is small. #: rapid/rapid.py:1216 msgid "scanning..." msgstr "جاري المسح ..." #. this location is a human readable explanation for /, and is inserted into Downloading from %(location)s #: rapid/rapid.py:1782 msgid "the root of the file system" msgstr "" #. message in dialog box which asks the user if they really want to be downloading from this location #: rapid/rapid.py:1786 #, python-format msgid "Downloading from %(location)s." msgstr "تنزيل من %(location)s" #: rapid/rapid.py:1787 msgid "" "Do you really want to download from here? On some systems, scanning this " "location can take a very long time." msgstr "" "هل فعلا تريد التنزيل من هنا؟ في بعض الانظمة, مسح هذا المكان يستغرق وقتا " "طويلا جدا." #: rapid/rapid.py:2209 msgid "Download" msgstr "تنزيل" #: rapid/rapid.py:2212 msgid "Pause" msgstr "إيقاف" #: rapid/rapid.py:2317 #, python-format msgid "" "These download folders are invalid:\n" "%(folder1)s\n" "%(folder2)s" msgstr "" "مجلدات التنزيل هذا غير صحيحة: \n" "%(folder1)s\n" "%(folder2)s" #: rapid/rapid.py:2320 #, python-format msgid "" "This download folder is invalid:\n" "%s" msgstr "" "مجلد التنزيل هذا غير صحيح: \n" "%s" #: rapid/rapid.py:2321 msgid "Download cannot proceed" msgstr "لا يمكن بدء التنزيل" #: rapid/rapid.py:2700 msgid "About 1 second remaining" msgstr "تبقى حوالي ثانية واحدة" #: rapid/rapid.py:2702 #, python-format msgid "About %i seconds remaining" msgstr "تبقى حوالي %i ثانية" #: rapid/rapid.py:2704 msgid "About 1 minute remaining" msgstr "تبقى حوالي دقيقة واحدة" #. Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. #. '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount #. of time the download has remainging, e.g. 'About 5:36 minutes remaining' #: rapid/rapid.py:2709 #, python-format msgid "About %(minutes)i:%(seconds)02i minutes remaining" msgstr "تبقى حوالي %(minutes)i:%(seconds)02i دقيقة" #: rapid/rapid.py:2731 rapid/rpdfile.py:123 msgid "photos and videos" msgstr "صور وفيديو" #: rapid/rapid.py:2733 rapid/rpdfile.py:125 msgid "photos or videos" msgstr "صور وفيديو" #: rapid/rapid.py:2736 rapid/rapid.py:3558 rapid/rpdfile.py:128 msgid "videos" msgstr "فيديو" #: rapid/rapid.py:2738 rapid/preferencesdialog.py:1620 rapid/rpdfile.py:130 #: rapid/rpdfile.py:291 msgid "video" msgstr "فيديو" #: rapid/rapid.py:2741 rapid/rapid.py:3556 rapid/rpdfile.py:133 msgid "photos" msgstr "صور" #. check subfolder preferences for bad values #: rapid/rapid.py:2743 rapid/preferencesdialog.py:1619 rapid/rpdfile.py:135 #: rapid/rpdfile.py:272 msgid "photo" msgstr "صورة" #: rapid/rapid.py:2770 #, python-format msgid "%(noFiles)s %(filetypes)s downloaded" msgstr "%(noFiles)s %(filetypes)s تم تنزيلها" #: rapid/rapid.py:2774 #, python-format msgid "%(noFiles)s %(filetypes)s failed to download" msgstr "%(noFiles)s %(filetypes)s فشل تنزيلها" #: rapid/rapid.py:2777 rapid/rapid.py:2829 msgid "warnings" msgstr "تحذير" #: rapid/rapid.py:2786 msgid "All downloads complete" msgstr "كل التنزيلات أكتملت" #: rapid/rapid.py:2792 rapid/rapid.py:2801 rapid/rapid.py:2810 #: rapid/rapid.py:2819 rapid/rapid.py:2827 #, python-format msgid "%(number)s %(numberdownloaded)s" msgstr "%(number)s %(numberdownloaded)s" #: rapid/rapid.py:2794 rapid/rapid.py:2812 #, python-format msgid "%(filetype)s downloaded" msgstr "%(filetype)s نوع تم تنزيلها" #: rapid/rapid.py:2803 rapid/rapid.py:2821 #, python-format msgid "%(filetype)s failed to download" msgstr "%(filetype)s نوع فشل تنزيلها" #. e.g.: 3 of 205 photos and videos (202 remaining) #: rapid/rapid.py:2860 #, python-format msgid "%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)" msgstr "" "اكتمل %(number)s من %(total)s من نوع %(filetypes)s (تبقى %(remaining)s)" #. e.g.: 205 of 205 photos and videos #: rapid/rapid.py:2867 #, python-format msgid "%(number)s of %(total)s %(filetypes)s" msgstr "%(number)s من %(total)s من الـ %(filetypes)s" #: rapid/rapid.py:3222 msgid "From" msgstr "مِن" #: rapid/rapid.py:3230 msgid "Auto Detect" msgstr "اكتشاف تلقائي" #: rapid/rapid.py:3234 rapid/preferencesdialog.py:1327 #, python-format msgid "Select a folder containing %(file_types)s" msgstr "اختر مجلد يحتوى %(file_types)s" #: rapid/rapid.py:3275 msgid "Copy" msgstr "نسخ" #: rapid/rapid.py:3288 msgid "Move" msgstr "انقل" #: rapid/rapid.py:3310 msgid "To" msgstr "إلى" #: rapid/rapid.py:3317 rapid/rapid.py:3986 msgid "Photos:" msgstr "صور:" #: rapid/rapid.py:3320 rapid/preferencesdialog.py:1164 msgid "Select a folder to download photos to" msgstr "اختر مجلد لتنزيل الصور اليه" #: rapid/rapid.py:3332 rapid/rapid.py:3986 msgid "Videos:" msgstr "مقاطع فيديو:" #: rapid/rapid.py:3334 rapid/preferencesdialog.py:1182 msgid "Select a folder to download videos to" msgstr "اختر مجلد لتنزيل مقاطع الفيديو إليه:" #: rapid/rapid.py:3526 msgid "and" msgstr "و" #: rapid/rapid.py:3531 msgid "Using backup devices" msgstr "جاري استخدام اجهزة الارشفة" #: rapid/rapid.py:3533 msgid "Using backup device" msgstr "جاري استخدام جهاز الارشفة" #: rapid/rapid.py:3535 msgid "No backup devices detected" msgstr "لم نعثر على جهاز أرشفة" #: rapid/rapid.py:3562 msgid "Free space:" msgstr "المساحة الخالية:" #. (videos) or (photos) will be appended to the free space message displayed to the #. user in the status bar. #. you should only translate this if your language does not use parantheses #: rapid/rapid.py:3574 #, python-format msgid "(%(file_type)s)" msgstr "(%(file_type)s)" #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #: rapid/rapid.py:3578 #, python-format msgid "%(free)s %(file_type)s" msgstr "%(free)s %(file_type)s" #. Inserted in the middle of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3583 msgid "; " msgstr "; " #. Inserted at the end of the statusbar message concerning the amount of freespace #. Used to differentiate between two different file systems #. e.g. Free space: 21.3GB (photos); 14.7GB (videos). #: rapid/rapid.py:3588 msgid "." msgstr "." #. Freespace available on the filesystem for downloading to #. Displayed in status bar message on main window #. e.g. 14.7GB available #: rapid/rapid.py:3594 #, python-format msgid "%(free)s free" msgstr "%(free)s خالية" #. user manually specified the same location for photos and video backups #: rapid/rapid.py:3602 #, python-format msgid "Backing up photos and videos to %(path)s" msgstr "جاري ارشفة الصور ومقاطع الفيديو الى المسار %(path)s" #. user manually specified backup location #: rapid/rapid.py:3605 #, python-format msgid "Backing up to %(path)s" msgstr "جاري الارشفة الى المسار %(path)s" #. user manually specified different locations for photo and video backups #: rapid/rapid.py:3608 #, python-format msgid "Backing up photos to %(path)s and videos to %(path2)s" msgstr "" "جاري أرشفة الصور الى المسار %(path)s ومقاطع الفيديو الى المسار %(path2)s" #: rapid/rapid.py:3615 #, python-format msgid "%(freespace)s. %(backuppaths)s." msgstr "%(freespace)s. %(backuppaths)s." #: rapid/rapid.py:3644 msgid "Program preferences are invalid" msgstr "خيارات البرنامج غير صحيحة" #: rapid/rapid.py:3770 rapid/rpdfile.py:273 msgid "Photo" msgstr "صورة" #: rapid/rapid.py:3772 rapid/rpdfile.py:292 msgid "Video" msgstr "مقطع فيديو" #: rapid/rapid.py:3781 #, python-format msgid "%(file_type)s download folder does not exist" msgstr "مجلد التنزيل لـ %(file_type)s غير موجود" #: rapid/rapid.py:3783 rapid/rapid.py:3797 rapid/rapid.py:3810 #, python-format msgid "Folder: %s" msgstr "مجلد: %s" #: rapid/rapid.py:3795 #, python-format msgid "%(file_type)s download folder is invalid" msgstr "مجلد التنزيل لـ %(file_type)s غير صحيح" #: rapid/rapid.py:3808 #, python-format msgid "%(file_type)s download folder is not writable" msgstr "مجلد التنزيل لـ %(file_type)s لا يمكن الكتابة فيه" #: rapid/rapid.py:3894 msgid "Thumbnails" msgstr "صويرات" #. Translators: this text is displayed to the user when they request information on the command line options. #. The text %default should not be modified or left out. #: rapid/rapid.py:3949 #, python-format msgid "" "display program information on the command line as the program runs " "(default: %default)" msgstr "" "اعرض معلومات البرنامج على سطر الأوامر خلال عمل البرنامج (الافتراضي: %default)" #: rapid/rapid.py:3950 msgid "display debugging information when run from the command line" msgstr "اعرض معلومات التدقيق (ديبوق) عند العمل من سطر الأوامر" #: rapid/rapid.py:3951 msgid "only output errors to the command line" msgstr "فقط اخرج الأخطاء الى سطر الأوامر" #. image file extensions are recognized RAW files plus TIFF and JPG #: rapid/rapid.py:3953 msgid "list photo and video file extensions the program recognizes and exit" msgstr "اعرض امتدادات الصور ومقاطع الفيديوات التي يتعرف عليها البرنامج واغلق" #: rapid/rapid.py:3955 msgid "" "automatically detect devices from which to download, overwriting existing " "program preferences" msgstr "" "كشف تلقائي للاجهزة التي يمكن التنزيل منها, وتخطى بذلك الاعدادات الحالية " "للبرنامج." #: rapid/rapid.py:3956 msgid "" "manually specify the PATH of the device from which to download, overwriting " "existing program preferences" msgstr "حدد مسار جهاز التنزيل يدويا, وتخطى بذلك الاعدادات الحالية للبرنامج" #: rapid/rapid.py:3957 msgid "reset all program settings and preferences and exit" msgstr "استعد كل اعدادات البرنامج الافتراضية واغلق" #: rapid/rapid.py:3970 msgid "" "Error: specify device auto-detection or manually specify a device's path " "from which to download, but do not do both." msgstr "" "خطأ: اختر كشف جهاز التنزيل تلقائيا أو حدد مسار جهاز التنزيل يدويا, ولا تختار " "الاثنين معا." #: rapid/rapid.py:3991 #, python-format msgid "and %s" msgstr "و %s" #: rapid/rapid.py:3999 msgid "All settings and preferences have been reset" msgstr "كل الاعدادات والخيارات تم استعادتها للافتراضي" #: rapid/backupfile.py:157 rapid/backupfile.py:180 msgid "Backing up error" msgstr "خطأ اثناء الأرشفة" #: rapid/backupfile.py:159 #, python-format msgid "Destination directory could not be created: %(directory)s\n" msgstr "لم نستطع إنشاء المجلد الهدف: %(directory)s\n" #: rapid/backupfile.py:161 rapid/backupfile.py:182 rapid/subfolderfile.py:199 #, python-format msgid "" "Source: %(source)s\n" "Destination: %(destination)s" msgstr "" "المصدر: %(source)s\n" "الهدف: %(destination)s" #: rapid/backupfile.py:164 rapid/backupfile.py:184 #, python-format msgid "Error: %(inst)s" msgstr "خطأ: %(inst)s" #: rapid/copyfiles.py:163 rapid/subfolderfile.py:214 #: rapid/subfolderfile.py:347 rapid/subfolderfile.py:365 #, python-format msgid "" "%(problem)s\n" "File: %(file)s" msgstr "" "%(problem)s\n" "الملف: %(file)s" #: rapid/device.py:80 msgid "Device Detected" msgstr "تم كشف جهاز" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:89 msgid "" "Should this device or partition be used to download photos or videos from?" msgstr "" "هل تريد استخدام هذا الجهاز أو جزء القرص الصلب لإستيراد صور ومقاطع فيديو؟" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt #: rapid/device.py:108 msgid "_Remember this choice" msgstr "تذكر هذا الخيار" #: rapid/downloadtracker.py:299 msgid "MB/s" msgstr "م.بايت/ث" #: rapid/generatenameconfig.py:151 msgid "Date time" msgstr "التاريخ الوقت" #: rapid/generatenameconfig.py:152 msgid "Text" msgstr "نص" #: rapid/generatenameconfig.py:153 msgid "Filename" msgstr "اسم الملف" #: rapid/generatenameconfig.py:154 msgid "Metadata" msgstr "البيانات الوصفية" #: rapid/generatenameconfig.py:155 msgid "Sequences" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/generatenameconfig.py:157 rapid/preferencesdialog.py:577 msgid "Job code" msgstr "رمز المهمة" #: rapid/generatenameconfig.py:158 msgid "Image date" msgstr "تاريخ الصورة" #: rapid/generatenameconfig.py:159 msgid "Video date" msgstr "تاريخ مقطع الفيديو" #: rapid/generatenameconfig.py:160 msgid "Today" msgstr "اليوم" #: rapid/generatenameconfig.py:161 msgid "Yesterday" msgstr "الأمس" #. Translators: Download time is the time and date that the download started (when the user clicked the Download button) #: rapid/generatenameconfig.py:163 msgid "Download time" msgstr "وقت التنزيل" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:165 msgid "Name + extension" msgstr "الاسم + الامتداد" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:167 msgid "Name" msgstr "الاسم" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:169 msgid "Extension" msgstr "امتداد" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:171 msgid "Image number" msgstr "رقم الصورة" #: rapid/generatenameconfig.py:172 msgid "Video number" msgstr "رقم مقطع الفيديو" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:174 msgid "Aperture" msgstr "فتحة" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:176 msgid "ISO" msgstr "الحساسية (ايزو)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:178 msgid "Exposure time" msgstr "التعريض" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:180 msgid "Focal length" msgstr "الطول البؤري" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:182 msgid "Camera make" msgstr "مصنع الكاميرا" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:184 msgid "Camera model" msgstr "موديل الكاميرا" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:186 msgid "Short camera model" msgstr "موديل الكاميرا المختصر" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:188 msgid "Hyphenated short camera model" msgstr "موديل الكاميرا المختصر بوصلة" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:190 msgid "Serial number" msgstr "الرقم التسلسلي" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:192 msgid "Shutter count" msgstr "تعداد شغل المصراع" #. File number currently refers to the Exif value Exif.Canon.FileNumber #: rapid/generatenameconfig.py:194 msgid "File number" msgstr "رقم الملف" #. Only the folder component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:196 msgid "Folder only" msgstr "مجلد فقط" #. The folder and file component of the Exif.Canon.FileNumber value #: rapid/generatenameconfig.py:198 msgid "Folder and file" msgstr "مجلد وملف" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata #: rapid/generatenameconfig.py:200 msgid "Owner name" msgstr "اسم المالك" #: rapid/generatenameconfig.py:201 msgid "Codec" msgstr "نمط الترميز" #: rapid/generatenameconfig.py:202 msgid "Width" msgstr "العرض" #: rapid/generatenameconfig.py:203 msgid "Height" msgstr "الطول" #: rapid/generatenameconfig.py:204 msgid "Length" msgstr "طول المقطع" #: rapid/generatenameconfig.py:205 msgid "Frames Per Second" msgstr "لقطات لكل ثانية" #: rapid/generatenameconfig.py:206 msgid "Artist" msgstr "الفنان" #: rapid/generatenameconfig.py:207 msgid "Copyright" msgstr "حقوق المؤلف" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:209 msgid "Downloads today" msgstr "عدد الملفات المستوردة اليوم" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:211 msgid "Session number" msgstr "رقم الجلسة" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:213 msgid "Subfolder number" msgstr "عدد المجلد الفرعي" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers #: rapid/generatenameconfig.py:215 msgid "Stored number" msgstr "الرقم المخزن" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters #: rapid/generatenameconfig.py:217 msgid "Sequence letter" msgstr "احرف التسلسل" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:219 msgid "All digits" msgstr "كل خانات الارقام" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:221 msgid "Last digit" msgstr "الخانة الاخيرة" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:223 msgid "Last 2 digits" msgstr "الخانتان الاخيرتان" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:225 msgid "Last 3 digits" msgstr "الخانات الثلاث الاخيرة" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename #: rapid/generatenameconfig.py:227 msgid "Last 4 digits" msgstr "الخانات الاربع الاخيرة" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:229 msgid "Original Case" msgstr "" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:231 msgid "UPPERCASE" msgstr "أحرف كبيرة" #. Translators: please not the capitalization of this text, and keep it the same if your language features capitalization #: rapid/generatenameconfig.py:233 msgid "lowercase" msgstr "أحرف صغيرة" #: rapid/generatenameconfig.py:234 msgid "One digit" msgstr "خانة واحدة" #: rapid/generatenameconfig.py:235 msgid "Two digits" msgstr "خانتان" #: rapid/generatenameconfig.py:236 msgid "Three digits" msgstr "ثلاث خانات" #: rapid/generatenameconfig.py:237 msgid "Four digits" msgstr "اربع خانات" #: rapid/generatenameconfig.py:238 msgid "Five digits" msgstr "خمس خانات" #: rapid/generatenameconfig.py:239 msgid "Six digits" msgstr "ست خانات" #: rapid/generatenameconfig.py:240 msgid "Seven digits" msgstr "سبع خانات" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:242 msgid "Subseconds" msgstr "جزء من الثانية" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:244 msgid "YYYYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:246 msgid "YYYY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:248 msgid "YYMMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:250 msgid "YY-MM-DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:252 msgid "MMDDYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:254 msgid "MMDDYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:256 msgid "MMDD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:258 msgid "DDMMYYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:260 msgid "DDMMYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:262 msgid "YYYY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:264 msgid "YY" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:266 msgid "MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:268 msgid "DD" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:270 msgid "Month (full)" msgstr "الشهر (كاملا)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:272 msgid "Month (abbreviated)" msgstr "الشهر (مختصر)" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:274 msgid "HHMMSS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:276 msgid "HHMM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:278 msgid "HH-MM-SS" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:280 msgid "HH-MM" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:282 msgid "HH" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:284 msgid "MM (minutes)" msgstr "" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime #: rapid/generatenameconfig.py:286 msgid "SS" msgstr "" #: rapid/preferencesdialog.py:374 #, python-format msgid "Subfolder preferences should not start with a %s" msgstr "خيارات المجلد الفرعي يجب أن لا تبدأ بـ %s" #: rapid/preferencesdialog.py:376 #, python-format msgid "Subfolder preferences should not end with a %s" msgstr "خيارات المجلد الفرعي يجب أن لا تبتهي بـ %s" #: rapid/preferencesdialog.py:380 #, python-format msgid "Subfolder preferences should not contain two %s one after the other" msgstr "خيارات المجلد الفرعي يبجب أن لا تحتوى %s اثنتان الواحد تلوى الاخرى" #: rapid/preferencesdialog.py:439 rapid/preferencesdialog.py:700 msgid "Remove all Job Codes?" msgstr "أزل كل برمجات المهمة؟" #: rapid/preferencesdialog.py:440 rapid/preferencesdialog.py:717 msgid "Should all Job Codes be removed?" msgstr "هل تريد إزالة كل برمجات المهمة؟" #: rapid/preferencesdialog.py:446 msgid "Remove all Remembered Paths?" msgstr "أزل كل المسارات المحفوظة؟" #: rapid/preferencesdialog.py:447 msgid "Should all remembered paths be removed?" msgstr "هل تريد إزالة كلم المسارات المحفوظة؟" #: rapid/preferencesdialog.py:453 msgid "Remove all Ignored Paths?" msgstr "أزل كل المسارات المتجاهلة؟" #: rapid/preferencesdialog.py:454 msgid "Should all ignored paths be removed?" msgstr "هل تريد إزالة كل المسارات المتجاهلة؟" #: rapid/preferencesdialog.py:465 msgid "Error in Photo Rename preferences" msgstr "خطأ في خيارات تغيير أسماء الصور" #: rapid/preferencesdialog.py:645 msgid "Error in Video Rename preferences" msgstr "خطأ في إعدادات تغيير أسماء مقاطع الفيديو" #: rapid/preferencesdialog.py:666 msgid "Error in Photo Download Subfolders preferences" msgstr "خطأ في إعدادات المجلدات الفرعية لتنزيل الصور" #: rapid/preferencesdialog.py:683 msgid "Error in Video Download Subfolders preferences" msgstr "خطأ في إعدادات المجلدات الفرعية لتنزيل مقاطع الفيديو" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:742 msgid "Enter a Job Code" msgstr "ادخل برمجة مهمة" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:758 msgid "Enter a new Job Code, or select a previous one" msgstr "أدخل برمجة مهمة جديدة, او استخدم برمجة سابقة" #. Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode #: rapid/preferencesdialog.py:761 msgid "Enter a new Job Code" msgstr "ادخل برمجة مهمة جديدة" #: rapid/preferencesdialog.py:766 msgid "Job Code:" msgstr "برمجة مهمة:" #: rapid/preferencesdialog.py:822 msgid "Enter a Path to Ignore" msgstr "ادخل مسار لتجاهله" #: rapid/preferencesdialog.py:834 msgid "Specify a path that will never be scanned for photos or videos" msgstr "حدد مسار لن يتم أبدا مسح ما فيه من صور أو مقاطع فيديو" #: rapid/preferencesdialog.py:839 msgid "Path:" msgstr "مسار:" #: rapid/preferencesdialog.py:1082 msgid "Job Code" msgstr "" #: rapid/preferencesdialog.py:1353 msgid "Select a folder in which to backup photos" msgstr "" #: rapid/preferencesdialog.py:1366 msgid "Select a folder in which to backup videos" msgstr "" #. Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees #: rapid/preferencesdialog.py:1461 msgid "" "Warning: There is insufficient metadata to fully generate the " "name. Please use other renaming options." msgstr "" #: rapid/preferencesdialog.py:1512 msgid "" "Warning: There is insufficient metadata to fully generate " "subfolders. Please use other subfolder naming options." msgstr "" #. Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see #: rapid/preferencesdialog.py:1515 #, python-format msgid "Example: %s" msgstr "" #. Preferences list is now empty #: rapid/preferencesdialog.py:1605 #, python-format msgid "" "The %(filetype)s subfolder preferences entered are invalid and cannot be " "used.\n" "They will be reset to their default values." msgstr "" #: rapid/preferencesdialog.py:1750 #, python-format msgid "" "The following regular expressions are invalid, and will be removed unless " "you correct them:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1752 #, python-format msgid "" "This regular expression is invalid, and will be removed unless you correct " "it:\n" " %s" msgstr "" #: rapid/preferencesdialog.py:1753 msgid "Invalid regular expression" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1934 msgid "externaldrive1" msgstr "" #. Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. #: rapid/preferencesdialog.py:1936 msgid "externaldrive2" msgstr "" #: rapid/prefsrapid.py:127 msgid "New York" msgstr "" #: rapid/prefsrapid.py:128 msgid "Manila" msgstr "" #: rapid/prefsrapid.py:128 msgid "Prague" msgstr "" #: rapid/prefsrapid.py:128 msgid "Helsinki" msgstr "" #: rapid/prefsrapid.py:128 msgid "Wellington" msgstr "" #: rapid/prefsrapid.py:129 msgid "Tehran" msgstr "" #: rapid/prefsrapid.py:129 msgid "Kampala" msgstr "" #: rapid/prefsrapid.py:129 msgid "Paris" msgstr "" #: rapid/prefsrapid.py:129 msgid "Berlin" msgstr "" #: rapid/prefsrapid.py:129 msgid "Sydney" msgstr "" #: rapid/prefsrapid.py:130 msgid "Budapest" msgstr "" #: rapid/prefsrapid.py:130 msgid "Rome" msgstr "" #: rapid/prefsrapid.py:130 msgid "Moscow" msgstr "" #: rapid/prefsrapid.py:130 msgid "Delhi" msgstr "" #: rapid/prefsrapid.py:130 msgid "Warsaw" msgstr "" #: rapid/prefsrapid.py:131 msgid "Jakarta" msgstr "" #: rapid/prefsrapid.py:131 msgid "Madrid" msgstr "" #: rapid/prefsrapid.py:131 msgid "Stockholm" msgstr "" #. components #: rapid/problemnotification.py:27 rapid/subfolderfile.py:358 msgid "subfolder" msgstr "" #: rapid/problemnotification.py:28 rapid/subfolderfile.py:356 msgid "filename" msgstr "" #: rapid/problemnotification.py:81 #, python-format msgid "Date time value %s appears invalid." msgstr "" #: rapid/problemnotification.py:82 msgid "Filename does not have an extension." msgstr "" #. a number component is something like the 8346 in IMG_8346.JPG #: rapid/problemnotification.py:84 msgid "Filename does not have a number component." msgstr "" #: rapid/problemnotification.py:85 #, python-format msgid "Error generating component %s." msgstr "" #. a generic problem #: rapid/problemnotification.py:87 #, python-format msgid "%(filetype)s metadata cannot be read" msgstr "" #: rapid/problemnotification.py:89 #, python-format msgid "%(filetype)s %(area)s could not be generated" msgstr "" #: rapid/problemnotification.py:91 rapid/problemnotification.py:92 #, python-format msgid "An error occurred when copying the %(filetype)s" msgstr "" #: rapid/problemnotification.py:94 rapid/problemnotification.py:95 #, python-format msgid "%(filetype)s already exists" msgstr "" #: rapid/problemnotification.py:98 #, python-format msgid "" "%(filetype)s could not be backed up because no suitable backup locations " "were found." msgstr "" #: rapid/problemnotification.py:103 #, python-format msgid "" "%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s " "on %(image2_date)s at %(image2_time)s." msgstr "" #: rapid/problemnotification.py:104 #, python-format msgid "%(filetype)s was already downloaded" msgstr "" #: rapid/problemnotification.py:108 #, python-format msgid "" "The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique " "identifier '%(identifier)s' added." msgstr "" #: rapid/problemnotification.py:109 #, python-format msgid "The existing %(filetype)s was last modified on %(date)s at %(time)s." msgstr "" #: rapid/problemnotification.py:110 #, python-format msgid "There is no data with which to name the %(filetype)s." msgstr "" #: rapid/problemnotification.py:112 #, python-format msgid "Error: %(errorno)s %(strerror)s" msgstr "" #: rapid/problemnotification.py:202 msgid "The metadata might be corrupt." msgstr "" #: rapid/problemnotification.py:205 msgid "" "The filename, extension and Exif information indicate it has already been " "downloaded." msgstr "" #: rapid/problemnotification.py:224 #, python-format msgid " It was backed up to %(volume)s" msgstr "" #: rapid/problemnotification.py:226 msgid " It was backed up to these devices: " msgstr "" #: rapid/problemnotification.py:228 rapid/problemnotification.py:289 #: rapid/problemnotification.py:301 #, python-format msgid "%s, " msgstr "" #: rapid/problemnotification.py:229 rapid/problemnotification.py:290 #: rapid/problemnotification.py:302 #, python-format msgid "%(volumes)s and %(final_volume)s." msgstr "" #: rapid/problemnotification.py:241 #, python-format msgid "" "Photos detected with the same filenames, but taken at different times: " "%(details)s" msgstr "" #: rapid/problemnotification.py:258 #, python-format msgid "An error occurred when backing up on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:260 #, python-format msgid "An error occurred when backing up on %(volume)s." msgstr "" #: rapid/problemnotification.py:262 msgid "Errors occurred when backing up on the following backup devices: " msgstr "" #: rapid/problemnotification.py:266 rapid/problemnotification.py:314 #, python-format msgid "%(volume)s (%(inst)s), " msgstr "" #: rapid/problemnotification.py:268 #, python-format msgid "%(volume)s, " msgstr "" #: rapid/problemnotification.py:272 rapid/problemnotification.py:316 #, python-format msgid "%(volumes)s and %(volume)s (%(inst)s)." msgstr "" #: rapid/problemnotification.py:277 #, python-format msgid "%(volumes)s and %(volume)s." msgstr "" #: rapid/problemnotification.py:285 #, python-format msgid "Backup already exists on %(volume)s." msgstr "" #: rapid/problemnotification.py:287 msgid "Backups already exist in these locations: " msgstr "" #: rapid/problemnotification.py:297 #, python-format msgid "Backup overwritten on %(volume)s." msgstr "" #: rapid/problemnotification.py:299 msgid "Backups overwritten on these devices: " msgstr "" #: rapid/problemnotification.py:310 #, python-format msgid "An error occurred when creating directories on %(volume)s: %(inst)s." msgstr "" #: rapid/problemnotification.py:312 msgid "" "Errors occurred when creating directories on the following backup devices: " msgstr "" #: rapid/problemnotification.py:323 #, python-format msgid "%(previousproblem)s Additionally, %(newproblem)s" msgstr "" #: rapid/problemnotification.py:331 #, python-format msgid " Furthermore, there were %(problems)s." msgstr "" #: rapid/problemnotification.py:333 #, python-format msgid " Furthermore, there was a %(problem)s." msgstr "" #: rapid/problemnotification.py:342 #, python-format msgid "The %(type)s metadata is missing." msgstr "" #: rapid/problemnotification.py:344 msgid "The following metadata is missing: " msgstr "" #: rapid/problemnotification.py:347 #, python-format msgid "%(missing_metadata_elements)s and %(final_missing_metadata_element)s." msgstr "" #: rapid/problemnotification.py:364 msgid "Problems in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:366 msgid "Problem in subfolder and filename generation" msgstr "" #: rapid/problemnotification.py:369 #, python-format msgid "Problems in %s generation" msgstr "" #: rapid/problemnotification.py:371 #, python-format msgid "Problem in %s generation" msgstr "" #: rapid/problemnotification.py:380 #, python-format msgid "%(filetype)s already exists, but it was backed up" msgstr "" #: rapid/problemnotification.py:382 #, python-format msgid "An error occurred when copying the %(filetype)s, but it was backed up" msgstr "" #: rapid/problemnotification.py:402 msgid "Multiple problems were encountered" msgstr "" #: rapid/problemnotification.py:404 rapid/subfolderfile.py:233 msgid "Photos detected with the same filenames, but taken at different times" msgstr "" #: rapid/problemnotification.py:410 msgid "there were errors backing up" msgstr "" #: rapid/problemnotification.py:411 msgid "There were errors backing up" msgstr "" #: rapid/problemnotification.py:413 msgid "there was an error backing up" msgstr "" #: rapid/problemnotification.py:414 msgid "There was an error backing up" msgstr "" #. e.g. #: rapid/problemnotification.py:417 #, python-format msgid "%(previousproblem)s, and %(backinguperror)s" msgstr "" #: rapid/rpdfile.py:153 #, python-format msgid "%(number)s %(filetypes)s" msgstr "" #: rapid/rpdfile.py:163 #, python-format msgid "scanning (found %(photos)s photos and %(videos)s videos)..." msgstr "" #: rapid/subfolderfile.py:80 #, python-format msgid "%(hour)s:%(minute)s:%(second)s:%(subsecond)s" msgstr "" #: rapid/subfolderfile.py:301 msgid "Photo has already been downloaded" msgstr "" #: rapid/subfolderfile.py:302 #, python-format msgid "Source: %(source)s" msgstr "" #: rapid/subfolderfile.py:354 msgid "subfolder and filename" msgstr "" #: rapid/subfolderfile.py:393 msgid "Failed to create download subfolder" msgstr "" #: rapid/subfolderfile.py:394 #, python-format msgid "Path: %s" msgstr "" #: rapid/glade3/rapid.ui.h:2 msgid "_File" msgstr "" #: rapid/glade3/rapid.ui.h:3 msgid "Download / Pause" msgstr "" #: rapid/glade3/rapid.ui.h:4 msgid "_Select" msgstr "" #: rapid/glade3/rapid.ui.h:5 msgid "Select All Without _Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:6 msgid "Select All Wit_h Job Code" msgstr "" #: rapid/glade3/rapid.ui.h:7 msgid "_View" msgstr "" #: rapid/glade3/rapid.ui.h:8 msgid "_Error Log" msgstr "" #: rapid/glade3/rapid.ui.h:9 msgid "_Clear Completed Downloads" msgstr "" #: rapid/glade3/rapid.ui.h:10 msgid "Previous File" msgstr "" #: rapid/glade3/rapid.ui.h:11 msgid "Next File" msgstr "" #: rapid/glade3/rapid.ui.h:12 msgid "_Help" msgstr "" #: rapid/glade3/rapid.ui.h:13 msgid "_Make a Donation..." msgstr "" #: rapid/glade3/rapid.ui.h:14 msgid "_Translate this Application..." msgstr "" #: rapid/glade3/rapid.ui.h:15 msgid "_Check All" msgstr "" #: rapid/glade3/rapid.ui.h:16 msgid "_Uncheck All" msgstr "" #: rapid/glade3/rapid.ui.h:17 msgid "_Include in download" msgstr "" #: rapid/glade3/rapid.ui.h:18 msgid "_Download" msgstr "" #: rapid/glade3/prefs.ui.h:1 msgid "Preferences: Rapid Photo Downloader" msgstr "" #: rapid/glade3/prefs.ui.h:2 msgid "Photo Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:3 msgid "Example: /home/user/Pictures" msgstr "" #: rapid/glade3/prefs.ui.h:4 msgid "Download Subfolders" msgstr "" #: rapid/glade3/prefs.ui.h:5 msgid "Download folder:" msgstr "" #: rapid/glade3/prefs.ui.h:6 msgid "" "Choose the download folder. Subfolders for the downloaded photos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:7 msgid "Download Folder" msgstr "" #: rapid/glade3/prefs.ui.h:8 msgid "Photo Folders" msgstr "" #: rapid/glade3/prefs.ui.h:9 msgid "Photo Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:10 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:11 msgid " " msgstr "" #: rapid/glade3/prefs.ui.h:12 msgid "New:" msgstr "" #: rapid/glade3/prefs.ui.h:13 msgid "Original:" msgstr "" #: rapid/glade3/prefs.ui.h:14 msgid "Example" msgstr "" #: rapid/glade3/prefs.ui.h:15 msgid "Photo Rename" msgstr "" #: rapid/glade3/prefs.ui.h:16 msgid "Video Download Folders" msgstr "" #: rapid/glade3/prefs.ui.h:17 msgid "" "Sorry, video downloading functionality disabled. To download videos, please " "install either the hachoir metadata and kaa metadata packages " "for python, or exiftool." msgstr "" #: rapid/glade3/prefs.ui.h:18 msgid "" "Choose the download folder. Subfolders for the downloaded videos will be " "automatically created in this folder using the structure specified below." msgstr "" #: rapid/glade3/prefs.ui.h:19 msgid "Video Folders" msgstr "" #: rapid/glade3/prefs.ui.h:20 msgid "Video Rename\t" msgstr "" #: rapid/glade3/prefs.ui.h:21 msgid "Video Rename" msgstr "" #: rapid/glade3/prefs.ui.h:22 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:23 msgid "Sequence Numbers" msgstr "" #: rapid/glade3/prefs.ui.h:24 msgid "" "Specify the time in 24 hour format at which the Downloads today " "sequence number should be reset." msgstr "" #: rapid/glade3/prefs.ui.h:25 msgid "Day start:" msgstr "" #: rapid/glade3/prefs.ui.h:26 msgid "Downloads today:" msgstr "" #: rapid/glade3/prefs.ui.h:27 msgid "Stored number:" msgstr "" #: rapid/glade3/prefs.ui.h:28 msgid ":" msgstr "" #: rapid/glade3/prefs.ui.h:29 msgid " hh:mm" msgstr "" #: rapid/glade3/prefs.ui.h:30 msgid "Synchronize RAW + JPEG sequence numbers" msgstr "" #: rapid/glade3/prefs.ui.h:31 msgid "Compatibility with Other Operating Systems" msgstr "" #: rapid/glade3/prefs.ui.h:32 msgid "" "Specify whether photo, video and folder names should have any characters " "removed that are not allowed by other operating systems." msgstr "" #: rapid/glade3/prefs.ui.h:33 msgid "Strip incompatible characters" msgstr "" #: rapid/glade3/prefs.ui.h:34 msgid "Rename Options" msgstr "" #: rapid/glade3/prefs.ui.h:35 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:36 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:37 msgid "_Add..." msgstr "" #: rapid/glade3/prefs.ui.h:39 msgid "R_emove All" msgstr "" #: rapid/glade3/prefs.ui.h:40 msgid "Job Codes" msgstr "" #: rapid/glade3/prefs.ui.h:41 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:42 msgid "Devices" msgstr "" #: rapid/glade3/prefs.ui.h:43 msgid "" "Devices are from where to download photos and videos, such as cameras, " "memory cards or Portable Storage Devices.\n" "\n" "You can download from multiple devices simultaneously, or you can specify a " "location on your hard drive.\n" "\n" "Downloading directly from cameras is currently an experimental feature. " "If downloading directly from your camera works poorly or not at all, try " "setting it to PTP mode. If that is not possible, a card reader must be " "used." msgstr "" #: rapid/glade3/prefs.ui.h:48 msgid "Automatically detect Portable Storage Devices" msgstr "" #: rapid/glade3/prefs.ui.h:49 msgid "Automatically detect devices" msgstr "" #: rapid/glade3/prefs.ui.h:50 msgid "" "If you enable automatic detection of Portable Storage Devices, the entire " "device will be scanned. On large devices, this could take some time.\n" "\n" "When this option is enabled, and a potential device is detected, you will be " "prompted to determine if it should be scanned or not." msgstr "" #: rapid/glade3/prefs.ui.h:53 msgid "Location:" msgstr "" #: rapid/glade3/prefs.ui.h:54 msgid "" "If you disable automatic detection, choose the exact location of the photos " "and videos." msgstr "" #: rapid/glade3/prefs.ui.h:55 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:56 msgid "Remembered Paths" msgstr "" #: rapid/glade3/prefs.ui.h:57 msgid "" "Remembered paths are those associated with devices that you have chosen to " "always scan or ignore when automatic detection of Portable Storage Devices " "is enabled." msgstr "" #: rapid/glade3/prefs.ui.h:58 msgid "Ignored Paths" msgstr "" #: rapid/glade3/prefs.ui.h:59 msgid "" "Specify the ending portion of any paths you want ignored when scanning " "devices for photos or videos. Any path ending with the values below will not " "be scanned." msgstr "" #: rapid/glade3/prefs.ui.h:61 msgid "Re_move All" msgstr "" #: rapid/glade3/prefs.ui.h:62 msgid "Use _python-style regular expressions" msgstr "" #: rapid/glade3/prefs.ui.h:63 msgid "Device Options" msgstr "" #: rapid/glade3/prefs.ui.h:64 msgid "Backup\t" msgstr "" #: rapid/glade3/prefs.ui.h:65 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:66 msgid "" "If you disable automatic detection, choose the exact backup locations." msgstr "" #: rapid/glade3/prefs.ui.h:67 msgid "Automatically detect backup devices" msgstr "" #: rapid/glade3/prefs.ui.h:68 msgid "" "You can have your photos and videos backed up to multiple locations as they " "are downloaded, e.g. external hard drives." msgstr "" #: rapid/glade3/prefs.ui.h:69 msgid "Back up photos and videos when downloading" msgstr "" #: rapid/glade3/prefs.ui.h:70 msgid "" "Specify the folder in which backups are stored on the device. \n" "\n" "Note: this will also be used to determine whether or not the device is " "used for backups. For each device you wish to use for backing up to, create " "a folder in it with one of these names." msgstr "" #: rapid/glade3/prefs.ui.h:73 msgid "Photo backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:74 msgid "Photo backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:75 msgid "Example:" msgstr "" #: rapid/glade3/prefs.ui.h:76 msgid "/media/externaldrive/Photos" msgstr "" #: rapid/glade3/prefs.ui.h:77 msgid "Video backup folder name:" msgstr "" #: rapid/glade3/prefs.ui.h:78 msgid "Video backup location:" msgstr "" #: rapid/glade3/prefs.ui.h:79 msgid "Backup" msgstr "" #: rapid/glade3/prefs.ui.h:80 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:81 msgid "Program Automation" msgstr "" #: rapid/glade3/prefs.ui.h:82 msgid "Unmount (\"eject\") device upon download completion" msgstr "" #: rapid/glade3/prefs.ui.h:83 msgid "Start downloading at program startup" msgstr "" #: rapid/glade3/prefs.ui.h:84 msgid "Start downloading upon device insertion" msgstr "" #: rapid/glade3/prefs.ui.h:85 msgid "Exit program when download completes" msgstr "" #: rapid/glade3/prefs.ui.h:86 msgid "Exit program even if download had warnings or errors" msgstr "" #: rapid/glade3/prefs.ui.h:87 msgid "Automatically rotate JPEG images" msgstr "" #: rapid/glade3/prefs.ui.h:88 msgid "Performance" msgstr "" #: rapid/glade3/prefs.ui.h:89 msgid "Generate thumbnails (slower)" msgstr "" #: rapid/glade3/prefs.ui.h:90 msgid "Miscellaneous" msgstr "" #: rapid/glade3/prefs.ui.h:91 msgid "Error Handling" msgstr "" #: rapid/glade3/prefs.ui.h:92 msgid "Photo and Video Name Conflicts" msgstr "" #: rapid/glade3/prefs.ui.h:93 msgid "Add unique identifier" msgstr "" #: rapid/glade3/prefs.ui.h:94 msgid "Skip download" msgstr "" #: rapid/glade3/prefs.ui.h:95 msgid "" "When a photo or video of the same name has already been downloaded, choose " "whether to skip downloading the file, or to add a unique indentifier." msgstr "" #: rapid/glade3/prefs.ui.h:96 msgid "" "When backing up, choose whether to overwrite a file on the backup device " "that has the same name, or skip backing it up." msgstr "" #: rapid/glade3/prefs.ui.h:97 msgid "Overwrite" msgstr "" #: rapid/glade3/prefs.ui.h:98 msgid "Skip" msgstr "" #: rapid/glade3/prefs.ui.h:99 msgid "Error Handling" msgstr "" #: rapid/glade3/about.ui.h:1 msgid "Import your photos and videos efficiently and reliably" msgstr "" rapid-photo-downloader-0.4.10/rapid/0000775000175000017500000000000012302422407017471 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/rapid/metadataexiftool.py0000775000175000017500000001565612263744426023433 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 import subprocess import json import datetime, time import string import multiprocessing import logging logger = multiprocessing.get_logger() def version_info(): """returns the version of exiftool being used""" try: # unfortunately subprocess.check_output does not exist on python 2.6 proc = subprocess.Popen(['exiftool', '-ver'], stdout=subprocess.PIPE) v = proc.communicate()[0].strip() except OSError: v = None return v EXIFTOOL_VERSION = version_info() class ExifToolMetaData: """ Class to use when a python based metadata parser fails to correctly load necessary metadata. Calls exiftool as a subprocess. It is therefore slow, but in contrast to exiv2 or kaa metadata, exiftool somtimes gives better output. """ def __init__(self, filename): self.filename = filename self.metadata = None self.metadata_string_format = None self.exiftool_error = "Error encountered using exiftool with file %s" self.exiftool_output = "Unexpected output from exiftool with file %s" def _get(self, key, missing): if key == "VideoStreamType" or "FileNumber": # special case: want exiftool's string formatting if self.metadata_string_format is None: try: proc = subprocess.Popen(['exiftool', '-j', self.filename], stdout=subprocess.PIPE) s = proc.communicate()[0] except: logger.error(self.exiftool_error, self.filename) return missing try: self.metadata_string_format = json.loads(s) except: logger.error(self.exiftool_output, self.filename) return missing try: v = self.metadata_string_format[0][key] except: return missing return v elif self.metadata is None: # note: exiftool's string formatting is OFF (-n switch) try: proc = subprocess.Popen(['exiftool', '-j', '-n', self.filename], stdout=subprocess.PIPE) s = proc.communicate()[0] except: logger.error(self.exiftool_error, self.filename) return missing try: self.metadata = json.loads(s) except: logger.error(self.exiftool_output, self.filename) return missing try: v = self.metadata[0][key] except: return missing return v def date_time(self, missing=''): """ Returns in python datetime format the date and time the image was recorded. Trys to get value from key "DateTimeOriginal" If that fails, tries "CreateDate" Returns missing either metadata value is not present. """ d = self._get('DateTimeOriginal', None) if d is None: d = self._get('CreateDate', None) if d is None: d = self._get('FileModifyDate', None) if d is not None: try: # returned value may or may not have a time offset # strip it if need be dt = d[:19] dt = datetime.datetime.strptime(dt, "%Y:%m:%d %H:%M:%S") except: logger.error("Error reading date metadata with file %s", self.filename) return missing return dt else: return missing def time_stamp(self, missing=''): """ Returns a float value representing the time stamp, if it exists """ dt = self.date_time(missing=None) if dt: # convert it to a time stamp (not optimal, but better than nothing!) v = time.mktime(dt.timetuple()) else: v = missing return v def file_number(self, missing=''): v = self._get("FileNumber", None) if v is not None: return str(v) else: return missing def width(self, missing=''): v = self._get('ImageWidth', None) if v is not None: return str(v) else: return missing def height(self, missing=''): v = self._get('ImageHeight', None) if v is not None: return str(v) else: return missing def length(self, missing=''): """ return the duration (length) of the video, rounded to the nearest second, in string format """ v = self._get("Duration", None) if v is not None: try: v = float(v) v = "%0.f" % v except: return missing return v else: return missing def frames_per_second(self, stream=0, missing=''): """ value stream is ignored (kept for compatibilty with code calling kaa) """ v = self._get("FrameRate", None) if v is None: v = self._get("VideoFrameRate", None) if v is None: return missing try: v = '%.0f' % v except: return missing return v def codec(self, stream=0, missing=''): """ value stream is ignored (kept for compatibilty with code calling kaa) """ v = self._get("VideoStreamType", None) if v is None: v = self._get("VideoCodec", None) if v is not None: return v else: return missing def fourcc(self, stream=0, missing=''): """ value stream is ignored (kept for compatibilty with code calling kaa) """ return self._get("CompressorID", missing) if __name__ == '__main__': import sys if (len(sys.argv) != 2): print 'Usage: ' + sys.argv[0] + ' path/to/video/containing/metadata' sys.exit(0) else: m = ExifToolMetaData(sys.argv[1]) dt = m.date_time() print dt print "%sx%s" % (m.width(), m.height()) print m.length() print m.frames_per_second() print m.codec() rapid-photo-downloader-0.4.10/rapid/paths.py0000664000175000017500000000245411761336664021210 0ustar damondamon00000000000000### Copyright (C) 2002-2006 Stephen Kennedy ### 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 import os _locale_dir = ( #LOCALEDIR# ) _help_dir = ( #HELPDIR# ) _share_dir = ( #SHAREDIR# ) appdir = os.path.dirname(__file__) if not _locale_dir: _locale_dir = os.path.join(appdir,"po") if not _help_dir: _help_dir = os.path.join(appdir,"help") if not _share_dir: _share_dir = appdir def locale_dir(*args): # i18n files return os.path.join(_locale_dir, *args) def help_dir(*args): # help return os.path.join(_help_dir, *args) def share_dir(*args): # glade + pixmaps return os.path.join(_share_dir, *args) rapid-photo-downloader-0.4.10/rapid/thumbnail.py0000664000175000017500000003451212263744432022046 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 import multiprocessing import types import os import gtk import paths from PIL import Image import cStringIO import tempfile import subprocess import rpdfile import rpdmultiprocessing as rpdmp from utilities import image_to_pixbuf, pixbuf_to_image import pyexiv2 from filmstrip import add_filmstrip import logging logger = multiprocessing.get_logger() def get_stock_photo_image(): length = min(gtk.gdk.screen_width(), gtk.gdk.screen_height()) pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(paths.share_dir('glade3/photo.svg'), length, length) image = pixbuf_to_image(pixbuf) return image def get_stock_photo_image_icon(): image = Image.open(paths.share_dir('glade3/photo66.png')) image = image.convert("RGBA") return image def get_stock_video_image(): length = min(gtk.gdk.screen_width(), gtk.gdk.screen_height()) pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(paths.share_dir('glade3/video.svg'), length, length) image = pixbuf_to_image(pixbuf) return image def get_stock_video_image_icon(): image = Image.open(paths.share_dir('glade3/video66.png')) image = image.convert("RGBA") return image class PhotoIcons(): stock_thumbnail_image_icon = get_stock_photo_image_icon() class VideoIcons(): stock_thumbnail_image_icon = get_stock_video_image_icon() def upsize_pil(image, size): width_max = size[0] height_max = size[1] width_orig = float(image.size[0]) height_orig = float(image.size[1]) if (width_orig / width_max) > (height_orig / height_max): height = int((height_orig / width_orig) * width_max) width = width_max else: width = int((width_orig / height_orig) * height_max) height=height_max return image.resize((width, height), Image.ANTIALIAS) def downsize_pil(image, box, fit=False): """Downsample the PIL image. image: Image - an Image-object box: tuple(x, y) - the bounding box of the result image fix: boolean - crop the image to fill the box Code adpated from example by Christian Harms Source: http://united-coders.com/christian-harms/image-resizing-tips-every-coder-should-know """ #preresize image with factor 2, 4, 8 and fast algorithm factor = 1 logger.debug("Image size %sx%s", image.size[0], image.size[1]) logger.debug("Box size %sx%s", box[0],box[1]) while image.size[0]/factor > 2*box[0] and image.size[1]*2/factor > 2*box[1]: factor *=2 if factor > 1: logger.debug("quick resize %sx%s", image.size[0]/factor, image.size[1]/factor) image.thumbnail((image.size[0]/factor, image.size[1]/factor), Image.NEAREST) logger.debug("did first thumbnail") #calculate the cropping box and get the cropped part if fit: x1 = y1 = 0 x2, y2 = image.size wRatio = 1.0 * x2/box[0] hRatio = 1.0 * y2/box[1] if hRatio > wRatio: y1 = y2/2-box[1]*wRatio/2 y2 = y2/2+box[1]*wRatio/2 else: x1 = x2/2-box[0]*hRatio/2 x2 = x2/2+box[0]*hRatio/2 image = image.crop((x1,y1,x2,y2)) #Resize the image with best quality algorithm ANTI-ALIAS logger.debug("about to actually downsize using image.thumbnail") image.thumbnail(box, Image.ANTIALIAS) logger.debug("it downsized") class PicklablePIL: def __init__(self, image): self.size = image.size self.mode = image.mode self.image_data = image.tostring() def get_image(self): return Image.fromstring(self.mode, self.size, self.image_data) def get_pixbuf(self): return image_to_pixbuf(self.get_image()) class Thumbnail: # file types from which to remove letterboxing (black bands in the thumbnail # previews) crop_thumbnails = ('CR2', 'DNG', 'RAF', 'ORF', 'PEF', 'ARW') def _ignore_embedded_160x120_thumbnail(self, max_size_needed, metadata): return max_size_needed is None or max_size_needed[0] > 160 or max_size_needed[1] > 120 or not metadata.exif_thumbnail.data def _get_thumbnail_data(self, metadata, max_size_needed): logger.debug("Getting thumbnail data %s", max_size_needed) if self._ignore_embedded_160x120_thumbnail(max_size_needed, metadata): logger.debug("Ignoring embedded preview") lowrez = False previews = metadata.previews if not previews: return (None, None) else: if max_size_needed: for thumbnail in previews: if thumbnail.dimensions[0] >= max_size_needed or thumbnail.dimensions[1] >= max_size_needed: break else: thumbnail = previews[-1] else: thumbnail = metadata.exif_thumbnail lowrez = True return (thumbnail.data, lowrez) def _process_thumbnail(self, image, size_reduced): image_ok = True if image.mode <> "RGBA": try: image = image.convert("RGBA") except: logger.error("Image thumbnail is corrupt") image_ok = False if image_ok: thumbnail = PicklablePIL(image) if size_reduced is not None: thumbnail_icon = image.copy() downsize_pil(thumbnail_icon, size_reduced, fit=False) thumbnail_icon = PicklablePIL(thumbnail_icon) else: thumbnail_icon = None else: thumbnail = thumbnail_icon = None return (thumbnail, thumbnail_icon) def _get_photo_thumbnail(self, full_file_name, size_max, size_reduced): thumbnail = None thumbnail_icon = None name = os.path.basename(full_file_name) metadata = pyexiv2.metadata.ImageMetadata(full_file_name) try: logger.debug("Read photo metadata...") metadata.read() except: logger.warning("Could not read metadata from %s", full_file_name) else: logger.debug("...successfully read photo metadata") if metadata.mime_type == "image/jpeg" and self._ignore_embedded_160x120_thumbnail(size_max, metadata): try: image = Image.open(full_file_name) lowrez = False except: logger.warning("Could not generate thumbnail for jpeg %s ", full_file_name) image = None else: thumbnail_data, lowrez = self._get_thumbnail_data(metadata, max_size_needed=size_max) logger.debug("_get_thumbnail_data returned") if not isinstance(thumbnail_data, types.StringType): image = None else: td = cStringIO.StringIO(thumbnail_data) logger.debug("got td") try: image = Image.open(td) except: logger.warning("Unreadable thumbnail for %s", full_file_name) image = None logger.debug("opened image") if image: try: orientation = metadata['Exif.Image.Orientation'].value except: orientation = None if lowrez: # need to remove letterboxing / pillarboxing from some # RAW thumbnails if os.path.splitext(full_file_name)[1][1:].upper() in Thumbnail.crop_thumbnails: image2 = image.crop((0, 8, 160, 112)) image2.load() image = image2 if size_max is not None and (image.size[0] > size_max[0] or image.size[1] > size_max[1]): logger.debug("downsizing") downsize_pil(image, size_max, fit=False) logger.debug("downsized") if orientation == 8: # rotate counter clockwise image = image.rotate(90) elif orientation == 6: # rotate clockwise image = image.rotate(270) elif orientation == 3: # rotate upside down image = image.rotate(180) thumbnail, thumbnail_icon = self._process_thumbnail(image, size_reduced) logger.debug("...got thumbnail for %s", full_file_name) return (thumbnail, thumbnail_icon) def _get_video_thumbnail(self, full_file_name, thm_full_name, size_max, size_reduced): thumbnail = None thumbnail_icon = None if size_max is None: size = 0 else: size = max(size_max[0], size_max[1]) image = None if size > 0 and size <= 160: if thm_full_name: try: thumbnail = gtk.gdk.pixbuf_new_from_file(thm_full_name) except: logger.error("Could not open THM file for %s", full_file_name) logger.error("Thumbnail file is %s", thm_full_name) image = None else: thumbnail = add_filmstrip(thumbnail) image = pixbuf_to_image(thumbnail) if image is None: try: tmp_dir = tempfile.mkdtemp(prefix="rpd-tmp") thm = os.path.join(tmp_dir, 'thumbnail.jpg') subprocess.check_call(['ffmpegthumbnailer', '-i', full_file_name, '-t', '10', '-f', '-o', thm, '-s', str(size)]) image = Image.open(thm) image.load() os.unlink(thm) os.rmdir(tmp_dir) except: image = None logger.error("Error generating thumbnail for %s", full_file_name) if image: thumbnail, thumbnail_icon = self._process_thumbnail(image, size_reduced) logger.debug("...got thumbnail for %s", full_file_name) return (thumbnail, thumbnail_icon) def get_thumbnail(self, full_file_name, thm_full_name, file_type, size_max=None, size_reduced=None): logger.debug("Getting thumbnail for %s...", full_file_name) if file_type == rpdfile.FILE_TYPE_PHOTO: logger.debug("file type is photo") return self._get_photo_thumbnail(full_file_name, size_max, size_reduced) else: return self._get_video_thumbnail(full_file_name, thm_full_name, size_max, size_reduced) class GetPreviewImage(multiprocessing.Process): def __init__(self, results_pipe): multiprocessing.Process.__init__(self) self.daemon = True self.results_pipe = results_pipe self.thumbnail_maker = Thumbnail() self.stock_photo_thumbnail_image = None self.stock_video_thumbnail_image = None def get_stock_image(self, file_type): """ Get stock image for file type scaled to the current size of the screen """ if file_type == rpdfile.FILE_TYPE_PHOTO: if self.stock_photo_thumbnail_image is None: self.stock_photo_thumbnail_image = PicklablePIL(get_stock_photo_image()) return self.stock_photo_thumbnail_image else: if self.stock_video_thumbnail_image is None: self.stock_video_thumbnail_image = PicklablePIL(get_stock_video_image()) return self.stock_video_thumbnail_image def run(self): while True: unique_id, full_file_name, thm_full_name, file_type, size_max = self.results_pipe.recv() full_size_preview, reduced_size_preview = self.thumbnail_maker.get_thumbnail(full_file_name, thm_full_name, file_type, size_max=size_max, size_reduced=(100,100)) if full_size_preview is None: full_size_preview = self.get_stock_image(file_type) self.results_pipe.send((unique_id, full_size_preview, reduced_size_preview)) class GenerateThumbnails(multiprocessing.Process): def __init__(self, scan_pid, files, batch_size, results_pipe, terminate_queue, run_event): multiprocessing.Process.__init__(self) self.results_pipe = results_pipe self.terminate_queue = terminate_queue self.batch_size = batch_size self.files = files self.run_event = run_event self.results = [] self.thumbnail_maker = Thumbnail() self.scan_pid = scan_pid def run(self): counter = 0 i = 0 for f in self.files: # pause if instructed by the caller self.run_event.wait() if not self.terminate_queue.empty(): x = self.terminate_queue.get() # terminate immediately logger.info("Terminating thumbnailing") return None thumbnail, thumbnail_icon = self.thumbnail_maker.get_thumbnail( f.full_file_name, f.thm_full_name, f.file_type, #~ f.extension, (160, 120), (100,100)) self.results.append((f.unique_id, thumbnail_icon, thumbnail)) counter += 1 if counter == self.batch_size: self.results_pipe.send((rpdmp.CONN_PARTIAL, self.results)) self.results = [] counter = 0 i += 1 if counter > 0: # send any remaining results self.results_pipe.send((rpdmp.CONN_PARTIAL, self.results)) self.results_pipe.send((rpdmp.CONN_COMPLETE, self.scan_pid)) self.results_pipe.close() rapid-photo-downloader-0.4.10/rapid/utilities.py0000664000175000017500000001162011761336664022077 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 import os import gio import gtk from PIL import Image import distutils.version def get_full_path(path): """ make path relative to home directory if not an absolute path """ if os.path.isabs(path): return path else: return os.path.join(os.path.expanduser('~'), path) def is_directory(path): # for some very strange reason, doing it the GIO way fails with # unknown type, even for directories! return os.path.isdir(path) if False: d = gio.File(path) if d.query_exists(): file_info = d.query_filesystem_info(attributes="standard::type") file_type = file_info.get_file_type() if file_type == gio.FILE_TYPE_DIRECTORY: return True return False def format_size_for_user(bytes, zero_string="", with_decimals=True, kb_only=False): """Format an int containing the number of bytes into a string suitable for printing out to the user. zero_string is the string to use if bytes == 0. source: https://develop.participatoryculture.org/trac/democracy/browser/trunk/tv/portable/util.py?rev=3993 """ if bytes > (1 << 30) and not kb_only: value = (bytes / (1024.0 * 1024.0 * 1024.0)) if with_decimals: format = "%1.1fGB" else: format = "%dGB" elif bytes > (1 << 20) and not kb_only: value = (bytes / (1024.0 * 1024.0)) if with_decimals: format = "%1.1fMB" else: format = "%dMB" elif bytes > (1 << 10): value = (bytes / 1024.0) if with_decimals: format = "%1.1fKB" else: format = "%dKB" elif bytes > 1: value = bytes if with_decimals: format = "%1.1fB" else: format = "%dB" else: return zero_string return format % value def register_iconsets(icon_info): """ Register icons in the icon set if they're not already used From http://faq.pygtk.org/index.py?req=show&file=faq08.012.htp """ icon_factory = gtk.IconFactory() stock_ids = gtk.stock_list_ids() for stock_id, file in icon_info: # only load image files when our stock_id is not present if stock_id not in stock_ids: pixbuf = gtk.gdk.pixbuf_new_from_file(file) iconset = gtk.IconSet(pixbuf) icon_factory.add(stock_id, iconset) icon_factory.add_default() def escape(s): """ Replace special characters by SGML entities. """ entities = ("&&", "<<", ">>") for e in entities: s = s.replace(e[0], e[1:]) return s def image_to_pixbuf(image): # convert PIL image to pixbuf # this one handles transparency, unlike the default example in the pygtk FAQ # this is also from the pygtk FAQ IS_RGBA = image.mode=='RGBA' return gtk.gdk.pixbuf_new_from_data( image.tostring(), # data gtk.gdk.COLORSPACE_RGB, # color mode IS_RGBA, # has alpha 8, # bits image.size[0], # width image.size[1], # height (IS_RGBA and 4 or 3) * image.size[0] # rowstride ) def pixbuf_to_image(pb): assert(pb.get_colorspace() == gtk.gdk.COLORSPACE_RGB) dimensions = pb.get_width(), pb.get_height() stride = pb.get_rowstride() pixels = pb.get_pixels() mode = pb.get_has_alpha() and "RGBA" or "RGB" image = Image.frombuffer(mode, dimensions, pixels, "raw", mode, stride, 1) if mode == "RGB": # convert to having an alpha value, so that the image can # act as a mask in the drop shadow paste image = image.convert("RGBA") return image def pythonify_version(v): """ makes version number a version number in distutils sense""" return distutils.version.StrictVersion(v.replace( '~','')) def human_readable_version(v): """ returns a version in human readable form""" v = v.replace('~a', ' alpha ') v = v.replace('~b', ' beta ') v = v.replace('~rc', ' RC ') return v rapid-photo-downloader-0.4.10/rapid/AUTHORS0000664000175000017500000000004311761336650020552 0ustar damondamon00000000000000Damon Lynch rapid-photo-downloader-0.4.10/rapid/metadatavideo.py0000664000175000017500000001622511761336664022701 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 HAVE_HACHOIR = True DOWNLOAD_VIDEO = True import os import datetime import time import subprocess import multiprocessing import logging logger = multiprocessing.get_logger() import gtk import paths import rpdfile import metadataexiftool from gettext import gettext as _ try: from hachoir_core.cmd_line import unicodeFilename from hachoir_parser import createParser from hachoir_metadata import extractMetadata except ImportError: HAVE_HACHOIR = False if not HAVE_HACHOIR: v = metadataexiftool.version_info() if v is None: DOWNLOAD_VIDEO = False def file_types_to_download(): """Returns a string with the types of file to download, to display to the user""" if DOWNLOAD_VIDEO: return _("photos and videos") else: return _("photos") if HAVE_HACHOIR: def version_info(): from hachoir_metadata.version import VERSION return VERSION def get_video_THM_file(full_filename): """ Checks to see if a thumbnail file (THM) is in the same directory as the file. Expects a full path to be part of the file name. Returns the filename, including path, if found, else returns None. """ f = None name, ext = os.path.splitext(full_filename) for e in rpdfile.VIDEO_THUMBNAIL_FILE_EXTENSIONS: if os.path.exists(name + '.' + e): f = name + '.' + e break if os.path.exists(name + '.' + e.upper()): f = name + '.' + e.upper() break return f class VideoMetaData(): def __init__(self, filename): """ Initialize by loading metadata using hachoir """ self.filename = filename self.u_filename = unicodeFilename(filename) self.metadata = None def _kaa_get(self, key, missing, stream=None): if not hasattr(self, 'info'): try: from kaa.metadata import parse except ImportError: msg = """The package Kaa metadata does not exist. It is needed to access FPS and codec video file metadata.""" logger.error(msg) self.info = None else: self.info = parse(self.filename) if self.info: if stream != None: v = self.info['video'][stream][key] else: v = self.info[key] else: v = None if v: return str(v) else: return missing def _load_hachoir_metadata_parser(self): self.parser = createParser(self.u_filename, self.filename) self.metadata = extractMetadata(self.parser) def _get(self, key, missing): if self.metadata is None: self._load_hachoir_metadata_parser() try: v = self.metadata.get(key) except: v = missing return v def date_time(self, missing=''): return self._get('creation_date', missing) def time_stamp(self, missing=''): """ Returns a float value representing the time stamp, if it exists """ dt = self.date_time(missing=None) if dt: # convert it to a time stamp (not optimal, but better than nothing!) v = time.mktime(dt.timetuple()) else: v = missing return v def codec(self, stream=0, missing=''): return self._kaa_get('codec', missing, stream) def length(self, missing=''): """ return the duration (length) of the video, rounded to the nearest second, in string format """ delta = self.metadata.get('duration') l = '%.0f' % (86400 * delta.days + delta.seconds + float('.%s' % delta.microseconds)) return l def width(self, missing=''): v = self._get('width', missing) if v != None: return str(v) else: return None def height(self, missing=''): v = self._get('height', missing) if v != None: return str(v) else: return None def frames_per_second(self, stream=0, missing=''): fps = self._kaa_get('fps', missing, stream) try: fps = '%.0f' % float(fps) except: pass return fps def fourcc(self, stream=0, missing=''): return self._kaa_get('fourcc', missing, stream) class DummyMetaData(): """ Class which gives metadata values for an imaginary video. Useful for displaying in preference examples etc. when no video is ready to be downloaded. See VideoMetaData class for documentation of class methods. """ def __init__(self, filename): pass def date_time(self, missing=''): return datetime.datetime.now() def codec(self, stream=0, missing=''): return 'H.264 AVC' def length(self, missing=''): return '57' def width(self, stream=0, missing=''): return '1920' def height(self, stream=0, missing=''): return '1080' def frames_per_second(self, stream=0, missing=''): return '24' def fourcc(self, stream=0, missing=''): return 'AVC1' if __name__ == '__main__': import sys if (len(sys.argv) != 2): print 'Usage: ' + sys.argv[0] + ' path/to/video/containing/metadata' sys.exit(0) else: m = VideoMetaData(sys.argv[1]) dt = m.date_time() if dt: print dt.strftime('%Y%m%d-%H:%M:%S') print "codec: %s" % m.codec() print "%s seconds" % m.length() print "%sx%s" % (m.width(), m.height()) print "%s fps" % m.frames_per_second() print "Fourcc: %s" % (m.fourcc()) rapid-photo-downloader-0.4.10/rapid/rpdmultiprocessing.py0000664000175000017500000000163211761336664024023 0ustar damondamon00000000000000# -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 CONN_PARTIAL = 0 CONN_COMPLETE = 1 MSG_BYTES = 0 MSG_FILE = 1 MSG_TEMP_DIRS = 2 MSG_SEQUENCE_VALUE = 0 rapid-photo-downloader-0.4.10/rapid/ValidatedEntry.py0000664000175000017500000002741111761336650023003 0ustar damondamon00000000000000# Copyright (c) 2006, Daniel J. Popowich # # 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. # # Send bug reports and contributions to: # # dpopowich AT astro dot umass dot edu # ''' ValidatedEntry.py Provides ValidatedEntry, a subclass of gtk.Entry which validates input. Usage: create an instance of ValidatedEntry, specifying the function to validate input. E.g.: : def money(text): : "validate input to be monetary value" : ... : : money_entry = ValidatedEntry(money) Validation functions must accept one argument, the text to be validated, and must return one of: 1: the input is valid. 0: the input is invalid and should not be displayed. -1: the input is partially valid and will be displayed (and by default with a different background color). Three module-level variables are defined for the convenience of validation function writers: VALID (1), INVALID (0), PARTIAL (-1). There is one public method, isvalid(), which will return True if the current text is valid. Note: care should be taken when implementing validation functions to allow empty strings to be VALID or at least PARTIAL. An empty string should never be INVALID. Note: the hooks for calling the validation function are implemented by connecting the object to handlers for the gtk.Editable "insert-text" and "delete-text" signals. These handlers are connected to instances in the constructor, so will, by default, be called before other handlers connected to the widgets for "*-text" signals. When input is INVALID, stop_emission() is called, so later handlers for "*-text" signals will not be called. See the doc string for ValidatedEntry.__init__ for more details. ''' import pygtk pygtk.require('2.0') import gtk import gtk.gdk if gtk.gtk_version < (2, 8): import warnings msg ='''This module was developed and tested with version 2.8.9 of gtk. You are using version %d.%d.%d. Your milage may vary''' % gtk.gtk_version warnings.warn(msg) # major, minor, patch version = 1, 0, 4 PARTIAL, INVALID, VALID = range(-1,2) class ValidatedEntry(gtk.Entry): white = gtk.gdk.color_parse('white') yellow = gtk.gdk.color_parse('yellow') def __init__(self, valid_func, max=0, use_bg=True, valid_bg=white, partial_bg=yellow, error_func=None): ''' Create instance of validating gtk.Entry. valid_func: the function to validate input. See module doc string for details. max: passed to gtk.Entry constructor. (default: 0) use_bg: if True (the default) set the base color of the widget to indicate validity; see valid_bg and partial_bg. valid_bg: a gtk.gdk.Color; the base color of the widget when the input is valid. (default: white) partial_bg: a gtk.gdk.Color; the base color of the widget when the input is partially valid. (default: yellow) error_func: a function to call (with no arguments) when valid_func returns INVALID. If None (the default) the default action will be to emit a short beep. ''' assert valid_func('') != INVALID, 'valid_func cannot return INVALID for an empty string' gtk.Entry.__init__(self, max) self.__valid_func = valid_func self.__use_bg = use_bg self.__valid_bg = valid_bg self.__partial_bg = partial_bg self.__error_func = (error_func or gtk.gdk.display_get_default().beep) self.connect('insert-text', self.__insert_text_cb) self.connect('delete-text', self.__delete_text_cb) # bootstrap with an empty string (so the box will appear with # the partial_bg if an empty string is PARTIAL) self.insert_text('') def isvalid(self): return self.__isvalid def __insert_text_cb(self, entry, text, length, position): 'callback for "insert-text" signal' # generate what the new text will be text = text[:length] pos = self.get_position() old = self.get_text() new = old[:pos] + text + old[pos:] # validate the new text self.__validate(new, 'insert-text') def __delete_text_cb(self, entry, start, end): 'callback for "delete-text" signal' # generate what the new text will be old = self.get_text() new = old[:start] + old[end:] # validate the new text self.__validate(new, 'delete-text') def __validate(self, text, signal): 'calls the user-provided validation function' # validate r = self.__valid_func(text) if r == VALID: self.__isvalid = True if self.__use_bg: self.modify_base(gtk.STATE_NORMAL, self.__valid_bg) elif r == PARTIAL: self.__isvalid = False if self.__use_bg: self.modify_base(gtk.STATE_NORMAL, self.__partial_bg) else: # don't set self.__isvalid: since we're not displaying the # new value, the validity should be whatever it was before self.stop_emission(signal) self.__error_func() ###################################################################### # # Sample validation functions to use with ValidatedEntry # ###################################################################### import re # STRING (non-empty after stripping) def v_nonemptystring(value): ''' VALID: non-empty string after stripping whitespace PARTAL: empty or all whitespace INVALID: N/A ''' if value.strip(): return VALID return PARTIAL # INT def v_int(value): ''' VALID: any postive or negative integer PARTAL: empty or leading "-" INVALID: non-numeral ''' v = value.strip() if not v or v == '-': return PARTIAL try: int(value) return VALID except: return INVALID # FLOAT def v_float(value): ''' VALID: any postive or negative floating point PARTAL: empty or leading "-", "." INVALID: non-numeral ''' v = value.strip() if not v or v in ('-', '.', '-.'): return PARTIAL try: float(value) return VALID except: return INVALID # ISBN _isbnpartial = re.compile('[0-9]{0,9}[0-9xX]?$') def v_isbn(v): '''Validate ISBN input. From the isbn manual, section 4.4: The check digit is the last digit of an ISBN. It is calculated on a modulus 11 with weights 10-2, using X in lieu of 10 where ten would occur as a check digit. This means that each of the first nine digits of the ISBN -- excluding the check digit itself -- is multiplied by a number ranging from 10 to 2 and that the resulting sum of the products, plus the check digit, must be divisible by 11 without a remainder.''' if _isbnpartial.match(v): # isbn is ten characters in length if len(v) < 10: return PARTIAL s = 0 for i, c in enumerate(v): s += (c in 'xX' and 10 or int(c)) * (10 - i) if s % 11 == 0: return VALID return INVALID # MONEY # re for (possibly negative) money _money_re = re.compile('-?\d*(\.\d{1,2})?$') # validation function for money def v_money(value): ''' VALID: any postive or negative floating point with at most two digits after the decimal point. PARTAL: empty or leading "-", "." INVALID: non-numeral or more than two digits after the decimal point. ''' if not value or value == '-' or value[-1] == '.': return PARTIAL if _money_re.match(value): return VALID return INVALID # PHONE # the characters in a phone number _phonechars = re.compile('[- 0-9]*$') # valid phone number: [AC +]EXT-LINE _phone = re.compile('([2-9][0-8][0-9]\s+)?[2-9][0-9]{2}-[0-9]{4}$') def v_phone(value): ''' VALID: any phone number of the form: EXT-LINE -or- AC EXT-LINE. PARTAL: any characters that make up a valid #. INVALID: characters that are not used in a phone #. ''' if _phone.match(value): return VALID if _phonechars.match(value): return PARTIAL return INVALID def empty_valid(vfunc): ''' empty_valid is a factory function returning a validation function. All of the validation functions in this module return PARTIAL for empty strings which, in effect, forces non-empty input. There may be a case where, e.g., you want money input to be optional, but v_money will not consider empty input VALID. Instead of writing another validation function you can instead use empty_valid(). By wrapping a validation function with empty_valid(), input (after stripping), if empty, will be considered VALID. E.g.: ventry = ValidatedEntry(empty_valid(v_money)) It is recommended that all your validation functions treat empty input as PARTIAL, for consistency across all validation functions and for use with empty_valid(). ''' def validate(value): if not value.strip(): return VALID return vfunc(value) return validate def bounded(vfunc, conv, minv=None, maxv=None): ''' bounded is a factory function returning a validation function providing bounded input. E.g., you may want an entry that accepts integers, but within a range, say, a score on a test graded in whole numbers from 0 to 100: score_entry = ValidatedEntry(bounded(v_int, int, 0, 100)) Arguments: vfunc: A validation function. conv: A callable that accepts a string argument (the text in the entry) and returns a value to be compared to minv and maxv. minv: None or a value of the same type returned by conv. If None, there is no minimum value enforced. If a value, it will be the minimum value considered VALID. maxv: None or a value of the same type returned by conv. If None, there is no maximum value enforced. If a value, it will be the maximum value considered VALID. One or both of minv/maxv must be specified. The function returned will call vfunc on entry input and if vfunc returns VALID, the input will be converted by conv and compared to minv/maxv. If the converted value is within the bounds of minv/maxv then VALID will be returned, else PARTIAL will be returned. ''' assert minv is not None or maxv is not None, \ 'One of minv/maxv must be specified' def F(value): r = vfunc(value) if r == VALID: v = conv(value) if minv is not None and v < minv: return PARTIAL if maxv is not None and v > maxv: return PARTIAL return r return F rapid-photo-downloader-0.4.10/rapid/scan.py0000775000175000017500000002320612263744430021006 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 import os import multiprocessing import re import gio import gtk import pyexiv2 import rpdmultiprocessing as rpdmp import rpdfile import prefsrapid import logging logger = multiprocessing.get_logger() # python whitespace is significant - don't remove the leading whitespace on # the second line file_attributes = "standard::name,standard::display-name,\ standard::type,standard::size,time::modified,access::can-read,id::file" def get_associated_file(full_file_name_no_ext, extensions_to_check): f = None for e in extensions_to_check: if os.path.exists(full_file_name_no_ext + '.' + e): f = full_file_name_no_ext + '.' + e break if os.path.exists(full_file_name_no_ext + '.' + e.upper()): f = full_file_name_no_ext + '.' + e.upper() break return f def get_audio_file(full_file_name_no_ext): """ Checks to see if an audio file of the same name is in the same directory as the file. Expects a full path to be part of the file name. Returns the filename, including path, if found, else returns None. """ return get_associated_file(full_file_name_no_ext, rpdfile.AUDIO_EXTENSIONS) def get_video_THM_file(full_file_name_no_ext): """ Checks to see if a thumbnail file (THM) is in the same directory as the file. Expects a full path to be part of the file name. Returns the filename, including path, if found, else returns None. """ return get_associated_file(full_file_name_no_ext, rpdfile.VIDEO_THUMBNAIL_EXTENSIONS) class Scan(multiprocessing.Process): """Scans the given path for files of a specified type. Returns results in batches, finishing with a total of the size of all the files in bytes. """ def __init__(self, path, ignored_paths, use_re_ignored_paths, batch_size, results_pipe, terminate_queue, run_event): """Setup values needed to conduct the scan. 'path' is a string of the path to be scanned, which is passed to gio. 'ignored_paths' is a list of paths that should not be scanned. Any path ending with one of the values will be ignored. 'use_re_ignored_paths': if true, pytho regular expressions will be used to determine which paths to ignore 'batch_size' is the number of files that should be sent back to the calling function at one time. 'results_pipe' is a connection on which to send the results. 'terminate_queue' is a queue whose sole purpose is to notify the process that it should terminate and not return any results. 'run_event' is an Event that is used to temporarily halt execution. """ multiprocessing.Process.__init__(self) self.path = path self.ignored_paths = ignored_paths self.use_re_ignored_paths = use_re_ignored_paths self.results_pipe = results_pipe self.terminate_queue = terminate_queue self.run_event = run_event self.batch_size = batch_size self.counter = 0 self.files_scanned = 0 self.files = [] self.file_type_counter = rpdfile.FileTypeCounter() def _gio_scan(self, path, file_size_sum): """recursive function to scan a directory and its subdirectories for photos and possibly videos""" children = path.enumerate_children(file_attributes) for child in children: # pause if instructed by the caller self.run_event.wait() if not self.terminate_queue.empty(): x = self.terminate_queue.get() # terminate immediately logger.info("terminating scan...") self.files = [] return None # only collect files and scan in directories we can actually read # cannot assume that users will download only from memory cards if child.get_attribute_boolean(gio.FILE_ATTRIBUTE_ACCESS_CAN_READ): file_type = child.get_file_type() name = child.get_name() if file_type == gio.FILE_TYPE_DIRECTORY: if not self.ignore_this_path(name): file_size_sum = self._gio_scan(path.get_child(name), file_size_sum) if file_size_sum is None: return None elif file_type == gio.FILE_TYPE_REGULAR: self.files_scanned += 1 if self.files_scanned % 100 == 0: logger.debug("Scanned %s files", self.files_scanned) base_name, ext = os.path.splitext(name) ext = ext.lower()[1:] file_type = rpdfile.file_type(ext) if file_type is not None: file_id = child.get_attribute_string( gio.FILE_ATTRIBUTE_ID_FILE) if file_id is not None: # count how many files of each type are included # e.g. photo, video self.file_type_counter.add(file_type) self.counter += 1 display_name = child.get_display_name() size = child.get_size() modification_time = child.get_modification_time() path_name = path.get_path() # look for thumbnail file for videos if file_type == rpdfile.FILE_TYPE_VIDEO: thm_full_name = get_video_THM_file(os.path.join(path_name, base_name)) else: thm_full_name = None # check if an audio file is associated with the photo or video audio_file_full_name = get_audio_file(os.path.join(path_name, base_name)) scanned_file = rpdfile.get_rpdfile(ext, name, display_name, path_name, size, modification_time, thm_full_name, audio_file_full_name, self.pid, file_id, file_type) self.files.append(scanned_file) file_size_sum += size if self.counter == self.batch_size: # send batch of results self.results_pipe.send((rpdmp.CONN_PARTIAL, (file_size_sum, self.file_type_counter, self.pid, self.files))) self.files = [] self.counter = 0 return file_size_sum def run(self): """start the actual scan.""" if self.use_re_ignored_paths and len(self.ignored_paths): self.re_pattern = prefsrapid.check_and_compile_re(self.ignored_paths) source = gio.File(self.path) try: if not self.ignore_this_path(self.path): size = self._gio_scan(source, 0) else: size = None except gio.Error, inst: logger.error("Error while scanning %s: %s", self.path, inst) size = None if size is not None: if self.counter > 0: # send any remaining results self.results_pipe.send((rpdmp.CONN_PARTIAL, (size, self.file_type_counter, self.pid, self.files))) self.results_pipe.send((rpdmp.CONN_COMPLETE, (size, self.file_type_counter, self.pid))) self.results_pipe.close() def ignore_this_path(self, path): """ determines if the path should be ignored according to the preferences chosen by the user """ if len(self.ignored_paths): if self.use_re_ignored_paths and self.re_pattern: # regular expressions are being used if self.re_pattern.match(path): return True else: # regular expressions are not being used if path.endswith(tuple(self.ignored_paths)): return True return False rapid-photo-downloader-0.4.10/rapid/__init__.py0000664000175000017500000000000211761336650021606 0ustar damondamon00000000000000# rapid-photo-downloader-0.4.10/rapid/metadataphoto.py0000664000175000017500000003537011761336664022726 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 import re import datetime import sys import config import types import time try: import pyexiv2 except ImportError: sys.stderr.write("You need to install pyexiv2, the python binding for exiv2, to run this program.\n" ) sys.exit(1) import metadataexiftool def __version_info(version): if not version: return '' else: v = '' for i in version: v += '.%s' % i return v[1:] def pyexiv2_version_info(): return __version_info(pyexiv2.version_info) def exiv2_version_info(): return __version_info(pyexiv2.exiv2_version_info) class MetaData(pyexiv2.metadata.ImageMetadata): """ Class providing human readable access to image metadata """ def __init__(self, full_file_name): pyexiv2.metadata.ImageMetadata.__init__(self, full_file_name) self.rpd_metadata_exiftool = None self.rpd_full_file_name = full_file_name def _load_exiftool(self): if self.rpd_metadata_exiftool is None: self.rpd_metadata_exiftool = metadataexiftool.ExifToolMetaData(self.rpd_full_file_name) def aperture(self, missing=''): """ Returns in string format the floating point value of the image's aperture. Returns missing if the metadata value is not present. """ try: a = self["Exif.Photo.FNumber"].value a = float(a.numerator) / float(a.denominator) return "%.1f" % a except: return missing def iso(self, missing=''): """ Returns in string format the integer value of the image's ISO. Returns missing if the metadata value is not present. """ try: return self["Exif.Photo.ISOSpeedRatings"].human_value except: return missing def exposure_time(self, alternativeFormat=False, missing=''): """ Returns in string format the exposure time of the image. Returns missing if the metadata value is not present. alternativeFormat is useful if the value is going to be used in a purpose where / is an invalid character, e.g. file system names. alternativeFormat is False: For exposures less than one second, the result is formatted as a fraction e.g. 1/125 For exposures greater than or equal to one second, the value is formatted as an integer e.g. 30 alternativeFormat is True: For exposures less than one second, the result is formatted as an integer e.g. 125 For exposures less than one second but more than or equal to one tenth of a second, the result is formatted as an integer e.g. 3 representing 3/10 of a second For exposures greater than or equal to one second, the value is formatted as an integer with a trailing s e.g. 30s """ try: e = self["Exif.Photo.ExposureTime"].value e0 = int(e.numerator) e1 = int(e.denominator) if e1 > e0: if alternativeFormat: if e0 == 1: return str(e1) else: return str(e0) else: return "%s/%s" % (e0,e1) elif e0 > e1: e = float(e0) / e1 if alternativeFormat: return "%.0fs" % e else: return "%.0f" % e else: return "1s" except: return missing def focal_length(self, missing=''): """ Returns in string format the focal length of the lens used to record the image. Returns missing if the metadata value is not present. """ try: f = self["Exif.Photo.FocalLength"].value f0 = float(f.numerator) f1 = float(f.denominator) return "%.0f" % (f0 / f1) except: return missing def camera_make(self, missing=''): """ Returns in string format the camera make (manufacturer) used to record the image. Returns missing if the metadata value is not present. """ try: return self["Exif.Image.Make"].value.strip() except: return missing def camera_model(self, missing=''): """ Returns in string format the camera model used to record the image. Returns missing if the metadata value is not present. """ try: return self["Exif.Image.Model"].value.strip() except: return missing def camera_serial(self, missing=''): try: keys = self.exif_keys if 'Exif.Canon.SerialNumber' in keys: v = self['Exif.Canon.SerialNumber'].raw_value elif 'Exif.Nikon3.SerialNumber' in keys: v = self['Exif.Nikon3.SerialNumber'].raw_value elif 'Exif.OlympusEq.SerialNumber' in keys: v = self['Exif.OlympusEq.SerialNumber'].raw_value elif 'Exif.Olympus.SerialNumber' in keys: v = self['Exif.Olympus.SerialNumber'].raw_value elif 'Exif.Olympus.SerialNumber2' in keys: v = self['Exif.Olympus.SerialNumber2'].raw_value elif 'Exif.Panasonic.SerialNumber' in keys: v = self['Exif.Panasonic.SerialNumber'].raw_value elif 'Exif.Fujifilm.SerialNumber' in keys: v = self['Exif.Fujifilm.SerialNumber'].raw_value elif 'Exif.Image.CameraSerialNumber' in keys: v = self['Exif.Image.CameraSerialNumber'].raw_value else: return missing v = str(v) # probably not necessary, but just in case return v.strip() except: return missing def shutter_count(self, missing=''): try: keys = self.exif_keys if 'Exif.Nikon3.ShutterCount' in keys: v = self['Exif.Nikon3.ShutterCount'].raw_value elif 'Exif.Canon.FileNumber' in keys: v = self['Exif.Canon.FileNumber'].raw_value elif 'Exif.Canon.ImageNumber' in keys: v = self['Exif.Canon.ImageNumber'].raw_value else: return missing return str(v) except: return missing def file_number(self, missing=''): """returns Exif.CanonFi.FileNumber, not to be confused with Exif.Canon.FileNumber""" try: if 'Exif.CanonFi.FileNumber' in self.exif_keys: self._load_exiftool() return self.rpd_metadata_exiftool.file_number(missing) else: return missing except: return missing def owner_name(self, missing=''): """ returns camera name recorded by select Canon cameras""" try: return self['Exif.Canon.OwnerName'].value.strip() except: return missing def copyright(self, missing=''): """returns copyright exif information""" try: return self['Exif.Image.Copyright'].value.strip() except: return missing def artist(self, missing=''): """returns exif artis information""" try: return self['Exif.Image.Artist'].value.strip() except: return missing def short_camera_model(self, includeCharacters = '', missing=''): """ Returns in shorterned string format the camera model used to record the image. Returns missing if the metadata value is not present. The short format is determined by the first occurrence of a digit in the camera model, including all alphaNumeric characters before and after that digit up till a non-alphanumeric character, but with these interventions: 1. Canon "Mark" designations are shortened prior to conversion. 2. Names like "Canon EOS DIGITAL REBEL XSi" do not have a number and must and treated differently (see below) Examples: Canon EOS 300D DIGITAL -> 300D Canon EOS 5D -> 5D Canon EOS 5D Mark II -> 5DMkII NIKON D2X -> D2X NIKON D70 -> D70 X100,D540Z,C310Z -> X100 Canon EOS DIGITAL REBEL XSi -> XSi Canon EOS Digital Rebel XS -> XS Canon EOS Digital Rebel XTi -> XTi Canon EOS Kiss Digital X -> Digital Canon EOS Digital Rebel XT -> XT EOS Kiss Digital -> Digital Canon Digital IXUS Wireless -> Wireless Canon Digital IXUS i zoom -> zoom Canon EOS Kiss Digital N -> N Canon Digital IXUS IIs -> IIs IXY Digital L -> L Digital IXUS i -> i IXY Digital -> Digital Digital IXUS -> IXUS The optional includeCharacters allows additional characters to appear before and after the digits. Note: special includeCharacters MUST be escaped as per syntax of a regular expressions (see documentation for module re) Examples: includeCharacters = '': DSC-P92 -> P92 includeCharacters = '\-': DSC-P92 -> DSC-P92 If a digit is not found in the camera model, the last word is returned. Note: assume exif values are in ENGLISH, regardless of current platform """ m = self.camera_model() m = m.replace(' Mark ', 'Mk') if m: s = r"(?:[^a-zA-Z0-9%s]?)(?P[a-zA-Z0-9%s]*\d+[a-zA-Z0-9%s]*)"\ % (includeCharacters, includeCharacters, includeCharacters) r = re.search(s, m) if r: return r.group("model") else: head, space, model = m.strip().rpartition(' ') return model else: return missing def date_time(self, missing=''): """ Returns in python datetime format the date and time the image was recorded. Trys to get value from exif key "Exif.Photo.DateTimeOriginal". If that does not exist, trys key "Exif.Image.DateTime" Returns missing either metadata value is not present. """ try: if "Exif.Photo.DateTimeOriginal" in self.exif_keys: v = self["Exif.Photo.DateTimeOriginal"].value else: v = self["Exif.Image.DateTime"].value return v except: return missing def time_stamp(self, missing=''): dt = self.date_time(missing=None) if not dt is None: try: t = dt.timetuple() ts = time.mktime(t) except: ts = missing else: ts = missing return ts def sub_seconds(self, missing='00'): """ returns the subsecond the image was taken, as recorded by the camera""" try: return str(self["Exif.Photo.SubSecTimeOriginal"].value) except: return missing def orientation(self, missing=''): """ Returns the orientation of the image, as recorded by the camera Return type int """ try: v = self['Exif.Image.Orientation'].value if isinstance(v, types.StringType): v = int(v) return v except: return missing class DummyMetaData(MetaData): """ Class which gives metadata values for an imaginary image. Useful for displaying in preference examples etc. when no image is ready to be downloaded. See MetaData class for documentation of class methods. """ def __init__(self): pass def readMetadata(self): pass def aperture(self, missing=''): return "2.0" def iso(self, missing=''): return "100" def exposure_time(self, alternativeFormat=False, missing=''): if alternativeFormat: return "4000" else: return "1/4000" def focal_length(self, missing=''): return "135" def camera_make(self, missing=''): return "Canon" def camera_model(self, missing=''): return "Canon EOS 5D" def short_camera_model(self, includeCharacters = '', missing=''): return "5D" def camera_serial(self, missing=''): return '730402168' def shutter_count(self, missing=''): return '387' def owner_name(self, missing=''): return 'Photographer Name' def date_time(self, missing=''): return datetime.datetime.now() def subSeconds(self, missing='00'): return '57' def orientation(self, missing=''): return 1 if __name__ == '__main__': import sys if (len(sys.argv) != 2): print 'Usage: ' + sys.argv[0] + ' path/to/photo/containing/metadata' m = DummyMetaData() else: m = MetaData(sys.argv[1]) m.read() print "f"+ m.aperture('missing ') print "ISO " + m.iso('missing ') print m.exposure_time(missing='missing ') + " sec" print m.exposure_time(alternativeFormat=True, missing='missing ') print m.focal_length('missing ') + "mm" print m.camera_make() print m.camera_model() print m.short_camera_model() print m.short_camera_model(includeCharacters = "\-") print m.date_time() print m.orientation() print 'Serial number:', m.camera_serial() print 'Shutter count:', m.shutter_count() print 'Subseconds:', m.sub_seconds() rapid-photo-downloader-0.4.10/rapid/metadataxmp.py0000775000175000017500000001753511753372645022407 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2012 Damon Lynch ### 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 import subprocess import multiprocessing, logging logger = multiprocessing.get_logger() class XmpMetadataSidecar: def __init__(self, filename): self.filename = filename self.keys = [] def _add_pair(self, key_value_pair): self.keys.append(key_value_pair) logger.debug(key_value_pair) def _generate_exiv2_command_line(self): # -f option: overwrites any existing xmp file return ['exiv2', '-f'] + self.keys + ['-exX', self.filename] def _generate_exiv2_contact_info(self, key, value): return "-M set Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:%s %s" % (key, value) def _generate_exiv2_dc(self, key, value): return "-M set Xmp.dc.%s %s" % (key, value) def _generate_exiv2_photoshop(self, key, value): return "-M set Xmp.photoshop.%s %s" % (key, value) def _generate_exiv2_rights(self, key, value): return "-M set Xmp.xmpRights.%s %s" % (key, value) def _generate_exiv2_iptc(self, key, value): return "-M set Xmp.iptc.%s %s" % (key, value) def _generate_exiv2_exif(self, key, value): return "-M set Xmp.exif.%s %s" % (key, value) def set_location(self, location): self._add_pair(self._generate_exiv2_iptc('Location', location)) def set_city(self, city): self._add_pair(self._generate_exiv2_photoshop('City', city)) def set_state_province(self, state): self._add_pair(self._generate_exiv2_photoshop('State', state)) def set_country(self, country): self._add_pair(self._generate_exiv2_photoshop('Country', country)) def set_country_code(self, country_code): self._add_pair(self._generate_exiv2_iptc('CountryCode', country_code)) def set_headline(self, headline): self._add_pair(self._generate_exiv2_photoshop('Headline', headline)) def set_description_writer(self, writer): """ Synonym: Caption writer """ self._add_pair(self._generate_exiv2_photoshop('CaptionWriter', writer)) def set_description(self, description): """A synonym for this in some older programs is 'Caption'""" self._add_pair(self._generate_exiv2_dc('description', description)) def set_subject(self, subject): """ You can call this more than once, to add multiple subjects A synonym is 'Keywords' """ self._add_pair(self._generate_exiv2_dc('subject', subject)) def set_creator(self, creator): """ Sets the author (creator) field. Photo Mechanic calls this 'Photographer'. """ self._add_pair(self._generate_exiv2_dc('creator', creator)) def set_creator_job_title(self, job_title): self._add_pair(self._generate_exiv2_photoshop('AuthorsPosition', job_title)) def set_credit_line(self, credit_line): self._add_pair(self._generate_exiv2_photoshop('Credit', credit_line)) def set_source(self, source): """ original owner or copyright holder of the photograph """ self._add_pair(self._generate_exiv2_photoshop('Source', source)) def set_copyright(self, copyright): self._add_pair(self._generate_exiv2_dc('rights', copyright)) def set_copyright_url(self, copyright_url): self._add_pair(self._generate_exiv2_rights('WebStatement', copyright_url)) def set_contact_city(self, city): self._add_pair(self._generate_exiv2_contact_info('CiAdrCity', city)) def set_contact_country(self, country): self._add_pair(self._generate_exiv2_contact_info('CiAdrCtry', country)) def set_contact_address(self, address): """The contact information address part. Comprises an optional company name and all required information to locate the building or postbox to which mail should be sent.""" self._add_pair(self._generate_exiv2_contact_info('CiAdrExtadr', address)) def set_contact_postal_code(self, postal_code): self._add_pair(self._generate_exiv2_contact_info('CiAdrPcode', postal_code)) def set_contact_region(self, region): """State/Province""" self._add_pair(self._generate_exiv2_contact_info('CiAdrRegion', region)) def set_contact_email(self, email): """Multiple email addresses can be given, separated by a comma.""" self._add_pair(self._generate_exiv2_contact_info('CiEmailWork', email)) def set_contact_telephone(self, telephone): """Multiple numbers can be given, separated by a comma.""" self._add_pair(self._generate_exiv2_contact_info('CiTelWork', telephone)) def set_contact_url(self, url): """Multiple URLs can be given, separated by a comma.""" self._add_pair(self._generate_exiv2_contact_info('CiUrlWork', url)) def set_exif_value(self, key, value): self._add_pair(self._generate_exiv2_exif(key, value)) def write_xmp_sidecar(self): cmd = self._generate_exiv2_command_line() if logger.getEffectiveLevel() == logging.DEBUG: cmd_line = '' for c in cmd: cmd_line += c + ' ' cmd_line = cmd_line.strip() logger.debug("XMP write command: %s", cmd_line) proc = subprocess.Popen(cmd, stdout=subprocess.PIPE) return proc.communicate()[0].strip() if __name__ == '__main__': import sys if (len(sys.argv) != 2): print 'Usage: ' + sys.argv[0] + ' path/to/photo/containing/metadata' else: x = XmpMetadataSidecar(sys.argv[1]) x.set_description("This is image is just a sample and is nothing serious. I used to test out writing XMP files in Rapid Photo Downloader.") x.set_description_writer("Damon Lynch wrote caption") x.set_headline("Sample image to test XMP") x.set_subject("Keyword 1") x.set_subject("Keyword 2") x.set_city("Minneapolis") x.set_location("University of Minnesota") x.set_state_province("Minnesota") x.set_country("United States of America") x.set_country_code("USA") x.set_creator("Damon Lynch") x.set_creator_job_title("Photographer") x.set_credit_line("Contact Damon for permission") x.set_source("Damon Lynch is the original photographer") x.set_copyright("© 2011 Damon Lynch, all rights reserved.") x.set_copyright_url("http://www.damonlynch.net/license") x.set_contact_address("Contact house number, street, apartment") x.set_contact_city('Contact City') x.set_contact_region('Contact State') x.set_contact_postal_code('Contact Post code') x.set_contact_telephone('+1 111 111 1111') x.set_contact_country('Contact Country') x.set_contact_address('Address\nApartment') x.set_contact_url('http://www.sample.net') x.set_contact_email('name@email1.com, name@email2.com') x.write_xmp_sidecar() rapid-photo-downloader-0.4.10/rapid/config.py0000664000175000017500000000433612302421452021315 0ustar damondamon00000000000000# -*- coding: latin1 -*- ### Copyright (C) 2007 - 2014 Damon Lynch ### 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 version = '0.4.10' GCONF_KEY="/apps/rapid-photo-downloader" DBUS_NAME = "net.damonlynch.RapidPhotoDownloader" #i18n APP_NAME = "rapid-photo-downloader" MEDIA_LOCATION = "/media" SKIP_DOWNLOAD = "skip download" ADD_UNIQUE_IDENTIFIER = "add unique identifier" # These next three values are fall back values that are used only # if calls to xdg-user-dir fail DEFAULT_PHOTO_LOCATIONS = ['Pictures', 'Photos'] DEFAULT_BACKUP_LOCATION = 'Pictures' DEFAULT_VIDEO_BACKUP_LOCATION = 'Videos' DEFAULT_VIDEO_LOCATIONS = ['Videos'] CRITICAL_ERROR = 1 SERIOUS_ERROR = 2 WARNING = 3 STATUS_DOWNLOAD_PENDING = 0 # going to try to download it STATUS_DOWNLOADED = 1 # downloaded successfully STATUS_DOWNLOADED_WITH_WARNING = 2 # downloaded ok but there was a warning STATUS_BACKUP_PROBLEM = 3 # downloaded ok, but the file was not backed up, or had a problem (overwrite or duplicate) STATUS_NOT_DOWNLOADED = 4 # has not yet been downloaded (but might be if the user chooses) STATUS_DOWNLOAD_AND_BACKUP_FAILED = 5 # tried to download but failed, and the backup failed or had an error STATUS_DOWNLOAD_FAILED = 6 # tried to download but failed STATUS_WARNING = 7 # warning (shown in pre-download preview) STATUS_CANNOT_DOWNLOAD = 8 # cannot be downloaded DEFAULT_WINDOW_WIDTH = 670 DEFAULT_WINDOW_HEIGHT = 650 rapid-photo-downloader-0.4.10/rapid/device.py0000664000175000017500000001405611761336664021331 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2012 Damon Lynch ### 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 import os import gtk, gio import multiprocessing import logging logger = multiprocessing.get_logger() import paths import utilities from gettext import gettext as _ class Device: def __init__(self, mount=None, path=None): self.mount = mount self.path = path def get_path(self): if self.mount: return self.mount.get_root().get_path() else: return self.path def get_name(self): if self.mount: return self.mount.get_name() else: return self.path def get_icon(self, size=16): if self.mount: icon = self.mount.get_icon() else: folder = gio.File(self.path) file_info = folder.query_info(gio.FILE_ATTRIBUTE_STANDARD_ICON) icon = file_info.get_icon() icontheme = gtk.icon_theme_get_default() icon_file = None if isinstance(icon, gio.ThemedIcon): try: # on some user's systems, themes do not have icons associated with them iconinfo = icontheme.choose_icon(icon.get_names(), size, gtk.ICON_LOOKUP_USE_BUILTIN) icon_file = iconinfo.get_filename() return gtk.gdk.pixbuf_new_from_file_at_size(icon_file, size, size) except: pass if not icon_file: return icontheme.load_icon('folder', size, gtk.ICON_LOOKUP_USE_BUILTIN) class UseDeviceDialog(gtk.Dialog): """ Simple dialog window that prompt's the user whether to use a certain device or not """ def __init__(self, parent_window, device, post_choice_callback): gtk.Dialog.__init__(self, _('Device Detected'), None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_NO, gtk.RESPONSE_CANCEL, gtk.STOCK_YES, gtk.RESPONSE_OK)) self.post_choice_callback = post_choice_callback self.set_icon_from_file(paths.share_dir('glade3/rapid-photo-downloader.svg')) # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt prompt_label = gtk.Label(_('Should this device or partition be used to download photos or videos from?')) prompt_label.set_line_wrap(True) prompt_hbox = gtk.HBox() prompt_hbox.pack_start(prompt_label, False, False, padding=6) device_label = gtk.Label() device_label.set_markup("%s" % device.get_name()) device_hbox = gtk.HBox() device_hbox.pack_start(device_label, False, False) path_label = gtk.Label() path_label.set_markup("%s" % device.get_path()) path_hbox = gtk.HBox() path_hbox.pack_start(path_label, False, False) icon = device.get_icon(size=36) if icon: image = gtk.Image() image.set_from_pixbuf(icon) # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#usedeviceprompt self.always_checkbutton = gtk.CheckButton(_('_Remember this choice'), True) if icon: device_hbox_icon = gtk.HBox(homogeneous=False, spacing=6) device_hbox_icon.pack_start(image, False, False, padding = 6) device_vbox = gtk.VBox(homogeneous=True, spacing=6) device_vbox.pack_start(device_hbox, False, False) device_vbox.pack_start(path_hbox, False, False) device_hbox_icon.pack_start(device_vbox, False, False) self.vbox.pack_start(device_hbox_icon, padding = 6) else: self.vbox.pack_start(device_hbox, padding=6) self.vbox.pack_start(path_hbox, padding = 6) self.vbox.pack_start(prompt_hbox, padding=6) self.vbox.pack_start(self.always_checkbutton, padding=6) self.set_border_width(6) self.set_has_separator(False) self.set_default_response(gtk.RESPONSE_OK) self.set_transient_for(parent_window) self.show_all() self.device = device self.connect('response', self.on_response) def on_response(self, device_dialog, response): user_selected = False permanent_choice = self.always_checkbutton.get_active() if response == gtk.RESPONSE_OK: user_selected = True logger.info("%s selected for downloading from", self.device.get_name()) if permanent_choice: logger.info("This device or partition will always be used to download from") else: logger.info("%s rejected as a download device", self.device.get_name()) if permanent_choice: logger.info("This device or partition will never be used to download from") self.post_choice_callback(self, user_selected, permanent_choice, self.device) def is_DCIM_device(path): """ Returns true if directory specifies media with photos on it""" test_path = os.path.join(path, "DCIM") return utilities.is_directory(test_path) rapid-photo-downloader-0.4.10/rapid/generatenameconfig.py0000664000175000017500000005300411761336664023707 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 # Special key in each dictionary which specifies the order of elements. # It is very important to have a consistent and rational order when displaying # these prefs to the user, and dictionaries are unsorted. import os from gettext import gettext as _ ORDER_KEY = "__order__" # PLEASE NOTE: these values are duplicated in a dummy class whose function # is to have them put into the translation template. If you change the values below # then you MUST change the value in class i18TranslateMeThanks as well!! # *** Level 0, i.e. first column of values presented to user DATE_TIME = 'Date time' TEXT = 'Text' FILENAME = 'Filename' METADATA = 'Metadata' SEQUENCES = 'Sequences' JOB_CODE = 'Job code' SEPARATOR = os.sep # *** Level 1, i.e. second column of values presented to user # Date time IMAGE_DATE = 'Image date' TODAY = 'Today' YESTERDAY = 'Yesterday' VIDEO_DATE = 'Video date' DOWNLOAD_TIME = 'Download time' # File name NAME_EXTENSION = 'Name + extension' NAME = 'Name' EXTENSION = 'Extension' IMAGE_NUMBER = 'Image number' VIDEO_NUMBER = 'Video number' # Metadata APERTURE = 'Aperture' ISO = 'ISO' EXPOSURE_TIME = 'Exposure time' FOCAL_LENGTH = 'Focal length' CAMERA_MAKE = 'Camera make' CAMERA_MODEL = 'Camera model' SHORT_CAMERA_MODEL = 'Short camera model' SHORT_CAMERA_MODEL_HYPHEN = 'Hyphenated short camera model' SERIAL_NUMBER = 'Serial number' SHUTTER_COUNT = 'Shutter count' #Currently the only file number is Exif.CanonFi.FileNumber, #which is in the format xxx-yyyy, where xxx is the folder and yyyy the image FILE_NUMBER = 'File number' OWNER_NAME = 'Owner name' COPYRIGHT = 'Copyright' ARTIST = 'Artist' # Video metadata CODEC = 'Codec' WIDTH = 'Width' HEIGHT = 'Height' FPS = 'Frames Per Second' LENGTH = 'Length' #Image sequences DOWNLOAD_SEQ_NUMBER = 'Downloads today' SESSION_SEQ_NUMBER = 'Session number' SUBFOLDER_SEQ_NUMBER = 'Subfolder number' STORED_SEQ_NUMBER = 'Stored number' SEQUENCE_LETTER = 'Sequence letter' # *** Level 2, i.e. third and final column of values presented to user # Image number IMAGE_NUMBER_ALL = 'All digits' IMAGE_NUMBER_1 = 'Last digit' IMAGE_NUMBER_2 = 'Last 2 digits' IMAGE_NUMBER_3 = 'Last 3 digits' IMAGE_NUMBER_4 = 'Last 4 digits' # Case ORIGINAL_CASE = "Original Case" UPPERCASE = "UPPERCASE" LOWERCASE = "lowercase" # Sequence number SEQUENCE_NUMBER_1 = "One digit" SEQUENCE_NUMBER_2 = "Two digits" SEQUENCE_NUMBER_3 = "Three digits" SEQUENCE_NUMBER_4 = "Four digits" SEQUENCE_NUMBER_5 = "Five digits" SEQUENCE_NUMBER_6 = "Six digits" SEQUENCE_NUMBER_7 = "Seven digits" #File number FILE_NUMBER_FOLDER = "Folder only" FILE_NUMBER_ALL = "Folder and file" # Now, define dictionaries and lists of valid combinations of preferences. # Level 2 # Date SUBSECONDS = 'Subseconds' # ****** NOTE 1: if changing LIST_DATE_TIME_L2, you MUST update the default subfolder preference below ***** # ****** NOTE 2: if changing LIST_DATE_TIME_L2, you MUST update DATE_TIME_CONVERT below ***** LIST_DATE_TIME_L2 = ['YYYYMMDD', 'YYYY-MM-DD','YYMMDD', 'YY-MM-DD', 'MMDDYYYY', 'MMDDYY', 'MMDD', 'DDMMYYYY', 'DDMMYY', 'YYYY', 'YY', 'MM', 'DD', 'Month (full)', 'Month (abbreviated)', 'HHMMSS', 'HHMM', 'HH-MM-SS', 'HH-MM', 'HH', 'MM (minutes)', 'SS'] LIST_IMAGE_DATE_TIME_L2 = LIST_DATE_TIME_L2 + [SUBSECONDS] DEFAULT_SUBFOLDER_PREFS = [DATE_TIME, IMAGE_DATE, LIST_DATE_TIME_L2[9], '/', '', '', DATE_TIME, IMAGE_DATE, LIST_DATE_TIME_L2[0]] DEFAULT_VIDEO_SUBFOLDER_PREFS = [DATE_TIME, VIDEO_DATE, LIST_DATE_TIME_L2[9], '/', '', '', DATE_TIME, VIDEO_DATE, LIST_DATE_TIME_L2[0]] class i18TranslateMeThanks: """ this class is never used in actual running code Its purpose is to have these values inserted into the program's i18n template file """ def __init__(self): _('Date time') _('Text') _('Filename') _('Metadata') _('Sequences') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode _('Job code') _('Image date') _('Video date') _('Today') _('Yesterday') # Translators: Download time is the time and date that the download started (when the user clicked the Download button) _('Download time') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Name + extension') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Name') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Extension') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Image number') _('Video number') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Aperture') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('ISO') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Exposure time') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Focal length') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Camera make') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Camera model') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Short camera model') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Hyphenated short camera model') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Serial number') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Shutter count') #File number currently refers to the Exif value Exif.Canon.FileNumber _('File number') #Only the folder component of the Exif.Canon.FileNumber value _('Folder only') #The folder and file component of the Exif.Canon.FileNumber value _('Folder and file') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamemetadata _('Owner name') _('Codec') _('Width') _('Height') _('Length') _('Frames Per Second') _('Artist') _('Copyright') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers _('Downloads today') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers _('Session number') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers _('Subfolder number') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequencenumbers _('Stored number') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#sequenceletters _('Sequence letter') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('All digits') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Last digit') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Last 2 digits') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Last 3 digits') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamefilename _('Last 4 digits') # Translators: please not the capitalization of this text, and keep it the same if your language features capitalization _("Original Case") # Translators: please not the capitalization of this text, and keep it the same if your language features capitalization _("UPPERCASE") # Translators: please not the capitalization of this text, and keep it the same if your language features capitalization _("lowercase") _("One digit") _("Two digits") _("Three digits") _("Four digits") _("Five digits") _("Six digits") _("Seven digits") # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('Subseconds') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('YYYYMMDD') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('YYYY-MM-DD') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('YYMMDD') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('YY-MM-DD') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('MMDDYYYY') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('MMDDYY') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('MMDD') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('DDMMYYYY') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('DDMMYY') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('YYYY') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('YY') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('MM') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('DD') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('Month (full)'), # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('Month (abbreviated)'), # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('HHMMSS') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('HHMM') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('HH-MM-SS') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('HH-MM') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('HH') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('MM (minutes)') # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#renamedateandtime _('SS') # Convenience values for python datetime conversion using values in # LIST_DATE_TIME_L2. Obviously the two must remain synchronized. DATE_TIME_CONVERT = ['%Y%m%d', '%Y-%m-%d','%y%m%d', '%y-%m-%d', '%m%d%Y', '%m%d%y', '%m%d', '%d%m%Y', '%d%m%y', '%Y', '%y', '%m', '%d', '%B', '%b', '%H%M%S', '%H%M', '%H-%M-%S', '%H-%M', '%H', '%M', '%S'] LIST_IMAGE_NUMBER_L2 = [IMAGE_NUMBER_ALL, IMAGE_NUMBER_1, IMAGE_NUMBER_2, IMAGE_NUMBER_3, IMAGE_NUMBER_4] LIST_CASE_L2 = [ORIGINAL_CASE, UPPERCASE, LOWERCASE] LIST_SEQUENCE_LETTER_L2 = [ UPPERCASE, LOWERCASE ] LIST_SEQUENCE_NUMBERS_L2 = [ SEQUENCE_NUMBER_1, SEQUENCE_NUMBER_2, SEQUENCE_NUMBER_3, SEQUENCE_NUMBER_4, SEQUENCE_NUMBER_5, SEQUENCE_NUMBER_6, SEQUENCE_NUMBER_7, ] LIST_SHUTTER_COUNT_L2 = [ SEQUENCE_NUMBER_3, SEQUENCE_NUMBER_4, SEQUENCE_NUMBER_5, SEQUENCE_NUMBER_6, ] FILE_NUMBER_L2 = [ FILE_NUMBER_FOLDER, FILE_NUMBER_ALL ] # Level 1 LIST_DATE_TIME_L1 = [IMAGE_DATE, TODAY, YESTERDAY, DOWNLOAD_TIME] LIST_VIDEO_DATE_TIME_L1 = [VIDEO_DATE, TODAY, YESTERDAY, DOWNLOAD_TIME] DICT_DATE_TIME_L1 = { IMAGE_DATE: LIST_IMAGE_DATE_TIME_L2, TODAY: LIST_DATE_TIME_L2, YESTERDAY: LIST_DATE_TIME_L2, DOWNLOAD_TIME: LIST_DATE_TIME_L2, ORDER_KEY: LIST_DATE_TIME_L1 } VIDEO_DICT_DATE_TIME_L1 = { VIDEO_DATE: LIST_IMAGE_DATE_TIME_L2, TODAY: LIST_DATE_TIME_L2, YESTERDAY: LIST_DATE_TIME_L2, DOWNLOAD_TIME: LIST_DATE_TIME_L2, ORDER_KEY: LIST_VIDEO_DATE_TIME_L1 } LIST_FILENAME_L1 = [NAME_EXTENSION, NAME, EXTENSION, IMAGE_NUMBER] DICT_FILENAME_L1 = { NAME_EXTENSION: LIST_CASE_L2, NAME: LIST_CASE_L2, EXTENSION: LIST_CASE_L2, IMAGE_NUMBER: LIST_IMAGE_NUMBER_L2, ORDER_KEY: LIST_FILENAME_L1 } LIST_VIDEO_FILENAME_L1 = [NAME_EXTENSION, NAME, EXTENSION, VIDEO_NUMBER] DICT_VIDEO_FILENAME_L1 = { NAME_EXTENSION: LIST_CASE_L2, NAME: LIST_CASE_L2, EXTENSION: LIST_CASE_L2, VIDEO_NUMBER: LIST_IMAGE_NUMBER_L2, ORDER_KEY: LIST_VIDEO_FILENAME_L1 } LIST_SUBFOLDER_FILENAME_L1 = [EXTENSION] DICT_SUBFOLDER_FILENAME_L1 = { EXTENSION: LIST_CASE_L2, ORDER_KEY: LIST_SUBFOLDER_FILENAME_L1 } LIST_METADATA_L1 = [APERTURE, ISO, EXPOSURE_TIME, FOCAL_LENGTH, CAMERA_MAKE, CAMERA_MODEL, SHORT_CAMERA_MODEL, SHORT_CAMERA_MODEL_HYPHEN, SERIAL_NUMBER, SHUTTER_COUNT, FILE_NUMBER, OWNER_NAME, ARTIST, COPYRIGHT] LIST_VIDEO_METADATA_L1 = [CODEC, WIDTH, HEIGHT, LENGTH, FPS] DICT_METADATA_L1 = { APERTURE: None, ISO: None, EXPOSURE_TIME: None, FOCAL_LENGTH: None, CAMERA_MAKE: LIST_CASE_L2, CAMERA_MODEL: LIST_CASE_L2, SHORT_CAMERA_MODEL: LIST_CASE_L2, SHORT_CAMERA_MODEL_HYPHEN: LIST_CASE_L2, SERIAL_NUMBER: None, SHUTTER_COUNT: LIST_SHUTTER_COUNT_L2, FILE_NUMBER: FILE_NUMBER_L2, OWNER_NAME: LIST_CASE_L2, ARTIST: LIST_CASE_L2, COPYRIGHT: LIST_CASE_L2, ORDER_KEY: LIST_METADATA_L1 } DICT_VIDEO_METADATA_L1 = { CODEC: LIST_CASE_L2, WIDTH: None, HEIGHT: None, LENGTH: None, FPS: None, ORDER_KEY: LIST_VIDEO_METADATA_L1 } LIST_SEQUENCE_L1 = [ DOWNLOAD_SEQ_NUMBER, STORED_SEQ_NUMBER, SESSION_SEQ_NUMBER, SEQUENCE_LETTER ] DICT_SEQUENCE_L1 = { DOWNLOAD_SEQ_NUMBER: LIST_SEQUENCE_NUMBERS_L2, STORED_SEQ_NUMBER: LIST_SEQUENCE_NUMBERS_L2, SESSION_SEQ_NUMBER: LIST_SEQUENCE_NUMBERS_L2, SEQUENCE_LETTER: LIST_SEQUENCE_LETTER_L2, ORDER_KEY: LIST_SEQUENCE_L1 } # Level 0 LIST_IMAGE_RENAME_L0 = [DATE_TIME, TEXT, FILENAME, METADATA, SEQUENCES, JOB_CODE] LIST_VIDEO_RENAME_L0 = LIST_IMAGE_RENAME_L0 DICT_IMAGE_RENAME_L0 = { DATE_TIME: DICT_DATE_TIME_L1, TEXT: None, FILENAME: DICT_FILENAME_L1, METADATA: DICT_METADATA_L1, SEQUENCES: DICT_SEQUENCE_L1, JOB_CODE: None, ORDER_KEY: LIST_IMAGE_RENAME_L0 } DICT_VIDEO_RENAME_L0 = { DATE_TIME: VIDEO_DICT_DATE_TIME_L1, TEXT: None, FILENAME: DICT_VIDEO_FILENAME_L1, METADATA: DICT_VIDEO_METADATA_L1, SEQUENCES: DICT_SEQUENCE_L1, JOB_CODE: None, ORDER_KEY: LIST_VIDEO_RENAME_L0 } LIST_SUBFOLDER_L0 = [DATE_TIME, TEXT, FILENAME, METADATA, JOB_CODE, SEPARATOR] DICT_SUBFOLDER_L0 = { DATE_TIME: DICT_DATE_TIME_L1, TEXT: None, FILENAME: DICT_SUBFOLDER_FILENAME_L1, METADATA: DICT_METADATA_L1, JOB_CODE: None, SEPARATOR: None, ORDER_KEY: LIST_SUBFOLDER_L0 } LIST_VIDEO_SUBFOLDER_L0 = [DATE_TIME, TEXT, FILENAME, METADATA, JOB_CODE, SEPARATOR] DICT_VIDEO_SUBFOLDER_L0 = { DATE_TIME: VIDEO_DICT_DATE_TIME_L1, TEXT: None, FILENAME: DICT_SUBFOLDER_FILENAME_L1, METADATA: DICT_VIDEO_METADATA_L1, JOB_CODE: None, SEPARATOR: None, ORDER_KEY: LIST_VIDEO_SUBFOLDER_L0 } # preference elements that require metadata # note there is no need to specify lower level elements if a higher level # element is necessary for them to be present to begin with METADATA_ELEMENTS = [METADATA, IMAGE_DATE] # preference elements that are sequence numbers or letters SEQUENCE_ELEMENTS = [ DOWNLOAD_SEQ_NUMBER, SESSION_SEQ_NUMBER, SUBFOLDER_SEQ_NUMBER, STORED_SEQ_NUMBER, SEQUENCE_LETTER] # preference elements that do not require metadata and are not fixed # as above, there is no need to specify lower level elements if a higher level # element is necessary for them to be present to begin with DYNAMIC_NON_METADATA_ELEMENTS = [ TODAY, YESTERDAY, FILENAME] + SEQUENCE_ELEMENTS rapid-photo-downloader-0.4.10/rapid/preferencesdialog.py0000664000175000017500000023536112266257015023550 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2014 Damon Lynch ### 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 import datetime, re import gtk import datetime import multiprocessing import logging logger = multiprocessing.get_logger() import webbrowser import ValidatedEntry import misc import config import paths import rpdfile import higdefaults as hd import metadataphoto import metadatavideo import tableplusminus as tpm import utilities import generatename as gn from generatenameconfig import * import problemnotification as pn from prefsrapid import format_pref_list_for_pretty_print, DownloadsTodayTracker from gettext import gettext as _ class PrefError(Exception): """ base class """ def unpackList(self, l): """ Make the preferences presentable to the user """ s = '' for i in l: if i <> ORDER_KEY: s += "'" + i + "', " return s[:-2] def __str__(self): return self.msg class PrefKeyError(PrefError): def __init__(self, error): value = error[0] expectedValues = self.unpackList(error[1]) self.msg = "Preference key '%(key)s' is invalid.\nExpected one of %(value)s" % { 'key': value, 'value': expectedValues} class PrefValueInvalidError(PrefKeyError): def __init__(self, error): value = error[0] self.msg = "Preference value '%(value)s' is invalid" % {'value': value} class PrefLengthError(PrefError): def __init__(self, error): self.msg = "These preferences are not well formed:" + "\n %s" % self.unpackList(error) class PrefValueKeyComboError(PrefError): def __init__(self, error): self.msg = error def check_pref_valid(pref_defn, prefs, modulo=3): """ Checks to see if prefs are valid according to definition. prefs is a list of preferences. pref_defn is a Dict specifying what is valid. modulo is how many list elements are equivalent to one line of preferences. Returns True if prefs match with pref_defn, else raises appropriate error. """ if (len(prefs) % modulo <> 0) or not prefs: raise PrefLengthError(prefs) else: for i in range(0, len(prefs), modulo): _check_pref_valid(pref_defn, prefs[i:i+modulo]) return True def _check_pref_valid(pref_defn, prefs): key = prefs[0] value = prefs[1] if pref_defn.has_key(key): next_pref_defn = pref_defn[key] if value == None: # value should never be None, at any time raise PrefValueInvalidError((None, next_pref_defn)) if next_pref_defn and not value: raise gn.PrefValueInvalidError((value, next_pref_defn)) if type(next_pref_defn) == type({}): return _check_pref_valid(next_pref_defn, prefs[1:]) else: if type(next_pref_defn) == type([]): result = value in next_pref_defn if not result: raise gn.PrefValueInvalidError((value, next_pref_defn)) return True elif not next_pref_defn: return True else: result = next_pref_defn == value if not result: raise gn.PrefKeyValue((value, next_pref_defn)) return True else: raise PrefKeyError((key, pref_defn[ORDER_KEY])) def filter_subfolder_prefs(pref_list): """ Filters out extraneous preference choices """ prefs_changed = False continue_check = True while continue_check and pref_list: continue_check = False if pref_list[0] == SEPARATOR: # subfolder preferences should not start with a / pref_list = pref_list[3:] prefs_changed = True continue_check = True elif pref_list[-3] == SEPARATOR: # subfolder preferences should not end with a / pref_list = pref_list[:-3] continue_check = True prefs_changed = True else: for i in range(0, len(pref_list) - 3, 3): if pref_list[i] == SEPARATOR and pref_list[i+3] == SEPARATOR: # subfolder preferences should not contain two /s side by side continue_check = True prefs_changed = True # note we are messing with the contents of the pref list, # must exit loop and try again pref_list = pref_list[:i] + pref_list[i+3:] break return (prefs_changed, pref_list) class Comboi18n(gtk.ComboBox): """ very simple i18n version of the venerable combo box with one column displayed to the user. This combo box has two columns: 1. the first contains the actual value and is invisible 2. the second contains the translation of the first column, and this is what the users sees """ def __init__(self): liststore = gtk.ListStore(str, str) gtk.ComboBox.__init__(self, liststore) cell = gtk.CellRendererText() self.pack_start(cell, True) self.add_attribute(cell, 'text', 1) # must name the combo box on pygtk used in Ubuntu 11.04, Fedora 15, etc. self.set_name('GtkComboBox') def append_text(self, text): model = self.get_model() model.append((text, _(text))) def get_active_text(self): model = self.get_model() active = self.get_active() if active < 0: return None return model[active][0] class PreferenceWidgets: def __init__(self, default_row, default_prefs, pref_defn_L0, pref_list): self.default_row = default_row self.default_prefs = default_prefs self.pref_defn_L0 = pref_defn_L0 self.pref_list = pref_list def _create_combo(self, choices): combobox = Comboi18n() for text in choices: combobox.append_text(text) return combobox def get_default_row(self): """ returns a list of default widgets """ return self.get_widgets_based_on_user_selection(self.default_row) def _get_pref_widgets(self, pref_definition, prefs, widgets): key = prefs[0] value = prefs[1] # supply a default value if the user has not yet chosen a value! if not key: key = pref_definition[ORDER_KEY][0] if not key in pref_definition: raise gn.PrefKeyError((key, pref_definition.keys())) list0 = pref_definition[ORDER_KEY] # the first widget will always be a combo box widget0 = self._create_combo(list0) widget0.set_active(list0.index(key)) widgets.append(widget0) if key == TEXT: widget1 = gtk.Entry() widget1.set_text(value) widgets.append(widget1) widgets.append(None) return elif key in [SEPARATOR, JOB_CODE]: widgets.append(None) widgets.append(None) return else: next_pref_definition = pref_definition[key] if type(next_pref_definition) == type({}): return self._get_pref_widgets(next_pref_definition, prefs[1:], widgets) else: if type(next_pref_definition) == type([]): widget1 = self._create_combo(next_pref_definition) if not value: value = next_pref_definition[0] try: widget1.set_active(next_pref_definition.index(value)) except: raise gn.PrefValueInvalidError((value, next_pref_definition)) widgets.append(widget1) else: widgets.append(None) def _get_values_from_list(self): for i in range(0, len(self.pref_list), 3): yield (self.pref_list[i], self.pref_list[i+1], self.pref_list[i+2]) def get_widgets_based_on_prefs(self): """ Yields a list of widgets and their callbacks based on the users preferences. This list is equivalent to one row of preferences when presented to the user in the Plus Minus Table. """ for L0, L1, L2 in self._get_values_from_list(): prefs = [L0, L1, L2] widgets = [] self._get_pref_widgets(self.pref_defn_L0, prefs, widgets) yield widgets def get_widgets_based_on_user_selection(self, selection): """ Returns a list of widgets and their callbacks based on what the user has selected. Selection is the values the user has chosen thus far in comboboxes. It determines the contents of the widgets returned. It should be a list of three values, with None for values not chosen. For values which are None, the first value in the preferences definition is chosen. """ widgets = [] self._get_pref_widgets(self.pref_defn_L0, selection, widgets) return widgets def check_prefs_for_validity(self): """ Checks preferences validity """ return check_pref_valid(self.pref_defn_L0, self.pref_list) class PhotoNamePrefs(PreferenceWidgets): def __init__(self, pref_list): PreferenceWidgets.__init__(self, default_row = [FILENAME, NAME_EXTENSION, ORIGINAL_CASE], default_prefs = [FILENAME, NAME_EXTENSION, ORIGINAL_CASE], pref_defn_L0 = DICT_IMAGE_RENAME_L0, pref_list = pref_list) class VideoNamePrefs(PreferenceWidgets): def __init__(self, pref_list): PreferenceWidgets.__init__(self, default_row = [FILENAME, NAME_EXTENSION, ORIGINAL_CASE], default_prefs = [FILENAME, NAME_EXTENSION, ORIGINAL_CASE], pref_defn_L0 = DICT_VIDEO_RENAME_L0, pref_list = pref_list) class PhotoSubfolderPrefs(PreferenceWidgets): def __init__(self, pref_list): PreferenceWidgets.__init__(self, default_row = [DATE_TIME, IMAGE_DATE, LIST_DATE_TIME_L2[0]], default_prefs = DEFAULT_SUBFOLDER_PREFS, pref_defn_L0 = DICT_SUBFOLDER_L0, pref_list = pref_list) def filter_preferences(self): filtered, pref_list = filter_subfolder_prefs(self.pref_list) if filtered: self.pref_list = pref_list def check_prefs_for_validity(self): """ Checks subfolder preferences validity above and beyond image name checks. See parent method for full description. Subfolders have additional requirments to that of file names. """ v = PreferenceWidgets.check_prefs_for_validity(self) if v: # peform additional checks: # 1. do not start with a separator # 2. do not end with a separator # 3. do not have two separators in a row # these three rules will ensure something else other than a # separator is specified L1s = [] for i in range(0, len(self.pref_list), 3): L1s.append(self.pref_list[i]) if L1s[0] == SEPARATOR: raise PrefValueKeyComboError(_("Subfolder preferences should not start with a %s") % os.sep) elif L1s[-1] == SEPARATOR: raise PrefValueKeyComboError(_("Subfolder preferences should not end with a %s") % os.sep) else: for i in range(len(L1s) - 1): if L1s[i] == SEPARATOR and L1s[i+1] == SEPARATOR: raise PrefValueKeyComboError(_("Subfolder preferences should not contain two %s one after the other") % os.sep) return v class VideoSubfolderPrefs(PhotoSubfolderPrefs): def __init__(self, pref_list): PreferenceWidgets.__init__(self, default_row = [DATE_TIME, VIDEO_DATE, LIST_DATE_TIME_L2[0]], default_prefs = DEFAULT_VIDEO_SUBFOLDER_PREFS, pref_defn_L0 = DICT_VIDEO_SUBFOLDER_L0, pref_list = pref_list) class QuestionDialog(gtk.Dialog): def __init__(self, parent_window, title, question, use_markup=False, default_to_yes=True, post_choice_callback=None): gtk.Dialog.__init__(self, title, None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_NO, gtk.RESPONSE_CANCEL, gtk.STOCK_YES, gtk.RESPONSE_OK)) self.post_choice_callback = post_choice_callback self.set_icon_from_file(paths.share_dir('glade3/rapid-photo-downloader.svg')) prompt_hbox = gtk.HBox() icontheme = gtk.icon_theme_get_default() icon = icontheme.load_icon('dialog-question', 36, gtk.ICON_LOOKUP_USE_BUILTIN) if icon: image = gtk.Image() image.set_from_pixbuf(icon) prompt_hbox.pack_start(image, False, False, padding = 6) prompt_label = gtk.Label(question) prompt_label.set_use_markup(use_markup) prompt_label.set_line_wrap(True) prompt_hbox.pack_start(prompt_label, False, False, padding=6) self.vbox.pack_start(prompt_hbox, padding=6) self.set_border_width(6) self.set_has_separator(False) if default_to_yes: self.set_default_response(gtk.RESPONSE_OK) else: self.set_default_response(gtk.RESPONSE_CANCEL) self.set_transient_for(parent_window) self.show_all() if post_choice_callback: self.connect('response', self.on_response) def on_response(self, device_dialog, response): user_selected = response == gtk.RESPONSE_OK self.post_choice_callback(self, user_selected) class RemoveAllJobCodeDialog(QuestionDialog): def __init__(self, parent_window, post_choice_callback): QuestionDialog.__init__(self, parent_window, _('Remove all Job Codes?'), _('Should all Job Codes be removed?'), post_choice_callback=post_choice_callback) class RemoveAllRemeberedDevicesDialog(QuestionDialog): def __init__(self, parent_window, post_choice_callback): QuestionDialog.__init__(self, parent_window, _('Remove all Remembered Paths?'), _('Should all remembered paths be removed?'), post_choice_callback=post_choice_callback) class RemoveAllIgnoredPathsDialog(QuestionDialog): def __init__(self, parent_window, post_choice_callback): QuestionDialog.__init__(self, parent_window, _('Remove all Ignored Paths?'), _('Should all ignored paths be removed?'), post_choice_callback=post_choice_callback) class PhotoRenameTable(tpm.TablePlusMinus): def __init__(self, preferencesdialog, adjust_scroll_window): tpm.TablePlusMinus.__init__(self, 1, 3) self.preferencesdialog = preferencesdialog self.adjust_scroll_window = adjust_scroll_window if not hasattr(self, "error_title"): self.error_title = _("Error in Photo Rename preferences") self.table_type = self.error_title[len("Error in "):] self.i = 0 if adjust_scroll_window: self.scroll_bar = self.adjust_scroll_window.get_vscrollbar() #this next line does not work on early versions of pygtk :( self.scroll_bar.connect('visibility-notify-event', self.scrollbar_visibility_change) self.connect("size-request", self.size_adjustment) self.connect("add", self.size_adjustment) self.connect("remove", self.size_adjustment) self.bump = 16 self.have_vertical_scrollbar = False self.get_preferencesdialog_prefs() self.setup_prefs_factory() try: self.prefs_factory.check_prefs_for_validity() except (PrefValueInvalidError, PrefLengthError, PrefValueKeyComboError, PrefKeyError), e: logger.error(self.error_title) logger.error("Sorry, these preferences contain an error:") logger.error(format_pref_list_for_pretty_print(self.prefs_factory.pref_list)) # the preferences were invalid # reset them to their default self.pref_list = self.prefs_factory.default_prefs self.setup_prefs_factory() self.update_parentapp_prefs() msg = "%s.\n" % e msg += "Resetting to default values." logger.error(msg) misc.run_dialog(self.error_title, msg, preferencesdialog, gtk.MESSAGE_ERROR) for row in self.prefs_factory.get_widgets_based_on_prefs(): self.append(row) def update_preferences(self): pref_list = [] for row in self.pm_rows: for col in range(self.pm_no_columns): widget = row[col] if widget: name = widget.get_name() if name == 'GtkComboBox': value = widget.get_active_text() elif name == 'GtkEntry': value = widget.get_text() else: logger.critical("Program error: Unknown preference widget!") value = '' else: value = '' pref_list.append(value) self.pref_list = pref_list self.update_parentapp_prefs() self.prefs_factory.pref_list = pref_list self.update_example() def scrollbar_visibility_change(self, widget, event): if event.state == gtk.gdk.VISIBILITY_UNOBSCURED: self.have_vertical_scrollbar = True self.adjust_scroll_window.set_size_request(self.adjust_scroll_window.allocation.width + self.bump, -1) def size_adjustment(self, widget, arg2): """ Adjust scrolledwindow width in preferences dialog to reflect width of image rename table The algorithm is complicated by the need to take into account the presence of a vertical scrollbar, which might be added as the user adds more rows The pygtk code behaves inconsistently depending on the pygtk version """ if self.adjust_scroll_window: self.have_vertical_scrollbar = self.scroll_bar.allocation.width > 1 or self.have_vertical_scrollbar if not self.have_vertical_scrollbar: if self.allocation.width > self.adjust_scroll_window.allocation.width: self.adjust_scroll_window.set_size_request(self.allocation.width, -1) else: if self.allocation.width > self.adjust_scroll_window.allocation.width - self.bump: self.adjust_scroll_window.set_size_request(self.allocation.width + self.bump, -1) self.bump = 0 def get_preferencesdialog_prefs(self): self.pref_list = self.preferencesdialog.prefs.image_rename def setup_prefs_factory(self): self.prefs_factory = PhotoNamePrefs(self.pref_list) def update_parentapp_prefs(self): self.preferencesdialog.prefs.image_rename = self.pref_list def update_example_job_code(self): job_code = self.preferencesdialog.prefs.get_sample_job_code() if not job_code: job_code = _('Job code') #~ self.prefs_factory.setJobCode(job_code) def update_example(self): self.preferencesdialog.update_photo_rename_example() def get_default_row(self): return self.prefs_factory.get_default_row() def on_combobox_changed(self, widget, row_position): for col in range(self.pm_no_columns): if self.pm_rows[row_position][col] == widget: break selection = [] for i in range(col + 1): # ensure it is a combo box we are getting the value from w = self.pm_rows[row_position][i] name = w.get_name() if name == 'GtkComboBox': selection.append(w.get_active_text()) else: selection.append(w.get_text()) for i in range(col + 1, self.pm_no_columns): selection.append('') if col <> (self.pm_no_columns - 1): widgets = self.prefs_factory.get_widgets_based_on_user_selection(selection) for i in range(col + 1, self.pm_no_columns): old_widget = self.pm_rows[row_position][i] if old_widget: self.remove(old_widget) if old_widget in self.pm_callbacks: del self.pm_callbacks[old_widget] new_widget = widgets[i] self.pm_rows[row_position][i] = new_widget if new_widget: self._create_callback(new_widget, row_position) self.attach(new_widget, i, i+1, row_position, row_position + 1) new_widget.show() self.update_preferences() def on_entry_changed(self, widget, row_position): self.update_preferences() def on_row_added(self, row_position): """ Update preferences, as a row has been added """ self.update_preferences() # if this was the last row or 2nd to last row, and another has just been added, move vertical scrollbar down if row_position in range(self.pm_no_rows - 3, self.pm_no_rows - 2): adjustment = self.preferencesdialog.rename_scrolledwindow.get_vadjustment() adjustment.set_value(adjustment.upper) def on_row_deleted(self, row_position): """ Update preferences, as a row has been deleted """ self.update_preferences() class VideoRenameTable(PhotoRenameTable): def __init__(self, preferencesdialog, adjust_scroll_window): self.error_title = _("Error in Video Rename preferences") PhotoRenameTable.__init__(self, preferencesdialog, adjust_scroll_window) def get_preferencesdialog_prefs(self): self.pref_list = self.preferencesdialog.prefs.video_rename def setup_prefs_factory(self): self.prefs_factory = VideoNamePrefs(self.pref_list) def update_parentapp_prefs(self): self.preferencesdialog.prefs.video_rename = self.pref_list def update_example(self): self.preferencesdialog.update_video_rename_example() class SubfolderTable(PhotoRenameTable): """ Table to display photo download subfolder preferences as part of preferences dialog window. """ def __init__(self, preferencesdialog, adjust_scroll_window): self.error_title = _("Error in Photo Download Subfolders preferences") PhotoRenameTable.__init__(self, preferencesdialog, adjust_scroll_window) def get_preferencesdialog_prefs(self): self.pref_list = self.preferencesdialog.prefs.subfolder def setup_prefs_factory(self): self.prefs_factory = PhotoSubfolderPrefs(self.pref_list) def update_parentapp_prefs(self): self.preferencesdialog.prefs.subfolder = self.pref_list def update_example(self): self.preferencesdialog.update_photo_download_folder_example() class VideoSubfolderTable(PhotoRenameTable): def __init__(self, preferencesdialog, adjust_scroll_window): self.error_title = _("Error in Video Download Subfolders preferences") PhotoRenameTable.__init__(self, preferencesdialog, adjust_scroll_window) def get_preferencesdialog_prefs(self): self.pref_list = self.preferencesdialog.prefs.video_subfolder def setup_prefs_factory(self): self.prefs_factory = VideoSubfolderPrefs(self.pref_list) def update_parentapp_prefs(self): self.preferencesdialog.prefs.video_subfolder = self.pref_list def update_example(self): self.preferencesdialog.update_video_download_folder_example() class RemoveAllJobCodeDialog(gtk.Dialog): def __init__(self, parent_window, post_choice_callback): gtk.Dialog.__init__(self, _('Remove all Job Codes?'), None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_NO, gtk.RESPONSE_CANCEL, gtk.STOCK_YES, gtk.RESPONSE_OK)) self.post_choice_callback = post_choice_callback self.set_icon_from_file(paths.share_dir('glade3/rapid-photo-downloader.svg')) prompt_hbox = gtk.HBox() icontheme = gtk.icon_theme_get_default() icon = icontheme.load_icon('dialog-question', 36, gtk.ICON_LOOKUP_USE_BUILTIN) if icon: image = gtk.Image() image.set_from_pixbuf(icon) prompt_hbox.pack_start(image, False, False, padding = 6) prompt_label = gtk.Label(_('Should all Job Codes be removed?')) prompt_label.set_line_wrap(True) prompt_hbox.pack_start(prompt_label, False, False, padding=6) self.vbox.pack_start(prompt_hbox, padding=6) self.set_border_width(6) self.set_has_separator(False) self.set_default_response(gtk.RESPONSE_OK) self.set_transient_for(parent_window) self.show_all() self.connect('response', self.on_response) def on_response(self, device_dialog, response): user_selected = response == gtk.RESPONSE_OK self.post_choice_callback(self, user_selected) class JobCodeDialog(gtk.Dialog): """ Dialog prompting for a job code""" def __init__(self, parent_window, job_codes, default_job_code, post_job_code_entry_callback, entry_only): # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode gtk.Dialog.__init__(self, _('Enter a Job Code'), None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OK, gtk.RESPONSE_OK)) self.set_icon_from_file(paths.share_dir('glade3/rapid-photo-downloader.svg')) self.post_job_code_entry_callback = post_job_code_entry_callback self.combobox = gtk.combo_box_entry_new_text() for text in job_codes: self.combobox.append_text(text) self.job_code_hbox = gtk.HBox(homogeneous = False) if len(job_codes) and not entry_only: # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode task_label = gtk.Label(_('Enter a new Job Code, or select a previous one')) else: # Translators: for an explanation of what this means, see http://damonlynch.net/rapid/documentation/index.html#jobcode task_label = gtk.Label(_('Enter a new Job Code')) task_label.set_line_wrap(True) task_hbox = gtk.HBox() task_hbox.pack_start(task_label, False, False, padding=6) label = gtk.Label(_('Job Code:')) self.job_code_hbox.pack_start(label, False, False, padding=6) self.job_code_hbox.pack_start(self.combobox, True, True, padding=6) self.set_border_width(6) self.set_has_separator(False) # make entry box have entry completion self.entry = self.combobox.child completion = gtk.EntryCompletion() completion.set_match_func(self.match_func) completion.connect("match-selected", self.on_completion_match) completion.set_model(self.combobox.get_model()) completion.set_text_column(0) self.entry.set_completion(completion) # when user hits enter, close the dialog window self.set_default_response(gtk.RESPONSE_OK) self.entry.set_activates_default(True) if default_job_code: self.entry.set_text(default_job_code) self.vbox.pack_start(task_hbox, False, False, padding = 6) self.vbox.pack_start(self.job_code_hbox, False, False, padding=12) self.set_transient_for(parent_window) self.show_all() self.connect('response', self.on_job_code_resp) def match_func(self, completion, key, iter): model = completion.get_model() return model[iter][0].lower().startswith(self.entry.get_text().lower()) def on_completion_match(self, completion, model, iter): self.entry.set_text(model[iter][0]) self.entry.set_position(-1) def get_job_code(self): return self.combobox.child.get_text() def on_job_code_resp(self, jc_dialog, response): user_chose_code = False if response == gtk.RESPONSE_OK: user_chose_code = True logger.debug("Job Code entered") else: logger.debug("Job Code not entered") self.post_job_code_entry_callback(self, user_chose_code, self.get_job_code()) class IgnorePathDialog(gtk.Dialog): """ Dialog prompting for a path to ignore when scanning devices""" def __init__(self, parent_window, post_entry_callback): gtk.Dialog.__init__(self, _('Enter a Path to Ignore'), None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OK, gtk.RESPONSE_OK)) self.set_icon_from_file(paths.share_dir('glade3/rapid-photo-downloader.svg')) self.post_entry_callback = post_entry_callback self.path_entry = gtk.Entry(max=0) self.ignored_path_hbox = gtk.HBox(homogeneous = False) task_label = gtk.Label(_('Specify a path that will never be scanned for photos or videos')) task_label.set_line_wrap(True) task_hbox = gtk.HBox() task_hbox.pack_start(task_label, False, False, padding=6) label = gtk.Label(_('Path:')) self.ignored_path_hbox.pack_start(label, False, False, padding=6) self.ignored_path_hbox.pack_start(self.path_entry, True, True, padding=6) self.set_border_width(6) self.set_has_separator(False) # when user hits enter, close the dialog window self.set_default_response(gtk.RESPONSE_OK) self.path_entry.set_activates_default(True) self.vbox.pack_start(task_hbox, False, False, padding = 6) self.vbox.pack_start(self.ignored_path_hbox, False, False, padding=12) self.set_transient_for(parent_window) self.show_all() self.connect('response', self.on_ignored_path_resp) def on_ignored_path_resp(self, ignored_path_dialog, response): user_chose_path = False if response == gtk.RESPONSE_OK: user_chose_path = True logger.debug("Ignored Path entered") else: logger.debug("Ignored Path not entered") self.post_entry_callback(self, user_chose_path, self.path_entry.get_text()) class PreferencesDialog(): """ Dialog window to show Rapid Photo Downloader preferences. Is tightly integrated into main Rapid Photo Downloader window, i.e. directly access members in class RapidApp. """ def __init__(self, rapidapp): self.builder = gtk.Builder() self.builder.set_translation_domain(config.APP_NAME) self.builder.add_from_file(paths.share_dir("glade3/prefs.ui")) self.builder.connect_signals(self) self.dialog = self.preferencesdialog self.widget = self.dialog self.dialog.set_transient_for(rapidapp.rapidapp) self.prefs = rapidapp.prefs rapidapp.preferences_dialog_displayed = True self.pref_dialog_startup = True self.rapidapp = rapidapp self._setup_tab_selector() self._setup_control_spacing() self.file_types = metadatavideo.file_types_to_download() self._setup_sample_names() # setup tabs self._setup_photo_download_folder_tab() self._setup_image_rename_tab() self._setup_video_download_folder_tab() self._setup_video_rename_tab() self._setup_rename_options_tab() self._setup_job_code_tab() self._setup_device_tab() self._setup_device_options_tab() self._setup_backup_tab() self._setup_miscellaneous_tab() self._setup_error_tab() if not metadatavideo.DOWNLOAD_VIDEO: self.disable_video_controls() self.dialog.realize() #set the width of the left column for selecting values #note: this must be called after self.dialog.realize(), or else the width calculation will fail width_of_widest_sel_row = self.treeview.get_background_area(1, self.treeview_column)[2] self.scrolled_window.set_size_request(width_of_widest_sel_row + 2, -1) #set the minimum width of the scolled window holding the photo rename table if self.rename_scrolledwindow.get_vscrollbar(): extra = self.rename_scrolledwindow.get_vscrollbar().allocation.width + 10 else: extra = 10 self.rename_scrolledwindow.set_size_request(self.rename_table.allocation.width + extra, -1) self.dialog.show() self.pref_dialog_startup = False def __getattr__(self, key): """Allow builder widgets to be accessed as self.widgetname """ widget = self.builder.get_object(key) if widget: # cache lookups setattr(self, key, widget) return widget raise AttributeError(key) def on_preferencesdialog_destroy(self, widget): """ Delete variables from memory that cause a file descriptor to be created on a mounted media""" logger.debug("Preference window closing") def _setup_tab_selector(self): self.notebook.set_show_tabs(0) self.model = gtk.ListStore(type("")) column = gtk.TreeViewColumn() rentext = gtk.CellRendererText() column.pack_start(rentext, expand=0) column.set_attributes(rentext, text=0) self.treeview_column = column self.treeview.append_column(column) self.treeview.props.model = self.model for c in self.notebook.get_children(): label = self.notebook.get_tab_label(c).get_text() if not label.startswith("_"): self.model.append( (label,) ) # select the first value in the list store self.treeview.set_cursor(0,column) def on_download_folder_filechooser_button_selection_changed(self, widget): path = misc.get_folder_selection(widget) if path: self.prefs.download_folder = path self.update_photo_download_folder_example() def on_video_download_folder_filechooser_button_selection_changed(self, widget): path = misc.get_folder_selection(widget) if path: self.prefs.video_download_folder = path self.update_video_download_folder_example() def on_backup_folder_filechooser_button_selection_changed(self, widget): path = misc.get_folder_selection(widget) if path: self.prefs.backup_location = path self.update_backup_example() def on_backup_video_folder_filechooser_button_selection_changed(self, widget): path = misc.get_folder_selection(widget) if path: self.prefs.backup_video_location = path self.update_backup_example() def on_device_location_filechooser_button_selection_changed(self, widget): path = misc.get_folder_selection(widget) if path: self.prefs.device_location = path def on_add_ignored_path_button_clicked(self, widget): i = IgnorePathDialog(parent_window = self.dialog, post_entry_callback = self.add_ignored_path) def add_ignored_path(self, dialog, user_chose_path, path): dialog.destroy() if user_chose_path: if path and path not in self.prefs.ignored_paths: self.ignored_paths_liststore.prepend((path, )) self.update_ignored_paths() selection = self.ignored_paths_treeview.get_selection() selection.unselect_all() selection.select_path((0, )) #scroll to the top adjustment = self.ignored_paths_scrolledwindow.get_vadjustment() adjustment.set_value(adjustment.lower) def on_ignored_paths_use_re_checkbutton_toggled(self, checkbutton): self.prefs.use_re_ignored_paths = checkbutton.get_active() if self.prefs.use_re_ignored_paths and not self.pref_dialog_startup: # check for invalid regular expressions self.update_ignored_paths() def on_remove_ignored_path_button_clicked(self, button): self._remove_from_treeview(self.ignored_paths_treeview) self.update_ignored_paths() def on_remove_all_ignored_paths_button_clicked(self, button): i = RemoveAllIgnoredPathsDialog(self.dialog, self.remove_all_ignored_paths) def remove_all_ignored_paths(self, dialog, user_selected): dialog.destroy() if user_selected: self.ignored_paths_liststore.clear() self.update_ignored_paths() def on_remove_remembered_device_button_clicked(self, button): """ uses remembered devices treeview to delete any removed items from the device_whitelist and device_blacklist prefs """ blacklist = [i for i in self.prefs.device_blacklist if i] whitelist = [i for i in self.prefs.device_whitelist if i] selection = self.remembered_devices_treeview.get_selection() model, selected = selection.get_selected_rows() iters = [model.get_iter(path) for path in selected] # only delete if a value is selected if iters: no = len(iters) path = None for i in range(0, no): iter = iters[i] if i == no - 1: path = model.get_path(iter) v = self.remembered_devices_liststore.get_value(iter, 0) if v in blacklist: blacklist.remove(v) elif v in whitelist: whitelist.remove(v) else: logger.debug("Unknown remembered device %s", v) model.remove(iter) # now that we removed the selection, play nice with # the user and select the next item selection.select_path(path) # if there was no selection that meant the user # removed the last entry, so we try to select the # last item if not selection.path_is_selected(path): row = path[0]-1 # test case for empty lists if row >= 0: selection.select_path((row,)) self.prefs.device_blacklist = blacklist self.prefs.device_whitelist = whitelist def on_remove_all_remembered_device_button_clicked(self, button): r = RemoveAllRemeberedDevicesDialog(self.dialog, self.remove_all_remembered_devices) def remove_all_remembered_devices(self, dialog, user_selected): dialog.destroy() if user_selected: self.remembered_devices_liststore.clear() self.prefs.device_blacklist = [] self.prefs.device_whitelist = [] def _setup_sample_names(self, use_dummy_data = False): """ If use_dummy_data is True, then samples will not attempt to get data from actual download files """ job_code = self.prefs.most_recent_job_code() if job_code is None: job_code = _("Job Code") self.downloads_today_tracker = DownloadsTodayTracker( day_start = self.prefs.day_start, downloads_today = self.prefs.downloads_today[1], downloads_today_date = self.prefs.downloads_today[0]) self.sequences = gn.Sequences(self.downloads_today_tracker, self.prefs.stored_sequence_no) # get example photo and video data if use_dummy_data: self.sample_photo = None else: self.sample_photo = self.rapidapp.thumbnails.get_sample_file(rpdfile.FILE_TYPE_PHOTO) if self.sample_photo is not None: # try to load metadata from the file returned # if it fails, give up with this sample file if not self.sample_photo.load_metadata(): self.sample_photo = None else: self.sample_photo.sequences = self.sequences self.sample_photo.download_start_time = datetime.datetime.now() if self.sample_photo is None: self.sample_photo = rpdfile.SamplePhoto(sequences=self.sequences) self.sample_photo.job_code = job_code self.sample_video = None if metadatavideo.DOWNLOAD_VIDEO: if not use_dummy_data: self.sample_video = self.rapidapp.thumbnails.get_sample_file(rpdfile.FILE_TYPE_VIDEO) if self.sample_video is not None: self.sample_video.load_metadata() self.sample_video.sequences = self.sequences self.sample_video.download_start_time = datetime.datetime.now() if self.sample_video is None: self.sample_video = rpdfile.SampleVideo(sequences=self.sequences) self.sample_video.job_code = job_code def _setup_control_spacing(self): """ set spacing of some but not all controls """ self._setup_table_spacing(self.download_folder_table) self._setup_table_spacing(self.video_download_folder_table) self.download_folder_table.set_row_spacing(2, hd.VERTICAL_CONTROL_SPACE) self.video_download_folder_table.set_row_spacing(2, hd.VERTICAL_CONTROL_SPACE) self._setup_table_spacing(self.rename_example_table) self._setup_table_spacing(self.video_rename_example_table) self.devices_table.set_col_spacing(0, hd.NESTED_CONTROLS_SPACE) self.automation_table.set_col_spacing(0, hd.NESTED_CONTROLS_SPACE) self._setup_table_spacing(self.backup_table) self.backup_table.set_col_spacing(1, hd.NESTED_CONTROLS_SPACE) self.backup_table.set_col_spacing(2, hd.CONTROL_LABEL_SPACE) self._setup_table_spacing(self.compatibility_table) self.compatibility_table.set_row_spacing(0, hd.VERTICAL_CONTROL_LABEL_SPACE) self._setup_table_spacing(self.error_table) def _setup_table_spacing(self, table): table.set_col_spacing(0, hd.NESTED_CONTROLS_SPACE) table.set_col_spacing(1, hd.CONTROL_LABEL_SPACE) def _setup_subfolder_table(self): self.subfolder_table = SubfolderTable(self, None) self.subfolder_vbox.pack_start(self.subfolder_table) self.subfolder_table.show_all() def _setup_video_subfolder_table(self): self.video_subfolder_table = VideoSubfolderTable(self, None) self.video_subfolder_vbox.pack_start(self.video_subfolder_table) self.video_subfolder_table.show_all() def _setup_photo_download_folder_tab(self): self.download_folder_filechooser_button = gtk.FileChooserButton( _("Select a folder to download photos to")) self.download_folder_filechooser_button.set_current_folder( self.prefs.download_folder) self.download_folder_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) self.download_folder_filechooser_button.connect("selection-changed", self.on_download_folder_filechooser_button_selection_changed) self.download_folder_table.attach( self.download_folder_filechooser_button, 2, 3, 2, 3, yoptions = gtk.SHRINK) self.download_folder_filechooser_button.show() self._setup_subfolder_table() self.update_photo_download_folder_example() def _setup_video_download_folder_tab(self): self.video_download_folder_filechooser_button = gtk.FileChooserButton( _("Select a folder to download videos to")) self.video_download_folder_filechooser_button.set_current_folder( self.prefs.video_download_folder) self.video_download_folder_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) self.video_download_folder_filechooser_button.connect("selection-changed", self.on_video_download_folder_filechooser_button_selection_changed) self.video_download_folder_table.attach( self.video_download_folder_filechooser_button, 2, 3, 2, 3, yoptions = gtk.SHRINK) self.video_download_folder_filechooser_button.show() self._setup_video_subfolder_table() self.update_video_download_folder_example() def _setup_image_rename_tab(self): self.rename_table = PhotoRenameTable(self, self.rename_scrolledwindow) self.rename_table_vbox.pack_start(self.rename_table) self.rename_table.show_all() self._setup_photo_original_name() self.update_photo_rename_example() def _setup_photo_original_name(self): self.original_name_label.set_markup("%s" % self.sample_photo.display_name) def _setup_video_rename_tab(self): self.video_rename_table = VideoRenameTable(self, self.video_rename_scrolledwindow) self.video_rename_table_vbox.pack_start(self.video_rename_table) self.video_rename_table.show_all() self._setup_video_original_name() self.update_video_rename_example() def _setup_video_original_name(self): if self.sample_video is not None: self.video_original_name_label.set_markup("%s" % self.sample_video.display_name) else: self.video_original_name_label.set_markup("") def _setup_rename_options_tab(self): # sequence numbers self.downloads_today_entry = ValidatedEntry.ValidatedEntry(ValidatedEntry.bounded(ValidatedEntry.v_int, int, 0)) self.stored_number_entry = ValidatedEntry.ValidatedEntry(ValidatedEntry.bounded(ValidatedEntry.v_int, int, 1)) self.downloads_today_entry.connect('changed', self.on_downloads_today_entry_changed) self.stored_number_entry.connect('changed', self.on_stored_number_entry_changed) v = self.rapidapp.downloads_today_tracker.get_and_maybe_reset_downloads_today() self.downloads_today_entry.set_text(str(v)) # make the displayed value of stored sequence no 1 more than actual value # so as not to confuse the user self.stored_number_entry.set_text(str(self.prefs.stored_sequence_no+1)) self.sequence_vbox.pack_start(self.downloads_today_entry, expand=True, fill=True) self.sequence_vbox.pack_start(self.stored_number_entry, expand=False) self.downloads_today_entry.show() self.stored_number_entry.show() hour, minute = self.rapidapp.downloads_today_tracker.get_day_start() self.hour_spinbutton.set_value(float(hour)) self.minute_spinbutton.set_value(float(minute)) self.synchronize_raw_jpg_checkbutton.set_active( self.prefs.synchronize_raw_jpg) #compatibility self.strip_characters_checkbutton.set_active( self.prefs.strip_characters) def _setup_job_code_tab(self): self.job_code_liststore = gtk.ListStore(str) column = gtk.TreeViewColumn() rentext = gtk.CellRendererText() rentext.connect('edited', self.on_job_code_edited) rentext.set_property('editable', True) column.pack_start(rentext, expand=0) column.set_attributes(rentext, text=0) self.job_code_treeview_column = column self.job_code_treeview.append_column(column) self.job_code_treeview.props.model = self.job_code_liststore for code in self.prefs.job_codes: self.job_code_liststore.append((code, )) # set multiple selections self.job_code_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE) self.remove_all_job_code_button.set_image(gtk.image_new_from_stock( gtk.STOCK_CLEAR, gtk.ICON_SIZE_BUTTON)) def _setup_device_options_tab(self): """ Setup ignored paths and remembered devices tab in prefs dialog """ self.ignored_paths_use_re_checkbutton.set_active( self.prefs.use_re_ignored_paths) self.ignored_paths_liststore = gtk.ListStore(str) column = gtk.TreeViewColumn() rentext = gtk.CellRendererText() rentext.connect('edited', self.on_ignored_path_edited) rentext.set_property('editable', True) column.pack_start(rentext, expand=0) column.set_attributes(rentext, text=0) self.ignored_paths_treeview_column = column self.ignored_paths_treeview.append_column(column) self.ignored_paths_treeview.props.model = self.ignored_paths_liststore for path in self.prefs.ignored_paths: self.ignored_paths_liststore.append((path, )) self.ignored_paths_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE) self.remove_all_ignored_paths_button.set_image(gtk.image_new_from_stock( gtk.STOCK_CLEAR, gtk.ICON_SIZE_BUTTON)) # Remembered devices are a little different in that they cannot be # edited, and they can only added when the user is prompted by the # program. Moreover, the list the user sees is a combination of two # lists: device_whitelist and device_blacklist self.remembered_devices_liststore = gtk.ListStore(str) column = gtk.TreeViewColumn() rentext = gtk.CellRendererText() rentext.set_property('editable', False) column.pack_start(rentext, expand=0) column.set_attributes(rentext, text=0) self.remembered_devices_treeview_column = column self.remembered_devices_treeview.append_column(column) self.remembered_devices_treeview.props.model = self.remembered_devices_liststore for device in self.prefs.device_whitelist: if device: self.remembered_devices_liststore.append((device, )) for device in self.prefs.device_blacklist: if device: self.remembered_devices_liststore.append((device, )) self.remembered_devices_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE) self.remove_all_remembered_device_button.set_image(gtk.image_new_from_stock( gtk.STOCK_CLEAR, gtk.ICON_SIZE_BUTTON)) def _setup_device_tab(self): self.device_location_filechooser_button = gtk.FileChooserButton( _("Select a folder containing %(file_types)s") % {'file_types':self.file_types}) self.device_location_filechooser_button.set_current_folder( self.prefs.device_location) self.device_location_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) self.device_location_filechooser_button.connect("selection-changed", self.on_device_location_filechooser_button_selection_changed) self.devices2_table.attach(self.device_location_filechooser_button, 1, 2, 1, 2, xoptions = gtk.EXPAND|gtk.FILL, yoptions = gtk.SHRINK) self.device_location_filechooser_button.show() self.autodetect_device_checkbutton.set_active( self.prefs.device_autodetection) self.autodetect_psd_checkbutton.set_active( self.prefs.device_autodetection_psd) self.update_device_controls() def _setup_backup_tab(self): """ Setup and configure backup tab """ #Manual backup location for photos file chooser self.backup_folder_filechooser_button = gtk.FileChooserButton( _("Select a folder in which to backup photos")) self.backup_folder_filechooser_button.set_current_folder( self.prefs.backup_location) self.backup_folder_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) self.backup_folder_filechooser_button.connect("selection-changed", self.on_backup_folder_filechooser_button_selection_changed) self.backup_table.attach(self.backup_folder_filechooser_button, 3, 4, 8, 9, yoptions = gtk.SHRINK) self.backup_folder_filechooser_button.show() #Manual backup location for videos file chooser self.backup_video_folder_filechooser_button = gtk.FileChooserButton( _("Select a folder in which to backup videos")) self.backup_video_folder_filechooser_button.set_current_folder( self.prefs.backup_video_location) self.backup_video_folder_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) self.backup_video_folder_filechooser_button.connect("selection-changed", self.on_backup_video_folder_filechooser_button_selection_changed) self.backup_table.attach(self.backup_video_folder_filechooser_button, 3, 4, 9, 10, yoptions = gtk.SHRINK) self.backup_video_folder_filechooser_button.show() self.backup_identifier_entry.set_text(self.prefs.backup_identifier) self.video_backup_identifier_entry.set_text(self.prefs.video_backup_identifier) #setup controls for manipulating sensitivity self._backup_controls0 = [self.auto_detect_backup_checkbutton] self._backup_controls1 = [self.backup_identifier_explanation_label, self.backup_identifier_label, self.backup_identifier_entry, self.example_backup_path_label, self.backup_example_label,] self._backup_controls2 = [self.backup_location_label, self.backup_folder_filechooser_button, self.backup_location_explanation_label] if metadatavideo.DOWNLOAD_VIDEO: self._backup_controls2 += [self.backup_video_folder_filechooser_button, self.backup_video_location_label] else: self.backup_video_folder_filechooser_button.set_sensitive(False) self.backup_video_location_label.set_sensitive(False) self._backup_controls = self._backup_controls0 + self._backup_controls1 + \ self._backup_controls2 self._backup_video_controls = [self.video_backup_identifier_label, self.video_backup_identifier_entry] #assign values to checkbuttons only when other controls #have been setup, because their toggle signal is activated #when a value is assigned self.backup_checkbutton.set_active(self.prefs.backup_images) self.auto_detect_backup_checkbutton.set_active( self.prefs.backup_device_autodetection) self.update_backup_controls() self.update_backup_example() def _setup_miscellaneous_tab(self): self.auto_startup_checkbutton.set_active( self.prefs.auto_download_at_startup) self.auto_insertion_checkbutton.set_active( self.prefs.auto_download_upon_device_insertion) self.auto_unmount_checkbutton.set_active( self.prefs.auto_unmount) self.auto_exit_checkbutton.set_active( self.prefs.auto_exit) self.auto_exit_force_checkbutton.set_active( self.prefs.auto_exit_force) self.generate_thumbnails_checkbutton.set_active( self.prefs.generate_thumbnails) self.auto_rotate_checkbutton.set_active( self.prefs.auto_rotate_jpeg) self.verify_file_checkbutton.set_active( self.prefs.verify_file) self.update_misc_controls() def _setup_error_tab(self): if self.prefs.download_conflict_resolution == config.SKIP_DOWNLOAD: self.skip_download_radiobutton.set_active(True) else: self.add_identifier_radiobutton.set_active(True) if self.prefs.backup_duplicate_overwrite: self.backup_duplicate_overwrite_radiobutton.set_active(True) else: self.backup_duplicate_skip_radiobutton.set_active(True) def update_example_file_name(self, display_table, rename_table, sample_rpd_file, generator, example_label): if hasattr(self, display_table) and sample_rpd_file is not None: sample_rpd_file.download_folder = self.prefs.get_download_folder_for_file_type(sample_rpd_file.file_type) sample_rpd_file.strip_characters = self.prefs.strip_characters sample_rpd_file.initialize_problem() name = generator.generate_name(sample_rpd_file) else: name = '' # since this is markup, escape it text = "%s" % utilities.escape(name) if sample_rpd_file is not None: if sample_rpd_file.has_problem(): text += "\n" # Translators: please do not modify or leave out html formatting tags like and . These are used to format the text the users sees text += _("Warning: There is insufficient metadata to fully generate the name. Please use other renaming options.") example_label.set_markup(text) def update_photo_rename_example(self): """ Displays example image name to the user """ generator = gn.PhotoName(self.prefs.image_rename) self.update_example_file_name('rename_table', self.rename_table, self.sample_photo, generator, self.new_name_label) def update_video_rename_example(self): """ Displays example video name to the user """ if self.sample_video is not None: generator = gn.VideoName(self.prefs.video_rename) else: generator = None self.update_example_file_name('video_rename_table', self.video_rename_table, self.sample_video, generator, self.video_new_name_label) def update_download_folder_example(self, display_table, subfolder_table, download_folder, sample_rpd_file, generator, example_download_path_label, subfolder_warning_label): """ Displays example subfolder name(s) to the user """ if hasattr(self, display_table) and sample_rpd_file is not None: #~ subfolder_table.update_example_job_code() sample_rpd_file.strip_characters = self.prefs.strip_characters sample_rpd_file.initialize_problem() path = generator.generate_name(sample_rpd_file) else: path = '' text = os.path.join(download_folder, path) # since this is markup, escape it path = utilities.escape(text) warning = "" if sample_rpd_file is not None: if sample_rpd_file.has_problem(): warning = _("Warning: There is insufficient metadata to fully generate subfolders. Please use other subfolder naming options." ) # Translators: you should not modify or leave out the %s. This is a code used by the programming language python to insert a value that thes user will see example_download_path_label.set_markup(_("Example: %s") % text) subfolder_warning_label.set_markup(warning) def update_photo_download_folder_example(self): if hasattr(self, 'subfolder_table'): generator = gn.PhotoSubfolder(self.prefs.subfolder) self.update_download_folder_example('subfolder_table', self.subfolder_table, self.prefs.download_folder, self.sample_photo, generator, self.example_photo_download_path_label, self.photo_subfolder_warning_label) def update_video_download_folder_example(self): if hasattr(self, 'video_subfolder_table'): if self.sample_video is not None: generator = gn.VideoSubfolder(self.prefs.video_subfolder) else: generator = None self.update_download_folder_example('video_subfolder_table', self.video_subfolder_table, self.prefs.video_download_folder, self.sample_video, generator, self.example_video_download_path_label, self.video_subfolder_warning_label) def on_hour_spinbutton_value_changed(self, spinbutton): hour = spinbutton.get_value_as_int() minute = self.minute_spinbutton.get_value_as_int() self.rapidapp.downloads_today_tracker.set_day_start(hour, minute) self.on_downloads_today_entry_changed(self.downloads_today_entry) def on_minute_spinbutton_value_changed(self, spinbutton): hour = self.hour_spinbutton.get_value_as_int() minute = spinbutton.get_value_as_int() self.rapidapp.downloads_today_tracker.set_day_start(hour, minute) self.on_downloads_today_entry_changed(self.downloads_today_entry) def on_downloads_today_entry_changed(self, entry): # do not update value if a download is occurring - it will mess it up! if self.rapidapp.download_is_occurring(): logger.info("Downloads today value not updated, as a download is currently occurring") else: v = entry.get_text() try: v = int(v) except: v = 0 if v < 0: v = 0 self.rapidapp.downloads_today_tracker.reset_downloads_today(v) self.rapidapp.refresh_downloads_today = True self.update_photo_rename_example() def on_stored_number_entry_changed(self, entry): # do not update value if a download is occurring - it will mess it up! if self.rapidapp.download_is_occurring(): logger.info("Stored number value not updated, as a download is currently occurring") else: v = entry.get_text() try: # the displayed value of stored sequence no 1 more than actual value # so as not to confuse the user v = int(v) - 1 except: v = 0 if v < 0: v = 0 self.prefs.stored_sequence_no = v self.update_photo_rename_example() def _update_subfolder_pref_on_error(self, new_pref_list): self.prefs.subfolder = new_pref_list def _update_video_subfolder_pref_on_error(self, new_pref_list): self.prefs.video_subfolder = new_pref_list def check_subfolder_values_valid_on_exit(self, users_pref_list, update_pref_function, filetype, default_pref_list): """ Checks that the user has not entered in any inappropriate values If they have, filters out bad values and warns the user """ filtered, pref_list = filter_subfolder_prefs(users_pref_list) if filtered: logger.info("The %(filetype)s subfolder preferences had some unnecessary values removed.", {'filetype': filetype}) if pref_list: update_pref_function(pref_list) else: #Preferences list is now empty msg = _("The %(filetype)s subfolder preferences entered are invalid and cannot be used.\nThey will be reset to their default values.") % {'filetype': filetype} sys.stderr.write(msg + "\n") misc.run_dialog(PROGRAM_NAME, msg) update_pref_function(self.prefs.get_default(default_pref_list)) def on_preferencesdialog_response(self, dialog, arg): if arg == gtk.RESPONSE_HELP: webbrowser.open("http://www.damonlynch.net/rapid/documentation") else: # arg==gtk.RESPONSE_CLOSE, or the user hit the 'x' to close the window self.prefs.backup_identifier = self.backup_identifier_entry.get_property("text") self.prefs.video_backup_identifier = self.video_backup_identifier_entry.get_property("text") #check subfolder preferences for bad values self.check_subfolder_values_valid_on_exit(self.prefs.subfolder, self._update_subfolder_pref_on_error, _("photo"), "subfolder") self.check_subfolder_values_valid_on_exit(self.prefs.video_subfolder, self._update_video_subfolder_pref_on_error, _("video"), "video_subfolder") self.dialog.destroy() self.rapidapp.preferences_dialog_displayed = False self.rapidapp.post_preference_change() def on_add_job_code_button_clicked(self, button): j = JobCodeDialog(parent_window = self.dialog, job_codes = self.prefs.job_codes, default_job_code = None, post_job_code_entry_callback=self.add_job_code, entry_only = True) def add_job_code(self, dialog, user_chose_code, job_code): dialog.destroy() if user_chose_code: if job_code and job_code not in self.prefs.job_codes: self.job_code_liststore.prepend((job_code, )) self.update_job_codes() selection = self.job_code_treeview.get_selection() selection.unselect_all() selection.select_path((0, )) #scroll to the top adjustment = self.job_code_scrolledwindow.get_vadjustment() adjustment.set_value(adjustment.lower) def _remove_from_treeview(self, treeview): """ Removes selected items from a treeview, allowing multiple selections """ selection = treeview.get_selection() model, selected = selection.get_selected_rows() iters = [model.get_iter(path) for path in selected] # only delete if a value is selected if iters: no = len(iters) path = None for i in range(0, no): iter = iters[i] if i == no - 1: path = model.get_path(iter) model.remove(iter) # now that we removed the selection, play nice with # the user and select the next item selection.select_path(path) # if there was no selection that meant the user # removed the last entry, so we try to select the # last item if not selection.path_is_selected(path): row = path[0]-1 # test case for empty lists if row >= 0: selection.select_path((row,)) def on_remove_job_code_button_clicked(self, button): """ remove selected job codes (can be multiple selection)""" self._remove_from_treeview(self.job_code_treeview) self.update_job_codes() self.update_photo_rename_example() self.update_video_rename_example() self.update_photo_download_folder_example() self.update_video_download_folder_example() def on_remove_all_job_code_button_clicked(self, button): j = RemoveAllJobCodeDialog(self.dialog, self.remove_all_job_code) def remove_all_job_code(self, dialog, user_selected): dialog.destroy() if user_selected: self.job_code_liststore.clear() self.update_job_codes() self.update_photo_rename_example() self.update_video_rename_example() self.update_photo_download_folder_example() self.update_video_download_folder_example() def on_job_code_edited(self, widget, path, new_text): iter = self.job_code_liststore.get_iter(path) self.job_code_liststore.set_value(iter, 0, new_text) self.update_job_codes() self.update_photo_rename_example() self.update_video_rename_example() self.update_photo_download_folder_example() self.update_video_download_folder_example() def _update_prefs_list(self, liststore): replacement_list = [] for row in liststore: replacement_list.append(row[0]) return replacement_list def update_job_codes(self): """ update preferences with list of job codes""" self.prefs.job_codes = self._update_prefs_list(self.job_code_liststore) def on_ignored_path_edited(self, widget, path, new_text): iter = self.ignored_paths_liststore.get_iter(path) self.ignored_paths_liststore.set_value(iter, 0, new_text) self.update_ignored_paths() def update_ignored_paths(self): ignored_paths = self._update_prefs_list(self.ignored_paths_liststore) # remove any trailing slashes ignored_paths = [path.rstrip('/') for path in ignored_paths if path] # remove any blank values from ignored_paths ignored_paths = [path for path in ignored_paths if path] if self.prefs.use_re_ignored_paths: ip = [] bad_paths = '' for path in ignored_paths: # check for validity try: re.match(path, '') ip.append(path) except: logger.error("Ignoring invalid regular expression: %s", path) bad_paths += path + '\n' ignored_paths = ip if bad_paths: bad_paths = bad_paths[:-1] if bad_paths.find('\n') >= 0: msg = _("The following regular expressions are invalid, and will be removed unless you correct them:\n %s") % bad_paths else: msg = _("This regular expression is invalid, and will be removed unless you correct it:\n %s") % bad_paths misc.run_dialog(_("Invalid regular expression"), msg, self) self.prefs.ignored_paths = ignored_paths def on_auto_startup_checkbutton_toggled(self, checkbutton): self.prefs.auto_download_at_startup = checkbutton.get_active() def on_auto_insertion_checkbutton_toggled(self, checkbutton): self.prefs.auto_download_upon_device_insertion = checkbutton.get_active() def on_auto_unmount_checkbutton_toggled(self, checkbutton): self.prefs.auto_unmount = checkbutton.get_active() def on_auto_rotate_checkbutton_toggled(self, checkbutton): self.prefs.auto_rotate_jpeg = checkbutton.get_active() def on_verify_file_checkbutton_toggled(self, checkbutton): self.prefs.verify_file = checkbutton.get_active() def on_auto_exit_checkbutton_toggled(self, checkbutton): active = checkbutton.get_active() self.prefs.auto_exit = active if not active: self.prefs.auto_exit_force = False self.auto_exit_force_checkbutton.set_active(False) self.update_misc_controls() def on_auto_exit_force_checkbutton_toggled(self, checkbutton): self.prefs.auto_exit_force = checkbutton.get_active() def on_autodetect_device_checkbutton_toggled(self, checkbutton): self.prefs.device_autodetection = checkbutton.get_active() self.update_device_controls() def on_autodetect_psd_checkbutton_toggled(self, checkbutton): self.prefs.device_autodetection_psd = checkbutton.get_active() def on_generate_thumbnails_checkbutton_toggled(self, checkbutton): self.prefs.generate_thumbnails = checkbutton.get_active() def on_backup_duplicate_overwrite_radiobutton_toggled(self, widget): self.prefs.backup_duplicate_overwrite = widget.get_active() def on_backup_duplicate_skip_radiobutton_toggled(self, widget): self.prefs.backup_duplicate_overwrite = not widget.get_active() def on_treeview_cursor_changed(self, tree): path, column = tree.get_cursor() self.notebook.set_current_page(path[0]) def on_synchronize_raw_jpg_checkbutton_toggled(self, check_button): self.prefs.synchronize_raw_jpg = check_button.get_active() def on_strip_characters_checkbutton_toggled(self, check_button): self.prefs.strip_characters = check_button.get_active() self.update_photo_rename_example() self.update_photo_download_folder_example() self.update_video_download_folder_example() def on_add_identifier_radiobutton_toggled(self, widget): if widget.get_active(): self.prefs.download_conflict_resolution = config.ADD_UNIQUE_IDENTIFIER else: self.prefs.download_conflict_resolution = config.SKIP_DOWNLOAD def update_device_controls(self): """ Sets sensitivity of image device controls """ controls = [self.device_location_explanation_label, self.device_location_label, self.device_location_filechooser_button] if self.prefs.device_autodetection: for c in controls: c.set_sensitive(False) self.autodetect_psd_checkbutton.set_sensitive(True) self.autodetect_image_devices_label.set_sensitive(True) else: for c in controls: c.set_sensitive(True) self.autodetect_psd_checkbutton.set_sensitive(False) self.autodetect_image_devices_label.set_sensitive(False) if not self.pref_dialog_startup: logger.debug("Resetting sample file photo and video files") self._setup_sample_names(use_dummy_data = True) self._setup_photo_original_name() self.update_photo_download_folder_example() self.update_photo_rename_example() self.update_video_download_folder_example() self._setup_video_original_name() self.update_video_rename_example() def update_misc_controls(self): """ Sets sensitivity of miscillaneous controls """ self.auto_exit_force_checkbutton.set_sensitive(self.prefs.auto_exit) def update_backup_controls(self): """ Sets sensitivity of backup related widgets """ if not self.backup_checkbutton.get_active(): for c in self._backup_controls + self._backup_video_controls: c.set_sensitive(False) else: for c in self._backup_controls0: c.set_sensitive(True) self.update_backup_controls_auto() def update_backup_controls_auto(self): """ Sets sensitivity of subset of backup related widgets """ if self.auto_detect_backup_checkbutton.get_active(): for c in self._backup_controls1: c.set_sensitive(True) for c in self._backup_controls2: c.set_sensitive(False) for c in self._backup_video_controls: c.set_sensitive(False) if metadatavideo.DOWNLOAD_VIDEO: for c in self._backup_video_controls: c.set_sensitive(True) else: for c in self._backup_controls1: c.set_sensitive(False) for c in self._backup_controls2: c.set_sensitive(True) if metadatavideo.DOWNLOAD_VIDEO: for c in self._backup_video_controls: c.set_sensitive(False) def disable_video_controls(self): """ Disables video preferences if video downloading is disabled (probably because the appropriate libraries to enable video metadata extraction are not installed) """ controls = [self.example_video_filename_label, self.original_video_filename_label, self.new_video_filename_label, self.video_new_name_label, self.video_original_name_label, self.video_rename_scrolledwindow, self.video_folders_hbox, self.video_backup_identifier_label, self.video_backup_identifier_entry ] for c in controls: c.set_sensitive(False) self.videos_cannot_be_downloaded_label.show() self.folder_videos_cannot_be_downloaded_label.show() self.folder_videos_cannot_be_downloaded_hbox.show() def on_auto_detect_backup_checkbutton_toggled(self, widget): self.prefs.backup_device_autodetection = widget.get_active() self.update_backup_controls_auto() def on_backup_checkbutton_toggled(self, widget): self.prefs.backup_images = self.backup_checkbutton.get_active() self.update_backup_controls() def on_backup_identifier_entry_changed(self, widget): self.update_backup_example() def on_video_backup_identifier_entry_changed(self, widget): self.update_backup_example() def on_backup_scan_folder_on_entry_changed(self, widget): self.update_backup_example() def update_backup_example(self): # Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. drive1 = os.path.join(config.MEDIA_LOCATION, _("externaldrive1")) # Translators: this value is used as an example device when automatic backup device detection is enabled. You should translate this. drive2 = os.path.join(config.MEDIA_LOCATION, _("externaldrive2")) path = os.path.join(drive1, self.backup_identifier_entry.get_text()) path2 = os.path.join(drive2, self.backup_identifier_entry.get_text()) path3 = os.path.join(drive2, self.video_backup_identifier_entry.get_text()) path = utilities.escape(path) path2 = utilities.escape(path2) path3 = utilities.escape(path3) if metadatavideo.DOWNLOAD_VIDEO: example = "%s\n%s\n%s" % (path, path2, path3) else: example = "%s\n%s" % (path, path2) self.example_backup_path_label.set_markup(example) rapid-photo-downloader-0.4.10/rapid/prefsrapid.py0000664000175000017500000004130712266252440022216 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2014 Damon Lynch ### 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 import subprocess, os, datetime, re import prefs import preferencesdialog as pd from generatenameconfig import * import rpdfile import utilities import config __version__ = config.version import multiprocessing import logging logger = multiprocessing.get_logger() from gettext import gettext as _ def _get_default_location_legacy(options, ignore_missing_dir=False): if ignore_missing_dir: return utilities.get_full_path(options[0]) for default in options: path = utilities.get_full_path(default) if os.path.isdir(path): return path return utilities.get_full_path('') def _get_default_location_XDG(dir_type): proc = subprocess.Popen(['xdg-user-dir', dir_type], stdout=subprocess.PIPE) output = proc.communicate()[0].strip() return output def get_default_photo_location(ignore_missing_dir=False): try: return _get_default_location_XDG('PICTURES') except: return _get_default_location_legacy(config.DEFAULT_PHOTO_LOCATIONS, ignore_missing_dir) def get_default_video_location(ignore_missing_dir=False): try: return _get_default_location_XDG('VIDEOS') except: return _get_default_location_legacy(config.DEFAULT_VIDEO_LOCATIONS, ignore_missing_dir) def get_default_backup_photo_identifier(): return os.path.split(get_default_photo_location(ignore_missing_dir = True))[1] def get_default_backup_video_identifier(): return os.path.split(get_default_video_location(ignore_missing_dir = True))[1] def today(): return datetime.date.today().strftime('%Y-%m-%d') class RapidPreferences(prefs.Preferences): defaults = { "program_version": prefs.Value(prefs.STRING, ""), "download_folder": prefs.Value(prefs.STRING, get_default_photo_location()), "video_download_folder": prefs.Value(prefs.STRING, get_default_video_location()), "subfolder": prefs.ListValue(prefs.STRING_LIST, DEFAULT_SUBFOLDER_PREFS), "video_subfolder": prefs.ListValue(prefs.STRING_LIST, DEFAULT_VIDEO_SUBFOLDER_PREFS), "image_rename": prefs.ListValue(prefs.STRING_LIST, [FILENAME, NAME_EXTENSION, ORIGINAL_CASE]), "video_rename": prefs.ListValue(prefs.STRING_LIST, [FILENAME, NAME_EXTENSION, ORIGINAL_CASE]), "device_autodetection": prefs.Value(prefs.BOOL, True), "device_location": prefs.Value(prefs.STRING, os.path.expanduser('~')), "device_autodetection_psd": prefs.Value(prefs.BOOL, False), "device_whitelist": prefs.ListValue(prefs.STRING_LIST, ['']), "device_blacklist": prefs.ListValue(prefs.STRING_LIST, ['']), "ignored_paths": prefs.ListValue(prefs.STRING_LIST, ['.Trash', '.thumbnails']), "use_re_ignored_paths": prefs.Value(prefs.BOOL, False), "backup_images": prefs.Value(prefs.BOOL, False), "backup_device_autodetection": prefs.Value(prefs.BOOL, True), "backup_identifier": prefs.Value(prefs.STRING, get_default_backup_photo_identifier()), "video_backup_identifier": prefs.Value(prefs.STRING, get_default_backup_video_identifier()), "backup_location": prefs.Value(prefs.STRING, os.path.expanduser('~')), "backup_video_location": prefs.Value(prefs.STRING, os.path.expanduser('~')), "strip_characters": prefs.Value(prefs.BOOL, True), "auto_download_at_startup": prefs.Value(prefs.BOOL, False), "auto_download_upon_device_insertion": prefs.Value(prefs.BOOL, False), "auto_unmount": prefs.Value(prefs.BOOL, False), "auto_exit": prefs.Value(prefs.BOOL, False), "auto_exit_force": prefs.Value(prefs.BOOL, False), "auto_delete": prefs.Value(prefs.BOOL, False), "download_conflict_resolution": prefs.Value(prefs.STRING, config.SKIP_DOWNLOAD), "backup_duplicate_overwrite": prefs.Value(prefs.BOOL, False), "display_selection": prefs.Value(prefs.BOOL, True), "display_size_column": prefs.Value(prefs.BOOL, True), "display_filename_column": prefs.Value(prefs.BOOL, False), "display_type_column": prefs.Value(prefs.BOOL, True), "display_path_column": prefs.Value(prefs.BOOL, False), "display_device_column": prefs.Value(prefs.BOOL, False), "display_preview_folders": prefs.Value(prefs.BOOL, True), "show_log_dialog": prefs.Value(prefs.BOOL, False), "day_start": prefs.Value(prefs.STRING, "03:00"), "downloads_today": prefs.ListValue(prefs.STRING_LIST, [today(), '0']), "stored_sequence_no": prefs.Value(prefs.INT, 0), "job_codes": prefs.ListValue(prefs.STRING_LIST, [_('New York'), _('Manila'), _('Prague'), _('Helsinki'), _('Wellington'), _('Tehran'), _('Kampala'), _('Paris'), _('Berlin'), _('Sydney'), _('Budapest'), _('Rome'), _('Moscow'), _('Delhi'), _('Warsaw'), _('Jakarta'), _('Madrid'), _('Stockholm')]), "synchronize_raw_jpg": prefs.Value(prefs.BOOL, False), "vpaned_pos": prefs.Value(prefs.INT, 0), "main_window_size_x": prefs.Value(prefs.INT, 0), "main_window_size_y": prefs.Value(prefs.INT, 0), "main_window_maximized": prefs.Value(prefs.INT, 0), "show_warning_downloading_from_camera": prefs.Value(prefs.BOOL, True), #~ "preview_zoom": prefs.Value(prefs.INT, zoom), "generate_thumbnails": prefs.Value(prefs.BOOL, True), "auto_rotate_jpeg": prefs.Value(prefs.BOOL, True), "verify_file": prefs.Value(prefs.BOOL, False), } def __init__(self): prefs.Preferences.__init__(self, config.GCONF_KEY, self.defaults) def get_downloads_today_tracker(self): return DownloadsTodayTracker(downloads_today_date = self.downloads_today[0], downloads_today = self.downloads_today[1], day_start = self.day_start ) def set_downloads_today_from_tracker(self, downloads_today_tracker): self.downloads_today = downloads_today_tracker.downloads_today self.day_start = downloads_today_tracker.day_start def get_sample_job_code(self): if self.job_codes: return self.job_codes[0] else: return '' def _get_pref_lists(self): return (self.image_rename, self.subfolder, self.video_rename, self.video_subfolder) def _pref_list_uses_component(self, pref_list, pref_component, offset): for i in range(0, len(pref_list), 3): if pref_list[i+offset] == pref_component: return True return False def must_synchronize_raw_jpg(self): """Returns True if synchronize_raw_jpg is True and photo renaming uses sequence values""" if self.synchronize_raw_jpg: for s in LIST_SEQUENCE_L1: if self._pref_list_uses_component(self.image_rename, s, 1): return True return False def any_pref_uses_stored_sequence_no(self): """Returns True if any of the pref lists contain a stored sequence no""" for pref_list in self._get_pref_lists(): if self._pref_list_uses_component(pref_list, STORED_SEQ_NUMBER, 1): return True return False def any_pref_uses_session_sequece_no(self): """Returns True if any of the pref lists contain a session sequence no""" for pref_list in self._get_pref_lists(): if self._pref_list_uses_component(pref_list, SESSION_SEQ_NUMBER, 1): return True return False def any_pref_uses_sequence_letter_value(self): """Returns True if any of the pref lists contain a sequence letter""" for pref_list in self._get_pref_lists(): if self._pref_list_uses_component(pref_list, SEQUENCE_LETTER, 1): return True return False def reset(self): """ resets all preferences to default values """ prefs.Preferences.reset(self) self.program_version = __version__ def pref_uses_job_code(self, pref_list): """ Returns True if the particular preferences contains a job code""" for i in range(0, len(pref_list), 3): if pref_list[i] == JOB_CODE: return True return False def any_pref_uses_job_code(self): """ Returns True if any of the preferences contain a job code""" for pref_list in self._get_pref_lists(): if self.pref_uses_job_code(pref_list): return True return False def most_recent_job_code(self): if len(self.job_codes) > 0: return self.job_codes[0] else: return None def get_pref_lists_by_file_type(self, file_type): """ Returns tuple of subfolder and file rename pref lists for the given file type """ if file_type == rpdfile.FILE_TYPE_PHOTO: return (self.subfolder, self.image_rename) else: return (self.video_subfolder, self.video_rename) def get_download_folder_for_file_type(self, file_type): """ Returns the download folder for the given file type """ if file_type == rpdfile.FILE_TYPE_PHOTO: return self.download_folder else: return self.video_download_folder class DownloadsTodayTracker: """ Handles tracking the number of downloads undertaken on any one day. When a day starts is flexible. See http://damonlynch.net/rapid/documentation/#renameoptions """ def __init__(self, downloads_today_date, downloads_today, day_start): self.day_start = day_start # string self.downloads_today = [downloads_today_date, str(downloads_today)] # two strings def get_and_maybe_reset_downloads_today(self): v = self.get_downloads_today() if v <= 0: self.reset_downloads_today() return v def get_downloads_today(self): """Returns the preference value for the number of downloads performed today If value is less than zero, that means the date has changed""" hour, minute = self.get_day_start() try: adjusted_today = datetime.datetime.strptime("%s %s:%s" % (self.downloads_today[0], hour, minute), "%Y-%m-%d %H:%M") except: logger.critical("Failed to calculate date adjustment. Download today values appear to be corrupted: %s %s:%s", self.downloads_today[0], hour, minute) adjusted_today = None now = datetime.datetime.today() if adjusted_today is None: return -1 if now < adjusted_today : try: return int(self.downloads_today[1]) except ValueError: logger.error("Invalid Downloads Today value. Resetting value to zero.") self.get_downloads_today(self.downloads_today[0] , 0) return 0 else: return -1 def get_raw_downloads_today(self): """ Gets value without changing it in any way, except to check for type convesion error. If there is an error, then the value is reset """ try: return int(self.downloads_today[1]) except ValueError: logger.critical("Downloads today value is corrupted: %s", self.downloads_today[1]) self.downloads_today[1] = '0' return 0 def set_raw_downloads_today_from_int(self, downloads_today): self.downloads_today[1] = str(downloads_today) def set_raw_downloads_today_date(self, downloads_today_date): self.downloads_today[0] = downloads_today_date def get_raw_downloads_today_date(self): return self.downloads_today[0] def get_raw_day_start(self): """ Gets value without changing it in any way """ return self.day_start def get_day_start(self): try: t1, t2 = self.day_start.split(":") return (int(t1), int(t2)) except ValueError: logger.error("'Start of day' preference value %s is corrupted. Resetting to midnight", self.day_start) self.day_start = "0:0" return 0, 0 def increment_downloads_today(self): """ returns true if day changed """ v = self.get_downloads_today() if v >= 0: self.set_downloads_today(self.downloads_today[0], v + 1) return False else: self.reset_downloads_today(1) return True def reset_downloads_today(self, value=0): now = datetime.datetime.today() hour, minute = self.get_day_start() t = datetime.time(hour, minute) if now.time() < t: date = today() else: d = datetime.datetime.today() + datetime.timedelta(days=1) date = d.strftime(('%Y-%m-%d')) self.set_downloads_today(date, value) def set_downloads_today(self, date, value=0): self.downloads_today = [date, str(value)] def set_day_start(self, hour, minute): self.day_start = "%s:%s" % (hour, minute) def log_vals(self): logger.info("Date %s Value %s Day start %s", self.downloads_today[0], self.downloads_today[1], self.day_start) def check_prefs_for_validity(prefs): """ Checks preferences for validity (called at program startup) Returns tuple with two values: 1. true if the passed in preferences are valid, else returns False 2. message if prefs are invalid """ msg = '' valid = True tests = ((prefs.image_rename, pd.PhotoNamePrefs), (prefs.subfolder, pd.PhotoSubfolderPrefs), (prefs.video_rename, pd.VideoNamePrefs), (prefs.video_subfolder, pd.VideoSubfolderPrefs)) for pref, pref_widgets in tests: p = pref_widgets(pref) try: p.check_prefs_for_validity() except pd.PrefError as e: valid = False msg += e.msg + "\n" return (valid, msg) def insert_pref_lists(prefs, rpd_file): """ Convenience function to insert subfolder and file rename pref_lists for the given file type. Returns the modified rpd_file """ subfolder_pref_list, name_pref_list = prefs.get_pref_lists_by_file_type(rpd_file.file_type) rpd_file.subfolder_pref_list = subfolder_pref_list rpd_file.name_pref_list = name_pref_list return rpd_file def format_pref_list_for_pretty_print(pref_list): """ returns a string useful for printing the preferences""" v = '' for i in range(0, len(pref_list), 3): if (pref_list[i+1] or pref_list[i+2]): c = ':' else: c = '' s = "%s%s " % (pref_list[i], c) if pref_list[i+1]: s = "%s%s" % (s, pref_list[i+1]) if pref_list[i+2]: s = "%s (%s)" % (s, pref_list[i+2]) v += s + "\n" return v def check_and_compile_re(ignored_paths): """ configure regular expression to search for, checking to see it is valid returns compiled RE, or None if invalid """ pattern = '' for path in ignored_paths: # check for validity try: re.match(path, '') pattern += '.*%s$|' % path except: logger.error("Ignoring invalid regular expression: %s", path) if pattern: pattern = pattern[:-1] logger.debug("Ignored paths regular expression pattern: %s", pattern) if not pattern: logger.warning("No regular expression is specified") return None else: try: return re.compile(pattern) except: logger.error('This regular expression is invalid: %s', pattern) return None rapid-photo-downloader-0.4.10/rapid/generatename.py0000664000175000017500000004556712206530776022533 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 import os, re, datetime, string, collections import multiprocessing import logging logger = multiprocessing.get_logger() import problemnotification as pn from generatenameconfig import * from gettext import gettext as _ def convert_date_for_strftime(datetime_user_choice): try: return DATE_TIME_CONVERT[LIST_DATE_TIME_L2.index(datetime_user_choice)] except: raise PrefValueInvalidError(datetime_user_choice) class PhotoName: """ Generate the name of a photo. Used as a base class for generating names of videos, as well as subfolder names for both file types """ def __init__(self, pref_list): self.pref_list = pref_list # Some of the next values are overwritten in derived classes self.strip_initial_period_from_extension = False self.strip_forward_slash = True self.L1_date_check = IMAGE_DATE #used in _get_date_component() self.component = pn.FILENAME_COMPONENT #used in error reporting def _get_values_from_pref_list(self): for i in range(0, len(self.pref_list), 3): yield (self.pref_list[i], self.pref_list[i+1], self.pref_list[i+2]) def _get_date_component(self): """ Returns portion of new file / subfolder name based on date time. If the date is missing, will attempt to use the fallback date. """ # step 1: get the correct value from metadata if self.L1 == self.L1_date_check: if self.L2 == SUBSECONDS: d = self.rpd_file.metadata.sub_seconds(missing=None) if d is None: self.rpd_file.problem.add_problem(self.component, pn.MISSING_METADATA, _(self.L2)) return '' else: return d else: d = self.rpd_file.metadata.date_time(missing=None) elif self.L1 == TODAY: d = datetime.datetime.now() elif self.L1 == YESTERDAY: delta = datetime.timedelta(days = 1) d = datetime.datetime.now() - delta elif self.L1 == DOWNLOAD_TIME: d = self.rpd_file.download_start_time else: raise("Date options invalid") # step 2: if have a value, try to convert it to string format if d: try: return d.strftime(convert_date_for_strftime(self.L2)) except: logger.warning("Exif date time value appears invalid for file %s", self.rpd_file.full_file_name) # step 3: handle a missing value using file modification time if self.rpd_file.modification_time: try: d = datetime.datetime.fromtimestamp(self.rpd_file.modification_time) except: self.rpd_file.add_problem(self.component, pn.INVALID_DATE_TIME, '') logger.error("Both file modification time and metadata date & time are invalid for file %s", self.rpd_file.full_file_name) return '' else: self.rpd_file.add_problem(self.component, pn.MISSING_METADATA, _(self.L1)) return '' try: return d.strftime(convert_date_for_strftime(self.L2)) except: self.rpd_file.add_problem(self.component, pn.INVALID_DATE_TIME, d) logger.error("Both file modification time and metadata date & time are invalid for file %s", self.rpd_file.full_file_name) return '' def _get_associated_file_extension(self, associate_file): """ Generates extensions with correct capitalization for files like thumbnail or audio files. """ if associate_file: extension = os.path.splitext(associate_file)[1] if self.L2 == UPPERCASE: extension = extension.upper() elif self.L2 == LOWERCASE: extension = extension.lower() else: extension = None return extension def _get_thm_extension(self): """ Generates THM extension with correct capitalization, if needed """ self.rpd_file.thm_extension = self._get_associated_file_extension(self.rpd_file.thm_full_name) def _get_audio_extension(self): """ Generates audio extension with correct capitalization, if needed e.g. WAV or wav """ self.rpd_file.audio_extension = self._get_associated_file_extension(self.rpd_file.audio_file_full_name) def _get_xmp_extension(self, extension): """ Generates XMP extension with correct capitalization, if needed. """ if self.rpd_file.temp_xmp_full_name: if self.L2 == UPPERCASE: self.rpd_file.xmp_extension = '.XMP' elif self.L2 == LOWERCASE: self.rpd_file.xmp_extension = '.xmp' else: # mimic capitalization of extension if extension.isupper(): self.rpd_file.xmp_extension = '.XMP' else: self.rpd_file.xmp_extension = '.xmp' else: self.rpd_file.xmp_extension = None def _get_filename_component(self): """ Returns portion of new file / subfolder name based on the file name """ name, extension = os.path.splitext(self.rpd_file.name) if self.L1 == NAME_EXTENSION: filename = self.rpd_file.name self._get_thm_extension() self._get_audio_extension() self._get_xmp_extension(extension) elif self.L1 == NAME: filename = name elif self.L1 == EXTENSION: self._get_thm_extension() self._get_audio_extension() self._get_xmp_extension(extension) if extension: if not self.strip_initial_period_from_extension: # keep the period / dot of the extension, so the user does not # need to manually specify it filename = extension else: # having the period when this is used as a part of a subfolder name # is a bad idea when it is at the start! filename = extension[1:] else: self.rpd_file.add_problem(self.component, pn.MISSING_FILE_EXTENSION) return "" elif self.L1 == IMAGE_NUMBER or self.L1 == VIDEO_NUMBER: n = re.search("(?P[0-9]+$)", name) if not n: self.rpd_file.add_problem(self.component, pn.MISSING_IMAGE_NUMBER) return '' else: image_number = n.group("image_number") if self.L2 == IMAGE_NUMBER_ALL: filename = image_number elif self.L2 == IMAGE_NUMBER_1: filename = image_number[-1] elif self.L2 == IMAGE_NUMBER_2: filename = image_number[-2:] elif self.L2 == IMAGE_NUMBER_3: filename = image_number[-3:] elif self.L2 == IMAGE_NUMBER_4: filename = image_number[-4:] else: raise TypeError("Incorrect filename option") if self.L2 == UPPERCASE: filename = filename.upper() elif self.L2 == LOWERCASE: filename = filename.lower() return filename def _get_metadata_component(self): """ Returns portion of new image / subfolder name based on the metadata Note: date time metadata found in _getDateComponent() """ if self.L1 == APERTURE: v = self.rpd_file.metadata.aperture() elif self.L1 == ISO: v = self.rpd_file.metadata.iso() elif self.L1 == EXPOSURE_TIME: v = self.rpd_file.metadata.exposure_time(alternativeFormat=True) elif self.L1 == FOCAL_LENGTH: v = self.rpd_file.metadata.focal_length() elif self.L1 == CAMERA_MAKE: v = self.rpd_file.metadata.camera_make() elif self.L1 == CAMERA_MODEL: v = self.rpd_file.metadata.camera_model() elif self.L1 == SHORT_CAMERA_MODEL: v = self.rpd_file.metadata.short_camera_model() elif self.L1 == SHORT_CAMERA_MODEL_HYPHEN: v = self.rpd_file.metadata.short_camera_model(includeCharacters = "\-") elif self.L1 == SERIAL_NUMBER: v = self.rpd_file.metadata.camera_serial() elif self.L1 == SHUTTER_COUNT: v = self.rpd_file.metadata.shutter_count() if v: v = int(v) padding = LIST_SHUTTER_COUNT_L2.index(self.L2) + 3 formatter = '%0' + str(padding) + "i" v = formatter % v elif self.L1 == FILE_NUMBER: v = self.rpd_file.metadata.file_number() if v and self.L2 == FILE_NUMBER_FOLDER: v = v[:3] elif self.L1 == OWNER_NAME: v = self.rpd_file.metadata.owner_name() elif self.L1 == ARTIST: v = self.rpd_file.metadata.artist() elif self.L1 == COPYRIGHT: v = self.rpd_file.metadata.copyright() else: raise TypeError("Invalid metadata option specified") if self.L1 in [CAMERA_MAKE, CAMERA_MODEL, SHORT_CAMERA_MODEL, SHORT_CAMERA_MODEL_HYPHEN, OWNER_NAME, ARTIST, COPYRIGHT]: if self.L2 == UPPERCASE: v = v.upper() elif self.L2 == LOWERCASE: v = v.lower() if not v: self.rpd_file.add_problem(self.component, pn.MISSING_METADATA, _(self.L1)) return v def _calculate_letter_sequence(self, sequence): def _letters(x): """ Adapted from algorithm at http://en.wikipedia.org/wiki/Hexavigesimal """ v = '' while x > 25: r = x % 26 x= x / 26 - 1 v = string.lowercase[r] + v v = string.lowercase[x] + v return v v = _letters(sequence) if self.L2 == UPPERCASE: v = v.upper() return v def _format_sequence_no(self, value, amountToPad): padding = LIST_SEQUENCE_NUMBERS_L2.index(amountToPad) + 1 formatter = '%0' + str(padding) + "i" return formatter % value def _get_downloads_today(self): return self._format_sequence_no(self.rpd_file.sequences.get_downloads_today(), self.L2) def _get_session_sequence_no(self): return self._format_sequence_no(self.rpd_file.sequences.get_session_sequence_no(), self.L2) def _get_stored_sequence_no(self): return self._format_sequence_no(self.rpd_file.sequences.get_stored_sequence_no(), self.L2) def _get_sequence_letter(self): return self._calculate_letter_sequence(self.rpd_file.sequences.get_sequence_letter()) def _get_sequences_component(self): if self.L1 == DOWNLOAD_SEQ_NUMBER: return self._get_downloads_today() elif self.L1 == SESSION_SEQ_NUMBER: return self._get_session_sequence_no() elif self.L1 == STORED_SEQ_NUMBER: return self._get_stored_sequence_no() elif self.L1 == SEQUENCE_LETTER: return self._get_sequence_letter() #~ elif self.L1 == SUBFOLDER_SEQ_NUMBER: #~ return self._getSubfolderSequenceNo() def _get_component(self): try: if self.L0 == DATE_TIME: return self._get_date_component() elif self.L0 == TEXT: return self.L1 elif self.L0 == FILENAME: return self._get_filename_component() elif self.L0 == METADATA: return self._get_metadata_component() elif self.L0 == SEQUENCES: return self._get_sequences_component() elif self.L0 == JOB_CODE: return self.rpd_file.job_code elif self.L0 == SEPARATOR: return os.sep except: self.rpd_file.add_problem(self.component, pn.ERROR_IN_GENERATION, _(self.L0)) return '' def generate_name(self, rpd_file): self.rpd_file = rpd_file name = '' for self.L0, self.L1, self.L2 in self._get_values_from_pref_list(): v = self._get_component() if v: name += v # remove any null characters - they are bad news in filenames name = name.replace('\x00', '') if self.rpd_file.strip_characters: for c in r'\:*?"<>|': name = name.replace(c, '') if self.strip_forward_slash: name = name.replace('/', '') name = name.strip() return name class VideoName(PhotoName): def __init__(self, pref_list): PhotoName.__init__(self, pref_list) self.L1_date_check = VIDEO_DATE #used in _get_date_component() def _get_metadata_component(self): """ Returns portion of video / subfolder name based on the metadata Note: date time metadata found in _getDateComponent() """ return get_video_metadata_component(self) class PhotoSubfolder(PhotoName): """ Generate subfolder names for photo files """ def __init__(self, pref_list): self.pref_list = pref_list self.strip_extraneous_white_space = re.compile(r'\s*%s\s*' % os.sep) self.strip_initial_period_from_extension = True self.strip_forward_slash = False self.L1_date_check = IMAGE_DATE #used in _get_date_component() self.component = pn.SUBFOLDER_COMPONENT #used in error reporting def generate_name(self, rpd_file): subfolders = PhotoName.generate_name(self, rpd_file) # subfolder value must never start with a separator, or else any # os.path.join function call will fail to join a subfolder to its # parent folder if subfolders: if subfolders[0] == os.sep: subfolders = subfolders[1:] # remove any spaces before and after a directory name if subfolders and self.rpd_file.strip_characters: subfolders = self.strip_extraneous_white_space.sub(os.sep, subfolders) return subfolders class VideoSubfolder(PhotoSubfolder): """ Generate subfolder names for video files """ def __init__(self, pref_list): PhotoSubfolder.__init__(self, pref_list) self.L1_date_check = VIDEO_DATE #used in _get_date_component() def _get_metadata_component(self): """ Returns portion of video / subfolder name based on the metadata Note: date time metadata found in _getDateComponent() """ return get_video_metadata_component(self) def get_video_metadata_component(video): """ Returns portion of video / subfolder name based on the metadata This is outside of a class definition because of the inheritence hierarchy. """ problem = None if video.L1 == CODEC: v = video.rpd_file.metadata.codec() elif video.L1 == WIDTH: v = video.rpd_file.metadata.width() elif video.L1 == HEIGHT: v = video.rpd_file.metadata.height() elif video.L1 == FPS: v = video.rpd_file.metadata.frames_per_second() elif video.L1 == LENGTH: v = video.rpd_file.metadata.length() else: raise TypeError("Invalid metadata option specified") if video.L1 in [CODEC]: if video.L2 == UPPERCASE: v = v.upper() elif video.L2 == LOWERCASE: v = v.lower() if not v: video.rpd_file.add_problem(video.component, pn.MISSING_METADATA, _(video.L1)) return v class Sequences: """ Holds sequence numbers and letters used in generating filenames. """ def __init__(self, downloads_today_tracker, stored_sequence_no): self.session_sequence_no = 0 self.sequence_letter = -1 self.downloads_today_tracker = downloads_today_tracker self.stored_sequence_no = stored_sequence_no self.matched_sequences = None def set_matched_sequence_value(self, matched_sequences): self.matched_sequences = matched_sequences def get_session_sequence_no(self): if self.matched_sequences is not None: return self.matched_sequences.session_sequence_no else: return self._get_session_sequence_no() def _get_session_sequence_no(self): return self.session_sequence_no + 1 def get_sequence_letter(self): if self.matched_sequences is not None: return self.matched_sequences.sequence_letter else: return self._get_sequence_letter() def _get_sequence_letter(self): return self.sequence_letter + 1 def increment(self, uses_session_sequece_no, uses_sequence_letter): if uses_session_sequece_no: self.session_sequence_no += 1 if uses_sequence_letter: self.sequence_letter += 1 def get_downloads_today(self): if self.matched_sequences is not None: return self.matched_sequences.downloads_today else: return self._get_downloads_today() def _get_downloads_today(self): v = self.downloads_today_tracker.get_downloads_today() if v == -1: return 1 else: return v + 1 def get_stored_sequence_no(self): if self.matched_sequences is not None: return self.matched_sequences.stored_sequence_no else: return self._get_stored_sequence_no() def _get_stored_sequence_no(self): # Must add 1 to the value, for historic reasons (that is how it used # to work) return self.stored_sequence_no + 1 def create_matched_sequences(self): sequences = collections.namedtuple( 'AssignedSequences', 'session_sequence_no sequence_letter downloads_today stored_sequence_no' ) sequences.session_sequence_no = self._get_session_sequence_no() sequences.sequence_letter = self._get_sequence_letter() sequences.downloads_today = self._get_downloads_today() sequences.stored_sequence_no = self._get_stored_sequence_no() return sequences rapid-photo-downloader-0.4.10/rapid/subfolderfile.py0000664000175000017500000006701312265262571022713 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 """ Generates names for files and folders. Runs as a daemon process. """ import os, datetime, collections #~ import shutil import errno import multiprocessing import logging logger = multiprocessing.get_logger() import rpdfile import rpdmultiprocessing as rpdmp import generatename as gn import problemnotification as pn import prefsrapid import config from gettext import gettext as _ class SyncRawJpeg: def __init__(self): self.photos = {} def add_download(self, name, extension, date_time, sub_seconds, sequence_number_used): if name not in self.photos: self.photos[name] = ([extension], date_time, sub_seconds, sequence_number_used) else: if extension not in self.photos[name][0]: self.photos[name][0].append(extension) def matching_pair(self, name, extension, date_time, sub_seconds): """Checks to see if the image matches an image that has already been downloaded. Image name (minus extension), exif date time, and exif subseconds are checked. Returns -1 and a sequence number if the name, extension, and exif values match (i.e. it has already been downloaded) Returns 0 and a sequence number if name and exif values match, but the extension is different (i.e. a matching RAW + JPG image) Returns -99 and a sequence number of None if photos detected with the same filenames, but taken at different times Returns 1 and a sequence number of None if no match""" if name in self.photos: if self.photos[name][1] == date_time and self.photos[name][2] == sub_seconds: if extension in self.photos[name][0]: return (-1, self.photos[name][3]) else: return (0, self.photos[name][3]) else: return (-99, None) return (1, None) def ext_exif_date_time(self, name): """Returns first extension, exif date time and subseconds data for the already downloaded photo""" return (self.photos[name][0][0], self.photos[name][1], self.photos[name][2]) def time_subseconds_human_readable(date, subseconds): return _("%(hour)s:%(minute)s:%(second)s:%(subsecond)s") % \ {'hour':date.strftime("%H"), 'minute':date.strftime("%M"), 'second':date.strftime("%S"), 'subsecond': subseconds} def load_metadata(rpd_file, temp_file=True): """ Loads the metadata for the file. Returns True if operation succeeded, false otherwise If temp_file is true, the the metadata from the temporary file rather than the original source file is used. This is important, because the metadata can be modified by the filemodify process. """ if rpd_file.metadata is None: if not rpd_file.load_metadata(temp_file): # Error in reading metadata rpd_file.add_problem(None, pn.CANNOT_DOWNLOAD_BAD_METADATA, {'filetype': rpd_file.title_capitalized}) return False return True def _generate_name(generator, rpd_file): do_generation = True if rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: do_generation = load_metadata(rpd_file) else: if rpd_file.metadata is None: rpd_file.load_metadata() if do_generation: value = generator.generate_name(rpd_file) if value is None: value = '' else: value = '' return value def generate_subfolder(rpd_file): if rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: generator = gn.PhotoSubfolder(rpd_file.subfolder_pref_list) else: generator = gn.VideoSubfolder(rpd_file.subfolder_pref_list) rpd_file.download_subfolder = _generate_name(generator, rpd_file) return rpd_file def generate_name(rpd_file): do_generation = True if rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: generator = gn.PhotoName(rpd_file.name_pref_list) else: generator = gn.VideoName(rpd_file.name_pref_list) rpd_file.download_name = _generate_name(generator, rpd_file) return rpd_file class SubfolderFile(multiprocessing.Process): def __init__(self, results_pipe, sequence_values): multiprocessing.Process.__init__(self) self.daemon = True self.results_pipe = results_pipe self.downloads_today = sequence_values[0] self.downloads_today_date = sequence_values[1] self.day_start = sequence_values[2] self.refresh_downloads_today = sequence_values[3] self.stored_sequence_no = sequence_values[4] self.uses_stored_sequence_no = sequence_values[5] self.uses_session_sequece_no = sequence_values[6] self.uses_sequence_letter = sequence_values[7] logger.debug("Start of day is set to %s", self.day_start.value) def progress_callback_no_update(self, amount_downloaded, total): pass #~ if debug_progress: #~ logger.debug("%.1f", amount_downloaded / float(total)) def file_exists(self, rpd_file, identifier=None): """ Notify user that the download file already exists """ # get information on when the existing file was last modified try: modification_time = os.path.getmtime(rpd_file.download_full_file_name) dt = datetime.datetime.fromtimestamp(modification_time) date = dt.strftime("%x") time = dt.strftime("%X") except: logger.warning("Could not determine the file modification time of %s", rpd_file.download_full_file_name) date = time = '' if not identifier: rpd_file.add_problem(None, pn.FILE_ALREADY_EXISTS_NO_DOWNLOAD, {'filetype':rpd_file.title_capitalized}) rpd_file.add_extra_detail(pn.EXISTING_FILE, {'filetype': rpd_file.title, 'date': date, 'time': time}) rpd_file.status = config.STATUS_DOWNLOAD_FAILED rpd_file.error_extra_detail = pn.extra_detail_definitions[pn.EXISTING_FILE] % \ {'date':date, 'time':time, 'filetype': rpd_file.title} else: rpd_file.add_problem(None, pn.UNIQUE_IDENTIFIER_ADDED, {'filetype':rpd_file.title_capitalized}) rpd_file.add_extra_detail(pn.UNIQUE_IDENTIFIER, {'identifier': identifier, 'filetype': rpd_file.title, 'date': date, 'time': time}) rpd_file.status = config.STATUS_DOWNLOADED_WITH_WARNING rpd_file.error_extra_detail = pn.extra_detail_definitions[pn.UNIQUE_IDENTIFIER] % \ {'identifier': identifier, 'filetype': rpd_file.title, 'date': date, 'time': time} rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("Source: %(source)s\nDestination: %(destination)s") \ % {'source': rpd_file.full_file_name, 'destination': rpd_file.download_full_file_name} return rpd_file def download_failure_file_error(self, rpd_file, inst): """ Handle cases where file failed to download """ rpd_file.add_problem(None, pn.DOWNLOAD_COPYING_ERROR, {'filetype': rpd_file.title}) rpd_file.add_extra_detail(pn.DOWNLOAD_COPYING_ERROR_DETAIL, inst) rpd_file.status = config.STATUS_DOWNLOAD_FAILED logger.error("Failed to create file %s: %s", rpd_file.download_full_file_name, inst) rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("%(problem)s\nFile: %(file)s") % \ {'problem': rpd_file.problem.get_problems(), 'file': rpd_file.full_file_name} return rpd_file def download_file_exists(self, rpd_file): """ Check how to handle a download file already existing """ if (rpd_file.download_conflict_resolution == config.ADD_UNIQUE_IDENTIFIER): add_unique_identifier = True logger.debug("Will add unique identifier to avoid duplicate filename") else: rpd_file = self.file_exists(rpd_file) add_unique_identifier = False return (rpd_file, add_unique_identifier) def added_unique_identifier(self, rpd_file): """ Track fact that a unique identifier was added to a file name """ move_succeeded = True suffix_already_used = False rpd_file = self.file_exists(rpd_file, identifier) logger.error("%s: %s - %s", rpd_file.full_file_name, rpd_file.problem.get_title(), rpd_file.problem.get_problems()) return (rpd_file, move_succeeded, suffix_already_used) def same_name_different_exif(self, sync_photo_name, rpd_file): """Notify the user that a file was already downloaded with the same name, but the exif information was different""" i1_ext, i1_date_time, i1_subseconds = self.sync_raw_jpeg.ext_exif_date_time(sync_photo_name) detail = {'image1': "%s%s" % (sync_photo_name, i1_ext), 'image1_date': i1_date_time.strftime("%x"), 'image1_time': time_subseconds_human_readable(i1_date_time, i1_subseconds), 'image2': rpd_file.name, 'image2_date': rpd_file.metadata.date_time().strftime("%x"), 'image2_time': time_subseconds_human_readable( rpd_file.metadata.date_time(), rpd_file.metadata.sub_seconds())} rpd_file.add_problem(None, pn.SAME_FILE_DIFFERENT_EXIF, detail) rpd_file.error_title = _('Photos detected with the same filenames, but taken at different times') rpd_file.error_msg = pn.problem_definitions[pn.SAME_FILE_DIFFERENT_EXIF][1] % detail rpd_file.status = config.STATUS_DOWNLOADED_WITH_WARNING return rpd_file def _move_associate_file(self, extension, full_base_name, temp_associate_file): """Move (rename) the associate file using the pregenerated name Returns tuple of result (True if succeeded, False otherwise) and full path and filename""" download_full_name = full_base_name + extension # move (rename) associate file try: # don't check to see if it already exists os.rename(temp_associate_file, download_full_name) success = True except: success = False return (success, download_full_name) def move_thm_file(self, rpd_file): """Move (rename) the THM thumbnail file using the pregenerated name""" ext = None if hasattr(rpd_file, 'thm_extension'): if rpd_file.thm_extension: ext = rpd_file.thm_extension if ext is None: ext = '.THM' result, rpd_file.download_thm_full_name = self._move_associate_file(ext, rpd_file.download_full_base_name, rpd_file.temp_thm_full_name) if not result: logger.error("Failed to move video THM file %s", rpd_file.download_thm_full_name) return rpd_file def move_audio_file(self, rpd_file): """Move (rename) the associate audio file using the pregenerated name""" ext = None if hasattr(rpd_file, 'audio_extension'): if rpd_file.audio_extension: ext = rpd_file.audio_extension if ext is None: ext = '.WAV' result, rpd_file.download_audio_full_name = self._move_associate_file(ext, rpd_file.download_full_base_name, rpd_file.temp_audio_full_name) if not result: logger.error("Failed to move file's associated audio file %s", rpd_file.download_audio_full_name) return rpd_file def check_for_fatal_name_generation_errors(self, rpd_file): """Returns False if either the download subfolder or filename are blank Else returns True""" if not rpd_file.download_subfolder or not rpd_file.download_name: if not rpd_file.download_subfolder and not rpd_file.download_name: area = _("subfolder and filename") elif not rpd_file.download_name: area = _("filename") else: area = _("subfolder") rpd_file.add_problem(None, pn.ERROR_IN_NAME_GENERATION, {'filetype': rpd_file.title_capitalized, 'area': area}) rpd_file.add_extra_detail(pn.NO_DATA_TO_NAME, {'filetype': area}) rpd_file.status = config.STATUS_DOWNLOAD_FAILED rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("%(problem)s\nFile: %(file)s") % \ {'problem': rpd_file.problem.get_problems(), 'file': rpd_file.full_file_name} return False else: return True def run(self): """ Get subfolder and name. Attempt to move the file from it's temporary directory. Move video THM file if there is one. If successful, increment sequence values. Report any success or failure. """ i = 0 download_count = 0 duplicate_files = {} # Track downloads today, using a class whose purpose is to # take the value in the user prefs, increment, and then be used # to update the prefs (which can only happen via the main process) self.downloads_today_tracker = prefsrapid.DownloadsTodayTracker( day_start = self.day_start.value, downloads_today = self.downloads_today.value, downloads_today_date = self.downloads_today_date.value) # Track sequences using shared downloads today and stored sequence number # (shared with main process) self.sequences = gn.Sequences(self.downloads_today_tracker, self.stored_sequence_no.value) self.sync_raw_jpeg = SyncRawJpeg() while True: if download_count: logger.debug("Finished %s. Getting next task.", download_count) # rename file and move to generated subfolder download_succeeded, download_count, rpd_file = self.results_pipe.recv() move_succeeded = False if download_succeeded: synchronize_raw_jpg_failed = False if not (rpd_file.synchronize_raw_jpg and rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO): synchronize_raw_jpg = False sequence_to_use = None else: synchronize_raw_jpg = True sync_photo_name, sync_photo_ext = os.path.splitext(rpd_file.name) if not load_metadata(rpd_file): synchronize_raw_jpg_failed = True rpd_file.status = config.STATUS_DOWNLOAD_FAILED self.check_for_fatal_name_generation_errors(rpd_file) else: j, sequence_to_use = self.sync_raw_jpeg.matching_pair( name=sync_photo_name, extension=sync_photo_ext, date_time=rpd_file.metadata.date_time(), sub_seconds=rpd_file.metadata.sub_seconds()) if j == -1: # this exact file has already been downloaded (same extension, same filename, and same exif date time subsecond info) if (rpd_file.download_conflict_resolution <> config.ADD_UNIQUE_IDENTIFIER): rpd_file.add_problem(None, pn.FILE_ALREADY_DOWNLOADED, {'filetype': rpd_file.title_capitalized}) rpd_file.error_title = _('Photo has already been downloaded') rpd_file.error_msg = _("Source: %(source)s") % {'source': rpd_file.full_file_name} rpd_file.status = config.STATUS_DOWNLOAD_FAILED synchronize_raw_jpg_failed = True else: self.sequences.set_matched_sequence_value(sequence_to_use) if j == -99: rpd_file = self.same_name_different_exif(sync_photo_name, rpd_file) if synchronize_raw_jpg_failed: generation_succeeded = False else: # Generate subfolder name and new file name generation_succeeded = True if rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: if hasattr(rpd_file, 'new_focal_length'): # A RAW file has had its focal length and aperture adjusted. # These have been written out to an XMP sidecar, but they won't # be picked up by pyexiv2. So temporarily change the values inplace here, # without saving them. if load_metadata(rpd_file): rpd_file.metadata["Exif.Photo.FocalLength"] = rpd_file.new_focal_length rpd_file.metadata["Exif.Photo.FNumber"] = rpd_file.new_aperture rpd_file = generate_subfolder(rpd_file) if rpd_file.download_subfolder: logger.debug("Generated subfolder name %s for file %s", rpd_file.download_subfolder, rpd_file.name) if self.refresh_downloads_today.value: # overwrite downloads today value tracked here, # as user has modified their preferences self.downloads_today_tracker.set_raw_downloads_today_from_int(self.downloads_today.value) self.downloads_today_tracker.set_raw_downloads_today_date(self.downloads_today_date.value) self.downloads_today_tracker.day_start = self.day_start.value self.refresh_downloads_today.value = False # update whatever the stored value is self.sequences.stored_sequence_no = self.stored_sequence_no.value rpd_file.sequences = self.sequences # generate the file name rpd_file = generate_name(rpd_file) if rpd_file.has_problem(): logger.debug("Encountered a problem generating file name for file %s", rpd_file.name) rpd_file.status = config.STATUS_DOWNLOADED_WITH_WARNING rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("%(problem)s\nFile: %(file)s") % \ {'problem': rpd_file.problem.get_problems(), 'file': rpd_file.full_file_name} else: logger.debug("Generated file name %s for file %s", rpd_file.download_name, rpd_file.name) else: logger.debug("Failed to generate subfolder name for file: %s", rpd_file.name) # Check for any errors generation_succeeded = self.check_for_fatal_name_generation_errors(rpd_file) if generation_succeeded: rpd_file.download_path = os.path.join(rpd_file.download_folder, rpd_file.download_subfolder) rpd_file.download_full_file_name = os.path.join(rpd_file.download_path, rpd_file.download_name) rpd_file.download_full_base_name = os.path.splitext(rpd_file.download_full_file_name)[0] logger.debug("Probing to see if subfolder already exists...") if not os.path.isdir(rpd_file.download_path): try: logger.debug("...subfolder doesn't exist: creating it...") os.makedirs(rpd_file.download_path) logger.debug("...subfolder created") except IOError as inst: if inst.errno <> errno.EEXIST: logger.error("Failed to create download subfolder: %s", rpd_file.download_path) logger.error(inst) rpd_file.error_title = _("Failed to create download subfolder") rpd_file.error_msg = _("Path: %s") % rpd_file.download_path else: logger.debug("...subfolder already exists") # Move temp file to subfolder add_unique_identifier = False # Use python library functions to rename file try: if os.path.exists(rpd_file.download_full_file_name): raise IOError(errno.EEXIST, "File exists: %s" % rpd_file.download_full_file_name) logger.debug("Attempting to rename file %s to %s .....", rpd_file.temp_full_file_name, rpd_file.download_full_file_name) os.rename(rpd_file.temp_full_file_name, rpd_file.download_full_file_name) logger.debug("....successfully renamed file") move_succeeded = True if rpd_file.status <> config.STATUS_DOWNLOADED_WITH_WARNING: rpd_file.status = config.STATUS_DOWNLOADED except (IOError, OSError) as inst: if inst.errno == errno.EEXIST: rpd_file, add_unique_identifier = self.download_file_exists(rpd_file) else: rpd_file = self.download_failure_file_error(rpd_file, inst.strerror) except: rpd_file = self.download_failure_file_error(rpd_file, "An unknown error occurred while renaming the file") if add_unique_identifier: name = os.path.splitext(rpd_file.download_name) full_name = rpd_file.download_full_file_name suffix_already_used = True while suffix_already_used: duplicate_files[full_name] = duplicate_files.get( full_name, 0) + 1 identifier = '_%s' % duplicate_files[full_name] rpd_file.download_name = name[0] + identifier + name[1] rpd_file.download_full_file_name = os.path.join( rpd_file.download_path, rpd_file.download_name) try: if os.path.exists(rpd_file.download_full_file_name): raise IOError(errno.EEXIST, "File exists: %s" % rpd_file.download_full_file_name) os.rename(rpd_file.temp_full_file_name, rpd_file.download_full_file_name) rpd_file, move_succeeded, suffix_already_used = self.added_unique_identifier(rpd_file) except IOError as inst: if inst.errno <> errno.EEXIST: rpd_file = self.download_failure_file_error(rpd_file, inst) break except: rpd_file = self.download_failure_file_error(rpd_file, inst) break logger.debug("Finish processing file: %s", download_count) if move_succeeded: if synchronize_raw_jpg: if sequence_to_use is None: sequence = self.sequences.create_matched_sequences() else: sequence = sequence_to_use self.sync_raw_jpeg.add_download(name=sync_photo_name, extension=sync_photo_ext, date_time=rpd_file.metadata.date_time(), sub_seconds=rpd_file.metadata.sub_seconds(), sequence_number_used=sequence) if sequence_to_use is None: if self.uses_session_sequece_no.value or self.uses_sequence_letter.value: self.sequences.increment( self.uses_session_sequece_no.value, self.uses_sequence_letter.value) if self.uses_stored_sequence_no.value: self.stored_sequence_no.value += 1 self.downloads_today_tracker.increment_downloads_today() self.downloads_today.value = self.downloads_today_tracker.get_raw_downloads_today() self.downloads_today_date.value = self.downloads_today_tracker.get_raw_downloads_today_date() if rpd_file.temp_thm_full_name: rpd_file = self.move_thm_file(rpd_file) if rpd_file.temp_audio_full_name: rpd_file = self.move_audio_file(rpd_file) if rpd_file.temp_xmp_full_name: # copy and rename XMP sidecar file # generate_name() has generated xmp extension with correct capitalization download_xmp_full_name = rpd_file.download_full_base_name + rpd_file.xmp_extension try: os.rename(rpd_file.temp_xmp_full_name, download_xmp_full_name) rpd_file.download_xmp_full_name = download_xmp_full_name except: logger.error("Failed to move XMP sidecar file %s", download_xmp_full_name) if not move_succeeded: logger.error("%s: %s - %s", rpd_file.full_file_name, rpd_file.problem.get_title(), rpd_file.problem.get_problems()) try: os.remove(rpd_file.temp_full_file_name) except: logger.error("Failed to delete temporary file %s", rpd_file.temp_full_file_name) rpd_file.metadata = None #purge metadata, as it cannot be pickled rpd_file.sequences = None self.results_pipe.send((move_succeeded, rpd_file, download_count)) i += 1 rapid-photo-downloader-0.4.10/rapid/INSTALL0000664000175000017500000000360412267146322020536 0ustar damondamon00000000000000Rapid Photo Downloader requires the following software: * Python 2.7 * Pyexiv2 0.3.0 or higher * python-gnome2 2.28 or higher * python-gtk2 2.17 or higher * python-gconf 2.28 or higher * python-notify 0.1.1 or higher * python-imaging 1.1.7 or higher * librsvg2-common 2.26 or higher * exiftool * exiftran To run Rapid Photo Downloader you will need all the software mentioned above. If you want to download videos, you should install: - python-hachoir-metadata - python-kaa-metadata - ffmpegthumbnailer hachoir metadata is required to download videos. kaa metadata is used to extract additional metadata from videos. ffmpegthumbnailer is used only to display thumbnail images before the download occurs. This is a useful feature, and if you can install it, it is strongly recommended. hachoir metadata, kaa metadata and ffmpegthumbnailer are optional. The program will run without them. To start from a fairly basic system, I suggest the following: 1. Install the required gnome packages from your Linux distribution's package repositories. On a recent Linux distribution, expect all to be available for easy download and installation. If you already use gnome, most of the packages will already be installed. Do confirm that python-gconf, python-glade2, and gnome-python are installed, because they may not be quite so common in a base system. 2. Install pyexiv2. You can probably do that using your distributions's package repositories (look for python-pyexiv2). But if not, there are instructions here: http://tilloy.net/dev/pyexiv2/download.html 3. Install this application from the tarball. You probably need to be the super user (root) to be able to do this: sudo python setup.py install If you get an error saying 'Error while running msgfmt', you will need to install the gettext package on your system, which contains the msgfmt program. rapid-photo-downloader-0.4.10/rapid/ChangeLog0000664000175000017500000013437512302422127021257 0ustar damondamon00000000000000Version 0.4.10 -------------- 2014-02-23 Updated Catalan and Portuguese translations. Fixed bug in translations for term "Back up". Version 0.4.9 ------------- 2014-01-21 Updated Catalan and Spanish translations. Fixed occasional incorrect use of term "backup". Version 0.4.9 Beta 3 -------------------- 2014-01-20 Fixed packaging bug. Version 0.4.9 Beta 2 -------------------- 2014-01-20 Added file verification of downloaded and backed up files. Updated Dutch, Hungarian, Italian, Polish, Serbian, Spanish and Swedish translations. Added Catalan translation. Version 0.4.9 Beta 1 -------------------- 2014-01-16 Fixed bugs #1025908 and #1186955: Finalize fix for severe performance problems and crashes that arose from the combination of Gnome's GIO file functionality and python's multiprocessing. The solution was to remove GIO and replace it with regular python file processing. A nice side effect is that the program now runs faster than ever before. Fixed bug #1268291: Handle cases where filesystem metadata (e.g. file permissions) could not be copied when writing to certain file systems such as NTFS. The program will now consider a file is copied succesfully even if the filesystem metadata could not be updated. Fixed bug #1269032: When Sync RAW + JPEG sequence numbers is enabled, the program fails to properly deal with photos with corrupt EXIF metadata. Fixed bug #1269079: Download failure when folder exists for only one of photo or video on auto detected back devices. Updated Norwegian and Serbian translations. Version 0.4.8 ------------- 2013-12-31 Fixed bug #1263237: Added support for MPO files (3D images). Thanks to Jan Kaluza for reporting it. Fixed bug #1263483: Some terms in the user interface are not being translated. Thanks to Jose Luis Tirado for alerting me to the problem, which has probably existed for some time. Updated Dutch, French Italian, Polish and Spanish translations. Version 0.4.7 ------------- 2013-10-19 Added feature to download audio files that are associated with photos such as those created by the Canon 1D series of cameras. Fixed bug #1242119: Choosing a new folder does not work in Ubuntu 13.10. In Ubuntu 13.10, choosing a destination or source folder from its bookmark does not work. The correct value is displayed in the file chooser button, but this value is not used by Rapid Photo Downloader. Fixed bug #1206853: Crashes when system message notifications not functioning properly. Fixed bug #909405: Allow selections by row (and not GTK default by square) when user is dragging the mouse or using the keyboard to select. Thank you to user 'Salukibob' for the patch. Added a KDE Solid action. Solid is KDE4's hardware-related framework. It detects when the user connects a new device and display a list of related actions. Thanks to dju` for the patch. Added Belarusian translation -- thanks go to Ilya Tsimokhin. Updated Swedish and Ukrainian translations. Version 0.4.6 ------------- 2013-01-22 Fixed bug #1083756: Application shows duplicate sources. Fixed bug #1093330: Photo rename ignores SubSeconds when 00. Added extra debugging output to help trace program execution progress. Updated German and Spanish translations. Version 0.4.6 Beta 1 -------------------- 2012-11-26 Fixed bug #1023586: Added RAW file support for Nikon NRW files. Rapid Photo Downloader uses the exiv2 program to read a photo's metadata. Although the NRW format is not officially supported by exiv2, it appears to work. If you have NRW files and Rapid Photo Downloader crashes while reading this files, please file a bug report. Preliminary and tentative fix for bug #1025908: Application freezes under Ubuntu 12.10. This fix should not be considered final, and needs further testing. Added Arabic translation. Updated Czech, Danish, French, Italian, Norwegian, Russian, Serbian, Spanish and Swedish translations. Fixed missing dependencies on python-dbus and exiv2 in Debian/control file. Added extra debugging output to help trace program execution progress. Version 0.4.5 ------------- 2012-06-24 Updated Dutch, Estonian, German, Italian, Norwegian and Polish translations. Updated man page. Version 0.4.5 Beta 1 -------------------- 2012-06-17 To increase performance, thumbnails are now no longer displayed until all devices have finished being scanned. To indicate the scan is occurring, the progress bar now pulses and it displays a running total of the number of photos and videos found. If scanning a very large number of files from a fast device, the progress bar may pause. If this happens, just wait for the scan to complete. Fixed bug #1014203: Very poor program performance after download device changed. The program now displays the results of scanning files much quicker if the program's download device preferences are changed and a scan begins of a new device. You can now specify via the command line whether you would like to automatically detect devices from which to download, or manually specify the path of the device. If specified, the option will overwrite the existing program preferences. Added extra information to debugging output. Fixed bug #1014219: File Modify process crashes if program exits during download. Version 0.4.4 ------------- 2012-05-30 Fixed bug #998320: Applied patch from Dmitry Kazimirov for option to have subfolder generation and file renaming use a month in text format. Thanks Dmitry! Fixed bug #986681: Crash when showing question dialog on some non-Gnome systems. Thanks go to Liudas Ališauskas for the suggested fix. Fixed bug #995769: The Help button in the preferences dialog does not work. Fixed bug #996613: Updated Free Software Foundation address. Added Estonian translation. Updated Brazilian, Dutch, French, German, Norwegian Bokmal, Polish, Spanish and Russian translations. Version 0.4.3 ------------- 2012-01-07 ExifTool is now a required dependency for Rapid Photo Downloader. ExifTool can be used to help download videos on Linux distributions that have not packaged hachoir-metadata, such as Fedora. Exiftran is another new dependency. It is used to automatically rotate JPEG images. Fixed bug #704482: Delete photos option should be easily accessible - Added a toolbar at the top of the main program window, which gives immediate access to the most commonly changed configuration options: where files will be transferred from, whether they will be copied or moved, and where they will be transferred to. Please when the move option is chosen, all files in the download from a device are first copied before any are deleted. In other words, only once all source files have been successfully copied from a device to their destination are the source files deleted from that device. Fixed bug #754531: extract Exif.CanonFi.FileNumber metadata - Added FileNumber metadata renaming option, which is a Canon-specific Exif value in the form xxx-yyyy, where xxx is the folder number and yyyy is the image number. Uses ExifTool. Thanks go to Etieene Charlier for researching the fix and contributing code to get it implemented. Fixed bug #695517: Added functionality to download MTS video files. There is currently no python based library to read metadata from MTS files, but ExifTool works. Fixed bug #859998: Download THM video thumbnail files - Some video files have THM video thumbnail files associated with them. Rapid Photo Downloader now downloads them and renames them to match the name of the video it is associated with. Fixed bug #594533: Lossless JPEG rotation based on EXIF data after picture transfer - There is now an option to automatically rotate JPEG photos as they are downloaded. The program exiftran is used to do the rotation. The feature is turned on default. Fixed bug #859012: Confirm if really want to download from /home, /media or / - It is possible for the program's preferences to be set to download from /home, /media or / (the root of the file system). This can result in the program scanning a very large number of files, possibly causing the system to become unresponsive. The program now queries the user before commencing this scan to confirm if this is really what they want to do. Fixed bug #792228: clear all thumbnails when refresh command issued. Fixed bug #890949: Panasonic MOD format and duplicate filename issue Fixed a bug where the device progress bar would occasionally disappear when the download device was changed. Fixed a bug where the file extensions the program downloads could not be displayed from the command line. Fixed a bug where the program would crash when trying to convert a malformed thumbnail from one image mode to another. Updated Czech, Danish, Dutch, French, German, Hungarian, Italian, Norwegian, Polish, Serbian, Slovak, Spanish and Swedish translations. Version 0.4.2 ------------- 2011-10-01 Added feature in Preferences window to remove any paths that have previously been marked to always be scanned or ignored. These paths can be specified when automatic detection of Portable Storage Devices is enabled. Fixed bug #768026: added option to ignore paths from which to download - You can now specify paths never to scan for photos or videos. By default, any path ending in .Trash or .thumbnails is ignored. Advanced users can specify paths to never scan using python-style regular expressions. Fixed bug #774488: added manual back up path for videos, in addition to photos - You can now manually specify a path specifically in which to back up videos. This can be the same as or different than the path in which to back up photos. Fixed bug #838722: wrong file types may be backed up to external devices - Fixed a bug when auto detection of backup devices is enabled, files of the wrong type might be backed up. For instance, if the backup device is only meant to store videos, and the download contains photos, photos would incorrectly be backed up to the device in addition to videos. Fixed bug #815727: Back up errors and warnings incorrectly displayed in log window - Fixed a bug that occurred when backing up errors are encountered, the log window did not display them correctly, although they were correctly outputted to the terminal window. This only occurred when more than one back up device was being used during a download. Fixed bug #859242: Crash when displaying a preview of file without an extracted thumbnail. Fixed bug #810559: Crash when generating thumbnail images Fixed bug #789995: crash when --reset-settings option is given on the command line. Fixed bugs #795446 and #844714: small errors in translation template. Fixed a bug in the Swedish translation. Added Danish translation, by Torben Gundtofte-Bruun. Updated Brazilian, Czech, Dutch, French, German, Hungarian, Italian, Japanese, Norwegian, Polish, Russian, Serbian, Slovak, Spanish, Swedish and Turkish translations. Version 0.4.1 ------------- 2011-05-19 Added exif Artist and Copyright metadata options to file and subfolder name generation. Fixed bug #774476: thumbnails occasionally not sorted by file modification time. Fixed bug #784399: job code not prompted for after preference change. Fixed bug #778085: crash when trying to scan inaccessible files on mounted camera. Relaxed startup test to check whether pynotify is working. On some systems, pynotify reports it is not working even though it is. Added the start of an Indonesian translation. Updated Brazilian, Dutch, French, German, Hungarian, Italian, Polish, Russian, Spanish and Ukrainian translations. Version 0.4.0 ------------- 2011-04-28 Features added since Release Candidate 1: * Allow multiple selection of files to check or uncheck for downloading. * Automation feature to delete downloaded files from a device. Bug fix: translation fixes. Bug fix: don't crash when completing download with backups enabled and no backup devices detected. Updated Dutch, French, German, Polish, Russian, Serbian and Spanish translations. Version 0.4.0 RC 1 ------------------ 2011-04-21 Features added since beta 1: Backups have been implemented. If you are backing up to more than one device, Rapid Photo Downloader will backup to each device simultaneously instead of one after the other. When clicking the Download button before thumbnails are finished generating, the download proceeds immediately and the thumbnails remaining to be generated will rendered during the download itself. Added preferences option to disable thumbnail generation. When auto start is enabled, this can speed-up transfers when downloading from high-speed devices. Access to the preferences window is now disabled while a download is occurring, as changing preferences when files are being download can cause problems. Bug fix: don't crash when downloading some files after having previously downloaded some others in the same session. Updated Brazilian, Dutch, German and Russian translations. Version 0.4.0 beta 1 -------------------- 2011-04-10 Features added since alpha 4: * Job Code functionality, mimicking that found in version 0.2.3. * Eject device button for each unmountable device in main window. * When not all files have been downloaded from a device, the number remaining is displayed in the device's progress bar * Overall download progress is displayed in progress bar at bottom of window * Time remaining and download speed are displayed in the status bar * System notification messages * Automation features: * Automatically start a download at program startup or when a device is inserted. When this is enabled, to optimize performance instead of thumbnails being generated before the files are downloaded, they are generated during the download. * Eject a device when all files have been downloaded from it. * Exit when all files have been downloaded. The automation feature to delete downloaded files from a device will be added only when the non-alpha/beta of version 0.4.0 is released. The major feature currently not implemented is backups. Note: if videos are downloaded, the device may not be able to be unmounted until Rapid Photo Downloader is exited. See bug #744012 for details. Bug fix: adjust vertical pane position when additional devices are inserted Bug fix: display file and subfolder naming warnings in error log Updated Czech, French and Russian translations. Version 0.3.6 ------------- 2011-04-05 This release contains a minor fix to allow program preferences to be changed on upcoming Linux distributions like Ubuntu 11.04 and Fedora 15. It also contains a minor packaging change so it can be installed in Ubuntu 11.04. Version 0.4.0 alpha 4 --------------------- 2011-04-04 Fixed bug #750808: errorlog.ui not included in setup.py. Version 0.4.0 alpha 3 --------------------- 2011-04-04 Features added since alpha 2: * Error log window to display download warnings and errors. * Synchronize RAW + JPEG Sequence values. Fixed bug #739021: unable to set subfolder and file rename preferences on alpha and beta Linux distributions such as Ubuntu 11.04 or Fedora 15. Updated Brazilian, Dutch, French, German and Spanish translations. Version 0.4.0 alpha 2 --------------------- 2011-03-31 Features added since alpha 1: * Sample file names and subfolders are now displayed in the preferences dialog window. * The option to add a unique identifier to a filename if a file with the same name already exists Other changes: * Updated INSTALL file to match new package requirements. * Added program icon to main window. * Bug fix: leave file preview mode when download devices are changed in the preferences. * Bug fix: don't crash on startup when trying to display free space and photo or video download folders do not exist. Version 0.4.0 alpha 1 --------------------- 2011-03-24 Rapid Photo Downloader is much faster and sports a new user interface. It is about 50 times faster in tasks like scanning photos and videos before the download. It also performs the actual downloads quicker. It will use multiple CPU cores if they are available. Rapid Photo Downloader now requires version 0.3.0 or newer of pyexiv2. It also requires Python Imaging (PIL) to run. It will only run on recent Linux distributions such as Ubuntu 10.04 or newer. It has been tested on Ubuntu 10.04, 10.10 and 11.04, as well as Fedora 14. (There is currently an unusual bug adjusting some preferences when running Ubuntu 11.04. See bug #739021). This is an alpha release because it is missing features that are present in version 0.3.5. Missing features include: * System Notifications of download completion * Job Codes * Backups as you download * Automation features, e.g. automatically start download at startup * Error log window (currently you must check the command line for error output) * Time remaining status messages * Synchronize RAW + JPEG Sequence Numbers * Add unique identifier to a filename if a file with the same name already exists * Sample file names and subfolders are not displayed in the preferences window These missing features will be added in subsequent alpha and beta releases. Kaa-metadata is no longer required to download videos. However, if you want to use Frames Per Second or Codec metadata information in subfolder or video file names, you must ensure it is installed. This is no longer checked at program startup. Thanks go to Robert Park for refreshing the translations code. Added Romanian translation. Version 0.3.5 ------------- 2011-03-23 The primary purpose of this release is update translations and fix bug #714039, where under certain circumstances the program could crash while downloading files. This is intended to be the last release in the 0.3.x series. In the upcoming version 0.4.0, Rapid Photo Downloader is much faster and sports a new user interface. Added Romanian translation. Updated Brazilian, Chinese, Croatian, Czech, Dutch, Finnish, German, Italian, Polish and Russian translations. Version 0.3.4 ------------- 2010-12-31 You can now change the size of the preview image by zooming in and out using a slider. The maximum size is double that of the previous fixed size, which was 160px. On computers with small screens such as netbooks, the maximum preview image size is the same as the previous fixed size. Please note that Rapid Photo Downloader only extracts thumbnails of photos; for performance reasons, it does not create them. This means for some file formats, the thumbnails will contain jpeg artifacts when scaled up (this is particularly true when using a version of pyexiv2 < 0.2.0). For users who require larger preview images, this will be of little consequence. When the "Strip compatible characters" feature is enabled in the Preferences (which is the default), any white space (e.g. spaces) beginning or ending a folder name will now be removed. Bug fix: camera serial numbers are now stripped of any spaces preceding or following the actual value. Fixed bug #685335: inaccurate description of python packages required for downloading videos. Added Croatian translation. Updated French, Norwegian Bokmal, Polish and Russian translations. Version 0.3.3 ------------- 2010-10-24 Added support for mod, tod and 3gp video files. Hachoir-metadata is now used to extract selected metadata from video files. It has less bugs than kaa-metadata, and is better maintained. One benefit of this change is that more video file types can have their metadata extracted. Another is that the video creation date is now correctly read (the creation time read by kaa metadata was sometimes wrong by a few hours). Kaa-metadata is still used to extract some the codec, fourcc and frames per second (FPS) metadata. Fixed bug #640722: Added preliminary support for Samsung SRW files. Current versions of Exiv2 and pyexiv2 can read some but not all metadata from this new RAW format. If you try to use metadata that cannot be extracted, Rapid Photo Downloader will issue a warning. Fixed bug #550883: Generation of subfolders and filenames using the time a download was started. Fixed bugs related to missing video download directory at program startup. Added command line option to output to the terminal information useful for debugging. Added Norwegian Bokmal and Portuguese translations. Updated Brazilian Portuguese, Dutch, Finnish, German, Hungarian, Italian, Norwegian Nynorsk, Polish, Russian, Serbian, Slovak and Ukrainian translations. Version 0.3.2 ------------- 2010-09-12 Added Norwegian Nynorsk translation. Updated Chinese, Finnish, Hungarian, Dutch, Occitan (post 1500), Polish, Brazilian Portuguese, and Russian translations. Fixed crash on startup when checking for free space, and the download folder does not exist. Version 0.3.1 ------------- 2010-08-13 The main window now works more effectively on tiny screens, such as those found on netbooks. If the screen height is less than or equal to 650 pixels, elements in the preview pane are removed, and the spacing is tightened. The amount of free space available on the file-system where photos are to be downloaded is now displayed in the status bar. (Note this is only the case on moderately up-to-date Linux distributions that use GVFS, such as Ubuntu 8.10 or higher). Add Chinese (simplified) translation. A big thanks goes out to the Ubuntu Chinese translation team. Partial translations of Bulgarian, Japanese, Occitan (post 1500), Persian, Portuguese (Brazilian), and Turkish have been added. In the past only translations that were largely finished were added, but hopefully adding incomplete translations will speed up their completion. Updated Finnish, French, Hungarian, Russian, Serbian and Spanish translations. Version 0.3.0 ------------- 2010-07-10 The major new feature of this release is the generation of previews before a download takes place. You can now select which photos and videos you wish to download. You can now assign different Job Codes to photos and videos in the same download. Simply select photos and videos, and from the main window choose a Job Code for them. You can select a new Job Code,or enter a new one (press Enter to apply it). The errors and warnings reported have been completely overhauled, and are now more concise. Now that you can select photos and videos to download, the "Report an error" option in case of filename conflicts has been removed. If you try to download a photo or video that already exists, an error will be reported. If you backup a photo or video that already exists in the backup location, a warning will be reported (regardless of whether overwriting or skipping of backups with conflicting filenames is chosen). Likewise, the option of whether to report an error or warning in case of missing backup devices has been removed. If you have chosen to backup your photos and videos, and a backup device or location is not found, the files will be downloaded with warnings. For each device in the main window, the progress bar is now updated much more smoothly than before. This is useful when downloading and backing up large files such as videos. (Note this is only the case on moderately up-to-date Linux distributions that use GVFS, such as Ubuntu 8.10 or higher). The minimum version of python-gtk2 (pygtk) required to run the program is now 2.12. This will affect only outdated Linux distributions. Version 0.3.0 beta 6 -------------------- 2010-07-06 Fixed bug #598736: don't allow file to jump to the bottom when it has a Job Code assigned to it. Fixed bug #601993: don't prompt for a Job Code when downloading file of one type (photo or video), and it's only a file of the other type that needs it. Log error messages are now cleaned up where a file already exists and there were problems generating the file / subfolder name. Fixed crash on startup when using an old version of GIO. Fix crash in updating the time remaining in when downloading from extremely slow devices. Set the default height to be 50 pixels taller. Bug fix: don't download from device that has been inserted after program starts unless device auto detection is enabled. Updated German translation. Version 0.3.0 beta 5 -------------------- 2010-07-04 Added warning dialog if attempting to download directly from a camera. Add backup errors details to error log window. Fixed program notifications. Fixed corner cases with problematic file and subfolder names. Disabled Download All button if all files that have not been downloaded have errors. Enabled and disabled Download All button, depending on status, after subfolder or filename preferences are modified after device has been scanned. Don't stop a file being downloaded if a valid subfolder or filename can be generated using a Job Code. Bug fix: don't automatically exit if there were errors or warnings and a download was occurring from more than one device. Auto start now works correctly again. Job Codes are now assigned correctly when multiple downloads occur. Default column sorting is by date, unless a warning or error occurs when doing the initial scan of the devices, in which case it is set to status (unless you have already clicked on a column heading yourself, in which case it will not change). Use the command xdg-user-dir to get default download directories. Updated Czech, Dutch, Finnish, French, Italian, Polish, Russian and Ukrainian translations. Version 0.3.0 beta 4 -------------------- 2010-06-25 Fixed bug in Job Code addition in the preferences window. Made Job Code entry completion case insensitive. Update preview to be the most recently selected photo / video when multiple files are selected. Don't crash when user selects a row that has its status set to be download pending. Improve error log status messages and problem notifications. Version 0.3.0 beta 3 -------------------- 2010-06-23 First beta release of 0.3.0. Version 0.2.3 ------------- 2010-06-23 Updated Hungarian, Russian, Swedish and Ukrainian translations. Fixed bug #590725: don't crash if the theme does not associate an icon with the detected device. Bug fix: update example filenames and folders when Job codes are manually modified in the preferences window. This is the final release before 0.3.0, which will be a major update. Version 0.2.2 ------------- 2010-06-06 Added Ukrainian translation by Sergiy Gavrylov. Bug fix: in systems where exiv2 is not installed, don't crash on startup. Version 0.2.1 ------------- 2010-06-05 Bug fix: display sample photo and video names in preferences dialog using first photo and video found on download device, where possible. This used to work but was inadvertently disabled in a recent release. Bug fix: prompt for Job code when only video names or video subfolder names use a job code. Bug fix: filter out Null bytes from Exif string values. These can occur when the Exif data is corrupted. Updated Spanish, Russian and Finnish translations. Version 0.2.0 ------------- 2010-05-30 Videos can now be downloaded in much the same way photos can. The package kaa metadata is required to download videos. ffmpegthumbnailer is used to display thumbnail images of certain types of videos as the download occurs. kaa metadata and ffmpegthumbnailer are optional. The program will run without them. See the INSTALL file for details. If a THM file with the same name as the video is present, it will be used to generate a thumbnail for the video. If not, if ffmpegthumbnailer is installed, Rapid Photo Downloader will use it to attempt to extract a thumbnail from the video. THM files are not downloaded. For now, sequence values are shared between the downloads of videos and photos. There may be an option to have two sets of sequence numbers in a future release. Due to the number of changes in the code, it is possible that regressions in the photo downloading code may have been introduced. This is the first release to use version 0.2.x of the pyexiv2 library. The most immediate benefit of this change is that thumbnail images from Nikon and other brand cameras can be displayed. This fixes bugs #369640 and #570378. Please note pyexiv2 0.2.x requires exiv2 0.1.9 or above. Rapid Photo Downloader will still work with pyexiv2 0.1.x. However it will not be able to display the thumbnails of some brands of camera. If Rapid Photo Downloader detects version 0.18.1 or higher of the exiv2 library, it will download Panasonic's RW2 files. If it detects version 0.18.0 or higher of the exiv2 library, it will download Mamiya's MEF files. For Rapid Photo Downloader to be able to detect which version of the exiv2 library your system has, it must either be running pyexiv2 >= 0.2.0, or have exiv2 installed. Fixed bug #483222: sometimes images could not be downloaded to NTFS partitions. This fix was a welcome side effect of using GIO to copy images, instead of relying on the python standard library. Error message headings in the Error Log are now displayed in a red font. Program settings and preferences can be reset using a new command line option. Program preferences are now more thoroughly checked for validity when the program starts. Further work was done to fix bug #505492, to handle cases where the system notification system is not working properly. Version 0.1.3 ------------- 2010-01-22 Fixed bug #509348: When both the backup and "Delete images from image device upon download completion" options are selected, the program will only delete an image from the image device if it was both downloaded to the download folder and backed up. Previously it did not check to ensure it was backed up correctly too. Fixed bug #505492: Program failed to start in environments where the notification system has problems. Fixed bug #508304: User is now prompted to confirm if they really want to remove all of their Job Codes after clicking on "Remove All" in the preferences dialog window. Fixed bug #510484: Crashes when fails to create temporary download directory. Fixed bug #510516: Program now checks to see if the download folder exists and is writable. If automatic detection of image devices is not enabled, it checks to see if the image location path exists. Updated Czech, Dutch, Finnish, French, German, Hungarian, Italian, Polish, Russian, Serbian, Spanish and Swedish translations. Version 0.1.2 ------------- 2010-01-16 New feature: photographers using RAW + JPEG mode now have the option to synchronize sequence numbers for the matching pair of images. This option is useful if you use the RAW + JPEG feature on your camera and you use sequence numbers or letters in your image renaming. Enabling this option will cause the program to detect matching pairs of RAW and JPEG images, and when they are detected, the same sequence numbers and letters will be applied to both image names. Furthermore, sequences will be updated as if the images were one. For example, if 200 RAW images and 200 matching JPEG images are downloaded, the value of Downloads today will be incremented by 200, and not 400. The same goes for the rest of the sequence values, including the Stored number sequence number. Images are detected by comparing filename, as well as the exif value for the date and time the image was created (including sub seconds when the camera records this value). This option will take effect regardless of whether the RAW and JPEG images are stored on different memory cards or the same memory card. Furthermore, if they are stored on separate memory cards, you can download from them simultaneously or one after the other. The only requirement is to download the images in the same session--in other words, for the feature to work, use as many memory cards as you need, but do not exit the program between downloads of the matching sets of images. Increased maximum sequence number length to seven digits by user request. Fixed bug #503704: changes in values for downloads today and stored number not updated when changed via program preferences while a download is ready to begin. Fixed a rare startup bug, where the program could crash when starting a thread. Added Serbian translation by Milos Popovic. Updated Czech, Dutch, Finnish, French, German, Hungarian, Italian, Polish, Russian, Slovak, Spanish and Swedish translations. Version 0.1.1 ------------- 2010-01-05 Added auto delete feature. When enabled, upon the completion of a download, images that were successfully downloaded will be deleted from the image device they were downloaded from. Images that were not downloaded successfully will not be deleted. Added keyboard accelerators for Preferences and Help. Added Dutch translation by Alian J. Baudrez. Updated Czech, French, German, Hungarian, Italian, Polish, Slovak and Spanish translations. Version 0.1.0 ------------- 2009-12-07 Added icons to notification messages. Updated Czech, French, German, Hungarian, Polish, Russian, Slovak, Spanish and Swedish translations. Bug fix: properly handle devices being unmounted, fixing a bug introduced in Version 0.0.9 beta 2. Bug fix: When program preferences are changed, image and backup devices are now refreshed only when the preferences dialog window is closed. Bug fix: Minutes component of image and folder renaming had the same code as months. Version 0.1.0 beta 2 -------------------- 2009-11-22 New feature: when detection of portable storage devices is selected, the program will prompt you whether or not to download from each device it automatically detects. You can choose whether the program should remember the choice you make every time it runs. This fixes bug #376020. Fixed bug #484432: error in adding job codes via the preferences dialog. Fixed bug #486886: Job code prompt can appear multiple times. Updated Hungarian and French translations. Version 0.1.0 beta 1 -------------------- 2009-11-14 This code is ready for full release, but given the magnitude of changes, a beta seems like a good idea, simply to catch any undetected bugs. Added a "Job codes" option. Like the "text" option in image and subfolder name generation, this allows you to specify text that will be placed into the file and subfolder names. However, unlike the "text" option, which requires that the text be directly entered via the program preferences, when using the "Job code" option, the program will prompt for it each time a download begins. Made Download button the default button. Hitting enter while the main window has focus will now start the download. Fixed bug #387002: added dependency in Ubuntu packages for librsvg2-common. Thanks go to user hasp for this fix. Fixed bug #478620: problem with corrupted image files. Thanks go to user Katrin Krieger for tracking this one down. Fixed bug #479424: some camera model names do not have numbers, but it still makes sense to return a shortened name. Thanks go to user Wesley Harp for highlighting this problem. Fixed bug #482831: program no longer crashes when auto-download is off, and a device is inserted before another download has completed. Added Czech translation by Tomas Novak. Added French translation by Julien Valroff, Michel Ange, and Cenwen. Added Hungarian translation by Balazs Oveges and Andras Lorincz. Added Slovak translation by Tomas Novak. Added Swedish translation by Ulf Urden and Michal Predotka. Added dependency on gnome-icon-theme in Ubuntu packages. Added additional hour, minute and second options in image renaming and subfolder creation. Thanks to Art Zemon for the patch. Malformed image date time exif values have are minimally checked to see if they can still be used for subfolder and image renaming. Some software programs seem to make a mess of them. Updated man page, including a bug fix by Julien Valroff. Version 0.0.10 -------------- 2009-06-05 Updated Russian translation by Sergei Sedov. Fixed bug #383028: program would crash when using an automatically configured backup device and gvfs. Version 0.0.9 ------------- 2009-06-02 Added Italian translation by Marco Solari and Luca Reverberi. Added German translation by Martin Egger and Daniel Passler. Added Russian translation by Sergei Sedov. Added Finnish translation by Mikko Ruohola. A Help button has been added to Preferences dialog window. Clicking it takes you to the documentation found online at the program's website. This documentation is now complete. The Preferences Dialog Window is now navigated using a list control, as it was in early versions of the program. This change was necessary because with some translations, the dialog window was becoming too wide with the normal tab layout. Usability of the preferences dialog is improved: it will now resize itself based on its content. Better integration with Nautilus is now possible through the setting of MimeType=x-content/image-dcf in the program's .desktop file. Version 0.0.9 beta 4 -------------------- 2009-05-26 Added Spanish translation by Jose Luis Navarro and Abel O'Rian. Whenever subfolder preferences are modified in the Preferences Dialog window, they are now checked to see if they contain any extraneous entries. If necessary, any entries like this are removed when the dialog window is closed. Bug fix: Changes in preferences should be applied to devices that have already been scanned, but their images not yet downloaded. This bug was introduced in beta 2 when fixing bug #368098. Bug fix: check subfolder preferences for validity before beginning download. While image rename preferences were checked, this check was neglected. Bug fix: do not allow automatic downloading when there is an error in the preferences. Version 0.0.9 beta 3 -------------------- 2009-05-25 Added command line options for controlling verbosity, displaying which image file types are recognized, and printing the program version. Updated man page to reflect recent program changes and new command line options. Prepared program for translation into other languages. Thanks go to Mark Mruss and his blog http://www.learningpython.com for code examples and explanations. Polish translation by Michal Predotka. Coming soon: French, German and Spanish translations. To install the program using python setup.py, the program msgfmt must now be present. On most Linux distributions, this is found in the package gettext. Updated INSTALL file to reflect minimum version of pyexiv2 needed, and included information about handling any error related to msgfmt not being installed. Minor fixes to logic that checks whether the Download button should be disabled or not. This should now be more reliable. Bug fix: error log window can now be reopened after being closed with the "x" button. Thanks go to ESR and his Python FAQ entry for this fix. Bug fix: example of subfolder name now has word wrap. Thanks go to Michal Predotka for reporting this. Bug fix: don't crash when a thumbnail image is missing and the 'orientation' variable has not yet been assigned. Version 0.0.9 beta 2 -------------------- 2009-05-12 By popular demand, allow direct downloading from cameras. This support is experimental and may not work with your camera. This is possible through the use of the new gvfs service, provided by GIO, that exists in recent versions of Linux. A recent version of Linux is a must. The camera must also be supported by libgphoto2 in combination with gvfs. If you cannot browse the camera's contents in a file manager (e.g. Nautilus), the camera download will not work until the gvfs support is improved. Although this is a popular request, the reality is that downloading images directly from the camera is often extremely slow in comparison to popping the memory card into a card reader and downloading from that. Fix bug #368098: the program now starts more quickly and does not become unresponsive when scanning devices with a large number of images. This will hardly be noticeable by users that download from memory cards, but for those who download from hard drives with hundreds of GBs of files -- they'll notice a big difference. Fix bug #372284: for image renaming, the "image number" component is more robust. Now, only the series of digits at the end of a filename are recognized as the image number (obviously the file's extension is not included as being part of the filename in this case). This allows takes in account files from cameras like the Canon 1D series, which can have filenames like VD1D7574.CR2. Bug fix: don't download from volumes mounted while the program is already running unless auto detection is specified. This bug could occur when auto detection was enabled, then disabled, and then a volume was mounted. Version 0.0.8 ------------- 2009-05-01 Added stored and downloads today sequence numbers: * The stored sequence number is remembered each time the program is run. * Downloads today tracks how many downloads are made on a given day. The time a day "starts" is set via a new preference value, day start. This is useful if you often photograph something late at night (e.g. concerts) and want a new day to "start" at 3am, for instance. Make estimate of time remaining to download images much more accurate. Display download speed in status bar. Reorganized sequence number/letter selection in preferences. Add feature to detect change in program version, upgrading preferences where necessary. Only allow one instance of the program to be run -- raise existing window if it is run again. This is very useful when Rapid Photo Downloader is set to run automatically upon insertion of a memory card. Add "exit at end of successful download" automation feature. When an image's download is skipped, the thumbnail is now lightened. Show a missing image icon if the thumbnail cannot be displayed for some reason. (See bug #369640 for why thumbnail images from certain RAW files are not displayed). Resize main window when an image device is inserted -- it now expands to show each device that is inserted. Do not proceed with download if there is an error in the image rename or download subfolder preferences. Instead, indicate a download error. Allow version 0.1.1 of pyexiv2 to be used (an older version of the library code that is used to get information on the images, found in distributions like Ubuntu 8.04 Hardy Heron). In cases where image rename or download subfolder preferences are invalid, more helpful information is printed to the console output. Bug fix: better handle automated shortening Canon names like 'Canon 5D Mark II'. It is now shortened to '5DMkII' instead of merely '5D'. Bug fix: re-enable example of image renaming and subfolder name generation by using first image from the first available download device. This was inadvertently disabled in an earlier beta. Bug fix: make default download subfolder YYYY/YYYYMMDD again. It was inadvertently set to DDMMYYYY/YYYYMMDD in beta 6. Bug fix: don't change download button label to "pause" when "Start downloading on program startup" is set to true. Bug fix: implement code to warn / give error about missing backup devices. Bug fix: reset progress bar after completion of successful download. Fix bug #317404 when clearing completed downloads. Version 0.0.8 beta 7 -------------------- 2009-04-07 Added serial number metadata option for select Nikon, Canon, Olympus, Fuji, Panasonic, and Kodak cameras. Added shutter count metadata option for select Nikon cameras, e.g. Nikon D300, D3 etc. Add owner name metadata option for select Canon cameras, e.g. 5D Mk II etc. Version 0.0.8 beta 6 -------------------- 2009-03-31 Add YYYY-MM-DD and YY-MM-DD options in date time renaming, suggested by Andreas F.X. Siegert and Paul Gear. Fix bug #352242 where image has no metadata. Handle images with corrupt metadata more gracefully. Version 0.0.8 beta 5 -------------------- 2009-03-30 Reduce console output. Version 0.0.8 beta 4 -------------------- 2009-03-25 Updated Ubuntu package. Version 0.0.8 beta 3 -------------------- 2009-03-25 Updated Ubuntu package. Version 0.0.8 beta 2 -------------------- 2009-03-25 First Ubuntu package. Rename tarball package to suit package name. Updated README. Version 0.0.8 beta 1 -------------------- 2009-03-20 Make file renaming thread safe, fixing a long-standing (if difficult to activate) bug. Implement add unique identifier when file name is not unique. Added "Report a Problem", "Get Help Online", "Make a Donation" to Help menu. Implemented "Clear completed downloads" menu item. Download images in order they were taken (checked by time they modified). Fixed bug where choosing text as the first item in a download subfolder caused a crash. Fixed bug where date and time choices based on when image is downloaded caused a crash. Initial code to show error message when image renaming preferences have an error. Fixed bug where some invalid preferences were not being caught. Run default python, not one specified in env, as per recommendations in Debian Python Policy. Remove initial period from filename extension when generating a subfolder name (or else the folder will be hidden). Check to see if metadata is essential to generate image names is now more robust. Remove list control from preferences, reverting to normal tabbed preferences, as the window was becoming too wide. Show notifications via libnotify. Error and warning icons can now be clicked on to open log window. Finally, last but certainly not least--implemented sequence number and sequence letter generation: * session sequence number * sequence letter Coming soon: * downloads today sequence number * subfolder sequence number * stored sequence number Version 0.0.7 ------------- 2009-01-13 Implemented option for automatic detection of Portal Storage Devices. Version 0.0.6 ------------- 2009-01-11 Fixed extremely annoying bug where memory cards could not be unmounted. Made sample image selection for preferences more robust. Added license details to about dialog. Fix bug where image rename preferences entry boxes vertically expanded, looking very ugly indeed. Wrap new filename in image rename preferences when it becomes too long. Make default download folder selection more robust. Remove sequence number and sequence letter from list of choices for image rename (not yet implemented). Bug #314825: fix by not calling gnomevfs.get_local_path_from_uri() unless strictly necessary. Version 0.0.5 ------------- 2009-01-09 Implement auto download on device insertion, and auto download on program startup. Increase default width of preferences dialog box. Add vertical scrollbar to image rename preferences. Fixes for bugs #313463 & #313462. Version 0.0.4 ------------- 2009-01-06 Bug #314284: Implement backup functionality. Bug #314285: Insert debugging code to help determine the cause of this bug. Version 0.0.3 ------------- 2009-01-03 Bug #313398: Fix bug where application needed to be restarted for new preferences to take effect. Added setup.py installer. Version 0.0.2 ------------- Dependencies: Pyexiv 0.1.2 Updated metadata code to reflect changes in pyexiv library. Version 0.0.1 ------------- Initial release. rapid-photo-downloader-0.4.10/rapid/copyfiles.py0000664000175000017500000003335412266474017022065 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 import multiprocessing import tempfile import os import random import string import logging logger = multiprocessing.get_logger() import rpdmultiprocessing as rpdmp import rpdfile import problemnotification as pn import config import thumbnail as tn import io import shutil import stat import hashlib from gettext import gettext as _ def copy_file_metadata(src, dst, logger=None): """Copy all stat info (mode bits, atime, mtime, flags) from src to dst. Adapated from python's shutil.copystat. Necessary because with some NTFS file systems, there can be problems with setting filesystem metadata like permissions and modification time""" st = os.stat(src) mode = stat.S_IMODE(st.st_mode) try: os.utime(dst, (st.st_atime, st.st_mtime)) except OSError as inst: if logger: logger.warning("Couldn't adjust file modification time when copying %s. %s: %s", src, inst.errno, inst.strerror) try: os.chmod(dst, mode) except OSError as inst: if logger: logger.warning("Couldn't adjust file permissions when copying %s. %s: %s", src, inst.errno, inst.strerror) if hasattr(os, 'chflags') and hasattr(st, 'st_flags'): try: os.chflags(dst, st.st_flags) except OSError as inst: for err in 'EOPNOTSUPP', 'ENOTSUP': if hasattr(errno, err) and inst.errno == getattr(errno, err): break else: raise class CopyFiles(multiprocessing.Process): """ Copies files from source to temporary directory, giving them a random name """ def __init__(self, photo_download_folder, video_download_folder, files, verify_file, modify_files_during_download, modify_pipe, scan_pid, batch_size_MB, results_pipe, terminate_queue, run_event): multiprocessing.Process.__init__(self) self.results_pipe = results_pipe self.terminate_queue = terminate_queue self.batch_size_bytes = batch_size_MB * 1048576 # * 1024 * 1024 self.io_buffer = 1048576 self.photo_download_folder = photo_download_folder self.video_download_folder = video_download_folder self.files = files self.verify_file = verify_file self.modify_files_during_download = modify_files_during_download self.modify_pipe = modify_pipe self.scan_pid = scan_pid self.no_files= len(self.files) self.run_event = run_event def check_termination_request(self): """ Check to see this process has not been requested to immediately terminate """ if not self.terminate_queue.empty(): x = self.terminate_queue.get() # terminate immediately logger.info("Terminating file copying") return True return False def update_progress(self, amount_downloaded, total): chunk_downloaded = amount_downloaded - self.bytes_downloaded if (chunk_downloaded > self.batch_size_bytes) or (amount_downloaded == total): self.bytes_downloaded = amount_downloaded self.results_pipe.send((rpdmp.CONN_PARTIAL, (rpdmp.MSG_BYTES, (self.scan_pid, self.total_downloaded + amount_downloaded, chunk_downloaded)))) if amount_downloaded == total: self.bytes_downloaded = 0 def run(self): """start the actual copying of files""" #characters used to generate temporary filenames filename_characters = string.letters + string.digits self.bytes_downloaded = 0 self.total_downloaded = 0 self.create_temp_dirs() # Send the location of both temporary directories, so they can be # removed once another process attempts to rename all the files in them # and move them to generated subfolders self.results_pipe.send((rpdmp.CONN_PARTIAL, (rpdmp.MSG_TEMP_DIRS, (self.scan_pid, self.photo_temp_dir, self.video_temp_dir)))) if self.photo_temp_dir or self.video_temp_dir: self.thumbnail_maker = tn.Thumbnail() for i in range(self.no_files): rpd_file = self.files[i] # pause if instructed by the caller self.run_event.wait() if self.check_termination_request(): return None #generate temporary name 5 digits long, no extension temp_name = ''.join(random.choice(filename_characters) for i in xrange(5)) temp_full_file_name = os.path.join( self._get_dest_dir(rpd_file.file_type), temp_name) rpd_file.temp_full_file_name = temp_full_file_name copy_succeeded = False src_bytes = '' try: dest = io.open(temp_full_file_name, 'wb', self.io_buffer) src = io.open(rpd_file.full_file_name, 'rb', self.io_buffer) total = rpd_file.size amount_downloaded = 0 while True: # first check if process is being terminated if self.check_termination_request(): logger.debug("Closing partially written temporary file") dest.close() src.close() return None else: chunk = src.read(self.io_buffer) if chunk: dest.write(chunk) src_bytes += chunk amount_downloaded += len(chunk) self.update_progress(amount_downloaded, total) else: break dest.close() src.close() copy_succeeded = True except (IOError, OSError) as inst: rpd_file.add_problem(None, pn.DOWNLOAD_COPYING_ERROR_W_NO, {'filetype': rpd_file.title}) rpd_file.add_extra_detail( pn.DOWNLOAD_COPYING_ERROR_W_NO_DETAIL, {'errorno': inst.errno, 'strerror': inst.strerror}) rpd_file.status = config.STATUS_DOWNLOAD_FAILED rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("%(problem)s\nFile: %(file)s") % \ {'problem': rpd_file.problem.get_problems(), 'file': rpd_file.full_file_name} logger.error("Failed to download file: %s", rpd_file.full_file_name) logger.error(inst) self.update_progress(rpd_file.size, rpd_file.size) except: rpd_file.add_problem(None, pn.DOWNLOAD_COPYING_ERROR, {'filetype': rpd_file.title}) rpd_file.add_extra_detail( pn.DOWNLOAD_COPYING_ERROR_DETAIL, _("An unknown error occurred")) rpd_file.status = config.STATUS_DOWNLOAD_FAILED rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("%(problem)s\nFile: %(file)s") % \ {'problem': rpd_file.problem.get_problems(), 'file': rpd_file.full_file_name} logger.error("Failed to download file: %s", rpd_file.full_file_name) self.update_progress(rpd_file.size, rpd_file.size) # increment this amount regardless of whether the copy actually # succeeded or not. It's neccessary to keep the user informed. self.total_downloaded += rpd_file.size try: copy_file_metadata(rpd_file.full_file_name, temp_full_file_name, logger) except: logger.error("Unknown error updating filesystem metadata when copying %s", rpd_file.full_file_name) # copy THM (video thumbnail file) if there is one if copy_succeeded and rpd_file.thm_full_name: # reuse video's file name temp_thm_full_name = temp_full_file_name + '__rpd__thm' try: shutil.copyfile(rpd_file.thm_full_name, temp_thm_full_name) rpd_file.temp_thm_full_name = temp_thm_full_name logger.debug("Copied video THM file %s", rpd_file.temp_thm_full_name) except (IOError, OSError) as inst: logger.error("Failed to download video THM file: %s", rpd_file.thm_full_name) logger.error("%s: %s", inst.errno, inst.strerror) try: copy_file_metadata(rpd_file.thm_full_name, temp_thm_full_name. logger) except: logger.error("Unknown error updating filesystem metadata when copying %s", rpd_file.thm_full_name) else: temp_thm_full_name = None #copy audio file if there is one if copy_succeeded and rpd_file.audio_file_full_name: # reuse photo's file name temp_audio_full_name = temp_full_file_name + '__rpd__audio' try: shutil.copyfile(rpd_file.audio_file_full_name, temp_audio_full_name) rpd_file.temp_audio_full_name = temp_audio_full_name logger.debug("Copied audio file %s", rpd_file.temp_audio_full_name) except (IOError, OSError) as inst: logger.error("Failed to download audio file: %s", rpd_file.audio_file_full_name) logger.error("%s: %s", inst.errno, inst.strerror) try: copy_file_metadata(rpd_file.audio_file_full_name, temp_audio_full_name, logger) except: logger.error("Unknown error updating filesystem metadata when copying %s", rpd_file.audio_file_full_name) if copy_succeeded and rpd_file.generate_thumbnail: thumbnail, thumbnail_icon = self.thumbnail_maker.get_thumbnail( temp_full_file_name, temp_thm_full_name, rpd_file.file_type, (160, 120), (100,100)) else: thumbnail = None thumbnail_icon = None if copy_succeeded and self.verify_file: rpd_file.md5 = hashlib.md5(src_bytes).hexdigest() if rpd_file.metadata is not None: rpd_file.metadata = None download_count = i + 1 if self.modify_files_during_download and copy_succeeded: copy_finished = download_count == self.no_files self.modify_pipe.send((rpd_file, download_count, temp_full_file_name, thumbnail_icon, thumbnail, copy_finished)) else: self.results_pipe.send((rpdmp.CONN_PARTIAL, (rpdmp.MSG_FILE, (copy_succeeded, rpd_file, download_count, temp_full_file_name, thumbnail_icon, thumbnail)))) self.results_pipe.send((rpdmp.CONN_COMPLETE, None)) def _get_dest_dir(self, file_type): if file_type == rpdfile.FILE_TYPE_PHOTO: return self.photo_temp_dir else: return self.video_temp_dir def _create_temp_dir(self, folder): try: temp_dir = tempfile.mkdtemp(prefix="rpd-tmp-", dir=folder) except OSError, (errno, strerror): # FIXME: error reporting logger.error("Failed to create temporary directory in %s: %s %s", errono, strerror, folder) temp_dir = None return temp_dir def create_temp_dirs(self): self.photo_temp_dir = self.video_temp_dir = None if self.photo_download_folder is not None: self.photo_temp_dir = self._create_temp_dir(self.photo_download_folder) logger.debug("Photo temporary directory: %s", self.photo_temp_dir) if self.video_download_folder is not None: self.video_temp_dir = self._create_temp_dir(self.video_download_folder) logger.debug("Video temporary directory: %s", self.video_temp_dir) rapid-photo-downloader-0.4.10/rapid/filemodify.py0000664000175000017500000001715612266476704022226 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 import os.path, fractions import subprocess import hashlib import multiprocessing import logging logger = multiprocessing.get_logger() import rpdmultiprocessing as rpdmp import rpdfile import metadataxmp as mxmp import subfolderfile import config import problemnotification as pn from gettext import gettext as _ WRITE_XMP_INPLACE = rpdfile.NON_RAW_IMAGE_EXTENSIONS + ['dng'] def lossless_rotate(jpeg): """using exiftran, performs a lossless, inplace translation of a jpeg, preserving time stamps""" try: logger.debug("Auto rotating %s", jpeg) proc = subprocess.Popen(['exiftran', '-a', '-i', '-p', jpeg], stdout=subprocess.PIPE) v = proc.communicate()[0].strip() except OSError: v = None return v class FileModify(multiprocessing.Process): def __init__(self, auto_rotate_jpeg, focal_length, verify_file, refresh_md5_on_file_change, results_pipe, terminate_queue, run_event): multiprocessing.Process.__init__(self) self.results_pipe = results_pipe self.terminate_queue = terminate_queue self.run_event = run_event self.auto_rotate_jpeg = auto_rotate_jpeg self.focal_length = focal_length self.verify_file = verify_file self.refresh_md5_on_file_change = refresh_md5_on_file_change def check_termination_request(self): """ Check to see this process has not been requested to immediately terminate """ if not self.terminate_queue.empty(): x = self.terminate_queue.get() # terminate immediately return True return False def create_rational(self, value): return '%s/%s' % (value.numerator, value.denominator) def run(self): download_count = 0 copy_finished = False while not copy_finished: logger.debug("Finished %s. Getting next task.", download_count) data = self.results_pipe.recv() if len(data) > 2: rpd_file, download_count, temp_full_file_name, thumbnail_icon, thumbnail, copy_finished = data else: rpd_file, copy_finished = data if rpd_file is None: # this is a termination signal logger.info("Terminating file modify via pipe") return None # pause if instructed by the caller self.run_event.wait() if self.check_termination_request(): return None copy_succeeded = True redo_md5 = False if self.verify_file: logger.debug("Verifying file %s....", rpd_file.name) md5 = hashlib.md5(open(temp_full_file_name).read()).hexdigest() if md5 <> rpd_file.md5: logger.critical("%s file verification FAILED", rpd_file.name) logger.critical("The %s did not download correctly!", rpd_file.title) rpd_file.status = config.STATUS_DOWNLOAD_FAILED rpd_file.add_problem(None, pn.FILE_VERIFICATION_FAILED, {'filetype': rpd_file.title}) rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("%(problem)s\nFile: %(file)s") % \ {'problem': rpd_file.problem.get_problems(), 'file': rpd_file.full_file_name} copy_succeeded = False else: logger.debug("....file %s verified", rpd_file.name) if copy_succeeded: if self.auto_rotate_jpeg and rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: if rpd_file.extension in rpdfile.JPEG_EXTENSIONS: lossless_rotate(rpd_file.temp_full_file_name) redo_md5 = True xmp_sidecar = None # check to see if focal length and aperture data should be manipulated if self.focal_length is not None and rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: if subfolderfile.load_metadata(rpd_file, temp_file=True): a = rpd_file.metadata.aperture() if a == '0.0': logger.info("Adjusting focal length and aperture for %s (%s)", rpd_file.temp_full_file_name, rpd_file.name) new_focal_length = fractions.Fraction(self.focal_length,1) new_aperture = fractions.Fraction(8,1) if rpd_file.extension in WRITE_XMP_INPLACE: try: rpd_file.metadata["Exif.Photo.FocalLength"] = new_focal_length rpd_file.metadata["Exif.Photo.FNumber"] = new_aperture rpd_file.metadata.write(preserve_timestamps=True) redo_md5 = True logger.debug("Wrote new focal length and aperture to %s (%s)", rpd_file.temp_full_file_name, rpd_file.name) except: logger.error("failed to write new focal length and aperture to %s (%s)!", rpd_file.temp_full_file_name, rpd_file.name) else: # write to xmp sidecar xmp_sidecar = mxmp.XmpMetadataSidecar(rpd_file.temp_full_file_name) xmp_sidecar.set_exif_value('FocalLength', self.create_rational(new_focal_length)) xmp_sidecar.set_exif_value('FNumber', self.create_rational(new_aperture)) # store values in rpd_file, so they can be used in the subfolderfile process rpd_file.new_focal_length = new_focal_length rpd_file.new_aperture = new_aperture if xmp_sidecar is not None: # need to write out xmp sidecar o = xmp_sidecar.write_xmp_sidecar() logger.debug("Wrote XMP sidecar file") logger.debug("exiv2 output: %s", o) rpd_file.temp_xmp_full_name = rpd_file.temp_full_file_name + '.xmp' if self.refresh_md5_on_file_change and redo_md5: rpd_file.md5 = hashlib.md5(open(temp_full_file_name).read()).hexdigest() rpd_file.metadata = None #purge metadata, as it cannot be pickled self.results_pipe.send((rpdmp.CONN_PARTIAL, (copy_succeeded, rpd_file, download_count, temp_full_file_name, thumbnail_icon, thumbnail))) self.results_pipe.send((rpdmp.CONN_COMPLETE, None)) rapid-photo-downloader-0.4.10/rapid/downloadtracker.py0000664000175000017500000003351612265537136023254 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 import time import multiprocessing import logging logger = multiprocessing.get_logger() from rpdfile import FILE_TYPE_PHOTO, FILE_TYPE_VIDEO from config import STATUS_DOWNLOAD_FAILED, STATUS_DOWNLOADED_WITH_WARNING, \ STATUS_DOWNLOAD_AND_BACKUP_FAILED, STATUS_BACKUP_PROBLEM from gettext import gettext as _ class DownloadTracker: """ Track file downloads - their size, number, and any problems """ def __init__(self): self.file_types_present_by_scan_pid = dict() self._refresh_values() def _refresh_values(self): """ these values are reset when a download is completed""" self.size_of_download_in_bytes_by_scan_pid = dict() self.total_bytes_backed_up_by_scan_pid = dict() self.size_of_photo_backup_in_bytes_by_scan_pid = dict() self.size_of_video_backup_in_bytes_by_scan_pid = dict() self.raw_size_of_download_in_bytes_by_scan_pid = dict() self.total_bytes_copied_by_scan_pid = dict() self.total_bytes_video_backed_up_by_scan_pid = dict() self.no_files_in_download_by_scan_pid = dict() self.no_photos_in_download_by_scan_pid = dict() self.no_videos_in_download_by_scan_pid = dict() # 'Download count' tracks the index of the file being downloaded # into the list of files that need to be downloaded -- much like # a counter in a for loop, e.g. 'for i in list', where i is the counter self.download_count_for_file_by_unique_id = dict() self.download_count_by_scan_pid = dict() self.rename_chunk = dict() self.files_downloaded = dict() self.photos_downloaded = dict() self.videos_downloaded = dict() self.photo_failures = dict() self.video_failures = dict() self.warnings = dict() self.total_photos_downloaded = 0 self.total_photo_failures = 0 self.total_videos_downloaded = 0 self.total_video_failures = 0 self.total_warnings = 0 self.total_bytes_to_download = 0 self.backups_performed_by_unique_id = dict() self.auto_delete = dict() def set_no_backup_devices(self, no_photo_backup_devices, no_video_backup_devices): self.no_photo_backup_devices = no_photo_backup_devices self.no_video_backup_devices = no_video_backup_devices #~ self.no_backup_devices = no_photo_backup_devices + no_video_backup_devices #~ #~ def get_no_backup_devices(self): #~ """ #~ Returns how many devices are being used to backup files of each type #~ Return value is an integer tuple: photo and video #~ """ #~ return (self.no_photo_backup_devices, self.no_video_backup_devices) def init_stats(self, scan_pid, photo_size_in_bytes, video_size_in_bytes, no_photos_to_download, no_videos_to_download): no_files = no_photos_to_download + no_videos_to_download self.no_files_in_download_by_scan_pid[scan_pid] = no_files self.no_photos_in_download_by_scan_pid[scan_pid] = no_photos_to_download self.no_videos_in_download_by_scan_pid[scan_pid] = no_videos_to_download self.size_of_photo_backup_in_bytes_by_scan_pid[scan_pid] = photo_size_in_bytes * self.no_photo_backup_devices self.size_of_video_backup_in_bytes_by_scan_pid[scan_pid] = video_size_in_bytes * self.no_video_backup_devices bytes = photo_size_in_bytes + video_size_in_bytes # rename_chunk is used to account for the time it takes to rename a file # it is arbitrarily set to 10% of the time it takes to copy it # this makes a difference to the user when they're downloading from a # a high speed source self.rename_chunk[scan_pid] = bytes / 10 / no_files self.size_of_download_in_bytes_by_scan_pid[scan_pid] = bytes + self.rename_chunk[scan_pid] * no_files self.raw_size_of_download_in_bytes_by_scan_pid[scan_pid] = bytes self.total_bytes_to_download += self.size_of_download_in_bytes_by_scan_pid[scan_pid] self.files_downloaded[scan_pid] = 0 self.photos_downloaded[scan_pid] = 0 self.videos_downloaded[scan_pid] = 0 self.photo_failures[scan_pid] = 0 self.video_failures[scan_pid] = 0 self.warnings[scan_pid] = 0 self.total_bytes_backed_up_by_scan_pid[scan_pid] = 0 def get_no_files_in_download(self, scan_pid): return self.no_files_in_download_by_scan_pid[scan_pid] def get_no_files_downloaded(self, scan_pid, file_type): if file_type == FILE_TYPE_PHOTO: return self.photos_downloaded.get(scan_pid, 0) else: return self.videos_downloaded.get(scan_pid, 0) def get_no_files_failed(self, scan_pid, file_type): if file_type == FILE_TYPE_PHOTO: return self.photo_failures.get(scan_pid, 0) else: return self.video_failures.get(scan_pid, 0) def get_no_warnings(self, scan_pid): return self.warnings.get(scan_pid, 0) def add_to_auto_delete(self, rpd_file): if rpd_file.scan_pid in self.auto_delete: self.auto_delete[rpd_file.scan_pid].append(rpd_file.full_file_name) else: self.auto_delete[rpd_file.scan_pid] = [rpd_file.full_file_name,] def get_files_to_auto_delete(self, scan_pid): return self.auto_delete[scan_pid] def clear_auto_delete(self, scan_pid): if scan_pid in self.auto_delete: del self.auto_delete[scan_pid] def file_backed_up(self, unique_id): self.backups_performed_by_unique_id[unique_id] = \ self.backups_performed_by_unique_id.get(unique_id, 0) + 1 def all_files_backed_up(self, unique_id, file_type): if unique_id in self.backups_performed_by_unique_id: if file_type == FILE_TYPE_PHOTO: return self.backups_performed_by_unique_id[unique_id] == self.no_photo_backup_devices else: return self.backups_performed_by_unique_id[unique_id] == self.no_video_backup_devices else: logger.critical("Unexpected unique_id in self.backups_performed_by_unique_id") return True def file_downloaded_increment(self, scan_pid, file_type, status): self.files_downloaded[scan_pid] += 1 if status <> STATUS_DOWNLOAD_FAILED and status <> STATUS_DOWNLOAD_AND_BACKUP_FAILED: if file_type == FILE_TYPE_PHOTO: self.photos_downloaded[scan_pid] += 1 self.total_photos_downloaded += 1 else: self.videos_downloaded[scan_pid] += 1 self.total_videos_downloaded += 1 if status == STATUS_DOWNLOADED_WITH_WARNING or status == STATUS_BACKUP_PROBLEM: self.warnings[scan_pid] += 1 self.total_warnings += 1 else: if file_type == FILE_TYPE_PHOTO: self.photo_failures[scan_pid] += 1 self.total_photo_failures += 1 else: self.video_failures[scan_pid] += 1 self.total_video_failures += 1 def get_percent_complete(self, scan_pid): """ Returns a float representing how much of the download has been completed """ # when calculating the percentage, there are three components: # copy (download), rename ('rename_chunk'), and backup percent_complete = (((float( self.total_bytes_copied_by_scan_pid[scan_pid]) + self.rename_chunk[scan_pid] * self.files_downloaded[scan_pid]) + self.total_bytes_backed_up_by_scan_pid[scan_pid]) / (self.size_of_download_in_bytes_by_scan_pid[scan_pid] + self.size_of_photo_backup_in_bytes_by_scan_pid[scan_pid] + self.size_of_video_backup_in_bytes_by_scan_pid[scan_pid] )) * 100 return percent_complete def get_overall_percent_complete(self): total = 0 for scan_pid in self.total_bytes_copied_by_scan_pid: total += (self.total_bytes_copied_by_scan_pid[scan_pid] + (self.rename_chunk[scan_pid] * self.files_downloaded[scan_pid])) percent_complete = float(total) / self.total_bytes_to_download return percent_complete def set_total_bytes_copied(self, scan_pid, total_bytes): self.total_bytes_copied_by_scan_pid[scan_pid] = total_bytes def increment_bytes_backed_up(self, scan_pid, chunk_downloaded): self.total_bytes_backed_up_by_scan_pid[scan_pid] += chunk_downloaded def set_download_count_for_file(self, unique_id, download_count): self.download_count_for_file_by_unique_id[unique_id] = download_count def get_download_count_for_file(self, unique_id): return self.download_count_for_file_by_unique_id[unique_id] def set_download_count(self, scan_pid, download_count): self.download_count_by_scan_pid[scan_pid] = download_count def get_file_types_present(self, scan_pid): return self.file_types_present_by_scan_pid[scan_pid] def set_file_types_present(self, scan_pid, file_types_present): self.file_types_present_by_scan_pid[scan_pid] = file_types_present def no_errors_or_warnings(self): """ Return True if there were no errors or warnings in the download else return False """ return (self.total_warnings == 0 and self.total_photo_failures == 0 and self.total_video_failures == 0) def purge(self, scan_pid): del self.no_files_in_download_by_scan_pid[scan_pid] del self.size_of_download_in_bytes_by_scan_pid[scan_pid] del self.raw_size_of_download_in_bytes_by_scan_pid[scan_pid] del self.photos_downloaded[scan_pid] del self.videos_downloaded[scan_pid] del self.files_downloaded[scan_pid] del self.photo_failures[scan_pid] del self.video_failures[scan_pid] del self.warnings[scan_pid] def purge_all(self): self._refresh_values() class TimeCheck: """ Record times downloads commmence and pause - used in calculating time remaining. Also tracks and reports download speed. Note: This is completely independent of the file / subfolder naming preference "download start time" """ def __init__(self): # set the number of seconds gap with which to measure download time remaing self.download_time_gap = 3 self.reset() def reset(self): self.mark_set = False self.total_downloaded_so_far = 0 self.total_download_size = 0 self.size_mark = 0 def increment(self, bytes_downloaded): self.total_downloaded_so_far += bytes_downloaded def set_download_mark(self): if not self.mark_set: self.mark_set = True self.time_mark = time.time() def pause(self): self.mark_set = False def check_for_update(self): now = time.time() update = now > (self.download_time_gap + self.time_mark) if update: amt_time = now - self.time_mark self.time_mark = now amt_downloaded = self.total_downloaded_so_far - self.size_mark self.size_mark = self.total_downloaded_so_far download_speed = "%1.1f" % (amt_downloaded / 1048576 / amt_time) +_("MB/s") else: download_speed = None return (update, download_speed) class TimeForDownload: # used to store variables, see below pass class TimeRemaining: """ Calculate how much time is remaining to finish a download """ gap = 3 def __init__(self): self.clear() def set(self, scan_pid, size): t = TimeForDownload() t.time_remaining = None t.size = size t.downloaded = 0 t.size_mark = 0 t.time_mark = time.time() self.times[scan_pid] = t def update(self, scan_pid, bytes_downloaded): if scan_pid in self.times: self.times[scan_pid].downloaded += bytes_downloaded now = time.time() tm = self.times[scan_pid].time_mark amt_time = now - tm if amt_time > self.gap: self.times[scan_pid].time_mark = now amt_downloaded = self.times[scan_pid].downloaded - self.times[scan_pid].size_mark self.times[scan_pid].size_mark = self.times[scan_pid].downloaded timefraction = amt_downloaded / float(amt_time) amt_to_download = float(self.times[scan_pid].size) - self.times[scan_pid].downloaded if timefraction: self.times[scan_pid].time_remaining = amt_to_download / timefraction def _time_estimates(self): for t in self.times: yield self.times[t].time_remaining def time_remaining(self): return max(self._time_estimates()) def set_time_mark(self, scan_pid): if scan_pid in self.times: self.times[scan_pid].time_mark = time.time() def clear(self): self.times = {} def remove(self, scan_pid): if scan_pid in self.times: del self.times[scan_pid] rapid-photo-downloader-0.4.10/rapid/prefs.py0000664000175000017500000001401711761336664021206 0ustar damondamon00000000000000### Copyright (C) 2002-2006 Stephen Kennedy ### 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 ### Modified August 2007 by Damon Lynch to allow use of list value preferences ### Modified May 2010 by Damon Lynch to allow preferences to be reset """Module to help implement 'instant-apply' preferences. Usage: import prefs defaults = { "colour" : prefs.Value(prefs.STRING, "red") "size" : prefs.Value(prefs.INT, 10) } p = prefs.Preferences("/apps/myapp", defaults) # use variables as if they were normal attributes. draw(p.colour, p.size) # settings are persistent. (saved in gconf) p.color = "blue" """ class Value(object): """Represents a settable preference. """ __slots__ = ["type", "default", "current"] def __init__(self, t, d): """Create a value. t : a string : one of ("bool", "int", "string", "list") d : the default value, also the initial value """ self.type = t self.default = d self.current = d def setfunc(self, gconf, rootkey, attr): setfunc = getattr(gconf, "set_%s" % self.type) setfunc("%s/%s" % (rootkey, attr), self.current) def getfunc(self, gconf, rootkey, attr): getfunc = getattr(gconf, "get_%s" % self.type) return getfunc("%s/%s" % (rootkey, attr)) class ListValue(Value): """ Represents a list type settable preference. """ __slots__ = Value.__slots__ + ["list_type"] def __init__(self, list_type, d): """ Create a list value. d : the default value, also the initial value list_type: the type of elements the list contains """ Value.__init__(self, LIST, d) self.list_type = list_type def setfunc(self, gconf, rootkey, attr): setfunc = getattr(gconf, "set_list") setfunc("%s/%s" % (rootkey, attr), self.list_type, self.current) def getfunc(self, gconf, rootkey, attr): getfunc = getattr(gconf, "get_list") return getfunc("%s/%s" % (rootkey, attr), self.list_type) # maybe fall back to ConfigParser if gconf is unavailable. import gconf # types of values allowed BOOL = "bool" INT = "int" STRING = "string" FLOAT = "float" LIST = "list" # PAIR = "pair" STRING_LIST = gconf.VALUE_STRING INT_LIST = gconf.VALUE_INT BOOL_LIST = gconf.VALUE_BOOL FLOAT_LIST = gconf.VALUE_FLOAT ## class Preferences(object): """Persistent preferences object. Example: import prefs defaults = {"spacing": prefs.Value(prefs.INT, 4), "font": prefs.Value(prefs.STRING, "monospace") } p = prefs.Prefs("myapp", defaults) print p.font p.font = "sans" # written to gconf too p2 = prefs.Prefs("myapp", defaults) print p.font # prints "sans" """ def __init__(self, rootkey, initial): """Create a preferences object. Settings are initialised with 'initial' and then overriden from values in the gconf database if available. rootkey : the root gconf key where the values will be stored initial : a dictionary of string to Value objects. """ self.__dict__["_gconf"] = gconf.client_get_default() self.__dict__["_listeners"] = [] self.__dict__["_rootkey"] = rootkey self.__dict__["_prefs"] = initial self._gconf.add_dir(rootkey, gconf.CLIENT_PRELOAD_NONE) self._gconf.notify_add(rootkey, self._on_preference_changed) for key, value in self._prefs.items(): gval = self._gconf.get_without_default("%s/%s" % (rootkey, key) ) if gval != None: value.current = value.getfunc(self._gconf, rootkey, key) def __getattr__(self, attr): return self._prefs[attr].current def get_default(self, attr): return self._prefs[attr].default def __setattr__(self, attr, val): value = self._prefs[attr] if value.current != val: value.current = val value.setfunc(self._gconf, self._rootkey, attr) try: for l in self._listeners: l(attr,val) except StopIteration: pass def _on_preference_changed(self, client, timestamp, entry, extra): attr = entry.key[ entry.key.rindex("/")+1 : ] try: valuestruct = self._prefs[attr] except KeyError: # unknown key, we don't care about it pass else: if entry.value != None: # value has changed newval = valuestruct.getfunc(self._gconf, self._rootkey, attr) setattr( self, attr, newval) else: # value has been deleted setattr( self, attr, valuestruct.default ) def notify_add(self, callback): """Register a callback to be called when a preference changes. callback : a callable object which take two parameters, 'attr' the name of the attribute changed and 'val' the new value. """ self._listeners.append(callback) def dump(self): """Print all preferences. """ for k,v in self._prefs.items(): print k, v.type, v.current def reset(self): """ reset all preferences to defaults """ for key in self._prefs: self.__setattr__(key, self.get_default(key)) rapid-photo-downloader-0.4.10/rapid/higdefaults.py0000664000175000017500000000036211761336650022357 0ustar damondamon00000000000000# -*- coding: latin1 -*- VERTICAL_CONTROL_LABEL_SPACE = CONTROL_LABEL_SPACE = 12 CONTROL_IN_TABLE_SPACE = 6 WINDOW_BORDER_SPACE = 12 NESTED_CONTROLS_SPACE = 24 VERTICAL_CONTROL_SPACE = 18 VERTICAL_GROUP_SPACE = 24 HORIZONTAL_GROUP_SPACE = 24 rapid-photo-downloader-0.4.10/rapid/renamesubfolderprefstest.py0000664000175000017500000002445411761336664025212 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 import unittest from renamesubfolderprefs import * class PreferenceTest (unittest.TestCase): image_test = ( [TEXT, '', ''], [DATE_TIME, IMAGE_DATE, 'YYYYMMDD'], [METADATA, APERTURE, ''], [FILENAME, NAME_EXTENSION, UPPERCASE], ) subfolder_test = ( [TEXT, '', ''], [DATE_TIME, IMAGE_DATE, 'HHMM'], [METADATA, SHORT_CAMERA_MODEL_HYPHEN, LOWERCASE], [SEPARATOR, '', ''], [FILENAME, EXTENSION, LOWERCASE] ) video_name_test= ( [DATE_TIME, VIDEO_DATE, 'HHMMSS'], [METADATA, CODEC, LOWERCASE], [METADATA, FPS, ''], ) video_name_test2= ( [DATE_TIME, VIDEO_DATE, 'HHMMSS', METADATA, CODEC, LOWERCASE, METADATA, FPS, ''], ) video_name_test3= ( [FILENAME, VIDEO_NUMBER, IMAGE_NUMBER_4, FILENAME, NAME_EXTENSION, LOWERCASE, METADATA, FPS, ''], ) video_subfolder_test= ( [DATE_TIME, TODAY, 'HHMMSS', SEPARATOR, '', '', METADATA, WIDTH, ''], ) trueMetadataTest = ([FILENAME, EXTENSION, LOWERCASE, TEXT, '', '', METADATA, APERTURE, ''], [METADATA, APERTURE, '', TEXT, '', '', FILENAME, EXTENSION, LOWERCASE], ) falseMetadataTest = ([FILENAME, EXTENSION, LOWERCASE, METADATA, APERTURE, '', FILENAME, NAME, LOWERCASE], [FILENAME, NAME, LOWERCASE, FILENAME, EXTENSION, LOWERCASE], [FILENAME, NAME_EXTENSION, LOWERCASE, FILENAME, EXTENSION, LOWERCASE], [FILENAME, NAME, LOWERCASE, FILENAME, METADATA, EXPOSURE_TIME, '', IMAGE_NUMBER, IMAGE_NUMBER_ALL, FILENAME, EXTENSION, LOWERCASE], ) sequences_test = ([SEQUENCES, SESSION_SEQ_NUMBER, SEQUENCE_NUMBER_3], [FILENAME, NAME, LOWERCASE, SEQUENCES, DOWNLOAD_SEQ_NUMBER, SEQUENCE_NUMBER_1, FILENAME, EXTENSION, UPPERCASE], [METADATA, APERTURE, '', SEQUENCES, STORED_SEQ_NUMBER, SEQUENCE_NUMBER_5, FILENAME, EXTENSION, UPPERCASE], ) def testPrefImageList(self): for pref in self.image_test: result = checkPreferenceValid(DICT_IMAGE_RENAME_L0, pref) self.assertEqual(result, True) def testPrefVideoList(self): for pref in self.video_name_test: result = checkPreferenceValid(DICT_VIDEO_RENAME_L0, pref) self.assertEqual(result, True) for pref in self.video_name_test2: result = checkPreferenceValid(DICT_VIDEO_RENAME_L0, pref) self.assertEqual(result, True) for pref in self.video_name_test3: result = checkPreferenceValid(DICT_VIDEO_RENAME_L0, pref) self.assertEqual(result, True) def testSequencesList(self): for pref in self.sequences_test: result = checkPreferenceValid(DICT_IMAGE_RENAME_L0, pref) self.assertEqual(result, True) def testNeedImageMetaDataToCreateUniqueName(self): for i in self.trueMetadataTest: p = ImageRenamePreferences(i, None) result = p.needImageMetaDataToCreateUniqueName() self.assertEqual(result, True) for i in self.falseMetadataTest: p = ImageRenamePreferences(i, None) result = p.needImageMetaDataToCreateUniqueName() self.assertEqual(result, False) def testLargePrefList(self): prefList = [] for pref in self.image_test: for l in pref: prefList.append(l) result = checkPreferenceValid(DICT_IMAGE_RENAME_L0, prefList) self.assertEqual(result, True) def testPrefSubfolderList(self): for pref in self.subfolder_test: result = checkPreferenceValid(DICT_SUBFOLDER_L0, pref) self.assertEqual(result, True) def testPrefVideoSubfolderList(self): for pref in self.video_subfolder_test: result = checkPreferenceValid(DICT_VIDEO_SUBFOLDER_L0, pref) self.assertEqual(result, True) def testDateTimeL2Length(self): self.assertEqual(len(LIST_DATE_TIME_L2), len(DATE_TIME_CONVERT)) def testDateTimeL2Conversion(self): self.assertEqual(convertDateForStrftime('YY'), '%y') class BadPreferences(unittest.TestCase): bad_image_key = ( [TEXT, '', '', DATE_TIME, IMAGE_DATE, 'YYYYMMDD', METADATA, APERTURE, '', FILENAME, NAME_EXTENSION, UPPERCASE, 'Filename2', NAME_EXTENSION, UPPERCASE], ) bad_image_value = ( [DATE_TIME, TODAY, IMAGE_NUMBER_ALL], [METADATA, CAMERA_MAKE, IMAGE_NUMBER_4], [DATE_TIME, IMAGE_DATE, None], [DATE_TIME, IMAGE_DATE, ''], [DATE_TIME, None, None], [DATE_TIME, '', ''], ) bad_image_key2 = ( [FILENAME, VIDEO_NUMBER, IMAGE_NUMBER_4, FILENAME, NAME_EXTENSION, LOWERCASE, METADATA, APERTURE, ''], ) bad_subfolder_key = ([FILENAME, NAME_EXTENSION, UPPERCASE],) bad_subfolder_key2 = ( [TEXT, '', '', DATE_TIME, IMAGE_DATE, 'HHMM', METADATA, SHORT_CAMERA_MODEL_HYPHEN, LOWERCASE, SEPARATOR, '', '', 'Filename-bad', EXTENSION, LOWERCASE], ) bad_subfolder_value = ( [FILENAME, None, None], [FILENAME, '', ''],) bad_length = ([], [DATE_TIME, TODAY], [DATE_TIME]) bad_dt_conversion = ('HHYY', 'YYSS') bad_subfolder_combos = ([SEPARATOR, '', ''], [FILENAME, EXTENSION, UPPERCASE, SEPARATOR, '', ''], [FILENAME, EXTENSION, UPPERCASE, SEPARATOR, '', '', SEPARATOR, '', '', FILENAME, EXTENSION, UPPERCASE ], [SEPARATOR, '', '', SEPARATOR, '', '', SEPARATOR, '', '', SEPARATOR, '', '' ] ) def testBadImageKey(self): for pref in self.bad_image_key: self.assertRaises(PrefKeyError, checkPreferenceValid, DICT_IMAGE_RENAME_L0, pref) for pref in self.bad_image_key2: self.assertRaises(PrefKeyError, checkPreferenceValid, DICT_IMAGE_RENAME_L0, pref) def testBadImageValue(self): for pref in self.bad_image_value: self.assertRaises(PrefValueInvalidError, checkPreferenceValid, DICT_IMAGE_RENAME_L0, pref) def testBadSubfolderKey(self): for pref in self.bad_subfolder_key: self.assertRaises(PrefKeyError, checkPreferenceValid, DICT_SUBFOLDER_L0, pref) for pref in self.bad_subfolder_key2: self.assertRaises(PrefKeyError, checkPreferenceValid, DICT_SUBFOLDER_L0, pref) def testBadSubfolderValue(self): for pref in self.bad_subfolder_value: self.assertRaises(PrefValueInvalidError, checkPreferenceValid, DICT_SUBFOLDER_L0, pref) def testBadLength(self): for pref in self.bad_length: self.assertRaises(PrefLengthError, checkPreferenceValid, DICT_IMAGE_RENAME_L0, pref) def testBadDTConversion(self): for pref in self.bad_dt_conversion: self.assertRaises(PrefValueInvalidError, convertDateForStrftime, pref) def testBadSubfolderCombo(self): for pref in self.bad_subfolder_combos: s = SubfolderPreferences(pref, self) self.assertRaises(PrefValueKeyComboError, s.checkPrefsForValidity) def testBadVideoSubfolderCombo(self): for pref in self.bad_subfolder_combos: s = VideoSubfolderPreferences(pref, self) self.assertRaises(PrefValueKeyComboError, s.checkPrefsForValidity) if __name__ == "__main__": unittest.main() rapid-photo-downloader-0.4.10/rapid/errorlog.py0000664000175000017500000000715111761336664021723 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2012 Damon Lynch ### 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 import gtk import pango import config import paths class ErrorLog(): """ Displays a log of errors, warnings or other information to the user """ def __init__(self, rapidapp): """ Initialize values for log dialog, but do not display. """ self.builder = gtk.Builder() self.builder.set_translation_domain(config.APP_NAME) self.builder.add_from_file(paths.share_dir("glade3/errorlog.ui")) self.builder.connect_signals(self) self.widget = self.builder.get_object("errorlog") self.log_textview = self.builder.get_object("log_textview") self.log_scrolledwindow = self.builder.get_object("log_scrolledwindow") self.widget.connect("delete-event", self.hide_window) self.rapidapp = rapidapp #~ self.log_textview.set_cursor_visible(False) self.textbuffer = self.log_textview.get_buffer() self.error_tag = self.textbuffer.create_tag(weight=pango.WEIGHT_BOLD, foreground="red") self.warning_tag = self.textbuffer.create_tag(weight=pango.WEIGHT_BOLD) self.extra_detail_tag = self.textbuffer.create_tag(style=pango.STYLE_ITALIC) def add_message(self, severity, problem, details, extra_detail): if severity in [config.CRITICAL_ERROR, config.SERIOUS_ERROR]: self.rapidapp.error_image.show() elif severity == config.WARNING: self.rapidapp.warning_image.show() self.rapidapp.warning_vseparator.show() iter = self.textbuffer.get_end_iter() if severity in [config.CRITICAL_ERROR, config.SERIOUS_ERROR]: self.textbuffer.insert_with_tags(iter, problem +"\n", self.error_tag) else: self.textbuffer.insert_with_tags(iter, problem +"\n", self.warning_tag) if details: iter = self.textbuffer.get_end_iter() self.textbuffer.insert(iter, details + "\n") if extra_detail: iter = self.textbuffer.get_end_iter() self.textbuffer.insert_with_tags(iter, extra_detail +"\n", self.extra_detail_tag) iter = self.textbuffer.get_end_iter() self.textbuffer.insert(iter, "\n") # move viewport to display the latest message adjustment = self.log_scrolledwindow.get_vadjustment() adjustment.set_value(adjustment.upper) def on_errorlog_response(self, dialog, arg): if arg == gtk.RESPONSE_CLOSE: pass self.rapidapp.error_image.hide() self.rapidapp.warning_image.hide() self.rapidapp.warning_vseparator.hide() self.rapidapp.prefs.show_log_dialog = False self.widget.hide() return True def hide_window(self, window, event): window.hide() return True rapid-photo-downloader-0.4.10/rapid/problemnotification.py0000775000175000017500000004531712267506646024151 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2010-2014 Damon Lynch ### 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 import sys import types from gettext import gettext as _ # components SUBFOLDER_COMPONENT = _('subfolder') FILENAME_COMPONENT = _('filename') # problem categories METADATA_PROBLEM = 1 FILE_PROBLEM = 2 GENERATION_PROBLEM = 3 DOWNLOAD_PROBLEM = 4 DOWNLOAD_PROBLEM_W_NO = 5 DIFFERENT_EXIF = 6 FILE_ALREADY_EXISTS = 7 UNIQUE_IDENTIFIER_CAT = 8 BACKUP_PROBLEM = 9 BACKUP_OK = 10 FILE_ALREADY_DOWN_CAT = 11 VERIFICATION_PROBLEM = 12 # problem text MISSING_METADATA = 1 INVALID_DATE_TIME = 2 MISSING_FILE_EXTENSION = 3 MISSING_IMAGE_NUMBER = 4 ERROR_IN_GENERATION = 5 CANNOT_DOWNLOAD_BAD_METADATA = 6 ERROR_IN_NAME_GENERATION = 7 DOWNLOAD_COPYING_ERROR = 8 DOWNLOAD_COPYING_ERROR_W_NO = 9 FILE_ALREADY_EXISTS_NO_DOWNLOAD = 10 UNIQUE_IDENTIFIER_ADDED = 11 BACKUP_EXISTS = 12 BACKUP_EXISTS_OVERWRITTEN = 13 NO_BACKUP_PERFORMED = 14 BACKUP_ERROR = 15 BACKUP_DIRECTORY_CREATION = 16 SAME_FILE_DIFFERENT_EXIF = 17 NO_DOWNLOAD_WAS_BACKED_UP = 18 FILE_ALREADY_DOWNLOADED = 19 FILE_VERIFICATION_FAILED = 20 BACKUP_VERIFICATION_FAILED = 21 #extra details UNIQUE_IDENTIFIER = '__1' EXISTING_FILE = '__2' NO_DATA_TO_NAME = '__3' DOWNLOAD_COPYING_ERROR_DETAIL = '__4' DOWNLOAD_COPYING_ERROR_W_NO_DETAIL = '__5' BACKUP_OK_TYPE = '__6' # category, text, duplicates allowed problem_definitions = { MISSING_METADATA: (METADATA_PROBLEM, "%s", True), INVALID_DATE_TIME: (METADATA_PROBLEM, _('Date time value %s appears invalid.'), False), MISSING_FILE_EXTENSION: (METADATA_PROBLEM, _("Filename does not have an extension."), False), # a number component is something like the 8346 in IMG_8346.JPG MISSING_IMAGE_NUMBER: (METADATA_PROBLEM, _("Filename does not have a number component."), False), ERROR_IN_GENERATION: (METADATA_PROBLEM, _("Error generating component %s."), False), # a generic problem CANNOT_DOWNLOAD_BAD_METADATA: (FILE_PROBLEM, _("%(filetype)s metadata cannot be read"), False), ERROR_IN_NAME_GENERATION: (GENERATION_PROBLEM, _("%(filetype)s %(area)s could not be generated"), False), DOWNLOAD_COPYING_ERROR: (DOWNLOAD_PROBLEM, _("An error occurred when copying the %(filetype)s"), False), DOWNLOAD_COPYING_ERROR_W_NO: (DOWNLOAD_PROBLEM_W_NO, _("An error occurred when copying the %(filetype)s"), False), FILE_VERIFICATION_FAILED: (VERIFICATION_PROBLEM, _("The %(filetype)s did not download correctly"), False), BACKUP_VERIFICATION_FAILED: (BACKUP_PROBLEM, "%s", True), FILE_ALREADY_EXISTS_NO_DOWNLOAD:(FILE_ALREADY_EXISTS, _("%(filetype)s already exists"), False), UNIQUE_IDENTIFIER_ADDED: (UNIQUE_IDENTIFIER_CAT, _("%(filetype)s already exists"), False), BACKUP_EXISTS: (BACKUP_PROBLEM, "%s", True), BACKUP_EXISTS_OVERWRITTEN: (BACKUP_PROBLEM, "%s", True), NO_BACKUP_PERFORMED: (BACKUP_PROBLEM, _("%(filetype)s could not be backed up because no suitable backup locations were found."), False), BACKUP_ERROR: (BACKUP_PROBLEM, "%s", True), BACKUP_DIRECTORY_CREATION: (BACKUP_PROBLEM, "%s", True), NO_DOWNLOAD_WAS_BACKED_UP: (BACKUP_OK, "%s", True), SAME_FILE_DIFFERENT_EXIF: (DIFFERENT_EXIF, _("%(image1)s was taken on %(image1_date)s at %(image1_time)s, and %(image2)s on %(image2_date)s at %(image2_time)s."), False), FILE_ALREADY_DOWNLOADED: (FILE_ALREADY_DOWN_CAT, _('%(filetype)s was already downloaded'), False), } extra_detail_definitions = { UNIQUE_IDENTIFIER: _("The existing %(filetype)s was last modified on %(date)s at %(time)s. Unique identifier '%(identifier)s' added."), EXISTING_FILE: _("The existing %(filetype)s was last modified on %(date)s at %(time)s."), NO_DATA_TO_NAME: _("There is no data with which to name the %(filetype)s."), DOWNLOAD_COPYING_ERROR_DETAIL: "%s", DOWNLOAD_COPYING_ERROR_W_NO_DETAIL: _("Error: %(errorno)s %(strerror)s"), BACKUP_OK_TYPE: "%s", } class Problem: """ Collect problems with subfolder and filename generation, download errors, and so forth Problems are human readable """ def __init__(self): self.problems = {} self.categories = {} self.components = [] self.extra_detail = {} def add_problem(self, component, problem_definition, *args): added = True if problem_definition not in problem_definitions: sys.stderr.write("FIXME: unknown problem definition!\n") else: category, problem, duplicates_ok = problem_definitions[problem_definition] if args: # check for special case of named arguments in a dictionary if isinstance(args[0], types.DictType): problem_details = problem % args[0] else: problem_details = problem % args else: problem_details = problem if not duplicates_ok: self.problems[problem_definition] = [problem_details] else: if problem_definition in self.problems: if problem_details not in self.problems[problem_definition]: self.problems[problem_definition].append(problem_details) else: added = False else: self.problems[problem_definition] = [problem_details] if category not in self.categories or not added: self.categories[category] = 1 else: self.categories[category] += 1 if (component is not None) and (component not in self.components): self.components.append(component) def add_extra_detail(self, extra_detail, *args): if extra_detail not in extra_detail_definitions: self.extra_detail[extra_detail] = args[0] else: detail = extra_detail_definitions[extra_detail] if args: if isinstance(args[0], types.DictType): extra_details = detail % args[0] else: extra_details = detail % args else: extra_details = detail self.extra_detail[extra_detail] = extra_details def has_problem(self): return len(self.problems) > 0 def get_problems(self): """ Returns a string with the problems encountered in downloading the file. """ def get_backup_error_inst(volume): if ('%s%s' % (BACKUP_ERROR, volume)) in self.extra_detail: return self.extra_detail['%s%s' % (BACKUP_ERROR, volume)] else: return '' def get_dir_creation_inst(volume): return self.extra_detail['%s%s' % (BACKUP_DIRECTORY_CREATION, volume)] v = '' # special cases if VERIFICATION_PROBLEM in self.categories: return _("File verification failed. The downloaded version is different from the original.") if FILE_PROBLEM in self.categories: return _("The metadata might be corrupt.") if FILE_ALREADY_DOWN_CAT in self.categories: return _("The filename, extension and Exif information indicate it has already been downloaded.") if FILE_ALREADY_EXISTS in self.categories: if EXISTING_FILE in self.extra_detail: v = self.extra_detail[EXISTING_FILE] if UNIQUE_IDENTIFIER_CAT in self.categories: v = self.extra_detail[UNIQUE_IDENTIFIER] if DOWNLOAD_PROBLEM in self.categories: v = self.extra_detail[DOWNLOAD_COPYING_ERROR_DETAIL] if DOWNLOAD_PROBLEM_W_NO in self.categories: v = self.extra_detail[DOWNLOAD_COPYING_ERROR_W_NO_DETAIL] if BACKUP_OK in self.categories: details = self.problems[NO_DOWNLOAD_WAS_BACKED_UP] if len(self.problems[NO_DOWNLOAD_WAS_BACKED_UP]) == 1: vv = _(' It was backed up to %(volume)s') % {'volume': details[0]} else: vv = _(" It was backed up to these devices: ") for d in details[:-1]: vv += _("%s, ") % d vv = _("%(volumes)s and %(final_volume)s.") % \ {'volumes': vv[:-2], 'final_volume': details[-1]} \ + ' ' v += vv if GENERATION_PROBLEM in self.categories: v = self.extra_detail[NO_DATA_TO_NAME] if DIFFERENT_EXIF in self.categories: v = self.problems[SAME_FILE_DIFFERENT_EXIF][0] if METADATA_PROBLEM in self.categories: v = _('Photos detected with the same filenames, but taken at different times: %(details)s' ) % {'details':v} # Problems backing up if BACKUP_PROBLEM in self.categories: vv = '' for p in self.problems: details = self.problems[p] if p == NO_BACKUP_PERFORMED: vv = details[0] elif p == BACKUP_ERROR: if len(details) == 1: volume = details[0] inst = get_backup_error_inst(volume) if inst: vv += _("An error occurred when backing up on %(volume)s: %(inst)s.") % {'volume': volume, 'inst': inst} + ' ' else: vv += _("An error occurred when backing up on %(volume)s.") % {'volume': volume} + ' ' else: vv += _("Errors occurred when backing up on the following backup devices: ") for volume in details[:-1]: inst = get_backup_error_inst(volume) if inst: vv += _("%(volume)s (%(inst)s), ") % {'volume': volume, 'inst': inst} else: vv += _("%(volume)s, ") % {'volume': volume} volume = details[-1] inst = get_backup_error_inst(volume) if inst: vv = _("%(volumes)s and %(volume)s (%(inst)s).") % \ {'volumes': vv[:-2], 'volume': volume, 'inst': get_inst(volume)} else: vv = _("%(volumes)s and %(volume)s.") % \ {'volumes': vv[:-2], 'volume': volume} \ + ' ' elif p == BACKUP_EXISTS: if len(details) == 1: vv += _("Backup already exists on %(volume)s.") % {'volume': details[0]} + ' ' else: vv += _("Backups already exist in these locations: ") for d in details[:-1]: vv += _("%s, ") % d vv = _("%(volumes)s and %(final_volume)s.") % \ {'volumes': vv[:-2], 'final_volume': details[-1]} \ + ' ' elif p == BACKUP_EXISTS_OVERWRITTEN: if len(details) == 1: vv += _("Backup overwritten on %(volume)s.") % {'volume': details[0]} + ' ' else: vv += _("Backups overwritten on these devices: ") for d in details[:-1]: vv += _("%s, ") % d vv = _("%(volumes)s and %(final_volume)s.") % \ {'volumes': vv[:-2], 'final_volume': details[-1]} \ + ' ' elif p == BACKUP_DIRECTORY_CREATION: if len(details) == 1: volume = details[0] vv += _("An error occurred when creating directories on %(volume)s: %(inst)s.") % {'volume': volume, 'inst': get_dir_creation_inst(volume)} + ' ' else: vv += _("Errors occurred when creating directories on the following backup devices: ") for volume in details[:-1]: vv += _("%(volume)s (%(inst)s), ") % {'volume': volume, 'inst': get_dir_creation_inst(volume)} volume = details[-1] vv = _("%(volumes)s and %(volume)s (%(inst)s).") % \ {'volumes': vv[:-2], 'volume': volume, 'inst': get_dir_creation_inst(volume)} \ + ' ' elif p == BACKUP_VERIFICATION_FAILED: if len(details) == 1: vv += _("File verification failed on %(volume)s. The backed up version is different from the downloaded version.") % {'volume': details[0]} + ' ' else: vv += _("File verification failed on these devices: ") for d in details[:-1]: vv += _("%s, ") % d vv = _("%(volumes)s and %(final_volume)s.") % \ {'volumes': vv[:-2], 'final_volume': details[-1]} \ + ' ' if v: v = _('%(previousproblem)s Additionally, %(newproblem)s') % {'previousproblem': v, 'newproblem': vv[0].lower() + vv[1:]} else: v = vv if v and METADATA_PROBLEM in self.categories: vv = self._get_generation_title() if self.categories[METADATA_PROBLEM] > 1: v += _(' Furthermore, there were %(problems)s.') % {'problems': vv[0].lower() + vv[1:]} else: v += _(' Furthermore, there was a %(problem)s.') % {'problem': vv[0].lower() + vv[1:]} # Problems generating file / subfolder names if METADATA_PROBLEM in self.categories: for p in self.problems: vv = '' details = self.problems[p] if p == MISSING_METADATA: if len(details) == 1: vv = _("The %(type)s metadata is missing.") % {'type': details[0]} else: vv = _("The following metadata is missing: ") for d in details[:-1]: vv += ("%s, ") % d vv = _("%(missing_metadata_elements)s and %(final_missing_metadata_element)s.") % \ {'missing_metadata_elements': vv[:-2], 'final_missing_metadata_element': details[-1]} elif p in [MISSING_IMAGE_NUMBER, ERROR_IN_GENERATION, INVALID_DATE_TIME]: vv = details[0] v += ' ' + vv v = v.strip() return v def _get_generation_title(self): if self.components: if len(self.components) > 1: if self.categories[METADATA_PROBLEM] > 1: return _('Problems in subfolder and filename generation') else: return _('Problem in subfolder and filename generation') else: if self.categories[METADATA_PROBLEM] > 1: return _('Problems in %s generation') % self.components[0] else: return _('Problem in %s generation') % self.components[0] return '' def get_title(self): v = '' if BACKUP_OK in self.categories: if FILE_ALREADY_EXISTS in self.categories: v = _('%(filetype)s already exists, but it was backed up') % {'filetype': self.extra_detail[BACKUP_OK_TYPE]} else: v = _('An error occurred when copying the %(filetype)s, but it was backed up') % {'filetype': self.extra_detail[BACKUP_OK_TYPE]} # High priority problems elif VERIFICATION_PROBLEM in self.categories: v = self.problems[FILE_VERIFICATION_FAILED][0] elif FILE_ALREADY_DOWN_CAT in self.categories: v = self.problems[FILE_ALREADY_DOWNLOADED][0] elif DOWNLOAD_PROBLEM in self.categories: v = self.problems[DOWNLOAD_COPYING_ERROR][0] elif DOWNLOAD_PROBLEM_W_NO in self.categories: v = self.problems[DOWNLOAD_COPYING_ERROR_W_NO][0] elif GENERATION_PROBLEM in self.categories: v = self.problems[ERROR_IN_NAME_GENERATION][0] elif FILE_ALREADY_EXISTS in self.categories: v = self.problems[FILE_ALREADY_EXISTS_NO_DOWNLOAD][0] elif UNIQUE_IDENTIFIER_CAT in self.categories: v = self.problems[UNIQUE_IDENTIFIER_ADDED][0] elif FILE_PROBLEM in self.categories: v = self.problems[CANNOT_DOWNLOAD_BAD_METADATA][0] # Lesser priority elif len(self.categories) > 1: v = _('Multiple problems were encountered') elif DIFFERENT_EXIF in self.categories: v = _('Photos detected with the same filenames, but taken at different times') elif METADATA_PROBLEM in self.categories: v = self._get_generation_title() if BACKUP_PROBLEM in self.categories: if self.categories[BACKUP_PROBLEM] >1: vp = _("there were errors backing up") vv = _("There were errors backing up") else: vp = _("there was an error backing up") vv = _("There was an error backing up") if v: # e.g. v = _("%(previousproblem)s, and %(backinguperror)s") % {'previousproblem': v, 'backinguperror':vp} else: v = vv return v if __name__ == '__main__': pass rapid-photo-downloader-0.4.10/rapid/rpdfile.py0000664000175000017500000002655012263744423021513 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 import os import gtk import time, datetime import multiprocessing, logging logger = multiprocessing.get_logger() import pyexiv2 import paths from gettext import gettext as _ import config import metadataphoto import metadatavideo import metadataexiftool import problemnotification as pn import thumbnail as tn RAW_EXTENSIONS = ['arw', 'dcr', 'cr2', 'crw', 'dng', 'mos', 'mef', 'mrw', 'nef', 'nrw', 'orf', 'pef', 'raf', 'raw', 'rw2', 'sr2', 'srw'] JPEG_EXTENSIONS = ['jpg', 'jpe', 'jpeg'] NON_RAW_IMAGE_EXTENSIONS = JPEG_EXTENSIONS + ['tif', 'tiff', 'mpo'] PHOTO_EXTENSIONS = RAW_EXTENSIONS + NON_RAW_IMAGE_EXTENSIONS AUDIO_EXTENSIONS = ['wav', 'mp3'] if metadatavideo.DOWNLOAD_VIDEO: # some distros do not include the necessary libraries that Rapid Photo Downloader # needs to be able to download videos VIDEO_EXTENSIONS = ['3gp', 'avi', 'm2t', 'mov', 'mp4', 'mpeg','mpg', 'mod', 'tod'] if metadataexiftool.EXIFTOOL_VERSION is not None: VIDEO_EXTENSIONS += ['mts'] VIDEO_THUMBNAIL_EXTENSIONS = ['thm'] else: VIDEO_EXTENSIONS = [] VIDEO_THUMBNAIL_EXTENSIONS = [] FILE_TYPE_PHOTO = 0 FILE_TYPE_VIDEO = 1 def file_type(file_extension): """ Uses file extentsion to determine the type of file - photo or video. Returns True if yes, else False. """ if file_extension in PHOTO_EXTENSIONS: return FILE_TYPE_PHOTO elif file_extension in VIDEO_EXTENSIONS: return FILE_TYPE_VIDEO return None def get_rpdfile(extension, name, display_name, path, size, file_system_modification_time, thm_full_name, audio_file_full_name, scan_pid, file_id, file_type): if file_type == FILE_TYPE_VIDEO: return Video(name, display_name, path, size, file_system_modification_time, thm_full_name, audio_file_full_name, scan_pid, file_id) else: # assume it's a photo - no check for performance reasons (this will be # called many times) return Photo(name, display_name, path, size, file_system_modification_time, thm_full_name, audio_file_full_name, scan_pid, file_id) class FileTypeCounter: def __init__(self): self._counter = dict() def add(self, file_type): self._counter[file_type] = self._counter.setdefault(file_type, 0) + 1 def no_videos(self): """Returns the number of videos""" return self._counter.setdefault(FILE_TYPE_VIDEO, 0) def no_photos(self): """Returns the number of photos""" return self._counter.setdefault(FILE_TYPE_PHOTO, 0) def file_types_present(self): """ returns a string to be displayed to the user that can be used to show if a value refers to photos or videos or both, or just one of each """ no_videos = self.no_videos() no_images = self.no_photos() if (no_videos > 0) and (no_images > 0): v = _('photos and videos') elif (no_videos == 0) and (no_images == 0): v = _('photos or videos') elif no_videos > 0: if no_videos > 1: v = _('videos') else: v = _('video') else: if no_images > 1: v = _('photos') else: v = _('photo') return v def count_files(self): i = 0 for key in self._counter: i += self._counter[key] return i def summarize_file_count(self): """ Summarizes the total number of photos and/or videos that can be downloaded. Displayed after a scan is finished. """ #Number of files, e.g. "433 photos and videos" or "23 videos". #Displayed in the progress bar at the top of the main application #window. file_types_present = self.file_types_present() file_count_summary = _("%(number)s %(filetypes)s") % \ {'number':self.count_files(), 'filetypes': file_types_present} return (file_count_summary, file_types_present) def running_file_count(self): """ Displays raw numbers of photos and videos. Displayed as a scan is occurring. """ return _("scanning (found %(photos)s photos and %(videos)s videos)...") % ({'photos': self.no_photos(), 'videos': self.no_videos()}) class RPDFile: """ Base class for photo or video file, with metadata """ def __init__(self, name, display_name, path, size, file_system_modification_time, thm_full_name, audio_file_full_name, scan_pid, file_id): self.path = path self.name = name self.display_name = display_name self.full_file_name = os.path.join(path, name) self.extension = os.path.splitext(name)[1][1:].lower() self.size = size # type int self.modification_time = file_system_modification_time #full path and name of thumbnail file that is associated with some videos self.thm_full_name = thm_full_name #full path and name of audio file that is associated with some photos and maybe one day videos #think Canon 1D series of cameras self.audio_file_full_name = audio_file_full_name self.status = config.STATUS_NOT_DOWNLOADED self.problem = None # class Problem in problemnotifcation.py self._assign_file_type() self.scan_pid = scan_pid self.file_id = file_id self.unique_id = str(scan_pid) + ":" + file_id self.problem = None self.job_code = None # indicates whether to generate a thumbnail during the copy # files process self.generate_thumbnail = False # generated values self.temp_full_file_name = '' self.temp_thm_full_name = '' self.temp_audio_full_name = '' self.temp_xmp_full_name = '' self.download_start_time = None self.download_subfolder = '' self.download_path = '' self.download_name = '' self.download_full_file_name = '' #file name with path self.download_full_base_name = '' #file name with path but no extension self.download_thm_full_name = '' #name of THM (thumbnail) file with path self.download_xmp_full_name = '' #name of XMP sidecar with path self.download_audio_full_name = '' #name of the WAV or MP3 audio file with path self.metadata = None # Values that will be inserted in download process -- # (commented out because they're not needed until then) #self.sequences = None #self.download_folder #self.subfolder_pref_list = [] #self.name_pref_list = [] #strip_characters = False #self.thm_extension = '' #self.wav_extension = '' #self.xmp_extension = '' #these values are set only if they were written to an xmp sidecar #in the filemodify process #self.new_aperture = '' #self.new_focal_length = '' def _assign_file_type(self): self.file_type = None def _load_file_for_metadata(self, temp_file): if temp_file: return self.temp_full_file_name else: return self.full_file_name def initialize_problem(self): self.problem = pn.Problem() # these next values are used to display in the error log window # the information in them can vary from other forms of display of errors self.error_title = self.error_msg = self.error_extra_detail = '' def has_problem(self): if self.problem is None: return False else: return self.problem.has_problem() def add_problem(self, component, problem_definition, *args): if self.problem is None: self.initialize_problem() self.problem.add_problem(component, problem_definition, *args) def add_extra_detail(self, extra_detail, *args): self.problem.add_extra_detail(extra_detail, *args) class Photo(RPDFile): title = _("photo") title_capitalized = _("Photo") def _assign_file_type(self): self.file_type = FILE_TYPE_PHOTO def load_metadata(self, temp_file=False): self.metadata = metadataphoto.MetaData(self._load_file_for_metadata(temp_file)) try: self.metadata.read() except: logger.warning("Could not read metadata from %s" % self.full_file_name) return False else: return True class Video(RPDFile): title = _("video") title_capitalized = _("Video") def _assign_file_type(self): self.file_type = FILE_TYPE_VIDEO def load_metadata(self, temp_file=False): if self.extension == 'mts' or not metadatavideo.HAVE_HACHOIR: if metadatavideo.HAVE_HACHOIR: logger.debug("Using ExifTool parser") self.metadata = metadataexiftool.ExifToolMetaData(self._load_file_for_metadata(temp_file)) else: self.metadata = metadatavideo.VideoMetaData(self._load_file_for_metadata(temp_file)) return True class SamplePhoto(Photo): def __init__(self, sample_name='IMG_0524.CR2', sequences=None): Photo.__init__(self, name=sample_name, display_name=sample_name, path='/media/EOS_DIGITAL/DCIM/100EOS5D', size=23516764, file_system_modification_time=time.time(), scan_pid=2033, file_id='9873afe', thm_full_name=None, audio_file_full_name=None) self.sequences = sequences self.metadata = metadataphoto.DummyMetaData() self.download_start_time = datetime.datetime.now() class SampleVideo(Video): def __init__(self, sample_name='MVI_1379.MOV', sequences=None): Video.__init__(self, name=sample_name, display_name=sample_name, path='/media/EOS_DIGITAL/DCIM/100EOS5D', size=823513764, file_system_modification_time=time.time(), scan_pid=2033, file_id='9873qrsfe', thm_full_name=None, audio_file_full_name=None) self.sequences = sequences self.metadata = metadatavideo.DummyMetaData(filename=sample_name) self.download_start_time = datetime.datetime.now() rapid-photo-downloader-0.4.10/rapid/misc.py0000664000175000017500000000407712230543010021000 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2002-2006 Stephen Kennedy ### 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 # modified by Damon Lynch 2009 to remove default bold formatting and alignment # modified by Damon Lynch 2103 to add function to get folder chosen by user in file chooser button """Module of commonly used helper classes and functions """ import gtk def run_dialog( text, secondarytext=None, parent=None, messagetype=gtk.MESSAGE_WARNING, buttonstype=gtk.BUTTONS_OK, extrabuttons=[]): """Run a dialog with text 'text'. Extra buttons are passed as tuples of (button label, response id). """ d = gtk.MessageDialog(None, gtk.DIALOG_DESTROY_WITH_PARENT, messagetype, buttonstype, text ) if parent: d.set_transient_for(parent.get_toplevel()) for b,rid in extrabuttons: d.add_button(b,rid) d.vbox.set_spacing(12) d.format_secondary_text(secondarytext) ret = d.run() d.destroy() return ret def get_folder_selection(filechooserbutton): """ Returns the path (folder) the user has chosen in a filechooserbutton """ # this no longer works on Ubuntu 13.10: # path = filechooserbutton.get_current_folder() # but this works on Ubuntu 13.10: path = filechooserbutton.get_filenames() #returns a list if path: path = path[0] return path rapid-photo-downloader-0.4.10/rapid/tableplusminus.py0000664000175000017500000002547311761336664023146 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2007-2012 Damon Lynch ### 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 # import gtk.gdk as gdk import sys try: import pygtk pygtk.require("2.0") except: pass try: import gtk except: sys.exit(1) import higdefaults as hd class TablePlusMinus(gtk.Table): """ A regular gtk table which allows users to add and delete rows to the table. Users add and delete rows by using plus and minus buttons. The buttons (minus first) are in the two rightmost colums. The user can never delete a table so it has no rows. """ debug = False # if True, then debugging info for the developer is displayed def __init__(self, rows=1, columns=1, homogeneous=False): if not self.debug: gtk.Table.__init__(self, rows, columns + 2, homogeneous) self.extra_cols = 2 # representing minus and plus buttons else: gtk.Table.__init__(self, rows, columns + 3, homogeneous) self.extra_cols = 3 # representing minus and plus buttons, and info label # no of columns NOT including the + and - buttons self.pm_no_columns = columns # how many rows there are in the gtk.Table self.pm_no_rows = rows # list of widgets in the gtk.Table self.pm_rows = [] # dict of callback ids for minus and plus buttons self.pm_callbacks = {} #spacing of controls for i in range(columns-1): self.set_col_spacing(i, hd.CONTROL_IN_TABLE_SPACE) self.set_col_spacing(columns-1, hd.CONTROL_IN_TABLE_SPACE*2) self.set_col_spacing(columns, hd.CONTROL_IN_TABLE_SPACE) if self.debug: self.set_col_spacing(columns+1, hd.CONTROL_IN_TABLE_SPACE) self.set_row_spacings(hd.CONTROL_IN_TABLE_SPACE) def _set_minus_button_sensitivity(self): button = self.pm_rows[0][self.pm_no_columns] if len(self.pm_rows) == 1: button.set_sensitive(False) else: button.set_sensitive(True) def _create_minus_plus_buttons(self, row_position): plus_button = gtk.Button() plus_button.set_image(gtk.image_new_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_MENU)) self._create_callback(plus_button, row_position, 'clicked', self.on_plus_button_clicked) minus_button = gtk.Button() minus_button.set_image(gtk.image_new_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_MENU)) self._create_callback(minus_button, row_position, 'clicked', self.on_minus_button_clicked) return minus_button, plus_button def append(self, row): self.insert_after(len(self.pm_rows)-1, row) def _get_minus_and_plus_buttons_for_row(self, row_position): """ Return as a tuple minus and plus buttons for the row specified by row_position """ return (self.pm_rows[row_position][self.pm_no_columns], self.pm_rows[row_position][self.pm_no_columns+1]) def remove_row(self, row_position): # remove widgets from table for col in range(self.pm_no_columns + self.extra_cols): widget = self.pm_rows[row_position][col] if widget: self.remove(widget) if self.pm_callbacks.has_key(widget): widget.disconnect(self.pm_callbacks[widget]) del self.pm_callbacks[widget] # reposition existing rows in gtk.Table self._move_rows(-1, row_position + 1) # remove row from list of rows del self.pm_rows[row_position] self._set_minus_button_sensitivity() self.pm_no_rows -= 1 self.resize(self.pm_no_rows, self.pm_no_columns + self.extra_cols) self._print_debug_info() def _create_callback(self, widget, row_position, callback_type = None, callbackMethod=None): if callback_type: self.pm_callbacks[widget] = widget.connect(callback_type, callbackMethod, row_position) else: name = widget.get_name() if name == 'GtkComboBox': self.pm_callbacks[widget] = widget.connect("changed", self.on_combobox_changed, row_position) elif name == 'GtkEntry': self.pm_callbacks[widget] = widget.connect("changed", self.on_entry_changed, row_position) def _move_rows(self, adjustment, start_row, end_row = -1): """ Moves gtk.Table rows up or down according to adjustment (which MUST be -1 or 1). Starts at row start_row and ends at row end_row. If end_row == -1, then goes to last row in table. Readjusts callbacks. """ if end_row == -1: end_row = len(self.pm_rows) for r in range(start_row, end_row): if self.debug: print "Row %s becomes row %s" % (self.pm_rows[r][self.pm_no_columns + 2].get_label(), r + adjustment) self.pm_rows[r][self.pm_no_columns + 2].set_label(str(r + adjustment)) for col in range(self.pm_no_columns + self.extra_cols): widget = self.pm_rows[r][col] if widget: self.remove(widget) widget.disconnect(self.pm_callbacks[widget]) self.attach(widget, col, col+1, r + adjustment, r + adjustment + 1) if col == self.pm_no_columns: self._create_callback(widget, r + adjustment, 'clicked', self.on_minus_button_clicked) elif col == self.pm_no_columns + 1: self._create_callback(widget, r + adjustment, 'clicked', self.on_plus_button_clicked) else: self._create_callback(widget, r + adjustment) def _print_debug_info(self): if self.debug: print "\nRows in internal list: %s\nTable rows: %s" % \ (len(self.pm_rows), self.pm_no_rows) if len(self.pm_rows) <> self.pm_no_rows: print "|\n\\\n --> Unequal no. of rows" def attach(self, child, left_attach, right_attach, top_attach, bottom_attach, xoptions=gtk.EXPAND|gtk.FILL, yoptions=gtk.SHRINK, xpadding=0, ypadding=0): """ Override base class attach method, to allow automatic shrinking of minus and plus buttons """ if left_attach >= self.pm_no_columns and left_attach <= self.pm_no_columns + 1: # since we are adding plus or minus button, shrink the button gtk.Table.attach(self, child, left_attach, right_attach, top_attach, bottom_attach, gtk.SHRINK, gtk.SHRINK, xpadding, ypadding) else: gtk.Table.attach(self, child, left_attach, right_attach, top_attach, bottom_attach, xoptions, yoptions, xpadding, ypadding) def insert_after(self, row_position, row): """ Inserts row into the table at row following row_position """ #is table big enough? self.check_table_rows_and_adjust() #move (reattach) other widgets & readjust connect self._move_rows(1, row_position + 1) # insert row for col in range(self.pm_no_columns): widget = row[col] if widget: self._create_callback(widget, row_position+1) self.attach(widget, col, col+1, row_position+1, row_position+2) minus_button, plus_button = self._create_minus_plus_buttons(row_position+1) row.append(minus_button) row.append(plus_button) self.attach(minus_button, self.pm_no_columns, self.pm_no_columns+1, row_position+1, row_position+2) self.attach(plus_button, self.pm_no_columns+1, self.pm_no_columns+2, row_position+1, row_position+2) if self.debug: label = gtk.Label(str(row_position+1)) self.attach(label, self.pm_no_columns+2, self.pm_no_columns+3, row_position+1, row_position+2) row.append(label) for widget in row: if widget: widget.show() #adjust internal reference table self.pm_rows.insert(row_position + 1, row) self._set_minus_button_sensitivity() self._print_debug_info() def check_table_rows_and_adjust(self, no_rows_to_add=1, adjust_rows=True): no_rows_ok = True if len(self.pm_rows) + no_rows_to_add > self.pm_no_rows: if adjust_rows: extra_rows_to_add = len(self.pm_rows) + no_rows_to_add - self.pm_no_rows self.pm_no_rows += extra_rows_to_add self.resize(self.pm_no_rows, self.pm_no_columns + self.extra_cols) else: no_rows_ok = False return no_rows_ok def get_default_row(self): """ Returns a list of default widgets to insert as a row into the table. Expected to be implemented in derived class. """ return [None] * self.pm_no_columns def on_combobox_changed(self, widget, row_position): """ Callback for combobox that is expected to be implemented in derived class """ pass def on_entry_changed(self, widget, row_position): """ Callback for entry that is expected to be implemented in derived class """ pass def _debug_button_pressed(self, buttonText, row_position): if self.debug: t = datetime.datetime.now().strftime("%H:%M:%S") print "\n****\n%s\n\n%s clicked at %s" %(t, buttonText, row_position) def on_minus_button_clicked(self, widget, row_position): self._debug_button_pressed("Minus", row_position) self.remove_row(row_position) self.on_row_deleted(row_position) def on_plus_button_clicked(self, widget, row_position): self._debug_button_pressed("Plus", row_position) self.insert_after(row_position, self.get_default_row()) self.on_row_added(row_position) def on_row_added(self, row_position): """ Expected to be implemented in derived class """ pass def on_row_deleted(self, row_position): """ Expected to be implemented in derived class """ pass rapid-photo-downloader-0.4.10/rapid/glade3/0000775000175000017500000000000012302422407020630 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/rapid/glade3/prefs.ui0000664000175000017500000071036612302421202022313 0ustar damondamon00000000000000 23 1 10 59 1 10 False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 5 Preferences: Rapid Photo Downloader True center-on-parent 500 rapid-photo-downloader.svg dialog True False 2 True False end gtk-help False True True True True False False 0 True gtk-close False True True True True False False 1 False True end 0 True False 2 True True queue in 100 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False True True 5 0 True True False True False 12 True False True False 6 True False gtk-directory False True 0 True False <span weight="bold" size="x-large">Photo Download Folders</span> True False False 1 True True 0 True False False True 1 False False 0 True False 12 True False False True 0 True False 7 3 True False 0 <i>Example: /home/user/Pictures</i> True True 1 3 5 6 True False 0 <b>Download Subfolders</b> True 3 3 4 True False 0 Download folder: 1 2 2 3 True False 0 12 Choose the download folder. Subfolders for the downloaded photos will be automatically created in this folder using the structure specified below. True True 1 3 1 2 True False 0 <b>Download Folder</b> True 3 True False 0 0 True word-char 1 3 6 7 True False 1 3 4 5 12 True True 1 True False False True 2 True True 12 1 Download Folders True False Photo Folders False True False 12 True False True False 6 True False gtk-convert False True 0 True False <span weight="bold" size="x-large">Photo Rename</span> True False True 1 True True 0 True False False True 1 False False 0 True False 12 True False False True 0 True False 12 False 0 <b>Photo Rename</b> True False True 0 True True True True False queue none True False True True 1 True False 3 3 True False 2 3 True False 1 2 True False 0 0 translators please ignore this True 2 3 2 3 GTK_FILL True False 0 translators please ignore this 2 3 1 2 True False 0 0 <i>New:</i> True 1 2 2 3 GTK_FILL GTK_FILL True False 0 <i>Original:</i> True 1 2 1 2 GTK_FILL True False 0 <b>Example</b> True 3 12 False False 2 True True 1 True False False True 2 True True 12 1 Rename 1 True False Photo Rename 1 False True False 12 True False True False 6 True False gtk-directory False True 0 True False <span weight="bold" size="x-large">Video Download Folders</span> True False False 1 True True 0 True False False True 1 False False 0 False False 0 12 10 Sorry, video downloading functionality disabled. To download videos, please install either the <i>hachoir metadata</i> and <i>kaa metadata</i> packages for python, or <i>exiftool</i>. True True True True 0 False False 1 True False 12 True False False True 0 True False 7 3 True False 0 Download folder: 1 2 2 3 True False 0 12 Choose the download folder. Subfolders for the downloaded videos will be automatically created in this folder using the structure specified below. True True 1 3 1 2 True False 0 <b>Download Folder</b> True 3 True False 0 <b>Download Subfolders</b> True 3 3 4 True False 0 <i>Example: /home/user/Pictures</i> True True 1 3 5 6 True False 0 0 True word-char 1 3 6 7 True False 1 3 4 5 12 True True 1 True False False True 2 True True 12 2 2 True False Video Folders 2 False True False 12 True False True False 6 True False gtk-convert False True 0 True False <span weight="bold" size="x-large">Video Rename</span> True False True 1 True True 0 True False False True 1 False False 0 True False 12 True False False True 0 True False 12 False 0 Sorry, video downloading functionality disabled. To download videos, please install either the <i>hachoir metadata</i> and <i>kaa metadata</i> packages for python, or <i>exiftool</i>. True True False False 0 True True True True False queue none True False True True 1 True False 3 3 True False 2 3 True False 1 2 True False 0 0 translators please ignore this True 2 3 2 3 GTK_FILL True False 0 translators please ignore this 2 3 1 2 True False 0 0 <i>New:</i> True 1 2 2 3 GTK_FILL GTK_FILL True False 0 <i>Original:</i> True 1 2 1 2 GTK_FILL True False 0 <b>Example</b> True 3 12 False False 2 True True 1 True False False True 2 True True 12 1 3 True False Video Rename 3 False True False 12 True False True False 6 True False input-keyboard False True 0 True False <span weight="bold" size="x-large">Rename Options</span> True False True 1 True True 0 True False False True 1 False False 0 True False True False 0 12 <b>Sequence Numbers</b> True False True 0 True False 12 True False 12 False True 0 True False 12 True False 0 Specify the time in 24 hour format at which the <i>Downloads today</i> sequence number should be reset. True True True True 0 True False True False 6 True False 0 Day start: True True 0 True False 0 Downloads today: True True 1 True False 0 Stored number: True True 2 False True 0 True False 6 False True 1 True False 6 True False True True 2 2 1 True False False True True hour_adjustment True False False 0 True False : False False 1 True True 2 2 1 True False False True True minute_adjustment True False False 2 True False 0 hh:mm False True 3 False True 0 False True 2 True True 1 Synchronize RAW + JPEG sequence numbers False True True False True True True 2 True True 1 True False False True 2 False True 12 1 True False 0 12 <b>Compatibility with Other Operating Systems</b> True False True 3 True False 12 True False 12 False True 0 True False 2 2 True False 0 Specify whether photo, video and folder names should have any characters removed that are not allowed by other operating systems. True 2 Strip incompatible characters False True True False True True 2 1 2 True True 1 True False False True 2 False True 12 4 True True 12 1 4 True False Rename Options 4 False True False 12 True False True False 6 True False rapid-photo-downloader-jobcode False True 0 True False <span weight="bold" size="x-large">Job Codes</span> True False True 1 True True 0 True False False True 1 False False 0 True False True False False 0 12 <b>Job Codes</b> True False True 0 True False 12 True False False True 0 True True in 250 True True False True False True 1 True False True False 12 start _Add... False True True True True False False 0 gtk-remove False True True True True False False 1 R_emove All False True True True True False False 2 True True 0 False True 2 True True 1 True True 0 True True 1 5 True False Job Codes 5 False True False 12 True False True False 6 True False drive-removable-media False True 0 True False <span weight="bold" size="x-large">Devices</span> True False True 1 True True 0 True False False True 1 False False 0 True False 12 False 0 12 Devices False True 0 True False 0 12 Devices are from where to download photos and videos, such as cameras, memory cards or Portable Storage Devices. You can download from multiple devices simultaneously, or you can specify a location on your hard drive. <i>Downloading directly from cameras is currently an experimental feature. If downloading directly from your camera works poorly or not at all, try setting it to PTP mode. If that is not possible, a card reader must be used.</i> True True True True 1 True False True False 3 False True 0 True False 3 2 3 Automatically detect Portable Storage Devices False True True False True 1 2 1 2 Automatically detect devices False True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 True False 0 6 If you enable automatic detection of Portable Storage Devices, the entire device will be scanned. On large devices, this could take some time. When this option is enabled, and a potential device is detected, you will be prompted to determine if it should be scanned or not. True 1 2 2 3 True True 1 True False False True 2 False True 2 True False 12 True False 2 2 True False 0 12 Location: 1 2 GTK_FILL GTK_SHRINK True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 12 12 If you disable automatic detection, choose the exact location of the photos and videos. True 2 True True 0 True False False True 2 False True 3 False True 12 1 6 True False Devices 6 False True False True False 6 True False gtk-preferences False True 0 True False <span weight="bold" size="x-large">Device Options</span> True False True 1 False True 0 True False False True 1 True False 12 True False 12 True False 0 12 Remembered Paths False True 0 True False 0 12 Remembered paths are those associated with devices that you have chosen to always scan or ignore when automatic detection of Portable Storage Devices is enabled. True False True 1 True False 12 True False False True 0 True True 250 True True False False True 1 True False True False 12 start gtk-remove False True True True True False False 0 R_emove All False True True True True False False 1 True True 0 False True 2 True True 2 True True 12 0 True False 12 True False 0 12 Ignored Paths False True 0 True False 0 12 Specify the ending portion of any paths you want ignored when scanning devices for photos or videos. Any path ending with the values below will not be scanned. True False True 1 True False 12 True False False True 0 True True 250 True True False False True 1 True False True False 12 start _Add... False True True True True False False 0 gtk-remove False True True True True False False 1 Re_move All False True True True True False False 2 True True 0 False True 2 True True 2 True False Use _python-style regular expressions False True True False True True False True 12 0 False True 3 True True 1 True True 2 7 True False Device Options 7 False True False True False True False 6 True False drive-removable-media False True 0 True False <span weight="bold" size="x-large">Backup</span> True False True 1 True True 0 True False False True 1 False False 0 True False False 0 12 <b>Backup</b> True False True 0 True False 12 True False False True 0 True False 10 4 True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 12 If you disable automatic detection, choose the exact backup locations. True 1 4 7 8 GTK_FILL Automatically detect backup devices False True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 1 4 2 3 GTK_FILL True False 0 12 You can have your photos and videos backed up to multiple locations as they are downloaded, e.g. external hard drives. True 4 Back up photos and videos when downloading False True True False True True 4 1 2 True False 0 6 Specify the folder in which backups are stored on the device. <i>Note: this will also be used to determine whether or not the device is used for backups. For each device you wish to use for backing up to, create a folder in it with one of these names.</i> True True 2 4 3 4 True False 0 Photo backup location: 1 3 8 9 GTK_FILL True False 0 Photo backup folder name: 2 3 6 5 GTK_FILL 6 True False 0 0 6 <i>Example:</i> True 2 3 6 7 GTK_FILL True False 0 0 6 <i>/media/externaldrive/Photos</i> True 3 4 6 7 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False False True True 3 4 4 5 6 True False 0 Video backup folder name: 2 3 5 6 GTK_FILL 6 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False False True True 3 4 5 6 6 True False 0 Video backup location: 1 3 9 10 GTK_FILL True True 1 True False False True 2 False True 1 True True 12 1 8 True False Backup 8 False True False True False True False 6 True False gtk-execute False True 0 True False <span weight="bold" size="x-large">Miscellaneous</span> True False True 1 True True 0 True False False True 1 False False 0 True False True False 0 12 <b>Program Automation</b> True False True 0 True False 6 False False True 0 True False 7 3 Unmount ("eject") device upon download completion False True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 True 3 2 3 Start downloading at program startup False True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 True 3 Start downloading upon device insertion False True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 True 3 1 2 Exit program when download completes False True True False 0 True 3 3 4 Exit program even if download had warnings or errors False True True False 0 True 1 2 4 5 Automatically rotate JPEG images False True True False 0 True 3 5 6 Verify files as they are downloaded False True True False True 3 6 7 True True 24 1 True False False True 2 False True 12 1 True False 0 12 Performance False True 2 True False 6 False False True 0 True False 3 Generate thumbnails (slower) False True True False True True True 24 1 True False False True 2 False True 12 3 True True 12 1 9 True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Miscellaneous 9 False True False 12 True False True False 6 True False gtk-dialog-error False True 0 True False <span weight="bold" size="x-large">Error Handling</span> True False True 1 True True 0 True False False True 1 False False 0 True False 12 True False False True 0 True False 14 2 True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 3 GTK_FILL GTK_FILL True False 0 <b>Photo and Video Name Conflicts</b> True 2 GTK_FILL Add unique identifier False True True False True True True 1 2 3 4 GTK_FILL Skip download False True True False True True add_identifier_radiobutton 1 2 2 3 GTK_FILL True False 0 12 When a photo or video of the same name has already been downloaded, choose whether to skip downloading the file, or to add a unique indentifier. True 1 2 1 2 GTK_FILL True False 0 12 When backing up, choose whether to overwrite a file on the backup device that has the same name, or skip backing it up. True 1 2 4 5 GTK_FILL Overwrite False True True False True backup_duplicate_skip_radiobutton 1 2 5 6 Skip False True True False True True 1 2 6 7 True True 1 True False False True 2 False True 12 1 10 True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Error Handling 10 False True True 6 1 True True 5 1 help_button1 close_button rapid-photo-downloader-0.4.10/rapid/glade3/zoom-in.png0000664000175000017500000000266211761336650022750 0ustar damondamon00000000000000PNG  IHDRa pHYs  (iCCPPhotoshop ICC profilexڍOhU?o: 5$ k+E&6] ٷc^f7[[H@QTx"$O hzx" HY&Ԫ??>$lqrY.^c*n̖JJh;? OU@O^>yO_n#fumRR1Rg qHJDL%go$Bfi W=X\][qQ=C<:>M#+sd qh79 ϝq8.}Np`n˴;;ϰ~@. & <)<F`(H5ƫ7"y8~^Vrw'eEkiz# Q2mUfKnaO`….je>LI׼W31hq)fkBGɮDYO-T^*c f5ss.oZNxˁ.ެoXCQHrd"Ф#GaLM)7UZ($dlOdK/&m^E vݞb}&h4u[Djű{zx'1JTbE&6 Mb6Q~SԺa>|]5J%+ {G}̞3 v }K)_ϕN.+KYJN&5/v~sss~ODD;k"VU'OL,"ڙJsx< = ,//cEDht7!cR "sAYdYFcJR׏8ǭV+ V f3*EtgwcM.L?nۚZ=ҧpuuuwyy3313BGl6fUcxR j "B(ND9Z+J)PU03DdهbgZQkE Ucj)"is^̌qafBDR3[)e 03bZ1ff p8|ԩq@x image/svg+xml Insert Text Lapo Calamandrei http://www.gnome.org insert text generic rapid-photo-downloader-0.4.10/rapid/glade3/rapid-photo-downloader-download-pending.png0000664000175000017500000000145711761336650031172 0ustar damondamon00000000000000PNG  IHDRasBIT|d pHYs+tEXtSoftwarewww.inkscape.org<IDAT8eK\W?q~ , u:2`43#tm 4ElHL!]v3B 1Q}ηz,.{j­%"A@cp{RuR k-+++,-}BZEDz~;n4M?P#ZkfffظBD$x_ ۬)c8ZEZmP( " hi64BDPJZٿh8x8֢$I {s9, D#}'I1x,riJ8S2<~Hɗ|ryf)YF}:Q!"\]]o<{E0DZ-zss*sssS3h""Mi$I^k-R k-ƘJaRaHQQT+/"eeIENDB`rapid-photo-downloader-0.4.10/rapid/glade3/rapid-photo-downloader-downloaded.svg0000664000175000017500000003264511761336650030077 0ustar damondamon00000000000000 rapid-photo-downloader-0.4.10/rapid/glade3/xmp.ui0000664000175000017500000021337011761336650022015 0ustar damondamon00000000000000 False 5 dialog True False 2 True False end False True end 0 True False True True True False 10 5 True False 0 0 Description: GTK_FILL GTK_FILL True True automatic automatic True False True True 1 2 True False 0 Headline: 1 2 GTK_FILL True True False False True True 1 2 1 2 True False 0 0 Keywords: 2 3 GTK_FILL GTK_FILL True True automatic automatic True False True True 1 2 2 3 True False 0 Description writer: 4 5 GTK_FILL True True False False True True 1 2 4 5 True False 0 Copyright: 5 6 GTK_FILL True True False False True True 1 2 5 6 True False 0 Copyright URL: 6 7 GTK_FILL True True True False False True True 1 2 6 7 True False 0 0 Person(s) shown: 3 4 GTK_FILL GTK_FILL True True automatic automatic True False True True 1 2 3 4 True False Description False True False 16 5 True False 0 Location Created 5 GTK_FILL True False 0 Sublocation: 1 2 1 2 GTK_FILL True False 0 City: 1 2 2 3 GTK_FILL True False 0 Province/state: 1 2 3 4 GTK_FILL True False 0 Country name: 1 2 4 5 GTK_FILL True False 0 Country ISO-code: 1 2 5 6 GTK_FILL True False 0 World region: 1 2 6 7 True True True False False True True 2 3 1 2 True True True False False True True 2 3 2 3 True True True False False True True 2 3 3 4 True True True False False True True 2 3 4 5 True True True False False True True 2 3 5 6 True True True False False True True 2 3 6 7 True False 0 Location Shown 5 8 9 GTK_FILL True False 0 Sublocation: 1 2 9 10 GTK_FILL True False 0 City: 1 2 10 11 GTK_FILL True False 0 Province/state: 1 2 11 12 GTK_FILL True False 0 Country name: 1 2 12 13 GTK_FILL True False 0 Country ISO-code: 1 2 13 14 GTK_FILL True False 0 World region: 1 2 14 15 True True True False False True True 2 3 9 10 True True True False False True True 2 3 10 11 True True True False False True True 2 3 11 12 True True True False False True True 2 3 12 13 True True True False False True True 2 3 13 14 True True True False False True True 2 3 14 15 Copy to Location Shown True True True False 2 3 7 8 1 True False Location 1 False True False 10 2 12 6 True False 0 Creator: GTK_FILL True False 0 Creator's job title: 1 2 GTK_FILL True False 0 0 Address: 2 3 GTK_FILL GTK_FILL True False 0 City: 3 4 GTK_FILL True False 0 State/province: 4 5 GTK_FILL True False 0 Postal code: 5 6 GTK_FILL True False 0 Country: 6 7 GTK_FILL True False 0 Phone(s): 7 8 GTK_FILL True False 0 Email(s): 8 9 GTK_FILL True False 0 Website(s): 9 10 GTK_FILL True False True 1 2 True False True 1 2 1 2 True False True 1 2 3 4 True False True 1 2 4 5 True False True 1 2 5 6 True False True 1 2 6 7 True False True 1 2 7 8 True False True 1 2 8 9 True False True 1 2 9 10 True True automatic automatic True False True True 1 2 2 3 2 True False Photographer 2 False True True 1 True True 1 rapid-photo-downloader-0.4.10/rapid/glade3/errorlog.ui0000664000175000017500000000722111761336650023040 0ustar damondamon00000000000000 False 5 Error Log 650 400 True rapid-photo-downloader.svg dialog True False 2 True False end gtk-close True True True False True False False 1 False True end 0 True True automatic automatic True False True True False False True True 1 button1 rapid-photo-downloader-0.4.10/rapid/glade3/photo_icon.png0000664000175000017500000000072011761336650023512 0ustar damondamon00000000000000PNG  IHDRasBIT|d pHYsu85tEXtSoftwarewww.inkscape.org<MIDAT8SK1}񳱷Cs),0[WZJH."cM UTC/@p8|x Mvc\qADPUv "]SJv8"pk)*5HѩBDhuMk`f, @ "RUZ{1a " "(Lx&Bx+{z`fVw *5TDzZCι 䜑Rv}_*d123RJbAU׃33r`^$<zڪ0 `fl6VڃmEzMx About... _Check All Check All Photos Check All Videos Download system-run False _Get Help Online... Help Next file Preferences Previous file Quit Refresh _Report a Problem... gtk-dialog-warning Show image Show thumbnails Translate this Application... _Uncheck All False Rapid Photo Downloader rapid-photo-downloader.svg True False True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False True False _File True False Download / Pause download_action True False False refresh_action True False True True gtk-preferences preferences_action True False True True gtk-quit quit_action True False True True False True False _Select True False check_all_action True False check_all_photos_action True False check_all_videos_action True False uncheck_all_action True False False True False False True Select All Without _Job Code True False False True Select All Wit_h Job Code True False True False _View True False gtk-zoom-in False False True True True gtk-zoom-out False False True True True False True False True False _Error Log True False True False _Clear Completed Downloads True True False False prev_image_action True False Previous File False next_image_action True False Next File False True False _Help True False get_help_action True False True True report_problem_action True False donate_action True False _Make a Donation... True translate_action True False _Translate this Application... True True False about_action True False True False True 0 True False True True False vertical False True True 0 True False vertical False True True 1 True False vertical False True True 2 False vertical False False end 3 False True 1 True True 1 True True False True False never etched-out True False queue none True True 6 0 False False True False True True False False True False True True True True 0 True False True False 6 show_image_action True True True none False False False 1 check_all_action True True True none True False False False 2 _Uncheck All uncheck_all_action True True True none True False False False 3 False True 4 0 False True 1 True False page 1 False True False True False True True True 0 True False True True False 6 next_image_action True True True none False False True end 0 prev_image_action True True True none False False True end 1 True True 6 end 0 True False show_thumbnails_action True True True none True False False False 4 0 True True 1 True False _Include in download False True True False True True True True 0 True False 2 False True 1 1 True False page 2 1 False True False page 3 2 False True True 0 True True True True 2 True False True False _Help help_action True True True True False False 0 _Download download_action True True True True True True False False 1 True True 6 0 False True 6 3 True False True False 0 True False False True 0 False True 0 True False 2 True True 1 True False False True 2 True False True False False True 0 True False True False 9 False True 0 True False True False True False False True 0 True False 3 gtk-dialog-error 1 False False 1 True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 3 gtk-dialog-warning 1 False False 2 False False 1 True True 1 False True 3 True False False True 4 15 True False 2 False False 5 False False end 4 rapid-photo-downloader-0.4.10/rapid/glade3/rapid-photo-downloader-downloaded-with-error.svg0000664000175000017500000003621711761336650032176 0ustar damondamon00000000000000 image/svg+xml rapid-photo-downloader-0.4.10/rapid/glade3/video66.png0000664000175000017500000001104611761336650022636 0ustar damondamon00000000000000PNG  IHDRBBTsBIT|d pHYs cytEXtSoftwarewww.inkscape.org<IDATxkGU=w׏Ml_6Nb)A\Aʍ( A>!$>_B(+$ȗ"E"U|q8Y׳3Ϫzz<:6JđFSοNsT>f!S_@t_@t.*B DJ!Ė^6==}l{;ٳg zǓO>IV+׿楗^* !wˎ; ӟxZƘQ85+++_"|!駟[+_ +>}7<#>|/Kd~B|ĉDQDT"~?υ0 pB!⋔J1O|cajj'N0==]?{\{Z1~T*Μ9GRYŏBcƂwcA7@E,..r}<;b,(jQBp\3 j/| :tO~򓱂<|/Z-~{xBRo|h|D#0q6Z%l/ W\=?55#<©S ;|a*J|_[g?+++B׾5o8u?x!_:OOûvgB? /PȫV<oSO9rqʬ?_h48w{nnt:$IB$H)y衇8~8ari]w5Ҩ={_ F~W\AJɇ>Ba:s|l6Y]]塇*{Q~_h4MOOSTn Tj}}$IF;MS^~e|1Bwq gΜ)'xG#۷h48~xaݓ'O^R\.3 Ϗxbᅯ2c\?7_tO}ScJ))%Qz$I GL)Ջ&1-rIP (Є͔t4~J'X8TjXD5dܞ1:tNgbbZocx 077KŸ9^|QJQ.<%!:0 !A p+Rɡ60 SvJЊ u͵F6FJ9ָokhܤ1(pi"$MS&;w`cc]v255R0V+Asعy@RCu!@[pfy>o>+m.mI#QW .)q2ZaRV{S'>a@\A)1K.seN- CP3:Aډ\ldI])%a؉"7ܝ^}n8VXRބEeJMXk6^quo?}s-eyy3&Ђ܏P!uj>!BN̔iX;|;)ce,Wg2vzrFG;v̂{5`F7Ҍ1v8}X ufCM(Ci55m_Y2va]:"lV`qK!M IdX mYLn2%!2THDMC.nhDn+]W7KijH#|lW0NDjE P,ܚĭ JEl19bkI#lGx Ƙ­BDbKSܐčه1l,%ۀȌe_{b,-xv̨L+nZ2uS1l/n}Ԡ-l GY arFܔ.ycy[ bCm}{#̀Z311I_g,Ljܵfkk8TU|Ǹ.ibT޲̅!O^<1v=hRzB`t52-RJ377ի(ՐO i4ASa,z3׹e |ǶmΟ?!B;w4/Hv5IeY(p]S}"2NstoQe!Bԯqɩ4%J#: Bd^n#*:X{44ҨD-kWƲRkvmgTWTܒ@քAѪfL`Z$4 q=_a պěHKu4hH $\IL q# Rmm y=8y8xBt 2ŲAZ}ao7ԩAY2;ޝa☼^O#,63@ Wȅ3h/R,U,Hai`4ġ&lgϦ'hm.$)o*k0@%1\ax> cv7FR"4vXu6:i8t$` J;afŘJ Alx nk  @lhߔ,K,)ārD7瘥wt&$JDW;:ꦨ L9wp\ !˄mCZUa}ScT6lI#M~ bD$RX@v3" bqfTC̿_d=N؎ M2lhj fZr sSZ?{*UֈGQAwQ$$a ڰBlR[T,܊4Jن1ݍ4:EvK80,) 3'R El {})WYR1t^h(sIdH|[oFMa0z@lؘ_E8)ujN@>5>?)aݳZ؎$ N5qH_r`"105ƁAFᡖw#w1#$ Ӳ1JFR;wvיH! vv4aiPoGͰBB"-I` 7)şG2[]!OcY4jtw4 image/svg+xml Jakub Steiner http://jimmac.musichall.cz snapshot camera photo compact snap rapid-photo-downloader-0.4.10/rapid/glade3/about.ui0000664000175000017500000001022412267506337022317 0ustar damondamon00000000000000 False 5 True rapid-photo-downloader.svg dialog Rapid Photo Downloader Copyright Damon Lynch 2007-14 Import your photos and videos efficiently and reliably http://www.damonlynch.net/rapid Rapid Photo Downloader 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. Rapid Photo Downloader 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 Rapid Photo Downloader; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Damon Lynch <damonlynch@gmail.com> Anton Alyab'ev <subeditor@dolgopa.org> Lőrincz András <level.andrasnak@gmail.com> Michel Ange <michelange@wanadoo.fr> Adolfo Jayme Barrientos <fitoschido@gmail.com> Alain J. Baudrez <a.baudrez@gmail.com> Kevin Brubeck Unhammer <unhammer@fsfe.org> Bert <crinbert@yahoo.com> Martin Dahl Moe Marco de Freitas <marcodefreitas@gmail.com> Martin Egger <martin.egger@gmx.net> Tauno Erik <tauno.erik@gmail.com> Sergiy Gavrylov <sergiovana@bigmir.net> Emanuele Grande <caccolangrifata@gmail.com> Torben Gundtofte-Bruun <torben@g-b.dk> Joachim Johansson <joachim.j@gmail.com> Miroslav Matejaš <silverspace@ubuntu-hr.org> Nicolás M. Zahlut <nzahlut@live.com> Erik M Toni Lähdekorpi <toni@lygon.net> Jose Luis Navarro <jlnavarro111@gmail.com> Tomas Novak <kuvaly@seznam.cz> Abel O'Rian <abel.orian@gmail.com> Balazs Oveges <ovegesb@freemail.hu> Daniel Paessler <daniel@paessler.org> Miloš Popović <gpopac@gmail.com> Michal Predotka <mpredotka@googlemail.com> Ye Qing <allen19920930@gmail.com> Luca Reverberi <thereve@gmail.com> Mikko Ruohola <polarfox@polarfox.net> Ahmed Shubbar <ahmed.shubbar@gmail.com> Sergei Sedov <sedov@webmail.perm.ru> Marco Solari <marcosolari@gmail.com> Ilya Tsimokhin <ilya@tsimokhin.com> Ulf Urdén <ulf.urden@purplescout.com> Julien Valroff <julien@kirya.net> Aron Xu <happyaron.xu@gmail.com> 梁其学 <yalongbay@gmail.com> rapid-photo-downloader.svg True True False 2 True False end False True end 0 rapid-photo-downloader-0.4.10/rapid/glade3/rapid-photo-downloader-downloaded-with-warning.svg0000664000175000017500000003624511761336650032513 0ustar damondamon00000000000000 image/svg+xml rapid-photo-downloader-0.4.10/rapid/glade3/zoom-out.png0000664000175000017500000000233511761336650023146 0ustar damondamon00000000000000PNG  IHDRa pHYs  (iCCPPhotoshop ICC profilexڍOhU?o: 5$ k+E&6] ٷc^f7[[H@QTx"$O hzx" HY&Ԫ??>$lqrY.^c*n̖JJh;? OU@O^>yO_n#fumRR1Rg qHJDL%go$Bfi W=X\][qQ=C<:>M#+sd qh79 ϝq8.}Np`n˴;;ϰ~@. & <)<F`(H5ƫ7"y8~^Vrw'eEkiz# Q2mUfKnaO`….je>LI׼W31hq)fkBGɮDYO-T^*c f5ss.oZNxˁ.ެoXCQHrd"Ф#GaLM)7UZ($dlOdK/&m^E vݞb}&h4u[Djű{zx'1JTbE&6 Mb6Q~SԺa>|]5J%+ {G}̞3 v }K)_ϕN.+KYJEʴښ2]: !6D}mQI"Y9FTkA TUκ PI;9I<xvA2u.ox^`pl6sV+E^t],|^ff&pΩsP*l>E=jFQ4b%Q\NsL&p8 Ja^9`\v V8vQDF񢪯 (c>HEd 9wNGS9nܱIENDB`rapid-photo-downloader-0.4.10/rapid/glade3/photo66.png0000664000175000017500000001315211761336650022661 0ustar damondamon00000000000000PNG  IHDRBBTsBIT|d pHYs  $RtEXtSoftwarewww.inkscape.org<IDATxI$uŞVYkwOY$-4"|aAg ؀ 0`|7O /LЀiq`@6l DʣnNsfz[uWgW57YU=C ̈Ȉ*ZwM|U<$;N}|?j_[.,K,^/t]u]\?wozoo0NJVK.ѣcwʁ0Nuvah4(g.4M$I~!(,H0uM~!;F~ˈ|8q}xHM Q4e\b3% !(Ju1 㥟}EAEnA?9eYyt:%st]<g$`20Lp]{g( ˥2|ir .ł]h4Ȳ B:u_ymJZ.XAe\rľ6e1qyL&cy+ (# 'Z8Z0Z-4e6j˲B0EQH0W"`ssGQհ,ph4b<!8 tJQ躎88)Uв,:FA$vcbk.]ʕ+ pxxx<ɓ'$Ii+nOc)Z ۶^t:Ŷm\%R3EeZ~իWqCm+E%5m*(k4J >v*{Q^a\z۶$It:e4qxx8I ϕ?{sjj!bjq4]U.R ]e8kmtF0qG\2Pu%u@[[Bձ^ӧOv!+k>ov]iZ駟DZڱ2>ed-D4mR!p8FId\kQT>^]/<אn}irttģGHT:`I$eIP c(b>ӕ5J01qLQz=9VKyHIy|a*ᴸ뺮ҥKHL4MSne CE8*\i ti)ٌW8-~ߦ'JS$FOiǶ 6e::2eA?s-)R R4)~$G&|.&}$!MSŔ yx-6{ JZ2ڀ ZpYk$!*s -h8%YB9$8&km7@wI g8AuUPVRfYƙm!;z=vvvqZ4 \U]o2GRгo4H!,2G<xD/wտ$M>磿!ph4VbZc٦q|n0 Pj)pd_6FaFi|4Т0QH4TZnb- /h~'avb;dtDYɲ 4Us\4YI|2z-wo|ӥVYXm9ئi9INNnO?buv:?C&b^VN8U):yn-eykkK=Dw]3+z5)MPlt;^@%Ė F۵Vj.G߈|KEA]yY+{ ?g7ND<>Vx|9 zaىZ,NYj6l#*ڷ¿K 2W\ kHIbsܤ~u~*󜭭-y4U*<::<&M3@ȓ2u]f#MSJ PY,xfۦ|a;}1S#,(׫\w@ﵩt\}5 em2PV!- C޽{q\x.]TUq]|NV@s||fS:Ք@?c0ƍgJ<öm0֭[gN !vwwuz)x7i6,W_}uEMܹs۶ަ6Eq,2Mv}uF!7odٮ(vJv V`0`zmdYƏc|W#H43\_0NiZ!x׹u tWZq4wRr@uu]p8\dYd20 UI^>K`0STm$MSnݺbqnC\ q2pu!avv*/l6шǏSVt:=ړ9Xbu](Za`۶i63N|GaH$͓jλ 2\%I Pj1U+Z]3sժ2l@5$i$MSt:jЪ 9Ytj5F!gIܼp.@ckkgyȬLq_,qRW6bY3R&Il6#[9L"`2p||LU2xkmnn ΢ZF}0dtyAԢnvey]ɬ\)Gn9(KBEd2y. I_8 ;۹t vbPMZv_ $QiRTT6y<Ϲ}J1?BNFv677URv1YnM`|^JN4){t.Y!ܹyO>Un@Iڻm C image/svg+xml rapid-photo-downloader-0.4.10/rapid/glade3/video.svg0000664000175000017500000014467611761336650022515 0ustar damondamon00000000000000 image/svg+xml rapid-photo-downloader-0.4.10/rapid/backupfile.py0000664000175000017500000003036412267507676022204 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011 - 2014 Damon Lynch ### 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 import multiprocessing import tempfile import os import errno import hashlib import shutil import io import logging logger = multiprocessing.get_logger() import rpdmultiprocessing as rpdmp import rpdfile import problemnotification as pn import config PHOTO_BACKUP = 1 VIDEO_BACKUP = 2 PHOTO_VIDEO_BACKUP = 3 from gettext import gettext as _ from copyfiles import copy_file_metadata class BackupFiles(multiprocessing.Process): def __init__(self, path, name, batch_size_MB, results_pipe, terminate_queue, run_event): multiprocessing.Process.__init__(self) self.results_pipe = results_pipe self.terminate_queue = terminate_queue self.batch_size_bytes = batch_size_MB * 1048576 # * 1024 * 1024 self.io_buffer = 1048576 self.path = path self.mount_name = name self.run_event = run_event def check_termination_request(self): """ Check to see this process has not been requested to immediately terminate """ if not self.terminate_queue.empty(): x = self.terminate_queue.get() # terminate immediately logger.info("Terminating file backup") return True return False def update_progress(self, amount_downloaded, total): self.amount_downloaded = amount_downloaded chunk_downloaded = amount_downloaded - self.bytes_downloaded if (chunk_downloaded > self.batch_size_bytes) or (amount_downloaded == total): self.bytes_downloaded = amount_downloaded self.results_pipe.send((rpdmp.CONN_PARTIAL, (rpdmp.MSG_BYTES, (self.scan_pid, self.pid, self.total_downloaded + amount_downloaded, chunk_downloaded)))) if amount_downloaded == total: self.bytes_downloaded = 0 def backup_additional_file(self, dest_dir, full_file_name): """Backs up small files like XMP or THM files""" dest_name = os.path.join(dest_dir, os.path.split(full_file_name)[1]) try: logger.debug("Backing up additional file %s...", dest_name) shutil.copyfile(full_file_name, dest_name) logger.debug("...backing up additional file %s succeeded", dest_name) except: logger.error("Backup of %s failed", full_file_name) try: copy_file_metadata(full_file_name, dest_name, logger) except: logger.error("Unknown error updating filesystem metadata when copying %s", full_file_name) def run(self): self.bytes_downloaded = 0 self.total_downloaded = 0 while True: self.amount_downloaded = 0 move_succeeded, do_backup, rpd_file, path_suffix, backup_duplicate_overwrite, verify_file, download_count = self.results_pipe.recv() if rpd_file is None: # this is a termination signal return None # pause if instructed by the caller self.run_event.wait() if self.check_termination_request(): return None backup_succeeded = False self.scan_pid = rpd_file.scan_pid if move_succeeded and do_backup: self.total_reached = False if path_suffix is None: dest_base_dir = self.path else: dest_base_dir = os.path.join(self.path, path_suffix) dest_dir = os.path.join(dest_base_dir, rpd_file.download_subfolder) backup_full_file_name = os.path.join( dest_dir, rpd_file.download_name) if not os.path.isdir(dest_dir): # create the subfolders on the backup path try: logger.debug("Creating subfolder %s on backup device %s...", dest_dir, self.mount_name) os.makedirs(dest_dir) logger.debug("...backup subfolder created") except IOError as inst: # There is a tiny chance directory may have been created by # another process between the time it takes to query and # the time it takes to create a new directory. # Ignore such errors. if inst.errno <> errno.EEXIST: logger.error("Failed to create backup subfolder: %s", dest_dir) msg = "%s %s", inst.errno, inst.strerror logger.error(msg) rpd_file.add_problem(None, pn.BACKUP_DIRECTORY_CREATION, self.mount_name) rpd_file.add_extra_detail('%s%s' % (pn.BACKUP_DIRECTORY_CREATION, self.mount_name), msg) rpd_file.error_title = _('Backing up error') rpd_file.error_msg = \ _("Destination directory could not be created: %(directory)s\n") % \ {'directory': dest_dir, } + \ _("Source: %(source)s\nDestination: %(destination)s") % \ {'source': rpd_file.download_full_file_name, 'destination': backup_full_file_name} + "\n" + \ _("Error: %(inst)s") % {'inst': msg} backup_already_exists = os.path.exists(backup_full_file_name) if backup_already_exists: if backup_duplicate_overwrite: rpd_file.add_problem(None, pn.BACKUP_EXISTS_OVERWRITTEN, self.mount_name) msg = _("Backup %(file_type)s overwritten") % {'file_type': rpd_file.title} else: rpd_file.add_problem(None, pn.BACKUP_EXISTS, self.mount_name) msg = _("%(file_type)s not backed up") % {'file_type': rpd_file.title_capitalized} rpd_file.error_title = _("Backup of %(file_type)s already exists") % {'file_type': rpd_file.title} rpd_file.error_msg = \ _("Source: %(source)s\nDestination: %(destination)s") % \ {'source': rpd_file.download_full_file_name, 'destination': backup_full_file_name} + "\n" + msg if backup_already_exists and not backup_duplicate_overwrite: logger.warning(msg) else: try: logger.debug("Backing up file %s on device %s...", download_count, self.mount_name) dest = io.open(backup_full_file_name, 'wb', self.io_buffer) src = io.open(rpd_file.download_full_file_name, 'rb', self.io_buffer) total = rpd_file.size amount_downloaded = 0 while True: # first check if process is being terminated if self.check_termination_request(): logger.debug("Closing partially written temporary file") dest.close() src.close() return None else: chunk = src.read(self.io_buffer) if chunk: dest.write(chunk) amount_downloaded += len(chunk) self.update_progress(amount_downloaded, total) else: break dest.close() src.close() backup_succeeded = True if verify_file: md5 = hashlib.md5(open(backup_full_file_name).read()).hexdigest() if md5 <> rpd_file.md5: backup_succeeded = False logger.critical("%s file verification FAILED", rpd_file.name) logger.critical("The %s did not back up correctly!", rpd_file.title) rpd_file.add_problem(None, pn.BACKUP_VERIFICATION_FAILED, self.mount_name) rpd_file.error_title = rpd_file.problem.get_title() rpd_file.error_msg = _("%(problem)s\nFile: %(file)s") % \ {'problem': rpd_file.problem.get_problems(), 'file': rpd_file.download_full_file_name} logger.debug("...backing up file %s on device %s succeeded", download_count, self.mount_name) if backup_already_exists: logger.warning(msg) except (IOError, OSError) as inst: logger.error("Backup of %s failed", backup_full_file_name) msg = "%s %s", inst.errno, inst.strerror rpd_file.add_problem(None, pn.BACKUP_ERROR, self.mount_name) rpd_file.add_extra_detail('%s%s' % (pn.BACKUP_ERROR, self.mount_name), msg) rpd_file.error_title = _('Backing up error') rpd_file.error_msg = \ _("Source: %(source)s\nDestination: %(destination)s") % \ {'source': rpd_file.download_full_file_name, 'destination': backup_full_file_name} + "\n" + \ _("Error: %(inst)s") % {'inst': msg} logger.error("%s:\n%s", rpd_file.error_title, rpd_file.error_msg) if backup_succeeded: try: copy_file_metadata(rpd_file.download_full_file_name, backup_full_file_name, logger) except: logger.error("Unknown error updating filesystem metadata when copying %s", rpd_file.download_full_file_name) if not backup_succeeded: if rpd_file.status == config.STATUS_DOWNLOAD_FAILED: rpd_file.status = config.STATUS_DOWNLOAD_AND_BACKUP_FAILED else: rpd_file.status = config.STATUS_BACKUP_PROBLEM else: # backup any THM, audio or XMP files if rpd_file.download_thm_full_name: self.backup_additional_file(dest_dir, rpd_file.download_thm_full_name) if rpd_file.download_audio_full_name: self.backup_additional_file(dest_dir, rpd_file.download_audio_full_name) if rpd_file.download_xmp_full_name: self.backup_additional_file(dest_dir, rpd_file.download_xmp_full_name) self.total_downloaded += rpd_file.size bytes_not_downloaded = rpd_file.size - self.amount_downloaded if bytes_not_downloaded and do_backup: self.results_pipe.send((rpdmp.CONN_PARTIAL, (rpdmp.MSG_BYTES, (self.scan_pid, self.pid, self.total_downloaded, bytes_not_downloaded)))) self.results_pipe.send((rpdmp.CONN_PARTIAL, (rpdmp.MSG_FILE, (backup_succeeded, do_backup, rpd_file)))) rapid-photo-downloader-0.4.10/rapid/rapid.py0000775000175000017500000051554112267506672021201 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2011-2014 Damon Lynch ### 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 use_pynotify = True import tempfile import dbus import dbus.bus import dbus.service from dbus.mainloop.glib import DBusGMainLoop DBusGMainLoop(set_as_default=True) from optparse import OptionParser import gtk import gtk.gdk as gdk from gobject.constants import G_MAXINT import webbrowser import sys, time, types, os, datetime import gobject, pango, cairo, array, pangocairo, gio if use_pynotify: import pynotify from multiprocessing import Process, Pipe, Queue, Event, Value, Array, current_process, log_to_stderr from ctypes import c_int, c_bool, c_char import logging logger = log_to_stderr() # Rapid Photo Downloader modules import rpdfile from misc import get_folder_selection import problemnotification as pn import thumbnail as tn import rpdmultiprocessing as rpdmp import preferencesdialog import prefsrapid import tableplusminus as tpm import generatename as gn import downloadtracker import filemodify from metadatavideo import DOWNLOAD_VIDEO, file_types_to_download import metadataphoto import metadatavideo import metadataexiftool import scan as scan_process import copyfiles import subfolderfile import backupfile from backupfile import PHOTO_BACKUP, VIDEO_BACKUP, PHOTO_VIDEO_BACKUP import errorlog import device as dv import utilities import config __version__ = config.version import paths import gettext gettext.bindtextdomain(config.APP_NAME) gettext.textdomain(config.APP_NAME) _ = gettext.gettext from utilities import format_size_for_user from utilities import register_iconsets from config import STATUS_CANNOT_DOWNLOAD, STATUS_DOWNLOADED, \ STATUS_DOWNLOADED_WITH_WARNING, \ STATUS_DOWNLOAD_FAILED, \ STATUS_DOWNLOAD_PENDING, \ STATUS_BACKUP_PROBLEM, \ STATUS_NOT_DOWNLOADED, \ STATUS_DOWNLOAD_AND_BACKUP_FAILED, \ STATUS_WARNING DOWNLOADED = [STATUS_DOWNLOADED, STATUS_DOWNLOADED_WITH_WARNING, STATUS_BACKUP_PROBLEM] #Translators: if neccessary, for guidance in how to translate this program, you may see http://damonlynch.net/translate.html PROGRAM_NAME = _('Rapid Photo Downloader') __version__ = config.version def date_time_human_readable(date, with_line_break=True): if with_line_break: return _("%(date)s\n%(time)s") % {'date':date.strftime("%x"), 'time':date.strftime("%X")} else: return _("%(date)s %(time)s") % {'date':date.strftime("%x"), 'time':date.strftime("%X")} def date_time_subseconds_human_readable(date, subseconds): return _("%(date)s %(hour)s:%(minute)s:%(second)s:%(subsecond)s") % \ {'date':date.strftime("%x"), 'hour':date.strftime("%H"), 'minute':date.strftime("%M"), 'second':date.strftime("%S"), 'subsecond': subseconds} class DeviceCollection(gtk.TreeView): """ TreeView display of devices and how many files have been copied, shown immediately under the menu in the main application window. """ def __init__(self, parent_app): self.parent_app = parent_app # device icon & name, size of images on the device (human readable), # copy progress (%), copy text, eject button (None if irrelevant), # process id, pulse self.liststore = gtk.ListStore(gtk.gdk.Pixbuf, str, str, float, str, gtk.gdk.Pixbuf, int, int) self.map_process_to_row = {} self.devices_by_scan_pid = {} gtk.TreeView.__init__(self, self.liststore) self.props.enable_search = False # make it impossible to select a row selection = self.get_selection() selection.set_mode(gtk.SELECTION_NONE) self.set_headers_visible(False) # Device refers to a thing like a camera, memory card in its reader, # external hard drive, Portable Storage Device, etc. column0 = gtk.TreeViewColumn(_("Device")) pixbuf_renderer = gtk.CellRendererPixbuf() pixbuf_renderer.set_padding(2, 0) text_renderer = gtk.CellRendererText() text_renderer.props.ellipsize = pango.ELLIPSIZE_MIDDLE text_renderer.set_fixed_size(160, -1) eject_renderer = gtk.CellRendererPixbuf() column0.pack_start(pixbuf_renderer, expand=False) column0.pack_start(text_renderer, expand=True) column0.pack_end(eject_renderer, expand=False) column0.add_attribute(pixbuf_renderer, 'pixbuf', 0) column0.add_attribute(text_renderer, 'text', 1) column0.add_attribute(eject_renderer, 'pixbuf', 5) self.append_column(column0) # Size refers to the total size of images on the device, typically in # MB or GB column1 = gtk.TreeViewColumn(_("Size"), gtk.CellRendererText(), text=2) self.append_column(column1) column2 = gtk.TreeViewColumn(_("Download Progress"), gtk.CellRendererProgress(), value=3, text=4, pulse=7) self.append_column(column2) self.show_all() icontheme = gtk.icon_theme_get_default() try: self.eject_pixbuf = icontheme.load_icon('media-eject', 16, gtk.ICON_LOOKUP_USE_BUILTIN) except: self.eject_pixbuf = gtk.gdk.pixbuf_new_from_file( paths.share_dir('glade3/media-eject.png')) self.add_events(gtk.gdk.BUTTON_PRESS_MASK) self.connect('button-press-event', self.button_clicked) def add_device(self, process_id, device, progress_bar_text = ''): # add the row, and get a temporary pointer to the row size_files = '' progress = 0.0 if device.mount is None: eject = None else: eject = self.eject_pixbuf self.devices_by_scan_pid[process_id] = device iter = self.liststore.append((device.get_icon(), device.get_name(), size_files, progress, progress_bar_text, eject, process_id, -1)) self._set_process_map(process_id, iter) # adjust scrolled window height, based on row height and number of ready to start downloads # please note, at program startup, self.row_height() will be less than it will be when already running # e.g. when starting with 3 cards, it could be 18, but when adding 2 cards to the already running program # (with one card at startup), it could be 21 # must account for header row at the top row_height = self.get_background_area(0, self.get_column(0))[3] + 1 height = max(((len(self.map_process_to_row) + 1) * row_height), 24) self.parent_app.device_collection_scrolledwindow.set_size_request(-1, height) def update_device(self, process_id, total_size_files): """ Updates the size of the photos and videos on the device, displayed to the user """ if process_id in self.map_process_to_row: iter = self._get_process_map(process_id) self.liststore.set_value(iter, 2, total_size_files) else: logger.critical("This device is unknown") def get_device(self, process_id): return self.devices_by_scan_pid.get(process_id) def remove_device(self, process_id): if process_id in self.map_process_to_row: iter = self._get_process_map(process_id) self.liststore.remove(iter) del self.map_process_to_row[process_id] del self.devices_by_scan_pid[process_id] def get_all_displayed_processes(self): """ returns a list of the processes currently being displayed to the user """ return self.map_process_to_row.keys() def _set_process_map(self, process_id, iter): """ convert the temporary iter into a tree reference, which is permanent """ path = self.liststore.get_path(iter) treerowref = gtk.TreeRowReference(self.liststore, path) self.map_process_to_row[process_id] = treerowref def _get_process_map(self, process_id): """ return the tree iter for this process """ if process_id in self.map_process_to_row: treerowref = self.map_process_to_row[process_id] path = treerowref.get_path() iter = self.liststore.get_iter(path) return iter else: return None def update_progress(self, scan_pid, percent_complete, progress_bar_text, bytes_downloaded, pulse=None): iter = self._get_process_map(scan_pid) if iter: if percent_complete: self.liststore.set_value(iter, 3, percent_complete) if progress_bar_text: self.liststore.set_value(iter, 4, progress_bar_text) if pulse is not None: if pulse: # Make the bar pulse self.liststore.set_value(iter, 7, self.liststore.get_value(iter, 7) + 1) else: # Set to finished state self.liststore.set_value(iter, 7, G_MAXINT) else: # Reset to allow fraction to be set self.liststore.set_value(iter, 7, -1) def button_clicked(self, widget, event): """ Look for left single click on eject button """ if event.button == 1: if len (self.liststore): x = int(event.x) y = int(event.y) path, column, cell_x, cell_y = self.get_path_at_pos(x, y) if path is not None: if column == self.get_column(0): if cell_x >= column.get_width() - self.eject_pixbuf.get_width(): iter = self.liststore.get_iter(path) if self.liststore.get_value(iter, 5) is not None: self.unmount(process_id = self.liststore.get_value(iter, 6)) def unmount(self, process_id): device = self.devices_by_scan_pid[process_id] if device.mount is not None: logger.debug("Unmounting device with scan pid %s", process_id) device.mount.unmount(self.unmount_callback) def unmount_callback(self, mount, result): name = mount.get_name() try: mount.unmount_finish(result) logger.debug("%s successfully unmounted" % name) except gio.Error, inst: logger.error("%s did not unmount: %s", name, inst) if use_pynotify: title = _("%(device)s did not unmount") % {'device': name} message = '%s' % inst n = pynotify.Notification(title, message) n.set_icon_from_pixbuf(self.parent_app.application_icon) try: n.show() except: logger.error("Unable to display message using notification system") def create_cairo_image_surface(pil_image, image_width, image_height): imgd = pil_image.tostring("raw","BGRA", 0, 1) data = array.array('B',imgd) stride = image_width * 4 image = cairo.ImageSurface.create_for_data(data, cairo.FORMAT_ARGB32, image_width, image_height, stride) return image class ThumbnailCellRenderer(gtk.CellRenderer): __gproperties__ = { "image": (gobject.TYPE_PYOBJECT, "Image", "Image", gobject.PARAM_READWRITE), "filename": (gobject.TYPE_STRING, "Filename", "Filename", '', gobject.PARAM_READWRITE), "status": (gtk.gdk.Pixbuf, "Status", "Status", gobject.PARAM_READWRITE), } def __init__(self, checkbutton_height): gtk.CellRenderer.__init__(self) self.image = None self.image_area_size = 100 self.text_area_size = 30 self.padding = 6 self.checkbutton_height = checkbutton_height self.icon_width = 20 def do_set_property(self, pspec, value): setattr(self, pspec.name, value) def do_get_property(self, pspec): return getattr(self, pspec.name) def do_render(self, window, widget, background_area, cell_area, expose_area, flags): cairo_context = window.cairo_create() x = cell_area.x y = cell_area.y + self.checkbutton_height - 8 w = cell_area.width h = cell_area.height #constrain operations to cell area, allowing for a 1 pixel border #either side #~ cairo_context.rectangle(x-1, y-1, w+2, h+2) #~ cairo_context.clip() #fill in the background with dark grey #this ensures that a selected cell's fill does not make #the text impossible to read #~ cairo_context.rectangle(x, y, w, h) #~ cairo_context.set_source_rgb(0.267, 0.267, 0.267) #~ cairo_context.fill() #image width and height image_w = self.image.size[0] image_h = self.image.size[1] #center the image horizontally #bottom align vertically #top left and right corners for the image: image_x = x + ((w - image_w) / 2) image_y = y + self.image_area_size - image_h #convert PIL image to format suitable for cairo image = create_cairo_image_surface(self.image, image_w, image_h) # draw a light grey border of 1px around the image cairo_context.set_source_rgb(0.66, 0.66, 0.66) #light grey, #a9a9a9 cairo_context.set_line_width(1) cairo_context.rectangle(image_x-.5, image_y-.5, image_w+1, image_h+1) cairo_context.stroke() # draw a thin border around each cell #~ cairo_context.set_source_rgb(0.33,0.33,0.33) #~ cairo_context.rectangle(x, y, w, h) #~ cairo_context.stroke() #place the image cairo_context.set_source_surface(image, image_x, image_y) cairo_context.paint() #text context = pangocairo.CairoContext(cairo_context) text_y = y + self.image_area_size + 10 text_w = w - self.icon_width text_x = x + self.icon_width #~ context.rectangle(text_x, text_y, text_w, 15) #~ context.clip() layout = context.create_layout() width = text_w * pango.SCALE layout.set_width(width) layout.set_alignment(pango.ALIGN_CENTER) layout.set_ellipsize(pango.ELLIPSIZE_END) #font color and size fg_color = pango.AttrForeground(65535, 65535, 65535, 0, -1) font_size = pango.AttrSize(8192, 0, -1) # 8 * 1024 = 8192 font_family = pango.AttrFamily('sans', 0, -1) attr = pango.AttrList() attr.insert(fg_color) attr.insert(font_size) attr.insert(font_family) layout.set_attributes(attr) layout.set_text(self.filename) context.move_to(text_x, text_y) context.show_layout(layout) #status cairo_context.set_source_pixbuf(self.status, x, y + self.image_area_size + 10) cairo_context.paint() def do_get_size(self, widget, cell_area): return (0, 0, self.image_area_size, self.image_area_size + self.text_area_size - self.checkbutton_height + 4) gobject.type_register(ThumbnailCellRenderer) class ThumbnailDisplay(gtk.IconView): def __init__(self, parent_app): gtk.IconView.__init__(self) self.set_spacing(0) self.set_row_spacing(5) self.set_margin(25) self.set_selection_mode(gtk.SELECTION_MULTIPLE) self.connect('selection-changed', self.on_selection_changed) self._selected_items = [] self.rapid_app = parent_app self.batch_size = 10 self.thumbnail_manager = ThumbnailManager(self.thumbnail_results, self.batch_size) self.preview_manager = PreviewManager(self.preview_results) self.treerow_index = {} self.process_index = {} self.rpd_files = {} self.total_thumbs_to_generate = 0 self.thumbnails_generated = 0 # dict of scan_pids that are having thumbnails generated # value is the thumbnail process id # this is needed when terminating thumbnailing early such as when # user clicks download before the thumbnailing is finished self.generating_thumbnails = {} self.thumbnails = {} self.previews = {} self.previews_being_fetched = set() self.stock_photo_thumbnails = tn.PhotoIcons() self.stock_video_thumbnails = tn.VideoIcons() self.SELECTED_COL = 1 self.UNIQUE_ID_COL = 2 self.TIMESTAMP_COL = 4 self.FILETYPE_COL = 5 self.CHECKBUTTON_VISIBLE_COL = 6 self.DOWNLOAD_STATUS_COL = 7 self.STATUS_ICON_COL = 8 self._create_liststore() self.clear() checkbutton = gtk.CellRendererToggle() checkbutton.set_radio(False) checkbutton.props.activatable = True checkbutton.props.xalign = 0.0 checkbutton.connect('toggled', self.on_checkbutton_toggled) self.pack_end(checkbutton, expand=False) self.add_attribute(checkbutton, "active", 1) self.add_attribute(checkbutton, "visible", 6) checkbutton_size = checkbutton.get_size(self, None) checkbutton_height = checkbutton_size[3] checkbutton_width = checkbutton_size[2] image = ThumbnailCellRenderer(checkbutton_height) self.pack_start(image, expand=True) self.add_attribute(image, "image", 0) self.add_attribute(image, "filename", 3) self.add_attribute(image, "status", 8) #set the background color to a darkish grey self.modify_base(gtk.STATE_NORMAL, gtk.gdk.Color('#444444')) self.show_all() self._setup_icons() self.connect('item-activated', self.on_item_activated) def _create_liststore(self): """ Creates the default list store to hold the icons """ self.liststore = gtk.ListStore( gobject.TYPE_PYOBJECT, # 0 PIL thumbnail gobject.TYPE_BOOLEAN, # 1 selected or not str, # 2 unique id str, # 3 file name int, # 4 timestamp for sorting, converted float int, # 5 file type i.e. photo or video gobject.TYPE_BOOLEAN, # 6 visibility of checkbutton int, # 7 status of download gtk.gdk.Pixbuf, # 8 status icon ) def _setup_icons(self): # icons to be displayed in status column size = 16 # standard icons failed = self.render_icon(gtk.STOCK_DIALOG_ERROR, gtk.ICON_SIZE_MENU) self.download_failed_icon = failed.scale_simple(size, size, gtk.gdk.INTERP_HYPER) error = self.render_icon(gtk.STOCK_DIALOG_ERROR, gtk.ICON_SIZE_MENU) self.error_icon = error.scale_simple(size, size, gtk.gdk.INTERP_HYPER) warning = self.render_icon(gtk.STOCK_DIALOG_WARNING, gtk.ICON_SIZE_MENU) self.warning_icon = warning.scale_simple(size, size, gtk.gdk.INTERP_HYPER) # Rapid Photo Downloader specific icons self.downloaded_icon = gtk.gdk.pixbuf_new_from_file_at_size( paths.share_dir('glade3/rapid-photo-downloader-downloaded.svg'), size, size) self.download_pending_icon = gtk.gdk.pixbuf_new_from_file_at_size( paths.share_dir('glade3/rapid-photo-downloader-download-pending.png'), size, size) self.downloaded_with_warning_icon = gtk.gdk.pixbuf_new_from_file_at_size( paths.share_dir('glade3/rapid-photo-downloader-downloaded-with-warning.svg'), size, size) self.downloaded_with_error_icon = gtk.gdk.pixbuf_new_from_file_at_size( paths.share_dir('glade3/rapid-photo-downloader-downloaded-with-error.svg'), size, size) # make the not yet downloaded icon a transparent square self.not_downloaded_icon = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 16, 16) self.not_downloaded_icon.fill(0xffffffff) self.not_downloaded_icon = self.not_downloaded_icon.add_alpha(True, chr(255), chr(255), chr(255)) def get_status_icon(self, status): """ Returns the correct icon, based on the status """ if status == STATUS_WARNING: status_icon = self.warning_icon elif status == STATUS_CANNOT_DOWNLOAD: status_icon = self.error_icon elif status == STATUS_DOWNLOADED: status_icon = self.downloaded_icon elif status == STATUS_NOT_DOWNLOADED: status_icon = self.not_downloaded_icon elif status in [STATUS_DOWNLOADED_WITH_WARNING, STATUS_BACKUP_PROBLEM]: status_icon = self.downloaded_with_warning_icon elif status in [STATUS_DOWNLOAD_FAILED, STATUS_DOWNLOAD_AND_BACKUP_FAILED]: status_icon = self.downloaded_with_error_icon elif status == STATUS_DOWNLOAD_PENDING: status_icon = self.download_pending_icon else: logger.critical("FIXME: unknown status: %s", status) status_icon = self.not_downloaded_icon return status_icon def sort_by_timestamp(self): self.liststore.set_sort_column_id(self.TIMESTAMP_COL, gtk.SORT_ASCENDING) def on_selection_changed(self, iconview): """ Allow selections by row (and not GTK default by square) when user is dragging the mouse or using the keyboard to select """ selections = self.get_selected_items() if len(selections) > 1: previous_sel = selections[0][0] + 1 # seleted items list always starts with the highest selected item for selection in selections: current_sel = selection[0] if current_sel <> (previous_sel-1): for i in range(previous_sel-1, current_sel, -1): self.select_path(i) previous_sel = current_sel self._selected_items = self.get_selected_items() def on_checkbutton_toggled(self, cellrenderertoggle, path): paths = [p[0] for p in self._selected_items] if int(path) not in paths: self._selected_items = [path,] for path in self._selected_items: iter = self.liststore.get_iter(path) status = self.liststore.get_value(iter, self.DOWNLOAD_STATUS_COL) if status == STATUS_NOT_DOWNLOADED: self.liststore.set_value(iter, self.SELECTED_COL, not cellrenderertoggle.get_active()) self.select_path(path) self.rapid_app.set_download_action_sensitivity() def set_selected(self, unique_id, value): iter = self.get_iter_from_unique_id(unique_id) self.liststore.set_value(iter, self.SELECTED_COL, value) def add_file(self, rpd_file, generate_thumbnail): thumbnail_icon = self.get_stock_icon(rpd_file.file_type) unique_id = rpd_file.unique_id scan_pid = rpd_file.scan_pid timestamp = int(rpd_file.modification_time) iter = self.liststore.append((thumbnail_icon, True, unique_id, rpd_file.display_name, timestamp, rpd_file.file_type, True, STATUS_NOT_DOWNLOADED, self.not_downloaded_icon )) path = self.liststore.get_path(iter) treerowref = gtk.TreeRowReference(self.liststore, path) if scan_pid in self.process_index: self.process_index[scan_pid].append(unique_id) else: self.process_index[scan_pid] = [unique_id,] self.treerow_index[unique_id] = treerowref self.rpd_files[unique_id] = rpd_file if generate_thumbnail: self.total_thumbs_to_generate += 1 def get_sample_file(self, file_type): """Returns an rpd_file for of a given file type, or None if it does not exist""" for unique_id, rpd_file in self.rpd_files.iteritems(): if rpd_file.file_type == file_type: if rpd_file.status <> STATUS_CANNOT_DOWNLOAD: return rpd_file return None def get_unique_id_from_iter(self, iter): return self.liststore.get_value(iter, 2) def get_iter_from_unique_id(self, unique_id): treerowref = self.treerow_index[unique_id] path = treerowref.get_path() return self.liststore.get_iter(path) def on_item_activated(self, iconview, path): """ """ iter = self.liststore.get_iter(path) self.show_preview(iter=iter) self.advance_get_preview_image(iter) def _get_preview(self, unique_id, rpd_file): if unique_id not in self.previews_being_fetched: #check if preview should be from a downloaded file, or the source if rpd_file.status in DOWNLOADED: file_location = rpd_file.download_full_file_name thm_file_name = rpd_file.download_thm_full_name else: file_location = rpd_file.full_file_name thm_file_name = rpd_file.thm_full_name self.preview_manager.get_preview(unique_id, file_location, thm_file_name, rpd_file.file_type, size_max=None,) self.previews_being_fetched.add(unique_id) def show_preview(self, unique_id=None, iter=None): if len(self.liststore): if unique_id is not None: iter = self.get_iter_from_unique_id(unique_id) elif iter is not None: unique_id = self.get_unique_id_from_iter(iter) else: # neither an iter or a unique_id were passed # use iter from first selected file # if none is selected, choose the first file selected = self.get_selected_items() if selected: path = selected[0] else: path = 0 iter = self.liststore.get_iter(path) unique_id = self.get_unique_id_from_iter(iter) rpd_file = self.rpd_files[unique_id] if unique_id in self.previews: preview_image = self.previews[unique_id] else: # request daemon process to get a full size thumbnail self._get_preview(unique_id, rpd_file) if unique_id in self.thumbnails: preview_image = self.thumbnails[unique_id] else: preview_image = self.get_stock_icon(rpd_file.file_type) checked = self.liststore.get_value(iter, self.SELECTED_COL) include_checkbutton_visible = rpd_file.status == STATUS_NOT_DOWNLOADED self.rapid_app.show_preview_image(unique_id, preview_image, include_checkbutton_visible, checked) def _get_next_iter(self, iter): iter = self.liststore.iter_next(iter) if iter is None: iter = self.liststore.get_iter_first() return iter def _get_prev_iter(self, iter): row = self.liststore.get_path(iter)[0] if row == 0: row = len(self.liststore)-1 else: row -= 1 iter = self.liststore.get_iter(row) return iter def show_next_image(self, unique_id): iter = self.get_iter_from_unique_id(unique_id) iter = self._get_next_iter(iter) if iter is not None: self.show_preview(iter=iter) # cache next image self.advance_get_preview_image(iter, prev=False, next=True) def show_prev_image(self, unique_id): iter = self.get_iter_from_unique_id(unique_id) iter = self._get_prev_iter(iter) if iter is not None: self.show_preview(iter=iter) # cache next image self.advance_get_preview_image(iter, prev=True, next=False) def advance_get_preview_image(self, iter, prev=True, next=True): unique_ids = [] if next: next_iter = self._get_next_iter(iter) unique_ids.append(self.get_unique_id_from_iter(next_iter)) if prev: prev_iter = self._get_prev_iter(iter) unique_ids.append(self.get_unique_id_from_iter(prev_iter)) for unique_id in unique_ids: if not unique_id in self.previews: rpd_file = self.rpd_files[unique_id] self._get_preview(unique_id, rpd_file) def check_all(self, check_all, file_type=None): for row in self.liststore: if row[self.CHECKBUTTON_VISIBLE_COL]: if file_type is not None: if row[self.FILETYPE_COL] == file_type: row[self.SELECTED_COL] = check_all else: row[self.SELECTED_COL] = check_all self.rapid_app.set_download_action_sensitivity() def files_are_checked_to_download(self): """ Returns True if there is any file that the user has indicated they intend to download, else returns False. """ for row in self.liststore: if row[self.SELECTED_COL]: rpd_file = self.rpd_files[row[self.UNIQUE_ID_COL]] if rpd_file.status not in DOWNLOADED: return True return False def get_files_checked_for_download(self, scan_pid): """ Returns a dict of scan ids and associated files the user has indicated they want to download If scan_pid is not None, then returns only those files from that scan_pid """ files = dict() if scan_pid is None: for row in self.liststore: if row[self.SELECTED_COL]: rpd_file = self.rpd_files[row[self.UNIQUE_ID_COL]] if rpd_file.status not in DOWNLOADED: scan_pid = rpd_file.scan_pid if scan_pid in files: files[scan_pid].append(rpd_file) else: files[scan_pid] = [rpd_file,] else: files[scan_pid] = [] for unique_id in self.process_index[scan_pid]: rpd_file = self.rpd_files[unique_id] if rpd_file.status not in DOWNLOADED: iter = self.get_iter_from_unique_id(unique_id) if self.liststore.get_value(iter, self.SELECTED_COL): files[scan_pid].append(rpd_file) return files def get_no_files_remaining(self, scan_pid): """ Returns the number of files that have not yet been downloaded for the scan_pid """ i = 0 for unique_id in self.process_index[scan_pid]: rpd_file = self.rpd_files[unique_id] if rpd_file.status == STATUS_NOT_DOWNLOADED: i += 1 return i def files_remain_to_download(self): """ Returns True if any files remain that are not downloaded, else returns False """ for row in self.liststore: if row[self.DOWNLOAD_STATUS_COL] == STATUS_NOT_DOWNLOADED: return True return False def mark_download_pending(self, files_by_scan_pid): """ Sets status to download pending and updates thumbnails display """ for scan_pid in files_by_scan_pid: for rpd_file in files_by_scan_pid[scan_pid]: unique_id = rpd_file.unique_id self.rpd_files[unique_id].status = STATUS_DOWNLOAD_PENDING iter = self.get_iter_from_unique_id(unique_id) if not self.rapid_app.auto_start_is_on: # don't make the checkbox invisible immediately when on auto start # otherwise the box can be rendred at the wrong size, as it is # realized after the checkbox has already been made invisible self.liststore.set_value(iter, self.CHECKBUTTON_VISIBLE_COL, False) self.liststore.set_value(iter, self.SELECTED_COL, False) self.liststore.set_value(iter, self.DOWNLOAD_STATUS_COL, STATUS_DOWNLOAD_PENDING) icon = self.get_status_icon(STATUS_DOWNLOAD_PENDING) self.liststore.set_value(iter, self.STATUS_ICON_COL, icon) def select_image(self, unique_id): iter = self.get_iter_from_unique_id(unique_id) path = self.liststore.get_path(iter) self.select_path(path) self.scroll_to_path(path, use_align=False, row_align=0.5, col_align=0.5) def get_stock_icon(self, file_type): if file_type == rpdfile.FILE_TYPE_PHOTO: return self.stock_photo_thumbnails.stock_thumbnail_image_icon else: return self.stock_video_thumbnails.stock_thumbnail_image_icon def update_status_post_download(self, rpd_file): iter = self.get_iter_from_unique_id(rpd_file.unique_id) self.liststore.set_value(iter, self.DOWNLOAD_STATUS_COL, rpd_file.status) icon = self.get_status_icon(rpd_file.status) self.liststore.set_value(iter, self.STATUS_ICON_COL, icon) self.liststore.set_value(iter, self.CHECKBUTTON_VISIBLE_COL, False) self.rpd_files[rpd_file.unique_id] = rpd_file def generate_thumbnails(self, scan_pid): """Initiate thumbnail generation for files scanned in one process """ if scan_pid in self.process_index: rpd_files = [self.rpd_files[unique_id] for unique_id in self.process_index[scan_pid]] thumbnail_pid = self.thumbnail_manager.add_task((scan_pid, rpd_files)) self.generating_thumbnails[scan_pid] = thumbnail_pid def _set_thumbnail(self, unique_id, icon): treerowref = self.treerow_index[unique_id] path = treerowref.get_path() iter = self.liststore.get_iter(path) self.liststore.set(iter, 0, icon) def update_thumbnail(self, thumbnail_data): """ Takes the generated thumbnail and updates the display If the thumbnail_data includes a second image, that is used to update the thumbnail list using the unique_id """ unique_id = thumbnail_data[0] thumbnail_icon = thumbnail_data[1] if thumbnail_icon is not None: # get the thumbnail icon in PIL format thumbnail_icon = thumbnail_icon.get_image() if thumbnail_icon: self._set_thumbnail(unique_id, thumbnail_icon) if len(thumbnail_data) > 2: # get the 2nd image in PIL format self.thumbnails[unique_id] = thumbnail_data[2].get_image() def terminate_thumbnail_generation(self, scan_pid): """ Terminates thumbnail generation if thumbnails are currently being generated for this scan_pid """ if scan_pid in self.generating_thumbnails: terminated = True self.thumbnail_manager.terminate_process( self.generating_thumbnails[scan_pid]) del self.generating_thumbnails[scan_pid] if len(self.generating_thumbnails) == 0: self._reset_thumbnail_tracking_and_display() else: terminated = False return terminated def mark_thumbnails_needed(self, rpd_files): for rpd_file in rpd_files: if rpd_file.unique_id not in self.thumbnails: rpd_file.generate_thumbnail = True def _reset_thumbnail_tracking_and_display(self): self.rapid_app.download_progressbar.set_fraction(0.0) self.rapid_app.download_progressbar.set_text('') self.thumbnails_generated = 0 self.total_thumbs_to_generate = 0 def thumbnail_results(self, source, condition): connection = self.thumbnail_manager.get_pipe(source) conn_type, data = connection.recv() if conn_type == rpdmp.CONN_COMPLETE: scan_pid = data del self.generating_thumbnails[scan_pid] connection.close() return False else: for thumbnail_data in data: self.update_thumbnail(thumbnail_data) self.thumbnails_generated += len(data) # clear progress bar information if all thumbnails have been # extracted if self.thumbnails_generated == self.total_thumbs_to_generate: self._reset_thumbnail_tracking_and_display() else: if self.total_thumbs_to_generate: self.rapid_app.download_progressbar.set_fraction( float(self.thumbnails_generated) / self.total_thumbs_to_generate) return True def preview_results(self, unique_id, preview_full_size, preview_small): """ Receive a full size preview image and update """ self.previews_being_fetched.remove(unique_id) if preview_full_size: preview_image = preview_full_size.get_image() self.previews[unique_id] = preview_image self.rapid_app.update_preview_image(unique_id, preview_image) # user can turn off option for thumbnail generation after a scan if unique_id not in self.thumbnails and preview_small is not None: self._set_thumbnail(unique_id, preview_small.get_image()) def clear_all(self, scan_pid=None, keep_downloaded_files=False): """ Removes files from display and internal tracking. If scan_pid is not None, then only files matching that scan_pid will be removed. Otherwise, everything will be removed. If keep_downloaded_files is True, files will not be removed if they have been downloaded. """ if scan_pid is None and not keep_downloaded_files: # Here it is critically important to create a brand new liststore, # because the old one is set to be sorted, which is extremely slow. logger.debug("Creating new thumbnails model") self.set_model(None) self._create_liststore() self.treerow_index = {} self.process_index = {} self.rpd_files = {} else: if scan_pid in self.process_index: for unique_id in self.process_index[scan_pid]: rpd_file = self.rpd_files[unique_id] if not keep_downloaded_files or not rpd_file.status in DOWNLOADED: treerowref = self.treerow_index[rpd_file.unique_id] path = treerowref.get_path() iter = self.liststore.get_iter(path) self.liststore.remove(iter) del self.treerow_index[rpd_file.unique_id] del self.rpd_files[rpd_file.unique_id] if not keep_downloaded_files or not len(self.process_index[scan_pid]): del self.process_index[scan_pid] def display_thumbnails(self): self.set_model(self.liststore) class TaskManager: def __init__(self, results_callback, batch_size): self.results_callback = results_callback # List of actual process, it's terminate_queue, and it's run_event self._processes = [] self._pipes = {} self.batch_size = batch_size self.paused = False self.no_tasks = 0 def add_task(self, task): pid = self._setup_task(task) logger.debug("TaskManager PID: %s", pid) self.no_tasks += 1 return pid def _setup_task(self, task): task_results_conn, task_process_conn = self._setup_pipe() source = task_results_conn.fileno() self._pipes[source] = task_results_conn gobject.io_add_watch(source, gobject.IO_IN, self.results_callback) terminate_queue = Queue() run_event = Event() run_event.set() return self._initiate_task(task, task_results_conn, task_process_conn, terminate_queue, run_event) def _setup_pipe(self): return Pipe(duplex=False) def _initiate_task(self, task, task_process_conn, terminate_queue, run_event): logger.error("Implement child class method!") def processes(self): for i in range(len(self._processes)): yield self._processes[i] def start(self): self.paused = False for scan in self.processes(): run_event = scan[2] if not run_event.is_set(): run_event.set() def pause(self): self.paused = True for scan in self.processes(): run_event = scan[2] if run_event.is_set(): run_event.clear() def _terminate_process(self, p): self._send_termination_msg(p) # The process might be paused: let it run run_event = p[2] if not run_event.is_set(): run_event.set() def _send_termination_msg(self, p): p[1].put(None) def terminate_process(self, process_id): """ Send a signal to process with matching process_id that it should immediately terminate """ for p in self.processes(): if p[0].pid == process_id: if p[0].is_alive(): self._terminate_process(p) def request_termination(self): """ Send a signal to processes that they should immediately terminate """ requested = False for p in self.processes(): if p[0].is_alive(): requested = True self._terminate_process(p) return requested def terminate_forcefully(self): """ Forcefully terminates any running processes. Use with great caution. No cleanup action is performed. As python essential reference (4th edition) says, if the process 'holds a lock or is involved with interprocess communication, terminating it might cause a deadlock or corrupted I/O.' """ for p in self.processes(): if p[0].is_alive(): logger.info("Forcefully terminating %s in %s" , p[0].name, self.__class__.__name__) p[0].terminate() def get_pipe(self, source): return self._pipes[source] def get_no_active_processes(self): """ Returns how many processes are currently active, i.e. running """ i = 0 for p in self.processes(): if p[0].is_alive(): i += 1 return i class ScanManager(TaskManager): def __init__(self, results_callback, batch_size, add_device_function): TaskManager.__init__(self, results_callback, batch_size) self.add_device_function = add_device_function def _initiate_task(self, task, task_results_conn, task_process_conn, terminate_queue, run_event): device = task[0] ignored_paths = task[1] use_re_ignored_paths = task[2] scan = scan_process.Scan(device.get_path(), ignored_paths, use_re_ignored_paths, self.batch_size, task_process_conn, terminate_queue, run_event) scan.start() self._processes.append((scan, terminate_queue, run_event)) self.add_device_function(scan.pid, device, # This refers to when a device like a hard drive is having its contents scanned, # looking for photos or videos. It is visible initially in the progress bar for each device # (which normally holds "x photos and videos"). # It maybe displayed only briefly if the contents of the device being scanned is small. progress_bar_text=_('scanning...')) return scan.pid class CopyFilesManager(TaskManager): def _initiate_task(self, task, task_results_conn, task_process_conn, terminate_queue, run_event): photo_download_folder = task[0] video_download_folder = task[1] scan_pid = task[2] files = task[3] verify_files = task[4] modify_files_during_download = task[5] modify_pipe = task[6] copy_files = copyfiles.CopyFiles(photo_download_folder, video_download_folder, files, verify_files, modify_files_during_download, modify_pipe, scan_pid, self.batch_size, task_process_conn, terminate_queue, run_event) copy_files.start() self._processes.append((copy_files, terminate_queue, run_event)) return copy_files.pid class ThumbnailManager(TaskManager): def _initiate_task(self, task, task_results_conn, task_process_conn, terminate_queue, run_event): scan_pid = task[0] files = task[1] generator = tn.GenerateThumbnails(scan_pid, files, self.batch_size, task_process_conn, terminate_queue, run_event) generator.start() self._processes.append((generator, terminate_queue, run_event)) return generator.pid class FileModifyManager(TaskManager): """Handles the modification or verification of of downloaded files before they are renamed Duplex, multiprocess, similar to BackupFilesManager """ def __init__(self, results_callback): TaskManager.__init__(self, results_callback=results_callback, batch_size=0) self.file_modify_by_scan_pid = {} def _initiate_task(self, task, task_results_conn, task_process_conn, terminate_queue, run_event): scan_pid = task[0] auto_rotate_jpeg = task[1] focal_length = task[2] verify_file = task[3] refresh_md5_on_file_change = task[4] file_modify = filemodify.FileModify(auto_rotate_jpeg, focal_length, verify_file, refresh_md5_on_file_change, task_process_conn, terminate_queue, run_event) file_modify.start() self._processes.append((file_modify, terminate_queue, run_event, task_results_conn)) self.file_modify_by_scan_pid[scan_pid] = (task_results_conn, file_modify.pid) return file_modify.pid def _setup_pipe(self): return Pipe(duplex=True) def _send_termination_msg(self, p): p[1].put(None) p[3].send((None, None)) def get_modify_pipe(self, scan_pid): return self.file_modify_by_scan_pid[scan_pid][0] class BackupFilesManager(TaskManager): """ Handles backup processes. This is a little different from some other Task Manager classes in that its pipe is Duplex, and the work done by it is not pre-assigned when the process is started. Duplex, multiprocess. """ def __init__(self, results_callback, batch_size): TaskManager.__init__(self, results_callback, batch_size) self.backup_devices_by_path = {} def _setup_pipe(self): return Pipe(duplex=True) def _send_termination_msg(self, p): p[1].put(None) p[3].send((None, None, None, None, None, None, None)) def _initiate_task(self, task, task_results_conn, task_process_conn, terminate_queue, run_event): path = task[0] name = task[1] backup_type = task[2] backup_files = backupfile.BackupFiles(path, name, self.batch_size, task_process_conn, terminate_queue, run_event) backup_files.start() self._processes.append((backup_files, terminate_queue, run_event, task_results_conn)) self.backup_devices_by_path[path] = (task_results_conn, backup_files.pid, backup_type) return backup_files.pid def backup_file(self, move_succeeded, rpd_file, path_suffix, backup_duplicate_overwrite, verify_file, download_count): if rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: logger.debug("Backing up photo %s", rpd_file.download_name) else: logger.debug("Backing up video %s", rpd_file.download_name) for path in self.backup_devices_by_path: backup_type = self.backup_devices_by_path[path][2] do_backup = ((backup_type == PHOTO_VIDEO_BACKUP) or (rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO and backup_type == PHOTO_BACKUP) or (rpd_file.file_type == rpdfile.FILE_TYPE_VIDEO and backup_type == VIDEO_BACKUP)) if do_backup: logger.debug("Backing up to %s", path) else: logger.debug("Not backing up to %s", path) # Even if not going to backup to this device, need to send it anyway so # progress bar can be updated. Not this most efficient but the # code is much more simple task_results_conn = self.backup_devices_by_path[path][0] task_results_conn.send((move_succeeded, do_backup, rpd_file, path_suffix, backup_duplicate_overwrite, verify_file, download_count)) def add_device(self, path, name, backup_type): """ Convenience function to setup adding a backup device """ return self.add_task((path, name, backup_type)) def remove_device(self, path): pid = self.backup_devices_by_path[path][1] self.terminate_process(pid) del self.backup_devices_by_path[path] class SingleInstanceTaskManager: """ Base class to manage single instance processes. Examples are daemon processes, but also a non-daemon process that has one simple task. Core (infrastructure) functionality is implemented in this class. Derived classes should implemented functionality to actually implement specific tasks. """ def __init__(self, results_callback): self.results_callback = results_callback self.task_results_conn, self.task_process_conn = Pipe(duplex=True) source = self.task_results_conn.fileno() gobject.io_add_watch(source, gobject.IO_IN, self.task_results) class PreviewManager(SingleInstanceTaskManager): def __init__(self, results_callback): SingleInstanceTaskManager.__init__(self, results_callback) self._get_preview = tn.GetPreviewImage(self.task_process_conn) self._get_preview.start() def get_preview(self, unique_id, full_file_name, thm_file_name, file_type, size_max): self.task_results_conn.send((unique_id, full_file_name, thm_file_name, file_type, size_max)) def task_results(self, source, condition): unique_id, preview_full_size, preview_small = self.task_results_conn.recv() self.results_callback(unique_id, preview_full_size, preview_small) return True class SubfolderFileManager(SingleInstanceTaskManager): """ Manages the daemon process that renames files and creates subfolders """ def __init__(self, results_callback, sequence_values): SingleInstanceTaskManager.__init__(self, results_callback) self._subfolder_file = subfolderfile.SubfolderFile(self.task_process_conn, sequence_values) self._subfolder_file.start() logger.debug("SubfolderFile PID: %s", self._subfolder_file.pid) def rename_file_and_move_to_subfolder(self, download_succeeded, download_count, rpd_file): logger.debug("Sending file for rename: %s.", download_count) self.task_results_conn.send((download_succeeded, download_count, rpd_file)) def task_results(self, source, condition): move_succeeded, rpd_file, download_count = self.task_results_conn.recv() self.results_callback(move_succeeded, rpd_file, download_count) return True class ResizblePilImage(gtk.DrawingArea): def __init__(self, bg_color=None): gtk.DrawingArea.__init__(self) self.base_image = None self.bg_color = bg_color self.connect('expose_event', self.expose) def set_image(self, image): self.base_image = image #set up sizes and ratio used for drawing the derived image self.base_image_w = self.base_image.size[0] self.base_image_h = self.base_image.size[1] self.base_image_aspect = float(self.base_image_w) / self.base_image_h self.queue_draw() def expose(self, widget, event): cairo_context = self.window.cairo_create() x = event.area.x y = event.area.y w = event.area.width h = event.area.height #constrain operations to event area cairo_context.rectangle(x, y, w, h) cairo_context.clip_preserve() #set background color, if needed if self.bg_color: cairo_context.set_source_rgb(*self.bg_color) cairo_context.fill_preserve() if not self.base_image: return False frame_aspect = float(w) / h if frame_aspect > self.base_image_aspect: # Frame is wider than image height = h width = int(height * self.base_image_aspect) else: # Frame is taller than image width = w height = int(width / self.base_image_aspect) #resize image pil_image = self.base_image.copy() if self.base_image_w < width or self.base_image_h < height: logger.debug("Upsizing image") pil_image = tn.upsize_pil(pil_image, (width, height)) else: logger.debug("Downsizing image") tn.downsize_pil(pil_image, (width, height)) #image width and height image_w = pil_image.size[0] image_h = pil_image.size[1] #center the image horizontally and vertically #top left and right corners for the image: image_x = x + ((w - image_w) / 2) image_y = y + ((h - image_h) / 2) image = create_cairo_image_surface(pil_image, image_w, image_h) cairo_context.set_source_surface(image, image_x, image_y) cairo_context.paint() return False class PreviewImage: def __init__(self, parent_app, builder): #set background color to equivalent of '#444444 self.preview_image = ResizblePilImage(bg_color=(0.267, 0.267, 0.267)) self.preview_image_eventbox = builder.get_object("preview_eventbox") self.preview_image_eventbox.add(self.preview_image) self.preview_image.show() self.download_this_checkbutton = builder.get_object("download_this_checkbutton") self.rapid_app = parent_app self.base_preview_image = None # large size image used to scale down from self.current_preview_size = (0,0) self.preview_image_size_limit = (0,0) self.unique_id = None def set_preview_image(self, unique_id, pil_image, include_checkbutton_visible=None, checked=None): """ """ self.preview_image.set_image(pil_image) self.unique_id = unique_id if checked is not None: self.download_this_checkbutton.set_active(checked) self.download_this_checkbutton.grab_focus() if include_checkbutton_visible is not None: self.download_this_checkbutton.props.visible = include_checkbutton_visible def update_preview_image(self, unique_id, pil_image): if unique_id == self.unique_id: self.set_preview_image(unique_id, pil_image) class RapidApp(dbus.service.Object): """ The main Rapid Photo Downloader application class. Contains functionality for main program window, and directs all other processes. """ def __init__(self, bus, path, name, taskserver=None, focal_length=None, auto_detect=None, device_location=None): dbus.service.Object.__init__ (self, bus, path, name) self.running = False self.taskserver = taskserver self.focal_length = focal_length # Setup program preferences, and set callback for when they change self._init_prefs(auto_detect, device_location) # Initialize widgets in the main window, and variables that point to them self._init_widgets() if use_pynotify: self._init_pynotify() # Initialize job code handling self._init_job_code() # Remember the window size from the last time the program was run, or # set a default size self._set_window_size() # Setup various widgets self._setup_buttons() self._setup_error_icons() self._setup_icons() # Show the main window self.rapidapp.show() # Check program preferences - don't allow auto start if there is a problem prefs_valid, msg = prefsrapid.check_prefs_for_validity(self.prefs) if not prefs_valid: self.notify_prefs_are_invalid(details=msg) # Initialize variables with which to track important downloads results self._init_download_tracking() # Set up process managers. # A task such as scanning a device or copying files is handled in its # own process. self._start_process_managers() # Setup devices from which to download from and backup to self.setup_devices(on_startup=True, on_preference_change=False, block_auto_start=not prefs_valid) # Ensure the device collection scrolled window is not too small self._set_device_collection_size() def on_rapidapp_destroy(self, widget, data=None): self._terminate_processes(terminate_file_copies = True) # save window and component sizes self.prefs.vpaned_pos = self.main_vpaned.get_position() x, y, width, height = self.rapidapp.get_allocation() self.prefs.main_window_size_x = width self.prefs.main_window_size_y = height self.prefs.set_downloads_today_from_tracker(self.downloads_today_tracker) gtk.main_quit() def _terminate_processes(self, terminate_file_copies=False): if terminate_file_copies: logger.info("Terminating all processes...") scan_termination_requested = self.scan_manager.request_termination() thumbnails_termination_requested = self.thumbnails.thumbnail_manager.request_termination() backup_termination_requested = self.backup_manager.request_termination() file_modify_termination_requested = self.file_modify_manager.request_termination() if terminate_file_copies: copy_files_termination_requested = self.copy_files_manager.request_termination() else: copy_files_termination_requested = False if (scan_termination_requested or thumbnails_termination_requested or backup_termination_requested or file_modify_termination_requested): time.sleep(1) if (self.scan_manager.get_no_active_processes() > 0 or self.thumbnails.thumbnail_manager.get_no_active_processes() > 0 or self.backup_manager.get_no_active_processes() > 0 or self.file_modify_manager.get_no_active_processes() > 0): time.sleep(1) # must try again, just in case a new scan has meanwhile started! self.scan_manager.request_termination() self.thumbnails.thumbnail_manager.terminate_forcefully() self.scan_manager.terminate_forcefully() self.backup_manager.terminate_forcefully() self.file_modify_manager.terminate_forcefully() if terminate_file_copies and copy_files_termination_requested: time.sleep(1) self.copy_files_manager.terminate_forcefully() if terminate_file_copies: self._clean_all_temp_dirs() # # # # Events and tasks related to displaying preview images and thumbnails # # # def on_download_this_checkbutton_toggled(self, checkbutton): value = checkbutton.get_active() self.thumbnails.set_selected(self.preview_image.unique_id, value) self.set_download_action_sensitivity() def on_preview_eventbox_button_press_event(self, widget, event): if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1: self.show_thumbnails() def on_show_thumbnails_action_activate(self, action): logger.debug("on_show_thumbnails_action_activate") self.show_thumbnails() def on_show_image_action_activate(self, action): logger.debug("on_show_image_action_activate") self.thumbnails.show_preview() def on_check_all_action_activate(self, action): self.thumbnails.check_all(check_all=True) def on_uncheck_all_action_activate(self, action): self.thumbnails.check_all(check_all=False) def on_check_all_photos_action_activate(self, action): self.thumbnails.check_all(check_all=True, file_type=rpdfile.FILE_TYPE_PHOTO) def on_check_all_videos_action_activate(self, action): self.thumbnails.check_all(check_all=True, file_type=rpdfile.FILE_TYPE_VIDEO) def on_quit_action_activate(self, action): self.on_rapidapp_destroy(widget=self.rapidapp, data=None) def on_refresh_action_activate(self, action): self.thumbnails.clear_all() self.setup_devices(on_startup=False, on_preference_change=False, block_auto_start=True) def on_get_help_action_activate(self, action): webbrowser.open("http://www.damonlynch.net/rapid/help.html") def on_about_action_activate(self, action): self.about.set_property("name", PROGRAM_NAME) self.about.set_property("version", utilities.human_readable_version( __version__)) self.about.run() self.about.hide() def on_report_problem_action_activate(self, action): webbrowser.open("https://bugs.launchpad.net/rapid") def on_translate_action_activate(self, action): webbrowser.open("http://www.damonlynch.net/rapid/translate.html") def on_donate_action_activate(self, action): webbrowser.open("http://www.damonlynch.net/rapid/donate.html") def show_preview_image(self, unique_id, image, include_checkbutton_visible, checked): if self.main_notebook.get_current_page() == 0: # thumbnails logger.debug("Switching to preview image display") self.main_notebook.set_current_page(1) self.preview_image.set_preview_image(unique_id, image, include_checkbutton_visible, checked) self.next_image_action.set_sensitive(True) self.prev_image_action.set_sensitive(True) def update_preview_image(self, unique_id, image): self.preview_image.update_preview_image(unique_id, image) def show_thumbnails(self): logger.debug("Switching to thumbnails display") self.main_notebook.set_current_page(0) self.thumbnails.select_image(self.preview_image.unique_id) self.next_image_action.set_sensitive(False) self.prev_image_action.set_sensitive(False) def on_next_image_action_activate(self, action): if self.preview_image.unique_id is not None: self.thumbnails.show_next_image(self.preview_image.unique_id) def on_prev_image_action_activate(self, action): if self.preview_image.unique_id is not None: self.thumbnails.show_prev_image(self.preview_image.unique_id) def display_scan_thumbnails(self): """ If all the scans are complete, sets the sort order and displays thumbnails in the icon view """ if self.scan_manager.no_tasks == 0: self.thumbnails.sort_by_timestamp() self.thumbnails.display_thumbnails() # # # # Volume management # # # def start_volume_monitor(self): if not self.vmonitor: self.vmonitor = gio.volume_monitor_get() self.vmonitor.connect("mount-added", self.on_mount_added) self.vmonitor.connect("mount-removed", self.on_mount_removed) def _backup_device_name(self, path): if self.backup_devices[path][0] is None: name = path else: name = self.backup_devices[path][0].get_name() return name def start_device_scan(self, device): """ Commences the scanning of a device using the preference values for any paths to ignore while scanning """ logger.debug("Starting a device scan for device %s", device.get_name()) return self.scan_manager.add_task([device, self.prefs.ignored_paths, self.prefs.use_re_ignored_paths]) def confirm_manual_location(self): """ Queries the user to ask if they really want to download from locations that could take a very long time to scan. They can choose yes or no. Returns True if yes or there was no need to ask the user, False if the user said no. """ l = self.prefs.device_location if l in ['/media', '/run', os.path.expanduser('~'), '/']: logger.info("Prompting whether to download from %s", l) if l == '/': #this location is a human readable explanation for /, and is inserted into Downloading from %(location)s l = _('the root of the file system') c = preferencesdialog.QuestionDialog(parent_window=self.rapidapp, title=_('Rapid Photo Downloader'), #message in dialog box which asks the user if they really want to be downloading from this location question="" + _("Downloading from %(location)s.") % {'location': l} + "\n\n" + _("Do you really want to download from here? On some systems, scanning this location can take a very long time."), default_to_yes=False, use_markup=True) response = c.run() user_confirmed = response == gtk.RESPONSE_OK c.destroy() if not user_confirmed: return False return True def setup_devices(self, on_startup, on_preference_change, block_auto_start): """ Setup devices from which to download from and backup to Sets up volumes for downloading from and backing up to on_startup should be True if the program is still starting, i.e. this is being called from the program's initialization. on_preference_change should be True if this is being called as the result of a preference being changed block_auto_start should be True if automation options to automatically start a download should be ignored Removes any image media that are currently not downloaded, or finished downloading """ if self.using_volume_monitor(): self.start_volume_monitor() self.clear_non_running_downloads() if not self.prefs.device_autodetection: if not self.confirm_manual_location(): return mounts = [] self.backup_devices = {} if self.using_volume_monitor(): # either using automatically detected backup devices # or download devices for mount in self.vmonitor.get_mounts(): if not mount.is_shadowed(): path = mount.get_root().get_path() if path: if (path in self.prefs.device_blacklist and self.search_for_PSD()): logger.info("blacklisted device %s ignored", mount.get_name()) else: logger.info("Detected %s", mount.get_name()) is_backup_mount, backup_file_type = self.check_if_backup_mount(path) if is_backup_mount: self.backup_devices[path] = (mount, backup_file_type) elif (self.prefs.device_autodetection and (dv.is_DCIM_device(path) or self.search_for_PSD())): logger.debug("Appending %s", mount.get_name()) mounts.append((path, mount)) else: logger.debug("Ignoring %s", mount.get_name()) if not self.prefs.device_autodetection: # user manually specified the path from which to download path = self.prefs.device_location if path: logger.info("Using manually specified path %s", path) if utilities.is_directory(path): mounts.append((path, None)) else: logger.error("Download path does not exist: %s", path) if self.prefs.backup_images: if not self.prefs.backup_device_autodetection: self._setup_manual_backup() self._add_backup_devices() self.update_no_backup_devices() # Display amount of free space in a status bar message self.display_free_space() if block_auto_start: self.auto_start_is_on = False else: self.auto_start_is_on = ((not on_preference_change) and ((self.prefs.auto_download_at_startup and on_startup) or (self.prefs.auto_download_upon_device_insertion and not on_startup))) logger.debug("Working with %s devices", len(mounts)) for m in mounts: path, mount = m device = dv.Device(path=path, mount=mount) if not self._device_already_detected(device): if (self.search_for_PSD() and path not in self.prefs.device_whitelist): # prompt user to see if device should be used or not self.get_use_device(device) else: scan_pid = self.start_device_scan(device) if mount is not None: self.mounts_by_path[path] = scan_pid if not mounts: self.set_download_action_sensitivity() def _device_already_detected(self, device): path = device.get_path() if path in self.mounts_by_path: logger.debug("Ignoring device %s as already have path %s", device.get_name(), path) return True else: return False def _setup_manual_backup(self): """ Setup backup devices that the user has manually specified. Depending on the folder the user has chosen, the paths for photo and video backup will either be the same or they will differ. """ # user manually specified backup locations # will backup to these paths, but don't need any volume info # associated with them self.backup_devices[self.prefs.backup_location] = (None, PHOTO_BACKUP) if DOWNLOAD_VIDEO: if self.prefs.backup_location <> self.prefs.backup_video_location: self.backup_devices[self.prefs.backup_video_location] = (None, VIDEO_BACKUP) logger.info("Backing up photos to %s", self.prefs.backup_location) logger.info("Backing up videos to %s", self.prefs.backup_video_location) else: # videos and photos are being backed up to the same location self.backup_devices[self.prefs.backup_location] = (None, PHOTO_VIDEO_BACKUP) logger.info("Backing up photos and videos to %s", self.prefs.backup_location) else: logger.info("Backing up photos to %s", self.prefs.backup_location) def _add_backup_devices(self): """ Add each backup devices / path to backup manager """ for path in self.backup_devices: name = self._backup_device_name(path) backup_type = self.backup_devices[path][1] self.backup_manager.add_device(path, name, backup_type) def get_use_device(self, device): """ Prompt user whether or not to download from this device """ logger.info("Prompting whether to use %s", device.get_name()) # On some systems, e.g. Ubuntu 12.10, the GTK/Gnome environment # unexpectedly results in a device being added twice and not once. # The hack on the next line ensures the user is not prompted twice # for the same device. self.mounts_by_path[device.get_path()] = "PROMPTING" d = dv.UseDeviceDialog(self.rapidapp, device, self.got_use_device) def got_use_device(self, dialog, user_selected, permanent_choice, device): """ User has chosen whether or not to use a device to download from """ dialog.destroy() path = device.get_path() if user_selected: if permanent_choice and path not in self.prefs.device_whitelist: # do NOT do a list append operation here without the assignment, # or the actual preferences will not be updated!! if len(self.prefs.device_whitelist): self.prefs.device_whitelist = self.prefs.device_whitelist + [path] else: self.prefs.device_whitelist = [path] scan_pid = self.start_device_scan(device) self.mounts_by_path[path] = scan_pid elif permanent_choice and path not in self.prefs.device_blacklist: # do not do a list append operation here without the assignment, or the preferences will not be updated! if len(self.prefs.device_blacklist): self.prefs.device_blacklist = self.prefs.device_blacklist + [path] else: self.prefs.device_blacklist = [path] def search_for_PSD(self): """ Check to see if user preferences are to automatically search for Portable Storage Devices or not """ return self.prefs.device_autodetection_psd and self.prefs.device_autodetection def check_if_backup_mount(self, path): """ Checks to see if backups are enabled and path represents a valid backup location. It must be writeable. Checks against user preferences. Returns a tuple: (True, (one of PHOTO_VIDEO_BACKUP, PHOTO_BACKUP, or VIDEO_BACKUP)) or (False, None) """ if self.prefs.backup_images: if self.prefs.backup_device_autodetection: # Determine if the auto-detected backup device is # to be used to backup only photos, or videos, or both. # Use the presence of a corresponding directory to # determine this. # The directory must be writable. photo_path = os.path.join(path, self.prefs.backup_identifier) p_backup = os.path.isdir(photo_path) and os.access(photo_path, os.W_OK) if DOWNLOAD_VIDEO: video_path = os.path.join(path, self.prefs.video_backup_identifier) v_backup = os.path.isdir(video_path) and os.access(video_path, os.W_OK) else: v_backup = False if p_backup and v_backup: logger.info("Photos and videos will be backed up to %s", path) return (True, PHOTO_VIDEO_BACKUP) elif p_backup: logger.info("Photos will be backed up to %s", path) return (True, PHOTO_BACKUP) elif v_backup: logger.info("Videos will be backed up to %s", path) return (True, VIDEO_BACKUP) elif path == self.prefs.backup_location: # user manually specified the path if os.access(self.prefs.backup_location, os.W_OK): return (True, PHOTO_BACKUP) elif path == self.prefs.backup_video_location: # user manually specified the path if os.access(self.prefs.backup_video_location, os.W_OK): return (True, VIDEO_BACKUP) return (False, None) def update_no_backup_devices(self): self.no_photo_backup_devices = 0 self.no_video_backup_devices = 0 for path, value in self.backup_devices.iteritems(): backup_type = value[1] if backup_type == PHOTO_BACKUP: self.no_photo_backup_devices += 1 elif backup_type == VIDEO_BACKUP: self.no_video_backup_devices += 1 else: #both videos and photos are backed up to this device / path self.no_photo_backup_devices += 1 self.no_video_backup_devices += 1 logger.info("# photo backup devices: %s; # video backup devices: %s", self.no_photo_backup_devices, self.no_video_backup_devices) self.download_tracker.set_no_backup_devices(self.no_photo_backup_devices, self.no_video_backup_devices) def refresh_backup_media(self): """ Setup the backup media Assumptions: this is being called after the user has changed their preferences AND download media has already been setup """ # terminate any running backup processes self.backup_manager.request_termination() self.backup_devices = {} if self.prefs.backup_images: if not self.prefs.backup_device_autodetection: self._setup_manual_backup() else: for mount in self.vmonitor.get_mounts(): if not mount.is_shadowed(): path = mount.get_root().get_path() if path: is_backup_mount, backup_file_type = self.check_if_backup_mount(path) if is_backup_mount: # is a backup volume if path not in self.backup_devices: self.backup_devices[path] = (mount, backup_file_type) self._add_backup_devices() self.update_no_backup_devices() self.display_free_space() def using_volume_monitor(self): """ Returns True if programs needs to use gio volume monitor """ return (self.prefs.device_autodetection or (self.prefs.backup_images and self.prefs.backup_device_autodetection )) def on_mount_added(self, vmonitor, mount): """ callback run when gio indicates a new volume has been mounted """ if mount.is_shadowed(): # ignore this type of mount return path = mount.get_root().get_path() if path is not None: if path in self.prefs.device_blacklist and self.search_for_PSD(): logger.info("Device %(device)s (%(path)s) ignored" % { 'device': mount.get_name(), 'path': path}) else: is_backup_mount, backup_file_type = self.check_if_backup_mount(path) if is_backup_mount: if path not in self.backup_devices: self.backup_devices[path] = mount name = self._backup_device_name(path) self.backup_manager.add_device(path, name, backup_file_type) self.update_no_backup_devices() self.display_free_space() elif self.prefs.device_autodetection and (dv.is_DCIM_device(path) or self.search_for_PSD()): self.auto_start_is_on = self.prefs.auto_download_upon_device_insertion device = dv.Device(path=path, mount=mount) if not self._device_already_detected(device): if self.search_for_PSD() and path not in self.prefs.device_whitelist: # prompt user if device should be used or not self.get_use_device(device) else: scan_pid = self.start_device_scan(device) self.mounts_by_path[path] = scan_pid def on_mount_removed(self, vmonitor, mount): """ callback run when gio indicates a new volume has been mounted """ path = mount.get_root().get_path() # three scenarios - # the mount has been scanned but downloading has not yet started # files are being downloaded from mount (it must be a messy unmount) # files have finished downloading from mount if path in self.mounts_by_path: scan_pid = self.mounts_by_path[path] del self.mounts_by_path[path] # temp directory should be cleaned by finishing of process self.thumbnails.clear_all(scan_pid = scan_pid, keep_downloaded_files = True) self.device_collection.remove_device(scan_pid) # remove backup volumes elif path in self.backup_devices: del self.backup_devices[path] self.display_free_space() self.backup_manager.remove_device(path) self.update_no_backup_devices() # may need to disable download button and menu self.set_download_action_sensitivity() def clear_non_running_downloads(self): """ Clears the display of downloads that are currently not running """ # Stop any processes currently scanning or creating thumbnails self._terminate_processes(terminate_file_copies=False) # Remove them from the user interface for scan_pid in self.device_collection.get_all_displayed_processes(): if scan_pid not in self.download_active_by_scan_pid: self.device_collection.remove_device(scan_pid) self.thumbnails.clear_all(scan_pid=scan_pid) # # # # Download and help buttons, and menu items # # # def on_download_action_activate(self, action): """ Called when a download is activated """ if self.copy_files_manager.paused: logger.debug("Download resumed") self.resume_download() else: logger.debug("Download activated") if self.download_action_is_download: if self.need_job_code_for_naming and not self.prompting_for_job_code: self.get_job_code() else: self.start_download() else: self.pause_download() def on_help_action_activate(self, action): webbrowser.open("http://www.damonlynch.net/rapid/documentation") def on_preferences_action_activate(self, action): preferencesdialog.PreferencesDialog(self) def set_download_action_sensitivity(self): """ Sets sensitivity of Download action to enable or disable it Affects download button and menu item """ if not self.download_is_occurring(): sensitivity = False if self.scan_manager.no_tasks == 0: if self.thumbnails.files_are_checked_to_download(): sensitivity = True self.download_action.set_sensitive(sensitivity) def set_download_action_label(self, is_download): """ Toggles label betwen pause and download """ if is_download: self.download_action.set_label(_("Download")) self.download_action_is_download = True else: self.download_action.set_label(_("Pause")) self.download_action_is_download = False # # # # Job codes # # # def _init_job_code(self): self.job_code = self.last_chosen_job_code = '' self.need_job_code_for_naming = self.prefs.any_pref_uses_job_code() self.prompting_for_job_code = False def assign_job_code(self, code): """ assign job code (which may be empty) to member variable and update user preferences Update preferences only if code is not empty. Do not duplicate job code. """ self.job_code = code if code: #add this value to job codes preferences #delete any existing value which is the same #(this way it comes to the front, which is where it should be) #never modify self.prefs.job_codes in place! (or prefs become screwed up) jcs = self.prefs.job_codes while code in jcs: jcs.remove(code) self.prefs.job_codes = [code] + jcs def _get_job_code(self, post_job_code_entry_callback): """ prompt for a job code """ if not self.prompting_for_job_code: logger.debug("Prompting for Job Code") self.prompting_for_job_code = True j = preferencesdialog.JobCodeDialog(parent_window = self.rapidapp, job_codes = self.prefs.job_codes, default_job_code = self.last_chosen_job_code, post_job_code_entry_callback=post_job_code_entry_callback, entry_only = False) else: logger.debug("Already prompting for Job Code, do not prompt again") def get_job_code(self): self._get_job_code(self.got_job_code) def got_job_code(self, dialog, user_chose_code, code): dialog.destroy() self.prompting_for_job_code = False if user_chose_code: if code is None: code = '' self.assign_job_code(code) self.last_chosen_job_code = code logger.debug("Job Code %s entered", self.job_code) self.start_download() else: # user cancelled logger.debug("No Job Code entered") self.job_code = '' self.auto_start_is_on = False # # # # Download # # # def _init_download_tracking(self): """ Initialize variables to track downloads """ # Track download sizes and other values for each device. # (Scan id acts as an index to each device. A device could be scanned # more than once). self.download_tracker = downloadtracker.DownloadTracker() # Track which temporary directories are created when downloading files self.temp_dirs_by_scan_pid = dict() # Track which downloads are running self.download_active_by_scan_pid = [] def modify_files_during_download(self): """ Returns True if there is a need to modify or verify files during download""" return self.prefs.auto_rotate_jpeg or (self.focal_length is not None) or self.prefs.verify_file def start_download(self, scan_pid=None): """ Start download, renaming and backup of files. If scan_pid is specified, only files matching it will be downloaded """ files_by_scan_pid = self.thumbnails.get_files_checked_for_download(scan_pid) self.check_file_types_to_be_downloaded(files_by_scan_pid) folders_valid, invalid_dirs = self.check_download_folder_validity(files_by_scan_pid) if not folders_valid: if len(invalid_dirs) > 1: msg = _("These download folders are invalid:\n%(folder1)s\n%(folder2)s") % { 'folder1': invalid_dirs[0], 'folder2': invalid_dirs[1]} else: msg = _("This download folder is invalid:\n%s") % invalid_dirs[0] self.log_error(config.CRITICAL_ERROR, _("Download cannot proceed"), msg) else: missing_destinations = self.backup_destinations_missing() if missing_destinations is not None: # Warn user that they have specified that they want to backup a file type, but no such folder exists on backup devices if not missing_destinations[0]: logger.warning("No backup device contains a valid folder for backing up photos") msg = _("No backup device contains a valid folder for backing up %(filetype)s") % {'filetype': _('photos')} else: logger.warning("No backup device contains a valid folder for backing up videos") msg = _("No backup device contains a valid folder for backing up %(filetype)s") % {'filetype': _('videos')} self.log_error(config.WARNING, _("Backup problem"), msg) # set time download is starting if it is not already set # it is unset when all downloads are completed if self.download_start_time is None: self.download_start_time = datetime.datetime.now() # Set status to download pending self.thumbnails.mark_download_pending(files_by_scan_pid) # disable refresh and preferences change while download is occurring self.enable_prefs_and_refresh(enabled=False) for scan_pid in files_by_scan_pid: files = files_by_scan_pid[scan_pid] # if generating thumbnails for this scan_pid, stop it if self.thumbnails.terminate_thumbnail_generation(scan_pid): self.thumbnails.mark_thumbnails_needed(files) self.download_files(files, scan_pid) self.set_download_action_label(is_download = False) def pause_download(self): self.copy_files_manager.pause() # set action to display Download if not self.download_action_is_download: self.set_download_action_label(is_download = True) self.time_check.pause() def resume_download(self): for scan_pid in self.download_active_by_scan_pid: self.time_remaining.set_time_mark(scan_pid) self.time_check.set_download_mark() self.copy_files_manager.start() def download_files(self, files, scan_pid): """ Initiate downloading and renaming of files """ # Check which file types will be downloaded for this particular process no_photos_to_download = self.files_of_type_present(files, rpdfile.FILE_TYPE_PHOTO, return_file_count=True) if no_photos_to_download: photo_download_folder = self.prefs.download_folder else: photo_download_folder = None if DOWNLOAD_VIDEO: no_videos_to_download = self.files_of_type_present(files, rpdfile.FILE_TYPE_VIDEO, return_file_count=True) if no_videos_to_download: video_download_folder = self.prefs.video_download_folder else: video_download_folder = None else: video_download_folder = None no_videos_to_download = 0 photo_download_size, video_download_size = self.size_files_to_be_downloaded(files) self.download_tracker.init_stats(scan_pid=scan_pid, photo_size_in_bytes=photo_download_size, video_size_in_bytes=video_download_size, no_photos_to_download=no_photos_to_download, no_videos_to_download=no_videos_to_download) download_size = photo_download_size + video_download_size if self.prefs.backup_images: download_size = download_size + ((self.no_photo_backup_devices * photo_download_size) + (self.no_video_backup_devices * video_download_size)) self.time_remaining.set(scan_pid, download_size) self.time_check.set_download_mark() self.download_active_by_scan_pid.append(scan_pid) if len(self.download_active_by_scan_pid) > 1: self.display_summary_notification = True if self.auto_start_is_on and self.prefs.generate_thumbnails: for rpd_file in files: rpd_file.generate_thumbnail = True verify_file = self.prefs.verify_file if verify_file: # since a file might be modified in the file modify process, # if it will be backed up, need to refresh the md5 once it has # been modified refresh_md5_on_file_change = self.prefs.backup_images else: refresh_md5_on_file_change = False modify_files_during_download = self.modify_files_during_download() if modify_files_during_download: self.file_modify_manager.add_task((scan_pid, self.prefs.auto_rotate_jpeg, self.focal_length, verify_file, refresh_md5_on_file_change)) modify_pipe = self.file_modify_manager.get_modify_pipe(scan_pid) else: modify_pipe = None # Initiate copy files process self.copy_files_manager.add_task((photo_download_folder, video_download_folder, scan_pid, files, verify_file, modify_files_during_download, modify_pipe)) def copy_files_results(self, source, condition): """ Handle results from copy files process """ #FIXME: must handle early termination / pause of copy files process connection = self.copy_files_manager.get_pipe(source) conn_type, msg_data = connection.recv() if conn_type == rpdmp.CONN_PARTIAL: msg_type, data = msg_data if msg_type == rpdmp.MSG_TEMP_DIRS: scan_pid, photo_temp_dir, video_temp_dir = data self.temp_dirs_by_scan_pid[scan_pid] = (photo_temp_dir, video_temp_dir) # Report which temporary directories are being used for this # download if photo_temp_dir and video_temp_dir: logger.debug("Using temp dirs %s (photos) & %s (videos)", photo_temp_dir, video_temp_dir) elif photo_temp_dir: logger.debug("Using temp dir %s (photos)", photo_temp_dir) else: logger.debug("Using temp dir %s (videos)", video_temp_dir) elif msg_type == rpdmp.MSG_BYTES: scan_pid, total_downloaded, chunk_downloaded = data self.download_tracker.set_total_bytes_copied(scan_pid, total_downloaded) self.time_check.increment(bytes_downloaded=chunk_downloaded) percent_complete = self.download_tracker.get_percent_complete(scan_pid) self.device_collection.update_progress(scan_pid, percent_complete, None, None) self.time_remaining.update(scan_pid, bytes_downloaded=chunk_downloaded) elif msg_type == rpdmp.MSG_FILE: self.copy_file_results_single_file(data) return True else: # Process is complete, i.e. conn_type == rpdmp.CONN_COMPLETE connection.close() return False def copy_file_results_single_file(self, data): """ Handles results from one of two processes: 1. copy_files 2. file_modify Operates after a single file has been copied from the download device to the local folder. Calls the process to rename files and create subfolders (subfolderfile) """ download_succeeded, rpd_file, download_count, temp_full_file_name, thumbnail_icon, thumbnail = data if thumbnail is not None or thumbnail_icon is not None: self.thumbnails.update_thumbnail((rpd_file.unique_id, thumbnail_icon, thumbnail)) self.download_tracker.set_download_count_for_file( rpd_file.unique_id, download_count) self.download_tracker.set_download_count( rpd_file.scan_pid, download_count) rpd_file.download_start_time = self.download_start_time if download_succeeded: # Insert preference values needed for name generation rpd_file = prefsrapid.insert_pref_lists(self.prefs, rpd_file) rpd_file.strip_characters = self.prefs.strip_characters rpd_file.download_folder = self.prefs.get_download_folder_for_file_type(rpd_file.file_type) rpd_file.download_conflict_resolution = self.prefs.download_conflict_resolution rpd_file.synchronize_raw_jpg = self.prefs.must_synchronize_raw_jpg() rpd_file.job_code = self.job_code # Call this even if download did not succeed e.g. file verification error self.subfolder_file_manager.rename_file_and_move_to_subfolder( download_succeeded, download_count, rpd_file ) def file_modify_results(self, source, condition): """ 'file modify' is a process that runs immediately after 'copy files', meaning there can be more than one at one time. It runs before the renaming process. """ connection = self.file_modify_manager.get_pipe(source) conn_type, data = connection.recv() if conn_type == rpdmp.CONN_PARTIAL: self.copy_file_results_single_file(data) return True else: # Process is complete, i.e. conn_type == rpdmp.CONN_COMPLETE connection.close() return False def download_is_occurring(self): """Returns True if a file is currently being downloaded, renamed or backed up """ return not len(self.download_active_by_scan_pid) == 0 # # # # Create folder and file names for downloaded files # # # def subfolder_file_results(self, move_succeeded, rpd_file, download_count): """ Handle results of subfolder creation and file renaming """ scan_pid = rpd_file.scan_pid unique_id = rpd_file.unique_id if rpd_file.status == config.STATUS_DOWNLOADED_WITH_WARNING: self.log_error(config.WARNING, rpd_file.error_title, rpd_file.error_msg, rpd_file.error_extra_detail) if self.prefs.backup_images: if self.backup_possible(rpd_file.file_type): if self.prefs.backup_device_autodetection: if rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: path_suffix = self.prefs.backup_identifier else: path_suffix = self.prefs.video_backup_identifier else: path_suffix = None self.backup_manager.backup_file(move_succeeded, rpd_file, path_suffix, self.prefs.backup_duplicate_overwrite, self.prefs.verify_file, download_count) else: if rpd_file.status == config.STATUS_DOWNLOAD_FAILED: rpd_file.status = config.STATUS_DOWNLOAD_AND_BACKUP_FAILED else: rpd_file.status = config.STATUS_BACKUP_PROBLEM self.file_download_finished(move_succeeded, rpd_file) else: self.file_download_finished(move_succeeded, rpd_file) def backup_possible(self, file_type): if file_type == rpdfile.FILE_TYPE_PHOTO: return self.no_photo_backup_devices > 0 elif file_type == rpdfile.FILE_TYPE_VIDEO: return self.no_video_backup_devices > 0 else: logger.critical("Unrecognized file type when determining if backup is possible") def multiple_backup_devices(self, file_type): """Returns true if more than one backup device is being used for that file type """ return ((file_type == rpdfile.FILE_TYPE_PHOTO and self.no_photo_backup_devices > 1) or (file_type == rpdfile.FILE_TYPE_VIDEO and self.no_video_backup_devices > 1)) def backup_results(self, source, condition): """ Handle results sent from backup processes """ connection = self.backup_manager.get_pipe(source) conn_type, msg_data = connection.recv() if conn_type == rpdmp.CONN_PARTIAL: msg_type, data = msg_data if msg_type == rpdmp.MSG_BYTES: scan_pid, backup_pid, total_downloaded, chunk_downloaded = data self.download_tracker.increment_bytes_backed_up(scan_pid, chunk_downloaded) self.time_check.increment(bytes_downloaded=chunk_downloaded) percent_complete = self.download_tracker.get_percent_complete(scan_pid) self.device_collection.update_progress(scan_pid, percent_complete, None, None) self.time_remaining.update(scan_pid, bytes_downloaded=chunk_downloaded) elif msg_type == rpdmp.MSG_FILE: backup_succeeded, do_backup, rpd_file = data # Only show an error message if there is more than one device # backing up files of this type - if that is the case, # do not want to rely on showing an error message in the # function file_download_finished, as it is only called once, # when all files have been backed up if not backup_succeeded and self.multiple_backup_devices(rpd_file.file_type) and do_backup: self.log_error(config.SERIOUS_ERROR, rpd_file.error_title, rpd_file.error_msg, rpd_file.error_extra_detail) if do_backup: self.download_tracker.file_backed_up(rpd_file.unique_id) if self.download_tracker.all_files_backed_up(rpd_file.unique_id, rpd_file.file_type): logger.debug("File %s will not be backed up to any more locations", rpd_file.download_name) self.file_download_finished(backup_succeeded or not do_backup, rpd_file) return True else: return False def file_download_finished(self, succeeded, rpd_file): """ Called when a file has been downloaded i.e. copied, renamed, and backed up """ scan_pid = rpd_file.scan_pid unique_id = rpd_file.unique_id # Update error log window if neccessary if not succeeded and not self.multiple_backup_devices(rpd_file.file_type): self.log_error(config.SERIOUS_ERROR, rpd_file.error_title, rpd_file.error_msg, rpd_file.error_extra_detail) elif self.prefs.auto_delete: # record which files to automatically delete when download # completes self.download_tracker.add_to_auto_delete(rpd_file) self.thumbnails.update_status_post_download(rpd_file) self.download_tracker.file_downloaded_increment(scan_pid, rpd_file.file_type, rpd_file.status) completed, files_remaining = self._update_file_download_device_progress(scan_pid, unique_id, rpd_file.file_type) if self.download_is_occurring(): self.update_time_remaining() if completed: # Last file for this scan pid has been downloaded, so clean temp directory logger.debug("Purging temp directories") self._clean_temp_dirs_for_scan_pid(scan_pid) if self.prefs.auto_delete: logger.debug("Auto deleting files") self.auto_delete(scan_pid) self.download_tracker.clear_auto_delete(scan_pid) self.download_active_by_scan_pid.remove(scan_pid) self.time_remaining.remove(scan_pid) self.notify_downloaded_from_device(scan_pid) if files_remaining == 0 and self.prefs.auto_unmount: self.device_collection.unmount(scan_pid) if not self.download_is_occurring(): logger.debug("Download completed") self.enable_prefs_and_refresh(enabled=True) self.notify_download_complete() self.download_progressbar.set_fraction(0.0) self.prefs.stored_sequence_no = self.stored_sequence_value.value self.downloads_today_tracker.set_raw_downloads_today_from_int(self.downloads_today_value.value) self.downloads_today_tracker.set_raw_downloads_today_date(self.downloads_today_date_value.value) self.prefs.set_downloads_today_from_tracker(self.downloads_today_tracker) if ((self.prefs.auto_exit and self.download_tracker.no_errors_or_warnings()) or self.prefs.auto_exit_force): if not self.thumbnails.files_remain_to_download(): self._terminate_processes() gtk.main_quit() self.download_tracker.purge_all() self.speed_label.set_label(" ") self.display_free_space() self.set_download_action_label(is_download=True) self.set_download_action_sensitivity() self.job_code = '' self.download_start_time = None def update_time_remaining(self): update, download_speed = self.time_check.check_for_update() if update: self.speed_label.set_text(download_speed) time_remaining = self.time_remaining.time_remaining() if time_remaining: secs = int(time_remaining) if secs == 0: message = "" elif secs == 1: message = _("About 1 second remaining") elif secs < 60: message = _("About %i seconds remaining") % secs elif secs == 60: message = _("About 1 minute remaining") else: # Translators: in the text '%(minutes)i:%(seconds)02i', only the : should be translated, if needed. # '%(minutes)i' and '%(seconds)02i' should not be modified or left out. They are used to format and display the amount # of time the download has remainging, e.g. 'About 5:36 minutes remaining' message = _("About %(minutes)i:%(seconds)02i minutes remaining") % {'minutes': secs / 60, 'seconds': secs % 60} self.rapid_statusbar.pop(self.statusbar_context_id) self.rapid_statusbar.push(self.statusbar_context_id, message) def auto_delete(self, scan_pid): """Delete files from download device at completion of download""" for file in self.download_tracker.get_files_to_auto_delete(scan_pid): f = gio.File(file) try: f.delete(cancellable=None) except gio.Error, inst: logger.error("Failure deleting file %s", file) logger.error(inst) def file_types_by_number(self, no_photos, no_videos): """ returns a string to be displayed to the user that can be used to show if a value refers to photos or videos or both, or just one of each """ if (no_videos > 0) and (no_photos > 0): v = _('photos and videos') elif (no_videos == 0) and (no_photos == 0): v = _('photos or videos') elif no_videos > 0: if no_videos > 1: v = _('videos') else: v = _('video') else: if no_photos > 1: v = _('photos') else: v = _('photo') return v def notify_downloaded_from_device(self, scan_pid): device = self.device_collection.get_device(scan_pid) if device.mount is None: notification_name = PROGRAM_NAME icon = self.application_icon else: notification_name = device.get_name() icon = device.get_icon(self.notification_icon_size) no_photos_downloaded = self.download_tracker.get_no_files_downloaded( scan_pid, rpdfile.FILE_TYPE_PHOTO) no_videos_downloaded = self.download_tracker.get_no_files_downloaded( scan_pid, rpdfile.FILE_TYPE_VIDEO) no_photos_failed = self.download_tracker.get_no_files_failed( scan_pid, rpdfile.FILE_TYPE_PHOTO) no_videos_failed = self.download_tracker.get_no_files_failed( scan_pid, rpdfile.FILE_TYPE_VIDEO) no_files_downloaded = no_photos_downloaded + no_videos_downloaded no_files_failed = no_photos_failed + no_videos_failed no_warnings = self.download_tracker.get_no_warnings(scan_pid) file_types = self.file_types_by_number(no_photos_downloaded, no_videos_downloaded) file_types_failed = self.file_types_by_number(no_photos_failed, no_videos_failed) message = _("%(noFiles)s %(filetypes)s downloaded") % \ {'noFiles':no_files_downloaded, 'filetypes': file_types} if no_files_failed: message += "\n" + _("%(noFiles)s %(filetypes)s failed to download") % {'noFiles':no_files_failed, 'filetypes':file_types_failed} if no_warnings: message = "%s\n%s " % (message, no_warnings) + _("warnings") if use_pynotify: n = pynotify.Notification(notification_name, message) n.set_icon_from_pixbuf(icon) try: n.show() except: logger.error("Unable to display message using notification system") def notify_download_complete(self): if self.display_summary_notification: message = _("All downloads complete") # photo downloads photo_downloads = self.download_tracker.total_photos_downloaded if photo_downloads: filetype = self.file_types_by_number(photo_downloads, 0) message += "\n" + _("%(number)s %(numberdownloaded)s") % \ {'number': photo_downloads, 'numberdownloaded': _("%(filetype)s downloaded") % \ {'filetype': filetype}} # photo failures photo_failures = self.download_tracker.total_photo_failures if photo_failures: filetype = self.file_types_by_number(photo_failures, 0) message += "\n" + _("%(number)s %(numberdownloaded)s") % \ {'number': photo_failures, 'numberdownloaded': _("%(filetype)s failed to download") % \ {'filetype': filetype}} # video downloads video_downloads = self.download_tracker.total_videos_downloaded if video_downloads: filetype = self.file_types_by_number(0, video_downloads) message += "\n" + _("%(number)s %(numberdownloaded)s") % \ {'number': video_downloads, 'numberdownloaded': _("%(filetype)s downloaded") % \ {'filetype': filetype}} # video failures video_failures = self.download_tracker.total_video_failures if video_failures: filetype = self.file_types_by_number(0, video_failures) message += "\n" + _("%(number)s %(numberdownloaded)s") % \ {'number': video_failures, 'numberdownloaded': _("%(filetype)s failed to download") % \ {'filetype': filetype}} # warnings warnings = self.download_tracker.total_warnings if warnings: message += "\n" + _("%(number)s %(numberdownloaded)s") % \ {'number': warnings, 'numberdownloaded': _("warnings")} if use_pynotify: n = pynotify.Notification(PROGRAM_NAME, message) n.set_icon_from_pixbuf(self.application_icon) try: n.show() except: logger.error("Unable to display message using notification system") self.display_summary_notification = False # don't show it again unless needed def _update_file_download_device_progress(self, scan_pid, unique_id, file_type): """ Increments the progress bar for an individual device Returns if the download is completed for that scan_pid It also returns the number of files remaining for the scan_pid, BUT this value is valid ONLY if the download is completed """ files_downloaded = self.download_tracker.get_download_count_for_file(unique_id) files_to_download = self.download_tracker.get_no_files_in_download(scan_pid) file_types = self.download_tracker.get_file_types_present(scan_pid) completed = files_downloaded == files_to_download if completed and (self.prefs.backup_images and self.backup_possible(file_type)): completed = self.download_tracker.all_files_backed_up(unique_id, file_type) if completed: files_remaining = self.thumbnails.get_no_files_remaining(scan_pid) else: files_remaining = 0 if completed and files_remaining: # e.g.: 3 of 205 photos and videos (202 remaining) progress_bar_text = _("%(number)s of %(total)s %(filetypes)s (%(remaining)s remaining)") % { 'number': files_downloaded, 'total': files_to_download, 'filetypes': file_types, 'remaining': files_remaining} else: # e.g.: 205 of 205 photos and videos progress_bar_text = _("%(number)s of %(total)s %(filetypes)s") % \ {'number': files_downloaded, 'total': files_to_download, 'filetypes': file_types} percent_complete = self.download_tracker.get_percent_complete(scan_pid) self.device_collection.update_progress(scan_pid=scan_pid, percent_complete=percent_complete, progress_bar_text=progress_bar_text, bytes_downloaded=None) percent_complete = self.download_tracker.get_overall_percent_complete() self.download_progressbar.set_fraction(percent_complete) return (completed, files_remaining) def _clean_all_temp_dirs(self): """ Cleans all temp dirs if they exist """ for scan_pid in self.temp_dirs_by_scan_pid: for temp_dir in self.temp_dirs_by_scan_pid[scan_pid]: self._purge_dir(temp_dir) self.temp_dirs_by_scan_pid = {} def _clean_temp_dirs_for_scan_pid(self, scan_pid): """ Deletes temp files and folders used in download """ for temp_dir in self.temp_dirs_by_scan_pid[scan_pid]: self._purge_dir(temp_dir) del self.temp_dirs_by_scan_pid[scan_pid] def _purge_dir(self, directory): """ Deletes all files in the directory, and the directory itself. Does not recursively traverse any subfolders in the directory. """ if directory: try: path = gio.File(directory) # first delete any files in the temp directory # assume there are no directories in the temp directory file_attributes = "standard::name,standard::type" children = path.enumerate_children(file_attributes) for child in children: f = path.get_child(child.get_name()) f.delete(cancellable=None) path.delete(cancellable=None) logger.debug("Deleted directory %s", directory) except gio.Error, inst: logger.error("Failure deleting temporary folder %s", directory) logger.error(inst) # # # # Preferences # # # def _init_prefs(self, auto_detect, device_location): self.prefs = prefsrapid.RapidPreferences() # handle device preferences set from the command line # do this before preference changes are handled with notify_add if auto_detect: self.prefs.device_autodetection = True elif device_location: self.prefs.device_location = device_location self.prefs.device_autodetection = False self.prefs.notify_add(self.on_preference_changed) # flag to indicate whether the user changed some preferences that # indicate the image and backup devices should be setup again self.rerun_setup_available_image_and_video_media = False self.rerun_setup_available_backup_media = False # flag to indicate that the preferences dialog window is being # displayed to the user self.preferences_dialog_displayed = False # flag to indicate that the user has modified the download today # related values in the preferences dialog window self.refresh_downloads_today = False # these values are used to track the number of backup devices / # locations for each file type self.no_photo_backup_devices = 0 self.no_video_backup_devices = 0 self.downloads_today_tracker = self.prefs.get_downloads_today_tracker() downloads_today = self.downloads_today_tracker.get_and_maybe_reset_downloads_today() if downloads_today > 0: logger.info("Downloads that have occurred so far today: %s", downloads_today) else: logger.info("No downloads have occurred so far today") self.downloads_today_value = Value(c_int, self.downloads_today_tracker.get_raw_downloads_today()) self.downloads_today_date_value = Array(c_char, self.downloads_today_tracker.get_raw_downloads_today_date()) self.day_start_value = Array(c_char, self.downloads_today_tracker.get_raw_day_start()) self.refresh_downloads_today_value = Value(c_bool, False) self.stored_sequence_value = Value(c_int, self.prefs.stored_sequence_no) self.uses_stored_sequence_no_value = Value(c_bool, self.prefs.any_pref_uses_stored_sequence_no()) self.uses_session_sequece_no_value = Value(c_bool, self.prefs.any_pref_uses_session_sequece_no()) self.uses_sequence_letter_value = Value(c_bool, self.prefs.any_pref_uses_sequence_letter_value()) self.check_prefs_upgrade(__version__) self.prefs.program_version = __version__ def _check_for_sequence_value_use(self): self.uses_stored_sequence_no_value.value = self.prefs.any_pref_uses_stored_sequence_no() self.uses_session_sequece_no_value.value = self.prefs.any_pref_uses_session_sequece_no() self.uses_sequence_letter_value.value = self.prefs.any_pref_uses_sequence_letter_value() def check_prefs_upgrade(self, running_version): """ Checks if the running version of the program is different from the version recorded in the preferences. If the version is different, the preferences are checked to see whether they should be upgraded or not. """ previous_version = self.prefs.program_version if len(previous_version) > 0: # the program has been run previously for this user pv = utilities.pythonify_version(previous_version) rv = utilities.pythonify_version(running_version) if pv <> rv: # 0.4.1 and below had only one manual backup location # 0.4.2 introduced a distinct video back up location that can be manually set # Therefore must duplicate the previous photo & video manual backup location into the # new video field, unless it has already been changed already. if pv < utilities.pythonify_version('0.4.2'): if self.prefs.backup_video_location == os.path.expanduser('~'): self.prefs.backup_video_location = self.prefs.backup_location logger.info("Migrated manual backup location preference to videos: %s", self.prefs.backup_video_location) def on_preference_changed(self, key, value): """ Called when user changes the program's preferences """ logger.debug("Preference change detected: %s", key) if key == 'show_log_dialog': self.menu_log_window.set_active(value) elif key in ['device_autodetection', 'device_autodetection_psd', 'device_location', 'ignored_paths', 'use_re_ignored_paths', 'device_blacklist']: self.rerun_setup_available_image_and_video_media = True self._set_from_toolbar_state() if not self.preferences_dialog_displayed: self.post_preference_change() elif key in ['backup_images', 'backup_device_autodetection', 'backup_location', 'backup_video_location', 'backup_identifier', 'video_backup_identifier']: self.rerun_setup_available_backup_media = True if not self.preferences_dialog_displayed: self.post_preference_change() # Downloads today and stored sequence numbers are kept in shared memory, # so that the subfolderfile daemon process can access and modify them # Note, totally ignore any changes in downloads today, as it # is modified in a special manner via a tracking class elif key == 'stored_sequence_no': if type(value) <> types.IntType: logger.critical("Stored sequence number value is malformed") else: self.stored_sequence_value.value = value elif key in ['image_rename', 'subfolder', 'video_rename', 'video_subfolder']: self.need_job_code_for_naming = self.prefs.any_pref_uses_job_code() # Check if stored sequence no is being used self._check_for_sequence_value_use() elif key in ['download_folder', 'video_download_folder']: self._set_to_toolbar_values() self.display_free_space() def post_preference_change(self): if self.rerun_setup_available_image_and_video_media: logger.info("Download device settings preferences were changed") self.thumbnails.clear_all() self.setup_devices(on_startup = False, on_preference_change = True, block_auto_start = True) self._set_device_collection_size() if self.main_notebook.get_current_page() == 1: # preview of file self.main_notebook.set_current_page(0) self.rerun_setup_available_image_and_video_media = False if self.rerun_setup_available_backup_media: if self.using_volume_monitor(): self.start_volume_monitor() logger.info("Backup preferences were changed.") self.refresh_backup_media() self.rerun_setup_available_backup_media = False if self.refresh_downloads_today: self.downloads_today_value.value = self.downloads_today_tracker.get_raw_downloads_today() self.downloads_today_date_value.value = self.downloads_today_tracker.get_raw_downloads_today_date() self.day_start_value.value = self.downloads_today_tracker.get_raw_day_start() self.refresh_downloads_today_value.value = True self.prefs.set_downloads_today_from_tracker(self.downloads_today_tracker) # # # # Main app window management and setup # # # def _init_pynotify(self): """ Initialize system notification messages """ if not pynotify.init("TestCaps"): logger.warning("There might be problems using pynotify.") do_not_size_icon = False self.notification_icon_size = 48 try: info = pynotify.get_server_info() except: logger.warning("Desktop environment notification server is incorrectly configured.") else: try: if info["name"] == 'notify-osd': do_not_size_icon = True except: pass if do_not_size_icon: self.application_icon = gtk.gdk.pixbuf_new_from_file( paths.share_dir('glade3/rapid-photo-downloader.svg')) else: self.application_icon = gtk.gdk.pixbuf_new_from_file_at_size( paths.share_dir('glade3/rapid-photo-downloader.svg'), self.notification_icon_size, self.notification_icon_size) def _init_widgets(self): """ Initialize widgets in the main window, and variables that point to them """ builder = gtk.Builder() builder.set_translation_domain(config.APP_NAME) self.builder = builder builder.add_from_file(paths.share_dir("glade3/rapid.ui")) self.rapidapp = builder.get_object("rapidapp") self.from_toolbar = builder.get_object("from_toolbar") self.copy_toolbar = builder.get_object("copy_toolbar") self.dest_toolbar = builder.get_object("dest_toolbar") self.menu_toolbar = builder.get_object("menu_toolbar") self.main_vpaned = builder.get_object("main_vpaned") self.main_notebook = builder.get_object("main_notebook") self.download_action = builder.get_object("download_action") self.download_button = builder.get_object("download_button") self.download_progressbar = builder.get_object("download_progressbar") self.rapid_statusbar = builder.get_object("rapid_statusbar") self.statusbar_context_id = self.rapid_statusbar.get_context_id("progress") self.device_collection_scrolledwindow = builder.get_object("device_collection_scrolledwindow") self.next_image_action = builder.get_object("next_image_action") self.prev_image_action = builder.get_object("prev_image_action") self.menu_log_window = builder.get_object("menu_log_window") self.speed_label = builder.get_object("speed_label") self.refresh_action = builder.get_object("refresh_action") self.preferences_action = builder.get_object("preferences_action") # Only enable this action when actually displaying a preview self.next_image_action.set_sensitive(False) self.prev_image_action.set_sensitive(False) self._init_toolbars() # About dialog builder.add_from_file(paths.share_dir("glade3/about.ui")) self.about = builder.get_object("about") builder.connect_signals(self) self.preview_image = PreviewImage(self, builder) thumbnails_scrolledwindow = builder.get_object('thumbnails_scrolledwindow') self.thumbnails = ThumbnailDisplay(self) thumbnails_scrolledwindow.add(self.thumbnails) #collection of devices from which to download self.device_collection_viewport = builder.get_object("device_collection_viewport") self.device_collection = DeviceCollection(self) self.device_collection_viewport.add(self.device_collection) #error log window self.error_log = errorlog.ErrorLog(self) # monitor to handle mounts and dismounts self.vmonitor = None # track scan ids for mount paths - very useful when a device is unmounted self.mounts_by_path = {} # Download action state self.download_action_is_download = True # Track the time a download commences self.download_start_time = None # Whether a system wide notifcation message should be shown # after a download has occurred in parallel self.display_summary_notification = False # Values used to display how much longer a download will take self.time_remaining = downloadtracker.TimeRemaining() self.time_check = downloadtracker.TimeCheck() def _init_toolbars(self): """ Setup the 3 vertical toolbars on the main screen """ self._setup_from_toolbar() self._setup_copy_move_toolbar() self._setup_dest_toolbar() # size label widths so they are equal, or else the left border of the file chooser will not match self.photo_dest_label.realize() self._make_widget_widths_equal(self.photo_dest_label, self.video_dest_label) self.photo_dest_label.set_alignment(xalign=0.0, yalign=0.5) self.video_dest_label.set_alignment(xalign=0.0, yalign=0.5) # size copy / move buttons so they are equal in length, so arrows align self._make_widget_widths_equal(self.copy_button, self.move_button) def _setup_from_toolbar(self): self.from_toolbar.set_style(gtk.TOOLBAR_TEXT) self.from_toolbar.set_border_width(5) from_label = gtk.Label() from_label.set_markup("" + _("From") + "") self.from_toolbar_label = gtk.ToolItem() self.from_toolbar_label.add(from_label) self.from_toolbar_label.set_is_important(True) self.from_toolbar.insert(self.from_toolbar_label, 0) self.auto_detect_button = gtk.ToggleToolButton() self.auto_detect_button.set_is_important(True) self.auto_detect_button.set_label(_("Auto Detect")) self.from_toolbar.insert(self.auto_detect_button, 1) self.from_filechooser_button = gtk.FileChooserButton( _("Select a folder containing %(file_types)s") % {'file_types':file_types_to_download()}) self.from_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) self.from_filechooser = gtk.ToolItem() self.from_filechooser.set_is_important(True) self.from_filechooser.add(self.from_filechooser_button) self.from_filechooser.set_expand(True) self.from_toolbar.insert(self.from_filechooser, 2) self._set_from_toolbar_state() #set events after having initialized the values self.auto_detect_button.connect("toggled", self.on_auto_detect_button_toggled_event) self.from_filechooser_button.connect("selection-changed", self.on_from_filechooser_button_selection_changed) self.from_toolbar.show_all() def _setup_copy_move_toolbar(self): self.copy_toolbar.set_style(gtk.TOOLBAR_TEXT) self.copy_toolbar.set_border_width(5) copy_move_label = gtk.Label(" ") self.copy_move_toolbar_label = gtk.ToolItem() self.copy_move_toolbar_label.add(copy_move_label) self.copy_move_toolbar_label.set_is_important(True) self.copy_toolbar.insert(self.copy_move_toolbar_label, 0) self.copy_hbox = gtk.HBox() self.move_hbox = gtk.HBox() self.forward_image = gtk.image_new_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_SMALL_TOOLBAR) self.forward_image2 = gtk.image_new_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_SMALL_TOOLBAR) self.forward_image3 = gtk.image_new_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_SMALL_TOOLBAR) self.forward_image4 = gtk.image_new_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_SMALL_TOOLBAR) self.forward_label = gtk.Label(" ") self.forward_label2 = gtk.Label(" ") self.forward_label3 = gtk.Label(" ") self.forward_label4 = gtk.Label(" ") self.copy_button = gtk.RadioToolButton() self.copy_button.set_label(_("Copy")) self.copy_button.set_is_important(True) self.copy_hbox.pack_start(self.forward_label) self.copy_hbox.pack_start(self.forward_image) self.copy_hbox.pack_start(self.copy_button, expand=False, fill=False) self.copy_hbox.pack_start(self.forward_image2) self.copy_hbox.pack_start(self.forward_label2) copy_box = gtk.ToolItem() copy_box.add(self.copy_hbox) self.copy_toolbar.insert(copy_box, 1) self.move_button = gtk.RadioToolButton(self.copy_button) self.move_button.set_label(_("Move")) self.move_button.set_is_important(True) self.move_hbox.pack_start(self.forward_label3) self.move_hbox.pack_start(self.forward_image3) self.move_hbox.pack_start(self.move_button, expand=False, fill=False) self.move_hbox.pack_start(self.forward_image4) self.move_hbox.pack_start(self.forward_label4) move_box = gtk.ToolItem() move_box.add(self.move_hbox) self.copy_toolbar.insert(move_box, 2) self.move_button.set_active(self.prefs.auto_delete) self.copy_button.connect("toggled", self.on_copy_button_toggle_event) self.copy_toolbar.show_all() self._set_copy_toolbar_active_arrows() def _setup_dest_toolbar(self): #Destination Toolbar self.dest_toolbar.set_border_width(5) dest_label = gtk.Label() dest_label.set_markup("" + _("To") + "") self.dest_toolbar_label = gtk.ToolItem() self.dest_toolbar_label.add(dest_label) self.dest_toolbar_label.set_is_important(True) self.dest_toolbar.insert(self.dest_toolbar_label, 0) photo_dest_hbox = gtk.HBox() self.photo_dest_label = gtk.Label(_("Photos:")) self.to_photo_filechooser_button = gtk.FileChooserButton( _("Select a folder to download photos to")) self.to_photo_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) photo_dest_hbox.pack_start(self.photo_dest_label, expand=False, fill=False, padding=6) photo_dest_hbox.pack_start(self.to_photo_filechooser_button) self.to_photo_filechooser = gtk.ToolItem() self.to_photo_filechooser.set_is_important(True) self.to_photo_filechooser.set_expand(True) self.to_photo_filechooser.add(photo_dest_hbox) self.dest_toolbar.insert(self.to_photo_filechooser, 1) video_dest_hbox = gtk.HBox() self.video_dest_label = gtk.Label(_("Videos:")) self.to_video_filechooser_button = gtk.FileChooserButton( _("Select a folder to download videos to")) self.to_video_filechooser_button.set_action( gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) video_dest_hbox.pack_start(self.video_dest_label, expand=False, fill=False, padding=6) video_dest_hbox.pack_start(self.to_video_filechooser_button) self.to_video_filechooser = gtk.ToolItem() self.to_video_filechooser.set_is_important(True) self.to_video_filechooser.set_expand(True) self.to_video_filechooser.add(video_dest_hbox) self.dest_toolbar.insert(self.to_video_filechooser, 2) self._set_to_toolbar_values() self.to_photo_filechooser_button.connect("selection-changed", self.on_to_photo_filechooser_button_selection_changed) #~ self.to_photo_filechooser_button.connect("file-set", #~ self.on_to_photo_filechooser_button_file_set) #~ self.to_photo_filechooser_button.connect("current-folder-changed", #~ self.on_to_photo_filechooser_button_current_folder_changed) self.to_video_filechooser_button.connect("selection-changed", self.on_to_video_filechooser_button_selection_changed) self.dest_toolbar.show_all() def _make_widget_widths_equal(self, widget1, widget2): """takes two widgets and sets a width for both equal to widest one""" x1, y1, w1, h1 = widget1.get_allocation() x2, y2, w2, h2 = widget2.get_allocation() w = max(w1, w2) h = max(h1, h2) widget1.set_size_request(w,h) widget2.set_size_request(w,h) def _set_copy_toolbar_active_arrows(self): if self.copy_button.get_active(): self.forward_image.set_visible(True) self.forward_image2.set_visible(True) self.forward_image3.set_visible(False) self.forward_image4.set_visible(False) self.forward_label.set_visible(False) self.forward_label2.set_visible(False) self.forward_label3.set_visible(True) self.forward_label4.set_visible(True) else: self.forward_image.set_visible(False) self.forward_image2.set_visible(False) self.forward_image3.set_visible(True) self.forward_image4.set_visible(True) self.forward_label.set_visible(True) self.forward_label2.set_visible(True) self.forward_label3.set_visible(False) self.forward_label4.set_visible(False) def on_copy_button_toggle_event(self, radio_button): self._set_copy_toolbar_active_arrows() self.prefs.auto_delete = not self.copy_button.get_active() def _set_from_toolbar_state(self): logger.debug("_set_from_toolbar_state") self.auto_detect_button.set_active(self.prefs.device_autodetection) if self.prefs.device_autodetection: self.from_filechooser_button.set_sensitive(False) self.from_filechooser_button.set_current_folder(self.prefs.device_location) def on_auto_detect_button_toggled_event(self, button): logger.debug("on_auto_detect_button_toggled_event") self.from_filechooser_button.set_sensitive(not button.get_active()) if not self.rerun_setup_available_image_and_video_media: self.prefs.device_autodetection = button.get_active() def on_from_filechooser_button_selection_changed(self, filechooserbutton): logger.debug("on_from_filechooser_button_selection_changed") path = get_folder_selection(filechooserbutton) if path and not self.rerun_setup_available_image_and_video_media: self.prefs.device_location = path def on_from_filechooser_button_file_set(self, button): logger.debug("on_from_filechooser_button_file_set") def on_to_photo_filechooser_button_file_set(self, filechooserbutton): logger.debug("on_to_filechooser_button_file_set") def on_to_photo_filechooser_button_selection_changed(self, filechooserbutton): logger.debug("on_to_filechooser_button_selection_changed") path = get_folder_selection(filechooserbutton) #~ logger.debug("Path: %s", path) if path: self.prefs.download_folder = path def on_to_photo_filechooser_button_current_folder_changed(self, filechooserbutton): logger.debug("on_to_photo_filechooser_button_current_folder_changed") def on_to_video_filechooser_button_selection_changed(self, filechooserbutton): path = get_folder_selection(filechooserbutton) if path: self.prefs.video_download_folder = path def _set_to_toolbar_values(self): self.to_photo_filechooser_button.set_current_folder(self.prefs.download_folder) self.to_video_filechooser_button.set_current_folder(self.prefs.video_download_folder) def toolbar_event(self, widget, toolbar): pass def _set_window_size(self): """ Remember the window size from the last time the program was run, or set a default size """ if self.prefs.main_window_maximized: self.rapidapp.maximize() self.rapidapp.set_default_size(config.DEFAULT_WINDOW_WIDTH, config.DEFAULT_WINDOW_HEIGHT) elif self.prefs.main_window_size_x > 0: self.rapidapp.set_default_size(self.prefs.main_window_size_x, self.prefs.main_window_size_y) else: # set a default size self.rapidapp.set_default_size(config.DEFAULT_WINDOW_WIDTH, config.DEFAULT_WINDOW_HEIGHT) def _set_device_collection_size(self): """ Set the size of the device collection scrolled window widget """ if self.device_collection.map_process_to_row: height = max(self.device_collection_viewport.size_request()[1], 24) self.device_collection_scrolledwindow.set_size_request(-1, height) self.main_vpaned.set_position(height) else: # don't allow the media collection to be absolutely empty self.device_collection_scrolledwindow.set_size_request(-1, 47) def on_rapidapp_window_state_event(self, widget, event): """ Records the window maximization state in the preferences.""" if event.changed_mask & gdk.WINDOW_STATE_MAXIMIZED: self.prefs.main_window_maximized = event.new_window_state & gdk.WINDOW_STATE_MAXIMIZED def _setup_buttons(self): thumbnails_button = self.builder.get_object("thumbnails_button") image = gtk.image_new_from_file(paths.share_dir('glade3/thumbnails_icon.png')) thumbnails_button.set_image(image) preview_button = self.builder.get_object("preview_button") image = gtk.image_new_from_file(paths.share_dir('glade3/photo_icon.png')) preview_button.set_image(image) next_image_button = self.builder.get_object("next_image_button") image = gtk.image_new_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_BUTTON) next_image_button.set_image(image) prev_image_button = self.builder.get_object("prev_image_button") image = gtk.image_new_from_stock(gtk.STOCK_GO_BACK, gtk.ICON_SIZE_BUTTON) prev_image_button.set_image(image) def _setup_icons(self): icons = ['rapid-photo-downloader-jobcode',] icon_list = [(icon, paths.share_dir('glade3/%s.svg' % icon)) for icon in icons] register_iconsets(icon_list) def _setup_error_icons(self): """ hide display of warning and error symbols in the taskbar until they are needed """ self.error_image = self.builder.get_object("error_image") self.warning_image = self.builder.get_object("warning_image") self.warning_vseparator = self.builder.get_object("warning_vseparator") self.error_image.hide() self.warning_image.hide() self.warning_vseparator.hide() def enable_prefs_and_refresh(self, enabled): """ If enable is true, then the user is able to activate the preferences or refresh command. The intention is to be able to disable this during a download """ self.refresh_action.set_sensitive(enabled) self.preferences_action.set_sensitive(enabled) def statusbar_message(self, msg): self.rapid_statusbar.push(self.statusbar_context_id, msg) def statusbar_message_remove(self): self.rapid_statusbar.pop(self.statusbar_context_id) def display_backup_mounts(self): """ Create a message to be displayed to the user showing which backup mounts will be used """ message = '' paths = self.backup_devices.keys() i = 0 v = len(paths) prefix = '' for b in paths: if v > 1: if i < (v -1) and i > 0: prefix = ', ' elif i == (v - 1) : prefix = " " + _("and") + " " i += 1 message = "%s%s'%s'" % (message, prefix, self.backup_devices[b][0].get_name()) if v > 1: message = _("Using backup devices") + " %s" % message elif v == 1: message = _("Using backup device") + " %s" % message else: message = _("No backup devices detected") return message def display_free_space(self): """ Displays the amount of space free on the filesystem the files will be downloaded to. Also displays backup volumes / path being used. """ photo_dir = self.is_valid_download_dir(path=self.prefs.download_folder, is_photo_dir=True, show_error_in_log=True) video_dir = self.is_valid_download_dir(path=self.prefs.video_download_folder, is_photo_dir=False, show_error_in_log=True) if photo_dir and video_dir: same_file_system = self.same_file_system(self.prefs.download_folder, self.prefs.video_download_folder) else: same_file_system = False dirs = [] if photo_dir: dirs.append((self.prefs.download_folder, _("photos"))) if video_dir and not same_file_system: dirs.append((self.prefs.video_download_folder, _("videos"))) msg = '' if len(dirs) > 1: msg = ' ' + _('Free space:') + ' ' for i in range(len(dirs)): dir_info = dirs[i] folder = gio.File(dir_info[0]) file_info = folder.query_filesystem_info(gio.FILE_ATTRIBUTE_FILESYSTEM_FREE) size = file_info.get_attribute_uint64(gio.FILE_ATTRIBUTE_FILESYSTEM_FREE) free = format_size_for_user(bytes=size) if len(dirs) > 1: #(videos) or (photos) will be appended to the free space message displayed to the #user in the status bar. #you should only translate this if your language does not use parantheses file_type = _("(%(file_type)s)") % {'file_type': dir_info[1]} #Freespace available on the filesystem for downloading to #Displayed in status bar message on main window msg += _("%(free)s %(file_type)s") % {'free': free, 'file_type': file_type} if i == 0: #Inserted in the middle of the statusbar message concerning the amount of freespace #Used to differentiate between two different file systems #e.g. Free space: 21.3GB (photos); 14.7GB (videos). msg += _("; ") elif not self.prefs.backup_images: #Inserted at the end of the statusbar message concerning the amount of freespace #Used to differentiate between two different file systems #e.g. Free space: 21.3GB (photos); 14.7GB (videos). msg += _(".") else: #Freespace available on the filesystem for downloading to #Displayed in status bar message on main window #e.g. 14.7GB available msg = " " + _("%(free)s free") % {'free': free} if self.prefs.backup_images: if not self.prefs.backup_device_autodetection: if self.prefs.backup_location == self.prefs.backup_video_location: if DOWNLOAD_VIDEO: # user manually specified the same location for photos and video backups msg2 = _('Backing up photos and videos to %(path)s') % {'path':self.prefs.backup_location} else: # user manually specified backup location msg2 = _('Backing up to %(path)s') % {'path':self.prefs.backup_location} else: # user manually specified different locations for photo and video backups msg2 = _('Backing up photos to %(path)s and videos to %(path2)s') % { 'path':self.prefs.backup_location, 'path2': self.prefs.backup_video_location} else: msg2 = self.display_backup_mounts() if msg: msg = _("%(freespace)s. %(backuppaths)s.") % {'freespace': msg, 'backuppaths': msg2} else: msg = msg2 msg = msg.rstrip() self.statusbar_message(msg) def log_error(self, severity, problem, details, extra_detail=None): """ Display error and warning messages to user in log window """ self.error_log.add_message(severity, problem, details, extra_detail) def on_error_eventbox_button_press_event(self, widget, event): self.prefs.show_log_dialog = True self.error_log.widget.show() def on_menu_log_window_toggled(self, widget): active = widget.get_active() self.prefs.show_log_dialog = active if active: self.error_log.widget.show() else: self.error_log.widget.hide() def notify_prefs_are_invalid(self, details): title = _("Program preferences are invalid") logger.critical(title) self.log_error(severity=config.CRITICAL_ERROR, problem=title, details=details) # # # # Utility functions # # # def files_of_type_present(self, files, file_type, return_file_count=False): """ Returns true if there is at least one instance of the file_type in the list of files to be copied If return_file_count is True, then the number of files of that type will be counted and returned instead of True or False """ i = 0 for rpd_file in files: if rpd_file.file_type == file_type: if return_file_count: i += 1 else: return True if not return_file_count: return False else: return i def size_files_to_be_downloaded(self, files): """ Returns the total sizes of the photos and videos to be downloaded in bytes """ photo_size = 0 video_size = 0 for rpd_file in files: if rpd_file.file_type == rpdfile.FILE_TYPE_PHOTO: photo_size += rpd_file.size else: video_size += rpd_file.size return (photo_size, video_size) def check_file_types_to_be_downloaded(self, files_by_scan_pid): """Determines what types of files need to be downloaded, setting self.downloading_photos and self.downloading_videos accordingly""" self.downloading_photos = False self.downloading_videos = False while not self.downloading_photos and not self.downloading_videos: for scan_pid in files_by_scan_pid: files = files_by_scan_pid[scan_pid] if not self.downloading_photos: if self.files_of_type_present(files, rpdfile.FILE_TYPE_PHOTO): self.downloading_photos = True if not self.downloading_videos: if self.files_of_type_present(files, rpdfile.FILE_TYPE_VIDEO): self.downloading_videos = True def check_download_folder_validity(self, files_by_scan_pid): """ Checks validity of download folders based on the file types the user is attempting to download. If valid, returns a tuple of True and an empty list. If invalid, returns a tuple of False and a list of the invalid directores. """ valid = True invalid_dirs = [] if self.downloading_photos: if not self.is_valid_download_dir(self.prefs.download_folder, is_photo_dir=True): valid = False invalid_dirs.append(self.prefs.download_folder) else: logger.debug("Photo download folder is valid: %s", self.prefs.download_folder) if self.downloading_videos: if not self.is_valid_download_dir(self.prefs.video_download_folder, is_photo_dir=False): valid = False invalid_dirs.append(self.prefs.video_download_folder) else: logger.debug("Video download folder is valid: %s", self.prefs.video_download_folder) return (valid, invalid_dirs) def backup_destinations_missing(self): if self.prefs.backup_images and self.prefs.backup_device_autodetection: photo_backup_ok = video_backup_ok = True if self.downloading_photos and not self.backup_possible(rpdfile.FILE_TYPE_PHOTO): photo_backup_ok = False if self.downloading_videos and not self.backup_possible(rpdfile.FILE_TYPE_VIDEO): video_backup_ok = False if photo_backup_ok and video_backup_ok: return None else: return (photo_backup_ok, video_backup_ok) return None def same_file_system(self, file1, file2): """Returns True if the files / diretories are on the same file system """ f1 = gio.File(file1) f2 = gio.File(file2) f1_info = f1.query_info(gio.FILE_ATTRIBUTE_ID_FILESYSTEM) f1_id = f1_info.get_attribute_string(gio.FILE_ATTRIBUTE_ID_FILESYSTEM) f2_info = f2.query_info(gio.FILE_ATTRIBUTE_ID_FILESYSTEM) f2_id = f2_info.get_attribute_string(gio.FILE_ATTRIBUTE_ID_FILESYSTEM) return f1_id == f2_id def same_file(self, file1, file2): """Returns True if the files / directories are the same """ f1 = gio.File(file1) f2 = gio.File(file2) file_attributes = "id::file" f1_info = f1.query_filesystem_info(file_attributes) f1_id = f1_info.get_attribute_string(gio.FILE_ATTRIBUTE_ID_FILE) f2_info = f2.query_filesystem_info(file_attributes) f2_id = f2_info.get_attribute_string(gio.FILE_ATTRIBUTE_ID_FILE) return f1_id == f2_id def is_valid_download_dir(self, path, is_photo_dir, show_error_in_log=False): """ Checks the following conditions: Does the directory exist? Is it writable? if show_error_in_log is True, then display warning in log window, using is_photo_dir, which if true means the download directory is for photos, if false, for Videos """ valid = False if is_photo_dir: download_folder_type = _("Photo") else: download_folder_type = _("Video") try: d = gio.File(path) if not d.query_exists(cancellable=None): logger.error("%s download folder does not exist: %s", download_folder_type, path) if show_error_in_log: severity = config.WARNING problem = _("%(file_type)s download folder does not exist") % { 'file_type': download_folder_type} details = _("Folder: %s") % path self.log_error(severity, problem, details) else: file_attributes = "standard::type,access::can-read,access::can-write" file_info = d.query_filesystem_info(file_attributes) file_type = file_info.get_file_type() if file_type != gio.FILE_TYPE_DIRECTORY and file_type != gio.FILE_TYPE_UNKNOWN: logger.error("%s download folder is invalid: %s", download_folder_type, path) if show_error_in_log: severity = config.WARNING problem = _("%(file_type)s download folder is invalid") % { 'file_type': download_folder_type} details = _("Folder: %s") % path self.log_error(severity, problem, details) else: # is the directory writable? try: temp_dir = tempfile.mkdtemp(prefix="rpd-tmp", dir=path) valid = True except: logger.error("%s is not writable", path) if show_error_in_log: severity = config.WARNING problem = _("%(file_type)s download folder is not writable") % { 'file_type': download_folder_type} details = _("Folder: %s") % path self.log_error(severity, problem, details) else: f = gio.File(temp_dir) f.delete(cancellable=None) except gio.Error, inst: logger.error("Error checking download directory %s", path) logger.error(inst) return valid # # # # Process results and management # # # def _start_process_managers(self): """ Set up process managers. A task such as scanning a device or copying files is handled in its own process. """ self.batch_size = 10 self.batch_size_MB = 2 sequence_values = (self.downloads_today_value, self.downloads_today_date_value, self.day_start_value, self.refresh_downloads_today_value, self.stored_sequence_value, self.uses_stored_sequence_no_value, self.uses_session_sequece_no_value, self.uses_sequence_letter_value) # daemon process to rename files and create subfolders self.subfolder_file_manager = SubfolderFileManager( self.subfolder_file_results, sequence_values) # process to scan source devices / paths self.scan_manager = ScanManager(self.scan_results, self.batch_size, self.device_collection.add_device) #process to copy files from source to destination self.copy_files_manager = CopyFilesManager(self.copy_files_results, self.batch_size_MB) #process to back files up self.backup_manager = BackupFilesManager(self.backup_results, self.batch_size_MB) #process to enhance files after they've been copied and before they're #renamed self.file_modify_manager = FileModifyManager(self.file_modify_results) def scan_results(self, source, condition): """ Receive results from scan processes """ connection = self.scan_manager.get_pipe(source) conn_type, data = connection.recv() if conn_type == rpdmp.CONN_COMPLETE: connection.close() self.scan_manager.no_tasks -= 1 size, file_type_counter, scan_pid = data size = format_size_for_user(bytes=size) results_summary, file_types_present = file_type_counter.summarize_file_count() self.download_tracker.set_file_types_present(scan_pid, file_types_present) logger.info('Found %s' % results_summary) logger.info('Files total %s' % size) self.device_collection.update_device(scan_pid, size) self.device_collection.update_progress(scan_pid, 0.0, results_summary, 0, pulse=False) self.set_download_action_sensitivity() if (not self.auto_start_is_on and self.prefs.generate_thumbnails): self.download_progressbar.set_text(_("Thumbnails")) self.thumbnails.generate_thumbnails(scan_pid) elif self.auto_start_is_on: if self.need_job_code_for_naming and not self.job_code: self.get_job_code() else: self.start_download(scan_pid=scan_pid) logger.debug("Turning on display of thumbnails") self.display_scan_thumbnails() self.download_button.grab_focus() # signal that no more data is coming, finishing io watch for this pipe return False else: # partial results if len(data) > self.batch_size: logger.critical("incoming pipe length is unexpectedly long: %s" % len(data)) else: size, file_type_counter, scan_pid, rpd_files = data size = format_size_for_user(bytes=size) scanning_progress = file_type_counter.running_file_count() self.device_collection.update_device(scan_pid, size) self.device_collection.update_progress(scan_pid, 0.0, scanning_progress, 0, pulse=True) for rpd_file in rpd_files: self.thumbnails.add_file(rpd_file=rpd_file, generate_thumbnail = not self.auto_start_is_on) # must return True for this method to be called again return True @dbus.service.method (config.DBUS_NAME, in_signature='', out_signature='b') def is_running (self): return self.running @dbus.service.method (config.DBUS_NAME, in_signature='', out_signature='') def start (self): if self.is_running(): self.rapidapp.present() else: self.running = True gtk.main() def start(): is_beta = config.version.find('~') > 0 parser = OptionParser(version= "%%prog %s" % utilities.human_readable_version(config.version)) parser.set_defaults(verbose=is_beta, extensions=False) # Translators: this text is displayed to the user when they request information on the command line options. # The text %default should not be modified or left out. parser.add_option("-v", "--verbose", action="store_true", dest="verbose", help=_("display program information on the command line as the program runs (default: %default)")) parser.add_option("-d", "--debug", action="store_true", dest="debug", help=_('display debugging information when run from the command line')) parser.add_option("-q", "--quiet", action="store_false", dest="verbose", help=_("only output errors to the command line")) # image file extensions are recognized RAW files plus TIFF and JPG parser.add_option("-e", "--extensions", action="store_true", dest="extensions", help=_("list photo and video file extensions the program recognizes and exit")) parser.add_option("--focal-length", type=int, dest="focal_length", help="If an aperture value of 0.0 is encountered, the focal length metadata will be set to the number passed, and its aperture metadata to f/8") parser.add_option("-a", "--auto-detect", action="store_true", dest="auto_detect", help=_("automatically detect devices from which to download, overwriting existing program preferences")) parser.add_option("-l", "--device-location", type="string", metavar="PATH", dest="device_location", help=_("manually specify the PATH of the device from which to download, overwriting existing program preferences")) parser.add_option("--reset-settings", action="store_true", dest="reset", help=_("reset all program settings and preferences and exit")) (options, args) = parser.parse_args() if options.debug: logging_level = logging.DEBUG elif options.verbose: logging_level = logging.INFO else: logging_level = logging.ERROR logger.setLevel(logging_level) if options.auto_detect and options.device_location: logger.info(_("Error: specify device auto-detection or manually specify a device's path from which to download, but do not do both.")) sys.exit(1) if options.auto_detect: auto_detect=True logger.info("Device auto detection set from command line") else: auto_detect=None if options.device_location: device_location=options.device_location if device_location[-1]=='/': device_location = device_location[:-1] logger.info("Device location set from command line: %s", device_location) else: device_location=None if options.extensions: extensions = ((rpdfile.PHOTO_EXTENSIONS, _("Photos:")), (rpdfile.VIDEO_EXTENSIONS, _("Videos:"))) for exts, file_type in extensions: v = '' for e in exts[:-1]: v += '%s, ' % e.upper() v = file_type + " " + v[:-1] + ' '+ (_('and %s') % exts[-1].upper()) print v sys.exit(0) if options.reset: prefs = prefsrapid.RapidPreferences() prefs.reset() print _("All settings and preferences have been reset") sys.exit(0) if options.focal_length: focal_length = options.focal_length else: focal_length = None logger.info("Rapid Photo Downloader %s", utilities.human_readable_version(config.version)) logger.info("Using pyexiv2 %s", metadataphoto.pyexiv2_version_info()) logger.info("Using exiv2 %s", metadataphoto.exiv2_version_info()) if metadataexiftool.EXIFTOOL_VERSION is None: logger.info("Exiftool not detected") else: logger.info("Using exiftool %s", metadataexiftool.EXIFTOOL_VERSION) if metadatavideo.HAVE_HACHOIR: logger.info("Using hachoir %s", metadatavideo.version_info()) if focal_length: logger.info("Focal length of %s will be used when an aperture of 0.0 is encountered", focal_length) bus = dbus.SessionBus () request = bus.request_name (config.DBUS_NAME, dbus.bus.NAME_FLAG_DO_NOT_QUEUE) if request != dbus.bus.REQUEST_NAME_REPLY_EXISTS: app = RapidApp(bus, '/', config.DBUS_NAME, focal_length=focal_length, auto_detect=auto_detect, device_location=device_location) else: # this application is already running print "Rapid Photo Downloader is already running" object = bus.get_object (config.DBUS_NAME, "/") app = dbus.Interface (object, config.DBUS_NAME) app.start() if __name__ == "__main__": start() rapid-photo-downloader-0.4.10/rapid/filmstrip.py0000775000175000017500000000651711761336664022111 0ustar damondamon00000000000000#!/usr/bin/python # -*- coding: latin1 -*- ### Copyright (C) 2010-2012 Damon Lynch ### 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 """ Adds a filmstrip to the left and right of a pixbuf """ import gtk xpm_data = [ "12 10 27 1", " c #000000", ". c #232323", "+ c #7A7A7A", "@ c #838383", "# c #8C8C8C", "$ c #909090", "% c #8E8E8E", "& c #525252", "* c #6E6E6E", "= c #939393", "- c #A3A3A3", "; c #ABABAB", "> c #A8A8A8", ", c #9B9B9B", "' c #727272", ") c #A4A4A4", "! c #BBBBBB", "~ c #C4C4C4", "{ c #C1C1C1", "] c #AFAFAF", "^ c #3E3E3E", "/ c #A6A6A6", "( c #BEBEBE", "_ c #C8C8C8", ": c #070707", "< c #090909", "[ c #0A0A0A", " ", " ", " ", " .+@#$%& ", " *@=-;>, ", " '%)!~{] ", " ^$/(_~% ", " :<[[[ ", " ", " "] def add_filmstrip(pixbuf): """ Adds a filmstrip to the left and right of a pixbuf Returns a pixbuf """ filmstrip = gtk.gdk.pixbuf_new_from_xpm_data(xpm_data) filmstrip_width = filmstrip.get_width() filmstrip_height = filmstrip.get_height() filmstrip_right = filmstrip.flip(True) original = pixbuf original_height = original.get_height() thumbnail_width = original.get_width() + filmstrip_width * 2 thumbnail_right_col = original.get_width() + filmstrip_width thumbnail = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, thumbnail_width, original.get_height()) #add filmstrips to left and right for i in range(original_height / filmstrip_height): filmstrip.copy_area(0, 0, filmstrip_width, filmstrip_height, thumbnail, 0, i * filmstrip_height) filmstrip_right.copy_area(0, 0, filmstrip_width, filmstrip_height, thumbnail, thumbnail_right_col, i * filmstrip_height) #now do the remainder, at the bottom remaining_height = original_height % filmstrip_height if remaining_height: filmstrip.copy_area(0, 0, filmstrip_width, remaining_height, thumbnail, 0, original_height-remaining_height) filmstrip_right.copy_area(0, 0, filmstrip_width, remaining_height, thumbnail, thumbnail_right_col, original_height-remaining_height) if original.get_has_alpha(): thumbnail = thumbnail.add_alpha(False, 0,0,0) #copy in the original image original.copy_area(0, 0, original.get_width(), original_height, thumbnail, filmstrip_width, 0) return thumbnail if __name__ == '__main__': import sys if (len(sys.argv) != 2): print 'Usage: ' + sys.argv[0] + ' path/to/photo/image' else: p = gtk.gdk.pixbuf_new_from_file(sys.argv[1]) p2 = add_filmstrip(p) p2.save('testing.png', 'png') rapid-photo-downloader-0.4.10/rapid/COPYING0000664000175000017500000004310311761336650020541 0ustar damondamon00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth 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 Lesser 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) 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. 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) year 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 Lesser General Public License instead of this License. rapid-photo-downloader-0.4.10/PKG-INFO0000664000175000017500000000114412302422407017467 0ustar damondamon00000000000000Metadata-Version: 1.0 Name: rapid-photo-downloader Version: 0.4.10 Summary: Rapid Photo Downloader for Linux Home-page: http://www.damonlynch.net/rapid Author: Damon Lynch Author-email: damonlynch@gmail.com License: GPL Description: Rapid Photo Downloader is written by a photographer for professional and amateur photographers. It can download photos and videos from multiple cameras, memory cards and Portable Storage Devices simultaneously. It provides many flexible, user-defined options for subfolder creation, photo and video renaming, and backup. Platform: linux rapid-photo-downloader-0.4.10/rapid-photo-downloader0000775000175000017500000000007311761336650022716 0ustar damondamon00000000000000#!/usr/bin/python import rapid.rapid rapid.rapid.start() rapid-photo-downloader-0.4.10/README0000664000175000017500000000313612267147017017270 0ustar damondamon00000000000000Rapid Photo Downloader imports photos and videos from memory cards and other devices at high speed. It can be configured to rename photos and videos with meaningful filenames. It can back up photos and videos as they are downloaded. It can download from and back up to multiple devices simultaneously, which is valuable when importing from multiple memory cards or backing up to multiple external drives. Written by a photographer for professional and amateur photographers, Rapid Photo Downloader is easy to configure and use. Program preferences are configured without the need for complicated codes. Common tasks can be automated, such as unmounting a memory card when the download is complete. Downloading directly from a camera works only with some cameras. It works well with some cameras, and not at all with others. For best performance, using a memory card reader is recommended. For more information see http://damonlynch.net/rapid Please report any bug or unexepcted behaviour here: https://launchpad.net/rapid/+filebug Furthermore, please feel welcome to contribute anything to help this program reach more people: translations, feature suggestions, code, artwork, and documentation can always be improved! Installation ============ See the INSTALL file in the directory rapid. Documentation ============= See http://damonlynch.net/rapid/documentation Running the program =================== Start the program from its menu entry. If you want additional output from the command line, from a terminal run: rapid-photo-downloader Known Bugs ========== See https://bugs.launchpad.net/rapid/+bugs rapid-photo-downloader-0.4.10/doc/0000775000175000017500000000000012302422407017137 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/doc/rapid-photo-downloader.pod0000664000175000017500000000520711771746310024244 0ustar damondamon00000000000000=head1 NAME rapid-photo-downloader - imports photos and videos from cameras, memory cards and other devices =head1 SYNOPSIS B [options] Options: --version -h, --help -v, --verbose -q, --quiet -e, --extensions --focal-length=FOCAL_LENGTH -a, --auto-detect -l PATH, --device-location=PATH --reset-settings =head1 DESCRIPTION B imports photos and videos from cameras, memory cards and Portable Storage Devices, providing a variety of flexible, user-defined options for subfolder creation, photo and video renaming, and backup. It can download from more than one device in parallel. =head1 OPTIONS =over =item B<--version> Displays information about the currently installed version and exits. =item B<-h, --help> Show help message and exit. =item B<-v, --verbose> Displays program information on the command line as the program runs. =item B<-d, --debug> Displays debugging information on the command line as the program runs =item B<-q, --quiet> Only display output errors and warnings to the command line as the program runs. =item B<-e, --extensions> Displays image file extensions the program recognizes and exits. =item B<--focal-length=FOCAL_LENGTH> If an aperture value of 0.0 is encountered, the focal length metadata will be set to the number passed, and its aperture metadata to f/8. =item B<-a, --auto-detect> Automatically detect devices from which to download, overwriting existing program preferences. =item B<-l PATH, --device-location=PATH> Manually specify the PATH of the device from which to download, overwriting existing program preferences. =item B<--reset-settings> Resets all program settings and preferences to their default values and exits. =back =head1 ENVIRONMENT VARIABLES =over =item B If set, overrides the system-wide directory in which translation data will be searched for. =item B The system-wide locale used for translations. =back =head1 BUGS * Support for downloading directly from cameras is experimental. Not all cameras are supported. Please report bugs at https://bugs.launchpad.net/rapid =head1 AUTHORS B was written by Damon Lynch . This manual page was written by Damon Lynch. =head1 COPYRIGHT 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, or (at your option) any later version. On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. =cut rapid-photo-downloader-0.4.10/setup.py0000664000175000017500000000753412266763620020133 0ustar damondamon00000000000000#!/usr/bin/env python # -*- coding: latin1 -*- from distutils.core import setup from distutils.command.install_data import install_data from distutils.dep_util import newer from distutils.log import info from rapid.config import version import glob import os name = 'rapid-photo-downloader' class InstallData(install_data): """ This class is largely copied from setup.py in Terminator 0.8.1 by Chris Jones """ def run (self): self.data_files.extend (self._compile_po_files ()) install_data.run (self) def _compile_po_files (self): data_files = [] PO_DIR = 'po' for po in glob.glob (os.path.join (PO_DIR,'*.po')): lang = os.path.basename(po[:-3]) mo = os.path.join('build', 'mo', lang, '%s.mo' % name) directory = os.path.dirname(mo) if not os.path.exists(directory): info('creating %s' % directory) os.makedirs(directory) if newer(po, mo): # True if mo doesn't exist cmd = 'msgfmt -o %s %s' % (mo, po) info('compiling %s -> %s' % (po, mo)) if os.system(cmd) != 0: raise SystemExit('Error while running msgfmt') dest = os.path.dirname(os.path.join('share', 'locale', lang, 'LC_MESSAGES', '%s.mo' % name)) data_files.append((dest, [mo])) return data_files package_data={'rapid': ['glade3/about.ui', 'glade3/photo.svg', 'glade3/photo66.png', 'glade3/photo_icon.png', 'glade3/prefs.ui', 'glade3/rapid.ui', 'glade3/errorlog.ui', 'glade3/media-eject.png', 'glade3/rapid-photo-downloader.svg', 'glade3/rapid-photo-downloader-download-pending.png', 'glade3/rapid-photo-downloader-downloaded-with-error.svg', 'glade3/rapid-photo-downloader-downloaded-with-warning.svg', 'glade3/rapid-photo-downloader-downloaded.svg', 'glade3/rapid-photo-downloader-jobcode.svg', 'glade3/thumbnails_icon.png', 'glade3/video.svg', 'glade3/video66.png', 'glade3/zoom-in.png', 'glade3/zoom-out.png', ]} setup(name=name, version=version, description='Rapid Photo Downloader for Linux', license='GPL', author='Damon Lynch', author_email='damonlynch@gmail.com', maintainer='Damon Lynch', url='http://www.damonlynch.net/rapid', long_description= """Rapid Photo Downloader is written by a photographer for professional and amateur photographers. It can download photos and videos from multiple cameras, memory cards and Portable Storage Devices simultaneously. It provides many flexible, user-defined options for subfolder creation, photo and video renaming, and backup. """, packages = ['rapid'], package_data=package_data, scripts=['rapid-photo-downloader'], platforms=['linux'], data_files=[ ('share/applications', ['data/rapid-photo-downloader.desktop']), ('share/pixmaps', ['data/icons/48x48/apps/rapid-photo-downloader.png', 'data/icons/rapid-photo-downloader.xpm']), ('share/icons/hicolor/scalable/apps', glob.glob('data/icons/scalable/apps/*.svg')), ('share/icons/hicolor/16x16/apps', glob.glob('data/icons/16x16/apps/*.png')), ('share/icons/hicolor/22x22/apps', glob.glob('data/icons/22x22/apps/*.png')), ('share/icons/hicolor/24x24/apps', glob.glob('data/icons/24x24/apps/*.png')), ('share/icons/hicolor/48x48/apps', glob.glob('data/icons/48x48/apps/*.png')), ('/usr/share/kde4/apps/solid/actions/', ['data/kde/rapid-photo-downloader.desktop']), ('/usr/share/appdata/', ['data/rapid-photo-downloader.appdata.xml']), ], cmdclass={'install_data': InstallData} ) rapid-photo-downloader-0.4.10/data/0000775000175000017500000000000012302422407017303 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/rapid-photo-downloader.desktop0000664000175000017500000000051511761336650025275 0ustar damondamon00000000000000[Desktop Entry] Version=1.0 Name=Rapid Photo Downloader GenericName=Rapid Photo Downloader Comment=Download photos and videos from cameras, memory cards and Portable Storage Devices Exec=rapid-photo-downloader Icon=rapid-photo-downloader MimeType=x-content/image-dcf; Terminal=false Type=Application Categories=Graphics;Photography; rapid-photo-downloader-0.4.10/data/icons/0000775000175000017500000000000012302422407020416 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/16x16/0000775000175000017500000000000012302422407021203 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/16x16/apps/0000775000175000017500000000000012302422407022146 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/16x16/apps/rapid-photo-downloader.png0000664000175000017500000000115311761336650027252 0ustar damondamon00000000000000PNG  IHDRasBIT|d pHYs|4ktEXtSoftwarewww.inkscape.org<IDAT8u=kQsg#Yc$,RA`'ZۈKM,`iB, ["&.dWם{^4^Ĵpiro+폝tj7`3Sŷ+Sϭ˧Đ$ڢ'R7{=|icz1j=1=h٭g/m=6n3[ߗzs$̖S3Sf ѯ5v|{<1F HьHC. d4ExCer)+of)O$af @`xKU H!7+]IENDB`rapid-photo-downloader-0.4.10/data/icons/scalable/0000775000175000017500000000000012302422407022164 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/scalable/apps/0000775000175000017500000000000012302422407023127 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/scalable/apps/rapid-photo-downloader.svg0000664000175000017500000030014511761336650030251 0ustar damondamon00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Photo Camera snapshot camera photo compact snap rapid-photo-downloader-0.4.10/data/icons/24x24/0000775000175000017500000000000012302422407021201 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/24x24/apps/0000775000175000017500000000000012302422407022144 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/24x24/apps/rapid-photo-downloader.png0000664000175000017500000000211111761336650027243 0ustar damondamon00000000000000PNG  IHDRw=sBIT|d pHYsu85tEXtSoftwarewww.inkscape.org<IDATHoUsG&") H&R((@)x AA BA "eA;f׻;{wu[Fs=ߜ;#fƣoO|}l~8p8k\")i "qL^&5\kM@4 uY/S~)z|, !r"AE@4hDB !QPЀ(D$ġȇ>sKgyFĐox!Vw,`p9sak$bW@ p`T8h R$_sj t1SqpCo|_.m;5>I <5_}t\/v3/_ v,Oꅷ Yk+āW}[f9?6>;3?gv(9&^X|gvxxJsnԧr"FQOP#sp5&k84mluZx?cP˟/({XQ!=4MVWzTGc΍CNNQ%6PF@AHA#g _\.`bJ*K B( p2鼎:vNTQTrJ1TώJF*#^˛oH*H  vxOW{T@%t{x'y_JRm%3!@[{?W í)zbn0棬@߈ Kkkc8/%U՝#UU%n̜wV }9UOwXP@zH\0T Ql(Wt,xpZ l{ˆz Jh)EmQU؝"2 = ,DMU9XO TIENDB`rapid-photo-downloader-0.4.10/data/icons/48x48/0000775000175000017500000000000012302422407021215 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/48x48/apps/0000775000175000017500000000000012302422407022160 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/icons/48x48/apps/rapid-photo-downloader.png0000664000175000017500000000505211761336650027266 0ustar damondamon00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDAThKl\W;㙱c8q6M%iiS, *6,`T!!XEQ`UP)+UM۸%>4Ǐ>cqy8 '͙;^[%G? (nچxOއfm FE&c~2d1Dw2vQJIqw?Yf. \92] W쁟`׷StDa *O + ]ңBO=0t@X{IS:,V~řiƾaUw5؝3?6{>wTIY8I1Spcp.Ci8xA]@<נ@,TvLt4[{l0s۳Kg/stO>}k7R Q ?A ~ҽLszh"XK fs9?s= 8(t0!X$~A^q3uR8cx|ԭ#B)(DC08LA1Nj(uIw9Q 4SD&) IFXPmk'ƻZ7{KeYz]M{!^P1[3m7$8ZHx&&y 0r x"$C3PUH۩VqQ ܵs80[])PG&$⨋ןJ`|H`+}s!Mx{]ƪ>=L gjK8wGT7gN颓#=h[v>r4ܗȱ7b{l>{n]JTT&_p·}SGU]͏M*GNꃷJ1sSО.ZGv?'*-qLQ4>AUVk T_Y]&IUVVHY^^&ԗWר'}gfwVɏloD9 " Q\;?rP@|A|OA$xt^NWJz= Q"{ړ`c~w<> BGvvP BQhRqd|$A Pƫ8184D/-Y%u%XD9N+EF H=Z/@'x>IP4쌼n Z+қ&IIJNkP ̬^sS}A>Lb5<`Z5V1'pji;<5N "9}NVj.;Y^+p){q!.-m,|}3tiK8x0Z"k}?cR_o<0$5wJ 2E)V,Z]{X ?m޾;/ W@q^[/ c #B23B01", ", c #A81D25", "< c #B51621", "1 c #B61F25", "2 c #B51F28", "3 c #CC0202", "4 c #C90508", "5 c #D40101", "6 c #D60C0C", "7 c #C81818", "8 c #D41414", "9 c #D81616", "0 c #D41A1B", "q c #D91F1F", "w c #C6212A", "e c #CD292F", "r c #DA2424", "t c #D92E2F", "y c #CD2C33", "u c #CF3036", "i c #D93032", "p c #D03439", "a c #D1383E", "s c #B14300", "d c #B24C00", "f c #B35A00", "g c #BF5A00", "h c #B46200", "j c #B36A00", "k c #B57200", "l c #B57C00", "z c #C06500", "x c #CC6100", "c c #C16B00", "v c #CE6E00", "b c #D96900", "n c #C17000", "m c #CE7400", "M c #C27C00", "N c #CF7A00", "B c #DB7600", "V c #DC7D00", "C c #B53D4B", "Z c #D23C42", "A c #DC3F40", "S c #D34247", "D c #D44448", "F c #D74B4C", "G c #D94C4F", "H c #D54D50", "J c #DB4F51", "K c #D65052", "L c #79813E", "P c #78854C", "I c #708056", "U c #7C8C5C", "Y c #9D951C", "T c #B58100", "R c #AA9D10", "E c #A29918", "W c #B4A306", "Q c #B0A00B", "! c #B3A716", "~ c #B7AB11", "^ c #878D3E", "/ c #8C903A", "( c #969A3C", ") c #A1A53F", "_ c #C38300", "` c #C48C00", "' c #D18600", "] c #DE8300", "[ c #D28C00", "{ c #C59400", "} c #D29200", "| c #D39B00", " . c #E09300", ".. c #E19D00", "X. c #C6A200", "o. c #C7A800", "O. c #D5A400", "+. c #C6B304", "@. c #CBB600", "#. c #C2B008", "$. c #D7B400", "%. c #D2BE09", "&. c #C1B517", "*. c #C7B812", "=. c #E3A400", "-. c #E4AA00", ";. c #E5B100", ":. c #E7BE00", ">. c #E6883A", ",. c #E6923A", "<. c #E8973B", "1. c #E89C3C", "2. c #E9A53C", "3. c #EAAD3C", "4. c #ECB33C", "5. c #ECBA3B", "6. c #D7C304", "7. c #DCC500", "8. c #D6C613", "9. c #D1C318", "0. c #E8C500", "q. c #E2CE09", "w. c #E7D104", "e. c #EDD400", "r. c #EEC539", "t. c #EFCB39", "y. c #828A43", "u. c #818E4F", "i. c #8B9446", "p. c #909741", "a. c #959E49", "s. c #8A9753", "d. c #9CA244", "f. c #9FAA7E", "g. c #BDBD65", "h. c #B9BB68", "j. c #C6C35D", "k. c #C9C359", "l. c #C3C160", "z. c #254C83", "x. c #284F86", "c. c #2E5687", "v. c #2D548A", "b. c #2D588F", "n. c #315786", "m. c #325884", "M. c #30578E", "N. c #2E5A94", "B. c #335D94", "V. c #385F94", "C. c #305E9A", "Z. c #356097", "A. c #3C6496", "S. c #32619D", "D. c #39649C", "F. c #3D689F", "G. c #3364A2", "H. c #3B67A0", "J. c #3C6AA5", "K. c #3D6CA8", "L. c #4D5584", "P. c #595885", "I. c #615781", "U. c #625882", "Y. c #426DA4", "T. c #416EA8", "R. c #4770A7", "E. c #4470A8", "W. c #4B75AA", "Q. c #5174A6", "!. c #5476A8", "~. c #517AAE", "^. c #567CB0", "/. c #657FAC", "(. c #5E82AF", "). c #5780B4", "_. c #5980B2", "`. c #6386B3", "'. c #6889B4", "]. c #8C9A8A", "[. c #93A085", "{. c #98A783", "}. c #9CA980", "|. c #91A288", " X c None", /* pixels */ " X X X X X X X X X X X X X Xw w w w w w w w w w w w w X X X X X", " X X X X X X X X X X X X XJ 3.3.4.2.5.1.5.<.r.,.t.>.a S X X X X", " X X X X X X X X X X X X XF .. .=. .-.] ;.V :.B 0.b 6 q F X X X", " X X X X X X X X X X X X XH } [ | ' | N O.m $.v $.x 6 5 9 D X X", " X X X X X X X X X X X X XH _ _ ` M { c { c { c o.g 8 5 6 D X X", " X X X X X X X X X X X X XH h f h f j d k d l s T > 8 5 5 D X X", " X X X X X X X X X X X X XJ ; * = * = * = * = * = 7 6 5 r Z X X", " X X X X X X X X X X X X XC < 2 < 6 6 6 6 6 6 6 6 5 5 5 i e X X", " X X X(.h.f.g.}.l.{.j.|.k.[.k.].`.@ 3 5 5 5 5 5 5 5 5 5 t y X X", " X X X`.9.) 8.d.q.a.w.s.e.s.e.u.J._.P.- 3 3 3 3 3 3 3 3 6 Z X X", " X X X`.&.( *.p.6.i.6.u.7.u.7.U J.G.).P.6 5 5 6 6 5 6 3 5 Z X X", " X X X`.! / ~ ^ #.y.+.P @.P @.I K.G.T.U.5 5 5 5 5 5 6 3 5 Z X X", " X X X'.Y L E o R . Q X W O W + K.G.Y.I.5 5 5 5 5 5 5 3 5 a X X", " X X X'.& m.& n.& v.& c.% v.% A.K.C.W.I.5 5 5 5 5 5 5 3 6 a X X", " X X X_.T.E.E.E.E.E.E.E.E.E.E.K.G.S.!. 5 5 5 5 5 5 5 3 5 p X X", " X X X^.G.G.G.G.G.G.G.G.G.G.S.S.C.G.!. 5 5 5 5 5 5 5 3 5 p X X", " X X X^.G.G.C.G.S.S.S.C.C.C.C.C.C.C.W.$ 5 5 5 5 5 5 5 3 5 u X X", " X X X^.G.J.J.K.K.K.J.J.J.H.H.J.H.C.H.$ 5 5 5 5 5 5 5 3 5 u X X", " X X X^.G.G.G.G.G.G.G.S.S.S.C.S.D.N.F.$ 5 5 5 5 5 5 5 5 5 y X X", " X X X~.G.J.G.G.G.G.G.S.S.S.S.C.C.N.D.$ 5 5 5 5 5 5 5 5 5 y X X", " X X XW.G.G.G.G.G.G.S.S.S.C.C.C.S.N.D.$ 5 5 5 5 5 5 5 5 5 e X X", " X X XW.C.G.G.G.S.S.S.C.C.C.C.C.B.N.Z.$ 6 6 6 6 6 6 9 0 6 y X X", " X X XW.C.G.G.S.G.C.S.C.C.N.C.N.N.N.V.L.2 2 2 2 1 1 1 , 1 2 X X", " X X XW.C.G.C.G.C.C.C.C.C.C.C.C.N.b.B.V. X X X X X X X X X X X X", " X X XR.S.C.S.S.C.C.C.C.C.N.N.N.N.b.V.V. X X X X X X X X X X X X", " X X XY.C.S.S.C.C.C.C.N.C.N.N.N.N.b.B.B. X X X X X X X X X X X X", " X X XT.C.S.C.C.C.C.C.C.N.N.N.N.b.b.B.M. X X X X X X X X X X X X", " X X XY.C.C.C.C.C.N.N.N.N.N.N.N.N.b.B.B. X X X X X X X X X X X X", " X X XY.Y.F.S.Z.Z.Z.Z.V.V.B.B.B.V.V.V.M. X X X X X X X X X X X X", " X X XM.x.v.M.v.M.v.b.v.v.v.v.v.x.z.v.z. X X X X X X X X X X X X", " X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X", " X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X" }; rapid-photo-downloader-0.4.10/data/rapid-photo-downloader.appdata.xml0000600000175000017500000000342512267147036026026 0ustar damondamon00000000000000 rapid-photo-downloader.desktop CC-BY

Rapid Photo Downloader imports photos and videos from memory cards and other devices at high speed. It can be configured to rename photos and videos with meaningful filenames. It can back up photos and videos as they are downloaded. It can download from and back up to multiple devices simultaneously, which is valuable when importing from multiple memory cards or backing up to multiple external drives.

Written by a photographer for professional and amateur photographers, Rapid Photo Downloader is easy to configure and use. Program preferences are configured without the need for complicated codes. Common tasks can be automated, such as unmounting a memory card when the download is complete.

Downloading directly from a camera works only with some cameras. It works well with some cameras, and not at all with others. For best performance, using a memory card reader is recommended.

http://www.damonlynch.net/rapid/ http://www.damonlynch.net/rapid/appdata/2014/01/mainwindow.png http://www.damonlynch.net/rapid/appdata/2014/01/subfolder-preferences.png http://www.damonlynch.net/rapid/appdata/2014/01/rename-preferences.png http://www.damonlynch.net/rapid/appdata/2014/01/backup-preferences.png damonlynch@gmail.com
rapid-photo-downloader-0.4.10/data/kde/0000775000175000017500000000000012302422407020046 5ustar damondamon00000000000000rapid-photo-downloader-0.4.10/data/kde/rapid-photo-downloader.desktop0000664000175000017500000000066412230471201026025 0ustar damondamon00000000000000[Desktop Entry] X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND StorageVolume.usage == 'FileSystem' ] Type=Service Actions=exec; [Desktop Action exec] # %f gives StorageAccess.filePath, %d gives Block.device, %i gives UDI Exec=/usr/bin/rapid-photo-downloader Icon=/usr/share/pixmaps/rapid-photo-downloader.png Name=Download Photos with Rapid Photo Downloader Name[fr]=Téléchargement de photos avec Rapid Photo Downloader