From b0047b206592819f6bf0561ed40a62055fc53fb9 Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Mon, 10 Mar 2025 19:02:34 -0700 Subject: [PATCH] refactor: split translation keys for about screen (#845) * fix(translations): remove errant `` tag * refactor: split translation keys for about screen * ui: change form field style * fix: split new translation keys * fix: remove unused key * translations: re-split toki pona "about.content" --- src/tagstudio/qt/modals/about.py | 157 ++++++++++++++---- src/tagstudio/resources/translations/de.json | 6 +- src/tagstudio/resources/translations/en.json | 13 +- src/tagstudio/resources/translations/es.json | 6 +- src/tagstudio/resources/translations/fil.json | 6 +- src/tagstudio/resources/translations/fr.json | 4 +- src/tagstudio/resources/translations/hu.json | 8 +- src/tagstudio/resources/translations/pl.json | 3 +- .../resources/translations/pt_BR.json | 8 +- src/tagstudio/resources/translations/ru.json | 6 +- src/tagstudio/resources/translations/ta.json | 5 +- src/tagstudio/resources/translations/tok.json | 5 +- src/tagstudio/resources/translations/tr.json | 6 +- .../resources/translations/zh_Hant.json | 1 - 14 files changed, 169 insertions(+), 65 deletions(-) diff --git a/src/tagstudio/qt/modals/about.py b/src/tagstudio/qt/modals/about.py index cb0a9d86..adea1870 100644 --- a/src/tagstudio/qt/modals/about.py +++ b/src/tagstudio/qt/modals/about.py @@ -3,12 +3,23 @@ # Created for TagStudio: https://github.com/CyanVoxel/TagStudio +import math + from PIL import ImageQt from PySide6.QtCore import Qt -from PySide6.QtGui import QPixmap -from PySide6.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout, QWidget +from PySide6.QtGui import QGuiApplication, QPixmap +from PySide6.QtWidgets import ( + QFormLayout, + QHBoxLayout, + QLabel, + QPushButton, + QSizePolicy, + QVBoxLayout, + QWidget, +) from tagstudio.core.constants import VERSION, VERSION_BRANCH +from tagstudio.core.enums import Theme from tagstudio.core.palette import ColorType, UiColor, get_ui_color from tagstudio.qt.modals.ffmpeg_checker import FfmpegChecker from tagstudio.qt.resource_manager import ResourceManager @@ -23,60 +34,134 @@ class AboutModal(QWidget): self.fc: FfmpegChecker = FfmpegChecker() self.rm: ResourceManager = ResourceManager() - self.setWindowModality(Qt.WindowModality.ApplicationModal) - self.setMinimumSize(360, 480) - self.root_layout = QVBoxLayout(self) - self.root_layout.setContentsMargins(24, 24, 24, 6) - self.root_layout.setSpacing(12) - self.root_layout.setAlignment(Qt.AlignmentFlag.AlignTop) + # TODO: There should be a global button theme somewhere. + self.form_content_style = ( + f"background-color:{Theme.COLOR_BG.value + if QGuiApplication.styleHints().colorScheme() is Qt.ColorScheme.Dark + else Theme.COLOR_BG_LIGHT.value};" + "border-radius:3px;" + "font-weight: 500;" + "padding: 2px;" + ) + self.setWindowModality(Qt.WindowModality.ApplicationModal) + self.setMinimumSize(360, 540) + self.setMaximumSize(600, 600) + self.root_layout = QVBoxLayout(self) + self.root_layout.setContentsMargins(0, 12, 0, 0) + self.root_layout.setSpacing(0) + self.root_layout.setAlignment(Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignCenter) + + self.content_widget = QWidget() + self.content_layout = QVBoxLayout(self.content_widget) + self.content_layout.setContentsMargins(12, 12, 12, 12) + self.content_layout.setSpacing(12) + + # TagStudio Icon Logo -------------------------------------------------- self.logo_widget = QLabel() - self.logo_widget.setObjectName("logo") self.logo_pixmap = QPixmap.fromImage(ImageQt.ImageQt(self.rm.get("icon"))) + self.logo_pixmap.setDevicePixelRatio(self.devicePixelRatio()) self.logo_pixmap = self.logo_pixmap.scaledToWidth( - 128, Qt.TransformationMode.SmoothTransformation + math.floor(128 * self.devicePixelRatio()), Qt.TransformationMode.SmoothTransformation ) self.logo_widget.setPixmap(self.logo_pixmap) - self.logo_widget.setAlignment(Qt.AlignmentFlag.AlignHCenter) - self.logo_widget.setContentsMargins(0, 0, 0, 24) + self.logo_widget.setContentsMargins(0, 0, 0, 0) + self.logo_widget.setAlignment(Qt.AlignmentFlag.AlignCenter) + # Title ---------------------------------------------------------------- + branch: str = (" (" + VERSION_BRANCH + ")") if VERSION_BRANCH else "" + self.title_label = QLabel(f"

TagStudio Alpha {VERSION}{branch}

") + self.title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + + # Description ---------------------------------------------------------- + self.desc_label = QLabel(Translations["about.description"]) + self.desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.desc_label.setWordWrap(True) + self.desc_label.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + + # System Info ---------------------------------------------------------- ff_version = self.fc.version() red = get_ui_color(ColorType.PRIMARY, UiColor.RED) green = get_ui_color(ColorType.PRIMARY, UiColor.GREEN) + missing = Translations["generic.missing"] + found = Translations["about.module.found"] - ffmpeg = f'Missing' + ffmpeg_status = f'{missing}' if ff_version["ffmpeg"] is not None: - ffmpeg = f'Found (' + ff_version["ffmpeg"] + ")" - - ffprobe = f'Missing' - if ff_version["ffprobe"] is not None: - ffprobe = f'Found (' + ff_version["ffprobe"] + ")" - - branch: str = (" (" + VERSION_BRANCH + ")") if VERSION_BRANCH else "" - self.title_label = QLabel(f"

