diff --git a/Cargo.lock b/Cargo.lock index 06cc2fe..708f3f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -946,9 +946,9 @@ dependencies = [ [[package]] name = "glycin" -version = "4.0.0" +version = "4.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc9bb9cfa3d4db9eab0e2394f0e60fe4071fd31affd1704f2ecccc6bdd24c7b9" +checksum = "6e63b783b3024958cc5dba0844867be5979dba473eced20ec5847c79b1bbaf47" dependencies = [ "glycin-builtin", "glycin-external", @@ -956,18 +956,18 @@ dependencies = [ [[package]] name = "glycin-builtin" -version = "4.0.0" +version = "4.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b801b326426a0ccb61899174b0a08c2316defd323cfe78be9aa6232a2efdfeac" +checksum = "478cc2ec0f9a3eae43485c139e683ac7880d4a9c5157704ab5ab72454e853442" dependencies = [ "glycin-core", ] [[package]] name = "glycin-common" -version = "2.0.0" +version = "2.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34692fa7314e5108eafaba7621460d958caba839a6d5040f1caba98d7b4a692" +checksum = "90f682024e248da40a61c1f2176941d7d1492489969765f07ff6afa505a215db" dependencies = [ "bitflags 2.13.1", "gufo-common", @@ -984,9 +984,9 @@ dependencies = [ [[package]] name = "glycin-core" -version = "4.0.0" +version = "4.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9466e4f18a53312faee414ea85813d6674d4cb5badad059365c4882984b40201" +checksum = "935a44dbb054344d24d3d141d63460544b039af8b7cd1e48fc86ce4fc9bc5351" dependencies = [ "async-fs", "async-global-executor", @@ -1023,18 +1023,18 @@ dependencies = [ [[package]] name = "glycin-external" -version = "4.0.0" +version = "4.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d335778b14437e1339d703afd1ce69e61df8ab5420882b4b7821b9a2ca9d4a" +checksum = "0966ed359a4824ab4985915e48bf403a35c2826b77eaa4724889162443d65abd" dependencies = [ "glycin-core", ] [[package]] name = "glycin-image-rs" -version = "2.2.0" +version = "2.2.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df0cbc11fe5d5523575b04f724c82d8d50e2c03830622b655e7d4015eba6472" +checksum = "8c2f9228ea82df0710f9bd64ec487ebdb224b1749bd24ecb2dc1148e9f935d87" dependencies = [ "bytemuck", "exr", @@ -1055,9 +1055,9 @@ dependencies = [ [[package]] name = "glycin-utils" -version = "5.0.0" +version = "5.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b112ddb84bd9c1453b119292e38788aa18015d5c12158c1d6fab1b9e353ee7" +checksum = "a22f2105cf122cf99304f24f3c2a071942ff86babf15804eb5d6db775e9dd53f" dependencies = [ "async-lock", "bitflags 2.13.1", @@ -1202,9 +1202,9 @@ dependencies = [ [[package]] name = "gufo" -version = "0.5.0" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a16d7faeeb03e2925ac6b0f40630b15b1992d08c50add402f35fde495e44f64" +checksum = "13dfc7feee4f49b9ba9e056787e45dc183094e82facd30134ac1264250b77e40" dependencies = [ "chrono", "gufo-common", @@ -1220,9 +1220,9 @@ dependencies = [ [[package]] name = "gufo-common" -version = "2.0.0" +version = "2.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d583cdde9eb6985dbb6e596d27677e5d353d5eee44763cbf7c7ead3147d337bf" +checksum = "aa7226c8f146ccdea8d7a8cbfa03f7b87372092e0f39655cf19bade7d2fe0c8e" dependencies = [ "chrono", "paste", @@ -1233,9 +1233,9 @@ dependencies = [ [[package]] name = "gufo-exif" -version = "0.5.0" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99100988e312c22c6f209663b289e727db3918d06fbcbbc2315149457b42b75" +checksum = "f6d580a20163c7a7d277c8cf9169dc18deb3003de4f08fb6c56d6c878901dfa0" dependencies = [ "chrono", "gufo-common", @@ -1248,9 +1248,9 @@ dependencies = [ [[package]] name = "gufo-jpeg" -version = "0.5.1" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "383907a5c532bff484b2914d649e368e98ce6426829458353fe40070225b07a5" +checksum = "f970f6a7ec35035ab893b394ced211205747d58c92d3b46665142d275aedca55" dependencies = [ "gufo-common", "indexmap", @@ -1262,9 +1262,9 @@ dependencies = [ [[package]] name = "gufo-png" -version = "0.5.0" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5c3065acab6cf458afbe53f73462a0dbf17348a2af3c889183f8714b3bff6fc" +checksum = "57702bf2885289ea8a77a842d2792aca42975f2d1f237d785f45d30e78be363a" dependencies = [ "crc32fast", "encoding_rs", @@ -1276,9 +1276,9 @@ dependencies = [ [[package]] name = "gufo-tiff" -version = "0.5.0" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9c77c38e7815b76e08b1943dc67517e02543504c14a29e071a4ddf9bee111ec" +checksum = "fcf3a0dbc580a3653ac9cc6234d66cddc1fd0af5cc7b6f3cde63c9a2ad70d83e" dependencies = [ "gufo-common", "thiserror", @@ -1286,9 +1286,9 @@ dependencies = [ [[package]] name = "gufo-webp" -version = "0.5.0" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04d6d3dc0ccd22a30619df68ce347c844d8adb49b822f42660d9a92e6ae14540" +checksum = "4e1998271aa38387aa572f957d4cc7e64841dd34e6354e2008aa8f74f25f0e4c" dependencies = [ "gufo-common", "thiserror", @@ -1296,9 +1296,9 @@ dependencies = [ [[package]] name = "gufo-xmp" -version = "0.5.0" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903aaa13213b860bbad3565e62f3fbd1087ca9404692ebe53728654653470561" +checksum = "41d62245a5d579d9748465f91f99df9da6d984c253a8179c8e6d98a267f0f9ff" dependencies = [ "chrono", "gufo-common", @@ -1637,7 +1637,7 @@ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" [[package]] name = "loupe" -version = "51.0.0" +version = "51.0.0-rc" dependencies = [ "anyhow", "arc-swap", diff --git a/Cargo.toml b/Cargo.toml index c550aa0..4a82762 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "loupe" -version = "51.0.0" +version = "51.0.0-rc" edition = "2024" rust-version = "1.93" license = "GPL-3.0-or-later" @@ -31,12 +31,12 @@ chrono = { version = "0.4.38", default-features = false, features = ["std"] } gettext-rs = { version = "0.8.0", features = ["gettext-system"] } gettext-sys = { version = "0.27.0", features = ["gettext-system"] } gio = { version = "0.22.0", features = ["v2_74"] } -glycin = { version = "4.0.0", features = ["gdk4"] } +glycin = { version = "4.0.0-beta.1", features = ["gdk4"] } gtk = { package = "gtk4", version = "0.11.0", features = [ "v4_14", "xml_validation", ] } -gufo = { version = "0.5.0", features = ["chrono"] } +gufo = { version = "0.5.0-beta.1", features = ["chrono"] } gvdb-macros = "0.1.6" indexmap = "2.0.0" libc = "0.2.158" diff --git a/NEWS b/NEWS index e7e0993..04e323a 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,3 @@ -## 51.0 (2026-09-09) - ## 51.rc (2026-09-01) ### Fixed diff --git a/meson.build b/meson.build index 7f22226..d3567a0 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ project( 'loupe', 'rust', - version: '51.0', + version: '51.rc', meson_version: '>= 0.59.0', default_options: [ 'warning_level=2', diff --git a/news.d/51.0/released b/news.d/51.0/released deleted file mode 100644 index 390643f..0000000 --- a/news.d/51.0/released +++ /dev/null @@ -1 +0,0 @@ -2026-09-09 diff --git a/po/en_GB.po b/po/en_GB.po index e5f3eeb..3df6717 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: loupe main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/loupe/-/issues\n" -"POT-Creation-Date: 2026-09-01 12:44+0000\n" -"PO-Revision-Date: 2026-09-01 21:35+0100\n" +"POT-Creation-Date: 2026-02-27 20:03+0000\n" +"PO-Revision-Date: 2026-03-09 11:33+0000\n" "Last-Translator: Bruce Cowan \n" "Language-Team: British English \n" "Language: en_GB\n" @@ -17,11 +17,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Gtranslator 50.0\n" +"X-Generator: Gtranslator 49.0\n" #: data/org.gnome.Loupe.desktop.in.in:2 #: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 -#: src/widgets/image_window.rs:879 +#: src/widgets/image_window.rs:898 msgid "Image Viewer" msgstr "Image Viewer" @@ -39,8 +39,7 @@ msgid "Show the image properties sidebar" msgstr "Show the image properties sidebar" #. developer_name tag deprecated with Appstream 1.0 -#: data/org.gnome.Loupe.metainfo.xml.in.in:8 -#: data/org.gnome.Loupe.metainfo.xml.in.in:10 src/about.rs:35 +#: data/org.gnome.Loupe.metainfo.xml.in.in:8 src/about.rs:35 msgid "The GNOME Project" msgstr "The GNOME Project" @@ -52,18 +51,6 @@ msgstr "" "Explore images, view their metadata, and make quick edits by cropping, " "rotating, or flipping them." -#: data/org.gnome.Loupe.metainfo.xml.in.in:28 -msgid "Main Window" -msgstr "Main Window" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:32 -msgid "Crop Tool" -msgstr "Crop Tool" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:36 -msgid "Image Properties Panel" -msgstr "Image Properties Panel" - #: data/resources/shortcuts-dialog.ui:6 msgctxt "shortcut window" msgid "General Shortcuts" @@ -297,85 +284,44 @@ msgid "Could not list other files in directory." msgstr "Could not list other files in directory." #. Translators: Display of the f-number . {} will be replaced with the number -#: src/metadata.rs:270 +#: src/metadata.rs:256 msgid "\\u{192}\\u{2215}{}" msgstr "\\u{192}\\u{2215}{}" #. Translators: Fractional exposure time (photography) in seconds -#: src/metadata.rs:283 +#: src/metadata.rs:269 msgid "1\\u{2215}{}\\u{202F}s" msgstr "1\\u{2215}{}\\u{202F}s" #. Translators: Exposure time (photography) in seconds -#: src/metadata.rs:291 +#: src/metadata.rs:277 msgid "{}\\u{202F}s" msgstr "{}\\u{202F}s" -#: src/metadata.rs:305 +#: src/metadata.rs:291 msgid "{}\\u{202F}mm" msgstr "{}\\u{202F}mm" #. Translators: short for "north" in GPS coordinate -#: src/metadata.rs:395 +#: src/metadata.rs:331 msgid "N" msgstr "N" #. Translators: short for "south" in GPS coordinate -#: src/metadata.rs:399 +#: src/metadata.rs:335 msgid "S" msgstr "S" #. Translators: short for "east" in GPS coordinate -#: src/metadata.rs:408 +#: src/metadata.rs:344 msgid "E" msgstr "E" #. Translators: short for "west" in GPS coordinate -#: src/metadata.rs:412 +#: src/metadata.rs:348 msgid "W" msgstr "W" -#: src/metadata.rs:492 -msgid "DCI P3" -msgstr "DCI P3" - -#: src/metadata.rs:493 -msgid "Display P3" -msgstr "Display P3" - -#: src/metadata.rs:494 -msgid "Rec.2020" -msgstr "Rec.2020" - -#: src/metadata.rs:495 -msgid "sRGB" -msgstr "sRGB" - -#: src/metadata.rs:496 src/metadata.rs:504 -msgid "Unspecified" -msgstr "Unspecified" - -#: src/metadata.rs:497 src/metadata.rs:506 src/metadata.rs:516 -#, rust-format -msgid "Unknown ({})" -msgstr "Unknown ({})" - -#: src/metadata.rs:503 -msgid "ICtCp" -msgstr "ICtCp" - -#: src/metadata.rs:512 -msgid "DCI" -msgstr "DCI" - -#: src/metadata.rs:513 -msgid "PQ" -msgstr "PQ" - -#: src/metadata.rs:514 -msgid "Gamma 2.4" -msgstr "Gamma 2.4" - #. / Returns localized date + time format #. Translators: This is the date and time format we use in metadata output etc. #. The format has to follow @@ -503,64 +449,32 @@ msgid "Crop Selection" msgstr "Crop Selection" #. Translators: Filename suffix, {} is replaced by a number -#: src/widgets/edit_window.rs:207 +#: src/widgets/edit_window.rs:196 #, rust-format msgid " (Edited)" msgid_plural " (Edited {})" msgstr[0] " (Edited)" msgstr[1] " (Edited {})" -#: src/widgets/edit_window.rs:292 -msgid "Moving Original to Trash" -msgstr "Moving Original to Wastebasket" - -#: src/widgets/edit_window.rs:306 src/widgets/edit_window.rs:335 +#: src/widgets/edit_window.rs:290 src/widgets/edit_window.rs:316 msgid "Failed to save image." msgstr "Failed to save image." -#: src/widgets/edit_window.rs:315 -msgid "Finalizing Save Operation" -msgstr "Finalising Save Operation" - -#: src/widgets/edit_window.rs:367 +#: src/widgets/edit_window.rs:344 msgid "Editing Image" msgstr "Editing Image" -#: src/widgets/edit_window.rs:384 +#: src/widgets/edit_window.rs:361 msgid "Failed to edit image." msgstr "Failed to edit image." -#: src/widgets/edit_window.rs:391 -msgid "Saving Image" -msgstr "Saving Image" - -#: src/widgets/edit_window.rs:410 +#: src/widgets/edit_window.rs:371 src/widgets/edit_window.rs:394 msgid "Failed to Save Image" msgstr "Failed to Save Image" -#: src/widgets/edit_window.rs:526 -msgid "Save Changes?" -msgstr "Save Changes?" - -#: src/widgets/edit_window.rs:528 -msgid "" -"There are unsaved image editing changes. Closing without saving will " -"permanently lose these modifications." -msgstr "" -"There are unsaved image editing changes. Closing without saving will " -"permanently lose these modifications." - -#: src/widgets/edit_window.rs:532 src/widgets/image_window.rs:700 -msgid "Cancel" -msgstr "Cancel" - -#: src/widgets/edit_window.rs:533 -msgid "Discard" -msgstr "Discard" - -#: src/widgets/edit_window.rs:534 -msgid "Save" -msgstr "Save" +#: src/widgets/edit_window.rs:377 +msgid "Saving Image" +msgstr "Saving Image" #: src/widgets/edit_window.ui:64 msgid "_Cancel" @@ -695,11 +609,11 @@ msgstr "Rotate Right" #. Translators: This is a toast notification, informing the user that #. an image has been set as background. -#: src/widgets/image_view.rs:870 +#: src/widgets/image_view.rs:866 msgid "Set as background." msgstr "Set as background." -#: src/widgets/image_view.rs:876 +#: src/widgets/image_view.rs:872 msgid "Could not set background." msgstr "Could not set background." @@ -735,48 +649,52 @@ msgstr "Custom Zoom Level" msgid "Zoom to Specified Level" msgstr "Zoom to Specified Level" -#: src/widgets/image_window.rs:509 +#: src/widgets/image_window.rs:528 msgid "Supported image formats" msgstr "Supported image formats" -#: src/widgets/image_window.rs:515 +#: src/widgets/image_window.rs:534 msgid "All files" msgstr "All files" -#: src/widgets/image_window.rs:522 +#: src/widgets/image_window.rs:541 msgid "Open Image" msgstr "Open Image" -#: src/widgets/image_window.rs:614 +#: src/widgets/image_window.rs:633 msgid "Image copied to clipboard" msgstr "Image copied to clipboard" -#: src/widgets/image_window.rs:635 +#: src/widgets/image_window.rs:654 msgid "Image moved to trash" msgstr "Image moved to wastebasket" -#: src/widgets/image_window.rs:636 +#: src/widgets/image_window.rs:655 msgid "Undo" msgstr "Undo" -#: src/widgets/image_window.rs:666 +#: src/widgets/image_window.rs:685 msgid "Failed to move image to trash" msgstr "Failed to move image to wastebasket" -#: src/widgets/image_window.rs:690 +#: src/widgets/image_window.rs:709 msgid "Permanently Delete Image?" msgstr "Permanently Delete Image?" -#: src/widgets/image_window.rs:692 +#: src/widgets/image_window.rs:711 #, rust-format msgid "After deleting the image “{}” it will be permanently lost." msgstr "After deleting the image “{}” it will be permanently lost." -#: src/widgets/image_window.rs:701 +#: src/widgets/image_window.rs:719 +msgid "Cancel" +msgstr "Cancel" + +#: src/widgets/image_window.rs:720 msgid "Delete" msgstr "Delete" -#: src/widgets/image_window.rs:712 +#: src/widgets/image_window.rs:731 msgid "Failed to delete image" msgstr "Failed to delete image" @@ -864,24 +782,24 @@ msgid "px" msgstr "px" #. Translators: {} is a placeholder for the filename -#: src/widgets/print.rs:365 +#: src/widgets/print.rs:364 #, rust-format msgid "Print “{}”" msgstr "Print “{}”" -#: src/widgets/print.rs:472 +#: src/widgets/print.rs:477 msgid "Continue…" msgstr "Continue…" -#: src/widgets/print.rs:473 +#: src/widgets/print.rs:478 msgid "Print Image" msgstr "Print Image" -#: src/widgets/print.rs:801 +#: src/widgets/print.rs:797 msgid "_Scale" msgstr "_Scale" -#: src/widgets/print.rs:804 +#: src/widgets/print.rs:800 msgid "_Width" msgstr "_Width" @@ -946,72 +864,30 @@ msgstr "_Fill Space" msgid "H_eight" msgstr "H_eight" -#: src/widgets/properties_view.rs:284 +#: src/widgets/properties_view.rs:258 msgid "Unknown" msgstr "Unknown" #. Translators: Addition of image being transparent to format name -#: src/widgets/properties_view.rs:288 +#: src/widgets/properties_view.rs:262 msgid ", transparent" msgstr ", transparent" #. Translators: Addition of image being grayscale to format name -#: src/widgets/properties_view.rs:293 +#: src/widgets/properties_view.rs:267 msgid ", grayscale" msgstr ", greyscale" #. Translators: Addition of bit size to format name -#: src/widgets/properties_view.rs:298 +#: src/widgets/properties_view.rs:272 msgid ", {}\\u{202F}bit" msgstr ", {}\\u{202F}bit" -#: src/widgets/properties_view.rs:315 +#: src/widgets/properties_view.rs:290 msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" msgstr "{}\\u{202F}\\u{D7}\\u{202F}{}" -#. Translators: Shorthand for centimeter -#: src/widgets/properties_view.rs:354 -msgid " cm" -msgstr " cm" - -#. Translators: Shorthand for inch -#: src/widgets/properties_view.rs:358 -msgid "″" -msgstr "″" - -#. Translators: Shorthand for meter -#: src/widgets/properties_view.rs:362 -msgid " m" -msgstr " m" - -#. Translators: Shorthand for millimeter -#: src/widgets/properties_view.rs:366 -msgid " mm" -msgstr " mm" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:370 -msgid " pc" -msgstr " pc" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:374 -msgid " pt" -msgstr " pt" - -#: src/widgets/properties_view.rs:386 -msgid "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" -msgstr "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" - -#: src/widgets/properties_view.rs:403 -msgid "{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:407 -msgid "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:435 +#: src/widgets/properties_view.rs:326 msgid "Image Coordinates Copied" msgstr "Image Coordinates Copied" @@ -1028,94 +904,62 @@ msgid "URI" msgstr "URI" #: src/widgets/properties_view.ui:66 -msgid "Physical Size" -msgstr "Physical Size" - -#: src/widgets/properties_view.ui:76 -msgid "Resolution" -msgstr "Resolution" - -#: src/widgets/properties_view.ui:86 msgid "Image Format" msgstr "Image Format" -#: src/widgets/properties_view.ui:96 +#: src/widgets/properties_view.ui:76 msgid "File Size" msgstr "File Size" -#: src/widgets/properties_view.ui:110 +#: src/widgets/properties_view.ui:90 msgid "File Created" msgstr "File Created" -#: src/widgets/properties_view.ui:120 +#: src/widgets/properties_view.ui:100 msgid "File Modified" msgstr "File Modified" #. Translators: This is a label for GPS coordinates -#: src/widgets/properties_view.ui:134 +#: src/widgets/properties_view.ui:114 msgid "Location" msgstr "Location" -#: src/widgets/properties_view.ui:145 +#: src/widgets/properties_view.ui:125 msgid "Copy Coordinates" msgstr "Copy Coordinates" -#: src/widgets/properties_view.ui:156 +#: src/widgets/properties_view.ui:136 msgid "Open Location" msgstr "Open Location" -#: src/widgets/properties_view.ui:169 +#: src/widgets/properties_view.ui:149 msgid "Originally Created" msgstr "Originally Created" -#: src/widgets/properties_view.ui:179 -msgid "Creator" -msgstr "Creator" - -#: src/widgets/properties_view.ui:189 -msgid "Copyright" -msgstr "Copyright" - -#: src/widgets/properties_view.ui:199 +#: src/widgets/properties_view.ui:159 msgid "Comment" msgstr "Comment" -#: src/widgets/properties_view.ui:209 +#: src/widgets/properties_view.ui:169 msgid "Aperture" msgstr "Aperture" -#: src/widgets/properties_view.ui:219 +#: src/widgets/properties_view.ui:179 msgid "Exposure" msgstr "Exposure" -#: src/widgets/properties_view.ui:229 +#: src/widgets/properties_view.ui:189 msgid "ISO" msgstr "ISO" -#: src/widgets/properties_view.ui:239 +#: src/widgets/properties_view.ui:199 msgid "Focal Length" msgstr "Focal Length" -#: src/widgets/properties_view.ui:249 +#: src/widgets/properties_view.ui:209 msgid "Maker, Model" msgstr "Maker, Model" -#: src/widgets/properties_view.ui:259 -msgid "Lens" -msgstr "Lens" - -#: src/widgets/properties_view.ui:269 -msgid "Software" -msgstr "Software" - -#: src/widgets/properties_view.ui:279 -msgid "ICC Profile" -msgstr "ICC Profile" - -#: src/widgets/properties_view.ui:289 -msgid "CICP" -msgstr "CICP" - -#: src/widgets/window.rs:254 +#: src/widgets/window.rs:206 msgid "Show Details" msgstr "Show Details" diff --git a/po/es.po b/po/es.po index 1a695a8..dc86f77 100644 --- a/po/es.po +++ b/po/es.po @@ -2,26 +2,27 @@ # Copyright (C) 2023 Loupe's COPYRIGHT HOLDER # This file is distributed under the same license as the Loupe package. # Julián Villodre , 2024. -# Daniel Mustieles , 2024-2026. +# Daniel Mustieles , 2023-2024. +# Daniel Mustieles García , 2024-2026. # msgid "" msgstr "" "Project-Id-Version: Loupe main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/loupe/-/issues\n" -"POT-Creation-Date: 2026-09-01 12:44+0000\n" -"PO-Revision-Date: 2026-09-04 13:13+0200\n" -"Last-Translator: Daniel Mustieles \n" -"Language-Team: Spanish \n" -"Language: es\n" +"POT-Creation-Date: 2026-01-30 22:01+0000\n" +"PO-Revision-Date: 2026-02-23 15:46+0100\n" +"Last-Translator: Daniel Mustieles García \n" +"Language-Team: Spanish - Spain \n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Gtranslator 50.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 49.0\n" #: data/org.gnome.Loupe.desktop.in.in:2 #: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 -#: src/widgets/image_window.rs:879 +#: src/widgets/image_window.rs:897 msgid "Image Viewer" msgstr "Visor de imágenes" @@ -39,8 +40,7 @@ msgid "Show the image properties sidebar" msgstr "Mostrar la barra lateral de propiedades de la imagen" #. developer_name tag deprecated with Appstream 1.0 -#: data/org.gnome.Loupe.metainfo.xml.in.in:8 -#: data/org.gnome.Loupe.metainfo.xml.in.in:10 src/about.rs:35 +#: data/org.gnome.Loupe.metainfo.xml.in.in:8 src/about.rs:35 msgid "The GNOME Project" msgstr "El Proyecto GNOME" @@ -52,18 +52,6 @@ msgstr "" "Explore imágenes, vea sus metadatos y realice ediciones rápidas " "recortándolas, rotándolas o volteándolas." -#: data/org.gnome.Loupe.metainfo.xml.in.in:28 -msgid "Main Window" -msgstr "Ventana principal" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:32 -msgid "Crop Tool" -msgstr "Herramienta de recorte" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:36 -msgid "Image Properties Panel" -msgstr "Panel de propiedades de imagen" - #: data/resources/shortcuts-dialog.ui:6 msgctxt "shortcut window" msgid "General Shortcuts" @@ -300,85 +288,44 @@ msgstr "No se pudieron listar los archivos de la carpeta" #. Translators: Display of the f-number #. . {} will be replaced with the #. number -#: src/metadata.rs:270 +#: src/metadata.rs:256 msgid "\\u{192}\\u{2215}{}" msgstr "\\u{192}\\u{2215}{}" #. Translators: Fractional exposure time (photography) in seconds -#: src/metadata.rs:283 +#: src/metadata.rs:269 msgid "1\\u{2215}{}\\u{202F}s" msgstr "1\\u{2215}{}\\u{202F}s" #. Translators: Exposure time (photography) in seconds -#: src/metadata.rs:291 +#: src/metadata.rs:277 msgid "{}\\u{202F}s" msgstr "{}\\u{202F}s" -#: src/metadata.rs:305 +#: src/metadata.rs:291 msgid "{}\\u{202F}mm" msgstr "{}\\u{202F}mm" #. Translators: short for "north" in GPS coordinate -#: src/metadata.rs:395 +#: src/metadata.rs:331 msgid "N" msgstr "N" #. Translators: short for "south" in GPS coordinate -#: src/metadata.rs:399 +#: src/metadata.rs:335 msgid "S" msgstr "S" #. Translators: short for "east" in GPS coordinate -#: src/metadata.rs:408 +#: src/metadata.rs:344 msgid "E" msgstr "E" #. Translators: short for "west" in GPS coordinate -#: src/metadata.rs:412 +#: src/metadata.rs:348 msgid "W" msgstr "O" -#: src/metadata.rs:492 -msgid "DCI P3" -msgstr "DCI P3" - -#: src/metadata.rs:493 -msgid "Display P3" -msgstr "Display P3" - -#: src/metadata.rs:494 -msgid "Rec.2020" -msgstr "Rec.2020" - -#: src/metadata.rs:495 -msgid "sRGB" -msgstr "sRGB" - -#: src/metadata.rs:496 src/metadata.rs:504 -msgid "Unspecified" -msgstr "No especificado" - -#: src/metadata.rs:497 src/metadata.rs:506 src/metadata.rs:516 -#, rust-format -msgid "Unknown ({})" -msgstr "Desconocido ({})" - -#: src/metadata.rs:503 -msgid "ICtCp" -msgstr "ICtCp" - -#: src/metadata.rs:512 -msgid "DCI" -msgstr "DCI" - -#: src/metadata.rs:513 -msgid "PQ" -msgstr "PQ" - -#: src/metadata.rs:514 -msgid "Gamma 2.4" -msgstr "Gamma 2.4" - #. / Returns localized date + time format #. Translators: This is the date and time format we use in metadata output #. etc. @@ -508,64 +455,32 @@ msgid "Crop Selection" msgstr "Recortar la selección" #. Translators: Filename suffix, {} is replaced by a number -#: src/widgets/edit_window.rs:207 +#: src/widgets/edit_window.rs:195 #, rust-format msgid " (Edited)" msgid_plural " (Edited {})" msgstr[0] " (Editado)" msgstr[1] " (Editado {})" -#: src/widgets/edit_window.rs:292 -msgid "Moving Original to Trash" -msgstr "Mover el original a la papelera" - -#: src/widgets/edit_window.rs:306 src/widgets/edit_window.rs:335 +#: src/widgets/edit_window.rs:289 src/widgets/edit_window.rs:315 msgid "Failed to save image." msgstr "Falló al guardar la imagen." -#: src/widgets/edit_window.rs:315 -msgid "Finalizing Save Operation" -msgstr "Finalizando la operación de guardar" - -#: src/widgets/edit_window.rs:367 +#: src/widgets/edit_window.rs:343 msgid "Editing Image" msgstr "Editando la imagen" -#: src/widgets/edit_window.rs:384 +#: src/widgets/edit_window.rs:360 msgid "Failed to edit image." msgstr "Falló al editar la imagen." -#: src/widgets/edit_window.rs:391 -msgid "Saving Image" -msgstr "Guardando imagen" - -#: src/widgets/edit_window.rs:410 +#: src/widgets/edit_window.rs:370 src/widgets/edit_window.rs:393 msgid "Failed to Save Image" msgstr "Falló al guardar la imagen." -#: src/widgets/edit_window.rs:526 -msgid "Save Changes?" -msgstr "¿Guardar cambios?" - -#: src/widgets/edit_window.rs:528 -msgid "" -"There are unsaved image editing changes. Closing without saving will " -"permanently lose these modifications." -msgstr "" -"Hay cambios de edición de imágenes no guardados. Cerrar sin guardar perderá " -"permanentemente estas modificaciones." - -#: src/widgets/edit_window.rs:532 src/widgets/image_window.rs:700 -msgid "Cancel" -msgstr "Cancelar" - -#: src/widgets/edit_window.rs:533 -msgid "Discard" -msgstr "Descartar" - -#: src/widgets/edit_window.rs:534 -msgid "Save" -msgstr "Guardar" +#: src/widgets/edit_window.rs:376 +msgid "Saving Image" +msgstr "Guardando imagen" #: src/widgets/edit_window.ui:64 msgid "_Cancel" @@ -699,11 +614,11 @@ msgstr "Rotar a la derecha" #. Translators: This is a toast notification, informing the user that #. an image has been set as background. -#: src/widgets/image_view.rs:870 +#: src/widgets/image_view.rs:866 msgid "Set as background." msgstr "Establecer como fondo." -#: src/widgets/image_view.rs:876 +#: src/widgets/image_view.rs:872 msgid "Could not set background." msgstr "No se pudo establecer como fondo" @@ -739,48 +654,52 @@ msgstr "Nivel de ampliación personalizado" msgid "Zoom to Specified Level" msgstr "Ampliar al nivel específico" -#: src/widgets/image_window.rs:509 +#: src/widgets/image_window.rs:527 msgid "Supported image formats" msgstr "Formatos de imagen soportados" -#: src/widgets/image_window.rs:515 +#: src/widgets/image_window.rs:533 msgid "All files" msgstr "Todos los archivos" -#: src/widgets/image_window.rs:522 +#: src/widgets/image_window.rs:540 msgid "Open Image" msgstr "Abrir imagen" -#: src/widgets/image_window.rs:614 +#: src/widgets/image_window.rs:632 msgid "Image copied to clipboard" msgstr "Imagen copiada al portapapeles" -#: src/widgets/image_window.rs:635 +#: src/widgets/image_window.rs:653 msgid "Image moved to trash" msgstr "Imagen movida a la papelera" -#: src/widgets/image_window.rs:636 +#: src/widgets/image_window.rs:654 msgid "Undo" msgstr "Deshacer" -#: src/widgets/image_window.rs:666 +#: src/widgets/image_window.rs:684 msgid "Failed to move image to trash" msgstr "Falló al mover la imagen a la papelera" -#: src/widgets/image_window.rs:690 +#: src/widgets/image_window.rs:708 msgid "Permanently Delete Image?" msgstr "¿Quiere eliminar la imagen de manera permanente?" -#: src/widgets/image_window.rs:692 +#: src/widgets/image_window.rs:710 #, rust-format msgid "After deleting the image “{}” it will be permanently lost." msgstr "Después de eliminar la imagen \"{}\" se perderá para siempre." -#: src/widgets/image_window.rs:701 +#: src/widgets/image_window.rs:718 +msgid "Cancel" +msgstr "Cancelar" + +#: src/widgets/image_window.rs:719 msgid "Delete" msgstr "Eliminar" -#: src/widgets/image_window.rs:712 +#: src/widgets/image_window.rs:730 msgid "Failed to delete image" msgstr "Falló al eliminar la imagen" @@ -868,24 +787,24 @@ msgid "px" msgstr "px" #. Translators: {} is a placeholder for the filename -#: src/widgets/print.rs:365 +#: src/widgets/print.rs:364 #, rust-format msgid "Print “{}”" msgstr "Imprimir «{}»" -#: src/widgets/print.rs:472 +#: src/widgets/print.rs:477 msgid "Continue…" msgstr "Continuar…" -#: src/widgets/print.rs:473 +#: src/widgets/print.rs:478 msgid "Print Image" msgstr "Imprimir imagen" -#: src/widgets/print.rs:801 +#: src/widgets/print.rs:797 msgid "_Scale" msgstr "_Escala" -#: src/widgets/print.rs:804 +#: src/widgets/print.rs:800 msgid "_Width" msgstr "_Anchura" @@ -950,72 +869,30 @@ msgstr "_Rellenar espacio" msgid "H_eight" msgstr "A_ltura" -#: src/widgets/properties_view.rs:284 +#: src/widgets/properties_view.rs:258 msgid "Unknown" msgstr "Desconocido" #. Translators: Addition of image being transparent to format name -#: src/widgets/properties_view.rs:288 +#: src/widgets/properties_view.rs:262 msgid ", transparent" msgstr ", transparente" #. Translators: Addition of image being grayscale to format name -#: src/widgets/properties_view.rs:293 +#: src/widgets/properties_view.rs:267 msgid ", grayscale" msgstr ", escala de grises" #. Translators: Addition of bit size to format name -#: src/widgets/properties_view.rs:298 +#: src/widgets/properties_view.rs:272 msgid ", {}\\u{202F}bit" msgstr ", {}\\u{202F}bit" -#: src/widgets/properties_view.rs:315 +#: src/widgets/properties_view.rs:290 msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" msgstr "{}\\u{202F}\\u{D7}\\u{202F}{}" -#. Translators: Shorthand for centimeter -#: src/widgets/properties_view.rs:354 -msgid " cm" -msgstr " cm" - -#. Translators: Shorthand for inch -#: src/widgets/properties_view.rs:358 -msgid "″" -msgstr "″" - -#. Translators: Shorthand for meter -#: src/widgets/properties_view.rs:362 -msgid " m" -msgstr " m" - -#. Translators: Shorthand for millimeter -#: src/widgets/properties_view.rs:366 -msgid " mm" -msgstr " mm" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:370 -msgid " pc" -msgstr " pc" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:374 -msgid " pt" -msgstr " pt" - -#: src/widgets/properties_view.rs:386 -msgid "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" -msgstr "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" - -#: src/widgets/properties_view.rs:403 -msgid "{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:407 -msgid "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:435 +#: src/widgets/properties_view.rs:326 msgid "Image Coordinates Copied" msgstr "Coordenadas de la imagen copiadas" @@ -1032,95 +909,63 @@ msgid "URI" msgstr "URI" #: src/widgets/properties_view.ui:66 -msgid "Physical Size" -msgstr "Tamaño físico" - -#: src/widgets/properties_view.ui:76 -msgid "Resolution" -msgstr "Resolución" - -#: src/widgets/properties_view.ui:86 msgid "Image Format" msgstr "Formato de la imagen" -#: src/widgets/properties_view.ui:96 +#: src/widgets/properties_view.ui:76 msgid "File Size" msgstr "Tamaño del archivo" -#: src/widgets/properties_view.ui:110 +#: src/widgets/properties_view.ui:90 msgid "File Created" msgstr "Fecha de creación" -#: src/widgets/properties_view.ui:120 +#: src/widgets/properties_view.ui:100 msgid "File Modified" msgstr "Fecha de modificación" #. Translators: This is a label for GPS coordinates -#: src/widgets/properties_view.ui:134 +#: src/widgets/properties_view.ui:114 msgid "Location" msgstr "Ubicación" -#: src/widgets/properties_view.ui:145 +#: src/widgets/properties_view.ui:125 msgid "Copy Coordinates" msgstr "Copiar coordenadas" -#: src/widgets/properties_view.ui:156 +#: src/widgets/properties_view.ui:136 msgid "Open Location" msgstr "Abrir ubicación" -#: src/widgets/properties_view.ui:169 +#: src/widgets/properties_view.ui:149 msgid "Originally Created" msgstr "Creado originalmente" -#: src/widgets/properties_view.ui:179 -msgid "Creator" -msgstr "Creador" - -#: src/widgets/properties_view.ui:189 -msgid "Copyright" -msgstr "Derechos de autor" - -#: src/widgets/properties_view.ui:199 +#: src/widgets/properties_view.ui:159 msgid "Comment" msgstr "Comentar" -#: src/widgets/properties_view.ui:209 +#: src/widgets/properties_view.ui:169 msgid "Aperture" msgstr "Apertura" -#: src/widgets/properties_view.ui:219 +#: src/widgets/properties_view.ui:179 msgid "Exposure" msgstr "Exposición" -#: src/widgets/properties_view.ui:229 +#: src/widgets/properties_view.ui:189 msgid "ISO" msgstr "ISO" -#: src/widgets/properties_view.ui:239 +#: src/widgets/properties_view.ui:199 msgid "Focal Length" msgstr "Longitud focal" -#: src/widgets/properties_view.ui:249 +#: src/widgets/properties_view.ui:209 msgid "Maker, Model" msgstr "Creador, modelo" -#: src/widgets/properties_view.ui:259 -msgid "Lens" -msgstr "Lente" - -#: src/widgets/properties_view.ui:269 -msgid "Software" -msgstr "Software" - -#: src/widgets/properties_view.ui:279 -msgid "ICC Profile" -msgstr "Perfil ICC" - -#: src/widgets/properties_view.ui:289 -msgid "CICP" -msgstr "CICP" - -#: src/widgets/window.rs:254 +#: src/widgets/window.rs:206 msgid "Show Details" msgstr "Mostrar detalles" @@ -1149,6 +994,10 @@ msgstr "Mostrar detalles" #~ msgid "Gestures" #~ msgstr "gestos" +#, fuzzy +#~ msgid "{} %" +#~ msgstr "{}%" + #, fuzzy #~ msgid "Copy to Clipboard" #~ msgstr "Copiar al portapapeles" diff --git a/po/hu.po b/po/hu.po index fdb2b02..5266899 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Loupe main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/loupe/-/issues\n" -"POT-Creation-Date: 2026-09-01 12:44+0000\n" -"PO-Revision-Date: 2026-09-08 17:58+0200\n" +"POT-Creation-Date: 2026-02-27 20:03+0000\n" +"PO-Revision-Date: 2026-03-01 14:33+0100\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -17,16 +17,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 25.12.3\n" +"X-Generator: Lokalize 25.08.1\n" #: data/org.gnome.Loupe.desktop.in.in:2 #: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 -#: src/widgets/image_window.rs:879 +#: src/widgets/image_window.rs:898 msgid "Image Viewer" msgstr "Képmegjelenítő" #: data/org.gnome.Loupe.desktop.in.in:3 #: data/org.gnome.Loupe.metainfo.xml.in.in:13 +#| msgid "View images" msgid "View and edit images" msgstr "Képek megtekintése és szerkesztése" @@ -39,8 +40,7 @@ msgid "Show the image properties sidebar" msgstr "Képtulajdonságok oldalsáv megjelenítése" #. developer_name tag deprecated with Appstream 1.0 -#: data/org.gnome.Loupe.metainfo.xml.in.in:8 -#: data/org.gnome.Loupe.metainfo.xml.in.in:10 src/about.rs:35 +#: data/org.gnome.Loupe.metainfo.xml.in.in:8 src/about.rs:35 msgid "The GNOME Project" msgstr "A GNOME projekt" @@ -52,21 +52,6 @@ msgstr "" "Képek felfedezése, metaadatok megtekintése és gyors szerkesztések elvégzése " "levágással, forgatással vagy tükrözéssel." -#: data/org.gnome.Loupe.metainfo.xml.in.in:28 -#| msgctxt "shortcut window" -#| msgid "New Window" -msgid "Main Window" -msgstr "Főablak" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:32 -msgid "Crop Tool" -msgstr "Levágási eszköz" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:36 -#| msgid "Image Properties" -msgid "Image Properties Panel" -msgstr "Képtulajdonságok panel" - #: data/resources/shortcuts-dialog.ui:6 msgctxt "shortcut window" msgid "General Shortcuts" @@ -300,86 +285,44 @@ msgid "Could not list other files in directory." msgstr "Nem sikerült felsorolni egyéb fájlokat a könyvtárban." #. Translators: Display of the f-number . {} will be replaced with the number -#: src/metadata.rs:270 +#: src/metadata.rs:256 msgid "\\u{192}\\u{2215}{}" msgstr "\\u{192}\\u{2215}{}" #. Translators: Fractional exposure time (photography) in seconds -#: src/metadata.rs:283 +#: src/metadata.rs:269 msgid "1\\u{2215}{}\\u{202F}s" msgstr "1\\u{2215}{}\\u{202F} mp" #. Translators: Exposure time (photography) in seconds -#: src/metadata.rs:291 +#: src/metadata.rs:277 msgid "{}\\u{202F}s" msgstr "{}\\u{202F} mp" -#: src/metadata.rs:305 +#: src/metadata.rs:291 msgid "{}\\u{202F}mm" msgstr "{}\\u{202F} mm" #. Translators: short for "north" in GPS coordinate -#: src/metadata.rs:395 +#: src/metadata.rs:331 msgid "N" msgstr "É" #. Translators: short for "south" in GPS coordinate -#: src/metadata.rs:399 +#: src/metadata.rs:335 msgid "S" msgstr "D" #. Translators: short for "east" in GPS coordinate -#: src/metadata.rs:408 +#: src/metadata.rs:344 msgid "E" msgstr "K" #. Translators: short for "west" in GPS coordinate -#: src/metadata.rs:412 +#: src/metadata.rs:348 msgid "W" msgstr "Ny" -#: src/metadata.rs:492 -msgid "DCI P3" -msgstr "DCI P3" - -#: src/metadata.rs:493 -msgid "Display P3" -msgstr "Display P3" - -#: src/metadata.rs:494 -msgid "Rec.2020" -msgstr "Rec.2020" - -#: src/metadata.rs:495 -msgid "sRGB" -msgstr "sRGB" - -#: src/metadata.rs:496 src/metadata.rs:504 -msgid "Unspecified" -msgstr "Meghatározatlan" - -#: src/metadata.rs:497 src/metadata.rs:506 src/metadata.rs:516 -#, rust-format -#| msgid "Unknown" -msgid "Unknown ({})" -msgstr "Ismeretlen ({})" - -#: src/metadata.rs:503 -msgid "ICtCp" -msgstr "ICtCp" - -#: src/metadata.rs:512 -msgid "DCI" -msgstr "DCI" - -#: src/metadata.rs:513 -msgid "PQ" -msgstr "PQ" - -#: src/metadata.rs:514 -msgid "Gamma 2.4" -msgstr "Gamma 2.4" - #. / Returns localized date + time format #. Translators: This is the date and time format we use in metadata output etc. #. The format has to follow @@ -507,67 +450,31 @@ msgid "Crop Selection" msgstr "Kijelölés levágása" #. Translators: Filename suffix, {} is replaced by a number -#: src/widgets/edit_window.rs:207 -#, rust-format +#: src/widgets/edit_window.rs:196 msgid " (Edited)" msgid_plural " (Edited {})" msgstr[0] " (szerkesztve)" msgstr[1] " (szerkesztve - {})" -#: src/widgets/edit_window.rs:292 -#| msgctxt "shortcut window" -#| msgid "Move Image to Trash" -msgid "Moving Original to Trash" -msgstr "Eredeti áthelyezése a kukába" - -#: src/widgets/edit_window.rs:306 src/widgets/edit_window.rs:335 +#: src/widgets/edit_window.rs:290 src/widgets/edit_window.rs:316 msgid "Failed to save image." msgstr "Nem sikerült elmenteni a képet." -#: src/widgets/edit_window.rs:315 -msgid "Finalizing Save Operation" -msgstr "Mentési művelet befejezése" - -#: src/widgets/edit_window.rs:367 +#: src/widgets/edit_window.rs:344 msgid "Editing Image" msgstr "Kép szerkesztése" -#: src/widgets/edit_window.rs:384 +#: src/widgets/edit_window.rs:361 msgid "Failed to edit image." msgstr "Nem sikerült szerkeszteni a képet." -#: src/widgets/edit_window.rs:391 -msgid "Saving Image" -msgstr "Kép mentése" - -#: src/widgets/edit_window.rs:410 +#: src/widgets/edit_window.rs:371 src/widgets/edit_window.rs:394 msgid "Failed to Save Image" msgstr "Nem sikerült elmenteni a képet" -#: src/widgets/edit_window.rs:526 -msgid "Save Changes?" -msgstr "Elmenti a változtatásokat?" - -#: src/widgets/edit_window.rs:528 -msgid "" -"There are unsaved image editing changes. Closing without saving will " -"permanently lose these modifications." -msgstr "" -"Mentetlen képszerkesztési változtatások találhatók. A mentés nélküli bezárás v" -"églegesen el fogja veszíteni ezeket a módosításokat." - -#: src/widgets/edit_window.rs:532 src/widgets/image_window.rs:700 -msgid "Cancel" -msgstr "Mégse" - -#: src/widgets/edit_window.rs:533 -msgid "Discard" -msgstr "Elvetés" - -#: src/widgets/edit_window.rs:534 -#| msgid "_Save" -msgid "Save" -msgstr "Mentés" +#: src/widgets/edit_window.rs:377 +msgid "Saving Image" +msgstr "Kép mentése" #: src/widgets/edit_window.ui:64 msgid "_Cancel" @@ -628,7 +535,6 @@ msgid "Report _Issue" msgstr "_Probléma jelentése" #: src/widgets/image_page.rs:225 -#, rust-format msgid "" "No image loaders available. Maybe the “glycin-loaders” package with " "compatibility version “{}” is not installed." @@ -637,12 +543,10 @@ msgstr "" "rendelkező „glycin-loaders” csomag nincs telepítve." #: src/widgets/image_page.rs:243 -#, rust-format msgid "The image format “{} ({})” is known but not installed." msgstr "A(z) „{} ({})” képformátum ismert, de nincs telepítve." #: src/widgets/image_page.rs:251 -#, rust-format msgid "Unknown image format “{} ({}).”" msgstr "Ismeretlen képformátum: „{} ({}).”" @@ -651,7 +555,7 @@ msgid "There is not enough free memory available to load this image." msgstr "Nincs elég elérhető szabad memória a kép betöltéséhez." #: src/widgets/image_page.rs:267 -#, rust-format +#| msgid "Failed to save image." msgid "Failed to load image file: {}" msgstr "Nem sikerült betölteni a képfájlt: {}" @@ -701,11 +605,11 @@ msgstr "Forgatás jobbra" #. Translators: This is a toast notification, informing the user that #. an image has been set as background. -#: src/widgets/image_view.rs:870 +#: src/widgets/image_view.rs:866 msgid "Set as background." msgstr "Beállítás háttérként." -#: src/widgets/image_view.rs:876 +#: src/widgets/image_view.rs:872 msgid "Could not set background." msgstr "Nem sikerült beállítani a hátteret." @@ -741,48 +645,51 @@ msgstr "Egyéni nagyítási szint" msgid "Zoom to Specified Level" msgstr "Nagyítás a megadott szintre" -#: src/widgets/image_window.rs:509 +#: src/widgets/image_window.rs:528 msgid "Supported image formats" msgstr "Támogatott képformátumok" -#: src/widgets/image_window.rs:515 +#: src/widgets/image_window.rs:534 msgid "All files" msgstr "Összes fájl" -#: src/widgets/image_window.rs:522 +#: src/widgets/image_window.rs:541 msgid "Open Image" msgstr "Kép megnyitása" -#: src/widgets/image_window.rs:614 +#: src/widgets/image_window.rs:633 msgid "Image copied to clipboard" msgstr "A kép lemásolva a vágólapra" -#: src/widgets/image_window.rs:635 +#: src/widgets/image_window.rs:654 msgid "Image moved to trash" msgstr "A kép áthelyezve a kukába" -#: src/widgets/image_window.rs:636 +#: src/widgets/image_window.rs:655 msgid "Undo" msgstr "Visszavonás" -#: src/widgets/image_window.rs:666 +#: src/widgets/image_window.rs:685 msgid "Failed to move image to trash" msgstr "Nem sikerült áthelyezni a képet a kukába" -#: src/widgets/image_window.rs:690 +#: src/widgets/image_window.rs:709 msgid "Permanently Delete Image?" msgstr "Véglegesen törli a képet?" -#: src/widgets/image_window.rs:692 -#, rust-format +#: src/widgets/image_window.rs:711 msgid "After deleting the image “{}” it will be permanently lost." msgstr "A(z) „{}” kép a törlése után véglegesen elvész." -#: src/widgets/image_window.rs:701 +#: src/widgets/image_window.rs:719 +msgid "Cancel" +msgstr "Mégse" + +#: src/widgets/image_window.rs:720 msgid "Delete" msgstr "Törlés" -#: src/widgets/image_window.rs:712 +#: src/widgets/image_window.rs:731 msgid "Failed to delete image" msgstr "Nem sikerült törölni a képet" @@ -823,6 +730,7 @@ msgid "Edit Image" msgstr "Kép szerkesztése" #: src/widgets/image_window.ui:220 +#| msgid "View Images" msgid "View and Edit Images" msgstr "Képek megtekintése és szerkesztése" @@ -870,24 +778,23 @@ msgid "px" msgstr "képpont" #. Translators: {} is a placeholder for the filename -#: src/widgets/print.rs:365 -#, rust-format +#: src/widgets/print.rs:364 msgid "Print “{}”" msgstr "„{}” nyomtatása" -#: src/widgets/print.rs:472 +#: src/widgets/print.rs:477 msgid "Continue…" msgstr "Folytatás…" -#: src/widgets/print.rs:473 +#: src/widgets/print.rs:478 msgid "Print Image" msgstr "Kép nyomtatása" -#: src/widgets/print.rs:801 +#: src/widgets/print.rs:797 msgid "_Scale" msgstr "_Méretezés" -#: src/widgets/print.rs:804 +#: src/widgets/print.rs:800 msgid "_Width" msgstr "_Szélesség" @@ -952,75 +859,30 @@ msgstr "Hely _kitöltése" msgid "H_eight" msgstr "_Magasság" -#: src/widgets/properties_view.rs:284 +#: src/widgets/properties_view.rs:258 msgid "Unknown" msgstr "Ismeretlen" #. Translators: Addition of image being transparent to format name -#: src/widgets/properties_view.rs:288 +#: src/widgets/properties_view.rs:262 msgid ", transparent" msgstr ", átlátszó" #. Translators: Addition of image being grayscale to format name -#: src/widgets/properties_view.rs:293 +#: src/widgets/properties_view.rs:267 msgid ", grayscale" msgstr ", szürkeárnyalatos" #. Translators: Addition of bit size to format name -#: src/widgets/properties_view.rs:298 +#: src/widgets/properties_view.rs:272 msgid ", {}\\u{202F}bit" msgstr ", {}\\u{202F} bites" -#: src/widgets/properties_view.rs:315 +#: src/widgets/properties_view.rs:290 msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" msgstr "{}\\u{202F}\\u{D7}\\u{202F}{}" -#. Translators: Shorthand for centimeter -#: src/widgets/properties_view.rs:354 -msgid " cm" -msgstr " cm" - -#. Translators: Shorthand for inch -#: src/widgets/properties_view.rs:358 -msgid "″" -msgstr "″" - -#. Translators: Shorthand for meter -#: src/widgets/properties_view.rs:362 -msgid " m" -msgstr " m" - -#. Translators: Shorthand for millimeter -#: src/widgets/properties_view.rs:366 -msgid " mm" -msgstr " mm" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:370 -msgid " pc" -msgstr " pc" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:374 -msgid " pt" -msgstr " pt" - -#: src/widgets/properties_view.rs:386 -#| msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" -msgid "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" -msgstr "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" - -#: src/widgets/properties_view.rs:403 -#| msgid "{}\\u{202F}s" -msgid "{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:407 -#| msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" -msgid "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:435 +#: src/widgets/properties_view.rs:326 msgid "Image Coordinates Copied" msgstr "Képkoordináták másolva" @@ -1037,95 +899,62 @@ msgid "URI" msgstr "URI" #: src/widgets/properties_view.ui:66 -#| msgid "File Size" -msgid "Physical Size" -msgstr "Fizikai méret" - -#: src/widgets/properties_view.ui:76 -msgid "Resolution" -msgstr "Felbontás" - -#: src/widgets/properties_view.ui:86 msgid "Image Format" msgstr "Kép formátuma" -#: src/widgets/properties_view.ui:96 +#: src/widgets/properties_view.ui:76 msgid "File Size" msgstr "Fájl mérete" -#: src/widgets/properties_view.ui:110 +#: src/widgets/properties_view.ui:90 msgid "File Created" msgstr "Fájl létrehozva" -#: src/widgets/properties_view.ui:120 +#: src/widgets/properties_view.ui:100 msgid "File Modified" msgstr "Fájl módosítva" #. Translators: This is a label for GPS coordinates -#: src/widgets/properties_view.ui:134 +#: src/widgets/properties_view.ui:114 msgid "Location" msgstr "Hely" -#: src/widgets/properties_view.ui:145 +#: src/widgets/properties_view.ui:125 msgid "Copy Coordinates" msgstr "Koordináták másolása" -#: src/widgets/properties_view.ui:156 +#: src/widgets/properties_view.ui:136 msgid "Open Location" msgstr "Hely megnyitása" -#: src/widgets/properties_view.ui:169 +#: src/widgets/properties_view.ui:149 msgid "Originally Created" msgstr "Eredetileg létrehozva" -#: src/widgets/properties_view.ui:179 -msgid "Creator" -msgstr "Létrehozó" - -#: src/widgets/properties_view.ui:189 -msgid "Copyright" -msgstr "Szerzői jog" - -#: src/widgets/properties_view.ui:199 +#: src/widgets/properties_view.ui:159 msgid "Comment" msgstr "Megjegyzés" -#: src/widgets/properties_view.ui:209 +#: src/widgets/properties_view.ui:169 msgid "Aperture" msgstr "Rekesz" -#: src/widgets/properties_view.ui:219 +#: src/widgets/properties_view.ui:179 msgid "Exposure" msgstr "Expozíció" -#: src/widgets/properties_view.ui:229 +#: src/widgets/properties_view.ui:189 msgid "ISO" msgstr "ISO" -#: src/widgets/properties_view.ui:239 +#: src/widgets/properties_view.ui:199 msgid "Focal Length" msgstr "Gyújtótávolság" -#: src/widgets/properties_view.ui:249 +#: src/widgets/properties_view.ui:209 msgid "Maker, Model" msgstr "Gyártó, modell" -#: src/widgets/properties_view.ui:259 -msgid "Lens" -msgstr "Lencsék" - -#: src/widgets/properties_view.ui:269 -msgid "Software" -msgstr "Szoftver" - -#: src/widgets/properties_view.ui:279 -msgid "ICC Profile" -msgstr "ICC-profil" - -#: src/widgets/properties_view.ui:289 -msgid "CICP" -msgstr "CICP" - -#: src/widgets/window.rs:254 +#: src/widgets/window.rs:206 msgid "Show Details" msgstr "Részletek megjelenítése" diff --git a/po/nb.po b/po/nb.po index 39f1346..725c461 100644 --- a/po/nb.po +++ b/po/nb.po @@ -1,29 +1,23 @@ # Norwegian Bokmål translation for loupe. # Copyright (C) 2023 loupe's COPYRIGHT HOLDER # This file is distributed under the same license as the loupe package. +# Brage Fuglseth , 2023. # Kjartan Maraas , 2026 -# Brage Fuglseth , 2023-2026. # msgid "" msgstr "" "Project-Id-Version: loupe main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/loupe/-/issues\n" -"POT-Creation-Date: 2026-09-01 12:44+0000\n" -"PO-Revision-Date: 2026-09-03 23:18+0200\n" -"Last-Translator: Brage Fuglseth \n" -"Language-Team: Norwegian Bokmål\n" +"POT-Creation-Date: 2026-08-06 11:47+0000\n" +"PO-Revision-Date: 2026-08-24 20:45+0200\n" +"Last-Translator: Kjartan Maraas \n" +"Language-Team: Norwegian Bokmål \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Gtranslator 50.0\n" -"X-DL-VCS-Web: https://gitlab.gnome.org/GNOME/loupe\n" -"X-DL-Lang: nb\n" -"X-DL-Module: loupe\n" -"X-DL-Branch: main\n" -"X-DL-Domain: po\n" -"X-DL-State: None\n" +"X-Generator: Poedit 3.9\n" #: data/org.gnome.Loupe.desktop.in.in:2 #: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 @@ -310,7 +304,7 @@ msgstr "\\u{192}\\u{2215}{}" #. Translators: Fractional exposure time (photography) in seconds #: src/metadata.rs:283 msgid "1\\u{2215}{}\\u{202F}s" -msgstr "1\\u{2215}{}u\\{202F}s" +msgstr "1\\u{2215}{}u{202F} s" #. Translators: Exposure time (photography) in seconds #: src/metadata.rs:291 @@ -347,11 +341,11 @@ msgstr "DCI P3" #: src/metadata.rs:493 msgid "Display P3" -msgstr "Display P3" +msgstr "" #: src/metadata.rs:494 msgid "Rec.2020" -msgstr "Rec.2020" +msgstr "" #: src/metadata.rs:495 msgid "sRGB" @@ -552,9 +546,7 @@ msgstr "Lagre endringer?" msgid "" "There are unsaved image editing changes. Closing without saving will " "permanently lose these modifications." -msgstr "" -"Det finnes endringer på bildet som ikke er lagret. Hvis du lukker uten å " -"lagre vil du miste disse endringene." +msgstr "Det finnes endringer på bildet som ikke er lagret. Hvis du lukker uten å lagre vil du miste disse endringene." #: src/widgets/edit_window.rs:532 src/widgets/image_window.rs:700 msgid "Cancel" diff --git a/po/nn.po b/po/nn.po index 94a7341..6264f84 100644 --- a/po/nn.po +++ b/po/nn.po @@ -2,15 +2,14 @@ # Copyright (C) 2025 loupe's COPYRIGHT HOLDER # This file is distributed under the same license as the loupe package. # Sunniva Løvstad , 2025. -# Roy-Magne Mo , 2026. # msgid "" msgstr "" "Project-Id-Version: loupe gnome-48\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/loupe/-/issues\n" -"POT-Creation-Date: 2026-09-09 12:06+0000\n" -"PO-Revision-Date: 2026-09-11 15:29+0200\n" -"Last-Translator: Roy-Magne Mo \n" +"POT-Creation-Date: 2025-08-26 05:33+0000\n" +"PO-Revision-Date: 2025-09-01 22:13+0200\n" +"Last-Translator: Sunniva Løvstad \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" "MIME-Version: 1.0\n" @@ -20,380 +19,343 @@ msgstr "" "X-Generator: Poedit 3.6\n" #: data/org.gnome.Loupe.desktop.in.in:2 -#: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 -#: src/widgets/image_window.rs:879 +#: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:31 +#: src/widgets/image_window.rs:866 msgid "Image Viewer" msgstr "Biletesyning" -#: data/org.gnome.Loupe.desktop.in.in:3 -#: data/org.gnome.Loupe.metainfo.xml.in.in:13 -#| msgid "View images" -msgid "View and edit images" -msgstr "Sjå og rediger bilete" - -#: data/org.gnome.Loupe.desktop.in.in:11 +#: data/org.gnome.Loupe.desktop.in.in:10 msgid "Picture;Graphics;Loupe;" -msgstr "Picure;Graphics;Bilete;Grafikk;bilete;Loupe;" +msgstr "Bilete;Grafikk;Bilde;Loupe;" #: data/org.gnome.Loupe.gschema.xml.in:6 msgid "Show the image properties sidebar" msgstr "Syn sidefeltet for bileteeigenskapar" #. developer_name tag deprecated with Appstream 1.0 -#: data/org.gnome.Loupe.metainfo.xml.in.in:8 -#: data/org.gnome.Loupe.metainfo.xml.in.in:10 src/about.rs:35 +#: data/org.gnome.Loupe.metainfo.xml.in.in:8 src/about.rs:34 msgid "The GNOME Project" msgstr "GNOME-prosjektet" +#: data/org.gnome.Loupe.metainfo.xml.in.in:13 +msgid "View images" +msgstr "Syn bilete" + #: data/org.gnome.Loupe.metainfo.xml.in.in:15 -msgid "" -"Explore images, view their metadata, and make quick edits by cropping, " -"rotating, or flipping them." -msgstr "" -"Utforsk bilete, sjå metadata og gjer raske endringar ved å skjere til, rotera " -"eller spegla dei." +msgid "Browse through your images and inspect their metadata with:" +msgstr "Bla gjennom bileta dine og inspiser metadataa deira med:" -#: data/org.gnome.Loupe.metainfo.xml.in.in:28 -#| msgctxt "shortcut window" -#| msgid "New Window" -msgid "Main Window" -msgstr "Hovudvindauge" +#: data/org.gnome.Loupe.metainfo.xml.in.in:17 +msgid "Fast GPU accelerated image rendering" +msgstr "Snøgg GPU-akselerert bileteattgjeving" -#: data/org.gnome.Loupe.metainfo.xml.in.in:32 -msgid "Crop Tool" -msgstr "Beskjærverktøy" +#: data/org.gnome.Loupe.metainfo.xml.in.in:18 +msgid "Tiled rendering for vector graphics" +msgstr "Flisvis attgjeving for vektorgrafikk" -#: data/org.gnome.Loupe.metainfo.xml.in.in:36 -#| msgid "Image Properties" -msgid "Image Properties Panel" -msgstr "Bileteigenskapar-vindauge" +#: data/org.gnome.Loupe.metainfo.xml.in.in:19 +msgid "Extendable and sandboxed image decoding" +msgstr "Utvideleg og sandboksa bileteavkodering" -#: data/resources/shortcuts-dialog.ui:6 +#: data/org.gnome.Loupe.metainfo.xml.in.in:20 +msgid "Accessible presentation of the most important metadata." +msgstr "Tilgjengeleg framsyning av dei mest viktige metadataa." + +#: data/resources/gtk/help-overlay.ui:11 msgctxt "shortcut window" msgid "General Shortcuts" msgstr "Ålmenne snarvegar" -#: data/resources/shortcuts-dialog.ui:9 +#: data/resources/gtk/help-overlay.ui:14 msgctxt "shortcut window" msgid "Copy Image or Selected Text to Clipboard" msgstr "Kopier bilete eller vald tekst til utklippstavla" -#: data/resources/shortcuts-dialog.ui:15 +#: data/resources/gtk/help-overlay.ui:20 msgctxt "shortcut window" msgid "Move Image to Trash" msgstr "Flytt bilete til papirkorga" -#: data/resources/shortcuts-dialog.ui:21 +#: data/resources/gtk/help-overlay.ui:26 msgctxt "shortcut window" msgid "Permanently Delete Image" msgstr "Slett biletet for godt" -#: data/resources/shortcuts-dialog.ui:27 +#: data/resources/gtk/help-overlay.ui:32 msgctxt "shortcut window" msgid "Open Image with Other App" msgstr "Opna bilete med annan app" -#: data/resources/shortcuts-dialog.ui:33 +#: data/resources/gtk/help-overlay.ui:38 msgctxt "shortcut window" msgid "Set as Background" msgstr "Bruk som bakgrunn" -#: data/resources/shortcuts-dialog.ui:39 +#: data/resources/gtk/help-overlay.ui:44 msgctxt "shortcut window" msgid "New Window" msgstr "Nytt vindauga" -#: data/resources/shortcuts-dialog.ui:45 +#: data/resources/gtk/help-overlay.ui:50 msgctxt "shortcut window" msgid "Open Help" msgstr "Opna hjelp" -#: data/resources/shortcuts-dialog.ui:51 +#: data/resources/gtk/help-overlay.ui:56 msgctxt "shortcut window" msgid "Show Keyboard Shortcuts" msgstr "Syn tastatursnarvegar" -#: data/resources/shortcuts-dialog.ui:57 +#: data/resources/gtk/help-overlay.ui:62 msgctxt "shortcut window" msgid "Close Window" msgstr "Lukk vindauga" -#: data/resources/shortcuts-dialog.ui:63 +#: data/resources/gtk/help-overlay.ui:68 msgctxt "shortcut window" msgid "Quit" msgstr "Avslutt" -#: data/resources/shortcuts-dialog.ui:71 +#: data/resources/gtk/help-overlay.ui:76 msgctxt "shortcut window" msgid "Navigate Images" msgstr "Naviger gjennom bilete" -#: data/resources/shortcuts-dialog.ui:75 data/resources/shortcuts-dialog.ui:89 +#: data/resources/gtk/help-overlay.ui:80 data/resources/gtk/help-overlay.ui:94 +#: data/resources/gtk/help-overlay.ui:235 +#: data/resources/gtk/help-overlay.ui:249 msgctxt "shortcut window" msgid "Next Image" msgstr "Neste bilete" -#: data/resources/shortcuts-dialog.ui:82 data/resources/shortcuts-dialog.ui:96 +#: data/resources/gtk/help-overlay.ui:87 data/resources/gtk/help-overlay.ui:101 +#: data/resources/gtk/help-overlay.ui:242 +#: data/resources/gtk/help-overlay.ui:256 msgctxt "shortcut window" msgid "Previous Image" msgstr "Førre bilete" -#: data/resources/shortcuts-dialog.ui:102 +#: data/resources/gtk/help-overlay.ui:107 msgctxt "shortcut window" msgid "First Image" msgstr "Fyrste bilete" -#: data/resources/shortcuts-dialog.ui:108 +#: data/resources/gtk/help-overlay.ui:113 msgctxt "shortcut window" msgid "Last Image" msgstr "Siste bilete" -#: data/resources/shortcuts-dialog.ui:116 +#: data/resources/gtk/help-overlay.ui:121 msgctxt "shortcut window" msgid "Rotate Image" msgstr "Roter bilete" -#: data/resources/shortcuts-dialog.ui:119 -#: data/resources/shortcuts-dialog.ui:253 +#: data/resources/gtk/help-overlay.ui:124 +#: data/resources/gtk/help-overlay.ui:274 +#: data/resources/gtk/help-overlay.ui:315 msgctxt "shortcut window" msgid "Rotate Clockwise" msgstr "Roter med klokka" -#: data/resources/shortcuts-dialog.ui:125 -#: data/resources/shortcuts-dialog.ui:259 +#: data/resources/gtk/help-overlay.ui:130 +#: data/resources/gtk/help-overlay.ui:280 +#: data/resources/gtk/help-overlay.ui:321 msgctxt "shortcut window" msgid "Rotate Counterclockwise" msgstr "Roter imot klokka" -#: data/resources/shortcuts-dialog.ui:133 +#: data/resources/gtk/help-overlay.ui:138 msgctxt "shortcut window" msgid "Zoom Image" msgstr "Forstørring" -#: data/resources/shortcuts-dialog.ui:136 +#: data/resources/gtk/help-overlay.ui:141 +#: data/resources/gtk/help-overlay.ui:262 msgctxt "shortcut window" msgid "Zoom In" msgstr "Forstørr bilete" -#: data/resources/shortcuts-dialog.ui:142 +#: data/resources/gtk/help-overlay.ui:147 +#: data/resources/gtk/help-overlay.ui:268 msgctxt "shortcut window" msgid "Zoom Out" msgstr "Forminsk bilete" -#: data/resources/shortcuts-dialog.ui:148 +#: data/resources/gtk/help-overlay.ui:153 msgctxt "shortcut window" msgid "Best Fit" msgstr "Beste tilpassing" -#: data/resources/shortcuts-dialog.ui:154 +#: data/resources/gtk/help-overlay.ui:159 msgctxt "shortcut window" msgid "Original Scale" msgstr "Original storleik" -#: data/resources/shortcuts-dialog.ui:160 +#: data/resources/gtk/help-overlay.ui:165 msgctxt "shortcut window" msgid "200% Scale" -msgstr "200 % storleik" +msgstr "200% storleik" # Veit ikkje om pan → flytt er så godt, er vel låkt. -#: data/resources/shortcuts-dialog.ui:168 +#: data/resources/gtk/help-overlay.ui:173 msgctxt "shortcut window" msgid "Pan View" -msgstr "Flyttevising" +msgstr "Flyttevisning" -#: data/resources/shortcuts-dialog.ui:171 +#: data/resources/gtk/help-overlay.ui:176 msgctxt "shortcut window" msgid "Pan Left" msgstr "Flytt til venstre" -#: data/resources/shortcuts-dialog.ui:177 +#: data/resources/gtk/help-overlay.ui:182 msgctxt "shortcut window" msgid "Pan Right" msgstr "Flytt til høgre" -#: data/resources/shortcuts-dialog.ui:183 +#: data/resources/gtk/help-overlay.ui:188 msgctxt "shortcut window" msgid "Pan Up" msgstr "Flytt oppover" -#: data/resources/shortcuts-dialog.ui:189 +#: data/resources/gtk/help-overlay.ui:194 msgctxt "shortcut window" msgid "Pan Down" msgstr "Flytt nedover" -#: data/resources/shortcuts-dialog.ui:197 +#: data/resources/gtk/help-overlay.ui:202 msgctxt "shortcut window" msgid "View" -msgstr "Vising" +msgstr "Visning" -#: data/resources/shortcuts-dialog.ui:200 +#: data/resources/gtk/help-overlay.ui:205 msgctxt "shortcut window" msgid "Toggle Fullscreen" msgstr "Slå på eller av fullskjermsmodus" -#: data/resources/shortcuts-dialog.ui:206 +#: data/resources/gtk/help-overlay.ui:211 msgctxt "shortcut window" msgid "Leave Fullscreen" msgstr "Forlat fullskjermsmodus" -#: data/resources/shortcuts-dialog.ui:212 +#: data/resources/gtk/help-overlay.ui:217 msgctxt "shortcut window" msgid "Toggle Image Properties" msgstr "Syn eller gøym bileteeigenskapar" -#: data/resources/shortcuts-dialog.ui:218 +#: data/resources/gtk/help-overlay.ui:223 msgctxt "shortcut window" msgid "Show Main Menu" msgstr "Syn hovudmeny" -#: data/resources/shortcuts-dialog.ui:226 +#: data/resources/gtk/help-overlay.ui:231 +msgctxt "shortcut window" +msgid "Gestures" +msgstr "Rørsler" + +#: data/resources/gtk/help-overlay.ui:288 msgctxt "shortcut window" msgid "Editing" -msgstr "Redigering" +msgstr "Brigding" -#: data/resources/shortcuts-dialog.ui:229 +#: data/resources/gtk/help-overlay.ui:291 msgctxt "shortcut window" msgid "Open Editing View" -msgstr "Opna redigeringsvisinga" +msgstr "Opna brigdingsvisninga" -#: data/resources/shortcuts-dialog.ui:235 +#: data/resources/gtk/help-overlay.ui:297 msgctxt "shortcut window" msgid "Replace Original" msgstr "Byt ut originalen" -#: data/resources/shortcuts-dialog.ui:241 +#: data/resources/gtk/help-overlay.ui:303 msgctxt "shortcut window" msgid "Save As" msgstr "Lagra som" -#: data/resources/shortcuts-dialog.ui:247 +#: data/resources/gtk/help-overlay.ui:309 msgctxt "shortcut window" msgid "Cancel" msgstr "Avbryt" -#: data/resources/shortcuts-dialog.ui:265 +#: data/resources/gtk/help-overlay.ui:327 msgctxt "shortcut window" msgid "Mirror Horizontally" msgstr "Spegl vassrett" -#: data/resources/shortcuts-dialog.ui:271 +#: data/resources/gtk/help-overlay.ui:333 msgctxt "shortcut window" msgid "Mirror Vertically" msgstr "Spegl loddrett" -#: data/resources/shortcuts-dialog.ui:277 +#: data/resources/gtk/help-overlay.ui:339 msgctxt "shortcut window" msgid "Apply Crop" msgstr "Tak avskjering i bruk" #. Translators: Replace "translator-credits" with your names, one name per line -#: src/about.rs:45 +#: src/about.rs:44 msgid "translator-credits" -msgstr "" -"Sunniva Løvstad \n" -"Roy-Magne Mo " +msgstr "Sunniva Løvstad " -#: src/about.rs:46 +#: src/about.rs:45 msgid "Copyright © 2020–2024 Christopher Davis et al." msgstr "Opphavsrett © 2020–2024 Christopher Davis m.fl." -#: src/file_model.rs:211 +#: src/file_model.rs:180 msgid "Could not list other files in directory." -msgstr "Klarte ikkje oppføra andre filer i katalogen." +msgstr "Klarte ikkje å oppføra andre filer i katalogen." #. Translators: Display of the f-number . {} will be replaced with the number -#: src/metadata.rs:270 +#: src/metadata.rs:253 msgid "\\u{192}\\u{2215}{}" msgstr "\\u{192}\\u{2215}{}" #. Translators: Fractional exposure time (photography) in seconds -#: src/metadata.rs:283 +#: src/metadata.rs:266 msgid "1\\u{2215}{}\\u{202F}s" msgstr "1\\u{2215}{}\\u{202F}s" #. Translators: Exposure time (photography) in seconds -#: src/metadata.rs:291 +#: src/metadata.rs:274 msgid "{}\\u{202F}s" msgstr "{}\\u{202F}s" -#: src/metadata.rs:305 +#: src/metadata.rs:288 msgid "{}\\u{202F}mm" msgstr "{}\\u{202F}mm" #. Translators: short for "north" in GPS coordinate -#: src/metadata.rs:395 +#: src/metadata.rs:328 msgid "N" msgstr "N" #. Translators: short for "south" in GPS coordinate -#: src/metadata.rs:399 +#: src/metadata.rs:332 msgid "S" msgstr "S" #. Translators: short for "east" in GPS coordinate -#: src/metadata.rs:408 +#: src/metadata.rs:341 msgid "E" msgstr "A" #. Translators: short for "west" in GPS coordinate -#: src/metadata.rs:412 +#: src/metadata.rs:345 msgid "W" msgstr "V" -#: src/metadata.rs:492 -msgid "DCI P3" -msgstr "DCI P3" - -#: src/metadata.rs:493 -msgid "Display P3" -msgstr "Vis P3" - -#: src/metadata.rs:494 -msgid "Rec.2020" -msgstr "Rec.2020" - -#: src/metadata.rs:495 -msgid "sRGB" -msgstr "sRGB" - -#: src/metadata.rs:496 src/metadata.rs:504 -msgid "Unspecified" -msgstr "Uspesifisert" - -#: src/metadata.rs:497 src/metadata.rs:506 src/metadata.rs:516 -#, rust-format -#| msgid "Unknown" -msgid "Unknown ({})" -msgstr "Ukjend ({})" - -#: src/metadata.rs:503 -msgid "ICtCp" -msgstr "ICtCp" - -#: src/metadata.rs:512 -msgid "DCI" -msgstr "DCI" - -#: src/metadata.rs:513 -msgid "PQ" -msgstr "PQ" - -#: src/metadata.rs:514 -msgid "Gamma 2.4" -msgstr "Gamma 2.4" - -#. / Returns localized date + time format #. Translators: This is the date and time format we use in metadata output etc. #. The format has to follow #. The default is already translated. Don't change if you are not sure what to #. use. #: src/util.rs:39 +#, c-format msgid "%x %X" msgstr "%x %X" -#: src/util.rs:182 +#: src/util.rs:182 src/widgets/image_window.rs:638 msgid "Failed to restore image from trash" -msgstr "Klarte ikkje attopprette biletet frå papirkorga" +msgstr "Klarte ikkje å attopprette biletet frå papirkorga" #: src/widgets/drag_overlay.ui:15 msgid "Drop Image to View" @@ -502,74 +464,39 @@ msgstr "_Nullstill" #: src/widgets/edit/crop.ui:307 src/widgets/edit/crop.ui:431 msgid "Undo Changes in this View" -msgstr "Angre på brigdingar i denne visinga" +msgstr "Angre på brigdingar i denne visninga" #: src/widgets/edit/crop_selection.ui:46 msgid "Crop Selection" msgstr "Avskjer utval" +#. Translators: Filename suffix #. Translators: Filename suffix, {} is replaced by a number -#: src/widgets/edit_window.rs:207 -#, rust-format +#: src/widgets/edit_window.rs:192 src/widgets/edit_window.rs:195 msgid " (Edited)" msgid_plural " (Edited {})" -msgstr[0] " (Redigert)" -msgstr[1] " (Redigert {})" +msgstr[0] " (Brigda)" +msgstr[1] " (Brigda {})" -#: src/widgets/edit_window.rs:292 -#| msgctxt "shortcut window" -#| msgid "Move Image to Trash" -msgid "Moving Original to Trash" -msgstr "Flyttar opphavleg til papirkorga" - -#: src/widgets/edit_window.rs:306 src/widgets/edit_window.rs:335 +#: src/widgets/edit_window.rs:290 src/widgets/edit_window.rs:316 msgid "Failed to save image." msgstr "Mislukkast i å lagra bilete." -#: src/widgets/edit_window.rs:315 -msgid "Finalizing Save Operation" -msgstr "Ferdigstiller lagring" - -#: src/widgets/edit_window.rs:367 +#: src/widgets/edit_window.rs:346 msgid "Editing Image" -msgstr "Rediger bilete" +msgstr "Brigdar bilete" -#: src/widgets/edit_window.rs:384 +#: src/widgets/edit_window.rs:360 msgid "Failed to edit image." msgstr "Mislukkast i å brigda bilete." -#: src/widgets/edit_window.rs:391 -msgid "Saving Image" -msgstr "Lagrar bilete" - -#: src/widgets/edit_window.rs:410 +#: src/widgets/edit_window.rs:370 src/widgets/edit_window.rs:393 msgid "Failed to Save Image" msgstr "Mislukkast i å lagra bilete" -#: src/widgets/edit_window.rs:526 -msgid "Save Changes?" -msgstr "Lagra endringar?" - -#: src/widgets/edit_window.rs:528 -msgid "" -"There are unsaved image editing changes. Closing without saving will " -"permanently lose these modifications." -msgstr "" -"Det er ulagra endringar i biletredigeringa. Om du lukkar utan å spara, vil" -" desse endringane gå tapt for alltid." - -#: src/widgets/edit_window.rs:532 src/widgets/image_window.rs:700 -msgid "Cancel" -msgstr "Avbryt" - -#: src/widgets/edit_window.rs:533 -msgid "Discard" -msgstr "Kast" - -#: src/widgets/edit_window.rs:534 -#| msgid "_Save" -msgid "Save" -msgstr "Lagra" +#: src/widgets/edit_window.rs:376 +msgid "Saving Image" +msgstr "Lagrar bilete" #: src/widgets/edit_window.ui:64 msgid "_Cancel" @@ -581,7 +508,7 @@ msgstr "_Lagra" #: src/widgets/edit_window.ui:92 msgid "_Save As…" -msgstr "_Lagra som …" +msgstr "_Lagra som…" #: src/widgets/edit_window.ui:100 msgid "Keep original and create a new file" @@ -595,13 +522,13 @@ msgstr "_Byt ut opphavleg bilete" msgid "Original image will be moved to the trash" msgstr "Det opphavlege biletet skal verta flytta til papirkorga" -#: src/widgets/error_details.rs:80 +#: src/widgets/error_details.rs:79 msgid "" "The following error occurred. If you think this is an issue with the " "program, please include this information when you report the error." msgstr "" "Den fylgjande feila hende. Om du tykkjer at dette er ein feil med " -"programmet, venlegast ha med dei fylgjande opplysningane når du rapporterer " +"programmet, venlegast ha med dei fylgjande opplysingane når du rapporterer " "feilen." #: src/widgets/error_details.ui:4 @@ -615,7 +542,7 @@ msgid "" "possible, please also provide the image that causes the issue." msgstr "" "Bileteinnlastaren rapporterte det fylgjande når han prøvde å lasta inn eller " -"redigera biletet. Venlegast ha med dei fylgjande opplysningane når du " +"brigda biletet. Venlegast ha med dei fylgjande opplysingane når du " "rapporterer feilen. Venlegast oppgje biletet som valdar feilen om mogleg." #: src/widgets/error_details.ui:24 @@ -630,49 +557,41 @@ msgstr "Kopier feilmelding" msgid "Report _Issue" msgstr "Rapporter _feil" -#: src/widgets/image_page.rs:225 -#, rust-format +#: src/widgets/image_page.rs:227 msgid "" "No image loaders available. Maybe the “glycin-loaders” package with " "compatibility version “{}” is not installed." msgstr "" -"Ingen bileteinnlastarar tilgjengelege. Kanskje er «glycin-loaders»-pakken med " +"Ingen bileteinnlastarar tilgjengelege. Kanskje er «glycin-loaders»-pakka med " "kompatibilitetsutgåva «{}» er ikkje installert." -#: src/widgets/image_page.rs:243 -#, rust-format +#: src/widgets/image_page.rs:242 msgid "The image format “{} ({})” is known but not installed." msgstr "Bileteformatet «{} ({})» er kjent men ikkje installert." -#: src/widgets/image_page.rs:251 -#, rust-format +#: src/widgets/image_page.rs:249 msgid "Unknown image format “{} ({}).”" msgstr "Ukjent bileteformat «{} ({})»." -#: src/widgets/image_page.rs:260 +#: src/widgets/image_page.rs:277 msgid "There is not enough free memory available to load this image." msgstr "Det er ikkje nok fri minne tilgjengeleg for å lasta inn dette biletet." -#: src/widgets/image_page.rs:267 -#, rust-format -msgid "Failed to load image file: {}" -msgstr "Klarte ikkje lasta biletfil: {}" - -#: src/widgets/image_page.rs:272 +#: src/widgets/image_page.rs:281 msgid "Either the image file is corrupted or it contains unsupported elements." msgstr "Anten er biletefila øydelagt eller så inneheld ho ustødde element." #: src/widgets/image_page.ui:6 src/widgets/image_window.ui:16 msgid "_Open With…" -msgstr "_Opna med …" +msgstr "_Opna med…" #: src/widgets/image_page.ui:10 src/widgets/image_window.ui:20 msgid "_Print…" -msgstr "_Skriv ut …" +msgstr "_Skriv ut…" #: src/widgets/image_page.ui:26 src/widgets/image_window.ui:36 msgid "_Set as Background…" -msgstr "_Bruk som bakgrunn …" +msgstr "_Bruk som bakgrunn…" #: src/widgets/image_page.ui:30 src/widgets/image_window.ui:40 msgid "_Delete" @@ -684,11 +603,11 @@ msgstr "_Kopier" #: src/widgets/image_page.ui:63 msgid "Could not Load Image" -msgstr "Klarte ikkje lasta inn bilete" +msgstr "Kunne ikkje lasta inn bilete" #: src/widgets/image_page.ui:71 msgid "More _Information" -msgstr "Fleire _opplysningar" +msgstr "Flere _opplysingar" #: src/widgets/image_page.ui:81 msgid "_Reload" @@ -702,90 +621,97 @@ msgstr "Roter mot venstre" msgid "Rotate Right" msgstr "Roter mot høgre" +#: src/widgets/image_view.rs:197 +msgid "{} %" +msgstr "{} %" + #. Translators: This is a toast notification, informing the user that #. an image has been set as background. -#: src/widgets/image_view.rs:870 +#: src/widgets/image_view.rs:836 msgid "Set as background." msgstr "Bruk som bakgrunn." -#: src/widgets/image_view.rs:876 +#: src/widgets/image_view.rs:849 msgid "Could not set background." -msgstr "Klarte ikkje bruka biletet som bakgrunn." +msgstr "Klarte ikkje å bruka biletet som bakgrunn." -#: src/widgets/image_view.ui:26 +#: src/widgets/image_view.ui:30 msgid "Previous Image" msgstr "Førre bilete" -#: src/widgets/image_view.ui:36 +#: src/widgets/image_view.ui:40 msgid "Next Image" msgstr "Neste bilete" -#: src/widgets/image_view.ui:66 +#: src/widgets/image_view.ui:74 msgid "Zoom Out" msgstr "Forminsk" -#: src/widgets/image_view.ui:77 +#: src/widgets/image_view.ui:85 msgid "Zoom In" msgstr "Forstørr" -#: src/widgets/image_view.ui:92 +#: src/widgets/image_view.ui:100 msgid "Toggle Zoom" msgstr "Slå på eller av forstørring" -#: src/widgets/image_view.ui:100 +#: src/widgets/image_view.ui:108 msgid "Zoom to Specific Level" msgstr "Forstørr til visst nivå" -#: src/widgets/image_view.ui:229 +#: src/widgets/image_view.ui:237 msgid "Custom Zoom Level" msgstr "Tilpassa forstørringsnivå" -#: src/widgets/image_view.ui:235 +#: src/widgets/image_view.ui:243 msgid "Zoom to Specified Level" msgstr "Forstørr til oppgjeve nivå" -#: src/widgets/image_window.rs:509 +#: src/widgets/image_window.rs:502 msgid "Supported image formats" msgstr "Stødde bileteformat" -#: src/widgets/image_window.rs:515 +#: src/widgets/image_window.rs:508 msgid "All files" msgstr "Alle filer" -#: src/widgets/image_window.rs:522 +#: src/widgets/image_window.rs:515 msgid "Open Image" msgstr "Opna bilete" -#: src/widgets/image_window.rs:614 +#: src/widgets/image_window.rs:601 msgid "Image copied to clipboard" msgstr "Bilete kopiert til utklippstavla" -#: src/widgets/image_window.rs:635 +#: src/widgets/image_window.rs:622 msgid "Image moved to trash" msgstr "Bilete flytta til papirkorga" -#: src/widgets/image_window.rs:636 +#: src/widgets/image_window.rs:623 msgid "Undo" msgstr "Angra" -#: src/widgets/image_window.rs:666 +#: src/widgets/image_window.rs:653 msgid "Failed to move image to trash" msgstr "Mislukkast i å flytta bilete til papirkorga" -#: src/widgets/image_window.rs:690 +#: src/widgets/image_window.rs:677 msgid "Permanently Delete Image?" msgstr "Slett bilete for godt?" -#: src/widgets/image_window.rs:692 -#, rust-format +#: src/widgets/image_window.rs:679 msgid "After deleting the image “{}” it will be permanently lost." msgstr "Etter at biletet «{}» vert sletta, skal det gå permanent tapt." -#: src/widgets/image_window.rs:701 +#: src/widgets/image_window.rs:687 +msgid "Cancel" +msgstr "Avbryt" + +#: src/widgets/image_window.rs:688 msgid "Delete" msgstr "Slett" -#: src/widgets/image_window.rs:712 +#: src/widgets/image_window.rs:699 msgid "Failed to delete image" msgstr "Mislukkast i å slette bilete" @@ -795,7 +721,7 @@ msgstr "_Nytt vindauga" #: src/widgets/image_window.ui:10 msgid "_Open…" -msgstr "_Opna …" +msgstr "_Opna…" #: src/widgets/image_window.ui:46 msgid "_Help" @@ -826,9 +752,8 @@ msgid "Edit Image" msgstr "Brigd bilete" #: src/widgets/image_window.ui:220 -#| msgid "View Images" -msgid "View and Edit Images" -msgstr "Vis og rediger bilete" +msgid "View Images" +msgstr "Syn bilete" #: src/widgets/image_window.ui:221 msgid "Drag and drop images here" @@ -836,69 +761,68 @@ msgstr "Drag og slepp bilete her" #: src/widgets/image_window.ui:225 msgid "_Open Files…" -msgstr "_Opna filer …" +msgstr "_Opna filer…" -#: src/widgets/print.rs:109 +#: src/widgets/print.rs:108 msgid "Top" msgstr "Topp" -#: src/widgets/print.rs:110 +#: src/widgets/print.rs:109 msgid "Center" msgstr "Midt" -#: src/widgets/print.rs:111 +#: src/widgets/print.rs:110 msgid "Bottom" msgstr "Botn" -#: src/widgets/print.rs:112 +#: src/widgets/print.rs:111 msgid "Left" msgstr "Venstre" -#: src/widgets/print.rs:113 +#: src/widgets/print.rs:112 msgid "Right" msgstr "Høgre" #. Translators: Shorthand for centimeter -#: src/widgets/print.rs:149 +#: src/widgets/print.rs:148 msgid "cm" msgstr "cm" #. Translators: Shorthand for inch -#: src/widgets/print.rs:151 +#: src/widgets/print.rs:150 msgid "in" msgstr "tomme" #. Translators: Shorthand for pixel -#: src/widgets/print.rs:153 +#: src/widgets/print.rs:152 msgid "px" msgstr "px" #. Translators: {} is a placeholder for the filename -#: src/widgets/print.rs:365 -#, rust-format +#: src/widgets/print.rs:361 msgid "Print “{}”" msgstr "Skriv ut «{}»" -#: src/widgets/print.rs:472 +#: src/widgets/print.rs:476 msgid "Continue…" -msgstr "Hald fram …" +msgstr "Hald fram…" -#: src/widgets/print.rs:473 +#: src/widgets/print.rs:477 msgid "Print Image" msgstr "Skriv ut bilete" -#: src/widgets/print.rs:801 +#: src/widgets/print.rs:791 msgid "_Scale" msgstr "S_kala" -#: src/widgets/print.rs:804 +#: src/widgets/print.rs:794 msgid "_Width" msgstr "_Breidd" #. Translators: Go back to previous page #: src/widgets/print.ui:29 msgid "_Back" -msgstr "_Tilbake" +msgstr "_Attende" #: src/widgets/print.ui:37 msgid "_Print" @@ -954,75 +878,32 @@ msgstr "_Fyll plass" #: src/widgets/print.ui:174 msgid "H_eight" -msgstr "_Høgd" +msgstr "_Høgde" -#: src/widgets/properties_view.rs:284 +#: src/widgets/properties_view.rs:258 msgid "Unknown" msgstr "Ukjend" #. Translators: Addition of image being transparent to format name -#: src/widgets/properties_view.rs:288 +#: src/widgets/properties_view.rs:262 msgid ", transparent" msgstr ", gjennomsiktig" #. Translators: Addition of image being grayscale to format name -#: src/widgets/properties_view.rs:293 +#: src/widgets/properties_view.rs:267 msgid ", grayscale" msgstr ", gråskala" #. Translators: Addition of bit size to format name -#: src/widgets/properties_view.rs:298 +#: src/widgets/properties_view.rs:272 msgid ", {}\\u{202F}bit" msgstr ", {}\\u{202F}bit" -#: src/widgets/properties_view.rs:315 +#: src/widgets/properties_view.rs:290 msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" msgstr "{}\\u{202F}\\u{D7}\\u{202F}{}" -#. Translators: Shorthand for centimeter -#: src/widgets/properties_view.rs:354 -msgid " cm" -msgstr " cm" - -#. Translators: Shorthand for inch -#: src/widgets/properties_view.rs:358 -msgid "″" -msgstr "″" - -#. Translators: Shorthand for meter -#: src/widgets/properties_view.rs:362 -msgid " m" -msgstr " m" - -#. Translators: Shorthand for millimeter -#: src/widgets/properties_view.rs:366 -msgid " mm" -msgstr " mm" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:370 -msgid " pc" -msgstr " datamaskin" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:374 -msgid " pt" -msgstr " pt" - -#: src/widgets/properties_view.rs:386 -#| msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" -msgid "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" -msgstr "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" - -#: src/widgets/properties_view.rs:403 -msgid "{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:407 -msgid "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:435 +#: src/widgets/properties_view.rs:329 msgid "Image Coordinates Copied" msgstr "Bileteplassering kopierte" @@ -1039,114 +920,62 @@ msgid "URI" msgstr "URI" #: src/widgets/properties_view.ui:66 -#| msgid "File Size" -msgid "Physical Size" -msgstr "Fysisk storleik" - -#: src/widgets/properties_view.ui:76 -msgid "Resolution" -msgstr "Oppløysing" - -#: src/widgets/properties_view.ui:86 msgid "Image Format" msgstr "Bileteformat" -#: src/widgets/properties_view.ui:96 +#: src/widgets/properties_view.ui:76 msgid "File Size" msgstr "Filstorleik" -#: src/widgets/properties_view.ui:110 +#: src/widgets/properties_view.ui:90 msgid "File Created" msgstr "Fil oppretta" -#: src/widgets/properties_view.ui:120 +#: src/widgets/properties_view.ui:100 msgid "File Modified" -msgstr "Fil endra" +msgstr "Fil brigda" #. Translators: This is a label for GPS coordinates -#: src/widgets/properties_view.ui:134 +#: src/widgets/properties_view.ui:114 msgid "Location" msgstr "Plassering" -#: src/widgets/properties_view.ui:145 +#: src/widgets/properties_view.ui:125 msgid "Copy Coordinates" msgstr "Kopier plassering" -#: src/widgets/properties_view.ui:156 +#: src/widgets/properties_view.ui:136 msgid "Open Location" msgstr "Opna plassering" -#: src/widgets/properties_view.ui:169 +#: src/widgets/properties_view.ui:149 msgid "Originally Created" msgstr "Opphavleg oppretta" -#: src/widgets/properties_view.ui:179 -msgid "Creator" -msgstr "Oppretta av" - -#: src/widgets/properties_view.ui:189 -msgid "Copyright" -msgstr "Opphavsrett" - -#: src/widgets/properties_view.ui:199 +#: src/widgets/properties_view.ui:159 msgid "Comment" msgstr "Kommentar" -#: src/widgets/properties_view.ui:209 +#: src/widgets/properties_view.ui:169 msgid "Aperture" msgstr "Blendarverdi" -#: src/widgets/properties_view.ui:219 +#: src/widgets/properties_view.ui:179 msgid "Exposure" msgstr "Lukkarsnøggleik" -#: src/widgets/properties_view.ui:229 +#: src/widgets/properties_view.ui:189 msgid "ISO" msgstr "ISO" -#: src/widgets/properties_view.ui:239 +#: src/widgets/properties_view.ui:199 msgid "Focal Length" msgstr "Fokallengd" -#: src/widgets/properties_view.ui:249 +#: src/widgets/properties_view.ui:209 msgid "Maker, Model" msgstr "Produsent, modell" -#: src/widgets/properties_view.ui:259 -msgid "Lens" -msgstr "Linse" - -#: src/widgets/properties_view.ui:269 -msgid "Software" -msgstr "Programvare" - -#: src/widgets/properties_view.ui:279 -msgid "ICC Profile" -msgstr "ICC-profil" - -#: src/widgets/properties_view.ui:289 -msgid "CICP" -msgstr "CICP" - -#: src/widgets/window.rs:254 +#: src/widgets/window.rs:222 msgid "Show Details" msgstr "Syn detaljar" - -#~ msgid "Browse through your images and inspect their metadata with:" -#~ msgstr "Bla gjennom bileta dine og inspiser metadataa deira med:" - -#~ msgid "Fast GPU accelerated image rendering" -#~ msgstr "Snøgg GPU-akselerert bileteattgjeving" - -#~ msgid "Tiled rendering for vector graphics" -#~ msgstr "Flisvis attgjeving for vektorgrafikk" - -#~ msgid "Extendable and sandboxed image decoding" -#~ msgstr "Utvideleg og sandboksa bileteavkodering" - -#~ msgid "Accessible presentation of the most important metadata." -#~ msgstr "Tilgjengeleg framsyning av dei mest viktige metadataa." - -#~ msgctxt "shortcut window" -#~ msgid "Gestures" -#~ msgstr "Rørsler" diff --git a/po/pt_BR.po b/po/pt_BR.po index 595a051..ad4663f 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -4,27 +4,27 @@ # MarcosPatrick , 2023. # Leônidas Araújo , 2023-2024. # Rafael Fontenelle , 2023-2025. +# Álvaro Burns, 2025. # Juliano de Souza Camargo , 2024-2026. -# Álvaro Burns <>, 2025-2026. # msgid "" msgstr "" "Project-Id-Version: Loupe main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/loupe/-/issues\n" -"POT-Creation-Date: 2026-08-06 11:47+0000\n" -"PO-Revision-Date: 2026-08-15 09:35-0300\n" -"Last-Translator: Álvaro Burns <>\n" +"POT-Creation-Date: 2026-01-30 22:01+0000\n" +"PO-Revision-Date: 2026-01-31 19:03-0300\n" +"Last-Translator: Juliano de Souza Camargo \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Gtranslator 50.0\n" +"X-Generator: Gtranslator 49.0\n" #: data/org.gnome.Loupe.desktop.in.in:2 #: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 -#: src/widgets/image_window.rs:879 +#: src/widgets/image_window.rs:897 msgid "Image Viewer" msgstr "Visualizador de imagens" @@ -42,8 +42,7 @@ msgid "Show the image properties sidebar" msgstr "Mostrar a barra lateral de propriedades da imagem" #. developer_name tag deprecated with Appstream 1.0 -#: data/org.gnome.Loupe.metainfo.xml.in.in:8 -#: data/org.gnome.Loupe.metainfo.xml.in.in:10 src/about.rs:35 +#: data/org.gnome.Loupe.metainfo.xml.in.in:8 src/about.rs:35 msgid "The GNOME Project" msgstr "O Projeto GNOME" @@ -55,18 +54,6 @@ msgstr "" "Explore imagens, veja seus metadados, e faça edições rápidas como recortar, " "rotacionar e espelhá-las." -#: data/org.gnome.Loupe.metainfo.xml.in.in:28 -msgid "Main Window" -msgstr "Janela principal" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:32 -msgid "Crop Tool" -msgstr "Ferramenta de corte" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:36 -msgid "Image Properties Panel" -msgstr "Painel de propriedades da imagem" - #: data/resources/shortcuts-dialog.ui:6 msgctxt "shortcut window" msgid "General Shortcuts" @@ -304,85 +291,44 @@ msgid "Could not list other files in directory." msgstr "Não foi possível listar outros arquivos no diretório." #. Translators: Display of the f-number . {} will be replaced with the number -#: src/metadata.rs:270 +#: src/metadata.rs:256 msgid "\\u{192}\\u{2215}{}" msgstr "\\u{192}\\u{2215}{}" #. Translators: Fractional exposure time (photography) in seconds -#: src/metadata.rs:283 +#: src/metadata.rs:269 msgid "1\\u{2215}{}\\u{202F}s" msgstr "1\\u{2215}{}\\u{202F}s" #. Translators: Exposure time (photography) in seconds -#: src/metadata.rs:291 +#: src/metadata.rs:277 msgid "{}\\u{202F}s" msgstr "{}\\u{202F}s" -#: src/metadata.rs:305 +#: src/metadata.rs:291 msgid "{}\\u{202F}mm" msgstr "{}\\u{202F}mm" #. Translators: short for "north" in GPS coordinate -#: src/metadata.rs:395 +#: src/metadata.rs:331 msgid "N" msgstr "N" #. Translators: short for "south" in GPS coordinate -#: src/metadata.rs:399 +#: src/metadata.rs:335 msgid "S" msgstr "S" #. Translators: short for "east" in GPS coordinate -#: src/metadata.rs:408 +#: src/metadata.rs:344 msgid "E" msgstr "L" #. Translators: short for "west" in GPS coordinate -#: src/metadata.rs:412 +#: src/metadata.rs:348 msgid "W" msgstr "O" -#: src/metadata.rs:492 -msgid "DCI P3" -msgstr "DCI P3" - -#: src/metadata.rs:493 -msgid "Display P3" -msgstr "Display P3" - -#: src/metadata.rs:494 -msgid "Rec.2020" -msgstr "Rec.2020" - -#: src/metadata.rs:495 -msgid "sRGB" -msgstr "sRGB" - -#: src/metadata.rs:496 src/metadata.rs:504 -msgid "Unspecified" -msgstr "Não especificado" - -#: src/metadata.rs:497 src/metadata.rs:506 src/metadata.rs:516 -#, rust-format -msgid "Unknown ({})" -msgstr "Desconhecido ({})" - -#: src/metadata.rs:503 -msgid "ICtCp" -msgstr "ICtCp" - -#: src/metadata.rs:512 -msgid "DCI" -msgstr "DCI" - -#: src/metadata.rs:513 -msgid "PQ" -msgstr "PQ" - -#: src/metadata.rs:514 -msgid "Gamma 2.4" -msgstr "Gamma 2.4" - #. / Returns localized date + time format #. Translators: This is the date and time format we use in metadata output etc. #. The format has to follow @@ -510,64 +456,32 @@ msgid "Crop Selection" msgstr "Corta a seleção" #. Translators: Filename suffix, {} is replaced by a number -#: src/widgets/edit_window.rs:207 +#: src/widgets/edit_window.rs:195 #, rust-format msgid " (Edited)" msgid_plural " (Edited {})" msgstr[0] "(Editado)" msgstr[1] "(Editados {})" -#: src/widgets/edit_window.rs:292 -msgid "Moving Original to Trash" -msgstr "Movendo original para a lixeira" - -#: src/widgets/edit_window.rs:306 src/widgets/edit_window.rs:335 +#: src/widgets/edit_window.rs:289 src/widgets/edit_window.rs:315 msgid "Failed to save image." msgstr "Falha ao salvar a imagem." -#: src/widgets/edit_window.rs:315 -msgid "Finalizing Save Operation" -msgstr "Finalizando operação de salvamento" - -#: src/widgets/edit_window.rs:367 +#: src/widgets/edit_window.rs:343 msgid "Editing Image" msgstr "Editando imagem" -#: src/widgets/edit_window.rs:384 +#: src/widgets/edit_window.rs:360 msgid "Failed to edit image." msgstr "Falha ao editar a imagem." -#: src/widgets/edit_window.rs:391 -msgid "Saving Image" -msgstr "Salvando imagem" - -#: src/widgets/edit_window.rs:410 +#: src/widgets/edit_window.rs:370 src/widgets/edit_window.rs:393 msgid "Failed to Save Image" msgstr "Falha ao salvar a imagem" -#: src/widgets/edit_window.rs:526 -msgid "Save Changes?" -msgstr "Salvar mudanças?" - -#: src/widgets/edit_window.rs:528 -msgid "" -"There are unsaved image editing changes. Closing without saving will " -"permanently lose these modifications." -msgstr "" -"Há mudanças na imagem que não foram salvas. Se fechar sem salvar, perderá estas " -"mudanças permanentemente." - -#: src/widgets/edit_window.rs:532 src/widgets/image_window.rs:700 -msgid "Cancel" -msgstr "Cancelar" - -#: src/widgets/edit_window.rs:533 -msgid "Discard" -msgstr "Descartar" - -#: src/widgets/edit_window.rs:534 -msgid "Save" -msgstr "Salvar" +#: src/widgets/edit_window.rs:376 +msgid "Saving Image" +msgstr "Salvando imagem" #: src/widgets/edit_window.ui:64 msgid "_Cancel" @@ -702,11 +616,11 @@ msgstr "Gira à direita" #. Translators: This is a toast notification, informing the user that #. an image has been set as background. -#: src/widgets/image_view.rs:870 +#: src/widgets/image_view.rs:866 msgid "Set as background." msgstr "Definida como plano de fundo." -#: src/widgets/image_view.rs:876 +#: src/widgets/image_view.rs:872 msgid "Could not set background." msgstr "Não foi possível definir o plano de fundo." @@ -742,48 +656,52 @@ msgstr "Nível de ampliação customizado" msgid "Zoom to Specified Level" msgstr "Amplia para nível específico" -#: src/widgets/image_window.rs:509 +#: src/widgets/image_window.rs:527 msgid "Supported image formats" msgstr "Formatos de imagem suportados" -#: src/widgets/image_window.rs:515 +#: src/widgets/image_window.rs:533 msgid "All files" msgstr "Todos arquivos" -#: src/widgets/image_window.rs:522 +#: src/widgets/image_window.rs:540 msgid "Open Image" msgstr "Abrir imagem" -#: src/widgets/image_window.rs:614 +#: src/widgets/image_window.rs:632 msgid "Image copied to clipboard" msgstr "Imagem copiada para a área de transferência" -#: src/widgets/image_window.rs:635 +#: src/widgets/image_window.rs:653 msgid "Image moved to trash" msgstr "Imagem movida para a lixeira" -#: src/widgets/image_window.rs:636 +#: src/widgets/image_window.rs:654 msgid "Undo" msgstr "Desfazer" -#: src/widgets/image_window.rs:666 +#: src/widgets/image_window.rs:684 msgid "Failed to move image to trash" msgstr "Falha ao mover a imagem para a lixeira" -#: src/widgets/image_window.rs:690 +#: src/widgets/image_window.rs:708 msgid "Permanently Delete Image?" msgstr "Excluir imagem permanentemente?" -#: src/widgets/image_window.rs:692 +#: src/widgets/image_window.rs:710 #, rust-format msgid "After deleting the image “{}” it will be permanently lost." msgstr "Após excluir a imagem “{}” ela será perdida permanentemente." -#: src/widgets/image_window.rs:701 +#: src/widgets/image_window.rs:718 +msgid "Cancel" +msgstr "Cancelar" + +#: src/widgets/image_window.rs:719 msgid "Delete" msgstr "Excluir" -#: src/widgets/image_window.rs:712 +#: src/widgets/image_window.rs:730 msgid "Failed to delete image" msgstr "Falha ao excluir a imagem" @@ -871,24 +789,24 @@ msgid "px" msgstr "px" #. Translators: {} is a placeholder for the filename -#: src/widgets/print.rs:365 +#: src/widgets/print.rs:364 #, rust-format msgid "Print “{}”" msgstr "Imprimir “{}”" -#: src/widgets/print.rs:472 +#: src/widgets/print.rs:477 msgid "Continue…" msgstr "Continuar…" -#: src/widgets/print.rs:473 +#: src/widgets/print.rs:478 msgid "Print Image" msgstr "Imprimir imagem" -#: src/widgets/print.rs:801 +#: src/widgets/print.rs:797 msgid "_Scale" msgstr "E_scala" -#: src/widgets/print.rs:804 +#: src/widgets/print.rs:800 msgid "_Width" msgstr "_Largura" @@ -953,72 +871,30 @@ msgstr "P_reencher espaço" msgid "H_eight" msgstr "A_ltura" -#: src/widgets/properties_view.rs:284 +#: src/widgets/properties_view.rs:258 msgid "Unknown" msgstr "Desconhecido" #. Translators: Addition of image being transparent to format name -#: src/widgets/properties_view.rs:288 +#: src/widgets/properties_view.rs:262 msgid ", transparent" msgstr ", transparente" #. Translators: Addition of image being grayscale to format name -#: src/widgets/properties_view.rs:293 +#: src/widgets/properties_view.rs:267 msgid ", grayscale" msgstr ", tons de cinza" #. Translators: Addition of bit size to format name -#: src/widgets/properties_view.rs:298 +#: src/widgets/properties_view.rs:272 msgid ", {}\\u{202F}bit" msgstr ", {}\\u{202F}bit" -#: src/widgets/properties_view.rs:315 +#: src/widgets/properties_view.rs:290 msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" msgstr "{}\\u{202F}\\u{D7}\\u{202F}{}" -#. Translators: Shorthand for centimeter -#: src/widgets/properties_view.rs:354 -msgid " cm" -msgstr " cm" - -#. Translators: Shorthand for inch -#: src/widgets/properties_view.rs:358 -msgid "″" -msgstr "″" - -#. Translators: Shorthand for meter -#: src/widgets/properties_view.rs:362 -msgid " m" -msgstr " m" - -#. Translators: Shorthand for millimeter -#: src/widgets/properties_view.rs:366 -msgid " mm" -msgstr " mm" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:370 -msgid " pc" -msgstr " pc" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:374 -msgid " pt" -msgstr " pt" - -#: src/widgets/properties_view.rs:386 -msgid "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" -msgstr "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" - -#: src/widgets/properties_view.rs:403 -msgid "{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:407 -msgid "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" -msgstr "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" - -#: src/widgets/properties_view.rs:435 +#: src/widgets/properties_view.rs:326 msgid "Image Coordinates Copied" msgstr "Coordenadas de imagem copiadas" @@ -1035,95 +911,63 @@ msgid "URI" msgstr "URI" #: src/widgets/properties_view.ui:66 -msgid "Physical Size" -msgstr "Tamanho físico" - -#: src/widgets/properties_view.ui:76 -msgid "Resolution" -msgstr "Resolução" - -#: src/widgets/properties_view.ui:86 msgid "Image Format" msgstr "Formato de imagem" -#: src/widgets/properties_view.ui:96 +#: src/widgets/properties_view.ui:76 msgid "File Size" msgstr "Tamanho do arquivo" -#: src/widgets/properties_view.ui:110 +#: src/widgets/properties_view.ui:90 msgid "File Created" msgstr "Arquivo criado" -#: src/widgets/properties_view.ui:120 +#: src/widgets/properties_view.ui:100 msgid "File Modified" msgstr "Arquivo modificado" #. Translators: This is a label for GPS coordinates -#: src/widgets/properties_view.ui:134 +#: src/widgets/properties_view.ui:114 msgid "Location" msgstr "Local" -#: src/widgets/properties_view.ui:145 +#: src/widgets/properties_view.ui:125 msgid "Copy Coordinates" msgstr "Copia coordenadas" -#: src/widgets/properties_view.ui:156 +#: src/widgets/properties_view.ui:136 msgid "Open Location" msgstr "Abre o local" -#: src/widgets/properties_view.ui:169 +#: src/widgets/properties_view.ui:149 msgid "Originally Created" msgstr "Originalmente criado" -#: src/widgets/properties_view.ui:179 -msgid "Creator" -msgstr "Criador" - -#: src/widgets/properties_view.ui:189 -msgid "Copyright" -msgstr "Copyright" - -#: src/widgets/properties_view.ui:199 +#: src/widgets/properties_view.ui:159 msgid "Comment" msgstr "Comentário" -#: src/widgets/properties_view.ui:209 +#: src/widgets/properties_view.ui:169 msgid "Aperture" msgstr "Abertura" -#: src/widgets/properties_view.ui:219 +#: src/widgets/properties_view.ui:179 msgid "Exposure" msgstr "Exposição" -#: src/widgets/properties_view.ui:229 +#: src/widgets/properties_view.ui:189 msgid "ISO" msgstr "ISO" -#: src/widgets/properties_view.ui:239 +#: src/widgets/properties_view.ui:199 msgid "Focal Length" msgstr "Comprimento focal" -#: src/widgets/properties_view.ui:249 +#: src/widgets/properties_view.ui:209 msgid "Maker, Model" msgstr "Fabricante, Modelo" -#: src/widgets/properties_view.ui:259 -msgid "Lens" -msgstr "Lentes" - -#: src/widgets/properties_view.ui:269 -msgid "Software" -msgstr "Programa" - -#: src/widgets/properties_view.ui:279 -msgid "ICC Profile" -msgstr "Perfil ICC" - -#: src/widgets/properties_view.ui:289 -msgid "CICP" -msgstr "CICP" - -#: src/widgets/window.rs:254 +#: src/widgets/window.rs:206 msgid "Show Details" msgstr "Mostra detalhes" @@ -1146,6 +990,9 @@ msgstr "Mostra detalhes" #~ msgid "Gestures" #~ msgstr "Gestos" +#~ msgid "{} %" +#~ msgstr "{} %" + #~ msgid "Copy to Clipboard" #~ msgstr "Copiar para área de transferência" diff --git a/po/sr.po b/po/sr.po index 59b8eeb..8cc787a 100644 --- a/po/sr.po +++ b/po/sr.po @@ -8,26 +8,24 @@ msgid "" msgstr "" "Project-Id-Version: loupe main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/loupe/-/issues\n" -"POT-Creation-Date: 2026-08-26 16:17+0000\n" -"PO-Revision-Date: 2026-08-30 11:44+0200\n" -"Last-Translator: Марко Костић \n" +"POT-Creation-Date: 2026-03-13 14:05+0000\n" +"PO-Revision-Date: 2026-03-17 14:57+0100\n" +"Last-Translator: Марко М. Костић \n" "Language-Team: Serbian >\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : " -"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || " +"n%100>=20) ? 1 : 2;\n" "X-Generator: Poedit 3.9\n" -#: data/org.gnome.Loupe.desktop.in.in:2 -#: data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 -#: src/widgets/image_window.rs:879 +#: data/org.gnome.Loupe.desktop.in.in:2 data/org.gnome.Loupe.metainfo.xml.in.in:6 src/about.rs:32 +#: src/widgets/image_window.rs:898 msgid "Image Viewer" msgstr "Прегледач слика" -#: data/org.gnome.Loupe.desktop.in.in:3 -#: data/org.gnome.Loupe.metainfo.xml.in.in:13 +#: data/org.gnome.Loupe.desktop.in.in:3 data/org.gnome.Loupe.metainfo.xml.in.in:13 msgid "View and edit images" msgstr "Прегледајте и уређујте слике" @@ -37,31 +35,16 @@ msgstr "Picture;Graphics;Loupe;Слика;Графика;Лупа;Slika;Grafika; #: data/org.gnome.Loupe.gschema.xml.in:6 msgid "Show the image properties sidebar" -msgstr "Прикажи бочну траку са својствима слике" +msgstr "Прикажи бочну површ са својствима слике" #. developer_name tag deprecated with Appstream 1.0 -#: data/org.gnome.Loupe.metainfo.xml.in.in:8 -#: data/org.gnome.Loupe.metainfo.xml.in.in:10 src/about.rs:35 +#: data/org.gnome.Loupe.metainfo.xml.in.in:8 src/about.rs:35 msgid "The GNOME Project" msgstr "Пројекат Гном" #: data/org.gnome.Loupe.metainfo.xml.in.in:15 -msgid "" -"Explore images, view their metadata, and make quick edits by cropping, " -"rotating, or flipping them." -msgstr "Истражујте слике, прегледајте њихове метаподатке и правите брзе измене исецањем, окретањем или извртањем." - -#: data/org.gnome.Loupe.metainfo.xml.in.in:28 -msgid "Main Window" -msgstr "Главни прозор" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:32 -msgid "Crop Tool" -msgstr "Алат за исецање" - -#: data/org.gnome.Loupe.metainfo.xml.in.in:36 -msgid "Image Properties Panel" -msgstr "Трака за својства слике" +msgid "Explore images, view their metadata, and make quick edits by cropping, rotating, or flipping them." +msgstr "Истражујте слике, прегледајте њихове метаподатке и правите брзе измене опсецањем, окретањем или извртањем." #: data/resources/shortcuts-dialog.ui:6 msgctxt "shortcut window" @@ -111,7 +94,7 @@ msgstr "Прикажи пречице тастатуре" #: data/resources/shortcuts-dialog.ui:57 msgctxt "shortcut window" msgid "Close Window" -msgstr "Затвори прозор" +msgstr "Затварање прозора" #: data/resources/shortcuts-dialog.ui:63 msgctxt "shortcut window" @@ -148,14 +131,12 @@ msgctxt "shortcut window" msgid "Rotate Image" msgstr "Заокретање слике" -#: data/resources/shortcuts-dialog.ui:119 -#: data/resources/shortcuts-dialog.ui:253 +#: data/resources/shortcuts-dialog.ui:119 data/resources/shortcuts-dialog.ui:253 msgctxt "shortcut window" msgid "Rotate Clockwise" msgstr "Окретање на десно" -#: data/resources/shortcuts-dialog.ui:125 -#: data/resources/shortcuts-dialog.ui:259 +#: data/resources/shortcuts-dialog.ui:125 data/resources/shortcuts-dialog.ui:259 msgctxt "shortcut window" msgid "Rotate Counterclockwise" msgstr "Окретање на лево" @@ -163,17 +144,17 @@ msgstr "Окретање на лево" #: data/resources/shortcuts-dialog.ui:133 msgctxt "shortcut window" msgid "Zoom Image" -msgstr "Увећање слике" +msgstr "Увеличај слику" #: data/resources/shortcuts-dialog.ui:136 msgctxt "shortcut window" msgid "Zoom In" -msgstr "Увећај" +msgstr "Увећај приказ" #: data/resources/shortcuts-dialog.ui:142 msgctxt "shortcut window" msgid "Zoom Out" -msgstr "Умањи" +msgstr "Умањи приказ" #: data/resources/shortcuts-dialog.ui:148 msgctxt "shortcut window" @@ -193,27 +174,27 @@ msgstr "200% размера" #: data/resources/shortcuts-dialog.ui:168 msgctxt "shortcut window" msgid "Pan View" -msgstr "Помери поглед" +msgstr "Панирај поглед" #: data/resources/shortcuts-dialog.ui:171 msgctxt "shortcut window" msgid "Pan Left" -msgstr "Помери на лево" +msgstr "Панирај на лево" #: data/resources/shortcuts-dialog.ui:177 msgctxt "shortcut window" msgid "Pan Right" -msgstr "Помери на десно" +msgstr "Панирај на десно" #: data/resources/shortcuts-dialog.ui:183 msgctxt "shortcut window" msgid "Pan Up" -msgstr "Помери нагоре" +msgstr "Панирај нагоре" #: data/resources/shortcuts-dialog.ui:189 msgctxt "shortcut window" msgid "Pan Down" -msgstr "Помери надоле" +msgstr "Панирај надоле" #: data/resources/shortcuts-dialog.ui:197 msgctxt "shortcut window" @@ -289,92 +270,51 @@ msgstr "" #: src/about.rs:46 msgid "Copyright © 2020–2024 Christopher Davis et al." -msgstr "Ауторско право © 2020–2024 Кристофер Дејвис (Christopher Davis) и сарадници." +msgstr "Ауторско право © 2020–2024 Кристофер Дејвис (Christopher Davis) и сарадници" #: src/file_model.rs:211 msgid "Could not list other files in directory." msgstr "Не могу да излистим остале датотеке у директоријуму." #. Translators: Display of the f-number . {} will be replaced with the number -#: src/metadata.rs:270 +#: src/metadata.rs:256 msgid "\\u{192}\\u{2215}{}" msgstr "\\u{192}\\u{2215}{}" #. Translators: Fractional exposure time (photography) in seconds -#: src/metadata.rs:283 +#: src/metadata.rs:269 msgid "1\\u{2215}{}\\u{202F}s" msgstr "1\\u{2215}{}\\u{202F}с" #. Translators: Exposure time (photography) in seconds -#: src/metadata.rs:291 +#: src/metadata.rs:277 msgid "{}\\u{202F}s" msgstr "{}\\u{202F}с" -#: src/metadata.rs:305 +#: src/metadata.rs:291 msgid "{}\\u{202F}mm" msgstr "{}\\u{202F}мм" #. Translators: short for "north" in GPS coordinate -#: src/metadata.rs:395 +#: src/metadata.rs:331 msgid "N" msgstr "С" #. Translators: short for "south" in GPS coordinate -#: src/metadata.rs:399 +#: src/metadata.rs:335 msgid "S" msgstr "Ј" #. Translators: short for "east" in GPS coordinate -#: src/metadata.rs:408 +#: src/metadata.rs:344 msgid "E" msgstr "И" #. Translators: short for "west" in GPS coordinate -#: src/metadata.rs:412 +#: src/metadata.rs:348 msgid "W" msgstr "З" -#: src/metadata.rs:492 -msgid "DCI P3" -msgstr "DCI P3" - -#: src/metadata.rs:493 -msgid "Display P3" -msgstr "Display P3" - -#: src/metadata.rs:494 -msgid "Rec.2020" -msgstr "Rec.2020" - -#: src/metadata.rs:495 -msgid "sRGB" -msgstr "sRGB" - -#: src/metadata.rs:496 src/metadata.rs:504 -msgid "Unspecified" -msgstr "Неодређено" - -#: src/metadata.rs:497 src/metadata.rs:506 src/metadata.rs:516 -#, rust-format -msgid "Unknown ({})" -msgstr "Непознато ({})" - -#: src/metadata.rs:503 -msgid "ICtCp" -msgstr "ICtCp" - -#: src/metadata.rs:512 -msgid "DCI" -msgstr "DCI" - -#: src/metadata.rs:513 -msgid "PQ" -msgstr "PQ" - -#: src/metadata.rs:514 -msgid "Gamma 2.4" -msgstr "Гама 2.4" - #. / Returns localized date + time format #. Translators: This is the date and time format we use in metadata output etc. #. The format has to follow @@ -390,7 +330,7 @@ msgstr "Нисам успео да вратим слику из смећа" #: src/widgets/drag_overlay.ui:15 msgid "Drop Image to View" -msgstr "Превуци слику за преглед" +msgstr "Превуците слику да је прегледате" #: src/widgets/edit/crop.rs:363 msgid "Failed to Edit Image" @@ -464,10 +404,9 @@ msgstr "Положена слика" msgid "Orientation Portrait" msgstr "Усправна слика" -#: src/widgets/edit/crop.ui:252 src/widgets/image_page.ui:15 -#: src/widgets/image_window.ui:25 +#: src/widgets/edit/crop.ui:252 src/widgets/image_page.ui:15 src/widgets/image_window.ui:25 msgid "Rotate" -msgstr "Заокрени" +msgstr "Окрени" #: src/widgets/edit/crop.ui:261 src/widgets/edit/crop.ui:407 msgid "Rotate Counter Clockwise" @@ -495,72 +434,42 @@ msgstr "В_рати" #: src/widgets/edit/crop.ui:307 src/widgets/edit/crop.ui:431 msgid "Undo Changes in this View" -msgstr "Опозови измене у овом прегледу" +msgstr "Поништи промене у овом прегледу" #: src/widgets/edit/crop_selection.ui:46 msgid "Crop Selection" msgstr "Исеци изабрано" #. Translators: Filename suffix, {} is replaced by a number -#: src/widgets/edit_window.rs:207 +#: src/widgets/edit_window.rs:196 #, rust-format msgid " (Edited)" msgid_plural " (Edited {})" -msgstr[0] " (измењено {})" -msgstr[1] " (измењено {})" -msgstr[2] " (измењено {})" -msgstr[3] " (измењено)" +msgstr[0] " ({} уређена)" +msgstr[1] " ({} уређене)" +msgstr[2] " ({} уређених)" +msgstr[3] " (уређена)" -#: src/widgets/edit_window.rs:292 -msgid "Moving Original to Trash" -msgstr "Премештам оригинал у смеће" - -#: src/widgets/edit_window.rs:306 src/widgets/edit_window.rs:335 +#: src/widgets/edit_window.rs:290 src/widgets/edit_window.rs:316 msgid "Failed to save image." -msgstr "Грешка при чувању слике." +msgstr "Не могу да сачувам слику." -#: src/widgets/edit_window.rs:315 -msgid "Finalizing Save Operation" -msgstr "Завршавам радњу чувања" - -#: src/widgets/edit_window.rs:367 +#: src/widgets/edit_window.rs:344 msgid "Editing Image" msgstr "Уређивање слике" -#: src/widgets/edit_window.rs:384 +#: src/widgets/edit_window.rs:361 msgid "Failed to edit image." -msgstr "Грешка при уређивању слике." +msgstr "Не могу да уредим слику." -#: src/widgets/edit_window.rs:391 +#: src/widgets/edit_window.rs:371 src/widgets/edit_window.rs:394 +msgid "Failed to Save Image" +msgstr "Не могу да сачувам слику" + +#: src/widgets/edit_window.rs:377 msgid "Saving Image" msgstr "Чувам слику" -#: src/widgets/edit_window.rs:410 -msgid "Failed to Save Image" -msgstr "Грешка при чувању слике" - -#: src/widgets/edit_window.rs:526 -msgid "Save Changes?" -msgstr "Сачувати измене?" - -#: src/widgets/edit_window.rs:528 -msgid "" -"There are unsaved image editing changes. Closing without saving will " -"permanently lose these modifications." -msgstr "Постоје несачуване измене уређивања слике. Затварањем без чувања ове измене ће бити трајно изгубљене." - -#: src/widgets/edit_window.rs:532 src/widgets/image_window.rs:700 -msgid "Cancel" -msgstr "Откажи" - -#: src/widgets/edit_window.rs:533 -msgid "Discard" -msgstr "Одбаци" - -#: src/widgets/edit_window.rs:534 -msgid "Save" -msgstr "Сачувај" - #: src/widgets/edit_window.ui:64 msgid "_Cancel" msgstr "_Откажи" @@ -575,7 +484,7 @@ msgstr "Сачувај _као…" #: src/widgets/edit_window.ui:100 msgid "Keep original and create a new file" -msgstr "Задржи оригинал и направи нову датотеку" +msgstr "Сачувај оригинал и направи нову датотеку" #: src/widgets/edit_window.ui:120 msgid "_Replace Original" @@ -583,15 +492,14 @@ msgstr "_Замени оригинал" #: src/widgets/edit_window.ui:128 msgid "Original image will be moved to the trash" -msgstr "Изворна слика ће бити премештена у смеће" +msgstr "Оригинална слика ће бити премештена у смеће" #: src/widgets/error_details.rs:80 msgid "" -"The following error occurred. If you think this is an issue with the " -"program, please include this information when you report the error." +"The following error occurred. If you think this is an issue with the program, please include this information " +"when you report the error." msgstr "" -"Дошло је до грешке. Уколико мислите да је проблем у програму, укључите ове " -"податке када шаљете извештај о грешци." +"Дошло је до грешке. Уколико мислите да је проблем у програму, укључите ове податке када шаљете извештај о грешци." #: src/widgets/error_details.ui:4 msgid "Error Details" @@ -599,13 +507,11 @@ msgstr "Појединости грешке" #: src/widgets/error_details.ui:19 msgid "" -"The image loader reported the following when trying to load or edit the " -"image. Please include this information when you report an error. If " -"possible, please also provide the image that causes the issue." +"The image loader reported the following when trying to load or edit the image. Please include this information " +"when you report an error. If possible, please also provide the image that causes the issue." msgstr "" -"Учитавач слика је јавио следеће приликом учитавања или уређивања слике. " -"Приложите ове податке приликом пријаве грешке. Ако је могуће, закачите и " -"слику која је довела до грешке." +"Учитавач слика је јавио следеће приликом учитавања или уређивања слике. Приложите ове податке приликом пријаве " +"грешке. Ако је могуће, закачите и слику која је довела до грешке." #: src/widgets/error_details.ui:24 msgid "Error Message" @@ -622,9 +528,10 @@ msgstr "Пр_ијави проблем" #: src/widgets/image_page.rs:225 #, rust-format msgid "" -"No image loaders available. Maybe the “glycin-loaders” package with " -"compatibility version “{}” is not installed." -msgstr "Ниједан учитавач слика није доступан. Можда пакет „glycin-loaders“ са издањем усаглашености „{}“ није инсталиран." +"No image loaders available. Maybe the “glycin-loaders” package with compatibility version “{}” is not installed." +msgstr "" +"Ниједан учитавач слика није доступан. Можда пакет „glycin-loaders“ са издањем компатибилности „{}“ није " +"инсталиран." #: src/widgets/image_page.rs:243 #, rust-format @@ -647,7 +554,7 @@ msgstr "Неуспело учитавање датотеке слике: {}" #: src/widgets/image_page.rs:272 msgid "Either the image file is corrupted or it contains unsupported elements." -msgstr "Датотека слике је оштећена или садржи неподржане елементе." +msgstr "Датотека слике је покварена или садржи неподржане елементе." #: src/widgets/image_page.ui:6 src/widgets/image_window.ui:16 msgid "_Open With…" @@ -679,7 +586,7 @@ msgstr "В_ише података" #: src/widgets/image_page.ui:81 msgid "_Reload" -msgstr "Поно_во учитај" +msgstr "_Освежи" #: src/widgets/image_page.ui:123 src/widgets/image_window.ui:101 msgid "Rotate Left" @@ -691,11 +598,11 @@ msgstr "Окрени на десно" #. Translators: This is a toast notification, informing the user that #. an image has been set as background. -#: src/widgets/image_view.rs:870 +#: src/widgets/image_view.rs:866 msgid "Set as background." msgstr "Постављено за позадину." -#: src/widgets/image_view.rs:876 +#: src/widgets/image_view.rs:872 msgid "Could not set background." msgstr "Не могу поставити позадину." @@ -709,11 +616,11 @@ msgstr "Следећа слика" #: src/widgets/image_view.ui:66 msgid "Zoom Out" -msgstr "Умањи" +msgstr "Умањи приказ" #: src/widgets/image_view.ui:77 msgid "Zoom In" -msgstr "Увећај" +msgstr "Увећај приказ" #: src/widgets/image_view.ui:92 msgid "Toggle Zoom" @@ -731,50 +638,54 @@ msgstr "Произвољни ниво увећања" msgid "Zoom to Specified Level" msgstr "Увећај на задати ниво" -#: src/widgets/image_window.rs:509 +#: src/widgets/image_window.rs:528 msgid "Supported image formats" -msgstr "Подржани записи слика" +msgstr "Подржане врсте слика" -#: src/widgets/image_window.rs:515 +#: src/widgets/image_window.rs:534 msgid "All files" msgstr "Све датотеке" -#: src/widgets/image_window.rs:522 +#: src/widgets/image_window.rs:541 msgid "Open Image" msgstr "Отвори слику" -#: src/widgets/image_window.rs:614 +#: src/widgets/image_window.rs:633 msgid "Image copied to clipboard" -msgstr "Слика је копирана у оставу" +msgstr "Слика је умножена у оставу" -#: src/widgets/image_window.rs:635 +#: src/widgets/image_window.rs:654 msgid "Image moved to trash" msgstr "Слика премештена у смеће" -#: src/widgets/image_window.rs:636 +#: src/widgets/image_window.rs:655 msgid "Undo" msgstr "Опозови" -#: src/widgets/image_window.rs:666 +#: src/widgets/image_window.rs:685 msgid "Failed to move image to trash" msgstr "Премештање слике у смеће није успело" -#: src/widgets/image_window.rs:690 +#: src/widgets/image_window.rs:709 msgid "Permanently Delete Image?" msgstr "Трајно обрисати слику?" -#: src/widgets/image_window.rs:692 +#: src/widgets/image_window.rs:711 #, rust-format msgid "After deleting the image “{}” it will be permanently lost." msgstr "Након брисања слике „{}“ иста ће бити трајно изгубљена." -#: src/widgets/image_window.rs:701 +#: src/widgets/image_window.rs:719 +msgid "Cancel" +msgstr "Откажи" + +#: src/widgets/image_window.rs:720 msgid "Delete" msgstr "Обриши" -#: src/widgets/image_window.rs:712 +#: src/widgets/image_window.rs:731 msgid "Failed to delete image" -msgstr "Неуспешно брисање слике" +msgstr "Брисање слике није успело" #: src/widgets/image_window.ui:6 msgid "_New Window" @@ -786,11 +697,11 @@ msgstr "_Отвори…" #: src/widgets/image_window.ui:46 msgid "_Help" -msgstr "_Помоћ" +msgstr "По_моћ" #: src/widgets/image_window.ui:50 msgid "_Keyboard Shortcuts" -msgstr "Пречице _тастатуре" +msgstr "Пречице на _тастатури" #: src/widgets/image_window.ui:54 msgid "_About Image Viewer" @@ -798,7 +709,7 @@ msgstr "_О прегледачу слика" #: src/widgets/image_window.ui:87 msgid "Toggle Fullscreen" -msgstr "Окини цео екран" +msgstr "Окини режим преко целог екрана" #: src/widgets/image_window.ui:93 msgid "Main Menu" @@ -826,7 +737,7 @@ msgstr "_Отвори датотеке…" #: src/widgets/print.rs:109 msgid "Top" -msgstr "Горе" +msgstr "Врх" #: src/widgets/print.rs:110 msgid "Center" @@ -834,7 +745,7 @@ msgstr "Средина" #: src/widgets/print.rs:111 msgid "Bottom" -msgstr "Доле" +msgstr "Дно" #: src/widgets/print.rs:112 msgid "Left" @@ -842,7 +753,7 @@ msgstr "Лево" #: src/widgets/print.rs:113 msgid "Right" -msgstr "Десно" +msgstr "Деснo" #. Translators: Shorthand for centimeter #: src/widgets/print.rs:149 @@ -857,29 +768,29 @@ msgstr "инч" #. Translators: Shorthand for pixel #: src/widgets/print.rs:153 msgid "px" -msgstr "пкс" +msgstr "пиксел" #. Translators: {} is a placeholder for the filename -#: src/widgets/print.rs:365 +#: src/widgets/print.rs:364 #, rust-format msgid "Print “{}”" -msgstr "Штампај „{}“" +msgstr "Одштампај „{}“" -#: src/widgets/print.rs:472 +#: src/widgets/print.rs:477 msgid "Continue…" msgstr "Настави…" -#: src/widgets/print.rs:473 +#: src/widgets/print.rs:478 msgid "Print Image" msgstr "Штампај слику" -#: src/widgets/print.rs:801 +#: src/widgets/print.rs:797 msgid "_Scale" msgstr "_Размера" -#: src/widgets/print.rs:804 +#: src/widgets/print.rs:800 msgid "_Width" -msgstr "Ш_ирина" +msgstr "_Ширина" #. Translators: Go back to previous page #: src/widgets/print.ui:29 @@ -912,19 +823,19 @@ msgstr "Пор_авнање" #: src/widgets/print.ui:108 msgid "Margins" -msgstr "Маргине" +msgstr "Ивице" #: src/widgets/print.ui:111 msgid "Margin Units" -msgstr "Јединице маргина" +msgstr "Јединица ивица" #: src/widgets/print.ui:128 msgid "_Horizontal" -msgstr "Водорав_но" +msgstr "_Хоризонтално" #: src/widgets/print.ui:134 msgid "_Vertical" -msgstr "Успра_вно" +msgstr "_Вертикално" #: src/widgets/print.ui:142 src/widgets/properties_view.ui:56 msgid "Image Size" @@ -936,78 +847,36 @@ msgstr "Јединица величине слике" #: src/widgets/print.ui:163 msgid "_Fill Space" -msgstr "_Попуни простор" +msgstr "Попуни прос_тор" #: src/widgets/print.ui:174 msgid "H_eight" msgstr "_Висина" -#: src/widgets/properties_view.rs:284 +#: src/widgets/properties_view.rs:258 msgid "Unknown" msgstr "Непознато" #. Translators: Addition of image being transparent to format name -#: src/widgets/properties_view.rs:288 +#: src/widgets/properties_view.rs:262 msgid ", transparent" msgstr ", провидно" #. Translators: Addition of image being grayscale to format name -#: src/widgets/properties_view.rs:293 +#: src/widgets/properties_view.rs:267 msgid ", grayscale" msgstr ", сивотоно" #. Translators: Addition of bit size to format name -#: src/widgets/properties_view.rs:298 +#: src/widgets/properties_view.rs:272 msgid ", {}\\u{202F}bit" msgstr ", {}\\u{202F}бита" -#: src/widgets/properties_view.rs:315 +#: src/widgets/properties_view.rs:290 msgid "{}\\u{202F}\\u{D7}\\u{202F}{}" msgstr "{}\\u{202F}\\u{D7}\\u{202F}{}" -#. Translators: Shorthand for centimeter -#: src/widgets/properties_view.rs:354 -msgid " cm" -msgstr " цм" - -#. Translators: Shorthand for inch -#: src/widgets/properties_view.rs:358 -msgid "″" -msgstr "″" - -#. Translators: Shorthand for meter -#: src/widgets/properties_view.rs:362 -msgid " m" -msgstr " м" - -#. Translators: Shorthand for millimeter -#: src/widgets/properties_view.rs:366 -msgid " mm" -msgstr " мм" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:370 -msgid " pc" -msgstr " pc" - -#. Translators: Shorthand for pica (unit) -#: src/widgets/properties_view.rs:374 -msgid " pt" -msgstr " тчк" - -#: src/widgets/properties_view.rs:386 -msgid "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" -msgstr "{}{}\\u{202F}\\u{D7}\\u{202F}{}{}" - -#: src/widgets/properties_view.rs:403 -msgid "{}\\u{202F}DPI" -msgstr "{}\\u{202F}тпи" - -#: src/widgets/properties_view.rs:407 -msgid "{}\\u{202F}DPI\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}DPI" -msgstr "{}\\u{202F}тпи\\u{202F}\\u{D7}\\u{202F}{}\\u{202F}тпи" - -#: src/widgets/properties_view.rs:435 +#: src/widgets/properties_view.rs:326 msgid "Image Coordinates Copied" msgstr "Координате слике копиране" @@ -1024,94 +893,62 @@ msgid "URI" msgstr "Адреса" #: src/widgets/properties_view.ui:66 -msgid "Physical Size" -msgstr "Физичка величина" - -#: src/widgets/properties_view.ui:76 -msgid "Resolution" -msgstr "Резолуција" - -#: src/widgets/properties_view.ui:86 msgid "Image Format" msgstr "Врста слике" -#: src/widgets/properties_view.ui:96 +#: src/widgets/properties_view.ui:76 msgid "File Size" msgstr "Величина датотеке" -#: src/widgets/properties_view.ui:110 +#: src/widgets/properties_view.ui:90 msgid "File Created" msgstr "Датум настанка" -#: src/widgets/properties_view.ui:120 +#: src/widgets/properties_view.ui:100 msgid "File Modified" msgstr "Датум измене" #. Translators: This is a label for GPS coordinates -#: src/widgets/properties_view.ui:134 +#: src/widgets/properties_view.ui:114 msgid "Location" msgstr "Место" -#: src/widgets/properties_view.ui:145 +#: src/widgets/properties_view.ui:125 msgid "Copy Coordinates" msgstr "Копирај координате" -#: src/widgets/properties_view.ui:156 +#: src/widgets/properties_view.ui:136 msgid "Open Location" msgstr "Отвори место" -#: src/widgets/properties_view.ui:169 +#: src/widgets/properties_view.ui:149 msgid "Originally Created" msgstr "Време изворног настанка" -#: src/widgets/properties_view.ui:179 -msgid "Creator" -msgstr "Творац" - -#: src/widgets/properties_view.ui:189 -msgid "Copyright" -msgstr "Ауторска права" - -#: src/widgets/properties_view.ui:199 +#: src/widgets/properties_view.ui:159 msgid "Comment" msgstr "Напомена" -#: src/widgets/properties_view.ui:209 +#: src/widgets/properties_view.ui:169 msgid "Aperture" msgstr "Бленда" -#: src/widgets/properties_view.ui:219 +#: src/widgets/properties_view.ui:179 msgid "Exposure" msgstr "Излагање" -#: src/widgets/properties_view.ui:229 +#: src/widgets/properties_view.ui:189 msgid "ISO" msgstr "ИСО" -#: src/widgets/properties_view.ui:239 +#: src/widgets/properties_view.ui:199 msgid "Focal Length" msgstr "Жижна даљина" -#: src/widgets/properties_view.ui:249 +#: src/widgets/properties_view.ui:209 msgid "Maker, Model" msgstr "Произвођач и модел" -#: src/widgets/properties_view.ui:259 -msgid "Lens" -msgstr "Објектив" - -#: src/widgets/properties_view.ui:269 -msgid "Software" -msgstr "Програм" - -#: src/widgets/properties_view.ui:279 -msgid "ICC Profile" -msgstr "ИЦЦ профил" - -#: src/widgets/properties_view.ui:289 -msgid "CICP" -msgstr "CICP" - -#: src/widgets/window.rs:254 +#: src/widgets/window.rs:206 msgid "Show Details" msgstr "Прикажи појединости" diff --git a/src/file_model.rs b/src/file_model.rs index 3dfb53c..b8b0632 100644 --- a/src/file_model.rs +++ b/src/file_model.rs @@ -1,4 +1,4 @@ -// Copyright (c) 2022-2026 Sophie Herold +// Copyright (c) 2022-2025 Sophie Herold // Copyright (c) 2022 Christopher Davis // // This program is free software: you can redistribute it and/or modify diff --git a/src/widgets/image.rs b/src/widgets/image.rs index 94535f2..b454e81 100644 --- a/src/widgets/image.rs +++ b/src/widgets/image.rs @@ -43,7 +43,6 @@ mod rendering; mod rotation; mod scrollable; mod zoom; -pub mod drawing; use std::cell::{Cell, OnceCell, RefCell}; use std::marker::PhantomData; @@ -270,14 +269,6 @@ mod imp { /// Editing queue pub(super) editing_queue: crate::editing::Queue, pub(super) operations: RefCell>>, - - // Drawing / annotation state - pub(super) drawing_mode: Cell, - pub(super) draw_tool: Cell, - pub(super) draw_color: RefCell, - pub(super) draw_line_width: Cell, - pub(super) strokes: RefCell>, - pub(super) current_stroke: RefCell>, } #[glib::object_subclass] @@ -323,7 +314,6 @@ mod imp { self.zoom_target.set(1.); self.best_fit.set(true); self.scaling.set(self.scaling()); - self.draw_line_width.set(3.0); self.connect_input_handling(); @@ -418,92 +408,4 @@ impl LpImage { imp.original_orientation .set(Some(original_imp.metadata.borrow().orientation())); } - - // ── Drawing / annotation API ────────────────────────────────────────── - - pub fn is_drawing_mode(&self) -> bool { - self.imp().drawing_mode.get() - } - - pub fn set_drawing_mode(&self, active: bool) { - let imp = self.imp(); - imp.drawing_mode.set(active); - if !active { - imp.current_stroke.replace(None); - } - self.queue_draw(); - } - - pub fn draw_tool(&self) -> drawing::DrawTool { - self.imp().draw_tool.get() - } - - pub fn set_draw_tool(&self, tool: drawing::DrawTool) { - self.imp().draw_tool.set(tool); - } - - pub fn draw_color(&self) -> drawing::DrawColor { - *self.imp().draw_color.borrow() - } - - pub fn set_draw_color(&self, color: drawing::DrawColor) { - self.imp().draw_color.replace(color); - } - - pub fn draw_line_width(&self) -> f64 { - self.imp().draw_line_width.get() - } - - pub fn set_draw_line_width(&self, width: f64) { - self.imp().draw_line_width.set(width.clamp(1., 50.)); - } - - pub fn undo_stroke(&self) { - self.imp().strokes.borrow_mut().pop(); - self.queue_draw(); - } - - pub fn clear_strokes(&self) { - self.imp().strokes.borrow_mut().clear(); - self.queue_draw(); - } - - pub fn has_strokes(&self) -> bool { - !self.imp().strokes.borrow().is_empty() - } - - /// Render the image with annotations to a texture suitable for saving as PNG. - pub fn render_annotated_texture(&self) -> Option { - let imp = self.imp(); - let (w, h) = imp.untransformed_dimensions(); - if w == 0 || h == 0 { - return None; - } - - let snapshot = gtk::Snapshot::new(); - let orientation = self.metadata().orientation(); - imp.snapshot_rotate_mirror( - &snapshot, - -(orientation.rotate().degrees() as f32), - orientation.mirror(), - 1.0, - ); - let render_options = crate::decoder::tiling::RenderOptions { - scaling_filter: gsk::ScalingFilter::Trilinear, - background_color: None, - scaling: 1., - }; - imp.active_frame_buffer() - .add_to_snapshot(&snapshot, 1.0, &render_options); - imp.render_drawing_overlay(&snapshot, 1.0); - - let node = snapshot.to_node()?; - let renderer = gsk::CairoRenderer::new(); - renderer - .realize_for_display(&gdk::Display::default()?) - .ok()?; - let texture = renderer.render_texture(&node, None); - renderer.unrealize(); - Some(texture) - } } diff --git a/src/widgets/image/drawing.rs b/src/widgets/image/drawing.rs deleted file mode 100644 index 98a6cbd..0000000 --- a/src/widgets/image/drawing.rs +++ /dev/null @@ -1,216 +0,0 @@ -// Copyright (c) 2026 Loupe contributors -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// SPDX-License-Identifier: GPL-3.0-or-later - -use cairo::{Context, LineCap, LineJoin}; - -use crate::deps::*; - -#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] -pub enum DrawTool { - #[default] - Freeform, - Rectangle, - Circle, - Triangle, - Star, -} - -#[derive(Debug, Clone, Copy)] -pub struct DrawColor { - pub r: f64, - pub g: f64, - pub b: f64, - pub a: f64, -} - -impl Default for DrawColor { - fn default() -> Self { - Self { - r: 0.96, - g: 0.22, - b: 0.22, - a: 1.0, - } - } -} - -impl From for DrawColor { - fn from(c: gdk::RGBA) -> Self { - Self { - r: c.red() as f64, - g: c.green() as f64, - b: c.blue() as f64, - a: c.alpha() as f64, - } - } -} - -impl From for gdk::RGBA { - fn from(c: DrawColor) -> gdk::RGBA { - gdk::RGBA::new(c.r as f32, c.g as f32, c.b as f32, c.a as f32) - } -} - -/// A completed drawing stroke stored in image pixel coordinates. -#[derive(Debug, Clone)] -pub struct Stroke { - pub tool: DrawTool, - /// Freeform: path points. Shapes: [start, end]. - pub points: Vec<(f64, f64)>, - pub color: DrawColor, - pub line_width: f64, -} - -/// A stroke currently being drawn. -#[derive(Debug, Clone)] -pub struct CurrentStroke { - pub tool: DrawTool, - pub start: (f64, f64), - pub end: (f64, f64), - pub points: Vec<(f64, f64)>, - pub color: DrawColor, - pub line_width: f64, -} - -impl Stroke { - pub fn render(&self, cr: &Context) { - cr.set_source_rgba(self.color.r, self.color.g, self.color.b, self.color.a); - cr.set_line_width(self.line_width); - cr.set_line_cap(LineCap::Round); - cr.set_line_join(LineJoin::Round); - - let se = || { - ( - self.points.first().copied().unwrap_or_default(), - self.points.last().copied().unwrap_or_default(), - ) - }; - match self.tool { - DrawTool::Freeform => render_freeform(cr, &self.points), - DrawTool::Rectangle => render_rectangle(cr, se()), - DrawTool::Circle => render_ellipse(cr, se()), - DrawTool::Triangle => render_triangle(cr, se()), - DrawTool::Star => render_star(cr, se()), - } - } -} - -impl CurrentStroke { - pub fn render(&self, cr: &Context) { - cr.set_source_rgba(self.color.r, self.color.g, self.color.b, self.color.a); - cr.set_line_width(self.line_width); - cr.set_line_cap(LineCap::Round); - cr.set_line_join(LineJoin::Round); - - match self.tool { - DrawTool::Freeform => render_freeform(cr, &self.points), - DrawTool::Rectangle => render_rectangle(cr, (self.start, self.end)), - DrawTool::Circle => render_ellipse(cr, (self.start, self.end)), - DrawTool::Triangle => render_triangle(cr, (self.start, self.end)), - DrawTool::Star => render_star(cr, (self.start, self.end)), - } - } - - pub fn into_stroke(self) -> Option { - let points = match self.tool { - DrawTool::Freeform => { - if self.points.is_empty() { - return None; - } - self.points - } - _ => { - if (self.end.0 - self.start.0).abs() < 1. - && (self.end.1 - self.start.1).abs() < 1. - { - return None; - } - vec![self.start, self.end] - } - }; - Some(Stroke { - tool: self.tool, - points, - color: self.color, - line_width: self.line_width, - }) - } -} - -fn render_freeform(cr: &Context, pts: &[(f64, f64)]) { - if pts.is_empty() { - return; - } - cr.move_to(pts[0].0, pts[0].1); - if pts.len() == 1 { - cr.line_to(pts[0].0 + 0.01, pts[0].1); - } else { - for &(x, y) in &pts[1..] { - cr.line_to(x, y); - } - } - let _ = cr.stroke(); -} - -fn render_rectangle(cr: &Context, ((x1, y1), (x2, y2)): ((f64, f64), (f64, f64))) { - let (x, y, w, h) = ( - f64::min(x1, x2), - f64::min(y1, y2), - (x2 - x1).abs(), - (y2 - y1).abs(), - ); - if w < 1. || h < 1. { - return; - } - cr.rectangle(x, y, w, h); - let _ = cr.stroke(); -} - -fn render_ellipse(cr: &Context, ((x1, y1), (x2, y2)): ((f64, f64), (f64, f64))) { - let (cx, cy) = ((x1 + x2) / 2., (y1 + y2) / 2.); - let (rx, ry) = ((x2 - x1).abs() / 2., (y2 - y1).abs() / 2.); - if rx < 1. || ry < 1. { - return; - } - let _ = cr.save(); - cr.translate(cx, cy); - cr.scale(rx, ry); - cr.arc(0., 0., 1., 0., 2. * std::f64::consts::PI); - let _ = cr.restore(); - let _ = cr.stroke(); -} - -fn render_triangle(cr: &Context, ((x1, y1), (x2, y2)): ((f64, f64), (f64, f64))) { - cr.move_to((x1 + x2) / 2., y1); - cr.line_to(x2, y2); - cr.line_to(x1, y2); - cr.close_path(); - let _ = cr.stroke(); -} - -fn render_star(cr: &Context, ((x1, y1), (x2, y2)): ((f64, f64), (f64, f64))) { - let (cx, cy) = ((x1 + x2) / 2., (y1 + y2) / 2.); - let outer = f64::min((x2 - x1).abs(), (y2 - y1).abs()) / 2.; - if outer < 1. { - return; - } - let inner = outer * 0.382; - for i in 0..10u32 { - let angle = i as f64 * std::f64::consts::PI / 5. - std::f64::consts::PI / 2.; - let r = if i % 2 == 0 { outer } else { inner }; - let (px, py) = (cx + r * angle.cos(), cy + r * angle.sin()); - if i == 0 { - cr.move_to(px, py); - } else { - cr.line_to(px, py); - } - } - cr.close_path(); - let _ = cr.stroke(); -} diff --git a/src/widgets/image/input_handling.rs b/src/widgets/image/input_handling.rs index d9f5e33..f5737c4 100644 --- a/src/widgets/image/input_handling.rs +++ b/src/widgets/image/input_handling.rs @@ -21,88 +21,10 @@ use super::*; impl imp::LpImage { /// To be called by constructor pub(super) fn connect_input_handling(&self) { - self.connect_drawing_gesture(); self.connect_controllers(); self.connect_gestures(); } - fn connect_drawing_gesture(&self) { - let obj = self.obj(); - - let gesture = gtk::GestureDrag::builder().button(1).build(); - obj.add_controller(gesture.clone()); - - gesture.connect_drag_begin(glib::clone!( - #[weak] - obj, - move |g, x, y| { - let imp = obj.imp(); - if !imp.drawing_mode.get() { - g.set_state(gtk::EventSequenceState::Denied); - return; - } - g.set_state(gtk::EventSequenceState::Claimed); - let pos = obj.widget_to_img_coord((x, y)); - imp.current_stroke.replace(Some(drawing::CurrentStroke { - tool: imp.draw_tool.get(), - start: pos, - end: pos, - points: vec![pos], - color: *imp.draw_color.borrow(), - line_width: imp.draw_line_width.get(), - })); - obj.queue_draw(); - } - )); - - gesture.connect_drag_update(glib::clone!( - #[weak] - obj, - move |g, dx, dy| { - let imp = obj.imp(); - if !imp.drawing_mode.get() { - return; - } - let Some((sx, sy)) = g.start_point() else { return }; - let pos = obj.widget_to_img_coord((sx + dx, sy + dy)); - let mut cur = imp.current_stroke.borrow_mut(); - if let Some(s) = cur.as_mut() { - s.end = pos; - if s.tool == drawing::DrawTool::Freeform { - s.points.push(pos); - } - } - drop(cur); - obj.queue_draw(); - } - )); - - gesture.connect_drag_end(glib::clone!( - #[weak] - obj, - move |g, dx, dy| { - let imp = obj.imp(); - if !imp.drawing_mode.get() { - return; - } - let mut cur = imp.current_stroke.replace(None); - if let Some(s) = cur.as_mut() { - if let Some((sx, sy)) = g.start_point() { - let pos = obj.widget_to_img_coord((sx + dx, sy + dy)); - s.end = pos; - if s.tool == drawing::DrawTool::Freeform { - s.points.push(pos); - } - } - } - if let Some(stroke) = cur.and_then(|s| s.into_stroke()) { - imp.strokes.borrow_mut().push(stroke); - } - obj.queue_draw(); - } - )); - } - fn connect_controllers(&self) { let obj = self.obj(); @@ -256,12 +178,6 @@ impl imp::LpImage { tracing::trace!("Drag gesture begin"); let imp = obj.imp(); - // Yield to the drawing gesture when in drawing mode - if imp.drawing_mode.get() { - gesture.set_state(gtk::EventSequenceState::Denied); - return; - } - // Allow only left and middle button if ![1, 2].contains(&gesture.current_button()) // Drag gesture for touchscreens is handled by ScrolledWindow diff --git a/src/widgets/image/rendering.rs b/src/widgets/image/rendering.rs index 9bf9fa9..8993d25 100644 --- a/src/widgets/image/rendering.rs +++ b/src/widgets/image/rendering.rs @@ -139,9 +139,6 @@ impl WidgetImpl for imp::LpImage { ); frame_buffer.add_to_snapshot(snapshot, applicable_zoom, &render_options); - - // Drawing / annotation overlay - self.render_drawing_overlay(snapshot, applicable_zoom); } snapshot.restore(); @@ -408,36 +405,3 @@ impl LpImage { (x, y) } } - -impl imp::LpImage { - /// Render completed and in-progress drawing strokes on top of the image. - /// - /// Must be called after the frame buffer has been added to the snapshot - /// (in the non-operations render path) while the image coordinate transforms - /// are still active. - pub(super) fn render_drawing_overlay(&self, snapshot: >k::Snapshot, zoom: f64) { - let strokes = self.strokes.borrow(); - let current = self.current_stroke.borrow(); - - if strokes.is_empty() && current.is_none() { - return; - } - - let (unw, unh) = self.untransformed_dimensions(); - if unw == 0 || unh == 0 { - return; - } - - let w = (unw as f64 * zoom) as f32; - let h = (unh as f64 * zoom) as f32; - let cr = snapshot.append_cairo(&graphene::Rect::new(0., 0., w, h)); - cr.scale(zoom, zoom); - - for stroke in strokes.iter() { - stroke.render(&cr); - } - if let Some(c) = current.as_ref() { - c.render(&cr); - } - } -} diff --git a/src/widgets/image_page.rs b/src/widgets/image_page.rs index 7f398d3..507532b 100644 --- a/src/widgets/image_page.rs +++ b/src/widgets/image_page.rs @@ -1,4 +1,4 @@ -// Copyright (c) 2022-2026 Sophie Herold +// Copyright (c) 2022-2025 Sophie Herold // Copyright (c) 2022, 2024 Christopher Davis // // This program is free software: you can redistribute it and/or modify diff --git a/src/widgets/image_window.rs b/src/widgets/image_window.rs index b83d54b..6e07913 100644 --- a/src/widgets/image_window.rs +++ b/src/widgets/image_window.rs @@ -111,28 +111,6 @@ mod imp { pub(super) show_controls_animation: OnceCell, pub(super) hide_controls_animation: OnceCell, pub(super) hide_controls_timeout: RefCell>, - - // Drawing toolbar template children - #[template_child] - pub(super) draw_mode_button: TemplateChild, - #[template_child] - pub(super) draw_toolbar_revealer: TemplateChild, - #[template_child] - pub(super) draw_freeform_btn: TemplateChild, - #[template_child] - pub(super) draw_rect_btn: TemplateChild, - #[template_child] - pub(super) draw_circle_btn: TemplateChild, - #[template_child] - pub(super) draw_triangle_btn: TemplateChild, - #[template_child] - pub(super) draw_star_btn: TemplateChild, - #[template_child] - pub(super) draw_color_btn: TemplateChild, - #[template_child] - pub(super) draw_line_width_btn: TemplateChild, - #[template_child] - pub(super) draw_clear_btn: TemplateChild, } #[glib::object_subclass] @@ -459,131 +437,6 @@ mod imp { true } )); - - // ── Drawing toolbar setup ────────────────────────────────────── - { - let imp = self; - - // Group tool toggle buttons (mutually exclusive) - imp.draw_rect_btn.set_group(Some(&*imp.draw_freeform_btn)); - imp.draw_circle_btn.set_group(Some(&*imp.draw_freeform_btn)); - imp.draw_triangle_btn.set_group(Some(&*imp.draw_freeform_btn)); - imp.draw_star_btn.set_group(Some(&*imp.draw_freeform_btn)); - imp.draw_freeform_btn.set_active(true); - - // Set initial color to match DrawColor::default() (red) - imp.draw_color_btn - .set_rgba(&gdk::RGBA::new(0.96, 0.22, 0.22, 1.0)); - - // Connect draw mode button (headerbar toggle) - imp.draw_mode_button.connect_toggled(glib::clone!( - #[weak] - obj, - move |btn| { - let active = btn.is_active(); - let imp = obj.imp(); - imp.draw_toolbar_revealer.set_reveal_child(active); - if let Some(img) = imp.image_view.current_image() { - img.set_drawing_mode(active); - if active { - let color = crate::widgets::image::drawing::DrawColor::from( - imp.draw_color_btn.rgba(), - ); - img.set_draw_color(color); - img.set_draw_line_width(imp.draw_line_width_btn.value()); - } - } - } - )); - - // Tool buttons - imp.draw_freeform_btn.connect_toggled(glib::clone!( - #[weak] - obj, - move |btn| { - if btn.is_active() { - obj.set_draw_tool( - crate::widgets::image::drawing::DrawTool::Freeform, - ); - } - } - )); - imp.draw_rect_btn.connect_toggled(glib::clone!( - #[weak] - obj, - move |btn| { - if btn.is_active() { - obj.set_draw_tool( - crate::widgets::image::drawing::DrawTool::Rectangle, - ); - } - } - )); - imp.draw_circle_btn.connect_toggled(glib::clone!( - #[weak] - obj, - move |btn| { - if btn.is_active() { - obj.set_draw_tool( - crate::widgets::image::drawing::DrawTool::Circle, - ); - } - } - )); - imp.draw_triangle_btn.connect_toggled(glib::clone!( - #[weak] - obj, - move |btn| { - if btn.is_active() { - obj.set_draw_tool( - crate::widgets::image::drawing::DrawTool::Triangle, - ); - } - } - )); - imp.draw_star_btn.connect_toggled(glib::clone!( - #[weak] - obj, - move |btn| { - if btn.is_active() { - obj.set_draw_tool( - crate::widgets::image::drawing::DrawTool::Star, - ); - } - } - )); - - // Color button - imp.draw_color_btn.connect_rgba_notify(glib::clone!( - #[weak] - obj, - move |btn| { - let color = - crate::widgets::image::drawing::DrawColor::from(btn.rgba()); - obj.set_draw_color(color); - } - )); - - // Line width spin button - imp.draw_line_width_btn.connect_value_changed(glib::clone!( - #[weak] - obj, - move |spin| { - obj.set_draw_line_width(spin.value()); - } - )); - - // Clear all strokes button - imp.draw_clear_btn.connect_clicked(glib::clone!( - #[weak] - obj, - move |_| { - if let Some(img) = obj.imp().image_view.current_image() { - img.clear_strokes(); - } - } - )); - } } } @@ -754,25 +607,6 @@ impl LpImageWindow { pub fn copy_image(&self) { let imp = self.imp(); - // When annotations exist, copy the flattened texture instead of the file - if let Some(img) = imp.image_view.current_image() { - if img.has_strokes() { - if let Some(texture) = img.render_annotated_texture() { - let content = - gdk::ContentProvider::for_value(&texture.to_value()); - if let Err(e) = self.clipboard().set_content(Some(&content)) { - tracing::error!("Failed to copy annotated image: {e}"); - } else { - self.window_show_toast( - &gettext("Image copied to clipboard"), - adw::ToastPriority::High, - ); - } - return; - } - } - } - if let Err(e) = imp.image_view.copy() { tracing::error!("Failed to copy to clipboard: {}", e); } else { @@ -1172,69 +1006,4 @@ impl LpImageWindow { fn headerbar_opacity(&self) -> f64 { self.imp().headerbar.opacity() } - - // ── Drawing helpers ─────────────────────────────────────────────────── - - pub fn toggle_draw_mode(&self) { - let imp = self.imp(); - let new_state = !imp.draw_mode_button.is_active(); - imp.draw_mode_button.set_active(new_state); - // The `connect_toggled` handler on `draw_mode_button` takes care of the rest. - } - - pub fn set_draw_tool(&self, tool: crate::widgets::image::drawing::DrawTool) { - if let Some(img) = self.imp().image_view.current_image() { - img.set_draw_tool(tool); - } - } - - pub fn set_draw_color(&self, color: crate::widgets::image::drawing::DrawColor) { - if let Some(img) = self.imp().image_view.current_image() { - img.set_draw_color(color); - } - } - - pub fn set_draw_line_width(&self, width: f64) { - if let Some(img) = self.imp().image_view.current_image() { - img.set_draw_line_width(width); - } - } - - pub async fn draw_save_as(&self) { - let Some(img) = self.imp().image_view.current_image() else { - return; - }; - let Some(current_file) = img.file() else { - return; - }; - - let file_dialog = gtk::FileDialog::new(); - if let Some(path) = current_file.path() { - if let Some(stem) = path.file_stem() { - let mut new_name = stem.to_os_string(); - new_name.push("-annotated.png"); - let mut suggested = path.clone(); - suggested.set_file_name(new_name); - file_dialog - .set_initial_file(Some(&gio::File::for_path(suggested))); - } - } - - let window = self.try_window(); - let Ok(save_file) = file_dialog.save_future(window.as_ref()).await else { - return; - }; - - let Some(texture) = img.render_annotated_texture() else { - tracing::error!("Failed to render annotated texture"); - return; - }; - - if let Some(path) = save_file.path() { - let bytes = texture.save_to_png_bytes(); - if let Err(err) = std::fs::write(&path, &*bytes) { - tracing::error!("Failed to save annotated image: {err}"); - } - } - } } diff --git a/src/widgets/image_window.ui b/src/widgets/image_window.ui index a9571a2..50a1677 100644 --- a/src/widgets/image_window.ui +++ b/src/widgets/image_window.ui @@ -132,15 +132,6 @@ Edit Image - - - draw-freehand-symbolic - Annotate Image (D) - - - @@ -148,144 +139,6 @@ - - - False - slide-up - - - 6 - 6 - 6 - 12 - 12 - - - - - 0 - - - - draw-freehand-symbolic - Freeform - - - - - Rect - Rectangle - - - - - Circle - Circle / Ellipse - - - - - Tri - Triangle - - - - - Star - Star - - - - - - - - vertical - 6 - 6 - - - - - - Stroke Color - - - - - - - - - Line Width - - - 1 - 50 - 3 - 1 - 5 - - - 0 - True - 4 - - - - - - vertical - 6 - 6 - - - - - - edit-undo-symbolic - Undo Last Stroke (Ctrl+Z) - win.draw-undo - - - - - - - edit-clear-all-symbolic - Clear All Annotations - - - - - - - True - - - - - - Save Copy… - Save annotated copy as PNG - win.draw-save-as - - - - - - - diff --git a/src/widgets/image_window/actions.rs b/src/widgets/image_window/actions.rs index 96034e7..8f742a2 100644 --- a/src/widgets/image_window/actions.rs +++ b/src/widgets/image_window/actions.rs @@ -91,12 +91,6 @@ pub enum Action { Reload, #[strum(to_string = "win.edit")] Edit, - #[strum(to_string = "win.draw-toggle")] - DrawToggle, - #[strum(to_string = "win.draw-undo")] - DrawUndo, - #[strum(to_string = "win.draw-save-as")] - DrawSaveAs, } impl Action { @@ -299,28 +293,6 @@ impl Action { obj.window_inspect(|w| w.show_edit()); }); } - - Action::DrawToggle => { - klass.install_action(&action, None, move |win, _, _| { - win.toggle_draw_mode(); - }); - } - - Action::DrawUndo => { - klass.install_action(&action, None, move |win, _, _| { - if let Some(img) = win.imp().image_view.current_image() { - if img.is_drawing_mode() { - img.undo_stroke(); - } - } - }); - } - - Action::DrawSaveAs => { - klass.install_action_async(&action, None, |win, _, _| async move { - win.draw_save_as().await; - }); - } } } } @@ -399,8 +371,6 @@ impl Action { Action::ToggleProperties => &[(Key::F9, &[]), (Key::Return, &[ModifierType::ALT_MASK])], Action::Reload => &[(Key::F5, &[])], Action::Edit => &[(Key::e, &[])], - Action::DrawToggle => &[(Key::d, &[])], - Action::DrawUndo => &[(Key::z, &[ModifierType::CONTROL_MASK])], _ => &[], } }