Compare commits

..

14 Commits

Author SHA1 Message Date
Hosted Weblate
29db19c038 Translated using Weblate (Toki Pona)
Currently translated at 94.4% (342 of 362 strings)

Co-authored-by: Bee Crankson <ProfB.crankson@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/tok/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
ef61add296 Translated using Weblate (Cebuano)
Currently translated at 30.3% (109 of 359 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: StartsMercury <startsmercury@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ceb/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
e1234be8ac Translated using Weblate (French)
Currently translated at 100.0% (362 of 362 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/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
39d36f23ee Translated using Weblate (Spanish)
Currently translated at 100.0% (362 of 362 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (359 of 359 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Julen Arratibel Etxabe <jarratibeletxabe@gmail.com>
Co-authored-by: r40s-0 <andre.orenday@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/es/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
733e5a881e Translated using Weblate (Dutch)
Currently translated at 35.9% (130 of 362 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Typfout <timo.pollarini@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/nl/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
db8958a64e Translated using Weblate (Italian)
Currently translated at 100.0% (362 of 362 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (359 of 359 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Omni <omnipresentw@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/it/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
1ee01f5f78 Translated using Weblate (Hungarian)
Currently translated at 100.0% (362 of 362 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/hu/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
e4a23f6b5e Translated using Weblate (Icelandic)
Currently translated at 11.0% (40 of 362 strings)

Added translation using Weblate (Icelandic)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristinn Snær <mortallighting@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/is/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
e95b4104bb Translated using Weblate (Japanese)
Currently translated at 100.0% (362 of 362 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: wany-oh <wany-oh@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ja/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
91af6260e0 Translated using Weblate (Greek)
Currently translated at 44.7% (162 of 362 strings)

Translated using Weblate (Greek)

Currently translated at 44.7% (162 of 362 strings)

Translated using Weblate (Greek)

Currently translated at 27.0% (98 of 362 strings)

Added translation using Weblate (Greek)

Co-authored-by: Gvol <gvol@ncshosting.org>
Co-authored-by: Gvol <gvol@nexusystems.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/el/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
15fa23e391 Translated using Weblate (Portuguese (Brazil))
Currently translated at 87.2% (316 of 362 strings)

Co-authored-by: Asmodeus <colligare1Asmodeum@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/pt_BR/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
4592525cb4 Translated using Weblate (Tamil)
Currently translated at 100.0% (362 of 362 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: தமிழ்நேரம் <tamilneram247@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ta/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
Hosted Weblate
c26934f258 Translated using Weblate (Thai)
Currently translated at 1.6% (6 of 362 strings)

Added translation using Weblate (Thai)

Co-authored-by: Anucha Hlownonkor <tony.chompoo@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/th/
Translation: TagStudio/Strings
2026-01-18 23:57:40 +01:00
TheBobBobs
dd01c7cdcd fix: when deleting tag remove all TagParent rows with it's id (#1250)
* fix: when deleting tag remove all TagParent rows with it's id

* delete TagEntry rows as well
2026-01-18 14:53:40 -08:00
2 changed files with 13 additions and 19 deletions

View File

@@ -1170,35 +1170,29 @@ class Library:
session.commit()
return True
def remove_tag(self, tag_id: int):
def remove_tag(self, tag_id: int) -> bool:
with Session(self.engine, expire_on_commit=False) as session:
try:
aliases = session.scalars(select(TagAlias).where(TagAlias.tag_id == tag_id))
for alias in aliases:
session.delete(alias)
session.flush()
tag_parents = session.scalars(
select(TagParent).where(TagParent.parent_id == tag_id)
).all()
for tag_parent in tag_parents:
session.delete(tag_parent)
session.flush()
disam_stmt = (
session.execute(delete(TagAlias).where(TagAlias.tag_id == tag_id))
session.execute(delete(TagEntry).where(TagEntry.tag_id == tag_id))
session.execute(
delete(TagParent).where(
or_(TagParent.child_id == tag_id, TagParent.parent_id == tag_id)
)
)
session.execute(
update(Tag)
.where(Tag.disambiguation_id == tag_id)
.values(disambiguation_id=None)
)
session.execute(disam_stmt)
session.flush()
session.query(Tag).filter_by(id=tag_id).delete()
session.execute(delete(Tag).where(Tag.id == tag_id))
session.commit()
except IntegrityError as e:
logger.error(e)
session.rollback()
return False
return True
def update_field_position(
self,

View File

@@ -28,7 +28,7 @@
"drop_import.duplicates_choice.plural": "Τα παρακάτω αρχεία {count} ταιριάζουν μονοπάτια αρχείων που υπάρχουν ήδη στη βιβλιοθήκη.",
"drop_import.duplicates_choice.singular": "Το παρακάτω αρχείο ταιριάζει με ένα μονοπάτι αρχείου που υπάρχει ήδη στη βιβλιοθήκη.",
"drop_import.progress.label.initial": "Εισαγωγή νέων αρχείων...",
"drop_import.progress.label.plural": "Εισαγωγή νέων αρχείων...\n{count} Αρχεία Εισήχθησαν.{Suffix}",
"drop_import.progress.label.plural": "Εισαγωγή νέων αρχείων...\n{count} Αρχεία Εισήχθησαν.{suffix}",
"drop_import.progress.label.singular": "Εισαγωγή νέων αρχείων...\n1 Αρχείο εισήχθη.{suffix}",
"drop_import.progress.window_title": "Εισαγωγή αρχείων",
"drop_import.title": "Αντικρουόμενα αρχεία(s)",