TagStudio Alpha {VERSION}{branch}

") - self.title_label.setAlignment(Qt.AlignmentFlag.AlignHCenter) - - self.content_label = QLabel( - Translations.format( - "about.content", config_path=config_path, ffmpeg=ffmpeg, ffprobe=ffprobe + ffmpeg_status = ( + f'{found} (' + ff_version["ffmpeg"] + ")" ) - ) - self.content_label.setObjectName("contentLabel") - self.content_label.setWordWrap(True) - self.content_label.setOpenExternalLinks(True) - self.content_label.setAlignment(Qt.AlignmentFlag.AlignHCenter) + ffprobe_status = f'{missing}' + if ff_version["ffprobe"] is not None: + ffprobe_status = ( + f'{found} (' + ff_version["ffprobe"] + ")" + ) + + self.system_info_widget = QWidget() + self.system_info_layout = QFormLayout(self.system_info_widget) + self.system_info_layout.setLabelAlignment(Qt.AlignmentFlag.AlignRight) + + # License + license_title = QLabel(f'{Translations["about.license"]}') + license_content = QLabel("GPLv3") + license_content.setStyleSheet(self.form_content_style) + license_content.setMaximumWidth(license_content.sizeHint().width()) + self.system_info_layout.addRow(license_title, license_content) + + # Config Path + config_path_title = QLabel(f'{Translations["about.config_path"]}') + config_path_content = QLabel(f"{config_path}") + config_path_content.setStyleSheet(self.form_content_style) + config_path_content.setWordWrap(True) + self.system_info_layout.addRow(config_path_title, config_path_content) + + # FFmpeg Status + ffmpeg_path_title = QLabel("FFmpeg") + ffmpeg_path_content = QLabel(f"{ffmpeg_status}") + ffmpeg_path_content.setStyleSheet(self.form_content_style) + ffmpeg_path_content.setMaximumWidth(ffmpeg_path_content.sizeHint().width()) + self.system_info_layout.addRow(ffmpeg_path_title, ffmpeg_path_content) + + # FFprobe Status + ffprobe_path_title = QLabel("FFprobe") + ffprobe_path_content = QLabel(f"{ffprobe_status}") + ffprobe_path_content.setStyleSheet(self.form_content_style) + ffprobe_path_content.setMaximumWidth(ffprobe_path_content.sizeHint().width()) + self.system_info_layout.addRow(ffprobe_path_title, ffprobe_path_content) + + # Links ---------------------------------------------------------------- + repo_link = "https://github.com/TagStudioDev/TagStudio" + docs_link = "https://docs.tagstud.io" + discord_link = "https://discord.com/invite/hRNnVKhF2G" + + self.links_label = QLabel( + f'

