In researching the same thing for the same reason on the same system I've discovered:
- Shotwell: https://wiki.gnome.org/Apps/Shotwell
- jExifToolGUI: https://hvdwolf.github.io/jExifToolGUI
- Dolphin file manager: https://apps.kde.org/dolphin
- Digikam: https://www.digikam.org
- Geeqie, mentioned here
After installing exiftool sudo apt-get install -y exiftool
I can check any image's saved tags via exiftool <ImageName.jpg>
. I am working on Ubuntu 20.04 and did the below tests with a fresh PNG I created in GIMP. There doesn't seem to be a good way of creating or editing a "Language" tag so I just post that in the "Comment" tag.
Shotwell supports hierarchical tags, writes tags in multiple places, and writes comments with line breaks separated by periods. It has the nicest navigation, and lets you batch apply tags through dragging-n-dropping them in the sidebar tag list. Sometimes you need to exit the view mode or close the program to save tag changes. It doesn't preview files very well (not in a small preview pane in the corner), particularly not animating animated GIFs. I added Tags and Comments to it and here are some of the exiftool-visible tags it created:
Notes: Shotwell comment line 1.Shotwell comment line 2.Shotwell comment line 3: English
Label: hierarchy3
Subject: hierarchy1, hierarchy2, hierarchy3
Tags List: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3
Last Keyword XMP: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3
Running the same image through jExifToolUI you have many more tag options but it's onerous to load many images, but you can edit multiple images through multi-selecting via Ctrl+click. You see some of the tags from before remain, others are created (the third line of comments was "English", this is how I'd label languages):
Last Keyword XMP: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3
Notes: Shotwell comment line 1.Shotwell comment line 2.English
Creator: jExifToolUI creator
Description: jExifToolUI description
Tags List: hierarchy1, hierarchy1/hierarchy2, hierarchy1/hierarchy2/hierarchy3
Label: jExifToolUI tag
Dolphin seems to only change comments and tags internally. The exiftool results after changes and closing the program looked the same as above. It has a great preview pane that I wish the other apps used though, including animating animated GIFs.
DigiKam seems to be a popular standard. It has a really cool map feature for coordinate tags. I was able to see but not modify the Creator Tag (under Captions > Rights > Names). Apart from this hiccup I was able to modify or add most everything else:
Creator: jExifToolUI creator
Title: digiKam Title
Description: digiKam Caption
Subject: Digikam hierarchical tag3
Last Keyword XMP: Digikam hierarchical tag1/Digikam hierarchical tag2/Digikam hierarchical tag3
Hierarchical Subject: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3
Catalog Sets: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3
Geeqie also has a coordinates-based map. I could not find a way of enabling it though. It does allow for writing Geography tags (Country, State, City, and a few others). It added these changes:
Caption: digiKam Title
Notes: digiKam Caption
Categories: <Categories><Category Assigned="0">Digikam hierarchical tag1<Category Assigned="0">Digikam hierarchical tag2<Category Assigned="1">Digikam hierarchical tag3</Category></Category></Category></Categories>
Captions Date Time Stamps: 2021-05-29T14:49:22
Tags List: Digikam hierarchical tag1/Digikam hierarchical tag2/Digikam hierarchical tag3
Subject: Geeqie tag (Keyword)
Title: Geeqie Title
Creator: jExifToolUI creator
Description: Geeqie Comment line 1.Geeqie Comment line 2
Last Keyword XMP: Digikam hierarchical tag1/Digikam hierarchical tag2/Digikam hierarchical tag3
Hierarchical Subject: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3
Catalog Sets: Digikam hierarchical tag1|Digikam hierarchical tag2|Digikam hierarchical tag3
I am still not done my research. Image tagging seems to be a mess right now, with no clear standards and every application partially overlapping things in unexpected ways. I would be interested to find what OP uses now, seven years later.
At the moment I am likely going to use Shotwell because of its clean, well organized interface, and easy hierarchical setup, at least within the program. When you start opening the image files in other tagging programs they sometimes take the Shotwell-generated hierarchical tags and duplicate them in strange ways, such that when you go back to Shotwell the tags in the sidebar are disorganized again. For instance, with the example used in this set I now see this in Shotwell (before it was just Tags > hierarchy1 > hierarchy2 > hierarchy3):
▼ Tags
▼ hierarchy1
▼ hierarchy2
hierarchy3
▼ hierarchy1, hierarchy1
▼ hierarchy2, hierarchy1
hierarchy2
jExifToolUI tag
But this just means I'll stick to just using Shotwell for now. I might learn more about Digikam and possibly move there for richer, more specific tagging beyond just keywords.
In an ideal world I would like to have the current Shotwell setup with clear Author/Artist tags I could edit (I'm able to use the command line exiftool -artist=<Artist Name> FileName1.png FileName2.png FileName3.png
and this does show up properly in both Shotwell and the exiftool
CLI file details list, but this is laborious). I wish I could edit tags and comments in a sidebar directly without having to right-click the image, and I wish the program had a Dolphin-like preview pane including playing animated GIFs, alongside a GPS-coordinates map as in digiKam or Geeqie. I am now reading https://news.ycombinator.com/item?id=22442144 for more ideas but that seems to be the bottom of the barrel.
I also wish to be able to edit animated GIFs the same way as JPGs/PNGs but due to their format this is very difficult. I may eventually just convert them all to silent MP4s, this seems to be the new standard for them anyway on texting apps and MP4s are much, much smaller. I don't like that this means they'd be treated as a video file but the line between pictures and videos is increasingly blurring anyway.
I am also interested in developing an image tagging system. At present I don't know exactly what to tag, or how. Luckily things like https://thenextweb.com/news/auto-imaging-tech-takes-pain-keyword-tagging-searching are coming out to tag physical subjects better via AI, so I can focus on more specific, personalized tags. This, alongside the above, is a paired process of developing a reliable meme database. I wish there was a one-stop shop for all but I guess that's what all this is, we're basically contributing to making it.