├── .gitignore ├── ChangeLog.md ├── README.md ├── contrib ├── AutoGrouper.lua ├── CollectHelper.lua ├── HDRMerge.lua ├── LabelsToTags.lua ├── OpenInExplorer.lua ├── README ├── RL_out_sharp.lua ├── auto_snapshot.lua ├── autostyle.lua ├── change_group_leader.lua ├── clear_GPS.lua ├── color_profile_manager.lua ├── copy_attach_detach_tags.lua ├── cr2hdr.lua ├── cycle_group_leader.lua ├── dbmaint.lua ├── enfuseAdvanced.lua ├── exportLUT.lua ├── ext_editor.lua ├── face_recognition.lua ├── fujifilm_dynamic_range.lua ├── fujifilm_ratings.lua ├── geoJSON_export.lua ├── geoToolbox.lua ├── gimp.lua ├── gpx_export.lua ├── harmonic_armature_guide.lua ├── hif_group_leader.lua ├── hugin.lua ├── image_stack.lua ├── image_time.lua ├── jpg_group_leader.lua ├── kml_export.lua ├── passport_guide.lua ├── passport_guide_germany.lua ├── pdf_slideshow.lua ├── photils.lua ├── quicktag.lua ├── rate_group.lua ├── rename-tags.lua ├── rename_images.lua ├── select_non_existing.lua ├── select_untagged.lua ├── slideshowMusic.lua ├── transfer_hierarchy.lua ├── ultrahdr.lua └── video_ffmpeg.lua ├── data └── icons │ ├── blank20.png │ └── path20.png ├── examples ├── api_version.lua ├── darkroom_demo.lua ├── de_DE │ └── LC_MESSAGES │ │ └── gettextExample.po ├── gettextExample.lua ├── gui_action.lua ├── hello_world.lua ├── lighttable_demo.lua ├── moduleExample.lua ├── multi_os.lua ├── panels_demo.lua ├── preferenceExamples.lua ├── printExamples.lua ├── running_os.lua └── x-touch.lua ├── lib ├── dtutils.lua └── dtutils │ ├── debug.lua │ ├── file.lua │ ├── log.lua │ ├── string.lua │ └── system.lua ├── locale ├── de_DE │ └── LC_MESSAGES │ │ ├── OpenInExplorer.po │ │ ├── calcDistance.po │ │ ├── clear_GPS.po │ │ ├── copy_attach_detach_tags.po │ │ ├── geo_uri.po │ │ ├── gimp.po │ │ ├── gps_select.po │ │ ├── hugin.po │ │ ├── kml_export.po │ │ ├── photils.po │ │ ├── quicktag.po │ │ ├── select_non_existing.po │ │ ├── select_untagged.po │ │ └── slideshowMusic.po ├── fr_FR │ └── LC_MESSAGES │ │ ├── OpenInExplorer.po │ │ ├── calcDistance.po │ │ ├── clear_GPS.po │ │ ├── copy_attach_detach_tags.po │ │ ├── copy_paste_metadata.po │ │ ├── geo_uri.po │ │ ├── gimp.po │ │ ├── gps_select.po │ │ ├── hugin.po │ │ ├── kml_export.po │ │ ├── pdf_slideshow.po │ │ ├── photils.po │ │ ├── script_manager.po │ │ ├── select_untagged.po │ │ └── slideshowMusic.po ├── it_IT │ └── LC_MESSAGES │ │ ├── executable_manager.po │ │ ├── ext_editor.po │ │ └── script_manager.po └── pt_BR │ └── LC_MESSAGES │ ├── AutoGrouper.po │ ├── CollectHelper.po │ ├── HDRMerge.po │ ├── OpenInExplorer.po │ ├── RL_out_sharp.po │ ├── clear_GPS.po │ ├── color_profile_manager.po │ ├── copy_attach_detach_tags.po │ ├── copy_paste_metadata.po │ ├── enfuse.po │ ├── enfuseAdvanced.po │ ├── executable_manager.po │ ├── exportLUT.po │ ├── ext_editor.po │ ├── face_recognition.po │ ├── fujifilm_ratings.po │ ├── geoJSON_export.po │ ├── geoToolbox.po │ ├── gimp.po │ ├── gpx_export.po │ ├── harmonic_armature_guide.po │ ├── hugin.po │ ├── image_stack.po │ ├── image_time.po │ ├── kml_export.po │ ├── passport_guide.po │ ├── pdf_slideshow.po │ ├── photils.po │ ├── quicktag.po │ ├── rename_images.po │ ├── script_manager.po │ ├── select_untagged.po │ ├── slideshowMusic.po │ ├── transfer_hierarchy.po │ └── video_ffmpeg.po ├── official ├── README ├── apply_camera_style.lua ├── check_for_updates.lua ├── copy_paste_metadata.lua ├── delete_long_tags.lua ├── delete_unused_tags.lua ├── enfuse.lua ├── generate_image_txt.lua ├── image_path_in_ui.lua ├── import_filter_manager.lua ├── import_filters.lua ├── save_selection.lua └── selection_to_pdf.lua └── tools ├── executable_manager.lua ├── get_lib_manpages.lua ├── get_libdoc.lua └── script_manager.lua /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | .*.swp 3 | -------------------------------------------------------------------------------- /contrib/README: -------------------------------------------------------------------------------- 1 | Scripts in this folder are meant to have an "owner" who maintains them. 2 | -------------------------------------------------------------------------------- /contrib/auto_snapshot.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | 3 | auto_snapshot.lua - automatically take a snapshot when an image is loaded in darkroom 4 | 5 | Copyright (C) 2024 Bill Ferguson . 6 | 7 | This program is free software: you can redistribute it and/or modify 8 | it under the terms of the GNU General Public License as published by 9 | the Free Software Foundation; either version 3 of the License, or 10 | (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program. If not, see . 19 | ]] 20 | --[[ 21 | auto_snapshot - 22 | 23 | automatically take a snapshot when an image is loaded in darkroom 24 | 25 | ADDITIONAL SOFTWARE NEEDED FOR THIS SCRIPT 26 | None 27 | 28 | USAGE 29 | * start the script from script_manager 30 | * open an image in darkroom 31 | 32 | BUGS, COMMENTS, SUGGESTIONS 33 | Bill Ferguson 34 | 35 | CHANGES 36 | ]] 37 | 38 | local dt = require "darktable" 39 | local du = require "lib/dtutils" 40 | local log = require "lib/dtutils.log" 41 | 42 | -- - - - - - - - - - - - - - - - - - - - - - - - 43 | -- C O N S T A N T S 44 | -- - - - - - - - - - - - - - - - - - - - - - - - 45 | 46 | local MODULE = "auto_snapshot" 47 | local DEFAULT_LOG_LEVEL = log.error 48 | 49 | -- - - - - - - - - - - - - - - - - - - - - - - - 50 | -- A P I C H E C K 51 | -- - - - - - - - - - - - - - - - - - - - - - - - 52 | 53 | du.check_min_api_version("7.0.0", MODULE) -- choose the minimum version that contains the features you need 54 | 55 | 56 | -- - - - - - - - - - - - - - - - - - - - - - - - - - 57 | -- I 1 8 N 58 | -- - - - - - - - - - - - - - - - - - - - - - - - - - 59 | 60 | local gettext = dt.gettext.gettext 61 | 62 | local function _(msgid) 63 | return gettext(msgid) 64 | end 65 | 66 | 67 | -- - - - - - - - - - - - - - - - - - - - - - - - - - 68 | -- S C R I P T M A N A G E R I N T E G R A T I O N 69 | -- - - - - - - - - - - - - - - - - - - - - - - - - - 70 | 71 | local script_data = {} 72 | 73 | script_data.destroy = nil -- function to destory the script 74 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 75 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 76 | script_data.show = nil -- only required for libs since the destroy_method only hides them 77 | 78 | script_data.metadata = { 79 | name = _("auto snapshot"), -- name of script 80 | purpose = _("automatically take a snapshot when an image is loaded in darkroom"), -- purpose of script 81 | author = "Bill Ferguson ", -- your name and optionally e-mail address 82 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/auto_snapshot/" -- URL to help/documentation 83 | } 84 | 85 | 86 | -- - - - - - - - - - - - - - - - - - - - - - - - 87 | -- L O G L E V E L 88 | -- - - - - - - - - - - - - - - - - - - - - - - - 89 | 90 | log.log_level(DEFAULT_LOG_LEVEL) 91 | 92 | -- - - - - - - - - - - - - - - - - - - - - - - - 93 | -- N A M E S P A C E 94 | -- - - - - - - - - - - - - - - - - - - - - - - - 95 | 96 | local auto_snapshot = {} 97 | 98 | -- - - - - - - - - - - - - - - - - - - - - - - - 99 | -- P R E F E R E N C E S 100 | -- - - - - - - - - - - - - - - - - - - - - - - - 101 | 102 | dt.preferences.register(MODULE, "always_create_snapshot", "bool", "auto_snapshot - " .. _("always automatically create_snapshot"), 103 | _("create a snapshot even if the image is altered"), false) 104 | 105 | -- - - - - - - - - - - - - - - - - - - - - - - - 106 | -- D A R K T A B L E I N T E G R A T I O N 107 | -- - - - - - - - - - - - - - - - - - - - - - - - 108 | 109 | local function destroy() 110 | dt.destroy_event(MODULE, "darkroom-image-loaded") 111 | end 112 | 113 | script_data.destroy = destroy 114 | 115 | -- - - - - - - - - - - - - - - - - - - - - - - - 116 | -- E V E N T S 117 | -- - - - - - - - - - - - - - - - - - - - - - - - 118 | 119 | dt.register_event(MODULE, "darkroom-image-loaded", 120 | function(event, clean, image) 121 | local always = dt.preferences.read(MODULE, "always_create_snapshot", "bool") 122 | if clean and always then 123 | dt.gui.libs.snapshots.take_snapshot() 124 | elseif clean and not image.is_altered then 125 | dt.gui.libs.snapshots.take_snapshot() 126 | end 127 | 128 | end 129 | ) 130 | 131 | 132 | return script_data -------------------------------------------------------------------------------- /contrib/clear_GPS.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | 3 | clear_GPS.lua - plugin for Darktable 4 | 5 | Copyright (C) 2016 Bill Ferguson . 6 | 7 | This program is free software: you can redistribute it and/or modify 8 | it under the terms of the GNU General Public License as published by 9 | the Free Software Foundation; either version 3 of the License, or 10 | (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program. If not, see . 19 | ]] 20 | --[[ 21 | clear_GPS - clear GPS data from selected image(s) 22 | 23 | This shortcut removes the GPS coordinate data from the selected images. 24 | 25 | ADDITIONAL SOFTWARE NEEDED FOR THIS SCRIPT 26 | * None 27 | 28 | USAGE 29 | * require this script from your main lua file 30 | * select an image or images 31 | * click the shortcut, clear GPS data 32 | 33 | BUGS, COMMENTS, SUGGESTIONS 34 | * Send to Bill Ferguson, wpferguson@gmail.com 35 | 36 | CHANGES 37 | ]] 38 | 39 | local dt = require "darktable" 40 | local du = require "lib/dtutils" 41 | 42 | local gettext = dt.gettext.gettext 43 | 44 | local function _(msgid) 45 | return gettext(msgid) 46 | end 47 | 48 | -- return data structure for script_manager 49 | 50 | local script_data = {} 51 | 52 | script_data.metadata = { 53 | name = _("clear GPS info"), 54 | purpose = _("remove GPS data from selected image(s)"), 55 | author = "Bill Ferguson ", 56 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/clear_gps/" 57 | } 58 | 59 | script_data.destroy = nil -- function to destory the script 60 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 61 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 62 | script_data.show = nil -- only required for libs since the destroy_method only hides them 63 | 64 | -- not a number 65 | local NaN = 0/0 66 | 67 | du.check_min_api_version("7.0.0", "clear_GPS") 68 | 69 | local function clear_GPS(images) 70 | for _, image in ipairs(images) do 71 | -- set the location information to Not a Number (NaN) so it displays correctly 72 | image.elevation = NaN 73 | image.latitude = NaN 74 | image.longitude = NaN 75 | end 76 | end 77 | 78 | local function destroy() 79 | dt.destroy_event("clear_GPS", "shortcut") 80 | dt.gui.libs.image.destroy_action("clear_GPS") 81 | end 82 | 83 | script_data.destroy = destroy 84 | 85 | dt.gui.libs.image.register_action( 86 | "clear_GPS", _("clear GPS data"), 87 | function(event, images) clear_GPS(images) end, 88 | _("clear GPS data from selected images") 89 | ) 90 | 91 | dt.register_event( 92 | "clear_GPS", "shortcut", 93 | function(event, shortcut) clear_GPS(dt.gui.action_images) end, 94 | _("clear GPS data from selected images") 95 | ) 96 | 97 | return script_data 98 | -------------------------------------------------------------------------------- /contrib/fujifilm_ratings.lua: -------------------------------------------------------------------------------- 1 | --[[ fujifilm_ratings-0.1 2 | 3 | Support for importing Fujifilm in-camera ratings in darktable. 4 | 5 | Copyright (C) 2017 Ben Mendis 6 | 7 | This program is free software; you can redistribute it and/or modify 8 | it under the terms of the GNU General Public License as published by 9 | the Free Software Foundation; either version 2 of the License, or 10 | (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License along 18 | with this program; if not, write to the Free Software Foundation, Inc., 19 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | 21 | Dependencies: 22 | - exiftool (https://www.sno.phy.queensu.ca/~phil/exiftool/) 23 | 24 | --]] 25 | 26 | local dt = require "darktable" 27 | local du = require "lib/dtutils" 28 | local df = require "lib/dtutils.file" 29 | local dtsys = require "lib/dtutils.system" 30 | local gettext = dt.gettext.gettext 31 | 32 | du.check_min_api_version("7.0.0", "fujifilm_ratings") 33 | 34 | local function _(msgid) 35 | return gettext(msgid) 36 | end 37 | 38 | -- return data structure for script_manager 39 | 40 | local script_data = {} 41 | 42 | script_data.metadata = { 43 | name = _("fujifilm ratings"), 44 | purpose = _("import Fujifilm in-camera ratings"), 45 | author = "Ben Mendis ", 46 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/fujifilm_ratings" 47 | } 48 | 49 | script_data.destroy = nil -- function to destory the script 50 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil 51 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 52 | script_data.show = nil -- only required for libs since the destroy_method only hides them 53 | 54 | local function detect_rating(event, image) 55 | if not string.match(image.filename, "%.RAF$") and not string.match(image.filename, "%.raf$") then 56 | return 57 | end 58 | if not df.check_if_bin_exists("exiftool") then 59 | dt.print_error("exiftool not found") 60 | return 61 | end 62 | local RAF_filename = df.sanitize_filename(tostring(image)) 63 | local JPEG_filename = string.gsub(RAF_filename, "%.RAF$", ".JPG") 64 | local command = "exiftool -Rating " .. JPEG_filename 65 | dt.print_log(command) 66 | local output = io.popen(command) 67 | local jpeg_result = output:read("*all") 68 | output:close() 69 | if string.len(jpeg_result) > 0 then 70 | jpeg_result = string.gsub(jpeg_result, "^Rating.*(%d)", "%1") 71 | image.rating = tonumber(jpeg_result) 72 | dt.print_log("using JPEG rating: " .. jpeg_result) 73 | return 74 | end 75 | command = "exiftool -Rating " .. RAF_filename 76 | dt.print_log(command) 77 | output = io.popen(command) 78 | local raf_result = output:read("*all") 79 | output:close() 80 | if string.len(raf_result) > 0 then 81 | raf_result = string.gsub(raf_result, "^Rating.*(%d)", "%1") 82 | image.rating = tonumber(raf_result) 83 | dt.print_log("using RAF rating: " .. raf_result) 84 | end 85 | end 86 | 87 | local function destroy() 88 | dt.destroy_event("fujifilm_rat", "post-import-image") 89 | end 90 | 91 | dt.register_event("fujifilm_rat", "post-import-image", 92 | detect_rating) 93 | 94 | script_data.destroy = destroy 95 | return script_data 96 | -------------------------------------------------------------------------------- /contrib/harmonic_armature_guide.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | harmonic artmature guide for darktable 3 | 4 | copyright (c) 2021 Hubert Kowalski 5 | 6 | darktable is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | darktable is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with darktable. If not, see . 18 | ]] 19 | 20 | --[[ 21 | HARMONIC ARMATURE GUIDE 22 | Harmonic Armature (also known as 14 line armature) 23 | 24 | INSTALLATION 25 | * copy this file in $CONFIGDIR/lua/contrib where CONFIGDIR is your darktable configuration directory 26 | * add the following line in the file $CONFIGDIR/luarc 27 | require "contrib/harmonic_armature_guide" 28 | 29 | USAGE 30 | * when using guides, select "harmonic armature" as guide 31 | ]] 32 | 33 | local dt = require "darktable" 34 | local du = require "lib/dtutils" 35 | local gettext = dt.gettext.gettext 36 | 37 | du.check_min_api_version("2.0.0", "harmonic_armature_guide") 38 | 39 | local function _(msgid) 40 | return gettext(msgid) 41 | end 42 | 43 | local script_data = {} 44 | 45 | script_data.metadata = { 46 | name = _("harmonic armature guide"), 47 | purpose = _("harmonic artmature guide"), 48 | author = "Hubert Kowalski", 49 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/harmonic_armature_guide" 50 | } 51 | 52 | script_data.destroy = nil -- function to destory the script 53 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil 54 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 55 | script_data.show = nil -- only required for libs since the destroy_method only hides them 56 | 57 | dt.guides.register_guide("harmonic armature", 58 | -- draw 59 | function(cairo, x, y, width, height, zoom_scale) 60 | cairo:save() 61 | 62 | cairo:translate(x, y) 63 | cairo:scale(width, height) 64 | 65 | cairo:move_to(0,0) 66 | cairo:line_to(1, 0.5) 67 | cairo:line_to(0.5, 1) 68 | cairo:line_to(0,0) 69 | cairo:line_to(1, 1) 70 | cairo:line_to(0.5, 0) 71 | cairo:line_to(0, 0.5) 72 | cairo:line_to(1, 1) 73 | 74 | cairo:move_to(1, 0) 75 | cairo:line_to(0, 0.5) 76 | cairo:line_to(0.5, 1) 77 | cairo:line_to(1, 0) 78 | cairo:line_to(0, 1) 79 | cairo:line_to(0.5, 0) 80 | cairo:line_to(1, 0.5) 81 | cairo:line_to(0, 1) 82 | 83 | cairo:restore() 84 | end, 85 | -- gui 86 | function() 87 | return dt.new_widget("label"){label = _("harmonic armature"), halign = "start"} 88 | end 89 | ) 90 | 91 | local function destroy() 92 | -- nothing to destroy 93 | end 94 | 95 | script_data.destroy = destroy 96 | 97 | return script_data 98 | -------------------------------------------------------------------------------- /contrib/passport_guide.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Passport cropping guide for darktable 3 | 4 | copyright (c) 2017 Kåre Hampf 5 | 6 | darktable is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | darktable is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with darktable. If not, see . 18 | ]] 19 | 20 | --[[ 21 | PASSPORT CROPPING GUIDE 22 | guides for cropping passport photos based on documents from the Finnish police 23 | (https://poliisi.fi/documents/25235045/31329600/Passport-photograph-instructions-by-the-police-2020-EN-fixed.pdf/1eec2f4c-aed7-68e0-c112-0a8f25e0328d/Passport-photograph-instructions-by-the-police-2020-EN-fixed.pdf) describing passport photo dimensions of 47x36 mm and 500x653 px for digital biometric data stored in passports. They use ISO 19794-5 standard based on ICAO 9303 regulations which should also be compliant for all of Europe. 24 | 25 | INSTALLATION 26 | * copy this file in $CONFIGDIR/lua/ where CONFIGDIR is your darktable configuration directory 27 | * add the following line in the file $CONFIGDIR/luarc 28 | require "passport_guide" 29 | * (optional) add the line: 30 | "plugins/darkroom/clipping/extra_aspect_ratios/passport 36x47mm=47:36" 31 | to $CONFIGDIR/darktablerc 32 | 33 | USAGE 34 | * when using the cropping tool, select "passport" as guide and if you added the line in yout rc 35 | select "passport 36x47mm" as aspect 36 | ]] 37 | 38 | local dt = require "darktable" 39 | local du = require "lib/dtutils" 40 | local gettext = dt.gettext.gettext 41 | 42 | du.check_min_api_version("2.0.0", "passport_guide") 43 | 44 | local function _(msgid) 45 | return gettext(msgid) 46 | end 47 | 48 | local script_data = {} 49 | 50 | script_data.metadata = { 51 | name = _("passport guide"), 52 | purpose = _("guides for cropping passport photos"), 53 | author = "Kåre Hampf", 54 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/passport_guide" 55 | } 56 | 57 | script_data.destroy = nil -- function to destory the script 58 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil 59 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 60 | script_data.show = nil -- only required for libs since the destroy_method only hides them 61 | 62 | dt.guides.register_guide("passport", 63 | -- draw 64 | function(cairo, x, y, width, height, zoom_scale) 65 | local _width, _height 66 | 67 | -- get the max 36x47 rectangle 68 | local aspect_ratio = 47 / 36 69 | if width * aspect_ratio > height then 70 | _width = height / aspect_ratio 71 | _height = height 72 | else 73 | _width = width 74 | _height = width * aspect_ratio 75 | end 76 | 77 | cairo:save() 78 | 79 | cairo:translate(x + (width - _width) / 2, y + (height - _height) / 2) 80 | cairo:scale(_width / 36, _height / 47) 81 | 82 | -- the outer rectangle 83 | cairo:rectangle( 0, 0, 36, 47) 84 | 85 | -- vertical bars 86 | cairo:draw_line(16.5, 8, 16.5, 36) 87 | cairo:draw_line(19.5, 8, 19.5, 36) 88 | 89 | -- long horisontal bars 90 | cairo:draw_line(6, 4, 30, 4) 91 | cairo:draw_line(6, 40, 30, 40) 92 | 93 | -- short horisontal bars 94 | cairo:draw_line(9, 6, 27, 6) 95 | cairo:draw_line(9, 38, 27, 38) 96 | 97 | cairo:restore() 98 | end, 99 | -- gui 100 | function() 101 | return dt.new_widget("label"){label = _("ISO 19794-5/ICAO 9309 passport"), halign = "start"} 102 | end 103 | ) 104 | 105 | local function destroy() 106 | -- nothing to destroy 107 | end 108 | 109 | script_data.destroy = destroy 110 | 111 | return script_data 112 | 113 | -- kate: tab-indents: off; indent-width 2; replace-tabs on; remove-trailing-space on; hl Lua; 114 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua 115 | -------------------------------------------------------------------------------- /contrib/passport_guide_germany.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | German passport photo cropping guide for darktable. 3 | Derived from the passport cropping guide by Kåre Hampf. 4 | 5 | copyright (c) 2017 Kåre Hampf 6 | copyright (c) 2024 Christian Sültrop 7 | 8 | darktable is free software: you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation, either version 3 of the License, or 11 | (at your option) any later version. 12 | 13 | darktable is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with darktable. If not, see . 20 | ]] 21 | 22 | --[[ 23 | PASSPORT CROPPING GUIDE 24 | Guides for cropping passport and ID card ("Personalausweis") photos based on the "Passbild-Schablone" 25 | from the German Federal Ministry of the Interior and Community. 26 | (https://www.bmi.bund.de/SharedDocs/downloads/DE/veroeffentlichungen/themen/moderne-verwaltung/ausweise/passbild-schablone-erwachsene.pdf?__blob=publicationFile&v=3) 27 | 28 | INSTALLATION 29 | * copy this file in $CONFIGDIR/lua/ where CONFIGDIR is your darktable configuration directory 30 | * add the following line in the file $CONFIGDIR/luarc 31 | require "passport_guide_germany" 32 | * (optional) add the line: 33 | "plugins/darkroom/clipping/extra_aspect_ratios/passport 35x45mm=45:35" 34 | to $CONFIGDIR/darktablerc 35 | 36 | USAGE 37 | * when using the cropping tool, select "Passport Photo Germany" as guide and if you added the line in yout rc 38 | select "passport 35x45mm" as aspect 39 | ]] 40 | 41 | local dt = require "darktable" 42 | local du = require "lib/dtutils" 43 | local gettext = dt.gettext.gettext 44 | 45 | du.check_min_api_version("2.0.0", "passport_guide_germany") 46 | 47 | -- Tell gettext where to find the .mo file translating messages for a particular domain 48 | local function _(msgid) 49 | return gettext(msgid) 50 | end 51 | 52 | local script_data = {} 53 | 54 | script_data.metadata = { 55 | name = _("passport guide Germany"), 56 | purpose = _("guides for cropping passport and ID card (\"Personalausweis\") photos based on the \"Passbild-Schablone\" from the German Federal Ministry of the Interior and Community"), 57 | author = "menschmachine", 58 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/passport_guide_germany" 59 | } 60 | 61 | script_data.destroy = nil -- function to destory the script 62 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil 63 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 64 | script_data.show = nil -- only required for libs since the destroy_method only hides them 65 | 66 | dt.guides.register_guide("Passport Photo Germany", 67 | -- draw 68 | function(cairo, x, y, width, height, zoom_scale) 69 | local _width, _height 70 | 71 | -- get the max 35x45 rectangle 72 | local aspect_ratio = 45 / 35 73 | if width * aspect_ratio > height then 74 | _width = height / aspect_ratio 75 | _height = height 76 | else 77 | _width = width 78 | _height = width * aspect_ratio 79 | end 80 | 81 | cairo:save() 82 | 83 | cairo:translate(x + (width - _width) / 2, y + (height - _height) / 2) 84 | cairo:scale(_width / 35, _height / 45) 85 | 86 | -- the outer rectangle 87 | cairo:rectangle( 0, 0, 35, 45) 88 | 89 | -- Nose position: The nose tip must be between these lines 90 | cairo:draw_line(15.5, 45, 15.5, 13) 91 | cairo:draw_line(35-15.5, 45, 35-15.5, 13) 92 | 93 | -- Face height 94 | -- optimum face height: The upper end of the head should be between these lines 95 | cairo:draw_line(0, 4, 35, 4) 96 | cairo:draw_line(0, 8, 35, 8) 97 | 98 | -- tolerated face height: The upper end of the head must not be below this line 99 | cairo:draw_line(6, 13, 30, 13) 100 | 101 | -- Eye area: The eyes must be between these lines 102 | cairo:draw_line(0, 13, 35, 13) 103 | cairo:draw_line(0, 23, 35, 23) 104 | 105 | -- Cheek line: The cheek must lie on this line 106 | cairo:draw_line(9, 45-5, 27, 45-5) 107 | 108 | cairo:restore() 109 | end, 110 | -- gui 111 | function() 112 | return dt.new_widget("label"){label = _("Passport Photo Germany"), halign = "start"} 113 | end 114 | ) 115 | 116 | local function destroy() 117 | -- noting to destroy 118 | end 119 | 120 | script_data.destroy = destroy 121 | 122 | return script_data 123 | 124 | -- kate: tab-indents: off; indent-width 2; replace-tabs on; remove-trailing-space on; hl Lua; 125 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua 126 | -------------------------------------------------------------------------------- /contrib/rate_group.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | 3 | Rate Group: 4 | 5 | Script to provide shortcuts for rating or rejecting all images within a group; 6 | particularly useful for RAW+JPEG shooters employing a star rating workflow 7 | like the below: 8 | 9 | http://blog.chasejarvis.com/blog/2011/03/photo-editing-101/ 10 | 11 | 12 | Installation and usage: 13 | 14 | 1. Copy this file into ~/.config/darktable/lua/ 15 | 16 | 2. Add `require "rate_group"` to new line in ~/.config/darktable/luarc 17 | 18 | 3. Restart darktable 19 | 20 | 4. Assign a keyboard shortcut to each action via settings > shortcuts > lua 21 | 22 | I use the following shortcuts: 23 | 24 | * Reject group: Ctrl+R 25 | * Rate group 1: Ctrl+1 26 | * Rate group 2: Ctrl+2 27 | * Rate group 3: Ctrl+3 28 | * Rate group 4: Ctrl+4 29 | * Rate group 5: Ctrl+5 30 | * Rate group 0: Ctrl+0 31 | 32 | 33 | Author: Dom H (dom@hxy.io) 34 | License: GPLv2 35 | 36 | This script is based on Thibault Jouannic's `reject_group` script: 37 | http://redmine.darktable.org/issues/8968#note-20 38 | 39 | ]] 40 | 41 | local dt = require "darktable" 42 | local du = require "lib/dtutils" 43 | 44 | -- added version check 45 | du.check_min_api_version("7.0.0", "rate_group") 46 | 47 | local gettext = dt.gettext.gettext 48 | 49 | local function _(msgid) 50 | return gettext(msgid) 51 | end 52 | 53 | -- return data structure for script_manager 54 | 55 | local script_data = {} 56 | 57 | script_data.metadata = { 58 | name = _("rate group"), 59 | purpose = _("rate all images in a group"), 60 | author = "Dom H (dom@hxy.io)", 61 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/rate_group" 62 | } 63 | 64 | script_data.destroy = nil -- function to destory the script 65 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil 66 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 67 | script_data.show = nil -- only required for libs since the destroy_method only hides them 68 | 69 | local function apply_rating(rating) 70 | local images = dt.gui.action_images 71 | for _, i in ipairs(images) do 72 | local members = i:get_group_members() 73 | for _, m in ipairs(members) do 74 | m.rating = rating 75 | end 76 | end 77 | if rating < 0 then 78 | dt.print(_("rejecting group(s)")) 79 | else 80 | dt.print(string.format(_("applying rating %d to group(s)"), rating)) 81 | end 82 | end 83 | 84 | local function destroy() 85 | dt.destroy_event("rg_reject", "shortcut") 86 | dt.destroy_event("rg0", "shortcut") 87 | dt.destroy_event("rg1", "shortcut") 88 | dt.destroy_event("rg2", "shortcut") 89 | dt.destroy_event("rg3", "shortcut") 90 | dt.destroy_event("rg4", "shortcut") 91 | dt.destroy_event("rg5", "shortcut") 92 | end 93 | 94 | dt.register_event("rg_reject", "shortcut", 95 | function(event, shortcut) 96 | apply_rating(-1) 97 | end, _("reject group")) 98 | 99 | dt.register_event("rg0", "shortcut", 100 | function(event, shortcut) 101 | apply_rating(0) 102 | end, string.format(_("rate group %d"), 0) 103 | ) 104 | 105 | dt.register_event("rg1", "shortcut", 106 | function(event, shortcut) 107 | apply_rating(1) 108 | end, string.format(_("rate group %d"), 1)) 109 | 110 | dt.register_event("rg2", "shortcut", 111 | function(event, shortcut) 112 | apply_rating(2) 113 | end, string.format(_("rate group %d"), 2)) 114 | 115 | dt.register_event("rg3", "shortcut", 116 | function(event, shortcut) 117 | apply_rating(3) 118 | end, string.format(_("rate group %d"), 3)) 119 | 120 | dt.register_event("rg4", "shortcut", 121 | function(event, shortcut) 122 | apply_rating(4) 123 | end, string.format(_("rate group %d"), 4)) 124 | 125 | dt.register_event("rg5", "shortcut", 126 | function(event, shortcut) 127 | apply_rating(5) 128 | end, string.format(_("rate group %d"), 5)) 129 | 130 | script_data.destroy = destroy 131 | 132 | return script_data 133 | -------------------------------------------------------------------------------- /contrib/select_non_existing.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2023 Dirk Dittmar 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | darktable is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | You should have received a copy of the GNU General Public License 14 | along with darktable. If not, see . 15 | ]] 16 | --[[ 17 | Enable selection of non-existing images in the the currently worked on images, e.g. the ones selected by the collection module. 18 | ]] 19 | 20 | local dt = require "darktable" 21 | local du = require "lib/dtutils" 22 | local df = require "lib/dtutils.file" 23 | 24 | -- module name 25 | local MODULE = "select_non_existing" 26 | 27 | du.check_min_api_version("9.1.0", MODULE) 28 | 29 | -- figure out the path separator 30 | local PS = dt.configuration.running_os == "windows" and "\\" or "/" 31 | 32 | local gettext = dt.gettext.gettext 33 | 34 | local function _(msgid) 35 | return gettext(msgid) 36 | end 37 | 38 | local function stop_job(job) 39 | job.valid = false 40 | end 41 | 42 | local function select_nonexisting_images(event, images) 43 | local selection = {} 44 | 45 | local job = dt.gui.create_job(_("select non existing images"), true, stop_job) 46 | for key,image in ipairs(images) do 47 | if(job.valid) then 48 | job.percent = (key - 1)/#images 49 | local filepath = image.path..PS..image.filename 50 | local file_exists = df.test_file(filepath, "e") 51 | dt.print_log(filepath.." exists? => "..tostring(file_exists)) 52 | if (not file_exists) then 53 | table.insert(selection, image) 54 | end 55 | else 56 | break 57 | end 58 | end 59 | stop_job(job) 60 | 61 | return selection 62 | end 63 | 64 | local function destroy() 65 | dt.gui.libs.select.destroy_selection(MODULE) 66 | end 67 | 68 | dt.gui.libs.select.register_selection( 69 | MODULE, 70 | _("select non existing"), 71 | select_nonexisting_images, 72 | _("select all non-existing images in the current images")) 73 | 74 | local script_data = {} 75 | 76 | script_data.metadata = { 77 | name = _("select non existing"), 78 | purpose = _("enable selection of non-existing images"), 79 | author = "Dirk Dittmar", 80 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/select_non_existing" 81 | } 82 | 83 | script_data.destroy = destroy 84 | return script_data -------------------------------------------------------------------------------- /contrib/select_untagged.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2017 Jannis_V 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | darktable is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | You should have received a copy of the GNU General Public License 14 | along with darktable. If not, see . 15 | ]] 16 | 17 | --[[ 18 | Enable selection of untagged images (darktable|* tags are ignored) 19 | ]] 20 | 21 | local dt = require "darktable" 22 | local du = require "lib/dtutils" 23 | local gettext = dt.gettext.gettext 24 | 25 | du.check_min_api_version("7.0.0", "select_untagged") 26 | 27 | local function _(msgid) 28 | return gettext(msgid) 29 | end 30 | 31 | -- return data structure for script_manager 32 | 33 | local script_data = {} 34 | 35 | script_data.metadata = { 36 | name = _("select untagged"), 37 | purpose = _("enable selection of untagged images"), 38 | author = "Jannis_V", 39 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/select_untagged" 40 | } 41 | 42 | script_data.destroy = nil -- function to destory the script 43 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil 44 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 45 | script_data.show = nil -- only required for libs since the destroy_method only hides them 46 | 47 | local function stop_job(job) 48 | job.valid = false 49 | end 50 | 51 | local function select_untagged_images(event, images) 52 | job = dt.gui.create_job(_("select untagged images"), true, stop_job) 53 | 54 | local selection = {} 55 | 56 | for key,image in ipairs(images) do 57 | if(job.valid) then 58 | job.percent = (key - 1)/#images 59 | local tags = dt.tags.get_tags(image) 60 | local hasTags = false 61 | for _,tag in ipairs(tags) do 62 | if not string.match(tag.name, "darktable|") then 63 | hasTags = true 64 | end 65 | end 66 | if hasTags == false then 67 | table.insert(selection, image) 68 | end 69 | else 70 | break 71 | end 72 | end 73 | 74 | job.valid = false 75 | -- return table of images to set the selection to 76 | return selection 77 | end 78 | 79 | local function destroy() 80 | dt.gui.libs.select.destroy_selection("select_untagged") 81 | end 82 | 83 | dt.gui.libs.select.register_selection( 84 | "select_untagged", _("select untagged"), 85 | select_untagged_images, 86 | _("select all images containing no tags or only tags added by darktable")) 87 | 88 | script_data.destroy = destroy 89 | 90 | return script_data 91 | -------------------------------------------------------------------------------- /contrib/slideshowMusic.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | Copyright 2014 by Tobias Jakobs 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation; either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | ]] 18 | --[[ 19 | darktable Script to play music during a Slideshow 20 | 21 | You need rhythmbox-client installed to use this script 22 | 23 | USAGE 24 | * require this script from your main lua file 25 | ]] 26 | 27 | local dt = require "darktable" 28 | local du = require "lib/dtutils" 29 | local df = require "lib/dtutils.file" 30 | local gettext = dt.gettext.gettext 31 | 32 | du.check_min_api_version("7.0.0", "slideshowMusic") 33 | 34 | local function _(msgid) 35 | return gettext(msgid) 36 | end 37 | 38 | -- return data structure for script_manager 39 | 40 | local script_data = {} 41 | 42 | script_data.metadata = { 43 | name = _("slideshow music"), 44 | purpose = _("play music during a slideshow"), 45 | author = "Tobias Jakobs", 46 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/contrib/slideshowMusic" 47 | } 48 | 49 | script_data.destroy = nil -- function to destory the script 50 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil 51 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 52 | script_data.show = nil -- only required for libs since the destroy_method only hides them 53 | 54 | local function playSlideshowMusic(_, old_view, new_view) 55 | local filename, playMusic 56 | 57 | filename = dt.preferences.read("slideshowMusic","SlideshowMusic","string") 58 | playMusic = dt.preferences.read("slideshowMusic","PlaySlideshowMusic","bool") 59 | 60 | if not df.check_if_bin_exists("rhythmbox-client") then 61 | dt.print_error("rhythmbox-client not found") 62 | return 63 | end 64 | 65 | if (playMusic) then 66 | local playCommand, stopCommand 67 | 68 | if (new_view.id == "slideshow") then 69 | playCommand = 'rhythmbox-client --play-uri="'..filename..'"' 70 | 71 | --dt.print_error(playCommand) 72 | dt.control.execute( playCommand) 73 | else 74 | if (old_view and old_view.id == "slideshow") then 75 | stopCommand = "rhythmbox-client --pause" 76 | --dt.print_error(stopCommand) 77 | dt.control.execute(stopCommand) 78 | end 79 | end 80 | end 81 | end 82 | 83 | function destroy() 84 | dt.destroy_event("slideshow_music", "view-changed") 85 | dt.preferences.destroy("slideshowMusic", "SlideshowMusic") 86 | dt.preferences.destroy("slideshowMusic", "PlaySlideshowMusic") 87 | end 88 | 89 | -- Preferences 90 | dt.preferences.register("slideshowMusic", "SlideshowMusic", "file", _("slideshow background music file"), "", "") 91 | dt.preferences.register("slideshowMusic", 92 | "PlaySlideshowMusic", 93 | "bool", 94 | _("play slideshow background music"), 95 | _("plays music with rhythmbox if a slideshow starts"), 96 | true) 97 | -- Register 98 | dt.register_event("slideshow_music", "view-changed", 99 | playSlideshowMusic) 100 | 101 | script_data.destroy = destroy 102 | 103 | return script_data 104 | -------------------------------------------------------------------------------- /data/icons/blank20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darktable-org/lua-scripts/453d744b6938f1bab652bae9745731bfe413d90b/data/icons/blank20.png -------------------------------------------------------------------------------- /data/icons/path20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/darktable-org/lua-scripts/453d744b6938f1bab652bae9745731bfe413d90b/data/icons/path20.png -------------------------------------------------------------------------------- /examples/api_version.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | Copyright 2014 by Tobias Jakobs. 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation; either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | ]] 18 | --[[ 19 | darktable script to show the Lua API version in the preferences 20 | 21 | USAGE 22 | * require this script from your main lua file 23 | ]] 24 | local dt = require "darktable" 25 | 26 | -- translation facilities 27 | 28 | local gettext = dt.gettext.gettext 29 | 30 | local function _(msg) 31 | return gettext(msg) 32 | end 33 | 34 | -- script_manager integration to allow a script to be removed 35 | -- without restarting darktable 36 | local function destroy() 37 | -- nothing to destroy 38 | end 39 | 40 | local result = dt.configuration.api_version_string 41 | dt.print_log("API Version: " .. result) 42 | dt.print("API " .. _("version") .. ": " .. result) 43 | 44 | -- set the destroy routine so that script_manager can call it when 45 | -- it's time to destroy the script and then return the data to 46 | -- script_manager 47 | local script_data = {} 48 | 49 | script_data.metadata = { 50 | name = _("APIversion"), 51 | purpose = _("display api_version example"), 52 | author = "Tobias Jakobs", 53 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/api_version" 54 | } 55 | 56 | script_data.destroy = destroy 57 | 58 | return script_data 59 | -------------------------------------------------------------------------------- /examples/darkroom_demo.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2019 Bill Ferguson 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | darkroom_demo - an example script demonstrating how to control image display in darkroom mode 20 | 21 | darkroom_demo is an example script showing how to control the currently displayed image in 22 | darkroom mode using lua. 23 | 24 | ADDITIONAL SOFTWARE NEEDED FOR THIS SCRIPT 25 | * none 26 | 27 | USAGE 28 | * require this script from your main lua file 29 | 30 | BUGS, COMMENTS, SUGGESTIONS 31 | * Send to Bill Ferguson, wpferguson@gmail.com 32 | 33 | CHANGES 34 | ]] 35 | 36 | local dt = require "darktable" 37 | local du = require "lib/dtutils" 38 | 39 | -- - - - - - - - - - - - - - - - - - - - - - - - 40 | -- V E R S I O N C H E C K 41 | -- - - - - - - - - - - - - - - - - - - - - - - - 42 | 43 | du.check_min_api_version("5.0.2", "darkroom_demo") -- darktable 3.0 44 | 45 | -- script_manager integration to allow a script to be removed 46 | -- without restarting darktable 47 | local function destroy() 48 | -- nothing to destroy 49 | end 50 | 51 | -- - - - - - - - - - - - - - - - - - - - - - - - 52 | -- C O N S T A N T S 53 | -- - - - - - - - - - - - - - - - - - - - - - - - 54 | 55 | local MODULE_NAME = "darkroom_demo" 56 | local PS = dt.configuration.running_os == "windows" and "\\" or "/" 57 | 58 | -- - - - - - - - - - - - - - - - - - - - - - - - 59 | -- T R A N S L A T I O N S 60 | -- - - - - - - - - - - - - - - - - - - - - - - - 61 | local gettext = dt.gettext.gettext 62 | 63 | local function _(msgid) 64 | return gettext(msgid) 65 | end 66 | 67 | -- - - - - - - - - - - - - - - - - - - - - - - - 68 | -- M A I N 69 | -- - - - - - - - - - - - - - - - - - - - - - - - 70 | 71 | -- alias dt.control.sleep to sleep 72 | local sleep = dt.control.sleep 73 | 74 | -- save the configuration 75 | 76 | local current_view = dt.gui.current_view() 77 | 78 | -- check that there is an image selected, otherwise we can't activate darkroom viewe 79 | 80 | local images = dt.gui.action_images 81 | dt.print_log(#images .. " images selected") 82 | if not images or #images == 0 then 83 | dt.print_log("no images selected, creating selection") 84 | dt.print_log("using image " .. dt.collection[1].filename) 85 | dt.gui.selection({dt.collection[1]}) 86 | end 87 | 88 | -- enter darkroom view 89 | 90 | dt.gui.current_view(dt.gui.views.darkroom) 91 | 92 | local max_images = 10 93 | 94 | dt.print(_("showing images, with a pause between each")) 95 | sleep(1500) 96 | 97 | -- display first 10 images of collection pausing for a second between each 98 | 99 | for i, img in ipairs(dt.collection) do 100 | dt.print(string.format(_("displaying image "), i)) 101 | dt.gui.views.darkroom.display_image(img) 102 | sleep(1500) 103 | if i == max_images then 104 | break 105 | end 106 | end 107 | 108 | -- return to lighttable view 109 | 110 | dt.print(_("restoring view")) 111 | sleep(1500) 112 | dt.gui.current_view(current_view) 113 | 114 | -- set the destroy routine so that script_manager can call it when 115 | -- it's time to destroy the script and then return the data to 116 | -- script_manager 117 | local script_data = {} 118 | 119 | script_data.metadata = { 120 | name = _("darkroom demo"), 121 | purpose = _("example demonstrating how to control image display in darkroom mode"), 122 | author = "Bill Ferguson ", 123 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/darkroom_demo" 124 | } 125 | 126 | script_data.destroy = destroy 127 | 128 | return script_data 129 | -------------------------------------------------------------------------------- /examples/de_DE/LC_MESSAGES/gettextExample.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: Lua gettextTest\n" 4 | "POT-Creation-Date: 2016-01-07 20:33+0100\n" 5 | "PO-Revision-Date: 2016-01-07 21:32+0100\n" 6 | "Last-Translator: Tobias Jakobs \n" 7 | "Language-Team: \n" 8 | "Language: de\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.4\n" 13 | "X-Poedit-Basepath: .\n" 14 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 15 | "X-Poedit-KeywordsList: gettext;dgettext:2;dcgettext:2;ngettext:1,2;dngettext:2,3\n" 16 | "X-Poedit-SearchPath-0: .\n" 17 | 18 | #: gettextExample.lua:36 19 | msgid "Hello World!" 20 | msgstr "Hallo Welt!" 21 | -------------------------------------------------------------------------------- /examples/gettextExample.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | Copyright 2016 by Tobias Jakobs. 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation; either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | ]] 18 | --[[ 19 | darktable script to show how translations works 20 | 21 | To create the .po file run: 22 | xgettext -l lua gettextExample.lua 23 | 24 | xgettext is not a lua tool, it knows (almost) nothing about Lua, and not 25 | enough to do a proper parsing. It takes a text file (In our case a Lua 26 | file) and recognises a few (language dependant) keyword in there. 27 | It matches those keywords with internal description on how functions are 28 | called and creates the .po file accordingly. (For example, it knows that 29 | the first argument of gettext() is the translated string, but that it's 30 | the second argument for dgettext) 31 | This is important because it means that if you use some neat Lua tricks 32 | (like renaming functions) xgettext won't recognize those calls and won't 33 | extract the string to the .po file. 34 | So, this is why we create a local variagle gettext = dt.gettext, so 35 | xgettext recognises gettext.gettext as a function but not dt.gettext.gettext 36 | 37 | To create a .mo file run: 38 | msgfmt -v gettextExample.po -o gettextExample.mo 39 | 40 | USAGE 41 | * require this script from your main lua file (Add 'require "gettextExample"' to luarc.) 42 | * copy the script to: .config/darktable/lua/ 43 | * copy the gettextExample.mo to .config/darktable/lua/de_DE/LC_MESSAGES 44 | 45 | You need to start darktable with the Lua debug option: darktable -d lua 46 | $LANG must set to: de_DE 47 | 48 | The script run on darktable startup and should output this three lines: 49 | 50 | LUA ERROR Hello World! 51 | LUA ERROR Bild 52 | LUA ERROR Hallo Welt! 53 | 54 | ]] 55 | local dt = require "darktable" 56 | local du = require "lib/dtutils" 57 | 58 | --check API version 59 | du.check_min_api_version("3.0.0", "gettextExample") 60 | 61 | -- script_manager integration to allow a script to be removed 62 | -- without restarting darktable 63 | local function destroy() 64 | -- nothing to destroy 65 | end 66 | 67 | -- Not translated Text 68 | dt.print_error("Hello World!") 69 | 70 | local gettext = dt.gettext.gettext 71 | 72 | -- Translate a string using the darktable textdomain 73 | dt.print_error(gettext("image")) 74 | 75 | -- Define a local function called _ to make the code more readable and have it call dgettext 76 | -- with the proper domain. 77 | local function _(msgid) 78 | return gettext(msgid) 79 | end 80 | 81 | dt.print_error(_("hello world!")) 82 | 83 | -- set the destroy routine so that script_manager can call it when 84 | -- it's time to destroy the script and then return the data to 85 | -- script_manager 86 | local script_data = {} 87 | 88 | script_data.metadata = { 89 | name = _("gettext example"), 90 | purpose = _("example of how translations works"), 91 | author = "Tobias Jakobs", 92 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/gettextExample" 93 | } 94 | 95 | script_data.destroy = destroy 96 | 97 | return script_data 98 | -------------------------------------------------------------------------------- /examples/gui_action.lua: -------------------------------------------------------------------------------- 1 | local dt = require "darktable" 2 | 3 | local NaN = 0/0 4 | 5 | local wg = {} 6 | 7 | local gettext = dt.gettext.gettext 8 | 9 | local function _(msgid) 10 | return gettext(msgid) 11 | end 12 | 13 | -- return data structure for script_manager 14 | 15 | local script_data = {} 16 | 17 | script_data.metadata = { 18 | name = _("gui action"), 19 | purpose = _("example of how to use darktable.gui.action() calls"), 20 | author = "Diederik ter Rahe", 21 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/gui_action" 22 | } 23 | 24 | script_data.destroy = nil -- function to destory the script 25 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 26 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 27 | script_data.show = nil -- only required for libs since the destroy_method only hides them 28 | 29 | wg.action = dt.new_widget("entry"){ 30 | text = "lib/filter/view", 31 | placeholder = _("action path"), 32 | tooltip = _("enter the full path of an action, for example 'lib/filter/view'") 33 | } 34 | 35 | wg.instance = dt.new_widget("combobox"){ 36 | label = _("instance"), 37 | tooltip = _("the instance of an image processing module to execute action on"), 38 | "0", "+1", "-1", "+2", "-2", "+3", "-3", "+4", "-4", "+5", "-5", "+6", "-6", "+7", "-7", "+8", "-8", "+9", "-9" 39 | } 40 | 41 | wg.element = dt.new_widget("entry"){ 42 | text = "", 43 | placeholder = _("action element"), 44 | tooltip = _("enter the element of an action, for example 'selection', or leave empty for default") 45 | } 46 | 47 | wg.effect = dt.new_widget("entry"){ 48 | text = "next", 49 | placeholder = _("action effect"), 50 | tooltip = _("enter the effect of an action, for example 'next', or leave empty for default") 51 | } 52 | 53 | wg.speed = dt.new_widget("entry"){ 54 | text = "1", 55 | placeholder = _("action speed"), 56 | tooltip = _("enter the speed to use in action execution, or leave empty to only read state") 57 | } 58 | 59 | wg.check = dt.new_widget("check_button"){ 60 | label = _('perform action'), 61 | tooltip = _('perform action or only read return'), 62 | clicked_callback = function() 63 | wg.speed.sensitive = wg.check.value 64 | end, 65 | value = true 66 | } 67 | 68 | wg.return_value = dt.new_widget("entry"){ 69 | text = "", 70 | sensitive = false 71 | } 72 | 73 | dt.register_lib( 74 | "execute_action", -- Module name 75 | _("execute gui actions"), -- name 76 | true, -- expandable 77 | false, -- resetable 78 | {[dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_LEFT_CENTER", 100}, 79 | [dt.gui.views.darkroom] = {"DT_UI_CONTAINER_PANEL_LEFT_CENTER", 100}}, 80 | dt.new_widget("box") 81 | { 82 | orientation = "vertical", 83 | 84 | dt.new_widget("box") 85 | { 86 | orientation = "horizontal", 87 | dt.new_widget("label"){label = _("action path"), halign = "start"}, 88 | wg.action 89 | }, 90 | wg.instance, 91 | dt.new_widget("box") 92 | { 93 | orientation = "horizontal", 94 | dt.new_widget("label"){label = _("element"), halign = "start"}, 95 | wg.element 96 | }, 97 | dt.new_widget("box") 98 | { 99 | orientation = "horizontal", 100 | dt.new_widget("label"){label = _("effect"), halign = "start"}, 101 | wg.effect 102 | }, 103 | wg.check, 104 | dt.new_widget("box") 105 | { 106 | orientation = "horizontal", 107 | dt.new_widget("label"){label = _("speed"), halign = "start"}, 108 | wg.speed 109 | }, 110 | dt.new_widget("button") 111 | { 112 | label = _("execute action"), 113 | tooltip = _("execute the action specified in the fields above"), 114 | clicked_callback = function(_) 115 | local sp = NaN 116 | if wg.check.value then sp = wg.speed.text end 117 | wg.return_value.text = dt.gui.action(wg.action.text, tonumber(wg.instance.value), wg.element.text, wg.effect.text, tonumber(sp)) 118 | end 119 | }, 120 | dt.new_widget("box") 121 | { 122 | orientation = "horizontal", 123 | dt.new_widget("label"){label = "return value:", halign = "start"}, 124 | wg.return_value 125 | }, 126 | } 127 | ) 128 | 129 | local function restart() 130 | dt.gui.libs["execute_action"].visible = true 131 | end 132 | 133 | local function destroy() 134 | dt.gui.libs["execute_action"].visible = false 135 | end 136 | 137 | script_data.destroy = destroy 138 | script_data.destroy_method = "hide" 139 | script_data.restart = restart 140 | script_data.show = restart 141 | 142 | return script_data 143 | -------------------------------------------------------------------------------- /examples/hello_world.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2014 Tobias Ellinghaus 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | 19 | --[[ 20 | HELLO WORLD 21 | prints "hello world when DT starts 22 | 23 | 24 | USAGE 25 | * require this file from your main lua config file: 26 | 27 | 28 | ]] 29 | local dt = require "darktable" 30 | local du = require "lib/dtutils" 31 | 32 | -- translation facilities 33 | 34 | du.check_min_api_version("2.0.0", "hello_world") 35 | 36 | local gettext = dt.gettext.gettext 37 | 38 | local function _(msg) 39 | return gettext(msg) 40 | end 41 | 42 | -- script_manager integration to allow a script to be removed 43 | -- without restarting darktable 44 | local function destroy() 45 | -- nothing to destroy 46 | end 47 | 48 | dt.print(_("hello, world")) 49 | 50 | -- set the destroy routine so that script_manager can call it when 51 | -- it's time to destroy the script and then return the data to 52 | -- script_manager 53 | local script_data = {} 54 | 55 | script_data.metadata = { 56 | name = _("hello world"), 57 | purpose = _("example of how to print a message to the screen"), 58 | author = "Tobias Ellinghaus", 59 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/hello_world" 60 | } 61 | 62 | script_data.destroy = destroy 63 | 64 | return script_data 65 | -- 66 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua 67 | -------------------------------------------------------------------------------- /examples/panels_demo.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2019 Bill Ferguson 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | panels_demo - an example script demonstrating how to contol panel visibility 20 | 21 | panels_demo is an example script showing how to control panel visibility. It cycles 22 | through the panels hiding them one by one, then showing them one by one, then 23 | hiding all, then showing all. Finally, the original panel visibility is restored. 24 | 25 | ADDITIONAL SOFTWARE NEEDED FOR THIS SCRIPT 26 | * none 27 | 28 | USAGE 29 | * require this script from your main lua file 30 | 31 | BUGS, COMMENTS, SUGGESTIONS 32 | * Send to Bill Ferguson, wpferguson@gmail.com 33 | 34 | CHANGES 35 | ]] 36 | 37 | local dt = require "darktable" 38 | local du = require "lib/dtutils" 39 | 40 | -- - - - - - - - - - - - - - - - - - - - - - - - 41 | -- V E R S I O N C H E C K 42 | -- - - - - - - - - - - - - - - - - - - - - - - - 43 | 44 | du.check_min_api_version("7.0.0", "panels_demo") 45 | 46 | -- script_manager integration to allow a script to be removed 47 | -- without restarting darktable 48 | local function destroy() 49 | -- nothing to destroy 50 | end 51 | 52 | -- - - - - - - - - - - - - - - - - - - - - - - - 53 | -- C O N S T A N T S 54 | -- - - - - - - - - - - - - - - - - - - - - - - - 55 | 56 | local MODULE_NAME = "panels_demo" 57 | local PS = dt.configuration.running_os == "windows" and "\\" or "/" 58 | 59 | -- - - - - - - - - - - - - - - - - - - - - - - - 60 | -- T R A N S L A T I O N S 61 | -- - - - - - - - - - - - - - - - - - - - - - - - 62 | local gettext = dt.gettext.gettext 63 | 64 | local function _(msgid) 65 | return gettext(msgid) 66 | end 67 | 68 | -- - - - - - - - - - - - - - - - - - - - - - - - 69 | -- M A I N 70 | -- - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | -- alias dt.control.sleep to sleep 73 | local sleep = dt.control.sleep 74 | 75 | local panels = {"DT_UI_PANEL_CENTER_TOP", -- center top panel 76 | "DT_UI_PANEL_CENTER_BOTTOM", -- center bottom panel 77 | "DT_UI_PANEL_TOP", -- complete top panel 78 | "DT_UI_PANEL_LEFT", -- left panel 79 | "DT_UI_PANEL_RIGHT", -- right panel 80 | "DT_UI_PANEL_BOTTOM"} -- complete bottom panel 81 | 82 | local panel_status = {} 83 | 84 | -- save panel visibility 85 | 86 | for i = 1,#panels do 87 | panel_status[i] = dt.gui.panel_visible(panels[i]) 88 | end 89 | 90 | -- show all just in case 91 | 92 | dt.gui.panel_show_all() 93 | 94 | -- hide center_top, center_bottom, left, top, right, bottom in order 95 | 96 | dt.print(_("hiding all panels, one at a time")) 97 | sleep(1500) 98 | 99 | for i = 1, #panels do 100 | dt.print(string.format(_("hiding %s"), panels[i])) 101 | dt.gui.panel_hide(panels[i]) 102 | sleep(1500) 103 | end 104 | 105 | -- display left, then top, then right, then bottom 106 | 107 | dt.print(_("make panels visible, one at a time")) 108 | sleep(1500) 109 | 110 | for i = #panels, 1, -1 do 111 | dt.print(string.format(_("showing %s"), panels[i])) 112 | dt.gui.panel_show(panels[i]) 113 | sleep(1500) 114 | end 115 | 116 | -- hide all 117 | 118 | dt.print(_("hiding all panels")) 119 | sleep(1500) 120 | 121 | dt.gui.panel_hide_all() 122 | sleep(1500) 123 | 124 | -- show all 125 | 126 | dt.print(_("showing all panels")) 127 | sleep(1500) 128 | 129 | dt.gui.panel_show_all() 130 | sleep(1500) 131 | 132 | -- restore 133 | 134 | dt.print(_("restoring panels to starting configuration")) 135 | for i = 1, #panels do 136 | if panel_status[i] then 137 | dt.gui.panel_show(panels[i]) 138 | else 139 | dt.gui.panel_hide(panels[i]) 140 | end 141 | end 142 | 143 | -- set the destroy routine so that script_manager can call it when 144 | -- it's time to destroy the script and then return the data to 145 | -- script_manager 146 | local script_data = {} 147 | 148 | script_data.metadata = { 149 | name = _("panels demo"), 150 | purpose = _("example demonstrating how to contol panel visibility"), 151 | author = "Bill Ferguson ", 152 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/panels_demo" 153 | } 154 | 155 | script_data.destroy = destroy 156 | 157 | return script_data 158 | -------------------------------------------------------------------------------- /examples/printExamples.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2017 Tobias Jakobs 4 | darktable is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | darktable is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | You should have received a copy of the GNU General Public License 13 | along with darktable. If not, see . 14 | ]] 15 | 16 | --[[ 17 | Print Examples 18 | prints "hello world when DT starts 19 | USAGE 20 | * require this file from your main lua config file: 21 | ]] 22 | local dt = require "darktable" 23 | local du = require "lib/dtutils" 24 | 25 | du.check_min_api_version("5.0.0", "printExamples") 26 | 27 | -- translation facilities 28 | 29 | local gettext = dt.gettext.gettext 30 | 31 | local function _(msg) 32 | return gettext(msg) 33 | end 34 | 35 | -- script_manager integration to allow a script to be removed 36 | -- without restarting darktable 37 | local function destroy() 38 | -- nothing to destroy 39 | end 40 | 41 | -- Will print a string to the darktable control log (the long 42 | -- overlayed window that appears over the main panel). 43 | dt.print(_("print")) 44 | 45 | -- This function will print its parameter if the Lua logdomain is 46 | -- activated. Start darktable with the "-d lua" command line option 47 | -- to enable the Lua logdomain. 48 | dt.print_error("print error") 49 | 50 | -- This function will print its parameter if the Lua logdomain is 51 | -- activated. Start darktable with the "-d lua" command line option 52 | -- to enable the Lua logdomain. 53 | dt.print_log("print log") 54 | 55 | -- set the destroy routine so that script_manager can call it when 56 | -- it's time to destroy the script and then return the data to 57 | -- script_manager 58 | local script_data = {} 59 | 60 | script_data.metadata = { 61 | name = _("print examples"), 62 | purpose = _("example showing the different types of printing messages"), 63 | author = "Tobias Jakobs", 64 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/printExamples" 65 | } 66 | 67 | script_data.destroy = destroy 68 | 69 | return script_data 70 | -- 71 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua 72 | -------------------------------------------------------------------------------- /examples/running_os.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2017 Tobias Jakobs 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | 20 | USAGE 21 | * require this script from your main lua file 22 | To do this add this line to the file .config/darktable/luarc: 23 | require "running_os" 24 | 25 | prints the operating system 26 | 27 | ]] 28 | local dt = require "darktable" 29 | local du = require "lib/dtutils" 30 | 31 | du.check_min_api_version("5.0.0", "running_os") 32 | 33 | -- translation facilities 34 | 35 | local gettext = dt.gettext.gettext 36 | 37 | local function _(msg) 38 | return gettext(msg) 39 | end 40 | 41 | -- script_manager integration to allow a script to be removed 42 | -- without restarting darktable 43 | local function destroy() 44 | -- nothing to destroy 45 | end 46 | 47 | dt.print(string.format(_("you are running: %s"), dt.configuration.running_os)) 48 | 49 | -- set the destroy routine so that script_manager can call it when 50 | -- it's time to destroy the script and then return the data to 51 | -- script_manager 52 | local script_data = {} 53 | 54 | script_data.metadata = { 55 | name = _("running OS"), 56 | purpose = _("example of how to determine the operating system being used"), 57 | author = "Tobias Jakobs", 58 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/examples/running_os" 59 | } 60 | 61 | script_data.destroy = destroy 62 | 63 | return script_data 64 | 65 | -- 66 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua 67 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/OpenInExplorer.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Volker Lenhardt , 2020. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: PACKAGE VERSION\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-06-11 19:07+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: de_DE\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: OpenInExplorer.lua:71 21 | msgid "" 22 | "OpenInExplorer plug-in only supports Linux and macOS, and Windows at this time" 23 | msgstr "OpenInExplorer-Plug-in unterstützt zur Zeit nur Linux, macOS oder Windows" 24 | 25 | #: OpenInExplorer.lua:87 26 | msgid "" 27 | "No links directory selected.\n" 28 | "Please check the dt preferences (lua options)" 29 | msgstr "Kein Verknüpfungs-Verzeichnis ausgewählt.\nBitte die dt-Voreinstellungen überprüfen (Lua-Optionen)" 30 | 31 | #: OpenInExplorer.lua:91 32 | #, lua-format 33 | msgid "" 34 | "Links directory '%s' not found.\n" 35 | "Please check the dt preferences (lua options)" 36 | msgstr "Das Verknüpfungs-Verzeichnis '%s' konnte nicht gefunden werden.\nBitte die dt-Voreinstellungen überprüfen (Lua-Optionen)" 37 | 38 | #: OpenInExplorer.lua:148 39 | msgid "Failed to create links. Missing rights?" 40 | msgstr "Die Verknüpfungen konnten nicht erstellt werden. Fehlende Rechte?" 41 | 42 | #: OpenInExplorer.lua:164 43 | msgid "Please select an image" 44 | msgstr "Es wurde kein Bild ausgewählt" 45 | 46 | #: OpenInExplorer.lua:170 47 | msgid "Please select fewer images (max. 15)" 48 | msgstr "Bitte nicht mehr als 15 Bilder auswählen" 49 | 50 | #: OpenInExplorer.lua:186 51 | msgid "show in file explorer" 52 | msgstr "im Dateimanager anzeigen" 53 | 54 | #: OpenInExplorer.lua:188 55 | msgid "Open the file manager at the selected image's location" 56 | msgstr "Öffnet den Dateimanager an der Position des ausgewählten Bildes" 57 | 58 | #: OpenInExplorer.lua:193 59 | msgid "OpenInExplorer: linked files directory" 60 | msgstr "OpenInExplorer: Verknüpfungs-Verzeichnis" 61 | 62 | #: OpenInExplorer.lua:194 63 | msgid "" 64 | "Directory to store the links to the file names. Requires restart to take " 65 | "effect" 66 | msgstr "Verzeichnis für die Verknüpfungen zu den Dateinamen. Erfordert dt-Neustart" 67 | 68 | #: OpenInExplorer.lua:197 69 | msgid "Select directory" 70 | msgstr "Verzeichnis auswählen" 71 | 72 | #: OpenInExplorer.lua:203 73 | msgid "OpenInExplorer: use links" 74 | msgstr "OpenInExplorer: Verknüpfungen nutzen" 75 | 76 | #: OpenInExplorer.lua:204 77 | msgid "Use links instead of multiple windows. Requires restart to take effect" 78 | msgstr "Verknüpfungen statt einzelner Fenster nutzen. Erfordert dt-Neustart" 79 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/calcDistance.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:57+0100\n" 11 | "PO-Revision-Date: 2016-01-31 23:02+0100\n" 12 | "Language: de_DE\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Tobias Jakobs \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.4\n" 19 | 20 | #: calcDistance.lua:93 21 | msgid "Calculate the distance from latitude and longitude in km" 22 | msgstr "Errechne die Entfernung mit Hilfe des Längen- und Breitengrads in km" 23 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/clear_GPS.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: PACKAGE VERSION\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2016-09-07 22:25-0400\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: Bill Ferguson \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "X-Generator: Poedit 1.5.4\n" 20 | "Language: de_DE\n" 21 | "X-Poedit-SourceCharset: UTF-8\n" 22 | "X-Poedit-KeywordsList: gettext;dgettext:2;dcgettext:2ngettext:1,2;" 23 | "dngettext:2,3\n" 24 | "X-Poedit-Basepath: .\n" 25 | 26 | #: clear_GPS.lua:62 27 | msgid "clear GPS data" 28 | msgstr "GPS-Daten löschen" 29 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/copy_attach_detach_tags.po: -------------------------------------------------------------------------------- 1 | # Holger Klemm, 2016. 2 | # Christian Kanzian , 2016. 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: Lua image path\n" 6 | "POT-Creation-Date: 2016-01-07 20:33+0100\n" 7 | "PO-Revision-Date: 2016-10-18 15:34+0200\n" 8 | "Last-Translator: Christian Kanzian \n" 9 | "Language-Team: German \n" 10 | "Language: de\n" 11 | "MIME-Version: 1.0\n" 12 | "Content-Type: text/plain; charset=UTF-8\n" 13 | "Content-Transfer-Encoding: 8bit\n" 14 | "X-Generator: Lokalize 1.5\n" 15 | "X-Poedit-Basepath: .\n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "X-Poedit-KeywordsList: \n" 18 | "X-Poedit-SearchPath-0: .\n" 19 | 20 | #: copy_attach_detach_tags.lua:10 21 | msgid "Image tags copied ..." 22 | msgstr "Bild Tags kopiert ..." 23 | 24 | #: copy_attach_detach_tags.lua:10 25 | msgid "No tags to attached, please copy tags first." 26 | msgstr "Es wurden keine Tags eingefügt. Bitte zuerst die Tags kopieren." 27 | 28 | #: copy_attach_detach_tags.lua:10 29 | msgid "Tags attached ..." 30 | msgstr "Tags anhängen ..." 31 | 32 | #: copy_attach_detach_tags.lua:10 33 | msgid "Tags removed from image(s)." 34 | msgstr "Tags von Bildern wurden gelöscht." 35 | 36 | #: copy_attach_detach_tags.lua:10 37 | msgid "Tags replaced" 38 | msgstr "Tag ersetzen" 39 | 40 | #: copy_attach_detach_tags.lua:10 41 | msgid "multi copy tags" 42 | msgstr "Tags kopieren" 43 | 44 | #: copy_attach_detach_tags.lua:10 45 | msgid "paste tags" 46 | msgstr "Tags anhängen" 47 | 48 | #: copy_attach_detach_tags.lua:10 49 | msgid "replace tags" 50 | msgstr "Tags ersetzen" 51 | 52 | #: copy_attach_detach_tags.lua:10 53 | msgid "remove all tags" 54 | msgstr "Tags löschen" 55 | 56 | #: copy_attach_detach_tags.lua:10 57 | msgid "tag clipboard" 58 | msgstr "Zwischenablage" 59 | 60 | #: copy_attach_detach_tags.lua:10 61 | msgid "copy tags from selected image(s)" 62 | msgstr "Tags von ausgewählten Bildern kopieren" 63 | 64 | #: copy_attach_detach_tags.lua:10 65 | msgid "paste tags to selected image(s)" 66 | msgstr "Tags an ausgewählte Bilder anhängen" 67 | 68 | #: copy_attach_detach_tags.lua:10 69 | msgid "remove tags from selected image(s)" 70 | msgstr "Tags von ausgewählten Bildern löschen" 71 | 72 | #: copy_attach_detach_tags.lua:10 73 | msgid "replace tags from selected image(s)" 74 | msgstr "Tags von ausgewählten Bildern ersetzen" 75 | 76 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/geo_uri.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:58+0100\n" 11 | "PO-Revision-Date: 2016-01-31 23:13+0100\n" 12 | "Language: de_DE\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Tobias Jakobs \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.4\n" 19 | 20 | #: geo_uri.lua:55 21 | msgid "gnome-maps not found" 22 | msgstr "gnome-maps wurde nicht gefunden" 23 | 24 | #: geo_uri.lua:81 25 | msgid "Command failed ..." 26 | msgstr "Aufruf fehlgeschlagen ..." 27 | 28 | #: geo_uri.lua:88 29 | msgid "Open Location in Gnome Maps" 30 | msgstr "Öffnet den Ort in Gnome Maps" 31 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/gimp.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gimp\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-04-13 23:50-0400\n" 11 | "PO-Revision-Date: 2016-04-14 00:11-0500\n" 12 | "Last-Translator: Bill Ferguson \n" 13 | "Language-Team: LANGUAGE \n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "X-Generator: Poedit 1.5.4\n" 18 | "Language: de_DE\n" 19 | "X-Poedit-SourceCharset: UTF-8\n" 20 | "X-Poedit-KeywordsList: gettext;dgettext:2;dcgettext:2ngettext:1,2;" 21 | "dngettext:2,3\n" 22 | "X-Poedit-Basepath: .\n" 23 | 24 | #: gimp.lua:194 25 | #, lua-format 26 | msgid "Export Image %i/%i" 27 | msgstr "Exportiere Bild %i/%i" 28 | 29 | #: gimp.lua:242 30 | msgid "Unable to move edited file into collection. Leaving it as %s" 31 | msgstr "Die bearbeitete Datei kann nicht in die Sammlung aufgenommen werden. Bearbeitete Datei ist %s" 32 | 33 | #: gimp.lua:251 34 | msgid "GIMP not found" 35 | msgstr "GIMP nicht gefunden" 36 | 37 | #: gimp.lua:266 38 | msgid "Launching GIMP..." 39 | msgstr "Starten von GIMP" 40 | 41 | #: gimp.lua:313 42 | msgid "Edit with GIMP" 43 | msgstr "Bearbeiten mit GIMP" 44 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/gps_select.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:58+0100\n" 11 | "PO-Revision-Date: 2016-01-31 23:05+0100\n" 12 | "Language: de_DE\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Tobias Jakobs \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.4\n" 19 | 20 | #: gps_select.lua:59 21 | msgid "Select all images with GPS information" 22 | msgstr "Markiert alle Bilder mit GPS-Informationen" 23 | 24 | #: gps_select.lua:60 25 | msgid "Select all images without GPS information" 26 | msgstr "Markiert alle Bilder ohne GPS-Informationen" 27 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/hugin.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:59+0100\n" 11 | "PO-Revision-Date: 2018-09-18 10:22+0200\n" 12 | "Language: de_DE\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Simon Legner \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 2.1.1\n" 19 | 20 | #: hugin.lua:73 21 | msgid "hugin not found" 22 | msgstr "Hugin wurde nicht gefunden" 23 | 24 | #: hugin.lua:97 25 | msgid "Will try to stitch now" 26 | msgstr "Versuche Bilder zusammenzufügen" 27 | 28 | #: hugin.lua:102 29 | msgid "Creating pto file" 30 | msgstr "Erzeuge pto-Datei" 31 | 32 | #: hugin.lua:105 33 | msgid "Running Assistent" 34 | msgstr "Starte den Assistenten" 35 | 36 | #: hugin.lua:118 37 | msgid "Command hugin failed ..." 38 | msgstr "Aufruf von hugin fehlgeschlagen ..." 39 | 40 | #: hugin.lua:124 41 | msgid "Hugin Panorama" 42 | msgstr "Hugin-Panorama" 43 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/kml_export.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: Lua gettextTest\n" 4 | "POT-Creation-Date: 2016-01-22 15:33+0100\n" 5 | "PO-Revision-Date: 2018-09-18 10:21+0200\n" 6 | "Last-Translator: Simon Legner \n" 7 | "Language-Team: \n" 8 | "Language: de\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.1.1\n" 13 | "X-Poedit-Basepath: .\n" 14 | "Plural-Forms: nplurals=2;t\" plural=(n != 1);\n" 15 | "X-Poedit-KeywordsList: gettext;dgettext:2;dcgettext:2;ngettext:1,2;dngettext:2,3\n" 16 | "X-Poedit-SearchPath-0: .\n" 17 | 18 | msgid "KML/KMZ Export" 19 | msgstr "KML/KMZ-Export" 20 | 21 | msgid "Export Image %i/%i" 22 | msgstr "Exportiere Bild %i/%i" 23 | 24 | msgid "KML export: Open KML/KMZ file after export" 25 | msgstr "KML-Export KML/KMZ-Datei nach dem Export öffnen" 26 | 27 | msgid "Opens the KML file after the export with the standard programm for KML files" 28 | msgstr "Öffnet die KML-Datei mit dem Standardprogram für KML-Dateien" 29 | 30 | msgid "KML export: Export directory" 31 | msgstr "KML-Export: Export-Verzeichnis" 32 | 33 | msgid "A directory that will be used to export the KML/KMZ files" 34 | msgstr "Verzeichnis in das die KML/KMZ-Dateien exportiert werden" 35 | 36 | msgid "KML export: Connect images with path" 37 | msgstr "KML-Export: Bilder mit einer Linie verbinden" 38 | 39 | msgid "connect all images with a path" 40 | msgstr "Verbinde alle Bilder mit einer Linie" 41 | 42 | msgid "KML export: Create KMZ file" 43 | msgstr "KML-Export: KMZ-Datei erstellen" 44 | 45 | msgid "Compress all imeges to one KMZ file" 46 | msgstr "Alle Bilder in einer KMZ-Datei komprimieren" 47 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/photils.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: Lua photils\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-12 13:12+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: \n" 14 | "Language-Team: \n" 15 | "Language: de\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | msgid "get tags" 21 | msgstr "hole stichwörter" 22 | 23 | msgid "requires a restart to be applied" 24 | msgstr "erfordert einen Neustart um angewendet zu werden" 25 | 26 | msgid "min confidence value" 27 | msgstr "min vertrauenswert" 28 | 29 | msgid "" 30 | "The suggested tags were not generated\n" 31 | " for the currently selected image!" 32 | msgstr "" 33 | "Die vorgeschlagenen Stichwörter wurden für das\n" 34 | "aktuell ausgewählte Bild nicht generiert!" 35 | 36 | #, lua-format 37 | msgid " page %s of %s " 38 | msgstr " seite %s von %s " 39 | 40 | msgid "Tags successfully attached to image" 41 | msgstr "Stichwörter erfolgreich an Bild angefügt" 42 | 43 | #, lua-format 44 | msgid "Error writing to `%s`" 45 | msgstr "Fehler beim Schreiben in `%s`" 46 | 47 | #, lua-format 48 | msgid "%s failed, see terminal output for details" 49 | msgstr "%s fehlgeschlagen, siehe Terminal-Ausgabe für Details" 50 | 51 | #, lua-format 52 | msgid "%s found %d tags for your image" 53 | msgstr "%s gefunden %d-Stichwörter für Ihr Bild" 54 | 55 | msgid "No image selected." 56 | msgstr "Kein Bild ausgewählt." 57 | 58 | msgid "This plugin can only handle a single image." 59 | msgstr "Dieses Plugin kann nur ein einziges Bild verarbeiten." 60 | 61 | #, lua-format 62 | msgid "attach %d tags" 63 | msgstr "%d stichwörter anhängen" 64 | 65 | msgid "photils-cli not found" 66 | msgstr "photils-cli nicht gefunden" 67 | 68 | msgid "" 69 | "Select an image, click \"Get Tags\" and get \n" 70 | "suggestions for tags." 71 | msgstr "" 72 | "Wählen Sie ein Bild aus, drücken Sie \"Hole Stichwörter\"\n" 73 | " und erhalten Sie Vorschläge für Stichwörter." 74 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/quicktag.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Christian Kanzian , 2017. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2017-02-20 17:38+0100\n" 10 | "PO-Revision-Date: 2017-02-20 17:50+0100\n" 11 | "Last-Translator: Christian Kanzian \n" 12 | "Language-Team: German \n" 13 | "Language: de\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | "X-Generator: Lokalize 1.5\n" 19 | 20 | #: quicktag.lua:64 21 | msgid "max. length of button labels" 22 | msgstr "Max. Länge der Schaltflächen-Beschriftung" 23 | 24 | #: quicktag.lua:65 25 | msgid "may range from 15 to 60 - needs a restart" 26 | msgstr "Bereich von 15 bis 60 möglich - Neustart erforderlich" 27 | 28 | #: quicktag.lua:78 29 | msgid "number of quicktag fields" 30 | msgstr "Anzahl von quicktag Feldern" 31 | 32 | #: quicktag.lua:79 33 | msgid "may range from 2 to 20 - needs a restart" 34 | msgstr "Bereich von 2 bis 20 möglich - Neustart erforderlich" 35 | 36 | #: quicktag.lua:119 37 | #, lua-format 38 | msgid "quicktag %i is empty, please set a tag" 39 | msgstr "quicktag %i ist leer - bitte Tag eingeben" 40 | 41 | #: quicktag.lua:134 42 | msgid "no images selected" 43 | msgstr "keine Bilder ausgewählt" 44 | 45 | #: quicktag.lua:144 46 | #, lua-format 47 | msgid "tag \"%s\" attached to %i image(s)" 48 | msgstr "Tag \"%s\" an %i Bild(er) angehängt" 49 | 50 | #: quicktag.lua:165 51 | msgid "old quicktag" 52 | msgstr "Alter quicktag" 53 | 54 | #: quicktag.lua:166 55 | msgid "select the quicktag to replace" 56 | msgstr "Wähle den quicktag der ersetzt werden soll" 57 | 58 | #: quicktag.lua:182 quicktag.lua:206 59 | msgid "new quicktag" 60 | msgstr "Neuer quicktag" 61 | 62 | #: quicktag.lua:185 63 | msgid "enter your tag here" 64 | msgstr "Bitte Tag hier eingeben" 65 | 66 | #: quicktag.lua:189 67 | msgid "set quicktag" 68 | msgstr "Setze Tag" 69 | 70 | #: quicktag.lua:193 71 | msgid "new quicktag is empty!" 72 | msgstr "Neuer Tag ist leer!" 73 | 74 | #: quicktag.lua:197 75 | #, lua-format 76 | msgid "quicktag \"%s\" replaced by \"%s\"" 77 | msgstr "quicktag \"%s\" ersetzt durch \"%s\" " 78 | 79 | #: quicktag.lua:246 80 | #, lua-format 81 | msgid "quicktag %i" 82 | msgstr "quicktag %i" 83 | 84 | 85 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/select_non_existing.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Content-Type: text/plain; charset=UTF-8\n" 4 | 5 | msgid "select non existing images" 6 | msgstr "nicht vorhandene Bilder auswählen" 7 | 8 | msgid "select non existing" 9 | msgstr "nicht vorhandene auswählen" 10 | 11 | msgid "select all non-existing images in the current images" 12 | msgstr "alle nicht vorhandenen Bilder in den aktuellen Bildern auswählen" 13 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/select_untagged.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: 2017-09-14 12:18+0200\n" 5 | "PO-Revision-Date: 2017-09-14 12:23+0200\n" 6 | "Last-Translator: Jannis_V\n" 7 | "Language-Team: \n" 8 | "Language: de_DE\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.7.1\n" 13 | "X-Poedit-Basepath: ../../../contrib\n" 14 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 15 | "X-Poedit-SearchPath-0: select_untagged.lua\n" 16 | 17 | #: select_untagged.lua:38 18 | msgid "select untagged images" 19 | msgstr "Auswahl von Bildern ohne Tags" 20 | 21 | #: select_untagged.lua:64 22 | msgid "select untagged" 23 | msgstr "Ohne Tags" 24 | 25 | #: select_untagged.lua:64 26 | msgid "select all images containing no tags or only tags added by darktable" 27 | msgstr "Wähle alle Bilder der aktuellen Sammlung aus, die keine Tags oder nur automatisch durch darktable erzeugte Tags enthalten" 28 | -------------------------------------------------------------------------------- /locale/de_DE/LC_MESSAGES/slideshowMusic.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:59+0100\n" 11 | "PO-Revision-Date: 2016-01-31 23:13+0100\n" 12 | "Language: de_DE\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Tobias Jakobs \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.4\n" 19 | 20 | #: slideshowMusic.lua:80 21 | msgid "Slideshow background music file" 22 | msgstr "Diashow Hintergrundmusik-Datei" 23 | 24 | #: slideshowMusic.lua:84 25 | msgid "Play slideshow background music" 26 | msgstr "Diashow Hintergrundmusik abspielen" 27 | 28 | #: slideshowMusic.lua:85 29 | msgid "Plays music with rhythmbox if a slideshow starts" 30 | msgstr "Musik mit Rhythmbox abspielen, wenn die Diashow beginnt" 31 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/OpenInExplorer.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: 2022-06-27 17:22+0200\n" 5 | "PO-Revision-Date: 2022-06-27 17:36+0200\n" 6 | "Last-Translator: Manuel PINTOR \n" 7 | "Language-Team: \n" 8 | "Language: fr_FR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 2.3\n" 13 | "X-Poedit-Basepath: ../../../contrib\n" 14 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 15 | "X-Poedit-SearchPath-0: OpenInExplorer.lua\n" 16 | 17 | #: OpenInExplorer.lua:79 18 | msgid "" 19 | "OpenInExplorer plug-in only supports Linux, macOS, and Windows at this time" 20 | msgstr "" 21 | "Le script OpenInExplorer ne fonctionne que sur Linux, macOS et Windows pour " 22 | "le moment" 23 | 24 | #: OpenInExplorer.lua:95 25 | msgid "" 26 | "No links directory selected.\n" 27 | "Please check the dt preferences (lua options)" 28 | msgstr "" 29 | "Aucun répertoire de liens sélectionné.\n" 30 | "Voir dans les préférences dt > options lua" 31 | 32 | #: OpenInExplorer.lua:99 33 | #, lua-format 34 | msgid "" 35 | "Links directory '%s' not found.\n" 36 | "Please check the dt preferences (lua options)" 37 | msgstr "" 38 | "Répertoire de liens '%s' inexistant.\n" 39 | "Voir dans les préférences dt > options lua" 40 | 41 | #: OpenInExplorer.lua:156 42 | msgid "Failed to create links. Missing rights?" 43 | msgstr "Erreur de création de liens. Droits insuffisants ?" 44 | 45 | #: OpenInExplorer.lua:172 46 | msgid "Please select an image" 47 | msgstr "Sélectionner une image SVP" 48 | 49 | #: OpenInExplorer.lua:178 50 | msgid "Please select fewer images (max. 15)" 51 | msgstr "Sélectionner moins d'images SVP (max. 15)" 52 | 53 | #: OpenInExplorer.lua:203 54 | msgid "show in file explorer" 55 | msgstr "afficher dans le gestionnaire de fichiers" 56 | 57 | #: OpenInExplorer.lua:205 58 | msgid "Open the file manager at the selected image's location" 59 | msgstr "Ouvre le gestionnaire de fichiers à l'endroit de l'image sélectionnée" 60 | 61 | #: OpenInExplorer.lua:212 62 | msgid "OpenInExplorer: linked files directory" 63 | msgstr "OpenInExplorer : répertoire des fichiers liés" 64 | 65 | #: OpenInExplorer.lua:213 66 | msgid "" 67 | "Directory to store the links to the file names. Requires restart to take " 68 | "effect" 69 | msgstr "" 70 | "Répertoire dans lequel enregistrer les liens sur les fichiers. Nécessite un " 71 | "redémarrage de dt" 72 | 73 | #: OpenInExplorer.lua:216 74 | msgid "Select directory" 75 | msgstr "Sélectionner un répertoire" 76 | 77 | #: OpenInExplorer.lua:222 78 | msgid "OpenInExplorer: use links" 79 | msgstr "OpenInExplorer : utiliser des liens" 80 | 81 | #: OpenInExplorer.lua:223 82 | msgid "Use links instead of multiple windows. Requires restart to take effect" 83 | msgstr "" 84 | "Utiliser des liens plutôt que de multiples fenêtres. Nécessite un " 85 | "redémarrage de dt" 86 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/calcDistance.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:57+0100\n" 11 | "PO-Revision-Date: 2016-10-03 14:58+0200\n" 12 | "Language: fr_FR\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Pascal Obry \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.9\n" 19 | 20 | #: calcDistance.lua:93 21 | msgid "Calculate the distance from latitude and longitude in km" 22 | msgstr "Calcule la distance en km entre les positions GPS de deux images" 23 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/clear_GPS.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2020-12-27 17:55+0100\n" 11 | "PO-Revision-Date: 2020-12-27 17:55+0100\n" 12 | "Last-Translator: Christophe Agathon \n" 13 | "Language-Team: \n" 14 | "Language: fr_FR\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Poedit 2.3\n" 19 | "X-Poedit-SourceCharset: UTF-8\n" 20 | "X-Poedit-KeywordsList: _;gettext;dgettext:2;dcgettext:2ngettext:1,2;" 21 | "dngettext:2,3\n" 22 | "X-Poedit-Basepath: ../../../contrib\n" 23 | "X-Poedit-SearchPath-0: clear_GPS.lua\n" 24 | 25 | #: clear_GPS.lua:67 26 | msgid "clear GPS data" 27 | msgstr "effacer données GPS" 28 | 29 | #: clear_GPS.lua:69 30 | msgid "Clear GPS data from selected images" 31 | msgstr "Effacer les données GPS des images sélectionnées" 32 | 33 | #: clear_GPS.lua:75 34 | msgid "Clear GPS data" 35 | msgstr "Effacer les données GPS" 36 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/copy_attach_detach_tags.po: -------------------------------------------------------------------------------- 1 | # French messages for copy_attach_detach_tags.lua 2 | # Christophe Agathon , 2021 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: \n" 6 | "POT-Creation-Date: 2021-01-10 19:39+0100\n" 7 | "PO-Revision-Date: 2021-01-10 19:43+0100\n" 8 | "Last-Translator: Christophe Agathon \n" 9 | "Language-Team: \n" 10 | "Language: fr_FR\n" 11 | "MIME-Version: 1.0\n" 12 | "Content-Type: text/plain; charset=UTF-8\n" 13 | "Content-Transfer-Encoding: 8bit\n" 14 | "X-Generator: Poedit 2.3\n" 15 | "X-Poedit-Basepath: ../../../contrib\n" 16 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 17 | "X-Poedit-KeywordsList: _\n" 18 | "X-Poedit-SearchPath-0: copy_attach_detach_tags.lua\n" 19 | 20 | #: copy_attach_detach_tags.lua:93 21 | msgid "Image tags copied ..." 22 | msgstr "Mots-clés de l'image copiés ..." 23 | 24 | #: copy_attach_detach_tags.lua:115 25 | msgid "No tag to attach, please copy tags first." 26 | msgstr "Pas de mot-clé à attacher, veuillez d'abord copier les mots-clés." 27 | 28 | #: copy_attach_detach_tags.lua:139 29 | msgid "Tags attached ..." 30 | msgstr "Mots-clés attachés ..." 31 | 32 | #: copy_attach_detach_tags.lua:155 33 | msgid "Tags removed from image(s)." 34 | msgstr "Mots-clés supprimés des images." 35 | 36 | #: copy_attach_detach_tags.lua:161 37 | msgid "Tags replaced" 38 | msgstr "Mots-clés remplacés" 39 | 40 | #: copy_attach_detach_tags.lua:166 41 | msgid "tagging addon" 42 | msgstr "mots-clés extra" 43 | 44 | #: copy_attach_detach_tags.lua:189 45 | msgid "tag clipboard" 46 | msgstr "presse-papier des mots-clés" 47 | 48 | #: copy_attach_detach_tags.lua:197 49 | msgid "multi copy tags" 50 | msgstr "copier mots-clés" 51 | 52 | #: copy_attach_detach_tags.lua:198 copy_attach_detach_tags.lua:252 53 | msgid "copy tags from selected image(s)" 54 | msgstr "copier les mots-clés des images sélectionnnées" 55 | 56 | #: copy_attach_detach_tags.lua:201 copy_attach_detach_tags.lua:257 57 | msgid "paste tags to selected image(s)" 58 | msgstr "coller les mots clés dans les images sélectionnées" 59 | 60 | #: copy_attach_detach_tags.lua:202 61 | msgid "paste tags" 62 | msgstr "coller mots-clés" 63 | 64 | #: copy_attach_detach_tags.lua:210 65 | msgid "replace tags" 66 | msgstr "remplacer mots-clés" 67 | 68 | #: copy_attach_detach_tags.lua:211 copy_attach_detach_tags.lua:267 69 | msgid "replace tags from selected image(s)" 70 | msgstr "remplacer les mots-clés des images sélectionnées" 71 | 72 | #: copy_attach_detach_tags.lua:214 73 | msgid "remove all tags" 74 | msgstr "supprimer tous mots-clés" 75 | 76 | #: copy_attach_detach_tags.lua:215 copy_attach_detach_tags.lua:262 77 | msgid "remove tags from selected image(s)" 78 | msgstr "supprimer les mots-clés des images sélectionnées" 79 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/copy_paste_metadata.po: -------------------------------------------------------------------------------- 1 | # French messages for copy_paste_metadata.lua 2 | # Christophe Agathon , 2020 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: copy_paste_metadata\n" 6 | "POT-Creation-Date: 2020-12-26 12:49+0100\n" 7 | "PO-Revision-Date: 2020-12-26 12:52+0100\n" 8 | "Last-Translator: Christophe Agathon \n" 9 | "Language-Team: \n" 10 | "Language: fr_FR\n" 11 | "MIME-Version: 1.0\n" 12 | "Content-Type: text/plain; charset=UTF-8\n" 13 | "Content-Transfer-Encoding: 8bit\n" 14 | "X-Generator: Poedit 2.3\n" 15 | "X-Poedit-Basepath: ../../../official\n" 16 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 17 | "X-Poedit-SourceCharset: UTF-8\n" 18 | "X-Poedit-KeywordsList: _\n" 19 | "X-Poedit-SearchPath-0: copy_paste_metadata.lua\n" 20 | 21 | #: copy_paste_metadata.lua:115 22 | msgid "copy metadata" 23 | msgstr "copier les métadonnées" 24 | 25 | #: copy_paste_metadata.lua:117 26 | msgid "copy metadata of the first selected image" 27 | msgstr "copier les métadonnées de la première image sélectionnée" 28 | 29 | #: copy_paste_metadata.lua:121 30 | msgid "paste metadata" 31 | msgstr "coller les métadonnées" 32 | 33 | #: copy_paste_metadata.lua:123 34 | msgid "paste metadata to the selected images" 35 | msgstr "coller les métadonnées vers les images sélectionnées" 36 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/geo_uri.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:58+0100\n" 11 | "PO-Revision-Date: 2016-10-03 15:05+0200\n" 12 | "Language: fr_FR\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Pascal Obry \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.9\n" 19 | 20 | #: geo_uri.lua:55 21 | msgid "gnome-maps not found" 22 | msgstr "gnome-maps non disponible" 23 | 24 | #: geo_uri.lua:81 25 | msgid "Command failed ..." 26 | msgstr "La commande a échouée ..." 27 | 28 | #: geo_uri.lua:88 29 | msgid "Open Location in Gnome Maps" 30 | msgstr "Ouvre la position dans Gnome Maps" 31 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/gimp.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gimp\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-04-13 23:50-0400\n" 11 | "PO-Revision-Date: 2016-10-03 15:06+0200\n" 12 | "Last-Translator: Pascal Obry \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "X-Generator: Poedit 1.8.9\n" 17 | "Language: fr_FR\n" 18 | "X-Poedit-SourceCharset: UTF-8\n" 19 | "X-Poedit-KeywordsList: gettext;dgettext:2;dcgettext:2ngettext:1,2;dngettext:2,3\n" 20 | "X-Poedit-Basepath: .\n" 21 | "Language-Team: \n" 22 | 23 | #: gimp.lua:194 24 | #, lua-format 25 | msgid "Export Image %i/%i" 26 | msgstr "Export image %i/%i" 27 | 28 | #: gimp.lua:242 29 | msgid "Unable to move edited file into collection. Leaving it as %s" 30 | msgstr "Impossible de déplacer l'image modifiée dans la collection. L'image est %s" 31 | 32 | #: gimp.lua:251 33 | msgid "GIMP not found" 34 | msgstr "GIMP n'est pas trouvé" 35 | 36 | #: gimp.lua:266 37 | msgid "Launching GIMP..." 38 | msgstr "Lancement de GIMP..." 39 | 40 | #: gimp.lua:313 41 | msgid "Edit with GIMP" 42 | msgstr "Éditer avec GIMP" 43 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/gps_select.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:58+0100\n" 11 | "PO-Revision-Date: 2016-10-03 15:03+0200\n" 12 | "Language: fr_FR\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Pascal Obry \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.9\n" 19 | 20 | #: gps_select.lua:59 21 | msgid "Select all images with GPS information" 22 | msgstr "Sélectionner toutes les images avec des informations GPS" 23 | 24 | #: gps_select.lua:60 25 | msgid "Select all images without GPS information" 26 | msgstr "Sélectionner toutes les images sans information GPS" 27 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/hugin.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:59+0100\n" 11 | "PO-Revision-Date: 2016-10-03 15:08+0200\n" 12 | "Language: fr_FR\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Pascal Obry \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.9\n" 19 | 20 | #: hugin.lua:73 21 | msgid "hugin not found" 22 | msgstr "hugin non disponible" 23 | 24 | #: hugin.lua:97 25 | msgid "Will try to stitch now" 26 | msgstr "essayer de coller maintenant" 27 | 28 | #: hugin.lua:102 29 | msgid "Creating pto file" 30 | msgstr "création du fichier pto" 31 | 32 | #: hugin.lua:105 33 | msgid "Running Assistent" 34 | msgstr "lancement assistant" 35 | 36 | #: hugin.lua:118 37 | msgid "Command hugin failed ..." 38 | msgstr "hugin a retourné une erreur" 39 | 40 | #: hugin.lua:124 41 | msgid "Hugin Panorama" 42 | msgstr "panorama hugin" 43 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/kml_export.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: Lua gettextTest\n" 4 | "POT-Creation-Date: 2016-01-22 15:33+0100\n" 5 | "PO-Revision-Date: 2016-10-03 15:15+0200\n" 6 | "Last-Translator: Pascal Obry \n" 7 | "Language-Team: \n" 8 | "Language: fr_FR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.9\n" 13 | "X-Poedit-Basepath: .\n" 14 | "Plural-Forms: nplurals=2;t\" plural=(n != 1);\n" 15 | "X-Poedit-KeywordsList: gettext;dgettext:2;dcgettext:2;ngettext:1,2;dngettext:2,3\n" 16 | "X-Poedit-SearchPath-0: .\n" 17 | 18 | msgid "KML/KMZ Export" 19 | msgstr "export kml/kmz" 20 | 21 | msgid "Export Image %i/%i" 22 | msgstr "export image %i/%i" 23 | 24 | msgid "KML export: Open KML/KMZ file after export" 25 | msgstr "export kml: ouvrir le fichier kml/kmz après l'export" 26 | 27 | msgid "Opens the KML file after the export with the standard programm for KML files" 28 | msgstr "ouvrir le fichier kml après l'export avec le lecteur kml par défaut" 29 | 30 | msgid "KML export: Export directory" 31 | msgstr "export kml : répertoire pour l'export" 32 | 33 | msgid "A directory that will be used to export the KML/KMZ files" 34 | msgstr "Le répertoire utiliser pour les fichiers d'export kml/kmz" 35 | 36 | msgid "KML export: Connect images with path" 37 | msgstr "export kml: connecter les images avec un chemin" 38 | 39 | msgid "connect all images with a path" 40 | msgstr "connecter toutes les images avec un chemin" 41 | 42 | msgid "KML export: Create KMZ file" 43 | msgstr "export kml: créer un fichier kmz" 44 | 45 | msgid "Compress all imeges to one KMZ file" 46 | msgstr "compresser les images en un fichier kmz" 47 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/pdf_slideshow.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-04-10 09:30+0200\n" 11 | "PO-Revision-Date: 2017-04-10 09:48+0200\n" 12 | "Language: fr_FR\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Pascal Obry \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.11\n" 19 | 20 | #: pdf_slideshow.lua:55 21 | msgid "pdflatex not found" 22 | msgstr "pdflatex non trouvé" 23 | 24 | #: pdf_slideshow.lua:63 25 | msgid "a pdf viewer" 26 | msgstr "lecteur pdf" 27 | 28 | #: pdf_slideshow.lua:64 29 | msgid "can be an absolute pathname or the tool may be in the PATH" 30 | msgstr "peut être un chemin absolu où l'outil peut être dans le chemin par défaut" 31 | 32 | #: pdf_slideshow.lua:68 pdf_slideshow.lua:95 33 | msgid "slideshow title" 34 | msgstr "titre du diaporama" 35 | 36 | #: pdf_slideshow.lua:72 37 | msgid "transition delay (s)" 38 | msgstr "temporisation (s) entre diapositives" 39 | 40 | #: pdf_slideshow.lua:83 41 | msgid "include image title" 42 | msgstr "inclus le titre de l'image" 43 | 44 | #: pdf_slideshow.lua:85 45 | msgid "whether to include the image title (if defined) into the slide" 46 | msgstr "indique si le titre de l'image (si défini) doit être inclus dans la diapositive" 47 | 48 | #: pdf_slideshow.lua:89 49 | msgid "include image author" 50 | msgstr "inclus l'auteur de l'image" 51 | 52 | #: pdf_slideshow.lua:91 53 | msgid "whether to include the image author (if defined) into the slide" 54 | msgstr "indique si l'auteur de l'image (si défini) doit être inclus dans la diapositive" 55 | 56 | #: pdf_slideshow.lua:167 57 | msgid "pdf slideshow" 58 | msgstr "diaporama pdf" 59 | 60 | #: pdf_slideshow.lua:220 61 | msgid "problem running pdflatex" 62 | msgstr "impossible d'exécuter pdflatex" 63 | 64 | #: pdf_slideshow.lua:221 pdf_slideshow.lua:231 65 | msgid "problem running " 66 | msgstr "impossible d'exécuter " 67 | 68 | #: pdf_slideshow.lua:230 69 | msgid "problem running pdf viewer" 70 | msgstr "impossible d'exécuter le lecteur pdf" 71 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/photils.po: -------------------------------------------------------------------------------- 1 | # French messages for photils.lua 2 | # Christophe Agathon , 2021 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: \n" 6 | "POT-Creation-Date: 2021-08-13 09:04+0200\n" 7 | "PO-Revision-Date: 2021-08-13 09:49+0200\n" 8 | "Last-Translator: Christophe Agathon \n" 9 | "Language-Team: \n" 10 | "Language: fr_FR\n" 11 | "MIME-Version: 1.0\n" 12 | "Content-Type: text/plain; charset=UTF-8\n" 13 | "Content-Transfer-Encoding: 8bit\n" 14 | "X-Generator: Poedit 2.4.1\n" 15 | "X-Poedit-Basepath: ../../../contrib\n" 16 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 17 | "X-Poedit-SearchPath-0: photils.lua\n" 18 | 19 | #: photils.lua:117 20 | msgid "get tags" 21 | msgstr "trouver des mots-clés" 22 | 23 | #: photils.lua:148 24 | msgid "requires a restart to be applied" 25 | msgstr "nécessite un redémarrage pour être pris en compte" 26 | 27 | #: photils.lua:163 28 | msgid "min confidence value" 29 | msgstr "niveau de confiance minimum" 30 | 31 | #: photils.lua:180 32 | msgid "" 33 | "The suggested tags were not generated\n" 34 | " for the currently selected image!" 35 | msgstr "" 36 | "La proposition de mots-clés n'a pas été générée\n" 37 | " pour l'image sélectionnée actuellement !" 38 | 39 | #: photils.lua:186 40 | #, lua-format 41 | msgid " page %s of %s " 42 | msgstr " page %s de %s " 43 | 44 | #: photils.lua:237 45 | msgid "Apply tag to image" 46 | msgstr "Appliquer les mots-clés à l'image" 47 | 48 | #: photils.lua:249 49 | msgid "Tags successfully attached to image" 50 | msgstr "Les mots-clés ont bien été ajoutés à l'image" 51 | 52 | #: photils.lua:299 53 | #, lua-format 54 | msgid "%s found %d tags for your image" 55 | msgstr "%s a trouvé %d mots-clés pour votre image" 56 | 57 | #: photils.lua:315 58 | msgid "No image selected." 59 | msgstr "Pas d'image sélectionnée." 60 | 61 | #: photils.lua:319 62 | msgid "This plugin can only handle a single image." 63 | msgstr "Ce plugin ne peut gérer qu'une seule image." 64 | 65 | #: photils.lua:326 66 | #, lua-format 67 | msgid "%s failed, see terminal output for details" 68 | msgstr "" 69 | "%s a échoué, consultez les messages sur le terminal pour plus de détails" 70 | 71 | #: photils.lua:334 72 | #, lua-format 73 | msgid "no tags where found" 74 | msgstr "aucun mot-clé n'a été trouvé" 75 | 76 | #: photils.lua:365 77 | #, lua-format 78 | msgid "attach %d tags" 79 | msgstr "ajouter %d mots-clés" 80 | 81 | #: photils.lua:429 photils.lua:430 82 | msgid "photils-cli not found" 83 | msgstr "photils-cli non trouvé" 84 | 85 | #: photils.lua:432 86 | msgid "" 87 | "Select an image, click \"get tags\" and get \n" 88 | "suggestions for tags." 89 | msgstr "" 90 | "Sélectionnez une image, cliquez sur « trouver des mots-clés » \n" 91 | "pour obtenir une proposition de mots-clés." 92 | 93 | #: photils.lua:467 94 | msgid "photils: show confidence value" 95 | msgstr "photils: afficher le niveau de confiance" 96 | 97 | # Original message should begin with capital I 98 | #: photils.lua:468 99 | msgid "if enabled, the confidence value for each tag is displayed" 100 | msgstr "Si activé, le niveau de confiance de chaque mot-clé est affiché" 101 | 102 | #: photils.lua:474 103 | msgid "photils: use exported image for tag request" 104 | msgstr "photils: utiliser l'image exportée pour la recherche de mots-clés" 105 | 106 | #: photils.lua:475 107 | msgid "" 108 | "If enabled, the image passed to photils for tag suggestion is based on the " 109 | "exported, already edited image. Otherwise, the embedded thumbnail of the RAW " 110 | "file will be used for tag suggestion.The embedded thumbnail could speedup " 111 | "the tag suggestion but can fail if the RAW file is not supported." 112 | msgstr "" 113 | "Si activé, l'image passée à photils pour la proposition de mots-clés est " 114 | "basée sur l'export de l'image déjà éditée. Sinon, c'est la vignette " 115 | "encapsulée dans le fichier RAW qui sera utilisée. La vignette encapsulée " 116 | "pourra accélérer la proposition des mots-clés mais la recherche échouera si " 117 | "le fichier RAW n'est pas supporté." 118 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/select_untagged.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: 2017-09-14 15:42+0200\n" 5 | "PO-Revision-Date: 2017-09-14 15:52+0200\n" 6 | "Last-Translator: Jannis_V\n" 7 | "Language-Team: \n" 8 | "Language: fr_FR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "X-Generator: Poedit 1.8.7.1\n" 13 | "X-Poedit-Basepath: ../../../contrib\n" 14 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 15 | "X-Poedit-SearchPath-0: select_untagged.lua\n" 16 | 17 | #: select_untagged.lua:38 18 | msgid "select untagged images" 19 | msgstr "sélection des images sans mots-clés" 20 | 21 | #: select_untagged.lua:64 22 | msgid "select untagged" 23 | msgstr "sans mots-clés" 24 | 25 | #: select_untagged.lua:64 26 | msgid "select all images containing no tags or only tags added by darktable" 27 | msgstr "sélection des images sans mots-clés ou seulement avec les mots-clés ajoutés par darktable" 28 | -------------------------------------------------------------------------------- /locale/fr_FR/LC_MESSAGES/slideshowMusic.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2016-01-31 22:59+0100\n" 11 | "PO-Revision-Date: 2016-10-03 15:10+0200\n" 12 | "Language: fr_FR\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Last-Translator: Pascal Obry \n" 17 | "Language-Team: \n" 18 | "X-Generator: Poedit 1.8.9\n" 19 | 20 | #: slideshowMusic.lua:80 21 | msgid "Slideshow background music file" 22 | msgstr "musique pour le diaporama" 23 | 24 | #: slideshowMusic.lua:84 25 | msgid "Play slideshow background music" 26 | msgstr "jouer la musique du diaporama" 27 | 28 | #: slideshowMusic.lua:85 29 | msgid "Plays music with rhythmbox if a slideshow starts" 30 | msgstr "jouer la musique avec rhythmbox lorsque le diaporama démarre" 31 | -------------------------------------------------------------------------------- /locale/it_IT/LC_MESSAGES/executable_manager.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Maurizio Paglia , 2022. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2022-07-11 22:19+0200\n" 10 | "PO-Revision-Date: 2022-07-11 22:21+0200\n" 11 | "Last-Translator: Maurizio Paglia \n" 12 | "Language-Team: Italian <>\n" 13 | "Language: it\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 18 | "X-Generator: Lokalize 21.12.3\n" 19 | 20 | #: executable_manager.lua:144 21 | msgid "No executable paths found, exiting..." 22 | msgstr "Nessun percorso con eseguibili, esco..." 23 | 24 | #: executable_manager.lua:160 25 | msgid "select an executable" 26 | msgstr "seleziona un eseguibile" 27 | 28 | #: executable_manager.lua:160 29 | msgid "search path for executable" 30 | msgstr "cerca il percorso dell'eseguibile" 31 | 32 | #: executable_manager.lua:169 33 | msgid "select " 34 | msgstr "seleziona" 35 | 36 | #: executable_manager.lua:169 37 | msgid " executable" 38 | msgstr " eseguibile" 39 | 40 | #: executable_manager.lua:190 41 | msgid "select executable to modify" 42 | msgstr "Seleziona l'eseguibile da modificare" 43 | 44 | #: executable_manager.lua:205 45 | msgid "current" 46 | msgstr "Attuale" 47 | 48 | #: executable_manager.lua:207 49 | msgid "select" 50 | msgstr "Seleziona" 51 | 52 | #: executable_manager.lua:209 53 | msgid "reset" 54 | msgstr "Cancella" 55 | 56 | #: executable_manager.lua:212 57 | msgid "Clear path for " 58 | msgstr "Cancella il percorso di " 59 | 60 | #: executable_manager.lua:211 61 | msgid "clear" 62 | msgstr "Pulisci" 63 | -------------------------------------------------------------------------------- /locale/it_IT/LC_MESSAGES/ext_editor.po: -------------------------------------------------------------------------------- 1 | # Italian translations for ext_editor package. 2 | # Copyright (C) 2019 THE ext_editor'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the ext_editor package. 4 | # marco , 2019. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: ext_editor\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2020-01-01 19:15+0100\n" 11 | "PO-Revision-Date: 2019-12-28 21:45+0100\n" 12 | "Last-Translator: marco \n" 13 | "Language-Team: Italian\n" 14 | "Language: it\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=ASCII\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | 20 | #: ext_editor.lua:143 21 | msgid " editors configured" 22 | msgstr " editor configurati" 23 | 24 | #: ext_editor.lua:150 25 | msgid "exporting image " 26 | msgstr "Esportazione immagine " 27 | 28 | #: ext_editor.lua:159 29 | msgid "not a valid choice" 30 | msgstr "Scelta non valida" 31 | 32 | #: ext_editor.lua:165 33 | msgid "please select one image" 34 | msgstr "Selezionare una immagine" 35 | 36 | #: ext_editor.lua:174 37 | msgid " not found" 38 | msgstr " non trovato" 39 | 40 | #: ext_editor.lua:195 41 | msgid "file type not allowed" 42 | msgstr "tipo di file non consentito" 43 | 44 | #: ext_editor.lua:232 45 | msgid "error copying file " 46 | msgstr "Errore copia file " 47 | 48 | #: ext_editor.lua:239 49 | msgid "launching " 50 | msgstr "Lancio " 51 | 52 | #: ext_editor.lua:242 53 | msgid "error launching " 54 | msgstr "Errore lancio " 55 | 56 | #: ext_editor.lua:341 57 | msgid "error moving file " 58 | msgstr "Errore spostamento file " 59 | 60 | #: ext_editor.lua:355 61 | msgid "collection" 62 | msgstr "Collezione" 63 | 64 | #: ext_editor.lua:360 65 | msgid "choose program" 66 | msgstr "Scegli programma" 67 | 68 | #: ext_editor.lua:361 69 | msgid "select the external editor from the list" 70 | msgstr "Seleziona un editor esterno dalla lista" 71 | 72 | #: ext_editor.lua:371 73 | msgid "edit" 74 | msgstr "Modifica" 75 | 76 | #: ext_editor.lua:372 77 | msgid "open the selected image in external editor" 78 | msgstr "Apre immagine selezionata in editor esterno" 79 | 80 | #: ext_editor.lua:382 81 | msgid "edit a copy" 82 | msgstr "Modifica copia" 83 | 84 | #: ext_editor.lua:383 85 | msgid "create a copy of the selected image and open it in external editor" 86 | msgstr "Apre una copia della immagine selezionata in editor esterno" 87 | 88 | #: ext_editor.lua:392 89 | msgid "update list" 90 | msgstr "Aggiorna lista" 91 | 92 | #: ext_editor.lua:393 93 | msgid "update list of programs if lua preferences are changed" 94 | msgstr "Aggiorna la lista dei programmi se le preferenze di lua sono cambiate" 95 | 96 | #: ext_editor.lua:413 97 | msgid "external editors" 98 | msgstr "Editor esterni" 99 | 100 | #: ext_editor.lua:434 101 | msgid "executable for external editor " 102 | msgstr "Eseguibile per editor esterno " 103 | 104 | #: ext_editor.lua:435 105 | msgid "select executable for external editor" 106 | msgstr "seleziona eseguibile per editor esterno " 107 | 108 | #: ext_editor.lua:435 109 | msgid "(None)" 110 | msgstr "(Nessuno)" 111 | 112 | #: ext_editor.lua:437 113 | msgid "name of external editor " 114 | msgstr "Nome editor esterno " 115 | 116 | #: ext_editor.lua:438 117 | msgid "friendly name of external editor" 118 | msgstr "Nome comune editor esterno" 119 | 120 | #: ext_editor.lua:444 121 | msgid "edit with program " 122 | msgstr "Modifica con programma " 123 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/AutoGrouper.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:54-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/AutoGrouper.lua:144 21 | msgid "auto group" 22 | msgstr "grupo automático" 23 | 24 | #: ../contrib/AutoGrouper.lua:173 25 | msgid "group gap [sec.]" 26 | msgstr "intervalo de agrupamento [seg]" 27 | 28 | #: ../contrib/AutoGrouper.lua:174 29 | msgid "minimum gap, in seconds, between groups" 30 | msgstr "intervalo mínimo, em segundos, entre os grupos" 31 | 32 | #: ../contrib/AutoGrouper.lua:187 33 | msgid "auto group: selected" 34 | msgstr "grupo automático: selecionado" 35 | 36 | #: ../contrib/AutoGrouper.lua:188 37 | msgid "auto group selected images" 38 | msgstr "agrupa automaticamente as imagens selecionadas" 39 | 40 | #: ../contrib/AutoGrouper.lua:192 41 | msgid "auto group: collection" 42 | msgstr "grupo automático: coleção" 43 | 44 | #: ../contrib/AutoGrouper.lua:193 45 | msgid "auto group the entire collection" 46 | msgstr "agrupa automaticamente toda a coleção" 47 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/CollectHelper.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-28 20:02-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/CollectHelper.lua:74 21 | msgid "Please select a single image" 22 | msgstr "Por favor, selecione uma única imagem" 23 | 24 | #: ../contrib/CollectHelper.lua:124 25 | msgid "select an image with an active color label" 26 | msgstr "selecione uma imagem com uma etiqueta de cor ativa" 27 | 28 | #: ../contrib/CollectHelper.lua:205 29 | msgid "collect: previous" 30 | msgstr "colecionar: anterior" 31 | 32 | #: ../contrib/CollectHelper.lua:207 33 | msgid "Sets the Collect parameters to be the previously active parameters" 34 | msgstr "Define os parâmetros da coleção para os ativos anteriormente" 35 | 36 | #: ../contrib/CollectHelper.lua:211 37 | msgid "collect: folder" 38 | msgstr "colecionar: pasta" 39 | 40 | #: ../contrib/CollectHelper.lua:213 41 | msgid "Sets the Collect parameters to be the selected images's folder" 42 | msgstr "Define os parâmetros da coleção para a pasta de imagens selecionada" 43 | 44 | #: ../contrib/CollectHelper.lua:218 45 | msgid "collect: color label(s)" 46 | msgstr "colecionar: etiqueta(s) de cor" 47 | 48 | #: ../contrib/CollectHelper.lua:220 49 | msgid "Sets the Collect parameters to be the selected images's color label(s)" 50 | msgstr "" 51 | "Define os parâmetros da coleção para a(s) etiqueta(s) de cor das imagens" 52 | " selecionadas" 53 | 54 | #: ../contrib/CollectHelper.lua:225 55 | msgid "collect: all (AND)" 56 | msgstr "colecionar: tudo (E)" 57 | 58 | #: ../contrib/CollectHelper.lua:227 59 | msgid "" 60 | "Sets the Collect parameters based on all activated CollectHelper options" 61 | msgstr "Define os parâmetros da coleção baseado em todas as opções do script" 62 | 63 | #: ../contrib/CollectHelper.lua:234 64 | msgid "CollectHelper: All" 65 | msgstr "CollectHelper: Tudo" 66 | 67 | #: ../contrib/CollectHelper.lua:235 68 | msgid "" 69 | "Will create a collect parameter set that utilizes all enabled CollectHelper " 70 | "types (AND)" 71 | msgstr "" 72 | "Criará um conjunto de parâmetros de coleção que utilizará todos os tipos " 73 | "habilitados do CollectHelper (E)" 74 | 75 | #: ../contrib/CollectHelper.lua:240 76 | msgid "CollectHelper: Color Label(s)" 77 | msgstr "CollectHelper: Etiqueta(s) de Cor" 78 | 79 | #: ../contrib/CollectHelper.lua:241 80 | msgid "" 81 | "Enable the button that allows you to swap to a collection based on selected " 82 | "image's COLOR LABEL(S)" 83 | msgstr "" 84 | "Habilita o botão que permite que você alterna para uma coleção baseada na " 85 | "ETIQUETA(S) DE COR da imagem selecionada" 86 | 87 | #: ../contrib/CollectHelper.lua:246 88 | msgid "CollectHelper: Folder" 89 | msgstr "CollectHelper: Pasta" 90 | 91 | #: ../contrib/CollectHelper.lua:247 92 | msgid "" 93 | "Enable the button that allows you to swap to a collection based on selected " 94 | "image's FOLDER location" 95 | msgstr "" 96 | "Habilita o botão que permite que você alterne para uma coleção baseada na " 97 | "PASTA da imagem selecionada" 98 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/HDRMerge.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:40-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/HDRMerge.lua:175 21 | msgid "please update you binary location" 22 | msgstr "por favor, atualize a localização do binário" 23 | 24 | #: ../contrib/HDRMerge.lua:194 25 | msgid "update successful" 26 | msgstr "atualização bem sucedida" 27 | 28 | #: ../contrib/HDRMerge.lua:196 29 | msgid "update unsuccessful, please try again" 30 | msgstr "atualização mau sucedida, tente de novo" 31 | 32 | #: ../contrib/HDRMerge.lua:210 33 | msgid "HDRMerge install issue" 34 | msgstr "problema com a instalação do HDRMerge" 35 | 36 | #: ../contrib/HDRMerge.lua:211 37 | msgid "HDRMerge install issue, please ensure the binary path is proper" 38 | msgstr "" 39 | "problema com a instalação do HDRMerge, certifique-se de que o caminho do" 40 | " binário esteja correto" 41 | 42 | #: ../contrib/HDRMerge.lua:216 43 | msgid "not enough images selected, select at least 2 images to merge" 44 | msgstr "" 45 | "imagens selecionadas insuficientes, selecione apenas 2 imagens para mesclar" 46 | 47 | #: ../contrib/HDRMerge.lua:277 48 | msgid "HDRMerge completed successfully" 49 | msgstr "HDRMerge completado com sucesso" 50 | 51 | #: ../contrib/HDRMerge.lua:279 ../contrib/HDRMerge.lua:280 52 | msgid "HDRMerge failed" 53 | msgstr "HDRMerge falhou" 54 | 55 | #: ../contrib/HDRMerge.lua:289 56 | msgid "HDRMerge" 57 | msgstr "HDRMerge" 58 | 59 | #: ../contrib/HDRMerge.lua:312 60 | msgid "HDRMerge options" 61 | msgstr "opções do HDRMerge" 62 | 63 | #: ../contrib/HDRMerge.lua:317 64 | msgid "bits per sample" 65 | msgstr "bits por amostra" 66 | 67 | #: ../contrib/HDRMerge.lua:318 68 | msgid "number of bits per sample in the output image" 69 | msgstr "número de bits por amostra na imagem de saída" 70 | 71 | #: ../contrib/HDRMerge.lua:334 72 | msgid "embedded preview size" 73 | msgstr "tamanho da pré-visualização embutida" 74 | 75 | #: ../contrib/HDRMerge.lua:335 76 | msgid "size of the embedded preview in output image" 77 | msgstr "tamanho da pré-visualização embutida na imagem de saída" 78 | 79 | #: ../contrib/HDRMerge.lua:337 ../contrib/HDRMerge.lua:382 80 | msgid "none" 81 | msgstr "nenhum" 82 | 83 | #: ../contrib/HDRMerge.lua:337 84 | msgid "half" 85 | msgstr "metade" 86 | 87 | #: ../contrib/HDRMerge.lua:337 88 | msgid "full" 89 | msgstr "completo" 90 | 91 | #: ../contrib/HDRMerge.lua:349 92 | msgid "batch mode" 93 | msgstr "modo em lote" 94 | 95 | #: ../contrib/HDRMerge.lua:351 96 | msgid "" 97 | "enable batch mode operation \n" 98 | "NOTE: resultant files will NOT be auto-imported" 99 | msgstr "" 100 | "ativar a operação em modo em lote\n" 101 | "NOTA: arquivos resultantes NÃO serão importados automaticamente" 102 | 103 | #: ../contrib/HDRMerge.lua:361 104 | msgid "batch gap [sec.]" 105 | msgstr "intervalo do lote [seg.]" 106 | 107 | #: ../contrib/HDRMerge.lua:362 108 | msgid "gap, in seconds, between batch mode groups" 109 | msgstr "intervalo, em segundos, entre os grupos do modo em lote" 110 | 111 | #: ../contrib/HDRMerge.lua:376 112 | msgid "import options" 113 | msgstr "opções de importação" 114 | 115 | #: ../contrib/HDRMerge.lua:379 116 | msgid "apply style on import" 117 | msgstr "aplicar estilo ao importar" 118 | 119 | #: ../contrib/HDRMerge.lua:380 120 | msgid "Apply selected style on auto-import to newly created image" 121 | msgstr "" 122 | "Aplica o estilo selecionado ao importar automaticamente para novas imagens" 123 | " criadas" 124 | 125 | #: ../contrib/HDRMerge.lua:400 126 | msgid "copy tags" 127 | msgstr "copiar etiquetas" 128 | 129 | #: ../contrib/HDRMerge.lua:402 130 | msgid "copy tags from first source image" 131 | msgstr "copia etiquetas da primeira imagem fonte" 132 | 133 | #: ../contrib/HDRMerge.lua:409 134 | msgid "" 135 | "Additional tags to be added on import. Seperate with commas, all spaces will " 136 | "be removed" 137 | msgstr "" 138 | "Etiquetas adicionais a serem anexadas ao importar. Separar com vírgulas," 139 | " todos os espaços serão removidos" 140 | 141 | #: ../contrib/HDRMerge.lua:411 142 | msgid "Enter tags, seperated by commas" 143 | msgstr "Insira as etiquetas, separadas por vírgulas" 144 | 145 | #: ../contrib/HDRMerge.lua:415 146 | msgid "merge" 147 | msgstr "mesclar" 148 | 149 | #: ../contrib/HDRMerge.lua:416 150 | msgid "run HDRMerge with the above specified settings" 151 | msgstr "rodar o HDRMerge com as configurações especificadas acima" 152 | 153 | #: ../contrib/HDRMerge.lua:420 154 | msgid "Select HDRmerge executable" 155 | msgstr "Selecionar o executável do HDRmerge" 156 | 157 | #: ../contrib/HDRMerge.lua:425 158 | msgid "update" 159 | msgstr "atualizar" 160 | 161 | #: ../contrib/HDRMerge.lua:426 162 | msgid "update the binary path with current value" 163 | msgstr "atualiza o caminho do binário com o valor atual" 164 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/OpenInExplorer.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 23:40-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/OpenInExplorer.lua:79 21 | msgid "" 22 | "OpenInExplorer plug-in only supports Linux, macOS, and Windows at this time" 23 | msgstr "" 24 | "Atualmente, o plugin OpenInExplorer somente suporta Linux, macOS e Windows" 25 | 26 | #: ../contrib/OpenInExplorer.lua:95 27 | msgid "" 28 | "No links directory selected.\n" 29 | "Please check the dt preferences (lua options)" 30 | msgstr "" 31 | "Nenhum link para pasta selecionado.\n" 32 | "Verifique as preferências do darktable (opções lua)" 33 | 34 | #: ../contrib/OpenInExplorer.lua:99 35 | #, lua-format 36 | msgid "" 37 | "Links directory '%s' not found.\n" 38 | "Please check the dt preferences (lua options)" 39 | msgstr "" 40 | "Links para pasta '%s' não encontrados.\n" 41 | "Verifique as preferências do darktable (opções lua)" 42 | 43 | #: ../contrib/OpenInExplorer.lua:156 44 | msgid "Failed to create links. Missing rights?" 45 | msgstr "Falha ao criar links. Possui permissões adequadas?" 46 | 47 | #: ../contrib/OpenInExplorer.lua:172 48 | msgid "Please select an image" 49 | msgstr "Por favor, selecione uma imagem" 50 | 51 | #: ../contrib/OpenInExplorer.lua:178 52 | msgid "Please select fewer images (max. 15)" 53 | msgstr "Por favor, selecione menos imagens (máx 15)" 54 | 55 | #: ../contrib/OpenInExplorer.lua:203 56 | msgid "show in file explorer" 57 | msgstr "mostrar no navegador de arquivos" 58 | 59 | #: ../contrib/OpenInExplorer.lua:205 60 | msgid "Open the file manager at the selected image's location" 61 | msgstr "Abre o gerenciador de arquivos na localização das imagens selecionadas" 62 | 63 | #: ../contrib/OpenInExplorer.lua:212 64 | msgid "OpenInExplorer: linked files directory" 65 | msgstr "OpenInExplorer: pasta de arquivos linkada" 66 | 67 | #: ../contrib/OpenInExplorer.lua:213 68 | msgid "" 69 | "Directory to store the links to the file names. Requires restart to take " 70 | "effect" 71 | msgstr "" 72 | "Pasta para armazenar os links para os nomes de arquivo. Precisa reiniciar" 73 | " para ter efeito" 74 | 75 | #: ../contrib/OpenInExplorer.lua:216 76 | msgid "Select directory" 77 | msgstr "Selecione a pasta" 78 | 79 | #: ../contrib/OpenInExplorer.lua:222 80 | msgid "OpenInExplorer: use links" 81 | msgstr "OpenInExplorer: usar links" 82 | 83 | #: ../contrib/OpenInExplorer.lua:223 84 | msgid "Use links instead of multiple windows. Requires restart to take effect" 85 | msgstr "" 86 | "Usa links ao invés de janelas múltiplas. Precisa reiniciar para ter efeito" 87 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/RL_out_sharp.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-02 05:31-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/RL_out_sharp.lua:119 21 | msgid "GMic executable not configured" 22 | msgstr "executável GMic não configurado" 23 | 24 | #: ../contrib/RL_out_sharp.lua:139 25 | msgid "sharpening image " 26 | msgstr "melhorar nitidez da imagem " 27 | 28 | #: ../contrib/RL_out_sharp.lua:154 29 | msgid "sharpening error" 30 | msgstr "erro ao melhorar nitidez" 31 | 32 | #: ../contrib/RL_out_sharp.lua:163 33 | msgid "finished exporting" 34 | msgstr "exportação finalizada" 35 | 36 | #: ../contrib/RL_out_sharp.lua:175 ../contrib/RL_out_sharp.lua:176 37 | msgid "select output folder" 38 | msgstr "selecionar pasta de saída" 39 | 40 | #: ../contrib/RL_out_sharp.lua:185 41 | msgid "sigma" 42 | msgstr "sigma" 43 | 44 | #: ../contrib/RL_out_sharp.lua:186 45 | msgid "controls the width of the blur that's applied" 46 | msgstr "controla a largura do desfoque que é aplicada" 47 | 48 | #: ../contrib/RL_out_sharp.lua:197 49 | msgid "iterations" 50 | msgstr "iterações" 51 | 52 | #: ../contrib/RL_out_sharp.lua:198 53 | msgid "increase for better sharpening, but slower" 54 | msgstr "aumente para melhor efeito, mas diminui velocidade" 55 | 56 | #: ../contrib/RL_out_sharp.lua:209 57 | msgid "output jpg quality" 58 | msgstr "qualidade do jpg de saída" 59 | 60 | #: ../contrib/RL_out_sharp.lua:210 61 | msgid "quality of the output jpg file" 62 | msgstr "qualidade do arquivo jpg de saída" 63 | 64 | #: ../contrib/RL_out_sharp.lua:229 65 | msgid "RL output sharpen" 66 | msgstr "melhoria de nitidez na saída RL" 67 | 68 | #: ../contrib/RL_out_sharp.lua:233 69 | msgid "executable for GMic CLI" 70 | msgstr "executável para o GMic CLI" 71 | 72 | #: ../contrib/RL_out_sharp.lua:234 73 | msgid "select executable for GMic command line version" 74 | msgstr "selecione o executável para a versão de linha de comando do GMic" 75 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/clear_GPS.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:53-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/clear_GPS.lua:81 21 | msgid "clear GPS data" 22 | msgstr "limpar dados de GPS" 23 | 24 | #: ../contrib/clear_GPS.lua:83 25 | msgid "Clear GPS data from selected images" 26 | msgstr "Limpa os dados de GPS das imagens selecionadas" 27 | 28 | #: ../contrib/clear_GPS.lua:89 29 | msgid "Clear GPS data" 30 | msgstr "Limpar dados de GPS" 31 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/color_profile_manager.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-30 19:05-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/color_profile_manager.lua:122 21 | msgid "added color profile " 22 | msgstr "perfil de cor adicionado " 23 | 24 | #: ../contrib/color_profile_manager.lua:128 25 | msgid "removed color profile " 26 | msgstr "perfil de cor removido " 27 | 28 | #: ../contrib/color_profile_manager.lua:146 29 | msgid "ERROR: color profile must be an icc or icm file" 30 | msgstr "ERRO: perfil de cor deve ser um arquivo icm ou icc" 31 | 32 | #: ../contrib/color_profile_manager.lua:229 33 | msgid "color profile manager" 34 | msgstr "gerenciador de perfil de cor" 35 | 36 | #: ../contrib/color_profile_manager.lua:270 37 | msgid "initialize color profiles" 38 | msgstr "inicializar perfis de cor" 39 | 40 | #: ../contrib/color_profile_manager.lua:271 41 | msgid "create the directory structure to contain the color profiles" 42 | msgstr "cria a estrutura de pasta para conter os perfis de cor" 43 | 44 | #: ../contrib/color_profile_manager.lua:286 45 | msgid "select profile set" 46 | msgstr "selecionar definição de perfil" 47 | 48 | #: ../contrib/color_profile_manager.lua:287 49 | msgid "select input or output profiles" 50 | msgstr "selecionar perfis de entrada ou saída" 51 | 52 | #: ../contrib/color_profile_manager.lua:294 53 | msgid "input" 54 | msgstr "entrada" 55 | 56 | #: ../contrib/color_profile_manager.lua:294 57 | msgid "output" 58 | msgstr "saída" 59 | 60 | #: ../contrib/color_profile_manager.lua:298 61 | msgid "select color profile to add" 62 | msgstr "selecionar perfil de cor a adicionar" 63 | 64 | #: ../contrib/color_profile_manager.lua:299 65 | msgid "select the .icc or .icm file to add" 66 | msgstr "selecionar arquivo icc ou icm a adicionar" 67 | 68 | #: ../contrib/color_profile_manager.lua:306 69 | msgid "add profile" 70 | msgstr "adicionar perfil" 71 | 72 | #: ../contrib/color_profile_manager.lua:309 73 | msgid "add selected color profile" 74 | msgstr "adicionar perfil de cor selecionado" 75 | 76 | #: ../contrib/color_profile_manager.lua:310 77 | msgid "add selected file to profiles" 78 | msgstr "adicionar arquivo selecionado aos perfis" 79 | 80 | #: ../contrib/color_profile_manager.lua:320 81 | msgid "remove profile" 82 | msgstr "remover perfil" 83 | 84 | #: ../contrib/color_profile_manager.lua:323 85 | msgid "remove selected profile(s)" 86 | msgstr "remover perfil(s) selecionado(s)" 87 | 88 | #: ../contrib/color_profile_manager.lua:324 89 | msgid "remove the checked profile(s)" 90 | msgstr "remover o(s) perfil(s) marcado(s)" 91 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/copy_attach_detach_tags.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:52-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/copy_attach_detach_tags.lua:101 21 | msgid "Image tags copied ..." 22 | msgstr "Etiquetas de imagem copiadas ..." 23 | 24 | #: ../contrib/copy_attach_detach_tags.lua:123 25 | msgid "No tag to attach, please copy tags first." 26 | msgstr "Nenhuma etiqueta anexada, por favor copie as etiquetas primeiro." 27 | 28 | #: ../contrib/copy_attach_detach_tags.lua:147 29 | msgid "Tags attached ..." 30 | msgstr "Etiquetas anexadas ..." 31 | 32 | #: ../contrib/copy_attach_detach_tags.lua:163 33 | msgid "Tags removed from image(s)." 34 | msgstr "Etiquetas removidas da(s) imagem(ns) " 35 | 36 | #: ../contrib/copy_attach_detach_tags.lua:169 37 | msgid "Tags replaced" 38 | msgstr "Etiquetas substituídas" 39 | 40 | #: ../contrib/copy_attach_detach_tags.lua:174 41 | msgid "tagging addon" 42 | msgstr "addon de etiquetas" 43 | 44 | #: ../contrib/copy_attach_detach_tags.lua:204 45 | #: ../contrib/copy_attach_detach_tags.lua:241 46 | #: ../contrib/copy_attach_detach_tags.lua:294 47 | msgid "copy tags from selected image(s)" 48 | msgstr "copiar etiquetas da(s) imagem(ns) selecionada(s)" 49 | 50 | #: ../contrib/copy_attach_detach_tags.lua:209 51 | #: ../contrib/copy_attach_detach_tags.lua:244 52 | #: ../contrib/copy_attach_detach_tags.lua:299 53 | msgid "paste tags to selected image(s)" 54 | msgstr "colar etiquetas para a(s) imagem(ns) selecionada(s)" 55 | 56 | #: ../contrib/copy_attach_detach_tags.lua:214 57 | #: ../contrib/copy_attach_detach_tags.lua:257 58 | #: ../contrib/copy_attach_detach_tags.lua:304 59 | msgid "remove tags from selected image(s)" 60 | msgstr "remover etiquetas da(s) imagem(ns) selecionada(s)" 61 | 62 | #: ../contrib/copy_attach_detach_tags.lua:219 63 | #: ../contrib/copy_attach_detach_tags.lua:253 64 | #: ../contrib/copy_attach_detach_tags.lua:309 65 | msgid "replace tags from selected image(s)" 66 | msgstr "substituir etiquetas a partir da(s) imagem(ns) selecionada(s)" 67 | 68 | #: ../contrib/copy_attach_detach_tags.lua:232 69 | msgid "tag clipboard" 70 | msgstr "área de transferência de etiqueta" 71 | 72 | #: ../contrib/copy_attach_detach_tags.lua:240 73 | msgid "multi copy tags" 74 | msgstr "copiar etiquetas múltiplas" 75 | 76 | #: ../contrib/copy_attach_detach_tags.lua:245 77 | msgid "paste tags" 78 | msgstr "colar etiquetas" 79 | 80 | #: ../contrib/copy_attach_detach_tags.lua:252 81 | msgid "replace tags" 82 | msgstr "substituir etiquetas" 83 | 84 | #: ../contrib/copy_attach_detach_tags.lua:256 85 | msgid "remove all tags" 86 | msgstr "remover todas as etiquetas" 87 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/copy_paste_metadata.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 14:57-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:38-0300\n" 11 | "Language: pt_BR\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "Last-Translator: Marcus Gama \n" 16 | "Language-Team: Portuguese \n" 17 | "X-Generator: Lokalize 21.08.1\n" 18 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 19 | 20 | #: copy_paste_metadata.lua:131 21 | msgid "copy metadata" 22 | msgstr "copiar metadados" 23 | 24 | #: copy_paste_metadata.lua:133 25 | msgid "copy metadata of the first selected image" 26 | msgstr "copiar metadados da primeira imagem selecionada" 27 | 28 | #: copy_paste_metadata.lua:139 29 | msgid "paste metadata" 30 | msgstr "colar metadados" 31 | 32 | #: copy_paste_metadata.lua:141 33 | msgid "paste metadata to the selected images" 34 | msgstr "colar metadados para as imagens selecionadas" 35 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/enfuse.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 15:19-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:39-0300\n" 11 | "Language: pt_BR\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "Last-Translator: Marcus Gama \n" 16 | "Language-Team: Portuguese \n" 17 | "X-Generator: Lokalize 21.08.1\n" 18 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 19 | 20 | #: enfuse.lua:187 21 | #, lua-format 22 | msgid "Error writing to `%s`" 23 | msgstr "Erro ao salvar `%s`" 24 | 25 | #: enfuse.lua:210 26 | #, lua-format 27 | msgid "Converting raw file '%s' to tiff..." 28 | msgstr "Converter arquivo raw `%s` para tiff..." 29 | 30 | #: enfuse.lua:220 31 | #, lua-format 32 | msgid "Skipping %s..." 33 | msgstr "Pulando %s..." 34 | 35 | #: enfuse.lua:227 36 | msgid "No suitable images selected, nothing to do for enfuse" 37 | msgstr "Nenhuma imagem adequada selecionado, nada a fazer para o script" 38 | 39 | #: enfuse.lua:233 40 | #, lua-format 41 | msgid "%d image(s) skipped" 42 | msgstr "%d imagem(ns) pulada(s)" 43 | 44 | #: enfuse.lua:253 45 | msgid "Enfuse failed, see terminal output for details" 46 | msgstr "Script falhou, veja a saída do terminal para detalhes" 47 | 48 | #: enfuse.lua:265 49 | msgid "enfuse was successful, resulting image has been imported" 50 | msgstr "script foi bem sucedido, imagem resultante foi importada" 51 | 52 | #: enfuse.lua:267 53 | #, lua-format 54 | msgid "enfuse: done, resulting image '%s' has been imported with id %d" 55 | msgstr "enfuse: feito, imagem '%s' resultante foi importada com o id %d" 56 | 57 | #: enfuse.lua:301 58 | msgid "Could not find enfuse executable. Not loading enfuse exporter..." 59 | msgstr "" 60 | "Não foi possível encontrar o executável do enfuse. Exportador do enfuse não" 61 | " carregado..." 62 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/executable_manager.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 11:50-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:39-0300\n" 11 | "Language: pt_BR\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "Last-Translator: Marcus Gama \n" 16 | "Language-Team: Portuguese \n" 17 | "X-Generator: Lokalize 21.08.1\n" 18 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 19 | 20 | #: executable_manager.lua:144 21 | msgid "No executable paths found, exiting..." 22 | msgstr "Caminho do executável não encontrado, saindo..." 23 | 24 | #: executable_manager.lua:160 25 | msgid "select an executable" 26 | msgstr "selecione um executável" 27 | 28 | #: executable_manager.lua:160 29 | msgid "search path for executable" 30 | msgstr "caminho de pesquisa por executável" 31 | 32 | #: executable_manager.lua:169 33 | msgid "select " 34 | msgstr "selecionar " 35 | 36 | #: executable_manager.lua:169 37 | msgid " executable" 38 | msgstr " executável" 39 | 40 | #: executable_manager.lua:190 41 | msgid "select executable to modify" 42 | msgstr "selecione executável a modificar" 43 | 44 | #: executable_manager.lua:205 45 | msgid "current" 46 | msgstr "atual" 47 | 48 | #: executable_manager.lua:207 49 | msgid "select" 50 | msgstr "selecionar" 51 | 52 | #: executable_manager.lua:209 53 | msgid "reset" 54 | msgstr "reiniciar" 55 | 56 | #: executable_manager.lua:212 57 | msgid "Clear path for " 58 | msgstr "Limpar caminho para " 59 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/exportLUT.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-30 19:25-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/exportLUT.lua:66 21 | msgid "Identity_file_chooser" 22 | msgstr "Selecionar_arquiv_identidade" 23 | 24 | #: ../contrib/exportLUT.lua:72 25 | msgid "Export_location_chooser" 26 | msgstr "Selecionar_localização_exportação" 27 | 28 | #: ../contrib/exportLUT.lua:78 29 | msgid "choose the identity haldclut file" 30 | msgstr "selecione o arquivo halclut de identidade" 31 | 32 | #: ../contrib/exportLUT.lua:82 33 | msgid "choose the output location" 34 | msgstr "selecione a localização de saída" 35 | 36 | #: ../contrib/exportLUT.lua:86 37 | msgid "WARNING: files may be silently overwritten" 38 | msgstr "AVISO: os arquivos podem ser sobrescritos sem confirmação" 39 | 40 | #: ../contrib/exportLUT.lua:108 41 | msgid "Invalid identity lut file" 42 | msgstr "Arquivo lut de identidade inválido" 43 | 44 | #: ../contrib/exportLUT.lua:110 45 | msgid "Exporting styles as haldCLUTs" 46 | msgstr "Exportar estilos como haldCLUTs" 47 | 48 | #: ../contrib/exportLUT.lua:129 49 | msgid "Exported: " 50 | msgstr "Exportado: " 51 | 52 | #: ../contrib/exportLUT.lua:131 53 | msgid "Done exporting haldCLUTs" 54 | msgstr "Exportação de haldCLUTs feita" 55 | 56 | #: ../contrib/exportLUT.lua:141 57 | msgid "export haldclut" 58 | msgstr "exportar haldclut" 59 | 60 | #: ../contrib/exportLUT.lua:166 61 | msgid "export" 62 | msgstr "exportar" 63 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/ext_editor.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:07-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/ext_editor.lua:158 21 | msgid " editors configured" 22 | msgstr " editores configurados" 23 | 24 | #: ../contrib/ext_editor.lua:167 25 | msgid "not a valid choice" 26 | msgstr "não é uma escolha válida" 27 | 28 | #: ../contrib/ext_editor.lua:173 29 | msgid "please select one image" 30 | msgstr "por favor, selecione uma imagem" 31 | 32 | #: ../contrib/ext_editor.lua:197 33 | msgid "file type not allowed" 34 | msgstr "tipo de arquivo não permitido" 35 | 36 | #: ../contrib/ext_editor.lua:225 37 | msgid "error copying file " 38 | msgstr "erro ao copiar arquivo " 39 | 40 | #: ../contrib/ext_editor.lua:232 41 | msgid "launching " 42 | msgstr "iniciando " 43 | 44 | #: ../contrib/ext_editor.lua:235 45 | msgid "error launching " 46 | msgstr "erro ao lançar " 47 | 48 | #: ../contrib/ext_editor.lua:328 49 | msgid "error moving file " 50 | msgstr "erro ao mover arquivo " 51 | 52 | #: ../contrib/ext_editor.lua:337 53 | msgid "finished exporting" 54 | msgstr "exportação terminada" 55 | 56 | #: ../contrib/ext_editor.lua:354 57 | msgid "external editors" 58 | msgstr "editores externos" 59 | 60 | #: ../contrib/ext_editor.lua:380 ../contrib/ext_editor.lua:493 61 | msgid "edit with program " 62 | msgstr "editar com programa " 63 | 64 | #: ../contrib/ext_editor.lua:382 ../contrib/ext_editor.lua:472 65 | msgid "collection" 66 | msgstr "coleção" 67 | 68 | #: ../contrib/ext_editor.lua:393 69 | msgid "choose program" 70 | msgstr "selecionar programa" 71 | 72 | #: ../contrib/ext_editor.lua:394 73 | msgid "select the external editor from the list" 74 | msgstr "selecione o editor externo a partir da lista" 75 | 76 | #: ../contrib/ext_editor.lua:404 77 | msgid "edit" 78 | msgstr "editar" 79 | 80 | #: ../contrib/ext_editor.lua:405 81 | msgid "open the selected image in external editor" 82 | msgstr "abre a imagem selecionada no editor externo" 83 | 84 | #: ../contrib/ext_editor.lua:415 85 | msgid "edit a copy" 86 | msgstr "editar uma cópia" 87 | 88 | #: ../contrib/ext_editor.lua:416 89 | msgid "create a copy of the selected image and open it in external editor" 90 | msgstr "cria uma cópia da imagem selecionada e abre-a no editor externo" 91 | 92 | #: ../contrib/ext_editor.lua:425 93 | msgid "update list" 94 | msgstr "atualizar lista" 95 | 96 | #: ../contrib/ext_editor.lua:426 97 | msgid "update list of programs if lua preferences are changed" 98 | msgstr "atualiza lista de programas se as preferências do lua forem alteradas" 99 | 100 | #: ../contrib/ext_editor.lua:478 101 | msgid "executable for external editor " 102 | msgstr "executável para o editor externo " 103 | 104 | #: ../contrib/ext_editor.lua:479 105 | msgid "select executable for external editor" 106 | msgstr "seleciona o executável para o editor externo" 107 | 108 | #: ../contrib/ext_editor.lua:479 109 | msgid "(None)" 110 | msgstr "(Nenhum)" 111 | 112 | #: ../contrib/ext_editor.lua:482 113 | msgid "name of external editor " 114 | msgstr "nome do editor externo " 115 | 116 | #: ../contrib/ext_editor.lua:483 117 | msgid "friendly name of external editor" 118 | msgstr "nome amigável do editor externo" 119 | 120 | #: ../contrib/ext_editor.lua:486 121 | msgid "show external editors in darkroom" 122 | msgstr "mostrar editores externos na sala escura" 123 | 124 | #: ../contrib/ext_editor.lua:487 125 | msgid "" 126 | "check to show external editors module also in darkroom (requires restart)" 127 | msgstr "" 128 | "ative para mostrar o módulo de editores externos também na sala escura" 129 | " (precisa reiniciar)" 130 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/face_recognition.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:12-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/face_recognition.lua:131 21 | msgid "export images" 22 | msgstr "exportar imagens" 23 | 24 | #: ../contrib/face_recognition.lua:137 25 | #, lua-format 26 | msgid "Exporting image %i of %i images" 27 | msgstr "Exportando imagem %i de %i imagens" 28 | 29 | #: ../contrib/face_recognition.lua:207 30 | msgid "Face recognition not found" 31 | msgstr "Reconhecimento de rosto não encontrado" 32 | 33 | #: ../contrib/face_recognition.lua:259 34 | msgid "Starting face recognition..." 35 | msgstr "Iniciando reconhecimento de rosto..." 36 | 37 | #: ../contrib/face_recognition.lua:267 38 | msgid "Face recognition failed" 39 | msgstr "Reconhecimento de rosto falhou" 40 | 41 | #: ../contrib/face_recognition.lua:269 42 | msgid "Face recognition finished" 43 | msgstr "Reconhecimento de rosto terminado" 44 | 45 | #: ../contrib/face_recognition.lua:274 46 | msgid "processing results..." 47 | msgstr "processando resultados..." 48 | 49 | #: ../contrib/face_recognition.lua:338 50 | msgid "face recognition complete" 51 | msgstr "reconhecimento de rosto completo" 52 | 53 | #: ../contrib/face_recognition.lua:340 54 | msgid "image export failed" 55 | msgstr "exportação da imagem falhou" 56 | 57 | #: ../contrib/face_recognition.lua:344 58 | msgid "no images selected" 59 | msgstr "nenhuma imagem selecionada" 60 | 61 | #: ../contrib/face_recognition.lua:353 62 | msgid "face recognition" 63 | msgstr "reconhecimento de rosto" 64 | 65 | #: ../contrib/face_recognition.lua:377 66 | msgid "tag to be used for unknown person" 67 | msgstr "etiqueta a ser usada para pessoa desconhecida" 68 | 69 | #: ../contrib/face_recognition.lua:383 70 | msgid "tag to be used when no persons are found" 71 | msgstr "etiqueta a ser usada quando nenhuma pessoa for encontrada" 72 | 73 | #: ../contrib/face_recognition.lua:389 ../contrib/face_recognition.lua:467 74 | msgid "tags of images to ignore" 75 | msgstr "etiquetas de imagens para ignorar" 76 | 77 | #: ../contrib/face_recognition.lua:395 ../contrib/face_recognition.lua:469 78 | msgid "tag category" 79 | msgstr "categoria da etiqueta" 80 | 81 | #: ../contrib/face_recognition.lua:400 82 | msgid "tolerance" 83 | msgstr "tolerância" 84 | 85 | #: ../contrib/face_recognition.lua:412 86 | msgid "processor cores" 87 | msgstr "núcleos de processador" 88 | 89 | #: ../contrib/face_recognition.lua:413 90 | msgid "number of processor cores to use, 0 for all" 91 | msgstr "número de núcleos de processador a usar, 0 para todos" 92 | 93 | #: ../contrib/face_recognition.lua:424 94 | msgid "known image directory" 95 | msgstr "pasta de imagem conhecida" 96 | 97 | #: ../contrib/face_recognition.lua:425 ../contrib/face_recognition.lua:471 98 | msgid "face data directory" 99 | msgstr "pasta de dados de rosto" 100 | 101 | #: ../contrib/face_recognition.lua:434 102 | msgid "export image format" 103 | msgstr "formato de exportação da imagem" 104 | 105 | #: ../contrib/face_recognition.lua:435 106 | msgid "format for exported images" 107 | msgstr "formato para as imagens exportadas" 108 | 109 | #: ../contrib/face_recognition.lua:445 110 | msgid "maximum exported image width" 111 | msgstr "largura máxima das imagens exportadas" 112 | 113 | #: ../contrib/face_recognition.lua:451 114 | msgid "maximum exported image height" 115 | msgstr "altura máxima das imagens exportada" 116 | 117 | #: ../contrib/face_recognition.lua:463 118 | msgid "unknown person tag" 119 | msgstr "etiqueta de pessoa desconhecida" 120 | 121 | #: ../contrib/face_recognition.lua:465 122 | msgid "no persons found tag" 123 | msgstr "etiqueta de nenhuma pessoa encontrada" 124 | 125 | #: ../contrib/face_recognition.lua:478 126 | msgid "processing options" 127 | msgstr "opções de processamento" 128 | 129 | #: ../contrib/face_recognition.lua:484 130 | msgid "width " 131 | msgstr "largura " 132 | 133 | #: ../contrib/face_recognition.lua:489 134 | msgid "height " 135 | msgstr "altura " 136 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/fujifilm_ratings.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-30 19:26-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/fujifilm_ratings.lua:49 21 | msgid "exiftool not found" 22 | msgstr "exiftool não encontrado" 23 | 24 | #: ../contrib/fujifilm_ratings.lua:62 25 | msgid "Using JPEG Rating: " 26 | msgstr "Usar classificação JPEG: " 27 | 28 | #: ../contrib/fujifilm_ratings.lua:73 29 | msgid "Using RAF Rating: " 30 | msgstr "Usar classificação RAF: " 31 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/geoJSON_export.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:16-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/geoJSON_export.lua:82 21 | #, lua-format 22 | msgid "Export Image %i/%i" 23 | msgstr "Exportar Imagem %i/%i" 24 | 25 | #: ../contrib/geoJSON_export.lua:87 26 | msgid "mkdir not found" 27 | msgstr "mkdir não encontrado" 28 | 29 | #: ../contrib/geoJSON_export.lua:91 30 | msgid "convert not found" 31 | msgstr "convert não encontrado" 32 | 33 | #: ../contrib/geoJSON_export.lua:95 34 | msgid "xdg-open not found" 35 | msgstr "xdg-open não encontrado" 36 | 37 | #: ../contrib/geoJSON_export.lua:99 38 | msgid "xdg-user-dir not found" 39 | msgstr "xdg-user-dir não encontrado" 40 | 41 | #: ../contrib/geoJSON_export.lua:310 42 | msgid "geoJSON export: Create an additional HTML file" 43 | msgstr "exportar geoJSON: Criar um arquivo HTML adicional" 44 | 45 | #: ../contrib/geoJSON_export.lua:311 46 | msgid "Creates a HTML file, that loads the geoJASON file. (Needs a MapBox key" 47 | msgstr "" 48 | "Cria um arquivo HTML que carrega o arquivo geoJSON. (Precisa de uma chave" 49 | " MapBox)" 50 | 51 | #: ../contrib/geoJSON_export.lua:316 52 | msgid "geoJSON export: MapBox Key" 53 | msgstr "exportar geoJSON : chave MapBox" 54 | 55 | #: ../contrib/geoJSON_export.lua:317 56 | msgid "https://www.mapbox.com/studio/account/tokens" 57 | msgstr "https://www.mapbox.com/studio/account/tokens" 58 | 59 | #: ../contrib/geoJSON_export.lua:322 60 | msgid "geoJSON export: Open geoJSON file after export" 61 | msgstr "exportar geoJSON: Abrir o arquivo geoJSON após exportar" 62 | 63 | #: ../contrib/geoJSON_export.lua:323 64 | msgid "" 65 | "Opens the geoJSON file after the export with the standard program for " 66 | "geoJSON files" 67 | msgstr "" 68 | "Abre o arquivo geoJSON após a exportação com o programa padrão para arquivos" 69 | " geoJSON" 70 | 71 | #: ../contrib/geoJSON_export.lua:335 72 | msgid "geoJSON export: Export directory" 73 | msgstr "exportar geoJSON: Pasta de exportação" 74 | 75 | #: ../contrib/geoJSON_export.lua:336 76 | msgid "A directory that will be used to export the geoJSON files" 77 | msgstr "Uma pasta que será usada para exportar os arquivos geoJSON" 78 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/geoToolbox.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:23-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/geoToolbox.lua:58 21 | msgid "Distance:" 22 | msgstr "Distância:" 23 | 24 | #: ../contrib/geoToolbox.lua:62 25 | msgid "latitude:" 26 | msgstr "latitude:" 27 | 28 | #: ../contrib/geoToolbox.lua:67 29 | msgid "longitude:" 30 | msgstr "longitude:" 31 | 32 | #: ../contrib/geoToolbox.lua:72 33 | msgid "elevation:" 34 | msgstr "elevação:" 35 | 36 | #: ../contrib/geoToolbox.lua:79 ../contrib/geoToolbox.lua:99 37 | msgid "GPS selection" 38 | msgstr "seleção do GPS" 39 | 40 | #: ../contrib/geoToolbox.lua:302 41 | msgid "latitude: " 42 | msgstr "latitude: " 43 | 44 | #: ../contrib/geoToolbox.lua:303 45 | msgid "longitude: " 46 | msgstr "longitude: " 47 | 48 | #: ../contrib/geoToolbox.lua:304 49 | msgid "elevation: " 50 | msgstr "elevação: " 51 | 52 | #: ../contrib/geoToolbox.lua:329 53 | msgid "gnome-maps not found" 54 | msgstr "gnome-maps não encontrado" 55 | 56 | #: ../contrib/geoToolbox.lua:367 57 | msgid "curl not found" 58 | msgstr "curl não encontrado" 59 | 60 | #: ../contrib/geoToolbox.lua:372 61 | msgid "jq not found" 62 | msgstr "jq não encontrado" 63 | 64 | #: ../contrib/geoToolbox.lua:490 65 | msgid "m" 66 | msgstr "m" 67 | 68 | #: ../contrib/geoToolbox.lua:492 69 | msgid "km" 70 | msgstr "km" 71 | 72 | #: ../contrib/geoToolbox.lua:495 73 | #, lua-format 74 | msgid "Distance: %.2f %s" 75 | msgstr "Distância: %.2f %s" 76 | 77 | #: ../contrib/geoToolbox.lua:508 78 | msgid "export altitude CSV" 79 | msgstr "exportar altitude para CSV" 80 | 81 | #: ../contrib/geoToolbox.lua:518 82 | msgid "Name of the exported file" 83 | msgstr "Nome do arquivo exportado" 84 | 85 | #: ../contrib/geoToolbox.lua:523 86 | msgid "Start export" 87 | msgstr "Iniciar exportação" 88 | 89 | #: ../contrib/geoToolbox.lua:584 90 | msgid "File created in " 91 | msgstr "Arquivo criado em " 92 | 93 | #: ../contrib/geoToolbox.lua:614 ../contrib/geoToolbox.lua:746 94 | msgid "Calculate the distance from latitude and longitude in km" 95 | msgstr "Calcula a distância da latitude e longitude em km" 96 | 97 | #: ../contrib/geoToolbox.lua:619 ../contrib/geoToolbox.lua:644 98 | #: ../contrib/geoToolbox.lua:751 99 | msgid "Select all images with GPS information" 100 | msgstr "Selecionar todas as imagens com informação de GPS" 101 | 102 | #: ../contrib/geoToolbox.lua:621 ../contrib/geoToolbox.lua:650 103 | #: ../contrib/geoToolbox.lua:753 104 | msgid "Select all images without GPS information" 105 | msgstr "Selecionar todas as imagens sem informação de GPS" 106 | 107 | #: ../contrib/geoToolbox.lua:643 108 | msgid "select geo images" 109 | msgstr "selecionar imagens geoetiquetadas" 110 | 111 | #: ../contrib/geoToolbox.lua:649 112 | msgid "select non-geo images" 113 | msgstr "selecionar imagens sem geoetiquetas" 114 | 115 | #: ../contrib/geoToolbox.lua:656 116 | msgid "copy GPS data" 117 | msgstr "copiar dados do GPS" 118 | 119 | #: ../contrib/geoToolbox.lua:657 120 | msgid "Copy GPS data" 121 | msgstr "Copiar dados do GPS" 122 | 123 | #: ../contrib/geoToolbox.lua:665 124 | msgid "paste GPS data" 125 | msgstr "colar dados do GPS" 126 | 127 | #: ../contrib/geoToolbox.lua:666 128 | msgid "Paste GPS data" 129 | msgstr "Colar dados do GPS" 130 | 131 | #: ../contrib/geoToolbox.lua:695 132 | msgid "open in Gnome Maps" 133 | msgstr "abrir no Gnome Maps" 134 | 135 | #: ../contrib/geoToolbox.lua:696 136 | msgid "Open location in Gnome Maps" 137 | msgstr "Abrir localização no Gnome Maps" 138 | 139 | #: ../contrib/geoToolbox.lua:702 140 | msgid "reverse geocode" 141 | msgstr "geocódigo reverso" 142 | 143 | #: ../contrib/geoToolbox.lua:703 144 | msgid "This just shows the name of the location, but doesn't add it as tag" 145 | msgstr "" 146 | "Isto apenas mostra o nome da localização, mas não adiciona-a como uma etiqueta" 147 | 148 | #: ../contrib/geoToolbox.lua:707 149 | msgid "altitude CSV export" 150 | msgstr "exportar altitude em CSV" 151 | 152 | #: ../contrib/geoToolbox.lua:712 153 | msgid "export altitude CSV file" 154 | msgstr "exporta o arquivo CSV de altitude" 155 | 156 | #: ../contrib/geoToolbox.lua:713 157 | msgid "Create an altitude profile using the GPS data in the metadata" 158 | msgstr "Cria um perfil de altitude usando os dados GPS nos metadados" 159 | 160 | #: ../contrib/geoToolbox.lua:740 161 | msgid "geoToolbox export: MapBox Key" 162 | msgstr "exportar geoToolbox: chave MapBox" 163 | 164 | #: ../contrib/geoToolbox.lua:741 165 | msgid "https://www.mapbox.com/studio/account/tokens" 166 | msgstr "https://www.mapbox.com/studio/account/tokens" 167 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/gimp.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:18-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/gimp.lua:111 21 | #, lua-format 22 | msgid "Export Image %i/%i" 23 | msgstr "Exportar Imagem %i/%i" 24 | 25 | #: ../contrib/gimp.lua:121 26 | msgid "GIMP not found" 27 | msgstr "GIMP não encontrado" 28 | 29 | #: ../contrib/gimp.lua:144 30 | msgid "Launching GIMP..." 31 | msgstr "Iniciando GIMP..." 32 | 33 | #: ../contrib/gimp.lua:207 34 | msgid "run detached" 35 | msgstr "executar desassociado" 36 | 37 | #: ../contrib/gimp.lua:208 38 | msgid "don't import resulting image back into darktable" 39 | msgstr "não importar a imagem resultante de volta para o darktable" 40 | 41 | #: ../contrib/gimp.lua:215 42 | msgid "Edit with GIMP" 43 | msgstr "Editar com o GIMP" 44 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/gpx_export.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:48-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/gpx_export.lua:59 21 | msgid "gpx file path" 22 | msgstr "caminho do arquivo gpx" 23 | 24 | #: ../contrib/gpx_export.lua:72 25 | msgid "exporting gpx file..." 26 | msgstr "exportar arquivo gpx..." 27 | 28 | #: ../contrib/gpx_export.lua:74 29 | msgid "gpx export" 30 | msgstr "exportar gpx" 31 | 32 | #: ../contrib/gpx_export.lua:93 ../contrib/gpx_export.lua:94 33 | msgid " does not have date information and won't be processed" 34 | msgstr " não possui informações de data e não será processado" 35 | 36 | #: ../contrib/gpx_export.lua:134 37 | msgid "invalid path: " 38 | msgstr "caminho inválido: " 39 | 40 | #: ../contrib/gpx_export.lua:138 41 | msgid "gpx file created: " 42 | msgstr "arquivo gpx criado: " 43 | 44 | #: ../contrib/gpx_export.lua:171 45 | msgid "export" 46 | msgstr "exportar" 47 | 48 | #: ../contrib/gpx_export.lua:172 49 | msgid "export gpx file" 50 | msgstr "exportar arquivo gpx" 51 | 52 | #: ../contrib/gpx_export.lua:180 53 | msgid "file:" 54 | msgstr "arquivo:" 55 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/harmonic_armature_guide.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-30 19:26-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/harmonic_armature_guide.lua:76 21 | msgid "harmonic armature" 22 | msgstr "armadura harmônica" 23 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/hugin.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:26-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/hugin.lua:109 21 | msgid "hugin is not found, did you set the path?" 22 | msgstr "hugin não encontrado, você configurou o caminho?" 23 | 24 | #: ../contrib/hugin.lua:165 25 | msgid "will try to stitch now" 26 | msgstr "tentará pregar agora" 27 | 28 | #: ../contrib/hugin.lua:170 29 | msgid "creating pto file" 30 | msgstr "criar arquivo pto" 31 | 32 | #: ../contrib/hugin.lua:174 33 | msgid "running assistant" 34 | msgstr "rodar assistente" 35 | 36 | #: ../contrib/hugin.lua:182 37 | msgid "launching hugin" 38 | msgstr "iniciar o hugin" 39 | 40 | #: ../contrib/hugin.lua:184 41 | msgid "unable to find command line tools, launching hugin" 42 | msgstr "" 43 | "não foi possível encontrar as ferramentas de linha de comando, iniciar o hugin" 44 | 45 | #: ../contrib/hugin.lua:192 46 | msgid "hugin isn't available." 47 | msgstr "hugin não está disponível." 48 | 49 | #: ../contrib/hugin.lua:197 50 | msgid "hugin failed ..." 51 | msgstr "hugin falhou..." 52 | 53 | #: ../contrib/hugin.lua:203 54 | msgid "importing file " 55 | msgstr "importar arquivo " 56 | 57 | #: ../contrib/hugin.lua:229 58 | msgid " launch hugin gui" 59 | msgstr " iniciar interface gráfica do hugin" 60 | 61 | #: ../contrib/hugin.lua:231 62 | msgid "launch hugin in gui mode" 63 | msgstr "inicia o hugin no modo de interface gráfica" 64 | 65 | #: ../contrib/hugin.lua:237 66 | msgid "hugin panorama" 67 | msgstr "hugin panorama" 68 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/kml_export.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-02 05:14-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/kml_export.lua:64 21 | #, lua-format 22 | msgid "Export Image %i/%i" 23 | msgstr "Exportar Imagem %i/%i" 24 | 25 | #: ../contrib/kml_export.lua:91 26 | msgid "magick not found" 27 | msgstr "magick não encontrado" 28 | 29 | #: ../contrib/kml_export.lua:96 30 | msgid "xdg-user-dir not found" 31 | msgstr "xdg-user-dir não encontrado" 32 | 33 | #: ../contrib/kml_export.lua:106 34 | msgid "zip not found" 35 | msgstr "zip não encontrado" 36 | 37 | #: ../contrib/kml_export.lua:321 38 | msgid "KML export: Open KML file after export" 39 | msgstr "exportar KML: Abrir arquivo Open KML após a exportação" 40 | 41 | #: ../contrib/kml_export.lua:322 ../contrib/kml_export.lua:329 42 | msgid "" 43 | "Opens the KML file after the export with the standard program for KML files" 44 | msgstr "" 45 | "Abre o arquivo KML após a exportação com o programa padrão para arquivos KML" 46 | 47 | #: ../contrib/kml_export.lua:328 48 | msgid "KML export: Open KML/KMZ file after export" 49 | msgstr "exportar KML: Abre arquivo KML/KMZ após a exportação" 50 | 51 | #: ../contrib/kml_export.lua:348 52 | msgid "KML export: Export directory" 53 | msgstr "exportar KML: Pasta de exportação" 54 | 55 | #: ../contrib/kml_export.lua:349 56 | msgid "A directory that will be used to export the KML/KMZ files" 57 | msgstr "Uma pasta que será usada para exportar os arquivos KML/KMZ" 58 | 59 | #: ../contrib/kml_export.lua:356 60 | msgid "KML export: ImageMagick binary Location" 61 | msgstr "exportar KML: Localização do binário do ImageMagick" 62 | 63 | #: ../contrib/kml_export.lua:357 64 | msgid "Install location of magick[.exe]. Requires restart to take effect." 65 | msgstr "" 66 | "Localização de instalação do magick[.exe]. Precisa reiniciar para ter efeito." 67 | 68 | #: ../contrib/kml_export.lua:364 69 | msgid "KML export: Connect images with path" 70 | msgstr "exportar KML: Conectar imagens com caminho" 71 | 72 | #: ../contrib/kml_export.lua:365 73 | msgid "connect all images with a path" 74 | msgstr "conecta todas as imagens com um caminho" 75 | 76 | #: ../contrib/kml_export.lua:372 77 | msgid "KML export: Create KMZ file" 78 | msgstr "exportar KML: Criar arquivo KMZ" 79 | 80 | #: ../contrib/kml_export.lua:373 81 | msgid "Compress all imeges to one KMZ file" 82 | msgstr "Comprime todas as imagens para um arquivo KMZ" 83 | 84 | #: ../contrib/kml_export.lua:379 85 | msgid "KML Export" 86 | msgstr "Exportar KML" 87 | 88 | #: ../contrib/kml_export.lua:381 89 | msgid "KML/KMZ Export" 90 | msgstr "Exportar KML/KMZ" 91 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/passport_guide.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-01 19:26-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/passport_guide.lua:90 21 | msgid "ISO 19794-5/ICAO 9309 passport" 22 | msgstr "passaporte ISO 19794-5/ICAO 9309" 23 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/pdf_slideshow.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-02 05:16-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/pdf_slideshow.lua:55 21 | msgid "pdflatex not found" 22 | msgstr "pdflatex não encontrado" 23 | 24 | #: ../contrib/pdf_slideshow.lua:71 25 | msgid "a pdf viewer" 26 | msgstr "um visualizador de pdf" 27 | 28 | #: ../contrib/pdf_slideshow.lua:72 29 | msgid "can be an absolute pathname or the tool may be in the PATH" 30 | msgstr "pode ser um caminho absoluto ou a ferramenta pode estar no PATH" 31 | 32 | #: ../contrib/pdf_slideshow.lua:76 ../contrib/pdf_slideshow.lua:103 33 | msgid "slideshow title" 34 | msgstr "título da apresentação" 35 | 36 | #: ../contrib/pdf_slideshow.lua:80 37 | msgid "transition delay (s)" 38 | msgstr "atraso da transição (s)" 39 | 40 | #: ../contrib/pdf_slideshow.lua:91 41 | msgid "include image title" 42 | msgstr "incluir título da imagem" 43 | 44 | #: ../contrib/pdf_slideshow.lua:93 45 | msgid "whether to include the image title (if defined) into the slide" 46 | msgstr "se deve ser incluído o título da imagem (se definido) no slide" 47 | 48 | #: ../contrib/pdf_slideshow.lua:97 49 | msgid "include image author" 50 | msgstr "incluir autor da imagem" 51 | 52 | #: ../contrib/pdf_slideshow.lua:99 53 | msgid "whether to include the image author (if defined) into the slide" 54 | msgstr "se deve ser incluído o autor da imagem (se definido) no slide" 55 | 56 | #: ../contrib/pdf_slideshow.lua:179 57 | msgid "pdf slideshow" 58 | msgstr "apresentação do pdf" 59 | 60 | #: ../contrib/pdf_slideshow.lua:232 61 | msgid "problem running pdflatex" 62 | msgstr "problema ao executar o pdflatex" 63 | 64 | #: ../contrib/pdf_slideshow.lua:233 ../contrib/pdf_slideshow.lua:243 65 | msgid "problem running " 66 | msgstr "problema ao executar " 67 | 68 | #: ../contrib/pdf_slideshow.lua:242 69 | msgid "problem running pdf viewer" 70 | msgstr "problema ao executar o visualizador de pdf" 71 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/photils.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-02 05:22-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/photils.lua:117 21 | msgid "get tags" 22 | msgstr "obter etiquetas" 23 | 24 | #: ../contrib/photils.lua:148 25 | msgid "requires a restart to be applied" 26 | msgstr "precisa reiniciar para ser aplicado" 27 | 28 | #: ../contrib/photils.lua:163 29 | msgid "min confidence value" 30 | msgstr "valor mín de confiança" 31 | 32 | #: ../contrib/photils.lua:180 33 | msgid "" 34 | "The suggested tags were not generated\n" 35 | " for the currently selected image!" 36 | msgstr "" 37 | "As etiquetas sugeridas não serão geradas\n" 38 | "para a imagem atualmente selecionada!" 39 | 40 | #: ../contrib/photils.lua:186 41 | #, lua-format 42 | msgid " page %s of %s " 43 | msgstr " página %s de %s " 44 | 45 | #: ../contrib/photils.lua:237 46 | msgid "Apply tag to image" 47 | msgstr "Aplicar etiqueta à imagem" 48 | 49 | #: ../contrib/photils.lua:249 50 | msgid "Tags successfully attached to image" 51 | msgstr "Etiquetas anexadas com sucesso à imagem" 52 | 53 | #: ../contrib/photils.lua:299 54 | #, lua-format 55 | msgid "%s found %d tags for your image" 56 | msgstr "%s encontrado %d etiquetas para sua imagem" 57 | 58 | #: ../contrib/photils.lua:315 59 | msgid "No image selected." 60 | msgstr "Nenhuma imagem selecionada." 61 | 62 | #: ../contrib/photils.lua:319 63 | msgid "This plugin can only handle a single image." 64 | msgstr "Este plugin pode manipular somente uma imagem por vez." 65 | 66 | #: ../contrib/photils.lua:326 67 | #, lua-format 68 | msgid "%s failed, see terminal output for details" 69 | msgstr "%s falhou, veja a saída do terminal para detalhes" 70 | 71 | #: ../contrib/photils.lua:334 72 | #, lua-format 73 | msgid "no tags where found" 74 | msgstr "nenhuma etiqueta encontrada" 75 | 76 | #: ../contrib/photils.lua:365 77 | #, lua-format 78 | msgid "attach %d tags" 79 | msgstr "anexar %d etiquetas" 80 | 81 | #: ../contrib/photils.lua:429 ../contrib/photils.lua:430 82 | msgid "photils-cli not found" 83 | msgstr "photils-cli não encontrado" 84 | 85 | #: ../contrib/photils.lua:432 86 | msgid "" 87 | "Select an image, click \"get tags\" and get \n" 88 | "suggestions for tags." 89 | msgstr "" 90 | "Selecione uma imagem, clique em \"obter etiquetas\"\n" 91 | "e obtenha sugestões para etiquetas." 92 | 93 | #: ../contrib/photils.lua:467 94 | msgid "photils: show confidence value" 95 | msgstr "photils: mostrar valor de confiança" 96 | 97 | #: ../contrib/photils.lua:468 98 | msgid "if enabled, the confidence value for each tag is displayed" 99 | msgstr "se ativo, o valor de confiança para cada etiqueta é exibido" 100 | 101 | #: ../contrib/photils.lua:474 102 | msgid "photils: use exported image for tag request" 103 | msgstr "photils: usar imagem exportada para pedido de etiqueta" 104 | 105 | #: ../contrib/photils.lua:475 106 | msgid "" 107 | "If enabled, the image passed to photils for tag suggestion is based on the " 108 | "exported, already edited image. Otherwise, the embedded thumbnail of the RAW " 109 | "file will be used for tag suggestion.The embedded thumbnail could speedup " 110 | "the tag suggestion but can fail if the RAW file is not supported." 111 | msgstr "" 112 | "Se ativo, a imagem passada para o photils para a sugestão de etiquetas é" 113 | " baseada na " 114 | "exportada, a imagem já editada. Caso contrário, a miniatura embutida no" 115 | " arquivo RAW " 116 | "será usada para sugestão de etiquetas. A miniatura embutida pode acelerar a" 117 | " sugestão " 118 | "de etiqueta mas pode falhar se o arquivo RAW não for suportado." 119 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/quicktag.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-02 05:25-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/quicktag.lua:78 21 | msgid "max. length of button labels" 22 | msgstr "comprimento máximo dos rótulos de botão" 23 | 24 | #: ../contrib/quicktag.lua:79 25 | msgid "may range from 15 to 60 - needs a restart" 26 | msgstr "pode ir de 16 à 60 - precisa reiniciar" 27 | 28 | #: ../contrib/quicktag.lua:92 29 | msgid "number of quicktag fields" 30 | msgstr "número de campos de quicktag" 31 | 32 | #: ../contrib/quicktag.lua:93 33 | msgid "may range from 2 to 20 - needs a restart" 34 | msgstr "pode ir de 2 à 20 - precisa reiniciar" 35 | 36 | #: ../contrib/quicktag.lua:133 37 | #, lua-format 38 | msgid "quicktag %i is empty, please set a tag" 39 | msgstr "quicktag %i está vazio, por favor defina uma etiqueta" 40 | 41 | #: ../contrib/quicktag.lua:148 42 | msgid "no images selected" 43 | msgstr "nenhuma imagem selecionada" 44 | 45 | #: ../contrib/quicktag.lua:158 46 | #, lua-format 47 | msgid "tag \"%s\" attached to %i image(s)" 48 | msgstr "etiqueta \"%s\" anexada a %i imagem(ns)" 49 | 50 | #: ../contrib/quicktag.lua:179 51 | msgid "old tag" 52 | msgstr "etiqueta antiga" 53 | 54 | #: ../contrib/quicktag.lua:180 55 | msgid "select the quicktag to replace" 56 | msgstr "selecione a quicktag para substituir" 57 | 58 | #: ../contrib/quicktag.lua:225 ../contrib/quicktag.lua:303 59 | #, lua-format 60 | msgid "quicktag %i" 61 | msgstr "quicktag %i" 62 | 63 | #: ../contrib/quicktag.lua:240 ../contrib/quicktag.lua:264 64 | msgid "new tag" 65 | msgstr "nova etiqueta" 66 | 67 | #: ../contrib/quicktag.lua:243 68 | msgid "enter your tag here" 69 | msgstr "insira sua etiqueta aqui" 70 | 71 | #: ../contrib/quicktag.lua:247 72 | msgid "set tag" 73 | msgstr "definir etiqueta" 74 | 75 | #: ../contrib/quicktag.lua:251 76 | msgid "new quicktag is empty!" 77 | msgstr "nova quicktag está vazia!" 78 | 79 | #: ../contrib/quicktag.lua:255 80 | #, lua-format 81 | msgid "quicktag \"%s\" replaced by \"%s\"" 82 | msgstr "quicktag \"%s\" substituída por \"%s\"" 83 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/select_untagged.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:47-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/select_untagged.lua:47 21 | msgid "select untagged images" 22 | msgstr "selecionar imagens sem etiqueta" 23 | 24 | #: ../contrib/select_untagged.lua:79 25 | msgid "select untagged" 26 | msgstr "selecionar sem etiqueta" 27 | 28 | #: ../contrib/select_untagged.lua:81 29 | msgid "select all images containing no tags or only tags added by darktable" 30 | msgstr "" 31 | "seleciona todas as imagens que não possuam etiqueta ou somente etiquetas" 32 | " adicionadas pelo darktable" 33 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/slideshowMusic.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-09-28 19:50-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/slideshowMusic.lua:56 21 | msgid "rhythmbox-client not found" 22 | msgstr "cliente rhythmbox não encontrado" 23 | 24 | #: ../contrib/slideshowMusic.lua:85 25 | msgid "Slideshow background music file" 26 | msgstr "Arquivo de música de fundo da apresentação" 27 | 28 | #: ../contrib/slideshowMusic.lua:89 29 | msgid "Play slideshow background music" 30 | msgstr "Exibe uma apresentação com música de fundo" 31 | 32 | #: ../contrib/slideshowMusic.lua:90 33 | msgid "Plays music with rhythmbox if a slideshow starts" 34 | msgstr "Toca música com o rhytmbox se uma apresentação inicia" 35 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/transfer_hierarchy.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-02 05:28-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/transfer_hierarchy.lua:153 21 | msgid "Lowest directory containing all selected images" 22 | msgstr "Pasta de nível mais baixa contendo todas as imagens selecionadas" 23 | 24 | #: ../contrib/transfer_hierarchy.lua:256 25 | msgid "" 26 | "transfer hierarchy: ERROR: existing root is out of sync -- click 'calculate' " 27 | "to update" 28 | msgstr "" 29 | "transferir hierarquia: ERRO: raiz existente está fora de sincronia -- clique" 30 | " 'calcular' para atualizar" 31 | 32 | #: ../contrib/transfer_hierarchy.lua:260 33 | msgid "transfer hierarchy: ERROR: destination not specified" 34 | msgstr "transferir hierarquia: ERRO: destino não especificado" 35 | 36 | #: ../contrib/transfer_hierarchy.lua:270 37 | msgid "transfer hierarchy: ERROR: could not create directory: " 38 | msgstr "transferir hierarquia: ERRO: não foi possível criar a pasta: " 39 | 40 | #: ../contrib/transfer_hierarchy.lua:275 41 | msgid "transfer hierarchy: ERROR: not a directory: " 42 | msgstr "transferir hierarquia: ERRO: não é uma pasta: " 43 | 44 | #: ../contrib/transfer_hierarchy.lua:280 45 | msgid "transfer hierarchy: ERROR: could not create film: " 46 | msgstr "transferir hierarquia: ERRO: não foi possível criar um filme: " 47 | 48 | #: ../contrib/transfer_hierarchy.lua:289 49 | #, lua-format 50 | msgid "transfer hierarchy" 51 | msgstr "transferir hierarquia" 52 | 53 | #: ../contrib/transfer_hierarchy.lua:327 54 | msgid "calculate" 55 | msgstr "calcular" 56 | 57 | #: ../contrib/transfer_hierarchy.lua:331 58 | msgid "existing root" 59 | msgstr "raiz existente" 60 | 61 | #: ../contrib/transfer_hierarchy.lua:336 62 | msgid "root of destination" 63 | msgstr "raiz do destino" 64 | 65 | #: ../contrib/transfer_hierarchy.lua:341 66 | msgid "move" 67 | msgstr "mover" 68 | 69 | #: ../contrib/transfer_hierarchy.lua:346 70 | msgid "copy" 71 | msgstr "copiar" 72 | 73 | #: ../contrib/transfer_hierarchy.lua:347 74 | msgid "Copy all selected images" 75 | msgstr "Copia todas as imagens selecionadas" 76 | -------------------------------------------------------------------------------- /locale/pt_BR/LC_MESSAGES/video_ffmpeg.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Marcus Gama , 2021. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2021-09-28 19:37-0300\n" 10 | "PO-Revision-Date: 2021-10-02 05:38-0300\n" 11 | "Last-Translator: Marcus Gama \n" 12 | "Language-Team: Portuguese \n" 13 | "Language: pt_BR\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 18 | "X-Generator: Lokalize 21.08.1\n" 19 | 20 | #: ../contrib/video_ffmpeg.lua:243 21 | msgid "framerate" 22 | msgstr "taxa de quadros" 23 | 24 | #: ../contrib/video_ffmpeg.lua:244 25 | msgid "select framerate of output video" 26 | msgstr "seleciona a taxa de quadros da saída de vídeo" 27 | 28 | #: ../contrib/video_ffmpeg.lua:251 29 | msgid "resolution" 30 | msgstr "resolução" 31 | 32 | #: ../contrib/video_ffmpeg.lua:252 33 | msgid "select resolution of output video" 34 | msgstr "seleciona a resolução da saída de vídeo" 35 | 36 | #: ../contrib/video_ffmpeg.lua:259 37 | msgid "codec" 38 | msgstr "codec" 39 | 40 | #: ../contrib/video_ffmpeg.lua:260 41 | msgid "select codec" 42 | msgstr "seleciona o codec" 43 | 44 | #: ../contrib/video_ffmpeg.lua:267 45 | msgid "format container" 46 | msgstr "formato" 47 | 48 | #: ../contrib/video_ffmpeg.lua:268 49 | msgid "select format of output video" 50 | msgstr "seleciona o formato da saída de vídeo" 51 | 52 | #: ../contrib/video_ffmpeg.lua:280 53 | msgid "output file destination" 54 | msgstr "destino do arquivo de saída" 55 | 56 | #: ../contrib/video_ffmpeg.lua:281 57 | msgid "settings of output file destination and name" 58 | msgstr "configurações do destino e nome do arquivo de saída" 59 | 60 | #: ../contrib/video_ffmpeg.lua:296 61 | msgid "Select export path" 62 | msgstr "Selecionar caminho de exportação" 63 | 64 | #: ../contrib/video_ffmpeg.lua:298 65 | msgid "" 66 | "select the target directory for the timelapse. \n" 67 | "the filename is created automatically." 68 | msgstr "" 69 | "selecione a pasta alvo para o timelapse.\n" 70 | "o nome do arquivo é criado automaticamente." 71 | 72 | #: ../contrib/video_ffmpeg.lua:305 73 | msgid "" 74 | "if selected, output video will be placed in the same directory as first of " 75 | "selected images" 76 | msgstr "" 77 | "se selecionado, o vídeo de saída será colocado na mesma pasta da primeira das" 78 | " imagens " 79 | "selecionadas" 80 | 81 | #: ../contrib/video_ffmpeg.lua:320 82 | msgid "override output file on conflict" 83 | msgstr "sobrescrever arquivo de saída em caso de conflito" 84 | 85 | #: ../contrib/video_ffmpeg.lua:321 86 | msgid "if checked, in case of file name conflict, the file will be overwritten" 87 | msgstr "se ativo, em caso de conflito de nome, o arquivo será sobrescrito" 88 | 89 | #: ../contrib/video_ffmpeg.lua:329 90 | msgid "" 91 | "enter output file name without extension.\n" 92 | "\n" 93 | "You can use some placeholders:\n" 94 | "- {time} - time in format HH-mm-ss\n" 95 | "- {date} - date in foramt YYYY-mm-dd\n" 96 | "- {first_file} - name of first input file\n" 97 | "- {last_file} - name of last last_file" 98 | msgstr "" 99 | "insira o nome do arquivo de saída sem extensão.\n" 100 | "\n" 101 | "Você pode usar alguns coringas:\n" 102 | "- {time} - tempo no formato HH-mm-ss\n" 103 | "- {date} - data no formato AAAA-mm-dd\n" 104 | "- {first_file} - nome do primeiro arquivo de entrada\n" 105 | "- {last_file} - nome do último last_file" 106 | 107 | #: ../contrib/video_ffmpeg.lua:349 108 | msgid " open after export" 109 | msgstr " abrir após exportar" 110 | 111 | #: ../contrib/video_ffmpeg.lua:350 112 | msgid "open video file after successful export" 113 | msgstr "abre o arquivo de vídeo após ser exportado com sucesso" 114 | 115 | #: ../contrib/video_ffmpeg.lua:377 116 | msgid "export " 117 | msgstr "exportar " 118 | 119 | #: ../contrib/video_ffmpeg.lua:433 120 | msgid "prepare merge process" 121 | msgstr "preparar o processo de mesclagem" 122 | 123 | #: ../contrib/video_ffmpeg.lua:436 124 | msgid "ERROR: cannot create temp directory" 125 | msgstr "ERRO: não foi possível criar a pasta temporária" 126 | 127 | #: ../contrib/video_ffmpeg.lua:448 128 | msgid "ERROR: cannot build image, see console for more info" 129 | msgstr "" 130 | "ERRO: não foi possível construir a imagem, veja o console para mais" 131 | " informações" 132 | 133 | #: ../contrib/video_ffmpeg.lua:450 134 | msgid "SUCCESS" 135 | msgstr "SUCESSO" 136 | -------------------------------------------------------------------------------- /official/README: -------------------------------------------------------------------------------- 1 | Scripts in this folder are maintained by the darktable community. 2 | -------------------------------------------------------------------------------- /official/delete_long_tags.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2014--2018 Tobias Ellinghaus 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | DELETE LONG TAGS 20 | A simple script that will automatically delete all tags longer than a set length 21 | 22 | USAGE 23 | * require this script from your main lua file 24 | * set the the maximum length in darktable's preference 25 | * restart darktable 26 | 27 | all tags longer than the given length will be automatically deleted at every restart 28 | 29 | ]] 30 | 31 | local dt = require "darktable" 32 | local du = require "lib/dtutils" 33 | 34 | du.check_min_api_version("2.0.0", "delete_long_tags") 35 | 36 | local gettext = dt.gettext.gettext 37 | 38 | local function _(msgid) 39 | return gettext(msgid) 40 | end 41 | 42 | -- return data structure for script_manager 43 | 44 | local script_data = {} 45 | 46 | script_data.metadata = { 47 | name = _("delete long tags"), 48 | purpose = _("delete all tags longer than a set length"), 49 | author = "Tobias Ellinghaus", 50 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/official/delete_long_tags" 51 | } 52 | 53 | script_data.destroy = nil -- function to destory the script 54 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 55 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 56 | script_data.show = nil -- only required for libs since the destroy_method only hides them 57 | 58 | dt.preferences.register("delete_long_tags", "length", "integer", 59 | "maximum length of tags to keep", 60 | "tags longer than this get deleted on start", 61 | 666, 0, 65536) 62 | 63 | local function destroy() 64 | -- noting to destroy 65 | end 66 | 67 | local max_length = dt.preferences.read("delete_long_tags", "length", "integer") 68 | 69 | -- deleting while iterating the tags list seems to break the iterator! 70 | local long_tags = {} 71 | 72 | for _,t in ipairs(dt.tags) do 73 | local len = #t.name 74 | if len > max_length then 75 | dt.print_log("deleting tag `"..t.name.."' (length: "..len..")") 76 | table.insert(long_tags, t.name) 77 | end 78 | end 79 | 80 | for _,name in pairs(long_tags) do 81 | tag = dt.tags.find(name) 82 | tag:delete() 83 | end 84 | 85 | script_data.destroy = destroy 86 | 87 | return script_data 88 | -------------------------------------------------------------------------------- /official/delete_unused_tags.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2018 Tobias Ellinghaus 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | DELETE UNUSED TAGS 20 | A simple script that will automatically delete all tags that are not attached to any images 21 | 22 | USAGE 23 | * require this script from your main lua file 24 | * restart darktable 25 | 26 | all tags that are not used will be automatically deleted at every restart 27 | ]] 28 | 29 | local dt = require "darktable" 30 | local du = require "lib/dtutils" 31 | 32 | du.check_min_api_version("5.0.0", "delete_unused_tags") 33 | 34 | local script_data = {} 35 | 36 | local function destroy() 37 | -- noting to destroy 38 | end 39 | 40 | local gettext = dt.gettext.gettext 41 | 42 | local function _(msgid) 43 | return gettext(msgid) 44 | end 45 | 46 | -- return data structure for script_manager 47 | 48 | local script_data = {} 49 | 50 | script_data.metadata = { 51 | name = _("delete unused tags"), 52 | purpose = _("delete unused tags"), 53 | author = "Tobias Ellinghaus", 54 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/official/delete_unused_tags" 55 | } 56 | 57 | script_data.destroy = nil -- function to destory the script 58 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 59 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 60 | script_data.show = nil -- only required for libs since the destroy_method only hides them 61 | 62 | -- deleting while iterating the tags list seems to break the iterator! 63 | local unused_tags = {} 64 | 65 | for _, t in ipairs(dt.tags) do 66 | if #t == 0 then 67 | table.insert(unused_tags, t.name) 68 | end 69 | end 70 | 71 | for _,name in pairs(unused_tags) do 72 | dt.print_log("deleting tag `" .. name .. "'") 73 | tag = dt.tags.find(name) 74 | tag:delete() 75 | end 76 | 77 | script_data.destroy = destroy 78 | return script_data -------------------------------------------------------------------------------- /official/image_path_in_ui.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2014 Jérémy Rosen 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | IMAGE_PATH_IN_UI 20 | Add a widget with the path of the selected images for easy copy/past 21 | Simple shortcuts to have multiple selection bufers 22 | 23 | 24 | USAGE 25 | * require this file from your main lua config file: 26 | 27 | This plugin will add a widget at the bottom of the left column in lighttable mode 28 | 29 | 30 | ]] 31 | local dt = require "darktable" 32 | local du = require "lib/dtutils" 33 | 34 | du.check_min_api_version("7.0.0", "image_path_in_ui") 35 | 36 | local gettext = dt.gettext.gettext 37 | 38 | local function _(msgid) 39 | return gettext(msgid) 40 | end 41 | 42 | -- return data structure for script_manager 43 | 44 | local script_data = {} 45 | 46 | script_data.metadata = { 47 | name = _("image path in UI"), 48 | purpose = _("print the image path in the UI"), 49 | author = "Jérémy Rosen", 50 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/official/image_path_in_ui" 51 | } 52 | 53 | script_data.destroy = nil -- function to destory the script 54 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 55 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 56 | script_data.show = nil -- only required for libs since the destroy_method only hides them 57 | 58 | local ipiu = {} 59 | ipiu.module_installed = false 60 | ipiu.event_registered = false 61 | 62 | local main_label = dt.new_widget("label"){selectable = true, ellipsize = "middle", halign = "start"} 63 | 64 | local function install_module() 65 | if not ipiu.module_installed then 66 | dt.register_lib("image_path_no_ui",_("selected images path"),true,false,{ 67 | [dt.gui.views.lighttable] = {"DT_UI_CONTAINER_PANEL_LEFT_CENTER",300} 68 | }, main_label 69 | ) 70 | ipiu.module_installed = true 71 | end 72 | end 73 | 74 | local function reset_widget() 75 | local selection = dt.gui.selection() 76 | local result = "" 77 | local array = {} 78 | for _,img in pairs(selection) do 79 | array[img.path] = true 80 | end 81 | for path in pairs(array) do 82 | if result == "" then 83 | result = path 84 | else 85 | result = result.."\n"..path 86 | end 87 | end 88 | main_label.label = result 89 | end 90 | 91 | local function destroy() 92 | dt.gui.libs["image_path_no_ui"].visible = false 93 | dt.destroy_event("ipiu", "mouse-over-image-changed") 94 | end 95 | 96 | local function restart() 97 | dt.register_event("ipiu", "mouse-over-image-changed", reset_widget); 98 | dt.gui.libs["image_path_no_ui"].visible = true 99 | end 100 | 101 | local function show() 102 | dt.gui.libs["image_path_no_ui"].visible = true 103 | end 104 | 105 | main_label.reset_callback = reset_widget 106 | 107 | if dt.gui.current_view().id == "lighttable" then 108 | install_module() 109 | else 110 | if not ipiu.event_registered then 111 | dt.register_event( 112 | "ipiu", "view-changed", 113 | function(event, old_view, new_view) 114 | if new_view.name == "lighttable" and old_view.name == "darkroom" then 115 | install_module() 116 | end 117 | end 118 | ) 119 | ipiu.event_registered = true 120 | end 121 | end 122 | 123 | dt.register_event("ipiu", "mouse-over-image-changed", reset_widget); 124 | 125 | script_data.destroy = destroy 126 | script_data.restart = restart 127 | script_data.destroy_method = "hide" 128 | script_data.show = show 129 | 130 | return script_data 131 | -- 132 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua 133 | -------------------------------------------------------------------------------- /official/import_filter_manager.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2015 Tobias Ellinghaus 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | IMPORT FILTER MANAGER 20 | This script adds a dropdown list with import filters to the import dialog. 21 | Scripts can add new filters by registering them with 22 | darktable.register_import_filter(name, callback) 23 | The callback has type function(event, images), i.e., it is the same as when 24 | directly registering the pre-import event. 25 | 26 | 27 | USAGE 28 | * require this script from your main lua file 29 | * also require some files with import filters, for example import_filters.lua. 30 | it is important to add them AFTER this one! 31 | ]] 32 | 33 | local dt = require "darktable" 34 | 35 | local gettext = dt.gettext.gettext 36 | 37 | local function _(msg) 38 | return gettext(msg) 39 | end 40 | 41 | local script_data = {} 42 | 43 | script_data.metadata = { 44 | name = _("import filter manager"), 45 | purpose = _("manage import filters"), 46 | author = "Tobias Ellinghaus", 47 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/official/import_filter_manager" 48 | } 49 | 50 | script_data.destroy = nil -- function to destory the script 51 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 52 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 53 | script_data.show = nil -- only required for libs since the destroy_method only hides them 54 | 55 | local import_filter_list = {} 56 | local n_import_filters = 1 57 | 58 | -- allow changing the filter from the preferences 59 | dt.preferences.register("import_filter_manager", "active_filter", "string", 60 | _("import filter"), _("the name of the filter used for importing images"), "") 61 | 62 | 63 | -- the dropdown to select the active filter from the import dialog 64 | local filter_dropdown = dt.new_widget("combobox") 65 | { 66 | label = _("import filter"), 67 | editable = false, 68 | tooltip = _("import filters are applied after completion of the import dialog"), 69 | 70 | changed_callback = function(widget) 71 | dt.preferences.write("import_filter_manager", "active_filter", "string", widget.value) 72 | end, 73 | 74 | "" -- the first entry in the list is hard coded to "" so it's possible to have no filter 75 | } 76 | dt.gui.libs.import.register_widget(filter_dropdown) 77 | 78 | 79 | -- this is just a wrapper which calls the active import filter 80 | dt.register_event("ifm", "pre-import", function(event, images) 81 | local active_filter = dt.preferences.read("import_filter_manager", "active_filter", "string") 82 | if active_filter == "" then return end 83 | local callback = import_filter_list[active_filter] 84 | if callback then callback(event, images) end 85 | end) 86 | 87 | 88 | -- add a new global function to register import filters 89 | dt.register_import_filter = function(name, callback) 90 | local active_filter = dt.preferences.read("import_filter_manager", "active_filter", "string") 91 | dt.print_log("registering import filter `" .. name .. "'") 92 | import_filter_list[name] = callback 93 | n_import_filters = n_import_filters + 1 94 | filter_dropdown[n_import_filters] = name 95 | if name == active_filter then filter_dropdown.value = n_import_filters end 96 | end 97 | 98 | local function destroy() 99 | --noting to destroy 100 | end 101 | 102 | script_data.destroy = destroy 103 | 104 | return script_data 105 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent 106 | -- kate: tab-indents: off; indent-width 2; replace-tabs on; remove-trailing-space on; 107 | -------------------------------------------------------------------------------- /official/import_filters.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2015-2016 Tobias Ellinghaus & Christian Mandel 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | EXAMPLE IMPORT FILTERS 20 | This script goes along with the import filter manager. It adds two filters: 21 | * ignore jpegs: this one does the same as the existing option in the import dialog 22 | and just skips all JPEGs during import. 23 | * prefer raw over jpeg: this one is a bit more elaborate, it ignores JPEGs when there 24 | is also another file with the same basename, otherwise it 25 | allows JPEGs, too. 26 | 27 | USAGE 28 | * require this script from your main lua file AFTER import_filter_manager.lua 29 | ]] 30 | 31 | local dt = require "darktable" 32 | 33 | local gettext = dt.gettext.gettext 34 | 35 | local function _(msg) 36 | return gettext(msg) 37 | end 38 | 39 | local script_data = {} 40 | 41 | script_data.metadata = { 42 | name = _("import filters"), 43 | purpose = _("import filtering"), 44 | author = "Tobias Ellinghaus & Christian Mandel", 45 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/official/import_filters" 46 | } 47 | 48 | script_data.destroy = nil -- function to destory the script 49 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 50 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 51 | script_data.show = nil -- only required for libs since the destroy_method only hides them 52 | 53 | -- we get fed a sorted list of filenames. just setting images to ignore to nil is enough 54 | 55 | -- ignore jpeg 56 | dt.register_import_filter("ignore jpegs", function(event, images) 57 | dt.print_log("ignoring all jpegs") 58 | for i, img in ipairs(images) do 59 | local extension = img:match("[^.]*$"):upper() 60 | if (extension == "JPG") or (extension == "JPEG") then 61 | images[i] = nil 62 | end 63 | end 64 | end) 65 | 66 | 67 | -- ignore jpeg iff another format for the image is found 68 | dt.register_import_filter("prefer raw over jpeg", function(event, images) 69 | dt.print_error("prefering raw over jpeg") 70 | local current_base = "" 71 | local jpg_indices = {} 72 | local other_format_found = false 73 | 74 | -- add dummy image to force processing for the last image 75 | local last_index 76 | table.insert(images, "") 77 | 78 | for i, img in ipairs(images) do 79 | local extension = img:match("[^.]*$"):upper() 80 | local base = img:match("^.*[.]") 81 | 82 | if base ~= current_base then 83 | -- we are done with the base name, act according to what we found out 84 | if other_format_found then 85 | for _, jpg in ipairs(jpg_indices) do 86 | images[jpg] = nil 87 | end 88 | end 89 | current_base = base 90 | other_format_found = false 91 | for k,_ in pairs(jpg_indices) do jpg_indices[k] = nil end 92 | end 93 | 94 | -- remember what we have here to act accordingly after all instances of this base name were checked 95 | if (extension == "JPG") or (extension == "JPEG") then 96 | table.insert(jpg_indices, i) 97 | else 98 | other_format_found = true 99 | end 100 | 101 | last_index = i 102 | end 103 | 104 | -- remove dummy image from list (just to make sure, it works even with keeping 105 | -- the dummy but that may break in the future), table.remove(images) does not 106 | -- work reliable because it can fail for sparse tables 107 | images[last_index] = nil 108 | 109 | end) 110 | 111 | local function destroy() 112 | -- nothing to destroy 113 | end 114 | 115 | script_data.destroy = destroy 116 | 117 | return script_data 118 | 119 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent 120 | -- kate: tab-indents: off; indent-width 2; replace-tabs on; remove-trailing-space on; 121 | -------------------------------------------------------------------------------- /official/save_selection.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | This file is part of darktable, 3 | copyright (c) 2014 Jérémy Rosen 4 | 5 | darktable is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | darktable is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with darktable. If not, see . 17 | ]] 18 | --[[ 19 | SAVE SELECTION 20 | Simple shortcuts to have multiple selection bufers 21 | 22 | 23 | USAGE 24 | * require this file from your main lua config file: 25 | * go to configuration => preferences => lua 26 | * set the shortcuts you want to use 27 | 28 | This plugin will provide shortcuts to save to and restore from up to five temporary buffers 29 | 30 | This plugin also provides a shortcut to swap the current selection with a quick-swap buffer 31 | 32 | The variable "buffer_count" controls the number of selection buffers, 33 | increase it if you need more temporary selection buffers 34 | 35 | ]] 36 | local dt = require "darktable" 37 | local du = require "lib/dtutils" 38 | 39 | du.check_min_api_version("7.0.0", "save_selection") 40 | 41 | local gettext = dt.gettext.gettext 42 | 43 | local function _(msg) 44 | return gettext(msg) 45 | end 46 | 47 | -- return data structure for script_manager 48 | 49 | local script_data = {} 50 | 51 | script_data.metadata = { 52 | name = _("save selection"), 53 | purpose = _("shortcuts providing multiple selection buffers"), 54 | author = "Jérémy Rosen", 55 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/official/save_selection" 56 | } 57 | 58 | script_data.destroy = nil -- function to destory the script 59 | script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet 60 | script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again 61 | script_data.show = nil -- only required for libs since the destroy_method only hides them 62 | 63 | local buffer_count = 5 64 | 65 | local function destroy() 66 | for i = 1, buffer_count do 67 | dt.destroy_event("save_selection save " .. i, "shortcut") 68 | dt.destroy_event("save_selection restore " .. i, "shortcut") 69 | end 70 | dt.destroy_event("save_selection switch", "shortcut") 71 | end 72 | 73 | for i = 1, buffer_count do 74 | local saved_selection 75 | dt.register_event("save_selection save " .. i, "shortcut", function() 76 | saved_selection = dt.gui.selection() 77 | end, string.format(_("save to buffer %d"), i)) 78 | dt.register_event("save_selection restore " .. i, "shortcut", function() 79 | dt.gui.selection(saved_selection) 80 | end, string.format(_("restore from buffer %d"), i)) 81 | end 82 | 83 | local bounce_buffer = {} 84 | dt.register_event("save_selection switch", "shortcut", function() 85 | bounce_buffer = dt.gui.selection(bounce_buffer) 86 | end, _("switch selection with temporary buffer")) 87 | 88 | script_data.destroy = destroy 89 | 90 | return script_data 91 | -- 92 | -- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua 93 | -------------------------------------------------------------------------------- /tools/get_lib_manpages.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | get_lib_manpages.lua - retrieve the included library documentation and output it as man pages 3 | 4 | Copyright (c) 2016, Bill Ferguson 5 | ]] 6 | 7 | local dt = require "darktable" 8 | local du = require "lib/dtutils" 9 | local df = require "lib/dtutils.file" 10 | local dtsys = require "lib/dtutils.system" 11 | local log = require "lib/dtutils.log" 12 | local libname = nil 13 | 14 | du.check_min_api_version("3.0.0", "get_lib_manpages") 15 | 16 | local gettext = dt.gettext.gettext 17 | 18 | local function _(msg) 19 | return gettext(msg) 20 | end 21 | 22 | local function destroy() 23 | -- nothing to destroy 24 | end 25 | 26 | local keys = {"Name", "Synopsis", "Usage", "Description", "Return_Value", "Limitations", 27 | "Example", "See_Also", "Reference", "License", "Copyright"} 28 | 29 | local function output_man(d) 30 | local name = d["Name"] 31 | if not libname then 32 | libname = name 33 | end 34 | local fname = "/tmp/" .. name .. ".3" 35 | local mf = io.open(fname, "w") 36 | if mf then 37 | mf:write(".TH " .. string.upper(name) .. " 3 \"\" \"\" \"Darktable " .. libname .. " functions\"\n") 38 | for _,section in ipairs(keys) do 39 | if d[section]:len() > 0 then 40 | mf:write(".SH " .. string.upper(string.gsub(section, "_", " ")) .. "\n") 41 | mf:write(d[section] .. "\n") 42 | end 43 | end 44 | mf:close() 45 | if df.check_if_bin_exists("groff") then 46 | if df.check_if_bin_exists("ps2pdf") then 47 | os.execute("groff -man " .. fname .. " | ps2pdf - " .. fname .. ".pdf") 48 | else 49 | log.msg(log.error, "Missing ps2pdf. Can't generate pdf man pages.") 50 | end 51 | else 52 | log.msg(log.error, "Missing groff. Can't generate pdf man pages.") 53 | end 54 | else 55 | log.msg(log.error, "Can't open file " .. fname .. "for writing") 56 | end 57 | end 58 | 59 | -- find the libraries 60 | 61 | local output = io.popen("cd "..dt.configuration.config_dir.."/lua/lib ;find . -name \\*.lua -print | sort") 62 | 63 | -- loop through the libraries 64 | 65 | for line in output:lines() do 66 | line = string.gsub(line, "/", ".") 67 | local lib_name = line:sub(3,-5) 68 | if lib_name:len() > 2 then 69 | lib_name = "lib/" .. lib_name 70 | local lib = require(lib_name) 71 | 72 | -- print the documentation for the library 73 | if lib.libdoc then 74 | local doc = lib.libdoc 75 | if doc then 76 | output_man(doc) 77 | for _,fdoc in pairs(doc.functions) do 78 | 79 | -- print the documentation for each of the functions 80 | output_man(fdoc) 81 | end 82 | end 83 | end 84 | end 85 | libname = nil 86 | end 87 | 88 | local script_data = {} 89 | 90 | script_data.metadata = { 91 | name = _("get library man pages"), 92 | purpose = _("output the internal library documentation as man pages"), 93 | author = "Bill Ferguson ", 94 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/tools/get_lib_manpages" 95 | } 96 | 97 | script_data.destroy = destroy 98 | 99 | return script_data 100 | -------------------------------------------------------------------------------- /tools/get_libdoc.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | get_libdoc.lua - retrieve the included library documentation and output it 3 | 4 | Copyright (c) 2016, Bill Ferguson 5 | ]] 6 | 7 | local dt = require "darktable" 8 | local du = require "lib/dtutils" 9 | local dtsys = require "lib/dtutils.system" 10 | 11 | du.check_min_api_version("3.0.0", "get_libdoc") 12 | 13 | local gettext = dt.gettext.gettext 14 | 15 | local function _(msg) 16 | return gettext(msg) 17 | end 18 | 19 | local function destroy() 20 | -- nothing to destroy 21 | end 22 | 23 | local keys = {"Name", "Synopsis", "Usage", "Description", "Return_Value", "Limitations", 24 | "Example", "See_Also", "Reference", "License", "Copyright"} 25 | 26 | local function output_doc(d) 27 | for _,section in ipairs(keys) do 28 | if d[section]:len() > 0 then 29 | print(string.upper(string.gsub(section, "_", " "))) 30 | print("\t" .. d[section] .. "\n") 31 | end 32 | end 33 | print("\f") 34 | end 35 | 36 | -- find the libraries 37 | 38 | local output = io.popen("cd "..dt.configuration.config_dir.."/lua/lib ;find . -name \\*.lua -print | sort") 39 | 40 | -- loop through the libraries 41 | 42 | for line in output:lines() do 43 | line = string.gsub(line, "/", ".") 44 | local lib_name = line:sub(3,-5) 45 | if lib_name:len() > 2 then 46 | lib_name = "lib/" .. lib_name 47 | local lib = require(lib_name) 48 | 49 | -- print the documentation for the library 50 | if lib.libdoc then 51 | local doc = lib.libdoc 52 | output_doc(doc) 53 | for _,fdoc in pairs(doc.functions) do 54 | 55 | -- print the documentation for each of the functions 56 | output_doc(fdoc) 57 | end 58 | end 59 | end 60 | end 61 | 62 | local script_data = {} 63 | 64 | script_data.metadata = { 65 | name = _("get library docs"), 66 | purpose = _("retrieve and print the documentation to the console"), 67 | author = "Bill Ferguson ", 68 | help = "https://docs.darktable.org/lua/stable/lua.scripts.manual/scripts/tools/get_libdoc" 69 | } 70 | 71 | script_data.destroy = destroy 72 | 73 | return script_data 74 | --------------------------------------------------------------------------------