GitHub | ' + f'{Translations["about.documentation"]} | ' + f'Discord

' + ) + self.links_label.setWordWrap(True) + self.links_label.setOpenExternalLinks(True) + self.links_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + + # Buttons -------------------------------------------------------------- self.button_widget = QWidget() self.button_layout = QHBoxLayout(self.button_widget) + self.button_layout.setContentsMargins(12, 12, 12, 12) self.button_layout.addStretch(1) self.close_button = QPushButton(Translations["generic.close"]) self.close_button.clicked.connect(lambda: self.close()) - self.button_layout.addWidget(self.close_button) - self.root_layout.addWidget(self.logo_widget) - self.root_layout.addWidget(self.title_label) - self.root_layout.addWidget(self.content_label) - self.root_layout.addStretch(1) + # Add Widgets to Layouts ----------------------------------------------- + self.content_layout.addWidget(self.logo_widget) + self.content_layout.addWidget(self.title_label) + self.content_layout.addWidget(self.desc_label) + self.content_layout.addWidget(self.system_info_widget) + self.content_layout.addWidget(self.links_label) + self.content_layout.addStretch(1) + self.content_layout.setAlignment(Qt.AlignmentFlag.AlignCenter) + + self.root_layout.addWidget(self.content_widget) self.root_layout.addWidget(self.button_widget) diff --git a/src/tagstudio/resources/translations/de.json b/src/tagstudio/resources/translations/de.json index 72ed7eef..44b96a5c 100644 --- a/src/tagstudio/resources/translations/de.json +++ b/src/tagstudio/resources/translations/de.json @@ -1,5 +1,8 @@ { - "about.content": "

TagStudio ist eine Anwendung zum organisieren von Fotos & Dateien mit einem zugrunde liegendem Tag-basierten System, welches sich darauf konzentriert, dem Nutzer Freiraum und Flexibilität zu bieten. Keine proprietären Programme oder Formate, kein Meer an Hilfsdateien und keine komplette Umwälzung deiner Dateisystemstruktur.

Lizenz: GPLv3
Konfigurations-Pfad: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | Dokumentation | Discord

", + "about.config_path": "Konfigurations-Pfad", + "about.description": "TagStudio ist eine Anwendung zum organisieren von Fotos & Dateien mit einem zugrunde liegendem Tag-basierten System, welches sich darauf konzentriert, dem Nutzer Freiraum und Flexibilität zu bieten. Keine proprietären Programme oder Formate, kein Meer an Hilfsdateien und keine komplette Umwälzung deiner Dateisystemstruktur.", + "about.documentation": "Dokumentation", + "about.license": "Lizenz", "about.title": "Über TagStudio", "app.git": "Git Commit", "app.pre_release": "Pre-Release", @@ -116,7 +119,6 @@ "generic.save": "Speichern", "generic.skip": "Überspringen", "generic.skip_alt": "Über&springen", - "help.visit_github": "GitHub Repository besuchen", "home.search": "Suchen", "home.search_entries": "Nach Einträgen suchen", "home.search_library": "Bibliothek durchsuchen", diff --git a/src/tagstudio/resources/translations/en.json b/src/tagstudio/resources/translations/en.json index d1dc2caa..ece683ad 100644 --- a/src/tagstudio/resources/translations/en.json +++ b/src/tagstudio/resources/translations/en.json @@ -1,4 +1,11 @@ { + "about.config_path": "Config Path", + "about.description": "TagStudio is a photo & file organization application with an underlying tag-based system that focuses on giving freedom and flexibility to the user. No proprietary programs or formats, no sea of sidecar files, and no complete upheaval of your filesystem structure.", + "about.documentation": "Documentation", + "about.license": "License", + "about.module.found": "Found", + "about.title": "About TagStudio", + "about.website": "Website", "app.git": "Git Commit", "app.pre_release": "Pre-Release", "app.title": "{base_title} - Library '{library_dir}'", @@ -83,8 +90,6 @@ "folders_to_tags.description": "Creates tags based on your folder structure and applies them to your entries.\n The structure below shows all the tags that will be created and what entries they will be applied to.", "folders_to_tags.open_all": "Open All", "folders_to_tags.title": "Create Tags From Folders", - "about.title": "About TagStudio", - "about.content": "

