Skip to content

Commit

Permalink
Merge branch 'TagStudioDev:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
DandyDev01 authored Dec 23, 2024
2 parents 715d10e + 82c659c commit 68614cb
Show file tree
Hide file tree
Showing 32 changed files with 1,285 additions and 1,584 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ compile_commands.json
tagstudio/tests/fixtures/library/*
tagstudio/tests/fixtures/json_library/.TagStudio/*.sqlite
TagStudio.ini
*.sqlite-journal

.envrc
.direnv
Expand Down
16 changes: 8 additions & 8 deletions docs/updates/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@ Features are broken up into the following priority levels, with nested prioritie
- [ ] GPS Location [LOW]
- [ ] Custom field names [HIGH] [#18](https://github.com/TagStudioDev/TagStudio/issues/18)
- [ ] Search engine [HIGH] [#325](https://github.com/TagStudioDev/TagStudio/issues/325)
- [ ] Boolean operators [HIGH] [#225](https://github.com/TagStudioDev/TagStudio/issues/225), [#314](https://github.com/TagStudioDev/TagStudio/issues/314)
- [x] Boolean operators [HIGH] [#225](https://github.com/TagStudioDev/TagStudio/issues/225), [#314](https://github.com/TagStudioDev/TagStudio/issues/314)
- [ ] Tag objects + autocomplete [HIGH] [#476 (Autocomplete)](https://github.com/TagStudioDev/TagStudio/issues/476)
- [ ] Filename search [HIGH]
- [ ] Filetype search [HIGH]
- [ ] Search by extension (e.g. ".jpg", ".png") [HIGH]
- [ ] Optional consolidation of extension synonyms (i.e. ".jpg" can equal ".jpeg") [LOW]
- [ ] Search by media type (e.g. "image", "video", "document") [MEDIUM]
- [x] Filename search [HIGH]
- [x] Filetype search [HIGH]
- [x] Search by extension (e.g. ".jpg", ".png") [HIGH]
- [x] Optional consolidation of extension synonyms (i.e. ".jpg" can equal ".jpeg") [LOW]
- [x] Search by media type (e.g. "image", "video", "document") [MEDIUM]
- [ ] Field content search [HIGH] [#272](https://github.com/TagStudioDev/TagStudio/issues/272)
- [ ] HAS operator for composition tags [HIGH]
- [ ] OCR search [LOW]
Expand Down Expand Up @@ -172,12 +172,12 @@ These version milestones are rough estimations for when the previous core featur
- [ ] [Tag Categories](../library/tag_categories.md) [HIGH]
- [ ] Property available for tags that allow the tag and any inheriting from it to be displayed separately in the preview panel under a title [HIGH]
- [ ] Search engine [HIGH]
- [ ] Boolean operators [HIGH]
- [x] Boolean operators [HIGH]
- [ ] Tag objects + autocomplete [HIGH]
- [x] Filename search [HIGH]
- [x] Filetype search [HIGH]
- [x] Search by extension (e.g. ".jpg", ".png") [HIGH]
- [ ] Optional consolidation of extension synonyms (i.e. ".jpg" can equal ".jpeg") [LOW]
- [x] Optional consolidation of extension synonyms (i.e. ".jpg" can equal ".jpeg") [LOW]
- [x] Search by media type (e.g. "image", "video", "document") [MEDIUM]
- [ ] Field content search [HIGH]
- [ ] Sortable results [HIGH]
Expand Down
7 changes: 1 addition & 6 deletions tagstudio/resources/translations/da.json
Original file line number Diff line number Diff line change
@@ -1,6 +1 @@
{
"home.base_title": "TagStudio Alfa",
"home.include_all_tags": "Og (inkluderer alle tags)",
"home.include_any_tag": "Og (inkluderer envher tag)",
"home.main_window": "Hovedvindue"
}
{}
181 changes: 74 additions & 107 deletions tagstudio/resources/translations/de.json
Original file line number Diff line number Diff line change
@@ -1,125 +1,92 @@
{
"add_field.add": "Feld hinzufügen",
"build_tags.add_parent_tags": "Übergeordnete Tags hinzufügen",
"build_tags.parent_tags": "Übergeordnete Tags",
"delete_unlinked.confirm": "Sind Sie sicher, dass Sie die folgenden %{len(self.lib.missing_files)}-Einträge löschen wollen?",
"delete_unlinked.delete_entries": "Einträge am Löschen",
"delete_unlinked.delete_unlinked": "Unverknüpfte Einträge löschen",
"delete_unlinked.deleting_number_entries": "Löschen von %{x[0]+1}/{len(self.lib.missing_files)} Unverknüpften Einträgen",
"dialog.open_create_library": "Bibliothek öffnen/erstellen",
"dialog.refresh_directories": "Verzeichnisse werden aktualisiert",
"dialog.save_library": "Bibliothek speichern",
"dialog.scan_directories": "Überprüfe Verzeichnisse auf neue Dateien...\nBereite vor...",
"dialog.scan_directories.new_files": "Verzeichnisse nach neuen Dateien durchsuchen...\n%{x + 1} Datei%{„s“ if x + 1 != 1 else „“} Gesucht, %{len(self.lib.files_not_in_library)} Neue Dateien gefunden",
"file_extension.add_extension": "Erweiterung hinzufügen",
"file_opener.command_not_found": "Konnte %{command_name} nicht im System PATH finden",
"file_opener.not_found": "Datei nicht gefunden:",
"file_opener.open_file": "Datei öffnen:}",
"fix_dupes.advice_label": "Nach der Spiegelung können Sie DupeGuru verwenden, um die unerwünschten Dateien zu löschen. Verwenden Sie anschliessend die Funktion „Unverknüpfte Einträge reparieren“ im Menü „Extras“ von TagStudio, um die unverknüpften Einträge zu löschen.",
"fix_dupes.fix_dupes": "Doppelte Dateien korrigieren",
"fix_dupes.load_file": "DupeGuru-Datei laden",
"fix_dupes.mirror_description": "Spiegeln die Eingabedaten für jeden doppelten Abgleichsatz, indem Sie alle Daten kombinieren, ohne Felder zu entfernen oder zu duplizieren. Bei diesem Vorgang werden keine Dateien oder Daten gelöscht.",
"fix_dupes.mirror_entries": "Spiegelnde Einträge",
"fix_dupes.name_filter": "DupeGuru-Dateien (*.dupeguru)",
"fix_dupes.no_file_match": "Übereinstimmungen mit doppelten Dateien: N/A",
"fix_dupes.no_file_selected": "Keine DupeGuru-Datei ausgewählt",
"fix_dupes.number_file_match": "Übereinstimmungen mit doppelten Dateien: %{count}",
"fix_dupes.open_result_files": "DupeGuru Ergebnisdatei öffnen",
"fix_unlinked.delete_unlinked": "Nicht verknüpfte Einträge löschen",
"fix_unlinked.description": "Jeder Bibliothekseintrag ist mit einer Datei in einem Ihrer Verzeichnisse verknüpft. Wenn eine Datei, die mit einem Eintrag verknüpft ist, ausserhalb von TagStudio verschoben oder gelöscht wird, gilt sie als nicht verknüpft. Nicht verknüpfte Einträge können durch Durchsuchen Ihrer Verzeichnisse automatisch neu verknüpft, vom Benutzer manuell neu verknüpft oder auf Wunsch gelöscht werden.",
"fix_unlinked.duplicate_description": "Doppelte Einträge sind definiert als mehrere Einträge, die auf dieselbe Datei auf der Festplatte verweisen. Durch das Zusammenführen dieser Einträge werden die Tags und Metadaten aller Duplikate zu einem einzigen konsolidierten Eintrag zusammengefasst. Diese sind nicht zu verwechseln mit „doppelten Dateien“, die Duplikate Ihrer Dateien selbst außerhalb von TagStudio sind.",
"fix_unlinked.fix_unlinked": "Unverknüpfte Einträge reparieren",
"fix_unlinked.manual_relink": "Manuelle Neuverknüpfung",
"fix_unlinked.merge_dupes": "Doppelte Einträge zusammenführen",
"fix_unlinked.refresh_dupes": "Doppelte Einträge aktualisieren",
"fix_unlinked.scan_library.label": "Bibliothek nach nicht verknüpften Einträgen durchsuchen...",
"fix_unlinked.scan_library.title": "Bibliothek wird scannen",
"fix_unlinked.search_and_relink": "Suche && Neuverbindung",
"entries.duplicate.merge.label": "Zusammenführen von doppelten Einträgen",
"entries.duplicate.refresh": "Doppelte Einträge aktualisieren",
"entries.duplicates.description": "Doppelte Einträge sind definiert als mehrere Einträge, die auf dieselbe Datei auf der Festplatte verweisen. Durch das Zusammenführen dieser Einträge werden die Tags und Metadaten aller Duplikate zu einem einzigen konsolidierten Eintrag zusammengefasst. Diese sind nicht zu verwechseln mit „doppelten Dateien“, die Duplikate Ihrer Dateien selbst außerhalb von TagStudio sind.",
"entries.mirror": "Spiegel",
"entries.mirror.confirmation": "Sind Sie sich sicher, dass Sie die folgenden %{len(self.lib.dupe_files)} Einträge kopieren wollen?",
"entries.mirror.label": "Kopiere 1/%{count} Einträge...",
"entries.mirror.title": "Einträge werden kopiert",
"entries.tags": "Tags",
"entries.unlinked.delete": "Unverknüpfte Einträge löschen",
"entries.unlinked.delete.confirm": "Sind Sie sicher, dass Sie die folgenden %{len(self.lib.missing_files)}-Einträge löschen wollen?",
"entries.unlinked.delete.deleting": "Einträge am Löschen",
"entries.unlinked.delete.deleting_count": "Löschen von %{x[0]+1}/{len(self.lib.missing_files)} Unverknüpften Einträgen",
"entries.unlinked.description": "Jeder Bibliothekseintrag ist mit einer Datei in einem Ihrer Verzeichnisse verknüpft. Wenn eine Datei, die mit einem Eintrag verknüpft ist, ausserhalb von TagStudio verschoben oder gelöscht wird, gilt sie als nicht verknüpft. Nicht verknüpfte Einträge können durch Durchsuchen Ihrer Verzeichnisse automatisch neu verknüpft, vom Benutzer manuell neu verknüpft oder auf Wunsch gelöscht werden.",
"entries.unlinked.refresh_all": "Alle aktualisieren",
"entries.unlinked.relink.attempting": "Versuche %{x[0]+1}/%{len(self.lib.missing_files)} Einträge wieder zu verknüpfen - %{self.fixed} bereits erfolgreich wieder verknüpft",
"entries.unlinked.relink.manual": "Manuelle Neuverknüpfung",
"entries.unlinked.relink.title": "Einträge werden neuverknüpft",
"entries.unlinked.scanning": "Bibliothek nach nicht verknüpften Einträgen durchsuchen...",
"entries.unlinked.search_and_relink": "Suche && Neuverbindung",
"entries.unlinked.title": "Unverknüpfte Einträge reparieren",
"file.date_created": "Erstellungsdatum",
"file.date_modified": "Datum geändert",
"file.dimensions": "Abmessungen",
"file.duplicates.dupeguru.advice": "Nach dem Kopiervorgang kann DupeGuru benutzt werden und ungewollte Dateien zu löschen. Anschließend kann TagStudios \"Unverknüpfte Einträge reparieren\" Funktion im \"Werkzeuge\" Menü benutzt werden um die nicht verknüpften Einträge zu löschen.",
"file.duplicates.dupeguru.file_extension": "DupeGuru-Dateien (*.dupeguru)",
"file.duplicates.dupeguru.load_file": "DupeGuru-Datei laden",
"file.duplicates.dupeguru.no_file": "Keine DupeGuru-Datei ausgewählt",
"file.duplicates.dupeguru.open_file": "DupeGuru Ergebnisdatei öffnen",
"file.duplicates.fix": "Duplizierte Dateien korrigieren",
"file.duplicates.matches": "Übereinstimmungen mit doppelten Dateien: %{count}",
"file.duplicates.matches_uninitialized": "Übereinstimmungen mit doppelten Dateien: N/A",
"file.duplicates.mirror.description": "Kopiert die Eintragsdaten in jeder Duplikatsmenge, wobei alle Daten kombiniert werden ohne Felder zu entfernen oder zu duplizieren. Diese Operation wird keine Dateien oder Daten löschen.",
"file.duplicates.mirror_entries": "Einträge kopieren",
"file.not_found": "Datei nicht gefunden:",
"file.open_file": "Datei öffnen",
"file.open_location.generic": "Datei im Explorer öffnen",
"folders_to_tags.converting": "Wandele Ordner zu Tags um",
"folders_to_tags.description": "Erstellt Tags basierend auf der Verzeichnisstruktur und wendet sie auf die Einträge an.\nDer folgende Verzeichnisbaum zeigt welche Tags erstellt werden würden und auf welche Einträge sie angewendet werden würden.",
"folders_to_tags.open_all": "Alle öffnen",
"folders_to_tags.title": "Aus Verzeichnissen Tags erstellen",
"generic.add": "hinzufügen",
"generic.aliases": "Aliase",
"generic.apply": "anwenden",
"generic.cancel": "Abbrechen",
"generic.close_all": "Alle schliessen",
"generic.color": "Farbe",
"generic.delete": "Löschen",
"generic.done": "Fertig",
"generic.exclude": "ausschliessen",
"generic.file_extension": "Dateierweiterungen",
"generic.include": "einschliessen",
"generic.mirror": "Spiegel",
"generic.name": "Name",
"generic.open_all": "Alle öffnen",
"generic.open_file": "Datei öffnen",
"generic.open_file_explorer": "Datei im Explorer öffnen",
"generic.refresh_all": "Alle aktualisieren",
"generic.remove_field": "Feld entfernen",
"generic.search_tags": "Tags suchen",
"generic.shorthand": "Kürzel",
"home.base_title": "TagStudio Alpha",
"home.include_all_tags": "Und (enthält alle Tags)",
"home.include_any_tag": "Oder (enthält alle Tags)",
"home.main_window": "Hauptfenster",
"generic.edit": "Bearbeiten",
"generic.recent_libraries": "Aktuelle Bibliotheken",
"home.search": "Suchen",
"home.search_entries": "Nach Einträgen suchen",
"home.search_tags": "Tags suchen",
"home.thumbnail_size": "Grösse des Vorschaubildes",
"library.Artist": "Künstler",
"library.anthology": "Anthologie",
"library.archived": "Archivierungsdatum",
"library.author": "Autor",
"library.book": "Buch",
"library.collation": "Zusammenstellung",
"library.comic": "Comicheft",
"library.comments": "Kommentare",
"library.composer": "Komponist",
"library.content_tags": "Inhalt Tags",
"library.date": "Datum",
"library.date_created": "Erstellungsdatum",
"library.date_modified": "Datum geändert",
"library.date_published": "Datum des Publizierten",
"library.date_released": "Veröffentlichungsdatum",
"library.date_taken": "Aufnahmedatum",
"library.date_uploaded": "Hochladedatum",
"library.description": "Beschreibung",
"library.favorite": "Favoriten",
"library.guest_artist": "Gastkünstler",
"library.magazine": "Zeitschrift",
"library.manga": "Manga",
"library.meta_tags": "Meta Tags",
"library.notes": "Notizen",
"library.publisher": "Herausgeber",
"library.series": "Serie",
"library.source": "Quelle",
"library.tags": "Tags",
"library.title": "Titel",
"library.url": "URL",
"library.volume": "Band",
"ignore_list.add_extension": "Erweiterung hinzufügen",
"ignore_list.mode.exclude": "ausschliessen",
"ignore_list.mode.include": "Inklusive",
"ignore_list.mode.label": "Listen Modus:",
"ignore_list.title": "Dateierweiterungen",
"library.field.add": "Feld hinzufügen",
"library.field.confirm_remove": "Wollen Sie dieses \"%{self.lib.get_field_attr(field, \"name\")}\" Feld wirklich entfernen?",
"library.field.mixed_data": "Gemischte Daten",
"library.field.remove": "Feld entfernen",
"library.missing": "Dateiort fehlt",
"library.name": "Bibliothek",
"library.refresh.scanning": "Durchsuche Verzeichnisse nach neuen Dateien...\n%{x + 1} Datei%{„en“ if x + 1 != 1 else „“} durchsucht, %{len(self.lib.files_not_in_library)} Neue Datei%{„en“ if len(self.lib.files_not_in_library) != 1 else „“} gefunden",
"library.refresh.scanning_preparing": "Überprüfe Verzeichnisse auf neue Dateien...\nBereite vor...",
"library.refresh.title": "Verzeichnisse werden aktualisiert",
"library.scan_library.title": "Bibliothek wird scannen",
"macros.running.dialog.new_entries": "Führe konfigurierte Makros für %{x + 1}/%{len(new_ids)} neue Einträge aus",
"macros.running.dialog.title": "Ausführen von Makros bei neuen Einträgen",
"menu.edit": "Bearbeiten",
"menu.file": "Datei",
"menu.help": "Hilfe",
"menu.macros": "Makros",
"menu.tools": "Werkzeuge",
"menu.window": "Fenster",
"merge.merge_dupe_entries": "Zusammenführen von doppelten Einträgen",
"merge.window_title": "Zusammenführen von doppelten Einträgen",
"open_library.library_creation_return_code": "Bibliothekserstellung Rückgabecode:",
"open_library.no_tagstudio_library_found": "Keine vorhandene TagStudio-Bibliothek unter '%{Pfad}' gefunden. Eine wird erstellt.",
"open_library.title": "Bibliothek",
"preview.dimensions": "Abmessungen",
"preview.recent": "Aktuelle Bibliotheken",
"progression.running_macros.new_entries": "Ausführen von Makros bei neuen Einträgen",
"progression.running_macros.one_new_entry": "Ausführen konfigurierter Makros für 1/%{len(new_ids)} neue Einträge",
"progression.running_macros.several_new_entry": "Ausführen konfigurierter Makros für %{x + 1}/%{len(new_ids)} neue Einträge",
"relink_unlinked.title": "Einträge werden neuverknüpft",
"splash.open_library": "Die Bibliothek wird geöffnet",
"status.backup_success": "Bibliotheks-Backup gespeichert unter:",
"status.enumerate_query": "Abfrage:%{Abfrage}, Rahmen: %{i}, Länge: %{len(f)}",
"status.number_results_found": "%{len(all_items)} Ergebnisse gefunden für „%{query}“ (%{format_timespan(end_time - start_time)})",
"status.results_found": "Ergebnisse",
"status.save_success": "Bibliothek gespeichert und geschlossen!",
"status.search_library_query": "Suche in der Bibliothek nach",
"preview.no_selection": "Keine Elemente ausgewählt",
"status.library_backup_success": "Bibliotheks-Backup gespeichert unter:",
"status.library_save_success": "Bibliothek gespeichert und geschlossen!",
"status.library_search_query": "Suche in der Bibliothek nach",
"status.results": "Ergebnisse",
"tag.add": "Hinzufüge Tag",
"tag.library": "Bibliothek Tags",
"tag.add_to_search": "Zur Suche hinzufügen",
"tag.aliases": "Aliase",
"tag.color": "Farbe",
"tag.name": "Name",
"tag.new": "Neuer Tag",
"tooltip.open_library": "Ctrl+O",
"tooltip.save_library": "Ctrl+S"
"tag.parent_tags": "Übergeordnete Tags",
"tag.parent_tags.add": "Übergeordnete Tags hinzufügen",
"tag.search_for_tag": "Nach Tag suchen",
"tag.shorthand": "Kürzel",
"tag_manager.title": "Bibliothek Tags"
}
Loading

0 comments on commit 68614cb

Please sign in to comment.