Compare commits

..

5 Commits

Author SHA1 Message Date
Hosted Weblate 16e546f8b2 Translated using Weblate (French)
Currently translated at 100.0% (428 of 428 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fr/
Translation: TagStudio/Application Strings
2026-08-16 18:08:42 +02:00
Hosted Weblate 69377b5749 Translated using Weblate (Dutch)
Currently translated at 34.5% (148 of 428 strings)

Translated using Weblate (Dutch)

Currently translated at 34.5% (148 of 428 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lily H <flannyha@gmail.com>
Co-authored-by: Pheubel <luca.guagliardo@live.nl>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/nl/
Translation: TagStudio/Application Strings
2026-08-16 18:08:42 +02:00
Hosted Weblate ce03c18b7d Translated using Weblate (Hungarian)
Currently translated at 100.0% (430 of 430 strings)

Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/hu/
Translation: TagStudio/Application Strings
2026-08-16 18:08:42 +02:00
Travis Abendshien 555dae50d4 chore: bump version to v9.6.4 2026-08-15 21:46:46 -07:00
Travis Abendshien e6d67c26dd docs: reorder changelog to match release notes 2026-08-15 21:46:20 -07:00
5 changed files with 50 additions and 24 deletions
+2 -2
View File
@@ -17,8 +17,6 @@ This update includes some critical library bugfixes along with a handful QoL twe
- feat(ui): show library format version in "About" window by @CyanVoxel in 102cfdf4a2e12635f4b6e47259aa23ea95787421
### Changed
#### Tag and Field Bars
- feat(ui): keep tag/field search bars open by default by @CyanVoxel in #1472
@@ -26,6 +24,8 @@ This update includes some critical library bugfixes along with a handful QoL twe
- feat(ui): use tab and shift+tab to navigate tag/field search bars by @CyanVoxel in #1474
- feat(ui): add hint icons to tag/field search bars by @CyanVoxel in #1475
### Changed
#### Internal Changes
- refactor: almost final migrations cleanup by @Computerdores in #1456
+1 -1
View File
@@ -9,7 +9,7 @@ build-backend = "hatchling.build"
[project]
name = "TagStudio"
description = "A User-Focused Photo & File Management System."
version = "9.6.3"
version = "9.6.4"
license = "GPL-3.0-only"
readme = "README.md"
requires-python = ">=3.12,<3.14"
+24 -19
View File
@@ -31,7 +31,7 @@
"drop_import.description": "Les fichiers suivants correspondent à des chemins de fichiers déjà existant dans la bibliothèque",
"drop_import.duplicates_choice.plural": "Les chemins d'accès des {count} fichiers suivants existent déjà dans la Bibliothèque.",
"drop_import.duplicates_choice.singular": "Le fichier suivant correspond a un chemin d'accès déjà existant dans la bibliothèque.",
"drop_import.progress.label.initial": "Importer des Nouveaux Fichiers...",
"drop_import.progress.label.initial": "Importer des Nouveaux Fichiers",
"drop_import.progress.label.plural": "Importation des Nouveaux Fichiers...\n{count} Fichiers Importés.{suffix}",
"drop_import.progress.label.singular": "Importation des Nouveaux Fichiers...\n1 Fichier Importé.{suffix}",
"drop_import.progress.window_title": "Importer des Fichiers",
@@ -41,26 +41,26 @@
"edit.paste_fields": "Coller les Champs",
"edit.tag_manager": "Gérer les Tags",
"entries.duplicate.merge": "Fusion des entrées dupliquées",
"entries.duplicate.merge.label": "Fusionner les entrées dupliquées...",
"entries.duplicate.merge.label": "Fusionner les entrées dupliquées",
"entries.duplicate.refresh": "Rafraichir les Entrées en Doublon",
"entries.duplicates.description": "Les entrées dupliquées sont définies comme des entrées multiple qui pointent vers le même fichier sur le disque. Les fusionner va combiner les tags et metadatas de tous les duplicatas vers une seule entrée consolidée. Elles ne doivent pas être confondues avec les \"fichiers en doublon\", qui sont des doublons de vos fichiers en dehors de TagStudio.",
"entries.generic.refresh_alt": "&Recharger",
"entries.generic.remove.removing": "Suppression des Entrées",
"entries.generic.remove.removing_count": "Suppression de {count} entrées...",
"entries.generic.remove.removing_count": "Suppression de {count} entrées",
"entries.ignored.description": "Les entrées de fichier sont considérées comme « ignorées » si elles ont été ajoutées à la bibliothèque avant que les règles d'ignorance de l'utilisateur (via le fichier « .ts_ignore ») aient été mises à jour pour les exclure. Les fichiers ignorés sont conservés dans la bibliothèque par défaut afin d'éviter toute perte accidentelle de données lors de la mise à jour des règles d'ignorance.",
"entries.ignored.ignored_count": "Entrées Ignorées : {count}",
"entries.ignored.remove": "Supprimer les entrées ignorées",
"entries.ignored.remove_alt": "Supprim&er les entrées ignorées",
"entries.ignored.scanning": "Recherche des entrées ignorées dans la bibliothèque...",
"entries.ignored.scanning": "Recherche des entrées ignorées dans la bibliothèque",
"entries.ignored.title": "Corriger les entrées ignorées",
"entries.mirror": "&Répliquer",
"entries.mirror.confirmation": "Êtes-vous sûr de vouloir répliquer les {count} Entrées suivantes ?",
"entries.mirror.label": "Réplication de {idx}/{total} Entrées...",
"entries.mirror.label": "Réplication de {idx}/{total} Entrées",
"entries.mirror.title": "Réplication des Entrées",
"entries.mirror.window_title": "Entrées Répliqués",
"entries.remove.plural.confirm": "Êtes-vous sûr de vouloir supprimer les <b>{count}</b> entrées suivantes ? Aucun fichier sur votre disque ne sera supprimée.",
"entries.remove.singular.confirm": "Êtes-vous sûr de vouloir supprimer cette entrée de votre bibliothèque ? Aucun fichier sur le disque ne sera supprimé.",
"entries.running.dialog.new_entries": "Ajout de {total} Nouvelles entrées de fichier...",
"entries.running.dialog.new_entries": "Ajout de {total} Nouvelles entrées de fichier",
"entries.running.dialog.title": "Ajout de Nouvelles entrées de fichier",
"entries.tags": "Tags",
"entries.unlinked.description": "Chaque entrée dans la bibliothèque est liée à un fichier dans l'un de vos dossiers. Si un fichier lié à une entrée est déplacé ou supprimé en dehors de TagStudio, il est alors considéré non lié. <br><br>Les entrées non liées peuvent être automatiquement reliées via la recherche dans vos dossiers, reliées manuellement par l'utilisateur, ou supprimées si désiré.",
@@ -69,7 +69,7 @@
"entries.unlinked.relink.title": "Reliage des Entrées",
"entries.unlinked.remove": "Supprimer les entrées non liées",
"entries.unlinked.remove_alt": "Supprim&er les entrées non liées",
"entries.unlinked.scanning": "Balayage de la Bibliothèque pour trouver des Entrées non Liées...",
"entries.unlinked.scanning": "Balayage de la Bibliothèque pour trouver des Entrées non Liées",
"entries.unlinked.search_and_relink": "&Rechercher && Relier",
"entries.unlinked.title": "Réparation des Entrées non Liées",
"entries.unlinked.unlinked_count": "Entrées non Liées : {count}",
@@ -161,11 +161,14 @@
"generic.skip_alt": "&Passer",
"generic.yes": "Oui",
"home.search": "Rechercher",
"home.search.how_to_exit": "(Esc pour Fermer)",
"home.search.view_limit": "Limite d'affichage :",
"home.search_entries": "Recherche",
"home.search_field_templates": "Rechercher un format de champs",
"home.search_field_templates": "Rechercher un format de champs",
"home.search_library": "Rechercher dans la Bibliothèque",
"home.search_tags": "Recherche de Tags",
"home.search_or_create_fields": "Rechercher ou Créer des Champs…",
"home.search_or_create_tags": "Rechercher ou Créer des Tags…",
"home.search_tags": "Recherche des Tags…",
"home.show_hidden_entries": "Afficher les entrées cachées",
"home.thumbnail_size": "Taille de la miniature",
"home.thumbnail_size.extra_large": "Très Grandes Miniatures",
@@ -174,8 +177,8 @@
"home.thumbnail_size.mini": "Mini Miniatures",
"home.thumbnail_size.small": "Petites Miniatures",
"ignore.open_file": "Afficher le fichier \"{ts_ignore}\" sur le Disque",
"json_migration.checking_for_parity": "Vérification de la Parité...",
"json_migration.creating_database_tables": "Création des Tables de Base de Données SQL...",
"json_migration.checking_for_parity": "Vérification de la Parité",
"json_migration.creating_database_tables": "Création des Tables de Base de Données SQL",
"json_migration.description": "<br>Démarrez et prévisualisez les résultats du processus de migration de la bibliothèque. La bibliothèque convertie ne sera utilisée <i>que</i> si vous cliquez sur \"Terminer la migration\". <br><br>Les données de la bibliothèque doivent soit avoir des valeurs correspondantes, soit comporter un label \"Matched\". Les valeurs qui ne correspondent pas seront affichées en rouge et comporteront un symbole \"<b>(!)</b>\" à côté d'elles.<br><center><i>Ce processus peut prendre jusqu'à plusieurs minutes pour les bibliothèques plus volumineuses.</i></center>",
"json_migration.discrepancies_found": "Divergences Détectées dans la Bibliothèque",
"json_migration.discrepancies_found.description": "Des divergences ont été détectées entre le format d'origine et le format converti de la bibliothèque. Veuillez les examiner et choisir de poursuivre la migration ou de l'annuler.",
@@ -232,7 +235,7 @@
"library.name": "Bibliothèque",
"library.refresh.scanning.plural": "Analyse du Répertoire pour de Nouveaux Fichiers...\n{searched_count} Fichiers Trouvées, {found_count} Nouveaux Fichiers",
"library.refresh.scanning.singular": "Analyse du Répertoire pour de Nouveaux Fichiers...\n{searched_count} Fichier Trouvé, {found_count} Nouveaux Fichiers",
"library.refresh.scanning_preparing": "Recherche de Nouveaux Fichiers dans les Dossiers...\nPréparation...",
"library.refresh.scanning_preparing": "Recherche de Nouveaux Fichiers dans les Dossiers...\nPréparation",
"library.refresh.title": "Rafraîchissement des Dossiers",
"library.scan_library.title": "Balayage de la Bibliothèque",
"library_info.cleanup": "Nettoyage",
@@ -254,7 +257,7 @@
"library_object.name_required": "Nom (Requis)",
"library_object.slug": "Identifiant unique",
"library_object.slug_required": "ID Slug (Requis)",
"macros.running.dialog.new_entries": "Exécution des Macros Configurées sur {count}/{total} Nouvelles Entrées de Fichiers...",
"macros.running.dialog.new_entries": "Exécution des Macros Configurées sur {count}/{total} Nouvelles Entrées de Fichiers",
"macros.running.dialog.title": "Exécution des Macros sur les Nouvelles Entrées",
"media_player.autoplay": "Lecture automatique",
"media_player.loop": "Lire en boucle",
@@ -284,7 +287,7 @@
"menu.macros": "&Macros",
"menu.macros.folders_to_tags": "Répertoires à Tags",
"menu.select": "Sélectionner",
"menu.settings": "Paramètres...",
"menu.settings": "Paramètres",
"menu.tools": "&Outils",
"menu.tools.fix_duplicate_files": "Réparer les entrées de &fichiers en double",
"menu.tools.fix_ignored_entries": "Corriger les entrées &Ignorer",
@@ -316,6 +319,8 @@
"settings.dateformat.international": "International",
"settings.dateformat.label": "Format de Date",
"settings.dateformat.system": "Système",
"settings.edit_field_on_add": "Modifier Après avoir Ajouté un Champ",
"settings.edit_tag_on_create": "Modifier Après avoir Créé un Nouveau Tag",
"settings.filepath.label": "Visibilités du Chemin de Fichier",
"settings.filepath.option.full": "Afficher le Chemin Complet",
"settings.filepath.option.name": "Afficher Seulement le Nom du Fichier",
@@ -355,18 +360,18 @@
"sorting.direction.ascending": "Croissant",
"sorting.direction.descending": "Décroissant",
"sorting.mode.random": "Aléatoire",
"splash.opening_library": "Ouverture de la Bibliothèque \"{library_path}\"...",
"splash.opening_library": "Ouverture de la Bibliothèque \"{library_path}\"",
"status.deleted_file_plural": "Suppression de {count} fichiers!",
"status.deleted_file_singular": "Suppression de 1 fichier!",
"status.deleted_none": "Aucun fichiers supprimer.",
"status.deleted_partial_warning": "Seulement {count} fichier(s) on été supprimé! Vérifier si les fichiers restant ne serais pas manquant ou en cours d'utilisation.",
"status.deleting_file": "Suppression de fichier(s) [{i}/{count}]: \"{path}\"...",
"status.library_backup_in_progress": "Création d'une Sauvegarde de la Bibliothèque...",
"status.deleting_file": "Suppression de fichier(s) [{i}/{count}]: \"{path}\"",
"status.library_backup_in_progress": "Création d'une Sauvegarde de la Bibliothèque",
"status.library_backup_success": "Bibliothèque sauvegardée au chemin: \"{path}\" ({time_span})",
"status.library_closed": "Bibliothèque fermée ({time_span})",
"status.library_closing": "Fermeture de la Bibliothèque...",
"status.library_closing": "Fermeture de la Bibliothèque",
"status.library_save_success": "Bibliothèque Sauvegardée et Fermée!",
"status.library_search_query": "Rechercher dans la Bibliothèque...",
"status.library_search_query": "Rechercher dans la Bibliothèque",
"status.library_version_expected": "Exceptée:",
"status.library_version_found": "Trouvée:",
"status.library_version_mismatch": "La version de la library ne correspond pas!",
+3 -1
View File
@@ -3,6 +3,7 @@
"about.config_path": "Konfigurációs fájl",
"about.description": "A TagStudio egy fénykép- és fájlkezelő program, mely címkék segítségével nyújt felhasználói szabadságot és rugalmasságot. A TagStudio nem használ jogvédett formátumokat, társfájlokat és nem fordítja a feje tetejére a már létező fájlrendszert.",
"about.documentation": "Dokumentáció",
"about.library_version": "Könyvtárformátum",
"about.module.found": "Telepítve",
"about.modules.title": "Nemkötelező modulok",
"about.title": "A TagStudio névjegye",
@@ -161,7 +162,7 @@
"generic.skip_alt": "&Kihagyás",
"generic.yes": "Igen",
"home.search": "Keresés",
"home.search.how_to_exit": "(Kilépés az Esc billentyűvel)",
"home.search.how_to_exit": "(Kilépés az Enter billentyűvel)",
"home.search.view_limit": "Megtekintési korlát:",
"home.search_entries": "Tételek keresése",
"home.search_field_templates": "Keresés a mezőminták között…",
@@ -329,6 +330,7 @@
"settings.global": "Globális beállítások",
"settings.hourformat.label": "24-órás idő",
"settings.infinite_scroll": "Végtelen görgetés",
"settings.keep_suggest_boxes_open": "Keresőmezők nyitva tartása elemek létrehozása után",
"settings.language": "&Nyelv",
"settings.library": "Könyvtárbeállítások",
"settings.localization": "Nyelv és formátumok",
+20 -1
View File
@@ -1,9 +1,13 @@
{
"about.app_cache_path": "Applicatie Cache Pad",
"about.config_path": "Configuratie Pad",
"about.description": "TagStudio is een applicatie om foto's en bestanden te organiseren, met een onderliggend systeem gebaseerd op tags, dat zich focust op vrijheid en flexibiliteit bieden aan de gebruiker. Geen gepatenteerde programma's of bestandsformaten, geen zeëen aan sidecarbestanden, en je bestaande bestandsstructuur wordt niet volledig overhoop gegooid.",
"about.documentation": "Documentatie",
"about.module.found": "Gevonden",
"about.modules.title": "Optionele Modules",
"about.title": "Over TagSudio",
"about.version": "Versie",
"about.version.latest": "{built_version} (Laatste Uitgave: {latest_version})",
"about.website": "Website",
"app.git": "Git Commit",
"app.pre_release": "Pre-Release",
@@ -43,6 +47,7 @@
"field.mixed_data": "Gemixte Data",
"field.paste": "Veld Plakken",
"field.remove": "Veld Weghalen",
"field_type.text": "Text",
"file.date_added": "Datum Toegevoegd",
"file.date_created": "Datum Aangemaakt",
"file.date_modified": "Datum Aangepast",
@@ -80,14 +85,16 @@
"generic.save": "Opslaan",
"generic.skip": "Overslaan",
"generic.skip_alt": "&Overslaan",
"generic.yes": "Ja",
"home.search": "Zoeken",
"home.search_tags": "Labels Zoeken",
"home.search_tags": "Labels Zoeken",
"home.thumbnail_size": "Miniatuur Grootte",
"home.thumbnail_size.extra_large": "Extra Grote Miniaturen",
"home.thumbnail_size.large": "Grote Miniaturen",
"home.thumbnail_size.medium": "Gemiddelde Minituren",
"home.thumbnail_size.mini": "Mini Miniaturen",
"home.thumbnail_size.small": "Kleine Miniaturen",
"json_migration.creating_database_tables": "SQL databasetabellen worden aangemaakt…",
"json_migration.finish_migration": "Migratie Afronden",
"json_migration.heading.aliases": "Aliassen:",
"json_migration.heading.colors": "Kleuren:",
@@ -96,9 +103,16 @@
"json_migration.heading.shorthands": "Afkortingen:",
"json_migration.migration_complete": "Migratie Afgerond!",
"json_migration.title": "Migratie Formaat Opslaan: \"{path}\"",
"library.refresh.scanning.plural": "Mappen scannen voor nieuwe bestanden...\n{searched_count} bestanden doorgezocht, {found_count} nieuwe bestanden gevonden",
"library.refresh.scanning_preparing": "Mappen scannen voor nieuwe bestanden...\nVoorbereiden...",
"library.refresh.title": "Mappen Verversen",
"library_info.stats": "Statistieken",
"library_info.stats.fields": "Velden:",
"library_info.stats.macros": "Macros:",
"library_info.stats.tags": "Labels:",
"library_object.name": "Naam",
"library_object.name_required": "Naam (vereist)",
"media_player.loop": "Herhalen",
"menu.delete_selected_files_ambiguous": "Bestand(en) verplaatsen naar {trash_term}",
"menu.delete_selected_files_plural": "Bestanden verplaatsen naar {trash_term}",
"menu.delete_selected_files_singular": "Bestand verplaatsen naar {trash_term}",
@@ -107,10 +121,15 @@
"menu.edit.manage_tags": "Labels Beheren",
"menu.edit.new_tag": "Nieuw &Label",
"menu.file": "&Bestand",
"menu.file.missing_library.title": "Missende bibliotheek",
"menu.help": "&Help",
"menu.help.about": "Over",
"menu.macros": "&Macros",
"menu.macros.folders_to_tags": "Mappen naar Labels",
"menu.select": "Selecteren",
"menu.settings": "Instellingen…",
"menu.window": "Venster",
"preview.ignored": "Genegeerd",
"select.all": "Alles Selecteren",
"select.inverse": "Selectie omkeren",
"sorting.direction.ascending": "Oplopend",