TagStudio is a photo & file organization application with an underlying tag-based system that focuses on giving freedom and flexibility to the user. No proprietary programs or formats, no sea of sidecar files, and no complete upheaval of your filesystem structure.

License: GPLv3
Config path: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | Documentation | Discord

", "generic.add": "Add", "generic.apply_alt": "&Apply", "generic.apply": "Apply", @@ -101,6 +106,7 @@ "generic.edit_alt": "&Edit", "generic.edit": "Edit", "generic.filename": "Filename", + "generic.missing": "Missing", "generic.navigation.back": "Back", "generic.navigation.next": "Next", "generic.none": "None", @@ -114,7 +120,6 @@ "generic.save": "Save", "generic.skip_alt": "&Skip", "generic.skip": "Skip", - "help.visit_github": "Visit GitHub Repository", "home.search_entries": "Search Entries", "home.search_library": "Search Library", "home.search_tags": "Search Tags", @@ -275,7 +280,7 @@ "trash.dialog.disambiguation_warning.singular": "This will remove it from TagStudio AND your file system!", "trash.dialog.move.confirmation.plural": "Are you sure you want to move these {count} files to the {trash_term}?", "trash.dialog.move.confirmation.singular": "Are you sure you want to move this file to the {trash_term}?", - "trash.dialog.permanent_delete_warning": "WARNING! If this file can't be moved to the {trash_term}, it will be permanently deleted!", + "trash.dialog.permanent_delete_warning": "WARNING! If this file can't be moved to the {trash_term}, it will be permanently deleted!", "trash.dialog.title.plural": "Delete Files", "trash.dialog.title.singular": "Delete File", "trash.name.generic": "Trash", diff --git a/src/tagstudio/resources/translations/es.json b/src/tagstudio/resources/translations/es.json index 5680d89d..69f43d57 100644 --- a/src/tagstudio/resources/translations/es.json +++ b/src/tagstudio/resources/translations/es.json @@ -1,5 +1,8 @@ { - "about.content": "

TagStudio es una aplicación de fotografías y archivos con un sistema de etiquetas subyacentes que se centra en dar libertad y flexibilidad al usuario. Sin programas ni formatos propios, ni un mar de archivos y sin trastornar completamente tu sistema de estructurar los archivos.

. Licencia: GPLv3
Archivo de configuración: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | Documentación | Discord

", + "about.config_path": "Archivo de configuración", + "about.description": "TagStudio es una aplicación de fotografías y archivos con un sistema de etiquetas subyacentes que se centra en dar libertad y flexibilidad al usuario. Sin programas ni formatos propios, ni un mar de archivos y sin trastornar completamente tu sistema de estructurar los archivos.", + "about.documentation": "Documentación", + "about.license": "Licencia", "about.title": "Acerca de", "app.git": "Git Commit", "app.pre_release": "Previas al lanzamiento", @@ -116,7 +119,6 @@ "generic.save": "Guardar", "generic.skip": "Saltear", "generic.skip_alt": "&Saltear", - "help.visit_github": "Visitar el repositorio en GitHub", "home.search": "Buscar", "home.search_entries": "Buscar entradas", "home.search_library": "Buscar el biblioteca", diff --git a/src/tagstudio/resources/translations/fil.json b/src/tagstudio/resources/translations/fil.json index 1fd4ccae..614f394e 100644 --- a/src/tagstudio/resources/translations/fil.json +++ b/src/tagstudio/resources/translations/fil.json @@ -1,5 +1,8 @@ { - "about.content": "

Ang TagStudio ay isang application ng pagsasaayos ng file at larawan na may pinagbabatayan na tag-based na sistema na nakatutok sa pagbibigay ng kalayaan at kakayahang umangkop sa user. Walang mga proprietary na format o program, walang dagat ng mga sidecar file, at walang kaguluhan ng iyong estruktura ng filesystem.

