Mercurial > geeqie.yaz
changeset 1585:9a64eda3e020
merged
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Fri, 01 May 2009 15:49:32 +0900 |
parents | c1e22cba4003 (diff) f1d22c2174c1 (current diff) |
children | 5b59ccf95b2b |
files | src/image.c src/image.h src/layout.c src/layout_image.c src/layout_image.h src/typedefs.h |
diffstat | 37 files changed, 1717 insertions(+), 1222 deletions(-) [+] |
line wrap: on
line diff
--- a/geeqie.spec.in Fri May 01 15:49:06 2009 +0900 +++ b/geeqie.spec.in Fri May 01 15:49:32 2009 +0900 @@ -83,7 +83,8 @@ %files %defattr(-,root,root) %doc %{_docdir}/%{docname} -%{_bindir}/geeqie +%{_bindir}/geeqie* +%{_datadir}/geeqie %{_datadir}/locale/*/LC_MESSAGES/*.mo %{_datadir}/applications/geeqie.desktop %{_datadir}/pixmaps/geeqie.png
--- a/plugins/Makefile.am Fri May 01 15:49:06 2009 +0900 +++ b/plugins/Makefile.am Fri May 01 15:49:32 2009 +0900 @@ -2,3 +2,5 @@ qq_desktoptemplatedir = $(pkgdatadir) qq_desktoptemplate_DATA = template.desktop +EXTRA_DIST = \ + $(qq_desktoptemplate_DATA)
--- a/plugins/symlink/Makefile.am Fri May 01 15:49:06 2009 +0900 +++ b/plugins/symlink/Makefile.am Fri May 01 15:49:32 2009 +0900 @@ -1,5 +1,7 @@ +dist_bin_SCRIPTS = geeqie-symlink qq_desktopdir = $(pkgdatadir)/applications qq_desktop_DATA = symlink.desktop - +EXTRA_DIST = \ + $(qq_desktop_DATA)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/symlink/geeqie-symlink Fri May 01 15:49:32 2009 +0900 @@ -0,0 +1,18 @@ +#!/bin/sh + +# This is a helper script that symlinks grouped files +# it uses geeqie remote connection to get details about grouped files + + +# iterate over files on commandline +for file in "$@" ; do + # we got only one file for each group, typically the main one + # get the sidecars: + geeqie -r --get-sidecars:"$file" |while read sidecar ; do + # the main file is included in the sidecar file list, no special handling is required + # get destination path for each sidecar file: + geeqie -r --get-destination:"$sidecar" | if read destination ; then + ln -s "$sidecar" "$destination" + fi + done +done
--- a/plugins/symlink/symlink.desktop Fri May 01 15:49:06 2009 +0900 +++ b/plugins/symlink/symlink.desktop Fri May 01 15:49:32 2009 +0900 @@ -4,11 +4,8 @@ Name=Symlink #Name[cs]= -# FIXME: this can't be an oneliner, it needs to be changed to a full -# featured script in separate file, with error handling etc. -# expansion of environment variables directly in Exec is not supported -# by the specification and it will be removed -Exec=ln -s %f "$GEEQIE_DESTINATION" +# call the helper script +Exec=geeqie-symlink %f # Desktop files that are usable only in Geeqie should be marked like this: Categories=X-Geeqie;
--- a/po/Makefile.in.in.patch Fri May 01 15:49:06 2009 +0900 +++ b/po/Makefile.in.in.patch Fri May 01 15:49:32 2009 +0900 @@ -1,10 +1,20 @@ ---- Makefile.in.in 2008-04-19 14:36:53.000000000 +0200 -+++ Makefile.in.in.new 2008-04-19 14:39:19.000000000 +0200 -@@ -216,7 +216,30 @@ +--- Makefile.in.in 2009-04-28 23:27:08.000000000 +0200 ++++ Makefile.in.in.new 2009-04-28 23:25:22.000000000 +0200 +@@ -92,7 +92,7 @@ + all-yes: $(CATALOGS) + all-no: + +-$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) ++$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ + --add-comments --keyword=_ --keyword=N_ \ + --flag=g_strdup_printf:1:c-format \ +@@ -216,8 +216,31 @@ || cp -p $(srcdir)/$$file $(distdir); \ done -update-po: Makefile +- $(MAKE) $(GETTEXT_PACKAGE).pot +### Updating po and gmo files +# +# Update by merging all .po files with the .po template master file. @@ -12,11 +22,11 @@ +# It is possible to update only a single .po file by setting the PO variable to +# either <lang> or <lang>.po when calling make. Example: make update-po PO=is + -+update-po: Makefile $(GETTEXT_PACKAGE).pot ++update-po: Makefile $(srcdir)/$(GETTEXT_PACKAGE).pot + @cd $(srcdir); \ + $(foreach lang,$(basename $(if $(strip $(PO)),$(PO),$(CATALOGS))), \ + echo -n "$(lang): "; \ -+ if $(MSGMERGE) $(lang).po $(GETTEXT_PACKAGE).pot -o $(lang).new.po; then \ ++ if $(MSGMERGE) $(lang).po $(srcdir)/$(GETTEXT_PACKAGE).pot -o $(lang).new.po; then \ + mv -f $(lang).new.po $(lang).po; \ + else \ + echo "msgmerge failed!"; \ @@ -29,6 +39,16 @@ + @: + +update-po-orig: Makefile - $(MAKE) $(GETTEXT_PACKAGE).pot ++ $(MAKE) $(srcdir)/$(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ +@@ -225,7 +248,7 @@ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + echo "$$lang:"; \ +- if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ ++ if $(MSGMERGE) $$lang.po $(srcdir)/$(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \
--- a/po/POTFILES.in Fri May 01 15:49:06 2009 +0900 +++ b/po/POTFILES.in Fri May 01 15:49:32 2009 +0900 @@ -7,11 +7,11 @@ ./src/bar_sort.c ./src/cache.c ./src/cache_maint.c -./src/cellrenderericon.c ./src/collect-dlg.c ./src/collect-io.c ./src/collect-table.c ./src/collect.c +./src/color-man.c ./src/desktop_file.c ./src/dupe.c ./src/editors.c
--- a/po/de.po Fri May 01 15:49:06 2009 +0900 +++ b/po/de.po Fri May 01 15:49:32 2009 +0900 @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: geeqie-1.0alpha3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-12 11:43+0100\n" -"PO-Revision-Date: 2009-04-12 18:56+0100\n" +"POT-Creation-Date: 2009-04-13 17:19+0100\n" +"PO-Revision-Date: 2009-04-13 14:55+0100\n" "Last-Translator: Klaus Ethgen <Klaus@Ethgen.de>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -21,11 +21,11 @@ "X-Poedit-SourceCharset: utf-8\n" #: src/advanced_exif.c:389 src/cache_maint.c:1284 src/preferences.c:86 -#: src/preferences.c:1326 src/preferences.c:1328 +#: src/preferences.c:1327 src/preferences.c:1329 msgid "Metadata" msgstr "Schlüsselworte und Kommentare" -#: src/advanced_exif.c:437 src/preferences.c:1245 +#: src/advanced_exif.c:437 src/preferences.c:1246 msgid "Description" msgstr "Beschreibung" @@ -390,7 +390,7 @@ msgid "S_tart" msgstr "S_tart" -#: src/cache_maint.c:886 src/preferences.c:1470 +#: src/cache_maint.c:886 src/preferences.c:1480 msgid "Folder:" msgstr "Verzeichnis:" @@ -708,7 +708,8 @@ msgid "%s, %d images" msgstr "%s, %d Bilder" -#: src/collect-table.c:223 src/layout.c:463 src/layout_util.c:1101 +#: src/collect-table.c:223 src/layout_util.c:1094 src/layout_util.c:1260 +#: src/layout_util.c:2066 msgid "Empty" msgstr "Leer" @@ -719,7 +720,7 @@ msgstr "Lade Vorschaubilder..." #: src/collect-table.c:872 src/dupe.c:2250 src/dupe.c:2561 -#: src/layout_util.c:1147 src/search.c:1006 +#: src/layout_util.c:1306 src/search.c:1006 msgid "_View" msgstr "_Ansicht" @@ -758,26 +759,26 @@ msgstr "Auswahl umkehren" #: src/collect-table.c:904 src/dupe.c:2273 src/img-view.c:1295 -#: src/layout_image.c:516 src/layout_util.c:1175 src/pan-view.c:2822 +#: src/layout_image.c:516 src/layout_util.c:1335 src/pan-view.c:2822 #: src/search.c:1025 src/view_file.c:575 msgid "_Copy..." msgstr "_Kopieren..." #: src/collect-table.c:906 src/dupe.c:2275 src/img-view.c:1296 -#: src/layout_image.c:518 src/layout_util.c:1176 src/pan-view.c:2824 +#: src/layout_image.c:518 src/layout_util.c:1336 src/pan-view.c:2824 #: src/search.c:1027 src/view_file.c:577 msgid "_Move..." msgstr "_Verschieben..." #: src/collect-table.c:908 src/dupe.c:2277 src/img-view.c:1297 -#: src/layout_image.c:520 src/layout_util.c:1177 src/pan-view.c:2826 +#: src/layout_image.c:520 src/layout_util.c:1337 src/pan-view.c:2826 #: src/search.c:1029 src/view_dir.c:616 src/view_file.c:579 msgid "_Rename..." msgstr "_Umbenennen..." #: src/collect-table.c:910 src/dupe.c:2279 src/img-view.c:1298 -#: src/layout_image.c:522 src/layout_util.c:1178 src/layout_util.c:1179 -#: src/layout_util.c:1180 src/pan-view.c:2828 src/search.c:1031 +#: src/layout_image.c:522 src/layout_util.c:1338 src/layout_util.c:1339 +#: src/layout_util.c:1340 src/pan-view.c:2828 src/search.c:1031 #: src/view_dir.c:618 src/view_file.c:581 msgid "_Delete..." msgstr "_Löschen..." @@ -808,7 +809,7 @@ msgid "Save collection _as..." msgstr "Sammlung speichern _als..." -#: src/collect-table.c:931 src/layout_util.c:1171 +#: src/collect-table.c:931 src/layout_util.c:1331 msgid "_Find duplicates..." msgstr "_Duplikate suchen..." @@ -993,7 +994,7 @@ msgid "Name case-insensitive" msgstr "Name unterscheidet nicht in Groß-/Kleinschreibung" -#: src/dupe.c:2655 src/dupe.c:3168 src/preferences.c:1069 src/print.c:3255 +#: src/dupe.c:2655 src/dupe.c:3168 src/preferences.c:1070 src/print.c:3255 #: src/search.c:2849 src/view_file_list.c:2030 msgid "Size" msgstr "Größe" @@ -1039,7 +1040,7 @@ msgid "Compare by:" msgstr "Vergleiche nach:" -#: src/dupe.c:3224 src/preferences.c:907 src/search.c:2865 +#: src/dupe.c:3224 src/preferences.c:908 src/search.c:2865 msgid "Thumbnails" msgstr "Vorschaubilder" @@ -1177,7 +1178,7 @@ msgid "dot" msgstr "Punkt" -#: src/exif-common.c:403 src/exif.c:232 src/layout.c:513 +#: src/exif-common.c:403 src/exif.c:232 src/layout_util.c:1143 msgid "sRGB" msgstr "sRGB" @@ -1203,7 +1204,7 @@ #: src/exif-common.c:515 src/exif.c:361 msgid "Shutter speed" -msgstr "Verschlussgeschw." +msgstr "Belichtungszeit" #: src/exif-common.c:516 src/exif.c:362 msgid "Aperture" @@ -1330,38 +1331,47 @@ msgstr "anderes" #: src/exif.c:186 src/exif.c:238 +#, fuzzy msgid "not defined" msgstr "unbekannt" #: src/exif.c:187 src/exif.c:266 src/exif.c:273 +#, fuzzy msgid "manual" msgstr "manuell" #: src/exif.c:188 src/exif.c:259 src/exif.c:295 src/exif.c:302 src/exif.c:309 +#, fuzzy msgid "normal" msgstr "normal" #: src/exif.c:189 +#, fuzzy msgid "aperture" msgstr "Blendenautomatik" #: src/exif.c:190 +#, fuzzy msgid "shutter" msgstr "Verschlusszeitautomatik" #: src/exif.c:191 +#, fuzzy msgid "creative" msgstr "kreativ" #: src/exif.c:192 +#, fuzzy msgid "action" msgstr "Sport" #: src/exif.c:193 src/exif.c:280 +#, fuzzy msgid "portrait" msgstr "Portrait" #: src/exif.c:194 src/exif.c:279 +#, fuzzy msgid "landscape" msgstr "Landschaft" @@ -1373,9 +1383,10 @@ msgid "fluorescent" msgstr "Leuchtstofflampe" +# Man verzeihe mir die Übersetung mit Glühobst. #: src/exif.c:202 msgid "tungsten (incandescent)" -msgstr "Halogenlampe" +msgstr "Kunstlicht (Glühbirne)" #: src/exif.c:203 msgid "flash" @@ -1575,7 +1586,7 @@ #: src/exif.c:335 msgid "Camera model" -msgstr "Kamera Modell" +msgstr "Kamera-Modell" #: src/exif.c:336 msgid "Orientation" @@ -1884,7 +1895,7 @@ msgid "source and destination have different extension" msgstr "Quelle und Ziel haben unterschiedliche Dateierweiterung" -#: src/fullscreen.c:243 src/preferences.c:1082 +#: src/fullscreen.c:243 src/preferences.c:1083 msgid "Full screen" msgstr "Vollbildmodus" @@ -1902,7 +1913,7 @@ #: src/fullscreen.c:642 msgid "Stay above other windows" -msgstr "immer über den anderen Fenstern stehen" +msgstr "Immer im Vordergrund anzeigen" #: src/fullscreen.c:649 msgid "Determined by Window Manager" @@ -1968,20 +1979,20 @@ msgid " (Collection %s)" msgstr "(Sammlung %s)" -#: src/img-view.c:1278 src/layout_image.c:494 src/layout_util.c:1203 -#: src/layout_util.c:1204 src/layout_util.c:1220 src/layout_util.c:1221 +#: src/img-view.c:1278 src/layout_image.c:494 src/layout_util.c:1363 +#: src/layout_util.c:1364 src/layout_util.c:1380 src/layout_util.c:1381 #: src/pan-view.c:2806 msgid "Zoom _in" msgstr "Ver_größern" -#: src/img-view.c:1279 src/layout_image.c:495 src/layout_util.c:1205 -#: src/layout_util.c:1206 src/layout_util.c:1222 src/layout_util.c:1223 +#: src/img-view.c:1279 src/layout_image.c:495 src/layout_util.c:1365 +#: src/layout_util.c:1366 src/layout_util.c:1382 src/layout_util.c:1383 #: src/pan-view.c:2808 msgid "Zoom _out" msgstr "Ver_kleinern" -#: src/img-view.c:1280 src/layout_image.c:496 src/layout_util.c:1207 -#: src/layout_util.c:1208 src/layout_util.c:1224 src/layout_util.c:1225 +#: src/img-view.c:1280 src/layout_image.c:496 src/layout_util.c:1367 +#: src/layout_util.c:1368 src/layout_util.c:1384 src/layout_util.c:1385 #: src/pan-view.c:2810 msgid "Zoom _1:1" msgstr "_Originalgröße" @@ -1990,7 +2001,7 @@ msgid "Fit image to _window" msgstr "In _Fenster einpassen" -#: src/img-view.c:1287 src/layout_image.c:504 src/layout_util.c:1201 +#: src/img-view.c:1287 src/layout_image.c:504 src/layout_util.c:1361 msgid "Set as _wallpaper" msgstr "Als _Hindergrundbild verwenden" @@ -2023,7 +2034,7 @@ msgid "_Full screen" msgstr "_Vollbildmodus" -#: src/img-view.c:1335 src/layout_util.c:1182 src/pan-view.c:2884 +#: src/img-view.c:1335 src/layout_util.c:1342 src/pan-view.c:2884 msgid "C_lose window" msgstr "Fenster s_chließen" @@ -2031,140 +2042,108 @@ msgid "Ascending" msgstr "Aufsteigend" -#: src/layout.c:472 -#, c-format -msgid "This installation of %s was not built with support for color profiles." -msgstr "" - -#: src/layout.c:473 -msgid "Color profiles not supported" -msgstr "" - -#: src/layout.c:498 -msgid "Use _color profiles" -msgstr "" - -#: src/layout.c:503 -msgid "Use profile from _image" -msgstr "" - -#: src/layout.c:514 -msgid "AdobeRGB compatible" -msgstr "AdobeRGB-kompatibel" - -#: src/layout.c:517 -#, c-format -msgid "Input _%d: %s%s" -msgstr "" - -#: src/layout.c:535 -#, c-format -msgid "Input _%d: %s" -msgstr "" - -#: src/layout.c:549 -msgid "Screen sRGB" -msgstr "Bildschirm sRGB" - -#: src/layout.c:556 -msgid "_Screen profile" -msgstr "Bildschirmprofil " - -#: src/layout.c:681 +#: src/layout.c:501 msgid " Slideshow" msgstr "Diashow" -#: src/layout.c:685 +#: src/layout.c:505 msgid " Paused" msgstr "Pausiert" -#: src/layout.c:701 +#: src/layout.c:521 #, c-format msgid "%s, %d files (%s, %d)%s" msgstr "%s, %d Dateien (%s, %d)%s" -#: src/layout.c:708 +#: src/layout.c:528 #, c-format msgid "%s, %d files%s" msgstr "%s, %d Dateien%s" -#: src/layout.c:713 +#: src/layout.c:533 #, c-format msgid "%d files%s" msgstr "%d Dateien%s" -#: src/layout.c:758 +#: src/layout.c:580 #, c-format msgid "(no read permission) %s bytes" msgstr "(keine Leserechte) %s Byte" -#: src/layout.c:762 +#: src/layout.c:584 #, c-format msgid "( ? x ? ) %s bytes" msgstr "( ? x ? ) %s Byte" -#: src/layout.c:770 +#: src/layout.c:592 #, c-format msgid "( %d x %d ) %s bytes" msgstr "( %d x %d ) %s Byte" -#: src/layout.c:1467 src/layout_config.c:58 +#: src/layout.c:608 +#, c-format +msgid "" +"Image profile: %s\n" +"Screen profile: %s" +msgstr "" + +#: src/layout.c:1306 src/layout_config.c:58 msgid "Tools" msgstr "Werkzeuge" -#: src/layout.c:2079 +#: src/layout.c:1918 msgid "Window options and layout" msgstr "" -#: src/layout.c:2138 +#: src/layout.c:1977 msgid "General options" msgstr "Allgemeine Optionen" -#: src/layout.c:2140 +#: src/layout.c:1979 msgid "Home path (empty to use your home directory)" msgstr "" -#: src/layout.c:2148 +#: src/layout.c:1987 msgid "Use current" msgstr "Aktuelles benutzen" -#: src/layout.c:2151 +#: src/layout.c:1990 msgid "Show date in directories list view" msgstr "" -#: src/layout.c:2154 +#: src/layout.c:1993 msgid "Exit program when this window is closed" msgstr "" -#: src/layout.c:2157 +#: src/layout.c:1996 msgid "Start-up directory:" msgstr "Startverzeichnis:" -#: src/layout.c:2159 +#: src/layout.c:1998 msgid "No change" msgstr "Keine Änderung" -#: src/layout.c:2162 +#: src/layout.c:2001 msgid "Restore last path" msgstr "" -#: src/layout.c:2165 +#: src/layout.c:2004 msgid "Home path" msgstr "" -#: src/layout.c:2169 src/print.c:3421 src/print.c:3428 +#: src/layout.c:2008 src/print.c:3421 src/print.c:3428 msgid "Layout" msgstr "Layout" -#: src/layout.c:2407 +#: src/layout.c:2246 msgid "Invalid geometry\n" msgstr "" -#: src/layout_config.c:58 src/preferences.c:1179 src/ui_pathsel.c:1179 +#: src/layout_config.c:58 src/preferences.c:1180 src/ui_pathsel.c:1179 msgid "Files" msgstr "Dateien" -#: src/layout_config.c:58 src/preferences.c:84 src/preferences.c:976 +#: src/layout_config.c:58 src/preferences.c:84 src/preferences.c:977 #: src/print.c:123 msgid "Image" msgstr "Bild" @@ -2177,405 +2156,472 @@ msgid "Hide file _list" msgstr "Datei_liste verbergen" -#: src/layout_image.c:1557 +#: src/layout_image.c:1549 #, c-format msgid "pos(%*d,%*d) rgb(%3d,%3d,%3d)" msgstr "" # Was zur Hölle!? # Gut, man kann auch einen Punkt übersetzen -#: src/layout_util.c:1003 +#: src/layout_util.c:1005 #, c-format msgid "_%d %s..." msgstr "_%d %s ..." -#: src/layout_util.c:1013 +#: src/layout_util.c:1015 #, c-format msgid "_%d empty" msgstr "_%d leer" -#: src/layout_util.c:1141 +#: src/layout_util.c:1102 +#, c-format +msgid "This installation of %s was not built with support for color profiles." +msgstr "" + +#: src/layout_util.c:1103 +msgid "Color profiles not supported" +msgstr "" + +#: src/layout_util.c:1128 src/layout_util.c:1431 +msgid "Use _color profiles" +msgstr "" + +#: src/layout_util.c:1133 src/layout_util.c:1432 +msgid "Use profile from _image" +msgstr "" + +#: src/layout_util.c:1144 +msgid "AdobeRGB compatible" +msgstr "AdobeRGB-kompatibel" + +#: src/layout_util.c:1147 +#, c-format +msgid "Input _%d: %s%s" +msgstr "" + +#: src/layout_util.c:1165 src/layout_util.c:2106 +#, c-format +msgid "Input _%d: %s" +msgstr "" + +#: src/layout_util.c:1179 +msgid "Screen sRGB" +msgstr "Bildschirm sRGB" + +#: src/layout_util.c:1186 +msgid "_Screen profile" +msgstr "Bildschirmprofil " + +#: src/layout_util.c:1300 msgid "_File" msgstr "_Datei" -#: src/layout_util.c:1142 +#: src/layout_util.c:1301 msgid "_Go" msgstr "" -#: src/layout_util.c:1143 src/menu.c:109 +#: src/layout_util.c:1302 src/menu.c:109 msgid "_Edit" msgstr "_Bearbeiten" -#: src/layout_util.c:1144 +#: src/layout_util.c:1303 msgid "_Select" msgstr "_Auswahl" -#: src/layout_util.c:1145 src/menu.c:281 +#: src/layout_util.c:1304 src/menu.c:281 msgid "_Adjust" msgstr "_Ausrichten" -#: src/layout_util.c:1146 +#: src/layout_util.c:1305 msgid "E_xternal Editors" msgstr "" -#: src/layout_util.c:1148 +#: src/layout_util.c:1307 msgid "_View Directory as" msgstr "" -#: src/layout_util.c:1149 +#: src/layout_util.c:1308 msgid "_Zoom" msgstr "" -#: src/layout_util.c:1150 +#: src/layout_util.c:1309 +msgid "Color _Management" +msgstr "Farb_verwaltung" + +#: src/layout_util.c:1310 msgid "_Connected Zoom" msgstr "" -#: src/layout_util.c:1151 +#: src/layout_util.c:1311 msgid "_Split" msgstr "" -#: src/layout_util.c:1152 +#: src/layout_util.c:1312 msgid "_Help" msgstr "_Hilfe" -#: src/layout_util.c:1154 +#: src/layout_util.c:1314 msgid "_First Image" msgstr "_Erstes Bild" -#: src/layout_util.c:1155 src/layout_util.c:1156 src/layout_util.c:1157 +#: src/layout_util.c:1315 src/layout_util.c:1316 src/layout_util.c:1317 msgid "_Previous Image" msgstr "_Vorheriges Bild" -#: src/layout_util.c:1158 src/layout_util.c:1159 src/layout_util.c:1160 +#: src/layout_util.c:1318 src/layout_util.c:1319 src/layout_util.c:1320 msgid "_Next Image" msgstr "_Nächstes Bild" -#: src/layout_util.c:1161 +#: src/layout_util.c:1321 msgid "_Last Image" msgstr "_Letztes Bild" -#: src/layout_util.c:1162 +#: src/layout_util.c:1322 msgid "_Back" msgstr "_Zurück" -#: src/layout_util.c:1162 +#: src/layout_util.c:1322 msgid "Back" msgstr "Zurück" -#: src/layout_util.c:1163 +#: src/layout_util.c:1323 msgid "_Home" msgstr "" -#: src/layout_util.c:1163 src/options.c:134 src/ui_bookmark.c:543 +#: src/layout_util.c:1323 src/options.c:134 src/ui_bookmark.c:543 #: src/ui_pathsel.c:1047 msgid "Home" msgstr "Home" -#: src/layout_util.c:1166 +#: src/layout_util.c:1326 msgid "New _window" msgstr "_Neues Fenster" -#: src/layout_util.c:1167 +#: src/layout_util.c:1327 msgid "_New collection" msgstr "Neue Sa_mmlung" -#: src/layout_util.c:1168 +#: src/layout_util.c:1328 msgid "_Open collection..." msgstr "S_ammlung öffnen" -#: src/layout_util.c:1169 +#: src/layout_util.c:1329 msgid "Open _recent" msgstr "Let_zte Sammlung öffnen..." -#: src/layout_util.c:1170 +#: src/layout_util.c:1330 msgid "_Search..." msgstr "_Suchen..." -#: src/layout_util.c:1172 +#: src/layout_util.c:1332 msgid "Pan _view" msgstr "" -#: src/layout_util.c:1173 +#: src/layout_util.c:1333 msgid "_Print..." msgstr "D_rucken..." -#: src/layout_util.c:1174 +#: src/layout_util.c:1334 msgid "N_ew folder..." msgstr "Neues _Verzeichnis..." -#: src/layout_util.c:1181 +#: src/layout_util.c:1341 msgid "_Copy path to clipboard" msgstr "" -#: src/layout_util.c:1183 +#: src/layout_util.c:1343 msgid "_Quit" msgstr "_Beenden" -#: src/layout_util.c:1185 src/menu.c:219 +#: src/layout_util.c:1345 src/menu.c:219 msgid "_Rotate clockwise" msgstr "Drehen um 90° nach _rechts (jpeg)" -#: src/layout_util.c:1186 src/menu.c:222 +#: src/layout_util.c:1346 src/menu.c:222 msgid "Rotate _counterclockwise" msgstr "Drehen um 90° nach _links (jpeg)" -#: src/layout_util.c:1187 +#: src/layout_util.c:1347 msgid "Rotate 1_80" msgstr "Drehen um _180°" -#: src/layout_util.c:1188 src/menu.c:228 +#: src/layout_util.c:1348 src/menu.c:228 msgid "_Mirror" msgstr "S_piegeln" -#: src/layout_util.c:1189 src/menu.c:231 +#: src/layout_util.c:1349 src/menu.c:231 msgid "_Flip" msgstr "_Wasserspiegelung" -#: src/layout_util.c:1190 src/menu.c:234 +#: src/layout_util.c:1350 src/menu.c:234 msgid "Toggle _grayscale" msgstr "" -#: src/layout_util.c:1191 src/menu.c:237 +#: src/layout_util.c:1351 src/menu.c:237 msgid "_Original state" msgstr "" -#: src/layout_util.c:1193 +#: src/layout_util.c:1353 msgid "Select _all" msgstr "_Alles auswählen" -#: src/layout_util.c:1194 +#: src/layout_util.c:1354 msgid "Select _none" msgstr "_Nichts auswählen" -#: src/layout_util.c:1195 +#: src/layout_util.c:1355 msgid "_Invert Selection" msgstr "Auswahl umkehren" -#: src/layout_util.c:1197 +#: src/layout_util.c:1357 msgid "P_references..." msgstr "_Einstellungen..." -#: src/layout_util.c:1198 +#: src/layout_util.c:1358 msgid "Configure _Editors..." msgstr "Editoren einrichten" -#: src/layout_util.c:1199 +#: src/layout_util.c:1359 msgid "_Configure this window..." msgstr "Dieses Fenster einrichten" -#: src/layout_util.c:1200 +#: src/layout_util.c:1360 msgid "_Thumbnail maintenance..." msgstr "_Vorschaubilder+Metadaten" -#: src/layout_util.c:1203 src/layout_util.c:1204 +#: src/layout_util.c:1363 src/layout_util.c:1364 msgid "Zoom in" msgstr "Vergrößern" -#: src/layout_util.c:1205 src/layout_util.c:1206 +#: src/layout_util.c:1365 src/layout_util.c:1366 msgid "Zoom out" msgstr "Verkleinern" -#: src/layout_util.c:1207 src/layout_util.c:1208 +#: src/layout_util.c:1367 src/layout_util.c:1368 msgid "Zoom 1:1" -msgstr "" - -#: src/layout_util.c:1209 src/layout_util.c:1210 src/layout_util.c:1226 -#: src/layout_util.c:1227 +msgstr "Originalgröße" + +#: src/layout_util.c:1369 src/layout_util.c:1370 src/layout_util.c:1386 +#: src/layout_util.c:1387 msgid "_Zoom to fit" msgstr "In _Fenster einpassen" -#: src/layout_util.c:1209 src/layout_util.c:1210 +#: src/layout_util.c:1369 src/layout_util.c:1370 msgid "Zoom to fit" msgstr "" -#: src/layout_util.c:1211 src/layout_util.c:1228 +#: src/layout_util.c:1371 src/layout_util.c:1388 msgid "Fit _Horizontally" msgstr "" -#: src/layout_util.c:1212 src/layout_util.c:1229 +#: src/layout_util.c:1372 src/layout_util.c:1389 msgid "Fit _Vertically" msgstr "" -#: src/layout_util.c:1213 src/layout_util.c:1230 +#: src/layout_util.c:1373 src/layout_util.c:1390 msgid "Zoom _2:1" -msgstr "Zoom 2:1" - -#: src/layout_util.c:1214 src/layout_util.c:1231 +msgstr "Zoom _2:1" + +#: src/layout_util.c:1374 src/layout_util.c:1391 msgid "Zoom _3:1" -msgstr "Zoom 3:1" - -#: src/layout_util.c:1215 src/layout_util.c:1232 +msgstr "Zoom _3:1" + +#: src/layout_util.c:1375 src/layout_util.c:1392 msgid "Zoom _4:1" -msgstr "Zoom 4:1" - -#: src/layout_util.c:1216 src/layout_util.c:1233 +msgstr "Zoom _4:1" + +#: src/layout_util.c:1376 src/layout_util.c:1393 msgid "Zoom 1:2" msgstr "Zoom 1:2" -#: src/layout_util.c:1217 src/layout_util.c:1234 +#: src/layout_util.c:1377 src/layout_util.c:1394 msgid "Zoom 1:3" msgstr "Zoom 1:3" -#: src/layout_util.c:1218 src/layout_util.c:1235 +#: src/layout_util.c:1378 src/layout_util.c:1395 msgid "Zoom 1:4" msgstr "Zoom 1:4" -#: src/layout_util.c:1238 +#: src/layout_util.c:1398 msgid "_View in new window" msgstr "In _neuem Fenster anzeigen" -#: src/layout_util.c:1240 src/layout_util.c:1241 src/layout_util.c:1242 +#: src/layout_util.c:1400 src/layout_util.c:1401 src/layout_util.c:1402 msgid "F_ull screen" msgstr "_Vollbildmodus" -#: src/layout_util.c:1243 src/layout_util.c:1244 +#: src/layout_util.c:1403 src/layout_util.c:1404 msgid "Escape" msgstr "Verlassen" -#: src/layout_util.c:1245 +#: src/layout_util.c:1405 msgid "_Image Overlay" msgstr "Informationen im Bild" -#: src/layout_util.c:1246 +#: src/layout_util.c:1406 msgid "Histogram _channels" msgstr "Histogramm Kanäle" -#: src/layout_util.c:1247 +#: src/layout_util.c:1407 msgid "Histogram _log mode" msgstr "Histogramm _Log. Modus" -#: src/layout_util.c:1248 +#: src/layout_util.c:1408 msgid "_Hide file list" msgstr "Datei_liste verbergen" -#: src/layout_util.c:1249 +#: src/layout_util.c:1409 msgid "_Pause slideshow" msgstr "Diashow unterbrechen" -#: src/layout_util.c:1250 +#: src/layout_util.c:1410 msgid "_Refresh" msgstr "Dateiliste a_ktualisieren" -#: src/layout_util.c:1252 +#: src/layout_util.c:1412 msgid "_Contents" msgstr "_Inhalt" -#: src/layout_util.c:1253 +#: src/layout_util.c:1413 msgid "_Keyboard shortcuts" msgstr "_Tastenkürzel" -#: src/layout_util.c:1254 +#: src/layout_util.c:1414 msgid "_Release notes" msgstr "_Versionsinformationen" -#: src/layout_util.c:1255 +#: src/layout_util.c:1415 msgid "_About" msgstr "_Info" -#: src/layout_util.c:1256 +#: src/layout_util.c:1416 msgid "_Log Window" msgstr "Protokollfenster" -#: src/layout_util.c:1258 +#: src/layout_util.c:1418 msgid "E_xif window" msgstr "E_XIF-Fenster" -#: src/layout_util.c:1263 +#: src/layout_util.c:1423 msgid "Show _Thumbnails" msgstr "Vorschaubilder anzeigen" -#: src/layout_util.c:1263 +#: src/layout_util.c:1423 msgid "Show Thumbnails" msgstr "Vorschaubilder anzeigen" -#: src/layout_util.c:1264 +#: src/layout_util.c:1424 msgid "Show _Marks" msgstr "Zeige Markierungen" -#: src/layout_util.c:1265 +#: src/layout_util.c:1425 msgid "_Float file list" msgstr "_Werkzeuge schwebend" -#: src/layout_util.c:1266 +#: src/layout_util.c:1426 msgid "Hide tool_bar" msgstr "Werk_zeugleiste verbergen" -#: src/layout_util.c:1267 +#: src/layout_util.c:1427 msgid "Hide Pi_xel Info" msgstr "Verberge Pi_xel-Informationen" -#: src/layout_util.c:1268 +#: src/layout_util.c:1428 msgid "_Info" msgstr "Informationen" -#: src/layout_util.c:1269 +#: src/layout_util.c:1429 msgid "Sort _manager" msgstr "Sortier-_Manager" -#: src/layout_util.c:1270 +#: src/layout_util.c:1430 msgid "Toggle _slideshow" msgstr "Dia_show umschalten" -#: src/layout_util.c:1274 +#: src/layout_util.c:1436 msgid "View Images as _List" msgstr "Zeige Bilder als _Liste" -#: src/layout_util.c:1275 +#: src/layout_util.c:1437 msgid "View Images as I_cons" msgstr "Zeige Bilder als Vors_chaubilder" -#: src/layout_util.c:1279 +#: src/layout_util.c:1441 msgid "Horizontal" msgstr "Horizontal" -#: src/layout_util.c:1280 +#: src/layout_util.c:1442 msgid "Vertical" msgstr "Vertikal" -#: src/layout_util.c:1281 +#: src/layout_util.c:1443 msgid "Quad" msgstr "Vierfach" -#: src/layout_util.c:1282 +#: src/layout_util.c:1444 msgid "Single" msgstr "Einzeln" -#: src/layout_util.c:1514 +#: src/layout_util.c:1448 +msgid "Input _0: sRGB" +msgstr "" + +#: src/layout_util.c:1449 +msgid "Input _1: AdobeRGB compatible" +msgstr "Eingabe_1: AdobeRGB-kompatibel" + +#: src/layout_util.c:1450 +msgid "Input _2" +msgstr "" + +#: src/layout_util.c:1451 +msgid "Input _3" +msgstr "" + +#: src/layout_util.c:1452 +msgid "Input _4" +msgstr "" + +#: src/layout_util.c:1453 +msgid "Input _5" +msgstr "" + +#: src/layout_util.c:1694 #, c-format msgid "Mark _%d" msgstr "Markierung _%d" -#: src/layout_util.c:1515 src/view_file.c:523 +#: src/layout_util.c:1695 src/view_file.c:523 #, c-format msgid "_Set mark %d" msgstr "_Setze Markierung %d" -#: src/layout_util.c:1516 src/view_file.c:524 +#: src/layout_util.c:1696 src/view_file.c:524 #, c-format msgid "_Reset mark %d" msgstr "Entfe_rne Markierung %d" -#: src/layout_util.c:1517 src/layout_util.c:1518 src/view_file.c:525 +#: src/layout_util.c:1697 src/layout_util.c:1698 src/view_file.c:525 #, c-format msgid "_Toggle mark %d" msgstr "Markierung %d umschal_ten" -#: src/layout_util.c:1519 src/layout_util.c:1520 src/view_file.c:526 +#: src/layout_util.c:1699 src/layout_util.c:1700 src/view_file.c:526 #, c-format msgid "_Select mark %d" msgstr "Wähle Bilder mit Markierung %d aus" -#: src/layout_util.c:1521 src/view_file.c:527 +#: src/layout_util.c:1701 src/view_file.c:527 #, c-format msgid "_Add mark %d" -msgstr "Füge Bilderr mit Markierung %d zur Auswahl hinzu" - -#: src/layout_util.c:1522 src/view_file.c:528 +msgstr "Füge Bilder mit Markierung %d zur Auswahl hinzu" + +#: src/layout_util.c:1702 src/view_file.c:528 #, c-format msgid "_Intersection with mark %d" msgstr "Schnittmenge mit Markierung %d wählen" -#: src/layout_util.c:1523 src/view_file.c:529 +#: src/layout_util.c:1703 src/view_file.c:529 #, c-format msgid "_Unselect mark %d" msgstr "Bilder mit Markierung %d abwählen" @@ -3023,7 +3069,7 @@ msgid "Filename:" msgstr "Dateiname:" -#: src/pan-view.c:1544 src/pan-view.c:2380 src/preferences.c:1086 +#: src/pan-view.c:1544 src/pan-view.c:2380 src/preferences.c:1087 msgid "Location:" msgstr "Position:" @@ -3031,7 +3077,7 @@ msgid "Date:" msgstr "Datum:" -#: src/pan-view.c:1548 src/preferences.c:910 src/print.c:3262 src/print.c:3473 +#: src/pan-view.c:1548 src/preferences.c:911 src/print.c:3262 src/print.c:3473 msgid "Size:" msgstr "Größe:" @@ -3150,7 +3196,7 @@ "Optionen eingeschaltet sein müssen um eine Geschwindigkeitsveränderung zu " "erreichen." -#: src/pan-view.c:2598 src/preferences.c:913 +#: src/pan-view.c:2598 src/preferences.c:914 msgid "Cache thumbnails" msgstr "Vorschaubilder speichern" @@ -3199,43 +3245,43 @@ "%s" msgstr "" -#: src/preferences.c:434 +#: src/preferences.c:435 msgid "Nearest (worst, but fastest)" msgstr "Sparsam (schlecht, aber schnell)" -#: src/preferences.c:436 +#: src/preferences.c:437 msgid "Tiles" msgstr "Kacheln" -#: src/preferences.c:438 +#: src/preferences.c:439 msgid "Bilinear" msgstr "Bilinear" -#: src/preferences.c:440 +#: src/preferences.c:441 msgid "Hyper (best, but slowest)" msgstr "Hyper (sehr gut, aber langsam)" -#: src/preferences.c:468 +#: src/preferences.c:469 msgid "None" msgstr "Keine" -#: src/preferences.c:469 +#: src/preferences.c:470 msgid "Normal" msgstr "Normal" -#: src/preferences.c:470 +#: src/preferences.c:471 msgid "Best" msgstr "Am Besten" -#: src/preferences.c:532 src/print.c:380 +#: src/preferences.c:533 src/print.c:380 msgid "Custom" msgstr "Eigenes" -#: src/preferences.c:774 src/preferences.c:777 +#: src/preferences.c:775 src/preferences.c:778 msgid "Reset filters" msgstr "Filter entfernen" -#: src/preferences.c:778 +#: src/preferences.c:779 msgid "" "This will reset the file filters to the defaults.\n" "Continue?" @@ -3243,208 +3289,208 @@ "Die Filter werden auf die Standardeinstellungen zurückgesetzt.\n" "Fortfahren?" -#: src/preferences.c:805 src/preferences.c:808 +#: src/preferences.c:806 src/preferences.c:809 msgid "Clear trash" msgstr "Papierkorb leeren" -#: src/preferences.c:809 +#: src/preferences.c:810 msgid "This will remove the trash contents." msgstr "" "Der gesamte Inhalt des Papierkorbes im folgenden\n" "Verzeichnis wird gelöscht." -#: src/preferences.c:853 src/preferences.c:856 +#: src/preferences.c:854 src/preferences.c:857 msgid "Reset image overlay template string" msgstr "" -#: src/preferences.c:857 +#: src/preferences.c:858 msgid "" "This will reset the image overlay template string to the default.\n" "Continue?" msgstr "" -#: src/preferences.c:905 +#: src/preferences.c:906 msgid "General" msgstr "Allgemein" -#: src/preferences.c:911 src/preferences.c:984 +#: src/preferences.c:912 src/preferences.c:985 msgid "Quality:" msgstr "Qualität:" -#: src/preferences.c:919 +#: src/preferences.c:920 msgid "Use standard thumbnail cache, shared with other applications" msgstr "" -#: src/preferences.c:925 +#: src/preferences.c:926 msgid "" "Store thumbnails in '.thumbnails' folder, local to image folder (non-" "standard)" msgstr "" -#: src/preferences.c:929 +#: src/preferences.c:930 msgid "Use xvpics thumbnails when found (read only)" msgstr "xvpics-Vorschaubilder benutzen, wenn gefunden (nur Lesezugriff)" -#: src/preferences.c:933 +#: src/preferences.c:934 msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)" msgstr "" "Benutze EXIF-Vorschaubilder wenn vorhanden (EXIF-Vorschaubilder könnten " "veraltet sein)" -#: src/preferences.c:936 +#: src/preferences.c:937 msgid "Slide show" msgstr "Diashow" -#: src/preferences.c:939 +#: src/preferences.c:940 msgid "Delay between image change:" msgstr "Pause zwischen dem Bildwechsel:" -#: src/preferences.c:939 +#: src/preferences.c:940 msgid "seconds" msgstr "Sekunden" -#: src/preferences.c:945 +#: src/preferences.c:946 msgid "Random" msgstr "Zufall" -#: src/preferences.c:946 +#: src/preferences.c:947 msgid "Repeat" msgstr "Wiederholung" -#: src/preferences.c:948 +#: src/preferences.c:949 msgid "Image loading and caching" msgstr "" -#: src/preferences.c:951 +#: src/preferences.c:952 msgid "Offscreen cache size (Mb per image):" msgstr "Cache-Größe für Bildbereiche außerhalb des Fensters (MB je Fenster):" -#: src/preferences.c:955 +#: src/preferences.c:956 msgid "Decoded image cache size (Mb):" msgstr "" -#: src/preferences.c:957 +#: src/preferences.c:958 msgid "Preload next image" -msgstr "Nächstes Bild vorladen" - -#: src/preferences.c:960 +msgstr "Lade nächstes Bild im Hintergrund" + +#: src/preferences.c:961 msgid "Refresh on file change" msgstr "Dateiliste bei Änderung aktualisieren" -#: src/preferences.c:978 +#: src/preferences.c:979 msgid "Zoom" msgstr "Zoom" -#: src/preferences.c:981 +#: src/preferences.c:982 msgid "Dithering method:" msgstr "Ditheringmethode:" -#: src/preferences.c:986 +#: src/preferences.c:987 msgid "Two pass rendering (apply HQ zoom and color correction in second pass)" msgstr "" -#: src/preferences.c:989 +#: src/preferences.c:990 msgid "Allow enlargement of image for zoom to fit" msgstr "Bild wenn nötig auch vergrößern, damit Zoomstufe erreicht werden kann" -#: src/preferences.c:993 +#: src/preferences.c:994 msgid "Limit image size when autofitting (%):" msgstr "Größe begrenzen bei automat. Anpassung (%):" -#: src/preferences.c:1001 +#: src/preferences.c:1002 msgid "Zoom increment:" -msgstr "Zoomzunahme:" - -#: src/preferences.c:1006 +msgstr "Zoomstufen:" + +#: src/preferences.c:1007 msgid "When new image is selected:" msgstr "Wenn neues Bild ausgewählt wird:" -#: src/preferences.c:1010 +#: src/preferences.c:1011 msgid "Zoom to original size" msgstr "Zu Ausgangsgröße zoomen" -#: src/preferences.c:1013 +#: src/preferences.c:1014 msgid "Fit image to window" msgstr "In Fenster einpassen" -#: src/preferences.c:1016 +#: src/preferences.c:1017 msgid "Leave Zoom at previous setting" msgstr "Zoom bei vorheriger Einstellung belassen" -#: src/preferences.c:1022 +#: src/preferences.c:1023 msgid "Scroll to top left corner" msgstr "" -#: src/preferences.c:1025 +#: src/preferences.c:1026 msgid "Scroll to image center" msgstr "" -#: src/preferences.c:1028 +#: src/preferences.c:1029 msgid "Keep the region from previous image" msgstr "" -#: src/preferences.c:1033 +#: src/preferences.c:1034 msgid "Appearance" msgstr "Bildansicht" -#: src/preferences.c:1035 +#: src/preferences.c:1036 msgid "Custom border color" msgstr "Angepaßte Rahmenfarbe" -#: src/preferences.c:1038 +#: src/preferences.c:1039 msgid "Border color" msgstr "Rahmenfarbe" -#: src/preferences.c:1041 +#: src/preferences.c:1042 msgid "Convenience" msgstr "Nützliches" -#: src/preferences.c:1043 +#: src/preferences.c:1044 msgid "Auto rotate image using Exif information" msgstr "Automatisch gemäß Exif-Daten drehen" -#: src/preferences.c:1060 +#: src/preferences.c:1061 msgid "Windows" msgstr "Fenster" -#: src/preferences.c:1062 +#: src/preferences.c:1063 msgid "State" msgstr "Status" -#: src/preferences.c:1064 +#: src/preferences.c:1065 msgid "Remember window positions" msgstr "Fensterpositionen merken" -#: src/preferences.c:1066 +#: src/preferences.c:1067 msgid "Remember tool state (float/hidden)" msgstr "Werkzeugstatus merken (schwebend/verborgen)" -#: src/preferences.c:1071 +#: src/preferences.c:1072 msgid "Fit window to image when tools are hidden/floating" msgstr "Bild in Fenster einpassen, wenn Werkzeuge verborgen/schwebend sind" -#: src/preferences.c:1075 +#: src/preferences.c:1076 msgid "Limit size when auto-sizing window (%):" msgstr "Größe begrenzen bei automat. Anpassung (%):" -#: src/preferences.c:1090 +#: src/preferences.c:1091 msgid "Smooth image flip" msgstr "" "Glatter Bildwechsel (nächstes Bild erst anzeigen, wenn komplett geladen)" -#: src/preferences.c:1092 +#: src/preferences.c:1093 msgid "Disable screen saver" msgstr "Bildschirmschoner deaktivieren" -#: src/preferences.c:1096 +#: src/preferences.c:1097 msgid "Overlay Screen Display" msgstr "" -#: src/preferences.c:1098 +#: src/preferences.c:1099 msgid "Image overlay template" msgstr "" -#: src/preferences.c:1112 +#: src/preferences.c:1113 msgid "" "<i>%name%</i> results in the filename of the picture.\n" "Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%" @@ -3484,222 +3530,230 @@ "Eine leere Zeile wird entfernt. Das erlaubt es, Zeilen hinzuzufügen, die " "komplett verschwinden, wenn keine Daten verfügbar sind.\n" -#: src/preferences.c:1129 src/preferences.c:1302 +#: src/preferences.c:1130 src/preferences.c:1303 msgid "Defaults" msgstr "Standardeinstellungen" -#: src/preferences.c:1183 +#: src/preferences.c:1184 msgid "Show hidden files or folders" msgstr "Zeige versteckte Dateien und Verzeichnisse" -#: src/preferences.c:1186 +#: src/preferences.c:1187 msgid "Show dot directory" msgstr "Zeige Punkt-Verzeichnisse" -#: src/preferences.c:1189 +#: src/preferences.c:1190 msgid "Case sensitive sort" msgstr "Groß- und Kleinschreibung beim Sortieren beachten" -#: src/preferences.c:1192 +#: src/preferences.c:1193 msgid "Disable File Filtering" msgstr "Dateifilter deaktivieren" -#: src/preferences.c:1196 +#: src/preferences.c:1197 msgid "Grouping sidecar extensions" msgstr "" -#: src/preferences.c:1203 +#: src/preferences.c:1204 msgid "File types" msgstr "Dateitypen" -#: src/preferences.c:1225 +#: src/preferences.c:1226 msgid "Filter" msgstr "Filter" -#: src/preferences.c:1257 +#: src/preferences.c:1258 msgid "Class" msgstr "" -#: src/preferences.c:1274 +#: src/preferences.c:1275 msgid "Writable" msgstr "Schreibbar" -#: src/preferences.c:1285 +#: src/preferences.c:1286 msgid "Sidecar is allowed" msgstr "" -#: src/preferences.c:1330 +#: src/preferences.c:1331 msgid "" "Store metadata in '.metadata' folder, local to image folder (non-standard)" msgstr "" -#: src/preferences.c:1333 +#: src/preferences.c:1334 msgid "Store keywords and comments as XMP tags in image files (standard)" msgstr "" -#: src/preferences.c:1339 +#: src/preferences.c:1340 msgid "Store keywords and comments also in legacy IPTC tags" msgstr "" -#: src/preferences.c:1342 +#: src/preferences.c:1343 msgid "Warn if the image files are unwritable" msgstr "" -#: src/preferences.c:1345 +#: src/preferences.c:1346 msgid "Ask before writing to image files" msgstr "" -#: src/preferences.c:1348 +#: src/preferences.c:1349 msgid "Save metadata in GQview legacy metadata format" msgstr "" -#: src/preferences.c:1351 +#: src/preferences.c:1352 msgid "Write the same keywords and comment to all files in a group" msgstr "" -#: src/preferences.c:1354 +#: src/preferences.c:1355 msgid "Write metadata after timeout" msgstr "" -#: src/preferences.c:1360 +#: src/preferences.c:1361 msgid "Timeout (seconds):" msgstr "" -#: src/preferences.c:1363 +#: src/preferences.c:1364 msgid "Write metadata on image change" msgstr "" -#: src/preferences.c:1366 +#: src/preferences.c:1367 msgid "Write metadata on directory change" msgstr "" -#: src/preferences.c:1369 +#: src/preferences.c:1370 msgid "Allow keywords to differ only in case" msgstr "" -#: src/preferences.c:1383 +#: src/preferences.c:1384 msgid "Color management" msgstr "Farbverwaltung" -#: src/preferences.c:1385 -msgid "Color profiles" -msgstr "" - -#: src/preferences.c:1393 +#: src/preferences.c:1386 +msgid "Input profiles" +msgstr "Quellprofil" + +#: src/preferences.c:1394 msgid "Type" msgstr "" -#: src/preferences.c:1396 +#: src/preferences.c:1397 msgid "Menu name" msgstr "Menüname" -#: src/preferences.c:1399 +#: src/preferences.c:1400 msgid "File" msgstr "Datei" -#: src/preferences.c:1424 src/preferences.c:1435 +#: src/preferences.c:1425 src/preferences.c:1445 msgid "Select color profile" msgstr "Farbprofil wählen" -#: src/preferences.c:1432 +#: src/preferences.c:1433 +msgid "Screen profile" +msgstr "Bildschirmprofil " + +#: src/preferences.c:1437 +msgid "Use system screen profile if available" +msgstr "" + +#: src/preferences.c:1442 msgid "Screen:" msgstr "" -#: src/preferences.c:1454 src/preferences.c:1497 +#: src/preferences.c:1464 src/preferences.c:1507 msgid "Behavior" msgstr "Verhalten" -#: src/preferences.c:1456 src/utilops.c:1650 +#: src/preferences.c:1466 src/utilops.c:1650 msgctxt "physical" msgid "Delete" msgstr "Löschen" -#: src/preferences.c:1458 +#: src/preferences.c:1468 msgid "Confirm file delete" msgstr "Dateilöschung bestätigen" -#: src/preferences.c:1460 +#: src/preferences.c:1470 msgid "Enable Delete key" msgstr "Entfernen-Taste zum Löschen verwenden" -#: src/preferences.c:1463 +#: src/preferences.c:1473 msgid "Safe delete" msgstr "Papierkorb verwenden" -#: src/preferences.c:1481 +#: src/preferences.c:1491 msgid "Maximum size:" msgstr "maximale Größe:" -#: src/preferences.c:1481 +#: src/preferences.c:1491 msgid "MB" msgstr "MB" -#: src/preferences.c:1484 +#: src/preferences.c:1494 msgid "Set to 0 for unlimited size" msgstr "" -#: src/preferences.c:1486 +#: src/preferences.c:1496 msgid "View" msgstr "Ansicht" -#: src/preferences.c:1499 +#: src/preferences.c:1509 msgid "Rectangular selection in icon view" msgstr "rechteckige Auswahl in der Icon-Ansicht (bei Verwendung der Tastatur)" -#: src/preferences.c:1502 +#: src/preferences.c:1512 msgid "Descend folders in tree view" msgstr "Verzeichnisstruktur beim Start lesen" -#: src/preferences.c:1505 +#: src/preferences.c:1515 msgid "In place renaming" msgstr "schnelles Umbenennen (ohne Dialogfenster)" -#: src/preferences.c:1508 +#: src/preferences.c:1518 msgid "Open recent list maximum size" msgstr "" -#: src/preferences.c:1511 +#: src/preferences.c:1521 msgid "Drag'n drop icon size" msgstr "" -#: src/preferences.c:1514 +#: src/preferences.c:1524 msgid "Navigation" msgstr "Steuerung" -#: src/preferences.c:1516 +#: src/preferences.c:1526 msgid "Progressive keyboard scrolling" msgstr "beschleunigtes Scrollen bei Verwendung der Pfeiltasten" -#: src/preferences.c:1518 +#: src/preferences.c:1528 msgid "Mouse wheel scrolls image" msgstr "" "Mausrad scrollt Bild vertikal statt Bildwechsel (Bildwechsel mit Shift)" -#: src/preferences.c:1521 +#: src/preferences.c:1531 msgid "Miscellaneous" msgstr "Verschiedenes" -#: src/preferences.c:1523 +#: src/preferences.c:1533 msgid "Custom similarity threshold:" msgstr "Eigene Ähnlichkeitsschwelle für die Suche nach gleichen Bildern:" -#: src/preferences.c:1528 +#: src/preferences.c:1538 msgid "Debugging" msgstr "" -#: src/preferences.c:1530 +#: src/preferences.c:1540 msgid "Debug level:" msgstr "" -#: src/preferences.c:1546 +#: src/preferences.c:1556 msgid "Preferences" msgstr "Einstellungen" -#: src/preferences.c:1675 +#: src/preferences.c:1685 msgid "About" msgstr "Über" -#: src/preferences.c:1692 +#: src/preferences.c:1702 #, c-format msgid "" "%s %s\n" @@ -3720,7 +3774,7 @@ "\n" "Freigegeben unter der GNU General Public License" -#: src/preferences.c:1711 +#: src/preferences.c:1721 msgid "Credits..." msgstr "Mitwirkende..." @@ -4228,7 +4282,7 @@ #: src/search.c:2733 msgid "Image dimensions are" -msgstr "Bildauflösung ist" +msgstr "Bildgröße ist" #: src/search.c:2754 msgid "Image content is"
--- a/po/fr.po Fri May 01 15:49:06 2009 +0900 +++ b/po/fr.po Fri May 01 15:49:32 2009 +0900 @@ -13,8 +13,8 @@ msgstr "" "Project-Id-Version: geeqie-1.0alpha\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-12 16:58+0200\n" -"PO-Revision-Date: 2009-04-12 17:06+0100\n" +"POT-Creation-Date: 2009-04-28 23:29+0200\n" +"PO-Revision-Date: 2009-04-28 23:30+0100\n" "Last-Translator: Laurent Monin <i18n@norz.org>\n" "Language-Team: french <geeqie-devel@lists.sourceforge.net>\n" "MIME-Version: 1.0\n" @@ -24,13 +24,14 @@ "X-Poedit-Language: French\n" "X-Poedit-Country: FRANCE\n" "X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-Basepath: .\n" #: src/advanced_exif.c:389 src/cache_maint.c:1284 src/preferences.c:86 -#: src/preferences.c:1326 src/preferences.c:1328 +#: src/preferences.c:1328 src/preferences.c:1330 msgid "Metadata" msgstr "Méta-données" -#: src/advanced_exif.c:437 src/preferences.c:1245 +#: src/advanced_exif.c:437 src/preferences.c:1247 msgid "Description" msgstr "Description" @@ -38,8 +39,8 @@ msgid "Value" msgstr "Valeur" -#: src/advanced_exif.c:439 src/desktop_file.c:509 src/dupe.c:2653 -#: src/dupe.c:3167 src/print.c:3249 src/search.c:2848 src/utilops.c:439 +#: src/advanced_exif.c:439 src/desktop_file.c:512 src/dupe.c:2653 +#: src/dupe.c:3167 src/print.c:3249 src/search.c:2848 src/utilops.c:446 #: src/view_file_list.c:2022 src/view_file_list.c:2026 msgid "Name" msgstr "Nom" @@ -118,43 +119,43 @@ msgid "Replace existing text in selected files" msgstr "Remplacer le texte existant dans les fichiers sélectionnés" -#: src/bar_exif.c:536 src/bar_exif.c:546 +#: src/bar_exif.c:532 src/bar_exif.c:542 msgid "Configure entry" msgstr "Configurer l'entrée" #. for the pane -#: src/bar_exif.c:536 src/bar_exif.c:546 src/bar_exif.c:619 +#: src/bar_exif.c:532 src/bar_exif.c:542 src/bar_exif.c:615 msgid "Add entry" msgstr "Ajouter l'entrée" -#: src/bar_exif.c:552 +#: src/bar_exif.c:548 msgid "Key:" msgstr "Clé:" -#: src/bar_exif.c:561 +#: src/bar_exif.c:557 msgid "Title:" msgstr "Titre:" -#: src/bar_exif.c:570 +#: src/bar_exif.c:566 msgid "Show only if set" msgstr "Montrer seulement si défini" -#: src/bar_exif.c:571 +#: src/bar_exif.c:567 msgid "Editable (supported only for XMP)" msgstr "Modifiable (seulement pour XMP)" #. for the entry -#: src/bar_exif.c:607 +#: src/bar_exif.c:603 #, c-format msgid "Configure \"%s\"" msgstr "Configurer « %s »" -#: src/bar_exif.c:608 src/bar_keywords.c:1135 +#: src/bar_exif.c:604 src/bar_keywords.c:1135 #, c-format msgid "Remove \"%s\"" msgstr "Enlever « %s »" -#: src/bar_exif.c:620 +#: src/bar_exif.c:616 msgid "Show hidden entries" msgstr "Montrer les entrées cachées" @@ -328,15 +329,15 @@ msgid "Folders" msgstr "Dossiers" -#: src/bar_sort.c:607 src/options.c:138 +#: src/bar_sort.c:607 src/options.c:139 msgid "Collections" msgstr "Collections" -#: src/bar_sort.c:615 src/utilops.c:1773 +#: src/bar_sort.c:615 src/utilops.c:2080 msgid "Copy" msgstr "Copier" -#: src/bar_sort.c:618 src/utilops.c:1732 +#: src/bar_sort.c:618 src/utilops.c:2039 msgid "Move" msgstr "Déplacer" @@ -398,7 +399,7 @@ msgid "S_tart" msgstr "Dé_but" -#: src/cache_maint.c:886 src/preferences.c:1470 +#: src/cache_maint.c:886 src/preferences.c:1484 msgid "Folder:" msgstr "Dossier :" @@ -484,110 +485,6 @@ msgid "Remove orphaned keywords and comments." msgstr "Supprimer les mots-clés et commentaires orphelins." -#: src/cellrenderericon.c:152 -msgid "Pixbuf Object" -msgstr "Objet Pixbuf" - -#: src/cellrenderericon.c:153 -msgid "The pixbuf to render" -msgstr "Le pixbuf à rendre" - -#: src/cellrenderericon.c:160 src/print.c:3456 -msgid "Text" -msgstr "Texte" - -#: src/cellrenderericon.c:161 -msgid "Text to render" -msgstr "Texte à rendre" - -#: src/cellrenderericon.c:168 -msgid "Background color" -msgstr "Couleur du fond" - -#: src/cellrenderericon.c:169 -msgid "Background color as a GdkColor" -msgstr "Couleur d'arrière-plan en tant que GdkColor" - -#: src/cellrenderericon.c:176 -msgid "Foreground color" -msgstr "Couleur de premier plan" - -#: src/cellrenderericon.c:177 -msgid "Foreground color as a GdkColor" -msgstr "Couleur de premier plan en tant que GdkColor" - -#: src/cellrenderericon.c:184 -msgid "Focus" -msgstr "Focus" - -#: src/cellrenderericon.c:185 -msgid "Draw focus indicator" -msgstr "Dessiner l'indicateur de focus" - -#: src/cellrenderericon.c:192 -msgid "Fixed width" -msgstr "Largeur fixe" - -#: src/cellrenderericon.c:193 -msgid "Width of cell" -msgstr "Largeur de cellule" - -#: src/cellrenderericon.c:201 -msgid "Fixed height" -msgstr "Hauteur fixe" - -#: src/cellrenderericon.c:202 -msgid "Height of icon excluding text" -msgstr "Hauteur de l'icone sans le texte" - -#: src/cellrenderericon.c:210 -msgid "Background set" -msgstr "Arrière-plan défini" - -#: src/cellrenderericon.c:211 -msgid "Whether this tag affects the background color" -msgstr "Indique si cette balise affecte la couleur de fond" - -#: src/cellrenderericon.c:218 -msgid "Foreground set" -msgstr "Premier plan défini" - -#: src/cellrenderericon.c:219 -msgid "Whether this tag affects the foreground color" -msgstr "Indique si cette balise affecte la couleur d'avant-plan" - -#: src/cellrenderericon.c:226 -msgid "Show text" -msgstr "Montrer le texte" - -#: src/cellrenderericon.c:227 -msgid "Whether the text is displayed" -msgstr "Indique si ce texte est caché." - -#: src/cellrenderericon.c:234 -msgid "Show marks" -msgstr "Montrer les marques" - -#: src/cellrenderericon.c:235 -msgid "Whether the marks are displayed" -msgstr "Indique si les marques doivent être affichées" - -#: src/cellrenderericon.c:242 src/cellrenderericon.c:243 -msgid "Number of marks" -msgstr "Nombre de marques" - -#: src/cellrenderericon.c:251 -msgid "Marks" -msgstr "Marques" - -#: src/cellrenderericon.c:252 -msgid "Marks bit array" -msgstr "Tableau de bits pour les marques" - -#: src/cellrenderericon.c:260 src/cellrenderericon.c:261 -msgid "Toggled mark" -msgstr "Marque basculée" - #: src/collect-dlg.c:59 #, c-format msgid "" @@ -686,7 +583,8 @@ msgid "%s, %d images" msgstr "%s, %d images" -#: src/collect-table.c:223 src/layout.c:463 src/layout_util.c:1101 +#: src/collect-table.c:223 src/layout_util.c:1094 src/layout_util.c:1260 +#: src/layout_util.c:2067 msgid "Empty" msgstr "Vide" @@ -697,7 +595,7 @@ msgstr "Chargement des vignettes ..." #: src/collect-table.c:872 src/dupe.c:2250 src/dupe.c:2561 -#: src/layout_util.c:1147 src/search.c:1006 +#: src/layout_util.c:1306 src/search.c:1006 msgid "_View" msgstr "_Affichage" @@ -736,26 +634,26 @@ msgstr "Inverser la sélection" #: src/collect-table.c:904 src/dupe.c:2273 src/img-view.c:1295 -#: src/layout_image.c:516 src/layout_util.c:1175 src/pan-view.c:2822 +#: src/layout_image.c:516 src/layout_util.c:1335 src/pan-view.c:2822 #: src/search.c:1025 src/view_file.c:575 msgid "_Copy..." msgstr "_Copier ..." #: src/collect-table.c:906 src/dupe.c:2275 src/img-view.c:1296 -#: src/layout_image.c:518 src/layout_util.c:1176 src/pan-view.c:2824 +#: src/layout_image.c:518 src/layout_util.c:1336 src/pan-view.c:2824 #: src/search.c:1027 src/view_file.c:577 msgid "_Move..." msgstr "_Déplacer ..." #: src/collect-table.c:908 src/dupe.c:2277 src/img-view.c:1297 -#: src/layout_image.c:520 src/layout_util.c:1177 src/pan-view.c:2826 +#: src/layout_image.c:520 src/layout_util.c:1337 src/pan-view.c:2826 #: src/search.c:1029 src/view_dir.c:616 src/view_file.c:579 msgid "_Rename..." msgstr "_Renommer ..." #: src/collect-table.c:910 src/dupe.c:2279 src/img-view.c:1298 -#: src/layout_image.c:522 src/layout_util.c:1178 src/layout_util.c:1179 -#: src/layout_util.c:1180 src/pan-view.c:2828 src/search.c:1031 +#: src/layout_image.c:522 src/layout_util.c:1338 src/layout_util.c:1339 +#: src/layout_util.c:1340 src/pan-view.c:2828 src/search.c:1031 #: src/view_dir.c:618 src/view_file.c:581 msgid "_Delete..." msgstr "_Supprimer ..." @@ -786,7 +684,7 @@ msgid "Save collection _as..." msgstr "Enregistrer collection _sous ..." -#: src/collect-table.c:931 src/layout_util.c:1171 +#: src/collect-table.c:931 src/layout_util.c:1331 msgid "_Find duplicates..." msgstr "Rechercher les _doublons ..." @@ -847,6 +745,19 @@ msgid "_Discard" msgstr "_Ignorer" +#: src/color-man.c:420 src/exif-common.c:403 src/exif.c:232 +#: src/layout_util.c:1143 +msgid "sRGB" +msgstr "sRGB" + +#: src/color-man.c:422 +msgid "Adobe RGB compatible" +msgstr "compatible Adobe RGB" + +#: src/color-man.c:430 +msgid "Custom profile" +msgstr "Profil utilisateur" + #: src/desktop_file.c:71 src/desktop_file.c:82 msgid "Can't save" msgstr "Sauvegarde impossible" @@ -855,11 +766,11 @@ msgid "Please specify file name." msgstr "Merci d'indiquer un nom de fichier." -#: src/desktop_file.c:165 src/desktop_file.c:485 +#: src/desktop_file.c:168 src/desktop_file.c:488 msgid "Desktop file" msgstr "Fichier .desktop" -#: src/desktop_file.c:274 src/ui_pathsel.c:494 +#: src/desktop_file.c:277 src/ui_pathsel.c:494 #, c-format msgid "" "Unable to delete file:\n" @@ -868,17 +779,17 @@ "Impossible de supprimer le fichier :\n" "%s" -#: src/desktop_file.c:275 src/ui_pathsel.c:495 src/utilops.c:1634 -#: src/utilops.c:1654 src/utilops.c:2113 +#: src/desktop_file.c:278 src/ui_pathsel.c:495 src/utilops.c:1934 +#: src/utilops.c:1956 src/utilops.c:2424 msgid "File deletion failed" msgstr "La suppression du fichier a échoué" -#: src/desktop_file.c:317 src/desktop_file.c:325 src/ui_pathsel.c:537 +#: src/desktop_file.c:320 src/desktop_file.c:328 src/ui_pathsel.c:537 #: src/ui_pathsel.c:545 msgid "Delete file" msgstr "Supprimer fichier" -#: src/desktop_file.c:323 src/ui_pathsel.c:543 +#: src/desktop_file.c:326 src/ui_pathsel.c:543 #, c-format msgid "" "About to delete the file:\n" @@ -887,19 +798,19 @@ "Sur le point de supprimer le fichier :\n" " %s" -#: src/desktop_file.c:355 +#: src/desktop_file.c:358 msgid "new.desktop" msgstr "nouveau.desktop" -#: src/desktop_file.c:428 +#: src/desktop_file.c:431 msgid "Editors" msgstr "Éditeurs" -#: src/desktop_file.c:494 +#: src/desktop_file.c:497 msgid "Hidden" msgstr "Caché" -#: src/desktop_file.c:518 src/dupe.c:2659 src/dupe.c:3171 src/print.c:3251 +#: src/desktop_file.c:521 src/dupe.c:2659 src/dupe.c:3171 src/print.c:3251 #: src/search.c:2852 src/ui_pathsel.c:1111 msgid "Path" msgstr "Chemin" @@ -971,7 +882,7 @@ msgid "Name case-insensitive" msgstr "Nom insensible à la casse" -#: src/dupe.c:2655 src/dupe.c:3168 src/preferences.c:1069 src/print.c:3255 +#: src/dupe.c:2655 src/dupe.c:3168 src/preferences.c:1071 src/print.c:3255 #: src/search.c:2849 src/view_file_list.c:2030 msgid "Size" msgstr "Taille" @@ -1017,7 +928,7 @@ msgid "Compare by:" msgstr "Comparer par :" -#: src/dupe.c:3224 src/preferences.c:907 src/search.c:2865 +#: src/dupe.c:3224 src/preferences.c:909 src/search.c:2865 msgid "Thumbnails" msgstr "Vignettes" @@ -1156,10 +1067,6 @@ msgid "dot" msgstr "point" -#: src/exif-common.c:403 src/exif.c:232 src/layout.c:513 -msgid "sRGB" -msgstr "sRGB" - #: src/exif-common.c:408 msgid "AdobeRGB" msgstr "AdobeRGB" @@ -1864,7 +1771,7 @@ msgid "source and destination have different extension" msgstr "source et destination ont des extensions différentes" -#: src/fullscreen.c:243 src/preferences.c:1082 +#: src/fullscreen.c:243 src/preferences.c:1084 msgid "Full screen" msgstr "Plein écran" @@ -1946,20 +1853,20 @@ msgid " (Collection %s)" msgstr " (Collection %s)" -#: src/img-view.c:1278 src/layout_image.c:494 src/layout_util.c:1203 -#: src/layout_util.c:1204 src/layout_util.c:1220 src/layout_util.c:1221 +#: src/img-view.c:1278 src/layout_image.c:494 src/layout_util.c:1362 +#: src/layout_util.c:1363 src/layout_util.c:1379 src/layout_util.c:1380 #: src/pan-view.c:2806 msgid "Zoom _in" msgstr "Zoom a_vant" -#: src/img-view.c:1279 src/layout_image.c:495 src/layout_util.c:1205 -#: src/layout_util.c:1206 src/layout_util.c:1222 src/layout_util.c:1223 +#: src/img-view.c:1279 src/layout_image.c:495 src/layout_util.c:1364 +#: src/layout_util.c:1365 src/layout_util.c:1381 src/layout_util.c:1382 #: src/pan-view.c:2808 msgid "Zoom _out" msgstr "Zoom a_rrière" -#: src/img-view.c:1280 src/layout_image.c:496 src/layout_util.c:1207 -#: src/layout_util.c:1208 src/layout_util.c:1224 src/layout_util.c:1225 +#: src/img-view.c:1280 src/layout_image.c:496 src/layout_util.c:1366 +#: src/layout_util.c:1367 src/layout_util.c:1383 src/layout_util.c:1384 #: src/pan-view.c:2810 msgid "Zoom _1:1" msgstr "Taille réelle (_1:1)" @@ -1968,7 +1875,7 @@ msgid "Fit image to _window" msgstr "Mettre à la taille de la _fenêtre" -#: src/img-view.c:1287 src/layout_image.c:504 src/layout_util.c:1201 +#: src/img-view.c:1287 src/layout_image.c:504 src/layout_util.c:1360 msgid "Set as _wallpaper" msgstr "Utiliser comme _papier peint" @@ -2001,7 +1908,7 @@ msgid "_Full screen" msgstr "Plein _écran" -#: src/img-view.c:1335 src/layout_util.c:1182 src/pan-view.c:2884 +#: src/img-view.c:1335 src/layout_util.c:1342 src/pan-view.c:2884 msgid "C_lose window" msgstr "Fermer _la fenêtre" @@ -2009,142 +1916,110 @@ msgid "Ascending" msgstr "Croissant" -#: src/layout.c:472 -#, c-format -msgid "This installation of %s was not built with support for color profiles." -msgstr "" -"Cette installation de %s n'a pas été compilé avec le support des profils " -"colorimétriques." - -#: src/layout.c:473 -msgid "Color profiles not supported" -msgstr "Profils colorimétriques non supportés" - -#: src/layout.c:498 -msgid "Use _color profiles" -msgstr "Utiliser les profils _colorimétriques" - -#: src/layout.c:503 -msgid "Use profile from _image" -msgstr "Utiliser le profil contenu dans l'_image" - -#: src/layout.c:514 -msgid "AdobeRGB compatible" -msgstr "compatible AdobeRGB" - -#: src/layout.c:517 -#, c-format -msgid "Input _%d: %s%s" -msgstr "Entrée _%d: %s%s" - -#: src/layout.c:535 -#, c-format -msgid "Input _%d: %s" -msgstr "Entrée _%d: %s" - -#: src/layout.c:549 -msgid "Screen sRGB" -msgstr "Écran sRGB" - -#: src/layout.c:556 -msgid "_Screen profile" -msgstr "_Profil d'écran" - -#: src/layout.c:681 +#: src/layout.c:501 msgid " Slideshow" msgstr " Diaporama" -#: src/layout.c:685 +#: src/layout.c:505 msgid " Paused" msgstr " En pause" -#: src/layout.c:701 +#: src/layout.c:521 #, c-format msgid "%s, %d files (%s, %d)%s" msgstr "%s, %d fichiers (%s, %d)%s" -#: src/layout.c:708 +#: src/layout.c:528 #, c-format msgid "%s, %d files%s" msgstr "%s, %d fichiers%s" -#: src/layout.c:713 +#: src/layout.c:533 #, c-format msgid "%d files%s" msgstr "%d fichiers%s" -#: src/layout.c:758 +#: src/layout.c:580 #, c-format msgid "(no read permission) %s bytes" msgstr "(pas de permission en lecture) %s octets" -#: src/layout.c:762 +#: src/layout.c:584 #, c-format msgid "( ? x ? ) %s bytes" msgstr "( ? x ? ) %s octets" -#: src/layout.c:770 +#: src/layout.c:592 #, c-format msgid "( %d x %d ) %s bytes" msgstr "( %d x %d ) %s octets" -#: src/layout.c:1467 src/layout_config.c:58 +#: src/layout.c:608 +#, c-format +msgid "" +"Image profile: %s\n" +"Screen profile: %s" +msgstr "" +"Profil d'image : %s\n" +"Profil d'écran : %s" + +#: src/layout.c:1308 src/layout_config.c:58 msgid "Tools" msgstr "Outils" -#: src/layout.c:2079 +#: src/layout.c:1920 msgid "Window options and layout" msgstr "Options de fenêtre et de disposition" -#: src/layout.c:2138 +#: src/layout.c:1979 msgid "General options" msgstr "Options générales" -#: src/layout.c:2140 +#: src/layout.c:1981 msgid "Home path (empty to use your home directory)" msgstr "Dossier Accueil (laisser vide pour utiliser votre dossier personnel)" -#: src/layout.c:2148 +#: src/layout.c:1989 msgid "Use current" msgstr "Utiliser le dossier courant" -#: src/layout.c:2151 +#: src/layout.c:1992 msgid "Show date in directories list view" msgstr "Montrer la date dans la vue des répertoires sous forme de liste" -#: src/layout.c:2154 +#: src/layout.c:1995 msgid "Exit program when this window is closed" msgstr "Quitter le programme quand cette fenêtre est fermée" -#: src/layout.c:2157 +#: src/layout.c:1998 msgid "Start-up directory:" msgstr "Dossier de démarrage:" -#: src/layout.c:2159 +#: src/layout.c:2000 msgid "No change" msgstr "Pas de changement" -#: src/layout.c:2162 +#: src/layout.c:2003 msgid "Restore last path" msgstr "Restaurer le dernier chemin" -#: src/layout.c:2165 +#: src/layout.c:2006 msgid "Home path" msgstr "Dossier Accueil" -#: src/layout.c:2169 src/print.c:3421 src/print.c:3428 +#: src/layout.c:2010 src/print.c:3421 src/print.c:3428 msgid "Layout" msgstr "Disposition" -#: src/layout.c:2407 +#: src/layout.c:2248 msgid "Invalid geometry\n" msgstr "Géométrie invalide\n" -#: src/layout_config.c:58 src/preferences.c:1179 src/ui_pathsel.c:1179 +#: src/layout_config.c:58 src/preferences.c:1181 src/ui_pathsel.c:1179 msgid "Files" msgstr "Fichiers" -#: src/layout_config.c:58 src/preferences.c:84 src/preferences.c:976 +#: src/layout_config.c:58 src/preferences.c:84 src/preferences.c:978 #: src/print.c:123 msgid "Image" msgstr "Image" @@ -2157,403 +2032,472 @@ msgid "Hide file _list" msgstr "Masquer la _liste des fichiers" -#: src/layout_image.c:1557 +#: src/layout_image.c:1565 #, c-format msgid "pos(%*d,%*d) rgb(%3d,%3d,%3d)" msgstr "pos(%*d,%*d) rvb(%3d,%3d,%3d)" -#: src/layout_util.c:1003 +#: src/layout_util.c:1005 #, c-format msgid "_%d %s..." msgstr "_%d %s ..." -#: src/layout_util.c:1013 +#: src/layout_util.c:1015 #, c-format msgid "_%d empty" msgstr "_%d vide" -#: src/layout_util.c:1141 +#: src/layout_util.c:1102 +#, c-format +msgid "This installation of %s was not built with support for color profiles." +msgstr "" +"Cette installation de %s n'a pas été compilé avec le support des profils " +"colorimétriques." + +#: src/layout_util.c:1103 +msgid "Color profiles not supported" +msgstr "Profils colorimétriques non supportés" + +#: src/layout_util.c:1128 src/layout_util.c:1430 +msgid "Use _color profiles" +msgstr "Utiliser les profils _colorimétriques" + +#: src/layout_util.c:1133 src/layout_util.c:1431 +msgid "Use profile from _image" +msgstr "Utiliser le profil contenu dans l'_image" + +#: src/layout_util.c:1144 +msgid "AdobeRGB compatible" +msgstr "compatible AdobeRGB" + +#: src/layout_util.c:1147 +#, c-format +msgid "Input _%d: %s%s" +msgstr "Entrée _%d: %s%s" + +#: src/layout_util.c:1165 src/layout_util.c:2107 +#, c-format +msgid "Input _%d: %s" +msgstr "Entrée _%d: %s" + +#: src/layout_util.c:1179 +msgid "Screen sRGB" +msgstr "Écran sRGB" + +#: src/layout_util.c:1186 +msgid "_Screen profile" +msgstr "_Profil d'écran" + +#: src/layout_util.c:1300 msgid "_File" msgstr "_Fichier" -#: src/layout_util.c:1142 +#: src/layout_util.c:1301 msgid "_Go" -msgstr "_Aller" - -#: src/layout_util.c:1143 src/menu.c:109 +msgstr "A_ller" + +#: src/layout_util.c:1302 src/menu.c:109 msgid "_Edit" msgstr "Édit_er" -#: src/layout_util.c:1144 +#: src/layout_util.c:1303 msgid "_Select" msgstr "_Sélection" -#: src/layout_util.c:1145 src/menu.c:281 -msgid "_Adjust" -msgstr "_Ajuster" - -#: src/layout_util.c:1146 +#: src/layout_util.c:1304 src/menu.c:277 +msgid "_Orientation" +msgstr "_Orientation" + +#: src/layout_util.c:1305 msgid "E_xternal Editors" msgstr "Éditeurs e_xternes" -#: src/layout_util.c:1148 +#: src/layout_util.c:1307 msgid "_View Directory as" msgstr "_Voir le répertoire comme" -#: src/layout_util.c:1149 +#: src/layout_util.c:1308 msgid "_Zoom" msgstr "_Zoom" -#: src/layout_util.c:1150 +#: src/layout_util.c:1309 +msgid "Color _Management" +msgstr "Gestion des _couleurs" + +#: src/layout_util.c:1310 msgid "_Connected Zoom" msgstr "Zo_om lié" -#: src/layout_util.c:1151 +#: src/layout_util.c:1311 msgid "_Split" msgstr "_Séparer" -#: src/layout_util.c:1152 +#: src/layout_util.c:1312 msgid "_Help" -msgstr "_Aide" - -#: src/layout_util.c:1154 +msgstr "A_ide" + +#: src/layout_util.c:1314 msgid "_First Image" msgstr "Première _image" -#: src/layout_util.c:1155 src/layout_util.c:1156 src/layout_util.c:1157 +#: src/layout_util.c:1315 src/layout_util.c:1316 src/layout_util.c:1317 msgid "_Previous Image" msgstr "Image _précédente" -#: src/layout_util.c:1158 src/layout_util.c:1159 src/layout_util.c:1160 +#: src/layout_util.c:1318 src/layout_util.c:1319 src/layout_util.c:1320 msgid "_Next Image" msgstr "Image _suivante" -#: src/layout_util.c:1161 +#: src/layout_util.c:1321 msgid "_Last Image" msgstr "_Dernière image" -#: src/layout_util.c:1162 +#: src/layout_util.c:1322 msgid "_Back" msgstr "_Retour" -#: src/layout_util.c:1162 +#: src/layout_util.c:1322 msgid "Back" msgstr "Retour" -#: src/layout_util.c:1163 +#: src/layout_util.c:1323 msgid "_Home" msgstr "_Rép. perso" -#: src/layout_util.c:1163 src/options.c:134 src/ui_bookmark.c:543 +#: src/layout_util.c:1323 src/options.c:135 src/ui_bookmark.c:543 #: src/ui_pathsel.c:1047 msgid "Home" msgstr "Rép. perso" -#: src/layout_util.c:1166 +#: src/layout_util.c:1326 msgid "New _window" msgstr "Nouvelle _fenêtre" -#: src/layout_util.c:1167 +#: src/layout_util.c:1327 msgid "_New collection" msgstr "_Nouvelle collection" -#: src/layout_util.c:1168 +#: src/layout_util.c:1328 msgid "_Open collection..." msgstr "_Ouvrir collection ..." -#: src/layout_util.c:1169 +#: src/layout_util.c:1329 msgid "Open _recent" msgstr "Ouverts _récemment" -#: src/layout_util.c:1170 +#: src/layout_util.c:1330 msgid "_Search..." msgstr "_Recherche ..." -#: src/layout_util.c:1172 +#: src/layout_util.c:1332 msgid "Pan _view" msgstr "Affichage _panoramique" -#: src/layout_util.c:1173 +#: src/layout_util.c:1333 msgid "_Print..." msgstr "_Imprimer ..." -#: src/layout_util.c:1174 +#: src/layout_util.c:1334 msgid "N_ew folder..." msgstr "Nouv_eau dossier ..." -#: src/layout_util.c:1181 +#: src/layout_util.c:1341 msgid "_Copy path to clipboard" msgstr "_Copier chemin dans le presse-papiers" -#: src/layout_util.c:1183 +#: src/layout_util.c:1343 msgid "_Quit" msgstr "_Quitter" -#: src/layout_util.c:1185 src/menu.c:219 +#: src/layout_util.c:1345 src/menu.c:219 msgid "_Rotate clockwise" msgstr "_Rotation sens horaire" -#: src/layout_util.c:1186 src/menu.c:222 +#: src/layout_util.c:1346 src/menu.c:222 msgid "Rotate _counterclockwise" msgstr "Rotation sens _anti-horaire" -#: src/layout_util.c:1187 +#: src/layout_util.c:1347 msgid "Rotate 1_80" msgstr "Rotation de 1_80°" -#: src/layout_util.c:1188 src/menu.c:228 +#: src/layout_util.c:1348 src/menu.c:228 msgid "_Mirror" msgstr "Retournement _horizontal" -#: src/layout_util.c:1189 src/menu.c:231 +#: src/layout_util.c:1349 src/menu.c:231 msgid "_Flip" msgstr "Retournement _vertical" -#: src/layout_util.c:1190 src/menu.c:234 -msgid "Toggle _grayscale" -msgstr "Bascule niveaux de _gris" - -#: src/layout_util.c:1191 src/menu.c:237 +#: src/layout_util.c:1350 src/menu.c:234 msgid "_Original state" msgstr "Etat _original" -#: src/layout_util.c:1193 +#: src/layout_util.c:1352 msgid "Select _all" msgstr "_Tout sélectionner" -#: src/layout_util.c:1194 +#: src/layout_util.c:1353 msgid "Select _none" msgstr "_Désélectionner" -#: src/layout_util.c:1195 +#: src/layout_util.c:1354 msgid "_Invert Selection" msgstr "_Inverser la sélection" -#: src/layout_util.c:1197 +#: src/layout_util.c:1356 msgid "P_references..." msgstr "P_références ..." -#: src/layout_util.c:1198 +#: src/layout_util.c:1357 msgid "Configure _Editors..." msgstr "Configur_er les éditeurs" -#: src/layout_util.c:1199 +#: src/layout_util.c:1358 msgid "_Configure this window..." msgstr "_Configurer cette fenêtre" -#: src/layout_util.c:1200 +#: src/layout_util.c:1359 msgid "_Thumbnail maintenance..." msgstr "Maintenance des _vignettes ..." -#: src/layout_util.c:1203 src/layout_util.c:1204 +#: src/layout_util.c:1362 src/layout_util.c:1363 msgid "Zoom in" msgstr "Zoom avant" -#: src/layout_util.c:1205 src/layout_util.c:1206 +#: src/layout_util.c:1364 src/layout_util.c:1365 msgid "Zoom out" msgstr "Zoom arrière" -#: src/layout_util.c:1207 src/layout_util.c:1208 +#: src/layout_util.c:1366 src/layout_util.c:1367 msgid "Zoom 1:1" msgstr "Taille réelle (1:1)" -#: src/layout_util.c:1209 src/layout_util.c:1210 src/layout_util.c:1226 -#: src/layout_util.c:1227 +#: src/layout_util.c:1368 src/layout_util.c:1369 src/layout_util.c:1385 +#: src/layout_util.c:1386 msgid "_Zoom to fit" msgstr "Taille de la fenê_tre" -#: src/layout_util.c:1209 src/layout_util.c:1210 +#: src/layout_util.c:1368 src/layout_util.c:1369 msgid "Zoom to fit" msgstr "Taille de la fenêtre" -#: src/layout_util.c:1211 src/layout_util.c:1228 +#: src/layout_util.c:1370 src/layout_util.c:1387 msgid "Fit _Horizontally" msgstr "Maximiser _Horizontalement" -#: src/layout_util.c:1212 src/layout_util.c:1229 +#: src/layout_util.c:1371 src/layout_util.c:1388 msgid "Fit _Vertically" msgstr "Maximiser _Verticalement" -#: src/layout_util.c:1213 src/layout_util.c:1230 +#: src/layout_util.c:1372 src/layout_util.c:1389 msgid "Zoom _2:1" msgstr "Zoom _2:1" -#: src/layout_util.c:1214 src/layout_util.c:1231 +#: src/layout_util.c:1373 src/layout_util.c:1390 msgid "Zoom _3:1" msgstr "Zoom _3:1" -#: src/layout_util.c:1215 src/layout_util.c:1232 +#: src/layout_util.c:1374 src/layout_util.c:1391 msgid "Zoom _4:1" msgstr "Zoom _4:1" -#: src/layout_util.c:1216 src/layout_util.c:1233 +#: src/layout_util.c:1375 src/layout_util.c:1392 msgid "Zoom 1:2" msgstr "Zoom 1:2" -#: src/layout_util.c:1217 src/layout_util.c:1234 +#: src/layout_util.c:1376 src/layout_util.c:1393 msgid "Zoom 1:3" msgstr "Zoom 1:3" -#: src/layout_util.c:1218 src/layout_util.c:1235 +#: src/layout_util.c:1377 src/layout_util.c:1394 msgid "Zoom 1:4" msgstr "Zoom 1:4" -#: src/layout_util.c:1238 +#: src/layout_util.c:1397 msgid "_View in new window" msgstr "_Voir dans une _nouvelle fenêtre" -#: src/layout_util.c:1240 src/layout_util.c:1241 src/layout_util.c:1242 +#: src/layout_util.c:1399 src/layout_util.c:1400 src/layout_util.c:1401 msgid "F_ull screen" msgstr "Plein _écran" -#: src/layout_util.c:1243 src/layout_util.c:1244 +#: src/layout_util.c:1402 src/layout_util.c:1403 msgid "Escape" msgstr "Echappement" -#: src/layout_util.c:1245 +#: src/layout_util.c:1404 msgid "_Image Overlay" msgstr "Aff_ichage en surimpression" -#: src/layout_util.c:1246 +#: src/layout_util.c:1405 msgid "Histogram _channels" -msgstr "_Canaux histogramme" - -#: src/layout_util.c:1247 +msgstr "Canaux _histogramme" + +#: src/layout_util.c:1406 msgid "Histogram _log mode" msgstr "Mode _log histogramme" -#: src/layout_util.c:1248 +#: src/layout_util.c:1407 msgid "_Hide file list" msgstr "Masquer la _liste des fichiers" -#: src/layout_util.c:1249 +#: src/layout_util.c:1408 msgid "_Pause slideshow" msgstr "Sus_pendre le diaporama" -#: src/layout_util.c:1250 +#: src/layout_util.c:1409 msgid "_Refresh" msgstr "_Rafraîchir" -#: src/layout_util.c:1252 +#: src/layout_util.c:1411 msgid "_Contents" msgstr "_Contenu" -#: src/layout_util.c:1253 +#: src/layout_util.c:1412 msgid "_Keyboard shortcuts" msgstr "_Raccourcis clavier" -#: src/layout_util.c:1254 +#: src/layout_util.c:1413 msgid "_Release notes" msgstr "_Notes pour cette version" -#: src/layout_util.c:1255 +#: src/layout_util.c:1414 msgid "_About" msgstr "À _propos" -#: src/layout_util.c:1256 +#: src/layout_util.c:1415 msgid "_Log Window" msgstr "_Journal" -#: src/layout_util.c:1258 +#: src/layout_util.c:1417 msgid "E_xif window" msgstr "Fenêtre E_xif" -#: src/layout_util.c:1263 +#: src/layout_util.c:1422 msgid "Show _Thumbnails" msgstr "Montrer les vigne_ttes" -#: src/layout_util.c:1263 +#: src/layout_util.c:1422 msgid "Show Thumbnails" msgstr "Montrer les vignettes" -#: src/layout_util.c:1264 +#: src/layout_util.c:1423 msgid "Show _Marks" msgstr "Montrer les _Marques" -#: src/layout_util.c:1265 +#: src/layout_util.c:1424 msgid "_Float file list" msgstr "Liste des fichiers _flottante" -#: src/layout_util.c:1266 +#: src/layout_util.c:1425 msgid "Hide tool_bar" msgstr "Masquer la _barre d'outils" -#: src/layout_util.c:1267 +#: src/layout_util.c:1426 msgid "Hide Pi_xel Info" msgstr "Cacher les infos sur le pi_xel" -#: src/layout_util.c:1268 +#: src/layout_util.c:1427 msgid "_Info" msgstr "_Informations" -#: src/layout_util.c:1269 +#: src/layout_util.c:1428 msgid "Sort _manager" msgstr "_Gestionnaire de tris" -#: src/layout_util.c:1270 +#: src/layout_util.c:1429 msgid "Toggle _slideshow" msgstr "Mode _Diaporama" -#: src/layout_util.c:1274 +#: src/layout_util.c:1432 +msgid "Toggle _grayscale" +msgstr "Bascule niveaux de _gris" + +#: src/layout_util.c:1436 msgid "View Images as _List" msgstr "Images en _liste" -#: src/layout_util.c:1275 +#: src/layout_util.c:1437 msgid "View Images as I_cons" msgstr "Images en _Icônes" -#: src/layout_util.c:1279 +#: src/layout_util.c:1441 msgid "Horizontal" msgstr "Horizontal" -#: src/layout_util.c:1280 +#: src/layout_util.c:1442 msgid "Vertical" msgstr "Vertical" -#: src/layout_util.c:1281 +#: src/layout_util.c:1443 msgid "Quad" msgstr "Quatre" -#: src/layout_util.c:1282 +#: src/layout_util.c:1444 msgid "Single" msgstr "Unique" -#: src/layout_util.c:1514 +#: src/layout_util.c:1448 +msgid "Input _0: sRGB" +msgstr "Entrée _0: sRGB" + +#: src/layout_util.c:1449 +msgid "Input _1: AdobeRGB compatible" +msgstr "Entrée _1: compatible AdobeRGB" + +#: src/layout_util.c:1450 +msgid "Input _2" +msgstr "Entrée _2" + +#: src/layout_util.c:1451 +msgid "Input _3" +msgstr "Entrée _3" + +#: src/layout_util.c:1452 +msgid "Input _4" +msgstr "Entrée _4" + +#: src/layout_util.c:1453 +msgid "Input _5" +msgstr "Entrée _5" + +#: src/layout_util.c:1695 #, c-format msgid "Mark _%d" msgstr "Marque _%d" -#: src/layout_util.c:1515 src/view_file.c:523 +#: src/layout_util.c:1696 src/view_file.c:523 #, c-format msgid "_Set mark %d" msgstr "_Ajout marque %d" -#: src/layout_util.c:1516 src/view_file.c:524 +#: src/layout_util.c:1697 src/view_file.c:524 #, c-format msgid "_Reset mark %d" msgstr "_Suppression marque %d" -#: src/layout_util.c:1517 src/layout_util.c:1518 src/view_file.c:525 +#: src/layout_util.c:1698 src/layout_util.c:1699 src/view_file.c:525 #, c-format msgid "_Toggle mark %d" msgstr "_Bascule marque %d" -#: src/layout_util.c:1519 src/layout_util.c:1520 src/view_file.c:526 +#: src/layout_util.c:1700 src/layout_util.c:1701 src/view_file.c:526 #, c-format msgid "_Select mark %d" msgstr "_Sélectionner la marque %d" -#: src/layout_util.c:1521 src/view_file.c:527 +#: src/layout_util.c:1702 src/view_file.c:527 #, c-format msgid "_Add mark %d" msgstr "Ajouter la marque %d" -#: src/layout_util.c:1522 src/view_file.c:528 +#: src/layout_util.c:1703 src/view_file.c:528 #, c-format msgid "_Intersection with mark %d" msgstr "_Intersection avec marque %d" -#: src/layout_util.c:1523 src/view_file.c:529 +#: src/layout_util.c:1704 src/view_file.c:529 #, c-format msgid "_Unselect mark %d" msgstr "_Déselection marque %d" @@ -2713,7 +2657,7 @@ "Des collections ont été modifiées.\n" "Tout de même quitter ?" -#: src/main.c:836 src/remote.c:552 +#: src/main.c:836 src/remote.c:601 msgid "Command line" msgstr "Ligne de commande" @@ -2749,239 +2693,239 @@ msgid "Rotate _180" msgstr "Rotation de _180°" -#: src/metadata.c:1316 +#: src/metadata.c:1342 msgid "People" msgstr "Personnes" -#: src/metadata.c:1317 +#: src/metadata.c:1343 msgid "Family" msgstr "Famille" -#: src/metadata.c:1318 +#: src/metadata.c:1344 msgid "Free time" msgstr "Temps libre" -#: src/metadata.c:1319 -msgid "Children" -msgstr "Enfants" - -#: src/metadata.c:1320 -msgid "Sport" -msgstr "Sport" - -#: src/metadata.c:1321 -msgid "Culture" -msgstr "Culture" - -#: src/metadata.c:1322 -msgid "Festival" -msgstr "Festival" - -#: src/metadata.c:1323 -msgid "Nature" -msgstr "Nature" - -#: src/metadata.c:1324 -msgid "Animal" -msgstr "Animal" - -#: src/metadata.c:1325 -msgid "Bird" -msgstr "Oiseau" - -#: src/metadata.c:1326 -msgid "Insect" -msgstr "Insecte" - -#: src/metadata.c:1327 -msgid "Pets" -msgstr "Animaux familiers" - -#: src/metadata.c:1328 -msgid "Wildlife" -msgstr "Vie sauvage" - -#: src/metadata.c:1329 -msgid "Zoo" -msgstr "Zoo" - -#: src/metadata.c:1330 -msgid "Plant" -msgstr "Plante" - -#: src/metadata.c:1331 -msgid "Tree" -msgstr "Arbre" - -#: src/metadata.c:1332 -msgid "Flower" -msgstr "Fleur" - -#: src/metadata.c:1333 -msgid "Water" -msgstr "Eau" - -#: src/metadata.c:1334 -msgid "River" -msgstr "Rivière" - -#: src/metadata.c:1335 -msgid "Lake" -msgstr "Lac" - -#: src/metadata.c:1336 -msgid "Sea" -msgstr "Mer" - -#: src/metadata.c:1337 src/print.c:375 -msgid "Landscape" -msgstr "Paysage" - -#: src/metadata.c:1338 -msgid "Art" -msgstr "Art" - -#: src/metadata.c:1339 -msgid "Statue" -msgstr "Statue" - -#: src/metadata.c:1340 -msgid "Painting" -msgstr "Peinture" - -#: src/metadata.c:1341 src/metadata.c:1355 -msgid "Historic" -msgstr "Historique" - -#: src/metadata.c:1342 src/metadata.c:1356 -msgid "Modern" -msgstr "Moderne" - -#: src/metadata.c:1343 -msgid "City" -msgstr "Ville" - -#: src/metadata.c:1344 -msgid "Park" -msgstr "Parc" - #: src/metadata.c:1345 -msgid "Street" -msgstr "Rue" +msgid "Children" +msgstr "Enfants" #: src/metadata.c:1346 -msgid "Square" -msgstr "Square" +msgid "Sport" +msgstr "Sport" #: src/metadata.c:1347 -msgid "Architecture" -msgstr "Architecture" +msgid "Culture" +msgstr "Culture" #: src/metadata.c:1348 -msgid "Buildings" -msgstr "Constructions" +msgid "Festival" +msgstr "Festival" #: src/metadata.c:1349 -msgid "House" -msgstr "Maison" +msgid "Nature" +msgstr "Nature" #: src/metadata.c:1350 -msgid "Cathedral" -msgstr "Cathédrale" +msgid "Animal" +msgstr "Animal" #: src/metadata.c:1351 -msgid "Palace" -msgstr "Palais" +msgid "Bird" +msgstr "Oiseau" #: src/metadata.c:1352 +msgid "Insect" +msgstr "Insecte" + +#: src/metadata.c:1353 +msgid "Pets" +msgstr "Animaux familiers" + +#: src/metadata.c:1354 +msgid "Wildlife" +msgstr "Vie sauvage" + +#: src/metadata.c:1355 +msgid "Zoo" +msgstr "Zoo" + +#: src/metadata.c:1356 +msgid "Plant" +msgstr "Plante" + +#: src/metadata.c:1357 +msgid "Tree" +msgstr "Arbre" + +#: src/metadata.c:1358 +msgid "Flower" +msgstr "Fleur" + +#: src/metadata.c:1359 +msgid "Water" +msgstr "Eau" + +#: src/metadata.c:1360 +msgid "River" +msgstr "Rivière" + +#: src/metadata.c:1361 +msgid "Lake" +msgstr "Lac" + +#: src/metadata.c:1362 +msgid "Sea" +msgstr "Mer" + +#: src/metadata.c:1363 src/print.c:375 +msgid "Landscape" +msgstr "Paysage" + +#: src/metadata.c:1364 +msgid "Art" +msgstr "Art" + +#: src/metadata.c:1365 +msgid "Statue" +msgstr "Statue" + +#: src/metadata.c:1366 +msgid "Painting" +msgstr "Peinture" + +#: src/metadata.c:1367 src/metadata.c:1381 +msgid "Historic" +msgstr "Historique" + +#: src/metadata.c:1368 src/metadata.c:1382 +msgid "Modern" +msgstr "Moderne" + +#: src/metadata.c:1369 +msgid "City" +msgstr "Ville" + +#: src/metadata.c:1370 +msgid "Park" +msgstr "Parc" + +#: src/metadata.c:1371 +msgid "Street" +msgstr "Rue" + +#: src/metadata.c:1372 +msgid "Square" +msgstr "Square" + +#: src/metadata.c:1373 +msgid "Architecture" +msgstr "Architecture" + +#: src/metadata.c:1374 +msgid "Buildings" +msgstr "Constructions" + +#: src/metadata.c:1375 +msgid "House" +msgstr "Maison" + +#: src/metadata.c:1376 +msgid "Cathedral" +msgstr "Cathédrale" + +#: src/metadata.c:1377 +msgid "Palace" +msgstr "Palais" + +#: src/metadata.c:1378 msgid "Castle" msgstr "Château" -#: src/metadata.c:1353 +#: src/metadata.c:1379 msgid "Bridge" msgstr "Pont" -#: src/metadata.c:1354 +#: src/metadata.c:1380 msgid "Interior" msgstr "Intérieur" -#: src/metadata.c:1357 +#: src/metadata.c:1383 msgid "Places" msgstr "Lieux" -#: src/metadata.c:1358 +#: src/metadata.c:1384 msgid "Conditions" msgstr "Conditions" -#: src/metadata.c:1359 +#: src/metadata.c:1385 msgid "Night" msgstr "Nuit" -#: src/metadata.c:1360 +#: src/metadata.c:1386 msgid "Lights" msgstr "Lumières" -#: src/metadata.c:1361 +#: src/metadata.c:1387 msgid "Reflections" msgstr "Réflexions" -#: src/metadata.c:1362 +#: src/metadata.c:1388 msgid "Sun" msgstr "Soleil" -#: src/metadata.c:1363 +#: src/metadata.c:1389 msgid "Weather" msgstr "Méteorologie" -#: src/metadata.c:1364 +#: src/metadata.c:1390 msgid "Fog" msgstr "Brouillard" -#: src/metadata.c:1365 +#: src/metadata.c:1391 msgid "Rain" msgstr "Pluie" -#: src/metadata.c:1366 +#: src/metadata.c:1392 msgid "Clouds" msgstr "Nuages" -#: src/metadata.c:1367 +#: src/metadata.c:1393 msgid "Snow" msgstr "Neige" -#: src/metadata.c:1368 +#: src/metadata.c:1394 msgid "Sunny weather" msgstr "Temps ensoleillé" -#: src/metadata.c:1369 +#: src/metadata.c:1395 msgid "Photo" msgstr "Photo" -#: src/metadata.c:1370 +#: src/metadata.c:1396 msgid "Edited" msgstr "Editée" -#: src/metadata.c:1371 +#: src/metadata.c:1397 msgid "Detail" msgstr "Détail" -#: src/metadata.c:1372 +#: src/metadata.c:1398 msgid "Macro" msgstr "Macro" -#: src/metadata.c:1373 src/print.c:374 +#: src/metadata.c:1399 src/print.c:374 msgid "Portrait" msgstr "Portrait" -#: src/metadata.c:1374 +#: src/metadata.c:1400 msgid "Black and White" msgstr "Noir et blanc" -#: src/metadata.c:1375 +#: src/metadata.c:1401 msgid "Perspective" msgstr "Perspective" -#: src/options.c:136 src/ui_bookmark.c:550 +#: src/options.c:137 src/ui_bookmark.c:550 msgid "Desktop" msgstr "Bureau" @@ -3011,7 +2955,7 @@ msgid "Filename:" msgstr "Nom du fichier :" -#: src/pan-view.c:1544 src/pan-view.c:2380 src/preferences.c:1086 +#: src/pan-view.c:1544 src/pan-view.c:2380 src/preferences.c:1088 msgid "Location:" msgstr "Emplacement :" @@ -3019,7 +2963,7 @@ msgid "Date:" msgstr "Date :" -#: src/pan-view.c:1548 src/preferences.c:910 src/print.c:3262 src/print.c:3473 +#: src/pan-view.c:1548 src/preferences.c:912 src/print.c:3262 src/print.c:3473 msgid "Size:" msgstr "Taille :" @@ -3138,7 +3082,7 @@ "options doivent être validées pour apprécier un changement dans les " "performances." -#: src/pan-view.c:2598 src/preferences.c:913 +#: src/pan-view.c:2598 src/preferences.c:915 msgid "Cache thumbnails" msgstr "Mettre en cache les vignettes" @@ -3189,43 +3133,43 @@ "n°%d « %s »:\n" "%s" -#: src/preferences.c:434 +#: src/preferences.c:436 msgid "Nearest (worst, but fastest)" msgstr "Au plus près (moins bon, plus rapide)" -#: src/preferences.c:436 -msgid "Tiles" -msgstr "Tuiles" - #: src/preferences.c:438 -msgid "Bilinear" -msgstr "Bilinéaire" +msgid "Tiles" +msgstr "Tuiles" #: src/preferences.c:440 +msgid "Bilinear" +msgstr "Bilinéaire" + +#: src/preferences.c:442 msgid "Hyper (best, but slowest)" msgstr "Hyper (meilleur, plus lent)" -#: src/preferences.c:468 +#: src/preferences.c:470 msgid "None" msgstr "Aucune" -#: src/preferences.c:469 +#: src/preferences.c:471 msgid "Normal" msgstr "Normale" -#: src/preferences.c:470 +#: src/preferences.c:472 msgid "Best" msgstr "Meilleure" -#: src/preferences.c:532 src/print.c:380 +#: src/preferences.c:534 src/print.c:380 msgid "Custom" msgstr "Spécifique" -#: src/preferences.c:774 src/preferences.c:777 +#: src/preferences.c:776 src/preferences.c:779 msgid "Reset filters" msgstr "RAZ des filtres" -#: src/preferences.c:778 +#: src/preferences.c:780 msgid "" "This will reset the file filters to the defaults.\n" "Continue?" @@ -3233,19 +3177,19 @@ "Ceci va remettre les filtres de fichiers à leur état par défaut.\n" "Continuer ?" -#: src/preferences.c:805 src/preferences.c:808 +#: src/preferences.c:807 src/preferences.c:810 msgid "Clear trash" msgstr "Vider la corbeille" -#: src/preferences.c:809 +#: src/preferences.c:811 msgid "This will remove the trash contents." msgstr "Ceci va supprimer le contenu de la corbeille" -#: src/preferences.c:853 src/preferences.c:856 +#: src/preferences.c:855 src/preferences.c:858 msgid "Reset image overlay template string" msgstr "Restaurer le modèle par défaut pour l'affichage en surimpression" -#: src/preferences.c:857 +#: src/preferences.c:859 msgid "" "This will reset the image overlay template string to the default.\n" "Continue?" @@ -3254,20 +3198,20 @@ "défaut.\n" "Continuer ?" -#: src/preferences.c:905 +#: src/preferences.c:907 msgid "General" msgstr "Général" -#: src/preferences.c:911 src/preferences.c:984 +#: src/preferences.c:913 src/preferences.c:986 msgid "Quality:" msgstr "Qualité :" -#: src/preferences.c:919 +#: src/preferences.c:921 msgid "Use standard thumbnail cache, shared with other applications" msgstr "" "Utiliser le cache de vignettes standard, partagé avec les autres applications" -#: src/preferences.c:925 +#: src/preferences.c:927 msgid "" "Store thumbnails in '.thumbnails' folder, local to image folder (non-" "standard)" @@ -3275,173 +3219,173 @@ "Sauver les vignettes dans le dossier « .thumbnails », local au dossier de " "l'image (non-standard)" -#: src/preferences.c:929 +#: src/preferences.c:931 msgid "Use xvpics thumbnails when found (read only)" msgstr "Utiliser les vignettes xvpics si existantes (lecture seule)" -#: src/preferences.c:933 +#: src/preferences.c:935 msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)" msgstr "" "Utiliser les vignettes EXIF si disponibles (les vignettes EXIF peuvent ne " "pas être à jour)" -#: src/preferences.c:936 +#: src/preferences.c:938 msgid "Slide show" msgstr "Diaporama" -#: src/preferences.c:939 +#: src/preferences.c:941 msgid "Delay between image change:" msgstr "Délai entre deux images :" -#: src/preferences.c:939 +#: src/preferences.c:941 msgid "seconds" msgstr "secondes" -#: src/preferences.c:945 +#: src/preferences.c:947 msgid "Random" msgstr "Aléatoire" -#: src/preferences.c:946 +#: src/preferences.c:948 msgid "Repeat" msgstr "En boucle" -#: src/preferences.c:948 +#: src/preferences.c:950 msgid "Image loading and caching" msgstr "Chargement et cache des images" -#: src/preferences.c:951 +#: src/preferences.c:953 msgid "Offscreen cache size (Mb per image):" msgstr "Taille du cache mémoire hors-écran (Mo par image) :" -#: src/preferences.c:955 +#: src/preferences.c:957 msgid "Decoded image cache size (Mb):" msgstr "Taille du cache mémoire pour les images décodées (Mo) :" -#: src/preferences.c:957 +#: src/preferences.c:959 msgid "Preload next image" msgstr "Précharger l'image suivante" -#: src/preferences.c:960 +#: src/preferences.c:962 msgid "Refresh on file change" msgstr "Rafraîchir la liste des fichiers" -#: src/preferences.c:978 +#: src/preferences.c:980 msgid "Zoom" msgstr "Zoom" -#: src/preferences.c:981 +#: src/preferences.c:983 msgid "Dithering method:" msgstr "Méthode de dithering :" -#: src/preferences.c:986 +#: src/preferences.c:988 msgid "Two pass rendering (apply HQ zoom and color correction in second pass)" msgstr "" "Rendu en 2 passes (applique le zoom haute qualité et la correction " "colorimétrique durant la seconde passe)" -#: src/preferences.c:989 +#: src/preferences.c:991 msgid "Allow enlargement of image for zoom to fit" msgstr "Permettre d'agrandir les images pour que le zoom convienne" -#: src/preferences.c:993 +#: src/preferences.c:995 msgid "Limit image size when autofitting (%):" msgstr "Limiter la taille de l'image lors de l'auto-dimensionnement (%):" -#: src/preferences.c:1001 +#: src/preferences.c:1003 msgid "Zoom increment:" msgstr "Incrément de zoom :" -#: src/preferences.c:1006 +#: src/preferences.c:1008 msgid "When new image is selected:" msgstr "Sélection d'une nouvelle image :" -#: src/preferences.c:1010 +#: src/preferences.c:1012 msgid "Zoom to original size" msgstr "Zoom à sa taille d'origine" -#: src/preferences.c:1013 +#: src/preferences.c:1015 msgid "Fit image to window" msgstr "Mettre à la taille de la fenêtre" -#: src/preferences.c:1016 +#: src/preferences.c:1018 msgid "Leave Zoom at previous setting" msgstr "Garder la valeur précédente du zoom" -#: src/preferences.c:1022 +#: src/preferences.c:1024 msgid "Scroll to top left corner" msgstr "Défiler au coin en haut à gauche" -#: src/preferences.c:1025 +#: src/preferences.c:1027 msgid "Scroll to image center" msgstr "Défiler au centre de l'image" -#: src/preferences.c:1028 +#: src/preferences.c:1030 msgid "Keep the region from previous image" msgstr "Garder la région de l'image précédente" -#: src/preferences.c:1033 +#: src/preferences.c:1035 msgid "Appearance" msgstr "Apparence" -#: src/preferences.c:1035 +#: src/preferences.c:1037 msgid "Custom border color" msgstr "Couleur de bordure personnalisée" -#: src/preferences.c:1038 +#: src/preferences.c:1040 msgid "Border color" msgstr "Couleur de bordure" -#: src/preferences.c:1041 +#: src/preferences.c:1043 msgid "Convenience" msgstr "Commodités" -#: src/preferences.c:1043 +#: src/preferences.c:1045 msgid "Auto rotate image using Exif information" msgstr "Rotation automatique de l'image à l'aide des informations Exif" -#: src/preferences.c:1060 +#: src/preferences.c:1062 msgid "Windows" msgstr "Fenêtres" -#: src/preferences.c:1062 -msgid "State" -msgstr "État" - #: src/preferences.c:1064 -msgid "Remember window positions" -msgstr "Se rappeler la position des fenêtres" +msgid "State" +msgstr "État" #: src/preferences.c:1066 +msgid "Remember window positions" +msgstr "Se rappeler la position des fenêtres" + +#: src/preferences.c:1068 msgid "Remember tool state (float/hidden)" msgstr "Se rappeler l'état des outils (flottants/cachés)" -#: src/preferences.c:1071 +#: src/preferences.c:1073 msgid "Fit window to image when tools are hidden/floating" msgstr "" "Mettre la fenêtre à la taille de l'image quand les outils sont cachés/" "flottants" -#: src/preferences.c:1075 +#: src/preferences.c:1077 msgid "Limit size when auto-sizing window (%):" msgstr "Limiter la taille quand la fenêtre est auto-dimensionnable (%) :" -#: src/preferences.c:1090 +#: src/preferences.c:1092 msgid "Smooth image flip" msgstr "Lisser le basculement d'image" -#: src/preferences.c:1092 +#: src/preferences.c:1094 msgid "Disable screen saver" msgstr "Inhiber l'économiseur d'écran" -#: src/preferences.c:1096 +#: src/preferences.c:1098 msgid "Overlay Screen Display" msgstr "Affichage en surimpression (OSD)" -#: src/preferences.c:1098 +#: src/preferences.c:1100 msgid "Image overlay template" msgstr "Modèle pour l'affichage en surimpression" -#: src/preferences.c:1112 +#: src/preferences.c:1114 msgid "" "<i>%name%</i> results in the filename of the picture.\n" "Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%" @@ -3482,226 +3426,238 @@ "Si une ligne est vide, elle n'est pas affichée. Cela permet d'ajouter des " "lignes qui disparaitront totalement si aucune donnée n'est disponible.\n" -#: src/preferences.c:1129 src/preferences.c:1302 +#: src/preferences.c:1131 src/preferences.c:1304 msgid "Defaults" msgstr "Configuration par défaut" -#: src/preferences.c:1183 +#: src/preferences.c:1185 msgid "Show hidden files or folders" msgstr "Montrer les fichiers ou dossiers cachés" -#: src/preferences.c:1186 +#: src/preferences.c:1188 msgid "Show dot directory" msgstr "Montrer le répertoire point" -#: src/preferences.c:1189 +#: src/preferences.c:1191 msgid "Case sensitive sort" msgstr "Tri sensible à la casse" -#: src/preferences.c:1192 +#: src/preferences.c:1194 msgid "Disable File Filtering" msgstr "Désactiver les filtres de fichiers" -#: src/preferences.c:1196 +#: src/preferences.c:1198 msgid "Grouping sidecar extensions" msgstr "Groupage des extensions de fichiers sidecar" -#: src/preferences.c:1203 +#: src/preferences.c:1205 msgid "File types" msgstr "Types de fichier" -#: src/preferences.c:1225 +#: src/preferences.c:1227 msgid "Filter" msgstr "Filtre" -#: src/preferences.c:1257 +#: src/preferences.c:1259 msgid "Class" msgstr "Classe" -#: src/preferences.c:1274 +#: src/preferences.c:1276 msgid "Writable" msgstr "Inscriptible" -#: src/preferences.c:1285 +#: src/preferences.c:1287 msgid "Sidecar is allowed" msgstr "Sidecar permis" -#: src/preferences.c:1330 +#: src/preferences.c:1332 msgid "" "Store metadata in '.metadata' folder, local to image folder (non-standard)" msgstr "" "Sauver les métadonnées dans le dossier « .metadata », local au dossier de " "l'image (non-standard)" -#: src/preferences.c:1333 +#: src/preferences.c:1335 msgid "Store keywords and comments as XMP tags in image files (standard)" msgstr "" "Enregistrer les mots-clés et commentaires en tant que balises XMP dans les " "fichiers images (standard)" -#: src/preferences.c:1339 +#: src/preferences.c:1341 msgid "Store keywords and comments also in legacy IPTC tags" msgstr "Enregistrer aussi les mots-clés et commentaires dans les tags IPTC" -#: src/preferences.c:1342 +#: src/preferences.c:1344 msgid "Warn if the image files are unwritable" msgstr "Prévenir si les images sont protégés en écriture" -#: src/preferences.c:1345 +#: src/preferences.c:1347 msgid "Ask before writing to image files" msgstr "Demander avant l'écriture dans les images" -#: src/preferences.c:1348 +#: src/preferences.c:1350 msgid "Save metadata in GQview legacy metadata format" msgstr "Sauver les méta-données dans le format de GQview" -#: src/preferences.c:1351 +#: src/preferences.c:1353 msgid "Write the same keywords and comment to all files in a group" msgstr "" "Écrire les mêmes mots-clés et commentaires dans tous les fichiers d'un groupe" -#: src/preferences.c:1354 +#: src/preferences.c:1356 msgid "Write metadata after timeout" msgstr "Écrire les méta-données après un délai" -#: src/preferences.c:1360 +#: src/preferences.c:1362 msgid "Timeout (seconds):" msgstr "Délai (secondes):" -#: src/preferences.c:1363 +#: src/preferences.c:1365 msgid "Write metadata on image change" msgstr "Écrire les méta-données en cas de modification d'image" -#: src/preferences.c:1366 +#: src/preferences.c:1368 msgid "Write metadata on directory change" msgstr "Écrire les méta-données après une modification de dossier" -#: src/preferences.c:1369 +#: src/preferences.c:1371 msgid "Allow keywords to differ only in case" msgstr "Permettre aux mots-clés de différer sur la casse" -#: src/preferences.c:1383 +#: src/preferences.c:1374 +msgid "Write altered image orientation to the metadata" +msgstr "Sauver l'orientation modifiée dans les méta-données" + +#: src/preferences.c:1388 msgid "Color management" msgstr "Gestion des couleurs" -#: src/preferences.c:1385 -msgid "Color profiles" -msgstr "Profils colorimétriques" - -#: src/preferences.c:1393 +#: src/preferences.c:1390 +msgid "Input profiles" +msgstr "Profils d'entrée" + +#: src/preferences.c:1398 msgid "Type" msgstr "Type" -#: src/preferences.c:1396 +#: src/preferences.c:1401 msgid "Menu name" msgstr "Nom du menu" -#: src/preferences.c:1399 +#: src/preferences.c:1404 msgid "File" msgstr "Fichier" -#: src/preferences.c:1424 src/preferences.c:1435 +#: src/preferences.c:1429 src/preferences.c:1449 msgid "Select color profile" msgstr "Sélectionner un profil colorimétrique" -#: src/preferences.c:1432 +#: src/preferences.c:1437 +msgid "Screen profile" +msgstr "Profil d'écran" + +#: src/preferences.c:1441 +msgid "Use system screen profile if available" +msgstr "Utiliser le profil d'écran du système si disponible" + +#: src/preferences.c:1446 msgid "Screen:" msgstr "Écran:" -#: src/preferences.c:1454 src/preferences.c:1497 +#: src/preferences.c:1468 src/preferences.c:1511 msgid "Behavior" msgstr "Comportement" -#: src/preferences.c:1456 src/utilops.c:1650 +#: src/preferences.c:1470 src/utilops.c:1952 msgctxt "physical" msgid "Delete" msgstr "Suppression" -#: src/preferences.c:1458 +#: src/preferences.c:1472 msgid "Confirm file delete" msgstr "Confirmer la suppression des fichiers" -#: src/preferences.c:1460 +#: src/preferences.c:1474 msgid "Enable Delete key" msgstr "Utiliser la touche [Suppr]" -#: src/preferences.c:1463 +#: src/preferences.c:1477 msgid "Safe delete" msgstr "Suppression récupérable" -#: src/preferences.c:1481 +#: src/preferences.c:1495 msgid "Maximum size:" msgstr "Taille maximale :" -#: src/preferences.c:1481 +#: src/preferences.c:1495 msgid "MB" msgstr "Mo" -#: src/preferences.c:1484 +#: src/preferences.c:1498 msgid "Set to 0 for unlimited size" msgstr "Mettre à zéro pour taille infinie" -#: src/preferences.c:1486 +#: src/preferences.c:1500 msgid "View" msgstr "Vue" -#: src/preferences.c:1499 +#: src/preferences.c:1513 msgid "Rectangular selection in icon view" msgstr "Sélection rectangulaire dans la vue en icônes" -#: src/preferences.c:1502 +#: src/preferences.c:1516 msgid "Descend folders in tree view" msgstr "Parcourir les dossiers dans la vue arborescente" -#: src/preferences.c:1505 +#: src/preferences.c:1519 msgid "In place renaming" msgstr "Renommer en place" -#: src/preferences.c:1508 +#: src/preferences.c:1522 msgid "Open recent list maximum size" msgstr "Taille maximale de la liste des fichiers récemment ouverts" -#: src/preferences.c:1511 +#: src/preferences.c:1525 msgid "Drag'n drop icon size" msgstr "Taille de l'icône du glisser-déplacer" -#: src/preferences.c:1514 +#: src/preferences.c:1528 msgid "Navigation" msgstr "Navigation" -#: src/preferences.c:1516 +#: src/preferences.c:1530 msgid "Progressive keyboard scrolling" msgstr "Défilement clavier progressif" -#: src/preferences.c:1518 +#: src/preferences.c:1532 msgid "Mouse wheel scrolls image" -msgstr "Défilement des images avec la molette de la souris" - -#: src/preferences.c:1521 +msgstr "Navigation dans l'image avec la molette de la souris" + +#: src/preferences.c:1535 msgid "Miscellaneous" msgstr "Divers" -#: src/preferences.c:1523 +#: src/preferences.c:1537 msgid "Custom similarity threshold:" msgstr "Seuil de similarité personalisé :" -#: src/preferences.c:1528 +#: src/preferences.c:1542 msgid "Debugging" msgstr "Déboguage" -#: src/preferences.c:1530 +#: src/preferences.c:1544 msgid "Debug level:" msgstr "Niveau de déboguage:" -#: src/preferences.c:1546 +#: src/preferences.c:1560 msgid "Preferences" msgstr "Préférences" -#: src/preferences.c:1675 +#: src/preferences.c:1689 msgid "About" msgstr "À propos" -#: src/preferences.c:1692 +#: src/preferences.c:1706 #, c-format msgid "" "%s %s\n" @@ -3730,7 +3686,7 @@ "\n" "Distribué sous GNU General Public License" -#: src/preferences.c:1711 +#: src/preferences.c:1725 msgid "Credits..." msgstr "Crédits ..." @@ -3972,6 +3928,10 @@ msgid "Proof size:" msgstr "Taille de l'aperçu :" +#: src/print.c:3456 +msgid "Text" +msgstr "Texte" + #: src/print.c:3466 msgid "Paper" msgstr "Papier" @@ -4020,12 +3980,12 @@ msgid "Remember print settings" msgstr "Conserver les paramètres d'impression" -#: src/rcfile.c:492 +#: src/rcfile.c:493 #, c-format msgid "error saving config file: %s\n" msgstr "erreur à la sauvegarde du fichier de configuration : %s\n" -#: src/rcfile.c:550 +#: src/rcfile.c:551 #, c-format msgid "" "error saving config file: %s\n" @@ -4035,88 +3995,96 @@ "erreur : %s\n" #. short, long callback, extra, prefer,description -#: src/remote.c:590 +#: src/remote.c:639 msgid "next image" msgstr "image suivante" -#: src/remote.c:591 +#: src/remote.c:640 msgid "previous image" msgstr "image précédente" -#: src/remote.c:592 +#: src/remote.c:641 msgid "first image" msgstr "première image" -#: src/remote.c:593 +#: src/remote.c:642 msgid "last image" msgstr "dernière image" -#: src/remote.c:594 +#: src/remote.c:643 msgid "toggle full screen" msgstr "bascule le mode plein écran" -#: src/remote.c:595 +#: src/remote.c:644 msgid "start full screen" msgstr "démarre le mode plein écran" -#: src/remote.c:596 +#: src/remote.c:645 msgid "stop full screen" msgstr "arrête le mode plein écran" -#: src/remote.c:597 +#: src/remote.c:646 msgid "toggle slide show" msgstr "bascule le mode diaporama" -#: src/remote.c:598 +#: src/remote.c:647 msgid "start slide show" msgstr "démarre le diaporama" -#: src/remote.c:599 +#: src/remote.c:648 msgid "stop slide show" msgstr "arrête le diaporama" -#: src/remote.c:600 +#: src/remote.c:649 msgid "start recursive slide show" msgstr "démarre le diaporama récursif" -#: src/remote.c:601 +#: src/remote.c:650 msgid "set slide show delay in seconds" msgstr "définit le délai entre les diapos en secondes" -#: src/remote.c:602 +#: src/remote.c:651 msgid "show tools" msgstr "montre les outils" -#: src/remote.c:603 +#: src/remote.c:652 msgid "hide tools" msgstr "cache les outils" -#: src/remote.c:604 +#: src/remote.c:653 msgid "quit" msgstr "quitte le programme" -#: src/remote.c:605 +#: src/remote.c:654 msgid "load config file" msgstr "charge le fichier de configuration" -#: src/remote.c:606 +#: src/remote.c:655 +msgid "get list of sidecars of the given file" +msgstr "obtient la liste des sidecars pour le fichier donné" + +#: src/remote.c:656 +msgid "get destination path for the given file" +msgstr "obtient le chemin de destination pour le fichier donné" + +#: src/remote.c:657 msgid "open file" msgstr "ouvre le fichier indiqué" -#: src/remote.c:607 +#: src/remote.c:658 msgid "open file in new window" msgstr "ouvre le fichier indiqué dans une nouvelle fenêtre" -#: src/remote.c:673 +#: src/remote.c:724 msgid "Remote command list:\n" msgstr "Liste des commandes à distance :\n" -#: src/remote.c:730 +#: src/remote.c:781 #, c-format msgid "Remote %s not running, starting..." msgstr "Pas de %s distant, lancement ..." -#: src/remote.c:866 +#: src/remote.c:917 msgid "Remote not available\n" msgstr "Commande à distance indisponible\n" @@ -4295,7 +4263,7 @@ msgid "Thumbnail image in cache failed to load, trying to recreate.\n" msgstr "Impossible de charger la vignette depuis le cache, regénération.\n" -#: src/trash.c:80 src/utilops.c:2052 src/utilops.c:2063 src/utilops.c:2120 +#: src/trash.c:80 src/utilops.c:2363 src/utilops.c:2374 src/utilops.c:2431 msgid "Delete failed" msgstr "Échec de la suppression" @@ -4451,8 +4419,8 @@ "Impossible de lancer la commande :\n" "%s" -#: src/ui_pathsel.c:433 src/ui_pathsel.c:439 src/utilops.c:1796 -#: src/utilops.c:1816 src/utilops.c:2240 +#: src/ui_pathsel.c:433 src/ui_pathsel.c:439 src/utilops.c:2103 +#: src/utilops.c:2125 src/utilops.c:2551 msgid "Rename failed" msgstr "Échec de renommage" @@ -4473,7 +4441,7 @@ msgid "_Delete" msgstr "_Supprimer" -#: src/ui_pathsel.c:748 src/ui_pathsel.c:1049 src/utilops.c:2274 +#: src/ui_pathsel.c:748 src/ui_pathsel.c:1049 src/utilops.c:2585 msgid "New folder" msgstr "Nouveau dossier" @@ -4510,12 +4478,12 @@ msgid "All files" msgstr "Tous les fichiers" -#: src/utilops.c:435 +#: src/utilops.c:442 msgctxt "filesystem" msgid "Location" msgstr "Emplacement" -#: src/utilops.c:524 +#: src/utilops.c:531 msgid "" "\n" " Continue multiple file operation?" @@ -4523,11 +4491,11 @@ "\n" " Continuer l'opération de suppression multiple ?" -#: src/utilops.c:531 src/utilops.c:955 +#: src/utilops.c:538 src/utilops.c:961 msgid "Co_ntinue" msgstr "Co_ntinuer" -#: src/utilops.c:709 +#: src/utilops.c:715 #, c-format msgid "" "Removal of folder contents failed at this file:\n" @@ -4538,7 +4506,7 @@ "\n" "%s" -#: src/utilops.c:844 +#: src/utilops.c:850 #, c-format msgid "" "%s\n" @@ -4547,168 +4515,220 @@ "%s\n" "Impossible de démarrer la commande externe.\n" -#: src/utilops.c:923 +#: src/utilops.c:929 #, c-format msgid "%s is not a directory" msgstr "%s n'est pas un répertoire" -#: src/utilops.c:953 +#: src/utilops.c:959 msgid "Really continue?" msgstr "Vraiment continuer ?" -#: src/utilops.c:967 +#: src/utilops.c:973 msgid "This operation can't continue:" msgstr "Cette opération ne peut continuer:" -#: src/utilops.c:1328 src/utilops.c:1422 +#: src/utilops.c:1336 src/utilops.c:1449 src/utilops.c:1846 +msgid "Discard changes" +msgstr "Ignorer les changements" + +#: src/utilops.c:1337 src/utilops.c:1450 src/utilops.c:1797 src/utilops.c:1813 +msgid "File details" +msgstr "Détails du fichier" + +#: src/utilops.c:1359 src/utilops.c:1457 msgid "Sidecars" msgstr "Sidecars" -#: src/utilops.c:1330 +#: src/utilops.c:1361 msgid "Write to file" msgstr "Écrire dans le fichier" -#: src/utilops.c:1370 +#: src/utilops.c:1401 msgid "Choose the destination folder." msgstr "Choisir le dossier de destination." -#: src/utilops.c:1424 +#: src/utilops.c:1459 msgid "New name" msgstr "Nouveau nom" -#: src/utilops.c:1454 +#: src/utilops.c:1489 msgid "Manual rename" msgstr "Renommage manuel" -#: src/utilops.c:1459 +#: src/utilops.c:1494 msgid "Original name:" msgstr "Nom d'origine :" -#: src/utilops.c:1462 +#: src/utilops.c:1497 msgid "New name:" msgstr "Nouveau nom :" -#: src/utilops.c:1475 +#: src/utilops.c:1510 msgid "Auto rename" msgstr "Renommage auto" -#: src/utilops.c:1481 +#: src/utilops.c:1516 msgid "Begin text" msgstr "Texte de début" -#: src/utilops.c:1489 src/utilops.c:1521 +#: src/utilops.c:1524 src/utilops.c:1556 msgid "Start #" msgstr "N° début" -#: src/utilops.c:1495 +#: src/utilops.c:1530 msgid "End text" msgstr "Texte de fin" -#: src/utilops.c:1503 +#: src/utilops.c:1538 msgid "Padding:" msgstr "Bourrage :" -#: src/utilops.c:1508 +#: src/utilops.c:1543 msgid "Formatted rename" msgstr "Renommage formaté" -#: src/utilops.c:1513 +#: src/utilops.c:1548 msgid "Format (* = original name, ## = numbers)" msgstr "Format (* = nom original, ## = nombres)" -#: src/utilops.c:1603 +#: src/utilops.c:1686 msgid "Another operation in progress.\n" msgstr "Autre opération en cours\n" -#: src/utilops.c:1651 +#: src/utilops.c:1756 +#, c-format +msgid "File: '%s'\n" +msgstr "Fichier: « %s »\n" + +#: src/utilops.c:1761 +msgid "with sidecar files:\n" +msgstr "avec les fichiers sidecars:\n" + +#: src/utilops.c:1767 +#, c-format +msgid " '%s'\n" +msgstr "« %s »\n" + +#: src/utilops.c:1771 +msgid "" +"\n" +"Status: " +msgstr "" +"\n" +"Etat:" + +#: src/utilops.c:1783 +msgid "no problem detected" +msgstr "aucun problème détecté" + +#: src/utilops.c:1799 src/utilops.c:1845 +msgid "Exclude file" +msgstr "Exclure le fichier" + +#: src/utilops.c:1843 src/utilops.c:1868 +msgid "Overview of changed metadata" +msgstr "Aperçu des méta-données modifiées" + +#: src/utilops.c:1861 +#, c-format +msgid "The following metadata tags will be written to '%s'." +msgstr "Les méta-données suivantes seront écrites dans « %s »." + +#: src/utilops.c:1865 +#, c-format +msgid "The following metadata tags will be written to the image file itself." +msgstr "Les méta-données suivantes seront écrites dans le fichier de l'image." + +#: src/utilops.c:1953 msgid "Delete files?" msgstr "Supprimer les fichiers ?" -#: src/utilops.c:1652 +#: src/utilops.c:1954 msgid "This will delete the following files" msgstr "Ceci supprimera les fichiers suivants" -#: src/utilops.c:1671 +#: src/utilops.c:1974 msgid "Can't write metadata" msgstr "Impossible d'écrire les méta-données" -#: src/utilops.c:1690 +#: src/utilops.c:1997 msgid "Write metadata" msgstr "Écrire les méta-données" -#: src/utilops.c:1691 +#: src/utilops.c:1998 msgid "Write metadata?" msgstr "Écrire les méta-données ?" -#: src/utilops.c:1692 +#: src/utilops.c:1999 msgid "This will write the changed metadata into the following files" msgstr "Cela écrira les méta-données modifiées dans les fichiers suivants" -#: src/utilops.c:1694 +#: src/utilops.c:2001 msgid "Metadata writting failed" msgstr "Échec de l'écriture des méta-données" -#: src/utilops.c:1714 src/utilops.c:1736 +#: src/utilops.c:2021 src/utilops.c:2043 msgid "Move failed" msgstr "Échec du déplacement" -#: src/utilops.c:1733 +#: src/utilops.c:2040 msgid "Move files?" msgstr "Déplacer les fichiers ?" -#: src/utilops.c:1734 +#: src/utilops.c:2041 msgid "This will move the following files" msgstr "Ceci déplacera les fichiers suivants" -#: src/utilops.c:1755 src/utilops.c:1777 +#: src/utilops.c:2062 src/utilops.c:2084 msgid "Copy failed" msgstr "Échec de la copie" -#: src/utilops.c:1774 +#: src/utilops.c:2081 msgid "Copy files?" msgstr "Copier les fichiers ?" -#: src/utilops.c:1775 src/utilops.c:1864 +#: src/utilops.c:2082 src/utilops.c:2175 msgid "This will copy the following files" msgstr "Ceci copiera les fichiers suivants" -#: src/utilops.c:1812 src/utilops.c:2236 +#: src/utilops.c:2121 src/utilops.c:2547 msgid "Rename" msgstr "Renommer" -#: src/utilops.c:1813 +#: src/utilops.c:2122 msgid "Rename files?" msgstr "Renommer les fichiers ?" -#: src/utilops.c:1814 +#: src/utilops.c:2123 msgid "This will rename the following files" msgstr "Ceci renommera les fichiers suivants" -#: src/utilops.c:1835 +#: src/utilops.c:2144 msgid "Can't run external editor" msgstr "Ne peut exécuter l'éditeur externe." -#: src/utilops.c:1862 +#: src/utilops.c:2173 msgid "Editor" msgstr "Éditeur" -#: src/utilops.c:1863 +#: src/utilops.c:2174 msgid "Run editor?" msgstr "Exécuter l'éditeur ?" -#: src/utilops.c:1866 +#: src/utilops.c:2177 msgid "External command failed" msgstr "Échec de la commande externe" -#: src/utilops.c:2035 src/utilops.c:2108 +#: src/utilops.c:2346 src/utilops.c:2419 msgid "Delete folder" msgstr "Supprimer un dossier" -#: src/utilops.c:2036 +#: src/utilops.c:2347 msgid "Delete symbolic link?" msgstr "Supprimer le lien symbolique ?" -#: src/utilops.c:2038 +#: src/utilops.c:2349 msgid "" "This will delete the symbolic link.\n" "The folder this link points to will not be deleted." @@ -4716,11 +4736,11 @@ "Cela supprimera le lien symbolique.\n" "Le dossier pointé par ce lien symbolique ne sera pas supprimé." -#: src/utilops.c:2040 +#: src/utilops.c:2351 msgid "Link deletion failed" msgstr "La suppression du lien a échoué" -#: src/utilops.c:2050 +#: src/utilops.c:2361 #, c-format msgid "" "Unable to remove folder %s\n" @@ -4729,16 +4749,16 @@ "Impossible de supprimer le dossier %s\n" "Pas de permission pour l'écriture." -#: src/utilops.c:2062 src/utilops.c:2119 +#: src/utilops.c:2373 src/utilops.c:2430 #, c-format msgid "Unable to list contents of folder %s" msgstr "Impossible de lister le contenu du dossier %s" -#: src/utilops.c:2076 src/utilops.c:2084 +#: src/utilops.c:2387 src/utilops.c:2395 msgid "Folder contains subfolders" msgstr "Dossier contenant des sous-dossiers" -#: src/utilops.c:2080 +#: src/utilops.c:2391 #, c-format msgid "" "Unable to delete the folder:\n" @@ -4754,19 +4774,19 @@ "Ce dossier contient des sous-dossiers qui doivent être déplacés avant sa " "suppression." -#: src/utilops.c:2088 +#: src/utilops.c:2399 msgid "Subfolders:" msgstr "Sous-dossiers:" -#: src/utilops.c:2109 +#: src/utilops.c:2420 msgid "Delete folder?" msgstr "Supprimer le dossier ?" -#: src/utilops.c:2110 +#: src/utilops.c:2421 msgid "The folder contains these files:" msgstr "Ce dossier contient ces fichiers:" -#: src/utilops.c:2111 +#: src/utilops.c:2422 msgid "" "This will delete the folder.\n" "The contents of this folder will also be deleted." @@ -4774,23 +4794,23 @@ "Cela supprimera le dossier.\n" "Le contenu de ce dossier sera aussi supprimé." -#: src/utilops.c:2237 +#: src/utilops.c:2548 msgid "Rename folder?" msgstr "Renommer le dossier ?" -#: src/utilops.c:2238 +#: src/utilops.c:2549 msgid "The folder contains the following files" msgstr "Ce dossier contient les fichiers suivants" -#: src/utilops.c:2284 +#: src/utilops.c:2595 msgid "Create Folder" msgstr "Créer un dossier" -#: src/utilops.c:2285 +#: src/utilops.c:2596 msgid "Create folder?" msgstr "Créer un dossier ?" -#: src/utilops.c:2288 +#: src/utilops.c:2599 msgid "Can't create folder" msgstr "Impossible de créer le dossier" @@ -4870,73 +4890,3 @@ #: src/window.c:251 msgid "Help" msgstr "Aide" - -#~ msgid "Delete \"%s\"" -#~ msgstr "Supprimer « %s »" - -#~ msgid "Reset editors" -#~ msgstr "RAZ des éditeurs" - -#~ msgid "" -#~ "This will reset the edit commands to the defaults.\n" -#~ "Continue?" -#~ msgstr "" -#~ "Ceci va remettre les commandes d'édition à leur état par défaut.\n" -#~ "Continuer ?" - -#~ msgid "Startup" -#~ msgstr "Démarrage" - -#~ msgid "Restore folder on startup" -#~ msgstr "Restaurer le répertoire au démarrage" - -#~ msgid "Cache thumbnails into .thumbnails" -#~ msgstr "Mettre en cache les vignettes dans .thumbnails" - -#~ msgid "Faster jpeg thumbnailing (may reduce quality)" -#~ msgstr "Vignettes JPEG plus rapides (qualité dégradée)" - -#~ msgid "Two pass zooming" -#~ msgstr "Zoom en 2 passes" - -#~ msgid "Scroll reset method:" -#~ msgstr "Méthode de ré-initialisation du défilement:" - -#~ msgid "Top left" -#~ msgstr "Haut gauche" - -#~ msgid "Center" -#~ msgstr "Centre" - -#~ msgid "Filtering" -#~ msgstr "Filtres" - -#~ msgid "#" -#~ msgstr "N°" - -#~ msgid "Command Line" -#~ msgstr "Ligne de commande" - -#~ msgid "What to show in properties dialog:" -#~ msgstr "Que montrer dans le dialogue Propriétés:" - -#~ msgid "Advanced" -#~ msgstr "Avancées" - -#~ msgid "" -#~ "Show \"Copy path\" menu item which write the path of selected files to " -#~ "clipboard" -#~ msgstr "" -#~ "Montrer l'entrée de menu \"Copier chemin\" qui écrit le chemin des " -#~ "fichiers sélectionnés dans le presse-papiers" - -#~ msgid "Store metadata and cache files in source image's directory" -#~ msgstr "" -#~ "Enregistrer les fichiers de cache et de méta-données dans le répertoire " -#~ "des images source" - -#~ msgid "Image read buffer size (bytes):" -#~ msgstr "Taille du tampon de lecture des images (octets):" - -#~ msgid "Image idle loop read count:" -#~ msgstr "Compteur de la boucle de lecture des images lorsque inoccupé:"
--- a/src/Makefile.am Fri May 01 15:49:06 2009 +0900 +++ b/src/Makefile.am Fri May 01 15:49:32 2009 +0900 @@ -18,6 +18,7 @@ module_SLIK = \ intl.h \ + gettext.h \ ui_bookmark.c \ ui_bookmark.h \ ui_fileops.c \
--- a/src/bar.c Fri May 01 15:49:06 2009 +0900 +++ b/src/bar.c Fri May 01 15:49:32 2009 +0900 @@ -95,7 +95,7 @@ " <entry key = 'formatted.ColorProfile' if_set = 'true' editable = 'false' />" " <entry key = 'formatted.SubjectDistance' if_set = 'true' editable = 'false' />" " <entry key = 'formatted.Resolution' if_set = 'true' editable = 'false' />" -" <entry key = 'Exif.Image.Orientation' if_set = 'true' editable = 'false' />" +" <entry key = '" ORIENTATION_KEY "' if_set = 'true' editable = 'false' />" " </pane_exif>" " </bar>" " </layout>"
--- a/src/bar_exif.c Fri May 01 15:49:06 2009 +0900 +++ b/src/bar_exif.c Fri May 01 15:49:32 2009 +0900 @@ -235,16 +235,12 @@ g_signal_handlers_block_by_func(ee->value_widget, bar_pane_exif_entry_changed, ee); gtk_entry_set_text(GTK_ENTRY(ee->value_widget), text ? text : ""); g_signal_handlers_unblock_by_func(ee->value_widget, bar_pane_exif_entry_changed, ee); -#if GTK_CHECK_VERSION(2,12,0) gtk_widget_set_tooltip_text(ee->box, NULL); -#endif } else { gtk_label_set_text(GTK_LABEL(ee->value_widget), text); -#if GTK_CHECK_VERSION(2,12,0) gtk_widget_set_tooltip_text(ee->box, text); -#endif } gtk_widget_show(entry); ped->all_hidden = FALSE;
--- a/src/cellrenderericon.c Fri May 01 15:49:06 2009 +0900 +++ b/src/cellrenderericon.c Fri May 01 15:49:32 2009 +0900 @@ -149,48 +149,48 @@ g_object_class_install_property(object_class, PROP_PIXBUF, g_param_spec_object("pixbuf", - _("Pixbuf Object"), - _("The pixbuf to render"), + "Pixbuf Object", + "The pixbuf to render", GDK_TYPE_PIXBUF, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_TEXT, g_param_spec_string("text", - _("Text"), - _("Text to render"), + "Text", + "Text to render", NULL, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_BACKGROUND_GDK, g_param_spec_boxed("background_gdk", - _("Background color"), - _("Background color as a GdkColor"), + "Background color", + "Background color as a GdkColor", GDK_TYPE_COLOR, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_FOREGROUND_GDK, g_param_spec_boxed("foreground_gdk", - _("Foreground color"), - _("Foreground color as a GdkColor"), + "Foreground color", + "Foreground color as a GdkColor", GDK_TYPE_COLOR, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_FOCUSED, g_param_spec_boolean("has_focus", - _("Focus"), - _("Draw focus indicator"), + "Focus", + "Draw focus indicator", FALSE, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_FIXED_WIDTH, g_param_spec_int("fixed_width", - _("Fixed width"), - _("Width of cell"), + "Fixed width", + "Width of cell", -1, FIXED_ICON_SIZE_MAX, -1, G_PARAM_READWRITE)); @@ -198,8 +198,8 @@ g_object_class_install_property(object_class, PROP_FIXED_HEIGHT, g_param_spec_int("fixed_height", - _("Fixed height"), - _("Height of icon excluding text"), + "Fixed height", + "Height of icon excluding text", -1, FIXED_ICON_SIZE_MAX, -1, G_PARAM_READWRITE)); @@ -207,40 +207,40 @@ g_object_class_install_property(object_class, PROP_BACKGROUND_SET, g_param_spec_boolean("background_set", - _("Background set"), - _("Whether this tag affects the background color"), + "Background set", + "Whether this tag affects the background color", FALSE, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_FOREGROUND_SET, g_param_spec_boolean("foreground_set", - _("Foreground set"), - _("Whether this tag affects the foreground color"), + "Foreground set", + "Whether this tag affects the foreground color", FALSE, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_SHOW_TEXT, g_param_spec_boolean("show_text", - _("Show text"), - _("Whether the text is displayed"), + "Show text", + "Whether the text is displayed", TRUE, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_SHOW_MARKS, g_param_spec_boolean("show_marks", - _("Show marks"), - _("Whether the marks are displayed"), + "Show marks", + "Whether the marks are displayed", TRUE, G_PARAM_READWRITE)); g_object_class_install_property(object_class, PROP_NUM_MARKS, g_param_spec_int("num_marks", - _("Number of marks"), - _("Number of marks"), + "Number of marks", + "Number of marks", 0, 32, 6, G_PARAM_READWRITE)); @@ -248,8 +248,8 @@ g_object_class_install_property(object_class, PROP_MARKS, g_param_spec_uint("marks", - _("Marks"), - _("Marks bit array"), + "Marks", + "Marks bit array", 0, 0xffffffff, 0, G_PARAM_READWRITE)); @@ -257,8 +257,8 @@ g_object_class_install_property(object_class, PROP_TOGGLED, g_param_spec_uint("toggled_mark", - _("Toggled mark"), - _("Toggled mark"), + "Toggled mark", + "Toggled mark", 0, 32, 0, G_PARAM_READWRITE));
--- a/src/compat.c Fri May 01 15:49:06 2009 +0900 +++ b/src/compat.c Fri May 01 15:49:32 2009 +0900 @@ -35,4 +35,24 @@ } #endif } + +#if !GLIB_CHECK_VERSION(2, 14, 0) +static void hash_table_add(gpointer key, gpointer value, gpointer user_data) +{ + GList **list = user_data; + *list = g_list_prepend(*list, key); +} +#endif + +GList* hash_table_get_keys(GHashTable *hash_table) +{ +#if GLIB_CHECK_VERSION(2, 14, 0) + return g_hash_table_get_keys(hash_table); +#else + GList *list = NULL; + g_hash_table_foreach(hash_table, hash_table_add, &list); + return list; +#endif +} + /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/compat.h Fri May 01 15:49:06 2009 +0900 +++ b/src/compat.h Fri May 01 15:49:32 2009 +0900 @@ -14,6 +14,12 @@ #define COMPAT_H void radio_action_set_current_value(GtkRadioAction *action, gint current_value); +GList* hash_table_get_keys(GHashTable *hash_table); + +#if !GTK_CHECK_VERSION(2,12,0) +#define gtk_widget_set_tooltip_text(widget, text) /* ignored */ +#endif + #endif /* COMPAT_H */ /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/desktop_file.c Fri May 01 15:49:06 2009 +0900 +++ b/src/desktop_file.c Fri May 01 15:49:32 2009 +0900 @@ -113,6 +113,9 @@ { editor_window_save(ew); } + + gtk_widget_set_sensitive(ew->save_button, FALSE); + ew->modified = FALSE; } static void editor_window_text_modified_cb(GtkWidget *widget, gpointer data) @@ -205,7 +208,7 @@ gtk_widget_show(ew->save_button); ct_button = ew->save_button; - button = pref_button_new(NULL, GTK_STOCK_CANCEL, NULL, FALSE, + button = pref_button_new(NULL, GTK_STOCK_CLOSE, NULL, FALSE, G_CALLBACK(editor_window_close_cb), ew); gtk_container_add(GTK_CONTAINER(button_hbox), button); GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
--- a/src/exif.c Fri May 01 15:49:06 2009 +0900 +++ b/src/exif.c Fri May 01 15:49:32 2009 +0900 @@ -1605,6 +1605,9 @@ if (!key) return NULL; + /* convert xmp key to exif key */ + if (strcmp(key, "Xmp.tiff.Orientation") == 0) key = "Exif.Image.Orientation"; + if (format == METADATA_FORMATTED) { gchar *text;
--- a/src/exiv2.cc Fri May 01 15:49:06 2009 +0900 +++ b/src/exiv2.cc Fri May 01 15:49:32 2009 +0900 @@ -982,12 +982,12 @@ #if EXIV2_TEST_VERSION(0,16,0) Exiv2::Xmpdatum *xmpdatum; #endif - if ((exifdatum = dynamic_cast<Exiv2::Exifdatum *>(metadatum))) + if ((exifdatum = dynamic_cast<Exiv2::Exifdatum *>(&item))) stream << *exifdatum; - else if ((iptcdatum = dynamic_cast<Exiv2::Iptcdatum *>(metadatum))) + else if ((iptcdatum = dynamic_cast<Exiv2::Iptcdatum *>(&item))) stream << *iptcdatum; #if EXIV2_TEST_VERSION(0,16,0) - else if ((xmpdatum = dynamic_cast<Exiv2::Xmpdatum *>(metadatum))) + else if ((xmpdatum = dynamic_cast<Exiv2::Xmpdatum *>(&item))) stream << *xmpdatum; #endif str = stream.str();
--- a/src/image-load.c Fri May 01 15:49:06 2009 +0900 +++ b/src/image-load.c Fri May 01 15:49:32 2009 +0900 @@ -96,7 +96,7 @@ il->data_mutex = g_mutex_new(); il->can_destroy_cond = g_cond_new(); #endif - DEBUG_1("new image loader %p, bufsize=%u idle_loop=%u", il, il->read_buffer_size, il->idle_read_loop_count); + DEBUG_1("new image loader %p, bufsize=%" G_GSIZE_FORMAT " idle_loop=%u", il, il->read_buffer_size, il->idle_read_loop_count); } static void image_loader_class_init(ImageLoaderClass *class) @@ -160,7 +160,7 @@ if (il->error) DEBUG_1("%s", image_loader_get_error(il)); - DEBUG_1("freeing image loader %p bytes_read=%d", il, il->bytes_read); + DEBUG_1("freeing image loader %p bytes_read=%" G_GSIZE_FORMAT, il, il->bytes_read); if (il->idle_done_id) { @@ -619,9 +619,9 @@ ExifData *exif = exif_read_fd(il->fd); if (options->thumbnails.use_exif) - il->mapped_file = exif_get_preview(exif, &il->bytes_total, il->requested_width, il->requested_height); + il->mapped_file = exif_get_preview(exif, (guint *)&il->bytes_total, il->requested_width, il->requested_height); else - il->mapped_file = exif_get_preview(exif, &il->bytes_total, 0, 0); /* get the largest available preview image or NULL for normal images*/ + il->mapped_file = exif_get_preview(exif, (guint *)&il->bytes_total, 0, 0); /* get the largest available preview image or NULL for normal images*/ if (il->mapped_file) {
--- a/src/image-load.h Fri May 01 15:49:06 2009 +0900 +++ b/src/image-load.h Fri May 01 15:49:32 2009 +0900 @@ -58,7 +58,7 @@ guchar *mapped_file; gsize read_buffer_size; - gint idle_read_loop_count; + guint idle_read_loop_count; }; struct _ImageLoaderClass {
--- a/src/image.c Fri May 01 15:49:06 2009 +0900 +++ b/src/image.c Fri May 01 15:49:32 2009 +0900 @@ -405,10 +405,18 @@ break; } - if (type != ALTER_NONE && type != ALTER_DESATURATE) + if (imd->orientation != imd->image_fd->exif_orientation ? imd->image_fd->exif_orientation : 1) { - if (imd->image_fd->user_orientation == 0) file_data_ref(imd->image_fd); - imd->image_fd->user_orientation = imd->orientation; + if (!options->metadata.write_orientation) + { + /* user_orientation does not work together with options->metadata.write_orientation, + use either one or the other. + we must however handle switching metadata.write_orientation on and off, therefore + we just disable referencing new fd's, not unreferencing the old ones + */ + if (imd->image_fd->user_orientation == 0) file_data_ref(imd->image_fd); + imd->image_fd->user_orientation = imd->orientation; + } } else { @@ -416,6 +424,18 @@ imd->image_fd->user_orientation = 0; } + if (options->metadata.write_orientation) + { + if (type == ALTER_NONE) + { + metadata_write_revert(imd->image_fd, ORIENTATION_KEY); + } + else + { + metadata_write_int(imd->image_fd, ORIENTATION_KEY, imd->orientation); + } + } + pixbuf_renderer_set_orientation((PixbufRenderer *)imd->pr, imd->orientation); if (imd->cm || imd->desaturate) pixbuf_renderer_set_post_process_func((PixbufRenderer *)imd->pr, image_post_process_tile_color_cb, (gpointer) imd, (imd->cm != NULL) ); @@ -1073,7 +1093,7 @@ } else if (options->image.exif_rotate_enable) { - imd->orientation = metadata_read_int(imd->image_fd, "Exif.Image.Orientation", EXIF_ORIENTATION_TOP_LEFT); + imd->orientation = metadata_read_int(imd->image_fd, ORIENTATION_KEY, EXIF_ORIENTATION_TOP_LEFT); imd->image_fd->exif_orientation = imd->orientation; } }
--- a/src/layout.c Fri May 01 15:49:06 2009 +0900 +++ b/src/layout.c Fri May 01 15:49:32 2009 +0900 @@ -924,6 +924,7 @@ gboolean layout_set_fd(LayoutWindow *lw, FileData *fd) { gboolean have_file = FALSE; + gboolean dir_changed = TRUE; if (!layout_valid(&lw)) return FALSE; @@ -951,6 +952,7 @@ if (lw->dir_fd && strcmp(lw->dir_fd->path, base) == 0) { g_free(base); + dir_changed = FALSE; } else if (isdir(base)) { @@ -994,7 +996,7 @@ layout_image_set_index(lw, 0); } - if (options->metadata.confirm_on_dir_change) + if (options->metadata.confirm_on_dir_change && dir_changed) metadata_write_queue_confirm(NULL, NULL); return TRUE;
--- a/src/main.h Fri May 01 15:49:06 2009 +0900 +++ b/src/main.h Fri May 01 15:49:32 2009 +0900 @@ -57,6 +57,7 @@ #include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk-pixbuf/gdk-pixbuf-loader.h> +#include "compat.h" /* *----------------------------------------------------------------------------
--- a/src/metadata.c Fri May 01 15:49:06 2009 +0900 +++ b/src/metadata.c Fri May 01 15:49:32 2009 +0900 @@ -189,6 +189,25 @@ return FALSE; } +gboolean metadata_write_revert(FileData *fd, const gchar *key) +{ + if (!fd->modified_xmp) return FALSE; + + g_hash_table_remove(fd->modified_xmp, key); + + if (g_hash_table_size(fd->modified_xmp) == 0) + { + metadata_write_queue_remove(fd); + } + else + { + /* reread the metadata to restore the original value */ + file_data_increment_version(fd); + file_data_send_notification(fd, NOTIFY_REREAD); + } + return TRUE; +} + gboolean metadata_write_list(FileData *fd, const gchar *key, const GList *values) { if (!fd->modified_xmp) @@ -231,6 +250,13 @@ return ret; } +gboolean metadata_write_int(FileData *fd, const gchar *key, guint64 value) +{ + gchar string[50]; + + g_snprintf(string, sizeof(string), "%ld", value); + return metadata_write_string(fd, key, string); +} /* *-------------------------------------------------------------------
--- a/src/metadata.h Fri May 01 15:49:06 2009 +0900 +++ b/src/metadata.h Fri May 01 15:49:32 2009 +0900 @@ -16,6 +16,7 @@ #define COMMENT_KEY "Xmp.dc.description" #define KEYWORD_KEY "Xmp.dc.subject" +#define ORIENTATION_KEY "Xmp.tiff.Orientation" gboolean metadata_write_queue_remove(FileData *fd); gboolean metadata_write_queue_remove_list(GList *list); @@ -24,8 +25,10 @@ gint metadata_queue_length(void); +gboolean metadata_write_revert(FileData *fd, const gchar *key); gboolean metadata_write_list(FileData *fd, const gchar *key, const GList *values); gboolean metadata_write_string(FileData *fd, const gchar *key, const char *value); +gboolean metadata_write_int(FileData *fd, const gchar *key, guint64 value); GList *metadata_read_list(FileData *fd, const gchar *key, MetadataFormat format); gchar *metadata_read_string(FileData *fd, const gchar *key, MetadataFormat format);
--- a/src/options.c Fri May 01 15:49:06 2009 +0900 +++ b/src/options.c Fri May 01 15:49:32 2009 +0900 @@ -104,6 +104,7 @@ options->metadata.confirm_on_image_change = FALSE; options->metadata.confirm_on_dir_change = TRUE; options->metadata.tags_case_sensitive = FALSE; + options->metadata.write_orientation = TRUE; options->show_icon_names = TRUE;
--- a/src/options.h Fri May 01 15:49:06 2009 +0900 +++ b/src/options.h Fri May 01 15:49:32 2009 +0900 @@ -178,6 +178,7 @@ gboolean confirm_on_image_change; gboolean confirm_on_dir_change; gboolean tags_case_sensitive; + gboolean write_orientation; } metadata; };
--- a/src/preferences.c Fri May 01 15:49:06 2009 +0900 +++ b/src/preferences.c Fri May 01 15:49:32 2009 +0900 @@ -325,6 +325,7 @@ options->metadata.confirm_on_image_change = c_options->metadata.confirm_on_image_change; options->metadata.confirm_on_dir_change = c_options->metadata.confirm_on_dir_change; options->metadata.tags_case_sensitive = c_options->metadata.tags_case_sensitive; + options->metadata.write_orientation = c_options->metadata.write_orientation; #ifdef DEBUG set_debug_level(debug_c); @@ -1369,6 +1370,9 @@ pref_checkbox_new_int(group, _("Allow keywords to differ only in case"), options->metadata.tags_case_sensitive, &c_options->metadata.tags_case_sensitive); + + pref_checkbox_new_int(group, _("Write altered image orientation to the metadata"), + options->metadata.write_orientation, &c_options->metadata.write_orientation); } /* metadata tab */
--- a/src/rcfile.c Fri May 01 15:49:06 2009 +0900 +++ b/src/rcfile.c Fri May 01 15:49:32 2009 +0900 @@ -438,6 +438,7 @@ WRITE_NL(); WRITE_BOOL(*options, metadata.confirm_on_image_change); WRITE_NL(); WRITE_BOOL(*options, metadata.confirm_on_dir_change); WRITE_NL(); WRITE_BOOL(*options, metadata.tags_case_sensitive); + WRITE_NL(); WRITE_BOOL(*options, metadata.write_orientation); } @@ -697,6 +698,7 @@ if (READ_BOOL(*options, metadata.confirm_on_image_change)) continue; if (READ_BOOL(*options, metadata.confirm_on_dir_change)) continue; if (READ_BOOL(*options, metadata.tags_case_sensitive)) continue; + if (READ_BOOL(*options, metadata.write_orientation)) continue; log_printf("unknown attribute %s = %s\n", option, value); }
--- a/src/remote.c Fri May 01 15:49:06 2009 +0900 +++ b/src/remote.c Fri May 01 15:49:32 2009 +0900 @@ -67,8 +67,6 @@ if (condition & G_IO_IN) { - GList *queue = NULL; - GList *work; gchar *buffer = NULL; GError *error = NULL; gsize termpos; @@ -81,12 +79,11 @@ if (strlen(buffer) > 0) { - queue = g_list_append(queue, buffer); + if (rc->read_func) rc->read_func(rc, buffer, source, rc->read_data); + g_io_channel_write_chars(source, "\n", -1, NULL, NULL); /* empty line finishes the command */ + g_io_channel_flush(source, NULL); } - else - { - g_free(buffer); - } + g_free(buffer); buffer = NULL; } @@ -97,18 +94,6 @@ log_printf("error reading socket: %s\n", error->message); g_error_free(error); } - - work = queue; - while (work) - { - gchar *command = work->data; - work = work->next; - - if (rc->read_func) rc->read_func(rc, command, rc->read_data); - g_free(command); - } - - g_list_free(queue); } if (condition & G_IO_HUP || status == G_IO_STATUS_EOF || status == G_IO_STATUS_ERROR) @@ -279,9 +264,6 @@ rc->fd = fd; rc->path = g_strdup(path); - /* this might fix the freezes on freebsd, solaris, etc. - completely untested */ - remote_client_send(rc, "\n"); - return rc; } @@ -296,6 +278,8 @@ { struct sigaction new_action, old_action; gboolean ret = FALSE; + GError *error = NULL; + GIOChannel *channel; if (!rc || rc->server) return FALSE; if (!text) return TRUE; @@ -309,17 +293,16 @@ /* setup our signal handler */ sigaction(SIGPIPE, &new_action, &old_action); - if (write(rc->fd, text, strlen(text)) == -1 || - write(rc->fd, "\n", 1) == -1) + channel = g_io_channel_unix_new(rc->fd); + + g_io_channel_write_chars(channel, text, -1, NULL, &error); + g_io_channel_write_chars(channel, "\n", -1, NULL, &error); + g_io_channel_flush(channel, &error); + + if (error) { - if (sigpipe_occured) - { - log_printf("SIGPIPE writing to socket: %s\n", rc->path); - } - else - { - log_printf("error writing to socket: %s\n", strerror(errno)); - } + log_printf("error reading socket: %s\n", error->message); + g_error_free(error); ret = FALSE;; } else @@ -327,9 +310,39 @@ ret = TRUE; } + if (ret) + { + gchar *buffer = NULL; + gsize termpos; + while (g_io_channel_read_line(channel, &buffer, NULL, &termpos, &error) == G_IO_STATUS_NORMAL) + { + if (buffer) + { + if (buffer[0] == '\n') /* empty line finishes the command */ + { + g_free(buffer); + fflush(stdout); + break; + } + buffer[termpos] = '\0'; + printf("%s\n", buffer); + g_free(buffer); + buffer = NULL; + } + } + + if (error) + { + log_printf("error reading socket: %s\n", error->message); + g_error_free(error); + ret = FALSE; + } + } + + /* restore the original signal handler */ sigaction(SIGPIPE, &old_action, NULL); - + g_io_channel_unref(channel); return ret; } @@ -360,42 +373,42 @@ *----------------------------------------------------------------------------- */ -static void gr_image_next(const gchar *text, gpointer data) +static void gr_image_next(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_next(NULL); } -static void gr_image_prev(const gchar *text, gpointer data) +static void gr_image_prev(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_prev(NULL); } -static void gr_image_first(const gchar *text, gpointer data) +static void gr_image_first(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_first(NULL); } -static void gr_image_last(const gchar *text, gpointer data) +static void gr_image_last(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_last(NULL); } -static void gr_fullscreen_toggle(const gchar *text, gpointer data) +static void gr_fullscreen_toggle(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_full_screen_toggle(NULL); } -static void gr_fullscreen_start(const gchar *text, gpointer data) +static void gr_fullscreen_start(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_full_screen_start(NULL); } -static void gr_fullscreen_stop(const gchar *text, gpointer data) +static void gr_fullscreen_stop(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_full_screen_stop(NULL); } -static void gr_slideshow_start_rec(const gchar *text, gpointer data) +static void gr_slideshow_start_rec(const gchar *text, GIOChannel *channel, gpointer data) { GList *list; FileData *dir_fd = file_data_new_simple(text); @@ -407,22 +420,22 @@ layout_image_slideshow_start_from_list(NULL, list); } -static void gr_slideshow_toggle(const gchar *text, gpointer data) +static void gr_slideshow_toggle(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_slideshow_toggle(NULL); } -static void gr_slideshow_start(const gchar *text, gpointer data) +static void gr_slideshow_start(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_slideshow_start(NULL); } -static void gr_slideshow_stop(const gchar *text, gpointer data) +static void gr_slideshow_stop(const gchar *text, GIOChannel *channel, gpointer data) { layout_image_slideshow_stop(NULL); } -static void gr_slideshow_delay(const gchar *text, gpointer data) +static void gr_slideshow_delay(const gchar *text, GIOChannel *channel, gpointer data) { gdouble n; @@ -436,7 +449,7 @@ options->slideshow.delay = (gint)(n * 10.0 + 0.01); } -static void gr_tools_show(const gchar *text, gpointer data) +static void gr_tools_show(const gchar *text, GIOChannel *channel, gpointer data) { gboolean popped; gboolean hidden; @@ -447,7 +460,7 @@ } } -static void gr_tools_hide(const gchar *text, gpointer data) +static void gr_tools_hide(const gchar *text, GIOChannel *channel, gpointer data) { gboolean popped; gboolean hidden; @@ -465,7 +478,7 @@ return FALSE; } -static void gr_quit(const gchar *text, gpointer data) +static void gr_quit(const gchar *text, GIOChannel *channel, gpointer data) { /* schedule exit when idle, if done from within a * remote handler remote_close will crash @@ -473,7 +486,7 @@ g_idle_add(gr_quit_idle_cb, NULL); } -static void gr_file_load(const gchar *text, gpointer data) +static void gr_file_load(const gchar *text, GIOChannel *channel, gpointer data) { gchar *filename = expand_tilde(text); @@ -500,7 +513,7 @@ g_free(filename); } -static void gr_config_load(const gchar *text, gpointer data) +static void gr_config_load(const gchar *text, GIOChannel *channel, gpointer data) { gchar *filename = expand_tilde(text); @@ -516,7 +529,43 @@ g_free(filename); } -static void gr_file_view(const gchar *text, gpointer data) +static void gr_get_sidecars(const gchar *text, GIOChannel *channel, gpointer data) +{ + gchar *filename = expand_tilde(text); + FileData *fd = file_data_new_simple(filename); + + GList *work; + if (fd->parent) fd = fd->parent; + + g_io_channel_write_chars(channel, fd->path, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + + work = fd->sidecar_files; + + while (work) + { + fd = work->data; + work = work->next; + g_io_channel_write_chars(channel, fd->path, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + } + g_free(filename); +} + +static void gr_get_destination(const gchar *text, GIOChannel *channel, gpointer data) +{ + gchar *filename = expand_tilde(text); + FileData *fd = file_data_new_simple(filename); + + if (fd->change && fd->change->dest) + { + g_io_channel_write_chars(channel, fd->change->dest, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + } + g_free(filename); +} + +static void gr_file_view(const gchar *text, GIOChannel *channel, gpointer data) { gchar *filename = expand_tilde(text); @@ -524,7 +573,7 @@ g_free(filename); } -static void gr_list_clear(const gchar *text, gpointer data) +static void gr_list_clear(const gchar *text, GIOChannel *channel, gpointer data) { RemoteData *remote_data = data; @@ -535,7 +584,7 @@ } } -static void gr_list_add(const gchar *text, gpointer data) +static void gr_list_add(const gchar *text, GIOChannel *channel, gpointer data) { RemoteData *remote_data = data; gboolean new = TRUE; @@ -565,7 +614,7 @@ } } -static void gr_raise(const gchar *text, gpointer data) +static void gr_raise(const gchar *text, GIOChannel *channel, gpointer data) { LayoutWindow *lw = NULL; @@ -579,7 +628,7 @@ struct _RemoteCommandEntry { gchar *opt_s; gchar *opt_l; - void (*func)(const gchar *text, gpointer data); + void (*func)(const gchar *text, GIOChannel *channel, gpointer data); gboolean needs_extra; gboolean prefer_command_line; gchar *description; @@ -603,6 +652,8 @@ { "-t", "--tools-hide", gr_tools_hide, FALSE, TRUE, N_("hide tools") }, { "-q", "--quit", gr_quit, FALSE, FALSE, N_("quit") }, { NULL, "--config-load:", gr_config_load, TRUE, FALSE, N_("load config file") }, + { NULL, "--get-sidecars:", gr_get_sidecars, TRUE, FALSE, N_("get list of sidecars of the given file") }, + { NULL, "--get-destination:", gr_get_destination, TRUE, FALSE, N_("get destination path for the given file") }, { NULL, "file:", gr_file_load, TRUE, FALSE, N_("open file") }, { NULL, "view:", gr_file_view, TRUE, FALSE, N_("open file in new window") }, { NULL, "--list-clear", gr_list_clear, FALSE, FALSE, NULL }, @@ -650,7 +701,7 @@ return NULL; } -static void remote_cb(RemoteConnection *rc, const gchar *text, gpointer data) +static void remote_cb(RemoteConnection *rc, const gchar *text, GIOChannel *channel, gpointer data) { RemoteCommandEntry *entry; const gchar *offset; @@ -658,7 +709,7 @@ entry = remote_command_find(text, &offset); if (entry && entry->func) { - entry->func(offset, data); + entry->func(offset, channel, data); } else {
--- a/src/remote.h Fri May 01 15:49:06 2009 +0900 +++ b/src/remote.h Fri May 01 15:49:32 2009 +0900 @@ -17,7 +17,7 @@ typedef struct _RemoteConnection RemoteConnection; -typedef void RemoteReadFunc(RemoteConnection *rc, const gchar *text, gpointer data); +typedef void RemoteReadFunc(RemoteConnection *rc, const gchar *text, GIOChannel *channel, gpointer data); struct _RemoteConnection { gint server;
--- a/src/thumb.c Fri May 01 15:49:06 2009 +0900 +++ b/src/thumb.c Fri May 01 15:49:32 2009 +0900 @@ -142,7 +142,7 @@ { if (!tl->fd->exif_orientation) { - tl->fd->exif_orientation = metadata_read_int(tl->fd, "Exif.Image.Orientation", EXIF_ORIENTATION_TOP_LEFT); + tl->fd->exif_orientation = metadata_read_int(tl->fd, ORIENTATION_KEY, EXIF_ORIENTATION_TOP_LEFT); } if (tl->fd->exif_orientation != EXIF_ORIENTATION_TOP_LEFT)
--- a/src/thumb_standard.c Fri May 01 15:49:06 2009 +0900 +++ b/src/thumb_standard.c Fri May 01 15:49:32 2009 +0900 @@ -388,7 +388,7 @@ { if (!tl->fd->exif_orientation) { - tl->fd->exif_orientation = metadata_read_int(tl->fd, "Exif.Image.Orientation", EXIF_ORIENTATION_TOP_LEFT); + tl->fd->exif_orientation = metadata_read_int(tl->fd, ORIENTATION_KEY, EXIF_ORIENTATION_TOP_LEFT); } if (tl->fd->exif_orientation != EXIF_ORIENTATION_TOP_LEFT)
--- a/src/ui_fileops.c Fri May 01 15:49:06 2009 +0900 +++ b/src/ui_fileops.c Fri May 01 15:49:32 2009 +0900 @@ -44,7 +44,7 @@ gchar *text_l; text_l = g_locale_from_utf8(text_utf8, -1, NULL, NULL, NULL); - fputs((text_l) ? text_l : text_utf8, stdout); + fputs((text_l) ? text_l : text_utf8, stderr); g_free(text_l); }
--- a/src/utilops.c Fri May 01 15:49:06 2009 +0900 +++ b/src/utilops.c Fri May 01 15:49:32 2009 +0900 @@ -32,6 +32,7 @@ #include "ui_tabcomp.h" #include "editors.h" #include "metadata.h" +#include "exif.h" static GdkPixbuf *file_util_get_error_icon(FileData *fd, GtkWidget *widget); @@ -251,7 +252,8 @@ UTILITY_PHASE_ENTERING, UTILITY_PHASE_CHECKED, UTILITY_PHASE_DONE, - UTILITY_PHASE_CANCEL + UTILITY_PHASE_CANCEL, + UTILITY_PHASE_DISCARD } UtilityPhase; enum { @@ -278,6 +280,8 @@ FileData *dir_fd; GList *content_list; GList *flist; + + FileData *sel_fd; GtkWidget *parent; GenericDialog *gd; @@ -315,6 +319,9 @@ gpointer resume_data; FileUtilDoneFunc done_func; + void (*details_func)(UtilityData *ud, FileData *fd); + gboolean (*finalize_func)(FileData *fd); + gboolean (*discard_func)(FileData *fd); gpointer done_data; }; @@ -556,10 +563,9 @@ ud->flist = g_list_remove(ud->flist, fd); - /* FIXME: put it here for now */ - if (ud->type == UTILITY_TYPE_WRITE_METADATA) + if (ud->finalize_func) { - metadata_write_queue_remove(fd); + ud->finalize_func(fd); } if (ud->with_sidecars) @@ -987,6 +993,18 @@ file_util_dialog_run(ud); } +static void file_util_discard_cb(GenericDialog *gd, gpointer data) +{ + UtilityData *ud = data; + + generic_dialog_close(gd); + + ud->gd = NULL; + + ud->phase = UTILITY_PHASE_DISCARD; + file_util_dialog_run(ud); +} + static void file_util_ok_cb(GenericDialog *gd, gpointer data) { UtilityData *ud = data; @@ -1252,6 +1270,8 @@ gtk_tree_model_get(store, &iter, UTILITY_COLUMN_FD, &fd, -1); generic_dialog_image_set(ud->gd, fd); + ud->sel_fd = fd; + if (ud->type == UTILITY_TYPE_RENAME) { const gchar *name = filename_from_path(fd->change->dest); @@ -1282,6 +1302,14 @@ gtk_widget_set_sensitive(label, FALSE); } +static void file_util_details_cb(GenericDialog *gd, gpointer data) +{ + UtilityData *ud = data; + if (ud->details_func && ud->sel_fd) + { + ud->details_func(ud, ud->sel_fd); + } +} static void file_util_dialog_init_simple_list(UtilityData *ud) { @@ -1291,6 +1319,7 @@ const gchar *stock_id; + /* FIXME: use ud->stock_id */ if (ud->type == UTILITY_TYPE_DELETE || ud->type == UTILITY_TYPE_DELETE_LINK || ud->type == UTILITY_TYPE_DELETE_FOLDER) @@ -1304,9 +1333,11 @@ ud->gd = file_util_gen_dlg(ud->messages.title, "dlg_confirm", ud->parent, FALSE, file_util_cancel_cb, ud); + if (ud->discard_func) generic_dialog_add_button(ud->gd, GTK_STOCK_REVERT_TO_SAVED, _("Discard changes"), file_util_discard_cb, FALSE); + if (ud->details_func) generic_dialog_add_button(ud->gd, GTK_STOCK_INFO, _("File details"), file_util_details_cb, FALSE); + generic_dialog_add_button(ud->gd, stock_id, NULL, file_util_ok_cb, TRUE); - if (ud->dir_fd) { dir_msg = g_strdup_printf("%s\n\n%s\n", ud->messages.desc_source_fd, ud->dir_fd->path); @@ -1414,6 +1445,10 @@ ud->parent, FALSE, file_util_cancel_cb, ud); box = generic_dialog_add_message(ud->gd, NULL, ud->messages.question, NULL); + + if (ud->discard_func) generic_dialog_add_button(ud->gd, GTK_STOCK_REVERT_TO_SAVED, _("Discard changes"), file_util_discard_cb, FALSE); + if (ud->details_func) generic_dialog_add_button(ud->gd, GTK_STOCK_INFO, _("File details"), file_util_details_cb, FALSE); + generic_dialog_add_button(ud->gd, GTK_STOCK_OK, ud->messages.title, file_util_ok_cb, TRUE); box = pref_group_new(box, TRUE, ud->messages.desc_flist, GTK_ORIENTATION_HORIZONTAL); @@ -1529,6 +1564,56 @@ file_util_dialog_list_select(ud->listview, 0); } +static void file_util_finalize_all(UtilityData *ud) +{ + GList *work = ud->flist; + + if (ud->phase == UTILITY_PHASE_CANCEL) return; + if (ud->phase == UTILITY_PHASE_DONE && !ud->finalize_func) return; + if (ud->phase == UTILITY_PHASE_DISCARD && !ud->discard_func) return; + + while (work) + { + FileData *fd = work->data; + work = work->next; + if (ud->phase == UTILITY_PHASE_DONE) ud->finalize_func(fd); + else if (ud->phase == UTILITY_PHASE_DISCARD) ud->discard_func(fd); + } +} + +static gboolean file_util_exclude_fd(UtilityData *ud, FileData *fd) +{ + GtkTreeModel *store; + GtkTreeIter iter; + gboolean valid; + + if (!g_list_find(ud->flist, fd)) return FALSE; + + store = gtk_tree_view_get_model(GTK_TREE_VIEW(ud->listview)); + valid = gtk_tree_model_get_iter_first(store, &iter); + while (valid) + { + FileData *store_fd; + gtk_tree_model_get(store, &iter, UTILITY_COLUMN_FD, &store_fd, -1); + + if (store_fd == fd) + { + gtk_list_store_remove(GTK_LIST_STORE(store), &iter); + break; + } + valid = gtk_tree_model_iter_next(store, &iter); + } + + ud->flist = g_list_remove(ud->flist, fd); + + if (ud->with_sidecars) + file_data_sc_free_ci(fd); + else + file_data_free_ci(fd); + + file_data_unref(fd); + return TRUE; +} void file_util_dialog_run(UtilityData *ud) { @@ -1571,15 +1656,13 @@ break; case UTILITY_PHASE_CANCEL: case UTILITY_PHASE_DONE: - - /* FIXME: put it here for now */ - if (ud->type == UTILITY_TYPE_WRITE_METADATA) - { - metadata_write_queue_remove_list(ud->flist); - } + case UTILITY_PHASE_DISCARD: + + file_util_finalize_all(ud); + /* both DISCARD and DONE finishes the operation for good */ if (ud->done_func) - ud->done_func((ud->phase == UTILITY_PHASE_DONE), ud->dest_path, ud->done_data); + ud->done_func((ud->phase != UTILITY_PHASE_CANCEL), ud->dest_path, ud->done_data); if (ud->with_sidecars) file_data_sc_free_ci_list(ud->flist); @@ -1617,6 +1700,223 @@ } +static void file_util_details_dialog_close_cb(GtkWidget *widget, gpointer data) +{ + gtk_widget_destroy(data); + +} + +static void file_util_details_dialog_destroy_cb(GtkWidget *widget, gpointer data) +{ + UtilityData *ud = data; + g_signal_handlers_disconnect_by_func(ud->gd->dialog, G_CALLBACK(file_util_details_dialog_close_cb), widget); +} + + +static void file_util_details_dialog_ok_cb(GenericDialog *gd, gpointer data) +{ + /* no op */ +} + +static void file_util_details_dialog_exclude(GenericDialog *gd, gpointer data, gboolean discard) +{ + UtilityData *ud = data; + FileData *fd = g_object_get_data(G_OBJECT(gd->dialog), "file_data"); + + if (!fd) return; + file_util_exclude_fd(ud, fd); + + if (discard && ud->discard_func) ud->discard_func(fd); + + /* all files were excluded, this has the same effect as pressing the cancel button in the confirmation dialog*/ + if (!ud->flist) + { + /* both dialogs will be closed anyway, the signals would cause duplicate calls */ + g_signal_handlers_disconnect_by_func(ud->gd->dialog, G_CALLBACK(file_util_details_dialog_close_cb), gd->dialog); + g_signal_handlers_disconnect_by_func(gd->dialog, G_CALLBACK(file_util_details_dialog_destroy_cb), ud); + + file_util_cancel_cb(ud->gd, ud); + } +} + +static void file_util_details_dialog_exclude_cb(GenericDialog *gd, gpointer data) +{ + file_util_details_dialog_exclude(gd, data, FALSE); +} + +static void file_util_details_dialog_discard_cb(GenericDialog *gd, gpointer data) +{ + file_util_details_dialog_exclude(gd, data, TRUE); +} + +static gchar *file_util_details_get_message(UtilityData *ud, FileData *fd, const gchar **stock_id) +{ + GString *message = g_string_new(""); + gint error; + g_string_append_printf(message, _("File: '%s'\n"), fd->path); + + if (ud->with_sidecars && fd->sidecar_files) + { + GList *work = fd->sidecar_files; + g_string_append(message, _("with sidecar files:\n")); + + while (work) + { + FileData *sfd = work->data; + work =work->next; + g_string_append_printf(message, _(" '%s'\n"), sfd->path); + } + } + + g_string_append(message, _("\nStatus: ")); + + error = ud->with_sidecars ? file_data_sc_verify_ci(fd) : file_data_verify_ci(fd); + + if (error) + { + gchar *err_msg = file_data_get_error_string(error); + g_string_append(message, err_msg); + if (stock_id) *stock_id = (error & CHANGE_ERROR_MASK) ? GTK_STOCK_DIALOG_ERROR : GTK_STOCK_DIALOG_WARNING; + } + else + { + g_string_append(message, _("no problem detected")); + if (stock_id) *stock_id = GTK_STOCK_DIALOG_INFO; + } + + return g_string_free(message, FALSE);; +} + +static void file_util_details_dialog(UtilityData *ud, FileData *fd) +{ + GenericDialog *gd; + GtkWidget *box; + gchar *message; + const gchar *stock_id; + + gd = file_util_gen_dlg(_("File details"), "details", ud->gd->dialog, TRUE, NULL, ud); + generic_dialog_add_button(gd, GTK_STOCK_CLOSE, NULL, file_util_details_dialog_ok_cb, TRUE); + generic_dialog_add_button(gd, GTK_STOCK_REMOVE, _("Exclude file"), file_util_details_dialog_exclude_cb, FALSE); + + g_object_set_data(G_OBJECT(gd->dialog), "file_data", fd); + + g_signal_connect(G_OBJECT(gd->dialog), "destroy", + G_CALLBACK(file_util_details_dialog_destroy_cb), ud); + + /* in case the ud->gd->dialog is closed during editing */ + g_signal_connect(G_OBJECT(ud->gd->dialog), "destroy", + G_CALLBACK(file_util_details_dialog_close_cb), gd->dialog); + + + message = file_util_details_get_message(ud, fd, &stock_id); + + box = generic_dialog_add_message(gd, stock_id, _("File details"), message); + + generic_dialog_add_image(gd, box, fd, NULL, NULL, NULL, FALSE); + + gtk_widget_show(gd->dialog); + + g_free(message); +} + +static void file_util_write_metadata_details_dialog(UtilityData *ud, FileData *fd) +{ + GenericDialog *gd; + GtkWidget *box; + GtkWidget *table; + GtkWidget *frame; + GList *keys = NULL; + GList *work; + gchar *message1; + gchar *message2; + gint i; + const gchar *stock_id; + + if (fd && fd->modified_xmp) + { + keys = hash_table_get_keys(fd->modified_xmp); + } + + g_assert(keys); + + + gd = file_util_gen_dlg(_("Overview of changed metadata"), "details", ud->gd->dialog, TRUE, NULL, ud); + generic_dialog_add_button(gd, GTK_STOCK_CLOSE, NULL, file_util_details_dialog_ok_cb, TRUE); + generic_dialog_add_button(gd, GTK_STOCK_REMOVE, _("Exclude file"), file_util_details_dialog_exclude_cb, FALSE); + generic_dialog_add_button(gd, GTK_STOCK_REVERT_TO_SAVED, _("Discard changes"), file_util_details_dialog_discard_cb, FALSE); + + g_object_set_data(G_OBJECT(gd->dialog), "file_data", fd); + + g_signal_connect(G_OBJECT(gd->dialog), "destroy", + G_CALLBACK(file_util_details_dialog_destroy_cb), ud); + + /* in case the ud->gd->dialog is closed during editing */ + g_signal_connect(G_OBJECT(ud->gd->dialog), "destroy", + G_CALLBACK(file_util_details_dialog_close_cb), gd->dialog); + + message1 = file_util_details_get_message(ud, fd, &stock_id); + + if (fd->change && fd->change->dest) + { + message2 = g_strdup_printf(_("The following metadata tags will be written to '%s'."), fd->change->dest); + } + else + { + message2 = g_strdup_printf(_("The following metadata tags will be written to the image file itself.")); + } + + box = generic_dialog_add_message(gd, stock_id, _("Overview of changed metadata"), message1); + + box = pref_group_new(box, TRUE, message2, GTK_ORIENTATION_HORIZONTAL); + + frame = pref_frame_new(box, TRUE, NULL, GTK_ORIENTATION_HORIZONTAL, 2); + table = pref_table_new(frame, 2, g_list_length(keys), FALSE, TRUE); + + work = keys; + i = 0; + while (work) + { + GtkWidget *label; + const gchar *key = work->data; + gchar *title = exif_get_description_by_key(key); + gchar *title_f = g_strdup_printf("%s:", title); + gchar *value = metadata_read_string(fd, key, METADATA_FORMATTED); + work = work->next; + + + label = gtk_label_new(title_f); + gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.0); + pref_label_bold(label, TRUE, FALSE); + gtk_table_attach(GTK_TABLE(table), label, + 0, 1, i, i + 1, + GTK_FILL, GTK_FILL, + 2, 2); + gtk_widget_show(label); + + label = gtk_label_new(value); + + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table), label, + 1, 2, i, i + 1, + GTK_FILL, GTK_FILL, + 2, 2); + gtk_widget_show(label); + + g_free(title); + g_free(title_f); + g_free(value); + i++; + } + + generic_dialog_add_image(gd, box, fd, NULL, NULL, NULL, FALSE); + + gtk_widget_show(gd->dialog); + + g_list_free(keys); + g_free(message1); + g_free(message2); +} + static void file_util_delete_full(FileData *source_fd, GList *source_list, GtkWidget *parent, UtilityPhase phase) { UtilityData *ud; @@ -1647,7 +1947,9 @@ ud->content_list = NULL; ud->parent = parent; - ud->messages.title = pgettext("physical","Delete"); + ud->details_func = file_util_details_dialog; + + ud->messages.title = (gchar *)pgettext("physical","Delete"); ud->messages.question = _("Delete files?"); ud->messages.desc_flist = _("This will delete the following files"); ud->messages.desc_source_fd = ""; @@ -1656,6 +1958,7 @@ file_util_dialog_run(ud); } + static void file_util_write_metadata_full(FileData *source_fd, GList *source_list, GtkWidget *parent, UtilityPhase phase, FileUtilDoneFunc done_func, gpointer done_data) { UtilityData *ud; @@ -1687,6 +1990,10 @@ ud->done_func = done_func; ud->done_data = done_data; + ud->details_func = file_util_write_metadata_details_dialog; + ud->finalize_func = metadata_write_queue_remove; + ud->discard_func = metadata_write_queue_remove; + ud->messages.title = _("Write metadata"); ud->messages.question = _("Write metadata?"); ud->messages.desc_flist = _("This will write the changed metadata into the following files"); @@ -1808,6 +2115,8 @@ ud->flist = flist; ud->content_list = NULL; ud->parent = parent; + + ud->details_func = file_util_details_dialog; ud->messages.title = _("Rename"); ud->messages.question = _("Rename files?"); @@ -1857,6 +2166,8 @@ ud->content_list = NULL; ud->parent = parent; + ud->details_func = file_util_details_dialog; + if (dest_path) ud->dest_path = g_strdup(dest_path); ud->messages.title = _("Editor");
--- a/src/view_dir.c Fri May 01 15:49:06 2009 +0900 +++ b/src/view_dir.c Fri May 01 15:49:32 2009 +0900 @@ -229,7 +229,7 @@ GtkTreePath *tpath; GtkTreeIter iter; - if (!fd || vd_find_row(vd, fd, &iter) < 0) return; + if (!fd || !vd_find_row(vd, fd, &iter)) return; store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); tpath = gtk_tree_model_get_path(store, &iter); @@ -244,7 +244,7 @@ GtkTreeModel *store; GtkTreeIter iter; - if (vd_find_row(vd, fd, &iter) < 0) return; + if (!vd_find_row(vd, fd, &iter)) return; store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); switch (vd->type) @@ -917,7 +917,7 @@ GtkTreePath *tpath; gint cw, ch; - if (vd_find_row(vd, vd->click_fd, &iter) < 0) return; + if (!vd_find_row(vd, vd->click_fd, &iter)) return; store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); tpath = gtk_tree_model_get_path(store, &iter); tree_view_get_cell_clamped(GTK_TREE_VIEW(vd->view), tpath, 0, TRUE, x, y, &cw, &ch);
--- a/src/view_dir_list.c Fri May 01 15:49:06 2009 +0900 +++ b/src/view_dir_list.c Fri May 01 15:49:32 2009 +0900 @@ -96,7 +96,7 @@ { GtkTreeIter iter; - if (GTK_WIDGET_REALIZED(vd->view) && vd_find_row(vd, fd, &iter) >= 0) + if (GTK_WIDGET_REALIZED(vd->view) && vd_find_row(vd, fd, &iter)) { GtkTreeModel *store; GtkTreePath *tpath;