Lisensya: GPLv3
Path ng config: {config_path}
FFMpeg: {ffmpeg}
FFProbe: {ffprobe}

GitHub | Dokumentasyon | Discord

", + "about.config_path": "Path ng Config", + "about.description": "Ang TagStudio ay isang application ng pagsasaayos ng file at larawan na may pinagbabatayan na tag-based na sistema na nakatutok sa pagbibigay ng kalayaan at kakayahang umangkop sa user. Walang mga proprietary na format o program, walang dagat ng mga sidecar file, at walang kaguluhan ng iyong estruktura ng filesystem.", + "about.documentation": "Dokumentasyon", + "about.license": "Lisensya", "about.title": "Tungkol sa TagStudio", "app.git": "Git Commit", "app.pre_release": "Pre-Release", @@ -114,7 +117,6 @@ "generic.save": "I-save", "generic.skip": "Laktawan", "generic.skip_alt": "&Laktawan", - "help.visit_github": "Bisitahin ang GitHub Repository", "home.search": "Maghanap", "home.search_entries": "Mga Entry sa Paghahanap", "home.search_library": "Maghanap sa Library", diff --git a/src/tagstudio/resources/translations/fr.json b/src/tagstudio/resources/translations/fr.json index 512df990..bf674385 100644 --- a/src/tagstudio/resources/translations/fr.json +++ b/src/tagstudio/resources/translations/fr.json @@ -1,5 +1,6 @@ { - "about.content": "

TagStudio est une application d'organisation de photos et de fichiers avec un système de tags qui mets en avant la liberté et flexibilité à l'utilisateur. Pas de programmes ou de formats propriétaires, pas la moindre trace de fichiers secondaires, et pas de bouleversement complet de la structure de votre système de fichiers.

License: GPLv3
Chemin de configuration: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | Documentation | Discord

", + "about.config_path": "Chemin de Configuration", + "about.description": "TagStudio est une application d'organisation de photos et de fichiers avec un système de tags qui mets en avant la liberté et flexibilité à l'utilisateur. Pas de programmes ou de formats propriétaires, pas la moindre trace de fichiers secondaires, et pas de bouleversement complet de la structure de votre système de fichiers.", "about.title": "À propos de TagStudio", "app.git": "Git Commit", "app.pre_release": "Version Préliminaire", @@ -116,7 +117,6 @@ "generic.save": "Sauvegarder", "generic.skip": "Passer", "generic.skip_alt": "&Passer", - "help.visit_github": "Visiter le Dépôt GitHub", "home.search": "Rechercher", "home.search_entries": "Recherche", "home.search_library": "Rechercher dans la Bibliothèque", diff --git a/src/tagstudio/resources/translations/hu.json b/src/tagstudio/resources/translations/hu.json index ee6b803b..b812368f 100644 --- a/src/tagstudio/resources/translations/hu.json +++ b/src/tagstudio/resources/translations/hu.json @@ -1,5 +1,8 @@ { - "about.content": "

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.

Licenc: GPLv3
Konfigurációs fájl: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub-adattár | Dokumentáció | Discord-szerver

", + "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.license": "Licenc", "about.title": "A TagStudio névjegye", "app.git": "Git-véglegesítés", "app.pre_release": "Kísérleti verzió", @@ -116,7 +119,6 @@ "generic.save": "Mentés", "generic.skip": "Kihagyás", "generic.skip_alt": "&Kihagyás", - "help.visit_github": "&GitHub-adattár megnyitása", "home.search": "Keresés", "home.search_entries": "Tételek keresése", "home.search_library": "Keresés a könyvtárban", @@ -275,7 +277,7 @@ "trash.dialog.disambiguation_warning.singular": "Ezzel a fájl nem csak a TagStudióból, hanem a fájlrendszerből is el lesz távolítva!", "trash.dialog.move.confirmation.plural": "Biztosan a {trash_term} akarod helyezni ezt a(z) {count} elemet?", "trash.dialog.move.confirmation.singular": "Biztosan a {trash_term} akarod helyezni ezt az elemet?", - "trash.dialog.permanent_delete_warning": "FIGYELMEZTETÉS: Ha a fájlt nem lehet a {trash_term} helyezni, akkor véglegesen törlésre kerül!", + "trash.dialog.permanent_delete_warning": "FIGYELMEZTETÉS: Ha a fájlt nem lehet a {trash_term} helyezni, akkor véglegesen törlésre kerül!", "trash.dialog.title.plural": "Fájlok törlése", "trash.dialog.title.singular": "Fájl törlése", "trash.name.generic": "kukába", diff --git a/src/tagstudio/resources/translations/pl.json b/src/tagstudio/resources/translations/pl.json index 6f6ca2fb..05261b5a 100644 --- a/src/tagstudio/resources/translations/pl.json +++ b/src/tagstudio/resources/translations/pl.json @@ -115,7 +115,6 @@ "generic.save": "Zapisz", "generic.skip": "Pomiń", "generic.skip_alt": "&Pomiń", - "help.visit_github": "Odwiedź repozytorium GitHub", "home.search": "Szukaj", "home.search_entries": "Przeszukaj wpisy", "home.search_library": "Przeszukaj bibliotekę", @@ -268,7 +267,7 @@ "trash.dialog.disambiguation_warning.singular": "To usunie go z TagStudio ORAZ z twojego systemu plików!", "trash.dialog.move.confirmation.plural": "Czy na pewno chcesz przenieść te {count} plików do {trash_term}?", "trash.dialog.move.confirmation.singular": "Czy na pewno chcesz przenieść ten plik do {trash_term}?", - "trash.dialog.permanent_delete_warning": "WARNING! Jeśli ten plik nie może być przeniesiony do {trash_term}, Zostanie usunięty na stałe!", + "trash.dialog.permanent_delete_warning": "WARNING! Jeśli ten plik nie może być przeniesiony do {trash_term}, Zostanie usunięty na stałe!", "trash.dialog.title.plural": "Usuń pliki", "trash.dialog.title.singular": "Usuń plik", "trash.name.generic": "Kosz", diff --git a/src/tagstudio/resources/translations/pt_BR.json b/src/tagstudio/resources/translations/pt_BR.json index 84889507..7daf6a0c 100644 --- a/src/tagstudio/resources/translations/pt_BR.json +++ b/src/tagstudio/resources/translations/pt_BR.json @@ -1,5 +1,8 @@ { - "about.content": "

TagStudio é uma aplicação de organização de fotos e arquivos com um sistema de tags que tem como foco conceder liberdade e flexibilidade ao usuário. Sem programas ou formatos proprietários, sem imensidão de arquivos Sidecar, e sem total transtorno de sua estrutura de sistema de arquivos.

Licença: GPLv3
Diretório de Configuração: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | Documentação | Discord

", + "about.config_path": "Diretório de Configuração", + "about.description": "TagStudio é uma aplicação de organização de fotos e arquivos com um sistema de tags que tem como foco conceder liberdade e flexibilidade ao usuário. Sem programas ou formatos proprietários, sem imensidão de arquivos Sidecar, e sem total transtorno de sua estrutura de sistema de arquivos.", + "about.documentation": "Documentação", + "about.license": "Licença", "about.title": "Sobre", "app.git": "Confirmação do Git", "app.pre_release": "Pré-Lançamento", @@ -116,7 +119,6 @@ "generic.save": "Salvar", "generic.skip": "Pular", "generic.skip_alt": "&Pular", - "help.visit_github": "Visite o Repositório no GitHub", "home.search": "Buscar", "home.search_entries": "Buscar Registros", "home.search_library": "Buscar na Biblioteca", @@ -249,7 +251,7 @@ "trash.context.singular": "Mover arquivo para {trash_term}", "trash.dialog.move.confirmation.plural": "Tem certeza que quer remover esses {count} arquivos para o {trash_term}?", "trash.dialog.move.confirmation.singular": "Tem certeza que quer mover esse arquivo para o {trash_term}?", - "trash.dialog.permanent_delete_warning": "AVISO! Se esse arquivo não puder ser movido para o {trash_term}, ele será apagado permanentemente!", + "trash.dialog.permanent_delete_warning": "AVISO! Se esse arquivo não puder ser movido para o {trash_term}, ele será apagado permanentemente!", "trash.dialog.title.plural": "Apagar Arquivos", "trash.dialog.title.singular": "Apagar Arquivo", "trash.name.windows": "Lixeira", diff --git a/src/tagstudio/resources/translations/ru.json b/src/tagstudio/resources/translations/ru.json index d384f33e..11154dcf 100644 --- a/src/tagstudio/resources/translations/ru.json +++ b/src/tagstudio/resources/translations/ru.json @@ -1,5 +1,8 @@ { - "about.content": "

TagStudio — это приложение для организации фотографий и прочих файлов основанное на системе \"тегов\", которое фокусируется на пользовательских свободе и гибкости. Никаких проприетарных форматов и программ, никакой кучи сопроводительных файлов, и никакого переворота вашей файловой системы.

Лицензия: GPLv3
Путь к конфигурации: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | Документация | Discord

", + "about.config_path": "Путь к конфигурации", + "about.description": "TagStudio — это приложение для организации фотографий и прочих файлов основанное на системе \"тегов\", которое фокусируется на пользовательских свободе и гибкости. Никаких проприетарных форматов и программ, никакой кучи сопроводительных файлов, и никакого переворота вашей файловой системы.", + "about.documentation": "Документация", + "about.license": "Лицензия", "about.title": "О программе TagStudio", "app.git": "Коммит Git", "app.pre_release": "Пре-релиз", @@ -116,7 +119,6 @@ "generic.save": "Сохранить", "generic.skip": "Пропустить", "generic.skip_alt": "&Пропустить", - "help.visit_github": "Посетить GitHub-репозиторий", "home.search": "Поиск", "home.search_entries": "Поиск записей", "home.search_library": "Поиск по библиотеке", diff --git a/src/tagstudio/resources/translations/ta.json b/src/tagstudio/resources/translations/ta.json index 8f2817be..90599395 100644 --- a/src/tagstudio/resources/translations/ta.json +++ b/src/tagstudio/resources/translations/ta.json @@ -1,5 +1,7 @@ { - "about.content": "

டேக்ச்டுடியோ என்பது ஒரு புகைப்படம் மற்றும் கோப்பு அமைப்பு பயன்பாடாகும், இது பயனருக்கு விடுதலை மற்றும் நெகிழ்வுத்தன்மையை வழங்குவதில் கவனம் செலுத்துகிறது. தனியுரிம திட்டங்கள் அல்லது வடிவங்கள் இல்லை, பக்கவாட்டு கோப்புகளின் கடல் இல்லை, உங்கள் கோப்பு முறைமை கட்டமைப்பின் முழுமையான எழுச்சி இல்லை.

உரிமம்: GPLv3
Config path: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | ஆவணங்கள் | டிச்கார்ட்

", + "about.description": "டேக்ச்டுடியோ என்பது ஒரு புகைப்படம் மற்றும் கோப்பு அமைப்பு பயன்பாடாகும், இது பயனருக்கு விடுதலை மற்றும் நெகிழ்வுத்தன்மையை வழங்குவதில் கவனம் செலுத்துகிறது. தனியுரிம திட்டங்கள் அல்லது வடிவங்கள் இல்லை, பக்கவாட்டு கோப்புகளின் கடல் இல்லை, உங்கள் கோப்பு முறைமை கட்டமைப்பின் முழுமையான எழுச்சி இல்லை.", + "about.documentation": "ஆவணங்கள்", + "about.license": "உரிமம்", "about.title": "டேக்ச்டுடியோ பற்றி", "app.git": "அறிவிலி கமிட்", "app.pre_release": "முன் வெளியீடு", @@ -116,7 +118,6 @@ "generic.save": "சேமி", "generic.skip": "தவிர்", "generic.skip_alt": "& தவிர்க்கவும்", - "help.visit_github": "அறிவிலிமையம் களஞ்சியத்தைப் பார்வையிடவும்", "home.search": "தேடு", "home.search_entries": "தேடல் உள்ளீடுகள்", "home.search_library": "தேடல் நூலகம்", diff --git a/src/tagstudio/resources/translations/tok.json b/src/tagstudio/resources/translations/tok.json index f7d46a17..68af93ee 100644 --- a/src/tagstudio/resources/translations/tok.json +++ b/src/tagstudio/resources/translations/tok.json @@ -1,5 +1,7 @@ { - "about.content": "

ilo Tagstudio li ilo pi lawa lipu pi lawa sitelen li kepeken nasin pi poki pona. ilo Tagstudio li wile pana e lawa mute tawa e jan kepeken. nasin pi open ala li lon ala, en ma pi lipu poka li lon ala, en sina li ante ala e nasin lipu ale sina.

lipu lawa: GPLv3
Config path: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

ma GitHub | lipu sona | ma Siko

", + "about.description": "ilo Tagstudio li ilo pi lawa lipu pi lawa sitelen li kepeken nasin pi poki pona. ilo Tagstudio li wile pana e lawa mute tawa e jan kepeken. nasin pi open ala li lon ala, en ma pi lipu poka li lon ala, en sina li ante ala e nasin lipu ale sina.", + "about.documentation": "lipu sona", + "about.license": "lipu lawa", "about.title": "sona pi ilo Tagstudio", "app.git": "Git Commit", "app.pre_release": "ilo pi pakala lili", @@ -85,7 +87,6 @@ "generic.recent_libraries": "tomo pi tenpo poka", "generic.rename": "o nimi sin", "generic.save": "o awen", - "help.visit_github": "o tawa linluwi GitHub Repository", "home.search": "o alasa", "home.search_entries": "o alasa lon ijo", "home.search_library": "o alasa lon tomo", diff --git a/src/tagstudio/resources/translations/tr.json b/src/tagstudio/resources/translations/tr.json index 1305daf6..50c8b5bf 100644 --- a/src/tagstudio/resources/translations/tr.json +++ b/src/tagstudio/resources/translations/tr.json @@ -1,5 +1,8 @@ { - "about.content": "

TagStudio, kullanıcıya özgürlük ve esneklik sunmaya odaklanan, etiketler kullanarak fotoğraflarınızı ve dosyalarınızı yönetebilmenizi sağlayan bir uygulamasıdır. Kapalı kaynak programlar veya formatlar kullanmaz (Kodu herkese açık!), sisteminizin yapısında değişiklikler yapmaz ve arkada derya deniz dolusu yan dosyalar bırakmaz.

Lisans: GPLv3
Yapılandırma yolu: {config_path}
FFmpeg: {ffmpeg}
FFprobe: {ffprobe}

GitHub | Dökümantasyon | Discord

", + "about.config_path": "Yapılandırma yolu", + "about.description": "TagStudio, kullanıcıya özgürlük ve esneklik sunmaya odaklanan, etiketler kullanarak fotoğraflarınızı ve dosyalarınızı yönetebilmenizi sağlayan bir uygulamasıdır. Kapalı kaynak programlar veya formatlar kullanmaz (Kodu herkese açık!), sisteminizin yapısında değişiklikler yapmaz ve arkada derya deniz dolusu yan dosyalar bırakmaz.", + "about.documentation": "Dökümantasyon", + "about.license": "Lisans", "about.title": "TagStudio Hakkında", "app.git": "Git Kaydet", "app.pre_release": "Test-Sürümü", @@ -116,7 +119,6 @@ "generic.save": "Kaydet", "generic.skip": "Atla", "generic.skip_alt": "&Atla", - "help.visit_github": "Github Sayfamızı Ziyaret Edin", "home.search": "Ara", "home.search_entries": "library", "home.search_library": "Kütüphanede Ara", diff --git a/src/tagstudio/resources/translations/zh_Hant.json b/src/tagstudio/resources/translations/zh_Hant.json index c421c3c1..4976f9bc 100644 --- a/src/tagstudio/resources/translations/zh_Hant.json +++ b/src/tagstudio/resources/translations/zh_Hant.json @@ -92,7 +92,6 @@ "generic.save": "儲存", "generic.skip": "略過", "generic.skip_alt": "&略過", - "help.visit_github": "訪問 GitHub 儲存庫", "home.search": "搜尋", "home.search_entries": "搜尋項目", "home.search_library": "搜尋資料庫",