mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-01-31 23:29:10 +00:00
feat(ui): add LibraryInfoWindow with statistics (#1056)
This commit is contained in:
committed by
GitHub
parent
2583a76f56
commit
3f9aa87ab6
@@ -0,0 +1,52 @@
|
||||
# Copyright (C) 2025 Travis Abendshien (CyanVoxel).
|
||||
# Licensed under the GPL-3.0 License.
|
||||
# Created for TagStudio: https://github.com/CyanVoxel/TagStudio
|
||||
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from PySide6 import QtGui
|
||||
|
||||
from tagstudio.core.library.alchemy.library import Library
|
||||
from tagstudio.qt.translations import Translations
|
||||
from tagstudio.qt.view.widgets.library_info_window_view import LibraryInfoWindowView
|
||||
|
||||
# Only import for type checking/autocompletion, will not be imported at runtime.
|
||||
if TYPE_CHECKING:
|
||||
from tagstudio.qt.ts_qt import QtDriver
|
||||
|
||||
|
||||
class LibraryInfoWindow(LibraryInfoWindowView):
|
||||
def __init__(self, library: "Library", driver: "QtDriver"):
|
||||
super().__init__(library, driver)
|
||||
|
||||
self.manage_tags_button.clicked.connect(
|
||||
self.driver.main_window.menu_bar.tag_manager_action.trigger
|
||||
)
|
||||
self.manage_colors_button.clicked.connect(
|
||||
self.driver.main_window.menu_bar.color_manager_action.trigger
|
||||
)
|
||||
self.close_button.clicked.connect(lambda: self.close())
|
||||
|
||||
def update_title(self):
|
||||
assert self.lib.library_dir
|
||||
title: str = Translations.format(
|
||||
"library_info.title", library_dir=self.lib.library_dir.stem
|
||||
)
|
||||
self.title_label.setText(f"<h2>{title}</h2>")
|
||||
|
||||
def update_stats(self):
|
||||
self.entry_count_label.setText(f"<b>{self.lib.entries_count}</b>")
|
||||
self.tag_count_label.setText(f"<b>{len(self.lib.tags)}</b>")
|
||||
self.field_count_label.setText(f"<b>{len(self.lib.field_types)}</b>")
|
||||
self.namespaces_count_label.setText(f"<b>{len(self.lib.namespaces)}</b>")
|
||||
colors_total = 0
|
||||
for c in self.lib.tag_color_groups.values():
|
||||
colors_total += len(c)
|
||||
self.color_count_label.setText(f"<b>{colors_total}</b>")
|
||||
|
||||
self.macros_count_label.setText("<b>1</b>") # TODO: Implement macros system
|
||||
|
||||
def showEvent(self, event: QtGui.QShowEvent): # noqa N802
|
||||
self.update_title()
|
||||
self.update_stats()
|
||||
@@ -300,6 +300,9 @@ class MainMenuBar(QMenuBar):
|
||||
def setup_view_menu(self):
|
||||
self.view_menu = QMenu(Translations["menu.view"], self)
|
||||
|
||||
self.library_info_action = QAction(Translations["menu.view.library_info"])
|
||||
self.view_menu.addAction(self.library_info_action)
|
||||
|
||||
# show_libs_list_action = QAction(Translations["settings.show_recent_libraries"], menu_bar)
|
||||
# show_libs_list_action.setCheckable(True)
|
||||
# show_libs_list_action.setChecked(self.settings.show_library_list)
|
||||
|
||||
@@ -69,6 +69,7 @@ from tagstudio.core.utils.refresh_dir import RefreshDirTracker
|
||||
from tagstudio.core.utils.types import unwrap
|
||||
from tagstudio.core.utils.web import strip_web_protocol
|
||||
from tagstudio.qt.cache_manager import CacheManager
|
||||
from tagstudio.qt.controller.widgets.library_info_window_controller import LibraryInfoWindow
|
||||
from tagstudio.qt.helpers.custom_runnable import CustomRunnable
|
||||
from tagstudio.qt.helpers.file_deleter import delete_file
|
||||
from tagstudio.qt.helpers.function_iterator import FunctionIterator
|
||||
@@ -180,6 +181,7 @@ class QtDriver(DriverMixin, QObject):
|
||||
about_modal: AboutModal
|
||||
unlinked_modal: FixUnlinkedEntriesModal
|
||||
dupe_modal: FixDupeFilesModal
|
||||
library_info_window: LibraryInfoWindow
|
||||
|
||||
applied_theme: Theme
|
||||
|
||||
@@ -348,9 +350,8 @@ class QtDriver(DriverMixin, QObject):
|
||||
self.tag_manager_panel = PanelModal(
|
||||
widget=TagDatabasePanel(self, self.lib),
|
||||
title=Translations["tag_manager.title"],
|
||||
done_callback=lambda s=self.selected: self.main_window.preview_panel.set_selection(
|
||||
s, update_preview=False
|
||||
),
|
||||
done_callback=lambda checked=False,
|
||||
s=self.selected: self.main_window.preview_panel.set_selection(s, update_preview=False),
|
||||
has_save=False,
|
||||
)
|
||||
|
||||
@@ -454,6 +455,13 @@ class QtDriver(DriverMixin, QObject):
|
||||
|
||||
# region View Menu ============================================================
|
||||
|
||||
def create_library_info_window():
|
||||
if not hasattr(self, "library_info_window"):
|
||||
self.library_info_window = LibraryInfoWindow(self.lib, self)
|
||||
self.library_info_window.show()
|
||||
|
||||
self.main_window.menu_bar.library_info_action.triggered.connect(create_library_info_window)
|
||||
|
||||
def on_show_filenames_action(checked: bool):
|
||||
self.settings.show_filenames_in_grid = checked
|
||||
self.settings.save()
|
||||
@@ -734,6 +742,9 @@ class QtDriver(DriverMixin, QObject):
|
||||
self.set_clipboard_menu_viability()
|
||||
self.set_select_actions_visibility()
|
||||
|
||||
if hasattr(self, "library_info_window"):
|
||||
self.library_info_window.close()
|
||||
|
||||
self.main_window.preview_panel.set_selection(self.selected)
|
||||
self.main_window.toggle_landing_page(enabled=True)
|
||||
self.main_window.pagination.setHidden(True)
|
||||
@@ -749,6 +760,7 @@ class QtDriver(DriverMixin, QObject):
|
||||
self.main_window.menu_bar.fix_dupe_files_action.setEnabled(False)
|
||||
self.main_window.menu_bar.clear_thumb_cache_action.setEnabled(False)
|
||||
self.main_window.menu_bar.folders_to_tags_action.setEnabled(False)
|
||||
self.main_window.menu_bar.library_info_action.setEnabled(False)
|
||||
except AttributeError:
|
||||
logger.warning(
|
||||
"[Library] Could not disable library management menu actions. Is this in a test?"
|
||||
@@ -1742,6 +1754,7 @@ class QtDriver(DriverMixin, QObject):
|
||||
self.main_window.menu_bar.fix_dupe_files_action.setEnabled(True)
|
||||
self.main_window.menu_bar.clear_thumb_cache_action.setEnabled(True)
|
||||
self.main_window.menu_bar.folders_to_tags_action.setEnabled(True)
|
||||
self.main_window.menu_bar.library_info_action.setEnabled(True)
|
||||
|
||||
self.main_window.preview_panel.set_selection(self.selected)
|
||||
|
||||
|
||||
165
src/tagstudio/qt/view/widgets/library_info_window_view.py
Normal file
165
src/tagstudio/qt/view/widgets/library_info_window_view.py
Normal file
@@ -0,0 +1,165 @@
|
||||
# Copyright (C) 2025 Travis Abendshien (CyanVoxel).
|
||||
# Licensed under the GPL-3.0 License.
|
||||
# Created for TagStudio: https://github.com/CyanVoxel/TagStudio
|
||||
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from PySide6.QtCore import Qt
|
||||
from PySide6.QtWidgets import (
|
||||
QGridLayout,
|
||||
QHBoxLayout,
|
||||
QLabel,
|
||||
QPushButton,
|
||||
QSizePolicy,
|
||||
QSpacerItem,
|
||||
QVBoxLayout,
|
||||
QWidget,
|
||||
)
|
||||
|
||||
from tagstudio.core.library.alchemy.library import Library
|
||||
from tagstudio.qt.translations import Translations
|
||||
|
||||
# Only import for type checking/autocompletion, will not be imported at runtime.
|
||||
if TYPE_CHECKING:
|
||||
from tagstudio.qt.ts_qt import QtDriver
|
||||
|
||||
|
||||
class LibraryInfoWindowView(QWidget):
|
||||
def __init__(self, library: "Library", driver: "QtDriver"):
|
||||
super().__init__()
|
||||
self.lib = library
|
||||
self.driver = driver
|
||||
|
||||
self.setWindowTitle("Library Information")
|
||||
self.setMinimumSize(400, 300)
|
||||
self.root_layout = QVBoxLayout(self)
|
||||
self.root_layout.setContentsMargins(6, 6, 6, 6)
|
||||
|
||||
row_height: int = 22
|
||||
cell_alignment: Qt.AlignmentFlag = (
|
||||
Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignVCenter
|
||||
)
|
||||
|
||||
# Title ----------------------------------------------------------------
|
||||
self.title_label = QLabel()
|
||||
self.title_label.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
|
||||
# Body (Stats, etc.) ---------------------------------------------------
|
||||
self.body_widget = QWidget()
|
||||
self.body_layout = QHBoxLayout(self.body_widget)
|
||||
self.body_layout.setContentsMargins(0, 0, 0, 0)
|
||||
self.body_layout.setSpacing(0)
|
||||
|
||||
# Statistics -----------------------------------------------------------
|
||||
self.stats_widget = QWidget()
|
||||
self.stats_layout = QVBoxLayout(self.stats_widget)
|
||||
self.stats_layout.setContentsMargins(0, 0, 0, 0)
|
||||
self.stats_layout.setSpacing(12)
|
||||
|
||||
self.stats_label = QLabel(f"<h3>{Translations['library_info.stats']}</h3>")
|
||||
self.stats_label.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
||||
|
||||
self.stats_grid: QWidget = QWidget()
|
||||
self.stats_grid_layout: QGridLayout = QGridLayout(self.stats_grid)
|
||||
self.stats_grid_layout.setContentsMargins(0, 0, 0, 0)
|
||||
self.stats_grid_layout.setSpacing(0)
|
||||
self.stats_grid_layout.setColumnMinimumWidth(1, 12)
|
||||
self.stats_grid_layout.setColumnMinimumWidth(3, 12)
|
||||
|
||||
self.entries_row: int = 0
|
||||
self.tags_row: int = 1
|
||||
self.fields_row: int = 2
|
||||
self.namespaces_row: int = 3
|
||||
self.colors_row: int = 4
|
||||
self.macros_row: int = 5
|
||||
|
||||
self.labels_col: int = 0
|
||||
self.values_col: int = 2
|
||||
self.buttons_col: int = 4
|
||||
|
||||
self.entries_label: QLabel = QLabel(Translations["library_info.stats.entries"])
|
||||
self.entries_label.setAlignment(cell_alignment)
|
||||
self.tags_label: QLabel = QLabel(Translations["library_info.stats.tags"])
|
||||
self.tags_label.setAlignment(cell_alignment)
|
||||
self.fields_label: QLabel = QLabel(Translations["library_info.stats.fields"])
|
||||
self.fields_label.setAlignment(cell_alignment)
|
||||
self.namespaces_label: QLabel = QLabel(Translations["library_info.stats.namespaces"])
|
||||
self.namespaces_label.setAlignment(cell_alignment)
|
||||
self.colors_label: QLabel = QLabel(Translations["library_info.stats.colors"])
|
||||
self.colors_label.setAlignment(cell_alignment)
|
||||
self.macros_label: QLabel = QLabel(Translations["library_info.stats.macros"])
|
||||
self.macros_label.setAlignment(cell_alignment)
|
||||
|
||||
self.stats_grid_layout.addWidget(self.entries_label, self.entries_row, self.labels_col)
|
||||
self.stats_grid_layout.addWidget(self.tags_label, self.tags_row, self.labels_col)
|
||||
self.stats_grid_layout.addWidget(self.fields_label, self.fields_row, self.labels_col)
|
||||
self.stats_grid_layout.addWidget(
|
||||
self.namespaces_label, self.namespaces_row, self.labels_col
|
||||
)
|
||||
self.stats_grid_layout.addWidget(self.colors_label, self.colors_row, self.labels_col)
|
||||
self.stats_grid_layout.addWidget(self.macros_label, self.macros_row, self.labels_col)
|
||||
|
||||
self.stats_grid_layout.setRowMinimumHeight(self.entries_row, row_height)
|
||||
self.stats_grid_layout.setRowMinimumHeight(self.tags_row, row_height)
|
||||
self.stats_grid_layout.setRowMinimumHeight(self.fields_row, row_height)
|
||||
self.stats_grid_layout.setRowMinimumHeight(self.namespaces_row, row_height)
|
||||
self.stats_grid_layout.setRowMinimumHeight(self.colors_row, row_height)
|
||||
self.stats_grid_layout.setRowMinimumHeight(self.macros_row, row_height)
|
||||
|
||||
self.entry_count_label: QLabel = QLabel()
|
||||
self.entry_count_label.setAlignment(cell_alignment)
|
||||
self.tag_count_label: QLabel = QLabel()
|
||||
self.tag_count_label.setAlignment(cell_alignment)
|
||||
self.field_count_label: QLabel = QLabel()
|
||||
self.field_count_label.setAlignment(cell_alignment)
|
||||
self.namespaces_count_label: QLabel = QLabel()
|
||||
self.namespaces_count_label.setAlignment(cell_alignment)
|
||||
self.color_count_label: QLabel = QLabel()
|
||||
self.color_count_label.setAlignment(cell_alignment)
|
||||
self.macros_count_label: QLabel = QLabel()
|
||||
self.macros_count_label.setAlignment(cell_alignment)
|
||||
|
||||
self.stats_grid_layout.addWidget(self.entry_count_label, self.entries_row, self.values_col)
|
||||
self.stats_grid_layout.addWidget(self.tag_count_label, self.tags_row, self.values_col)
|
||||
self.stats_grid_layout.addWidget(self.field_count_label, self.fields_row, self.values_col)
|
||||
self.stats_grid_layout.addWidget(
|
||||
self.namespaces_count_label, self.namespaces_row, self.values_col
|
||||
)
|
||||
self.stats_grid_layout.addWidget(self.color_count_label, self.colors_row, self.values_col)
|
||||
self.stats_grid_layout.addWidget(self.macros_count_label, self.macros_row, self.values_col)
|
||||
|
||||
self.manage_tags_button = QPushButton(Translations["edit.tag_manager"])
|
||||
self.manage_colors_button = QPushButton(Translations["color_manager.title"])
|
||||
|
||||
self.stats_grid_layout.addWidget(self.manage_tags_button, self.tags_row, self.buttons_col)
|
||||
self.stats_grid_layout.addWidget(
|
||||
self.manage_colors_button, self.colors_row, self.buttons_col
|
||||
)
|
||||
|
||||
self.stats_layout.addWidget(self.stats_label)
|
||||
self.stats_layout.addWidget(self.stats_grid)
|
||||
|
||||
self.body_layout.addSpacerItem(
|
||||
QSpacerItem(0, 0, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
)
|
||||
self.body_layout.addWidget(self.stats_widget)
|
||||
self.body_layout.addSpacerItem(
|
||||
QSpacerItem(0, 0, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||
)
|
||||
|
||||
# Buttons
|
||||
self.button_container = QWidget()
|
||||
self.button_layout = QHBoxLayout(self.button_container)
|
||||
self.button_layout.setContentsMargins(6, 6, 6, 6)
|
||||
self.button_layout.addStretch(1)
|
||||
|
||||
self.close_button = QPushButton(Translations["generic.close"])
|
||||
self.button_layout.addWidget(self.close_button)
|
||||
|
||||
# Add to root layout ---------------------------------------------------
|
||||
self.root_layout.addWidget(self.title_label)
|
||||
self.root_layout.addWidget(self.body_widget)
|
||||
self.root_layout.addStretch(1)
|
||||
self.root_layout.addStretch(2)
|
||||
self.root_layout.addWidget(self.button_container)
|
||||
@@ -119,8 +119,8 @@ class JsonMigrationModal(QObject):
|
||||
self.match_text: str = Translations["json_migration.heading.match"]
|
||||
self.differ_text: str = Translations["json_migration.heading.differ"]
|
||||
|
||||
entries_text: str = Translations["json_migration.heading.entires"]
|
||||
tags_text: str = Translations["json_migration.heading.tags"]
|
||||
entries_text: str = Translations["library_info.stats.entries"]
|
||||
tags_text: str = Translations["library_info.stats.tags"]
|
||||
names_text: str = tab + Translations["json_migration.heading.names"]
|
||||
shorthand_text: str = tab + Translations["json_migration.heading.shorthands"]
|
||||
parent_tags_text: str = tab + Translations["json_migration.heading.parent_tags"]
|
||||
@@ -130,7 +130,7 @@ class JsonMigrationModal(QObject):
|
||||
ext_type_text: str = Translations["json_migration.heading.extension_list_type"]
|
||||
desc_text: str = Translations["json_migration.description"]
|
||||
path_parity_text: str = tab + Translations["json_migration.heading.paths"]
|
||||
field_parity_text: str = tab + Translations["json_migration.heading.fields"]
|
||||
field_parity_text: str = tab + Translations["library_info.stats.fields"]
|
||||
|
||||
self.entries_row: int = 0
|
||||
self.path_row: int = 1
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Aliase:",
|
||||
"json_migration.heading.colors": "Farben:",
|
||||
"json_migration.heading.differ": "Diskrepanz",
|
||||
"json_migration.heading.entires": "Einträge:",
|
||||
"json_migration.heading.extension_list_type": "Erweiterungslistentyp:",
|
||||
"json_migration.heading.fields": "Felder:",
|
||||
"json_migration.heading.file_extension_list": "Liste der Dateiendungen:",
|
||||
"json_migration.heading.match": "Übereinstimmend",
|
||||
"json_migration.heading.names": "Namen:",
|
||||
"json_migration.heading.parent_tags": "Übergeordnete Tags:",
|
||||
"json_migration.heading.paths": "Pfade:",
|
||||
"json_migration.heading.shorthands": "Kurzformen:",
|
||||
"json_migration.heading.tags": "Tags:",
|
||||
"json_migration.info.description": "Bibliotheksdaten, welche mit TagStudio-Versionen <b>9.4 und niedriger</b> erstellt wurden, müssen in das neue Format <b>v9.5+</b> migriert werden.<br><h2>Was du wissen solltest:</h2><ul><li>Deine bestehenden Bibliotheksdaten werden <b><i>NICHT</i></b> gelöscht.</li><li>Deine persönlichen Dateien werden <b><i>NICHT</i></b> gelöscht, verschoben oder verändert.</li><li>Das neue Format v9.5+ kann nicht von früheren TagStudio-Versionen geöffnet werden.</li></ul>",
|
||||
"json_migration.migrating_files_entries": "Migriere {entries:,d} Dateieinträge...",
|
||||
"json_migration.migration_complete": "Migration abgeschlossen!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ Bibliothek</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 Bibliothek</h2>",
|
||||
"landing.open_create_library": "Bibliothek öffnen/erstellen {shortcut}",
|
||||
"library_info.stats.entries": "Einträge:",
|
||||
"library_info.stats.fields": "Felder:",
|
||||
"library_info.stats.tags": "Tags:",
|
||||
"library.field.add": "Feld hinzufügen",
|
||||
"library.field.confirm_remove": "Wollen Sie dieses \"{name}\" Feld wirklich entfernen?",
|
||||
"library.field.mixed_data": "Gemischte Daten",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Aliases:",
|
||||
"json_migration.heading.colors": "Colors:",
|
||||
"json_migration.heading.differ": "Discrepancy",
|
||||
"json_migration.heading.entires": "Entries:",
|
||||
"json_migration.heading.extension_list_type": "Extension List Type:",
|
||||
"json_migration.heading.fields": "Fields:",
|
||||
"json_migration.heading.file_extension_list": "File Extension List:",
|
||||
"json_migration.heading.match": "Matched",
|
||||
"json_migration.heading.names": "Names:",
|
||||
"json_migration.heading.parent_tags": "Parent Tags:",
|
||||
"json_migration.heading.paths": "Paths:",
|
||||
"json_migration.heading.shorthands": "Shorthands:",
|
||||
"json_migration.heading.tags": "Tags:",
|
||||
"json_migration.info.description": "Library save files created with TagStudio versions <b>9.4 and below</b> will need to be migrated to the new <b>v9.5+</b> format.<br><h2>What you need to know:</h2><ul><li>Your existing library save file will <b><i>NOT</i></b> be deleted</li><li>Your personal files will <b><i>NOT</i></b> be deleted, moved, or modified</li><li>The new v9.5+ save format can not be opened in earlier versions of TagStudio</li></ul><h3>What's changed:</h3><ul><li>\"Tag Fields\" have been replaced by \"Tag Categories\". Instead of adding tags to fields first, tags now get added directly to file entries. They're then automatically organized into categories based on parent tags marked with the new \"Is Category\" property in the tag editing menu. Any tag can be marked as a category, and child tags will sort themselves underneath parent tags marked as categories. The \"Favorite\" and \"Archived\" tags now inherit from a new \"Meta Tags\" tag which is marked as a category by default.</li><li>Tag colors have been tweaked and expanded upon. Some colors have been renamed or consolidated, however all tag colors will still convert to exact or close matches in v9.5.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "Migrating {entries:,d} File Entries...",
|
||||
"json_migration.migration_complete_with_discrepancies": "Migration Complete, Discrepancies Found",
|
||||
@@ -169,6 +166,14 @@
|
||||
"json_migration.title.old_lib": "<h2>v9.4 Library</h2>",
|
||||
"json_migration.title": "Save Format Migration: \"{path}\"",
|
||||
"landing.open_create_library": "Open/Create Library {shortcut}",
|
||||
"library_info.stats.colors": "Tag Colors:",
|
||||
"library_info.stats.entries": "Entries:",
|
||||
"library_info.stats.fields": "Fields:",
|
||||
"library_info.stats.macros": "Macros:",
|
||||
"library_info.stats.namespaces": "Namespaces:",
|
||||
"library_info.stats.tags": "Tags:",
|
||||
"library_info.stats": "Statistics",
|
||||
"library_info.title": "Library '{library_dir}'",
|
||||
"library_object.name_required": "Name (Required)",
|
||||
"library_object.name": "Name",
|
||||
"library_object.slug_required": "ID Slug (Required)",
|
||||
@@ -219,6 +224,7 @@
|
||||
"menu.tools": "&Tools",
|
||||
"menu.view.decrease_thumbnail_size": "Decrease Thumbnail Size",
|
||||
"menu.view.increase_thumbnail_size": "Increase Thumbnail Size",
|
||||
"menu.view.library_info": "Library &Information",
|
||||
"menu.view": "&View",
|
||||
"menu.window": "Window",
|
||||
"namespace.create.description_color": "Tag colors use namespaces as color palette groups. All custom colors must be under a namespace group first.",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Alias:",
|
||||
"json_migration.heading.colors": "Colores:",
|
||||
"json_migration.heading.differ": "Discrepancia",
|
||||
"json_migration.heading.entires": "Entradas:",
|
||||
"json_migration.heading.extension_list_type": "Tipo de lista de extensión:",
|
||||
"json_migration.heading.fields": "Campos:",
|
||||
"json_migration.heading.file_extension_list": "Lista de extensiones de archivos:",
|
||||
"json_migration.heading.match": "Igualado",
|
||||
"json_migration.heading.names": "Nombres:",
|
||||
"json_migration.heading.parent_tags": "Etiquetas principales:",
|
||||
"json_migration.heading.paths": "Rutas:",
|
||||
"json_migration.heading.shorthands": "Abreviaturas:",
|
||||
"json_migration.heading.tags": "Etiquetas:",
|
||||
"json_migration.info.description": "Los archivos de guardado de la biblioteca con una versión de TagStudio <b>9.4 e inferior</b> se tendrán que migrar al nuevo formato de la versión <b>v9.5+</b>.<br><h2>Lo que necesitas saber:</h2><ul><li>Tu archivo de guardado de la biblioteca <b><i>NO</i></b> se eliminará</li><li>Tus archivos personales <b><i>NO</i></b> se eliminarán, moverán, o modificarán</li><li>El archivo con el formato de la nueva v9.5+ no se puede abrir en versiones anteriores de TagStudio</li></ul><h3>Qué ha cambiado:</h3><ul><li>\"Etiquetas Campo\" se han sustituido por \"Etiquetas Categoría\". En vez de añadir campos primero, las etiquetas se añadirán directamente a las entradas de los archivos. Después se organizarán automáticamente en categorías basándose en las etiquetas padre marcadas con la nueva propiedad \"Es Categoría\" en el menú de edición de etiquetas. Cualquier etiqueta se puede marcar como categoría, y las etiquetas hija se ordenarán a sí mismas bajo las etiquetas padre marcadas como categoría. Las etiquetas \"Favorito\" y \"Archivado\" ahora heredan de una \"Metaetiqueta\", que están marcadas por defecto como una categoría.</li><li>Los colores de las etiquetas se han modificado y ampliado. Algunos colores se han renombrado o consolidado, aun así, todas las etiquetas de colores se transformarán al mismo color o similar en la versión v9.5.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "Migrando {entries:,d} entradas de archivos...",
|
||||
"json_migration.migration_complete": "¡Migración completada!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ biblioteca</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 biblioteca</h2>",
|
||||
"landing.open_create_library": "Abrir/Crear biblioteca {shortcut}",
|
||||
"library_info.stats.entries": "Entradas:",
|
||||
"library_info.stats.fields": "Campos:",
|
||||
"library_info.stats.tags": "Etiquetas:",
|
||||
"library.field.add": "Añadir campo",
|
||||
"library.field.confirm_remove": "¿Está seguro de que desea eliminar el campo \"{name}\"?",
|
||||
"library.field.mixed_data": "Datos variados",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Mga alyas:",
|
||||
"json_migration.heading.colors": "Mga kulay:",
|
||||
"json_migration.heading.differ": "May pagkakaiba",
|
||||
"json_migration.heading.entires": "Mga entry:",
|
||||
"json_migration.heading.extension_list_type": "Uri ng Listahan ng Extension:",
|
||||
"json_migration.heading.fields": "Mga Field:",
|
||||
"json_migration.heading.file_extension_list": "Listahan ng Mga File Extension:",
|
||||
"json_migration.heading.match": "Tumutugma",
|
||||
"json_migration.heading.names": "Mga pangalan:",
|
||||
"json_migration.heading.parent_tags": "Mga parent tag:",
|
||||
"json_migration.heading.paths": "Mga path:",
|
||||
"json_migration.heading.shorthands": "Mga shorthand:",
|
||||
"json_migration.heading.tags": "Mga tag:",
|
||||
"json_migration.info.description": "Ang mga library save file na ginawa gamit ng mga bersyon ng TagStudio na <b>9.4 at mas-mababa</b> ay kailangang i-migrate sa bagong <b>9.5+</b> format.<br><h2>Ano ang dapat mong alamin:</h2><ul><li>Ang iyong umiiral na library save a <b><i>HINDI</i></b> buburahin</li><li>Ang iyong mga personal na file ay <b><i>HINDI</i></b> buburahin, ililipat, o babaguhin</li><li>Ang bagong 9.5+ save format ay hindi mabubuksan ng mga lumang bersyon ng TagStudio</li></ul><h3>Ano ang nagbago:</h3><ul><li>Ang \"Mga Field ng Tag\" ay pinalitan sa \"Mga Kategorya ng Tag\". Sa halip ng pagdagdag ng mga tag sa mga field muna, ang mga tag ay direkta nang dinadagdag sa mga file entry. Awtomatiko din silang isasaayos sa mga kategorya base sa mga parent tag na nakamarka bilang \"Isang Kategorya\" na property sa menu ng pag-edit ng tag. Maaring markahan bilang kategorya ang anumang tag, at ang mga child tag ay isasaayos ang sarili nila sa ilalim ng mga parent tag na nakamarka bilang kategorya. Ang \"Paborito\" at \"Naka-archive\" na tag ay magmamana na sa bagong \"Mga Meta Tag\" na tag na nakamarka bilang kategorya bilang default.</li><li>Ang mga kulay ng tag ay na-tweak at pinalawak sa. Ang ilang mga kulay ay na-rename o pinagsama-sama, ngunit ang lahat ng mga kulay ng tag ay mako-convert pa rin sa eksakto o malapit na pagkatugma sa v9.5.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "Nililipat ang {entries:,d} mga File Entry…",
|
||||
"json_migration.migration_complete": "Tapos na ang Pag-migrate!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ na Library</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 na Library</h2>",
|
||||
"landing.open_create_library": "Buksan/Gumawa ng Library {shortcut}",
|
||||
"library_info.stats.entries": "Mga entry:",
|
||||
"library_info.stats.fields": "Mga Field:",
|
||||
"library_info.stats.tags": "Mga tag:",
|
||||
"library.field.add": "Magdagdag ng Field",
|
||||
"library.field.confirm_remove": "Sigurado ka ba gusto mo tanggalin ang field na \"{name}\"?",
|
||||
"library.field.mixed_data": "Halo-halong Data",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Alias :",
|
||||
"json_migration.heading.colors": "Couleurs :",
|
||||
"json_migration.heading.differ": "Divergence",
|
||||
"json_migration.heading.entires": "Entrées :",
|
||||
"json_migration.heading.extension_list_type": "Type de liste d'extension :",
|
||||
"json_migration.heading.fields": "Champs :",
|
||||
"json_migration.heading.file_extension_list": "Liste des extensions de fichiers :",
|
||||
"json_migration.heading.match": "Correspondant",
|
||||
"json_migration.heading.names": "Noms :",
|
||||
"json_migration.heading.parent_tags": "Tags Parents :",
|
||||
"json_migration.heading.paths": "Chemins :",
|
||||
"json_migration.heading.shorthands": "Abréviations :",
|
||||
"json_migration.heading.tags": "Tags :",
|
||||
"json_migration.info.description": "Les fichiers de sauvegarde de bibliothèque créés avec les versions <b>9.4 et inférieures</b> de TagStudio devront être migrés vers le nouveau format <b>v9.5+</b>.<br><h2>Ce que vous devez savoir:</h2><ul><li>Votre fichier de sauvegarde de bibliothèque existant ne sera <b><i>PAS</i></b> supprimé</li><li>Vos fichiers personnels ne seront <b><i>PAS</i></b> supprimés, déplacés ou modifié</li><li>Le nouveau format de sauvegarde v9.5+ ne peut pas être ouvert dans les versions antérieures de TagStudio</li></ul><h3>Ce qui a changé:</h3><ul><li>Les \"Tag Fields\" ont été remplacés par \"Tag Categories\". Au lieu d’ajouter d’abord des Tags aux Champs, les Tags sont désormais ajoutées directement aux entrées de fichier. Ils sont ensuite automatiquement organisés en catégories basées sur les tags parent marquées avec la nouvelle propriété \"Is Category\" dans le menu d'édition des tags. N'importe quelle tag peut être marquée comme catégorie, et les tags enfants seront triées sous les tags parents marquées comme catégories. Les tags « Favoris » et « Archivés » héritent désormais d'un nouveaux tag \"Meta Tags\" qui est marquée comme catégorie par défaut.</li><li>La couleur des tags à été modifiées et développées. Certaines couleurs ont été renommées ou consolidées, mais toutes les couleurs des tags seront toujours converties en correspondances exactes ou proches dans la version 9.5.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "Migration de {entries:,d} entrées de fichier.",
|
||||
"json_migration.migration_complete": "Migration Terminée!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>Bibliothèque v9.5+</h2>",
|
||||
"json_migration.title.old_lib": "<h2>Bibliothèque v9.4</h2>",
|
||||
"landing.open_create_library": "Ouvrir/Créer une Bibliothèque {shortcut}",
|
||||
"library_info.stats.entries": "Entrées :",
|
||||
"library_info.stats.fields": "Champs :",
|
||||
"library_info.stats.tags": "Tags :",
|
||||
"library.field.add": "Ajouter un Champ",
|
||||
"library.field.confirm_remove": "Êtes-vous sûr de vouloir supprimer le champ \"{name}\"?",
|
||||
"library.field.mixed_data": "Données Mélangées",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Áljelek:",
|
||||
"json_migration.heading.colors": "Színek:",
|
||||
"json_migration.heading.differ": "Eltérés",
|
||||
"json_migration.heading.entires": "Elemek:",
|
||||
"json_migration.heading.extension_list_type": "Kiterjesztési lista típusa:",
|
||||
"json_migration.heading.fields": "Mezők:",
|
||||
"json_migration.heading.file_extension_list": "Fájlkiterjesztési lista:",
|
||||
"json_migration.heading.match": "Egységesítve",
|
||||
"json_migration.heading.names": "Nevek:",
|
||||
"json_migration.heading.parent_tags": "Szülőcímkék:",
|
||||
"json_migration.heading.paths": "Elérési utak:",
|
||||
"json_migration.heading.shorthands": "Rövidítések:",
|
||||
"json_migration.heading.tags": "Címkék:",
|
||||
"json_migration.info.description": "A TagStudio <b>9.4 és korábbi</b> verzióival készült könyvtárakat át kell alakítani a program <b>9.5</b> és afölötti verzióval kompatibilis formátummá.<br><h2>Tudnivalók:</h2><ul><li>Az Ön létező könyvtára <b><i>NEM</i></b> lesz törölve.</li><li>Az Ön személyes fájljait <b><i>NEM</i></b> fogjuk törölni, áthelyezni vagy módosítani.</li><li>Az új formátumot a TagStudio korábbi verzióiban nem lehet megnyitni.</li></ul><h3>Változások:</h3><ul><li>A „címkemezők” „címkekategórákra” lettek kicserélve. A címkék mezőkbe való rendezése helyett mostantól közvetlenül a könyvtárelemekhez lesznek hozzárendelve. Ezután automatikusan kategórákba lesznek rendezve a Kategória-tulajdonsággal felruházott szülőcímkék alá. Bármely címke lehet szülőkategória és a gyermekkategóriák alá lesznek rendelve. Létrehoztunk egy új kategóriát Metacímkék néven, ami alatt az alapértelmezett Kedvenc- és Archivált-címkék szerepelnek.</li><li>A címkeszíneket egy kicsit átrendeztük és bővítettük a kínálatot. Vannak bizonyos színek, amelyeket átneveztünk vagy egybeolvasztottunk, de a program 9.5-ös verziójában minden ilyen átalakított szín legalább hasonlóan fog kinézni a korábbiakhoz képest.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "{entries:,d} elem átalakítása folyamatban…",
|
||||
"json_migration.migration_complete": "Az átalakítási folyamat sikeresen befejeződött!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>9.5 és afölötti könyvtár</h2>",
|
||||
"json_migration.title.old_lib": "<h2>9.4-es könyvtár</h2>",
|
||||
"landing.open_create_library": "Könyvtár meg&nyitása/létrehozása {shortcut}",
|
||||
"library_info.stats.entries": "Elemek:",
|
||||
"library_info.stats.fields": "Mezők:",
|
||||
"library_info.stats.tags": "Címkék:",
|
||||
"library.field.add": "Új mező",
|
||||
"library.field.confirm_remove": "Biztosan el akarja távolítani a(z) „{name}”-mezőt?",
|
||||
"library.field.mixed_data": "Kevert adatok",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "エイリアス:",
|
||||
"json_migration.heading.colors": "色:",
|
||||
"json_migration.heading.differ": "差異",
|
||||
"json_migration.heading.entires": "エントリ:",
|
||||
"json_migration.heading.extension_list_type": "拡張子リストの種類:",
|
||||
"json_migration.heading.fields": "フィールド:",
|
||||
"json_migration.heading.file_extension_list": "ファイルの拡張子リスト:",
|
||||
"json_migration.heading.match": "一致",
|
||||
"json_migration.heading.names": "名前:",
|
||||
"json_migration.heading.parent_tags": "親タグ:",
|
||||
"json_migration.heading.paths": "パス:",
|
||||
"json_migration.heading.shorthands": "略称:",
|
||||
"json_migration.heading.tags": "タグ:",
|
||||
"json_migration.info.description": "TagStudio バージョン<b>9.4 以前</b>で作成されたライブラリ保存ファイルは、新しいバージョン<b>9.5 以降</b>の形式に移行する必要があります。<br><h2>ご確認ください:</h2><ul><li>既存のライブラリ保存ファイルが<b><i>削除されることはありません</i></b></li><li>個人ファイルが<b><i>削除・移動・変更されることはありません</i></b></li><li>新しい v9.5 以降の保存形式は、旧バージョンの TagStudio では開くことができません</li></ul><h3>変更点:</h3><ul><li>「タグ フィールド」は「タグ カテゴリ」に置き換えられました。従来のようにタグを先にフィールドに追加するのではなく、タグを直接ファイル エントリに追加します。その後、タグ編集メニューで「カテゴリとして扱う」プロパティが有効になっている親タグに基づいて、タグが自動的にカテゴリとして整理されます。どのタグでもカテゴリとして指定でき、カテゴリに指定された親タグの下に子タグが自動で整理されます。「お気に入り」タグおよび「アーカイブ」タグは、新しく追加された「メタタグ」というデフォルトのカテゴリ タグの下に分類されます。</li><li>タグの色が調整・拡張されました。一部の色は名前が変更されたり統合されたりしましたが、すべてのタグの色は v9.5 において同一または類似の色に変換されます。</li></ul>",
|
||||
"json_migration.migrating_files_entries": "{entries} 件のファイル エントリを移行しています...",
|
||||
"json_migration.migration_complete": "移行が完了しました!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ ライブラリ</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 ライブラリ</h2>",
|
||||
"landing.open_create_library": "ライブラリを開く/作成する {shortcut}",
|
||||
"library_info.stats.entries": "エントリ:",
|
||||
"library_info.stats.fields": "フィールド:",
|
||||
"library_info.stats.tags": "タグ:",
|
||||
"library.field.add": "フィールドの追加",
|
||||
"library.field.confirm_remove": "「{name}」フィールドを削除してもよろしいですか?",
|
||||
"library.field.mixed_data": "混在データ",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Alternative navn:",
|
||||
"json_migration.heading.colors": "Farger:",
|
||||
"json_migration.heading.differ": "Avvik",
|
||||
"json_migration.heading.entires": "Oppføringer:",
|
||||
"json_migration.heading.extension_list_type": "Type av Utvidelsesliste:",
|
||||
"json_migration.heading.fields": "Felter:",
|
||||
"json_migration.heading.file_extension_list": "Filutvidelse Liste:",
|
||||
"json_migration.heading.match": "Matchet",
|
||||
"json_migration.heading.names": "Navn:",
|
||||
"json_migration.heading.parent_tags": "Overordnede Etiketter:",
|
||||
"json_migration.heading.paths": "Baner:",
|
||||
"json_migration.heading.shorthands": "Forkortelser:",
|
||||
"json_migration.heading.tags": "Etiketter:",
|
||||
"json_migration.info.description": "Lagringsfiler til biblioteket lagetr med TagStudio av versjoner <b>9.4 eller under</b> må bli migrert ti ldet nye <b>v9.5+</b> formatet.<br><h2>Hva du trenger å vite:</h2><ul><li>Din eksisterende lagringsfil vil <b><i>ikke</i></b> bli slettet</li><li>Dine personlige filer vil <b><i>IKKE</i></b> bli slettet, flyttet, eller modifisert</li><li>Det nye v9.5+ lagringsformatet kan ikke bli åpnet i tidligere versjoner av TagStudio</li></ul><h3>Hva som har endret seg:</h3><ul><li>\"Etikettfelter\" har blitt erstattet av \"Etikettkategorier\". I stedet for å legge til etiketter til felter, så legges etiketter direkte til filoppføringen. De vil da bli automatisk organisert i kategorier basert på overordnede etiketter markert med den nye \"Er Kategori\" egenskapen i etikettredigeringsmenyen. Enhver etikett kan bli markert som en kategori, og underordnede etiketter vil sortere seg selv under overordnede etiketter som er markert som kategorier. \"Favoritt\" og \"Arkivert\" etikettene er nå underordnet en ny \"Meta-Etiketter\" etikett som er markert som en kategori automatisk.</li><li>Etikettfarger har blitt finjustert og utvidet. Enkelte farger har fått nytt navn eller blitt slått sammen, men alle etikettfarger vil fortsatt bli konvertert til eksakte eller lignende farger i v9.5.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "Migrerer {entries:,d} Filoppføringer...",
|
||||
"json_migration.migration_complete": "Migrering Ferdig!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ Bibliotek</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 Bibliotek</h2>",
|
||||
"landing.open_create_library": "Åpne/Lag nytt Bibliotek {shortcut}",
|
||||
"library_info.stats.entries": "Oppføringer:",
|
||||
"library_info.stats.fields": "Felter:",
|
||||
"library_info.stats.tags": "Etiketter:",
|
||||
"library.field.add": "Legg til felt",
|
||||
"library.field.confirm_remove": "Fjern dette «\"{name}\"»-feltet?",
|
||||
"library.field.mixed_data": "Blandet data",
|
||||
|
||||
@@ -79,13 +79,13 @@
|
||||
"json_migration.finish_migration": "Migratie Afronden",
|
||||
"json_migration.heading.aliases": "Aliassen:",
|
||||
"json_migration.heading.colors": "Kleuren:",
|
||||
"json_migration.heading.fields": "Velden:",
|
||||
"json_migration.heading.names": "Namen:",
|
||||
"json_migration.heading.paths": "Paden:",
|
||||
"json_migration.heading.shorthands": "Afkortingen:",
|
||||
"json_migration.heading.tags": "Labels:",
|
||||
"json_migration.migration_complete": "Migratie Afgerond!",
|
||||
"json_migration.title": "Migratie Formaat Opslaan: \"{path}\"",
|
||||
"library_info.stats.fields": "Velden:",
|
||||
"library_info.stats.tags": "Labels:",
|
||||
"library.field.add": "Veld Toevoegen",
|
||||
"library.field.mixed_data": "Gemixte Data",
|
||||
"library.field.remove": "Veld Weghalen",
|
||||
|
||||
@@ -149,16 +149,13 @@
|
||||
"json_migration.heading.aliases": "Zastępcze nazwy:",
|
||||
"json_migration.heading.colors": "Kolory:",
|
||||
"json_migration.heading.differ": "Niezgodność",
|
||||
"json_migration.heading.entires": "Wpisy:",
|
||||
"json_migration.heading.extension_list_type": "Typ listy rozszerzeń:",
|
||||
"json_migration.heading.fields": "Pola:",
|
||||
"json_migration.heading.file_extension_list": "Lista rozszerzeń plików:",
|
||||
"json_migration.heading.match": "Dopasowane",
|
||||
"json_migration.heading.names": "Nazwy:",
|
||||
"json_migration.heading.parent_tags": "Tagi nadrzędne:",
|
||||
"json_migration.heading.paths": "Ścieżki:",
|
||||
"json_migration.heading.shorthands": "Skróty:",
|
||||
"json_migration.heading.tags": "Tagi:",
|
||||
"json_migration.migrating_files_entries": "Migrowanie {entries:,d} wpisów plików...",
|
||||
"json_migration.migration_complete": "Migrowanie skończone!",
|
||||
"json_migration.migration_complete_with_discrepancies": "Migrowanie skończone, znaleziono niezgodności",
|
||||
@@ -167,6 +164,9 @@
|
||||
"json_migration.title.new_lib": "<h2>Biblioteka v9.5+ </h2>",
|
||||
"json_migration.title.old_lib": "<h2>Biblioteka v9.4</h2>",
|
||||
"landing.open_create_library": "Otwórz/Stwórz bibliotekę {shortcut}",
|
||||
"library_info.stats.entries": "Wpisy:",
|
||||
"library_info.stats.fields": "Pola:",
|
||||
"library_info.stats.tags": "Tagi:",
|
||||
"library.field.add": "Dodaj pole",
|
||||
"library.field.confirm_remove": "Jesteś pewien że chcesz usunąć pole \"{name}\" ?",
|
||||
"library.field.mixed_data": "Mieszane dane",
|
||||
|
||||
@@ -141,12 +141,9 @@
|
||||
"json_migration.heading.aliases": "Pseudônimos:",
|
||||
"json_migration.heading.colors": "Cores:",
|
||||
"json_migration.heading.differ": "Discrepância",
|
||||
"json_migration.heading.entires": "Registros:",
|
||||
"json_migration.heading.fields": "Campos:",
|
||||
"json_migration.heading.file_extension_list": "Lista de Extensão de Arquivo:",
|
||||
"json_migration.heading.names": "Nomes:",
|
||||
"json_migration.heading.parent_tags": "Tags Pai:",
|
||||
"json_migration.heading.tags": "Tags:",
|
||||
"json_migration.migrating_files_entries": "Migrando {entries:,d} Registros de Arquivos...",
|
||||
"json_migration.migration_complete": "Migração Concluída!",
|
||||
"json_migration.migration_complete_with_discrepancies": "Migração Concluída, Discrepâncias Encontradas",
|
||||
@@ -154,6 +151,9 @@
|
||||
"json_migration.title.new_lib": "<h2>Biblioteca v9.5+</h2>",
|
||||
"json_migration.title.old_lib": "<h2>Biblioteca v9.4</h2>",
|
||||
"landing.open_create_library": "Abrir/Criar Biblioteca {shortcut}",
|
||||
"library_info.stats.entries": "Registros:",
|
||||
"library_info.stats.fields": "Campos:",
|
||||
"library_info.stats.tags": "Tags:",
|
||||
"library.field.add": "Adicionar Campo",
|
||||
"library.field.confirm_remove": "Você tem certeza de que quer remover o campo \"{name}\"?",
|
||||
"library.field.mixed_data": "Dados Mistos",
|
||||
|
||||
@@ -147,16 +147,13 @@
|
||||
"json_migration.heading.aliases": "Andrnamae:",
|
||||
"json_migration.heading.colors": "Varge:",
|
||||
"json_migration.heading.differ": "Tchigauzma",
|
||||
"json_migration.heading.entires": "Shiruzmakaban:",
|
||||
"json_migration.heading.extension_list_type": "Fal fu taksanting tumam:",
|
||||
"json_migration.heading.fields": "Shiruzmafal:",
|
||||
"json_migration.heading.file_extension_list": "Tumam fu mlafufal:",
|
||||
"json_migration.heading.match": "Finnajena sama",
|
||||
"json_migration.heading.names": "Namae:",
|
||||
"json_migration.heading.parent_tags": "Atama festaretol:",
|
||||
"json_migration.heading.paths": "Mlafuplas:",
|
||||
"json_migration.heading.shorthands": "Namaenen:",
|
||||
"json_migration.heading.tags": "Festaretol:",
|
||||
"json_migration.migrating_files_entries": "Ugoki {entries:,d} shiruzmakaban ima...",
|
||||
"json_migration.migration_complete": "Ugokizma owari!",
|
||||
"json_migration.migration_complete_with_discrepancies": "Ugokizma owari, chigauzma finnajena",
|
||||
@@ -165,6 +162,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ Mlafuhuomi</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 Mlafuhuomi</h2>",
|
||||
"landing.open_create_library": "Auki/Maha mlafuhuomi {shortcut}",
|
||||
"library_info.stats.entries": "Shiruzmakaban:",
|
||||
"library_info.stats.fields": "Shiruzmafal:",
|
||||
"library_info.stats.tags": "Festaretol:",
|
||||
"library.field.add": "Nasii shiruzmafal",
|
||||
"library.field.confirm_remove": "Du kestetsa afto \"{name}\" shiruzmafal we?",
|
||||
"library.field.mixed_data": "Viskena shiruzma",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "Псевдонимы:",
|
||||
"json_migration.heading.colors": "Цвета:",
|
||||
"json_migration.heading.differ": "Несоответствие",
|
||||
"json_migration.heading.entires": "Записи:",
|
||||
"json_migration.heading.extension_list_type": "Тип списка расширений:",
|
||||
"json_migration.heading.fields": "Поля:",
|
||||
"json_migration.heading.file_extension_list": "Список расширений файлов:",
|
||||
"json_migration.heading.match": "Совпало",
|
||||
"json_migration.heading.names": "Имена:",
|
||||
"json_migration.heading.parent_tags": "Родительские теги:",
|
||||
"json_migration.heading.paths": "Пути:",
|
||||
"json_migration.heading.shorthands": "Сокращения:",
|
||||
"json_migration.heading.tags": "Теги:",
|
||||
"json_migration.info.description": "Файлы библиотеки, созданные в TagStudio версий <b>9.4 и ниже</b>, необходимо перенести в новый формат <b>v9.5+</b>.<h2>Что важно знать:</h2><ul><li>Ваш текущий файл библиотеки <b><i>НЕ</i></b> будет удалён</li><li>Ваши личные файлы <b><i>НЕ</i></b> будут удалены, перемещены или изменены</li><li>Новый формат сохранения v9.5+ несовместим с предыдущими версиями TagStudio</li></ul><h3>Что изменилось:</h3><ul><li>\"Поля тегов\" заменены на \"Категории тегов\". Теперь теги добавляются напрямую к файлам, а не через поля, и автоматически организуются в категории на основе родительских тегов, отмеченных новым свойством \"Является категорией\" в меню редактирования тегов. Любой тег можно сделать категорией, а дочерние теги будут автоматически группироваться под родительскими тегами, помеченными как категории. Теги \"Избранное\" и \"Архив\" теперь наследуются от нового тега \"Мета-теги\", который по умолчанию помечен как категория.</li><li>Цвета тегов были доработаны и расширены. Некоторые цвета переименованы или объединены, но все существующие цвета будут преобразованы в точные или близкие аналоги в v9.5.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "Мигрируется {entries:,d} записей...",
|
||||
"json_migration.migration_complete": "Миграция завершена!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>Библиотека версии 9.5+</h2>",
|
||||
"json_migration.title.old_lib": "<h2>Библиотека версии 9.4</h2>",
|
||||
"landing.open_create_library": "Открыть/создать библиотеку {shortcut}",
|
||||
"library_info.stats.entries": "Записи:",
|
||||
"library_info.stats.fields": "Поля:",
|
||||
"library_info.stats.tags": "Теги:",
|
||||
"library.field.add": "Добавить поле",
|
||||
"library.field.confirm_remove": "Вы уверены, что хотите удалить поле \"{name}\"?",
|
||||
"library.field.mixed_data": "Смешанные данные",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "மாற்றுப்பெயர்கள்:",
|
||||
"json_migration.heading.colors": "நிறங்கள்:",
|
||||
"json_migration.heading.differ": "முரண்பாடு",
|
||||
"json_migration.heading.entires": "உள்ளீடுகள்:",
|
||||
"json_migration.heading.extension_list_type": "நீட்டிப்பு பட்டியல் வகை:",
|
||||
"json_migration.heading.fields": "புலங்கள்:",
|
||||
"json_migration.heading.file_extension_list": "கோப்பு நீட்டிப்பு பட்டியல்:",
|
||||
"json_migration.heading.match": "பொருந்தியது",
|
||||
"json_migration.heading.names": "பெயர்கள்:",
|
||||
"json_migration.heading.parent_tags": "பெற்றோர் குறிச்சொற்கள்:",
|
||||
"json_migration.heading.paths": "பாதைகள்:",
|
||||
"json_migration.heading.shorthands": "சுருக்கெழுத்து:",
|
||||
"json_migration.heading.tags": "குறிச்சொற்கள்:",
|
||||
"json_migration.info.description": "டேக்ச்டுடியோ பதிப்புகளுடன் உருவாக்கப்பட்ட கோப்புகளை நூலகம் சேமிக்கவும் <b> 9.4 மற்றும் கீழே </b> புதிய <b> v9.5+</b> வடிவத்திற்கு இடம்பெயர வேண்டும். <b> <i> இல்லை </i> </b> நீக்கப்பட வேண்டும், நகர்த்தப்படும் அல்லது மாற்றியமைக்கப்பட வேண்டும் </li> <li> புதிய V9.5+ சேமிக்கும் வடிவமைப்பை டேக்ச்டுடியோவின் முந்தைய பதிப்புகளில் திறக்க முடியாது </li> </ul> <h3> என்ன மாற்றப்பட்டுள்ளது: </h3> <ul> <li> \"குறிச்சொற்கள்\" குறிச்சொற்களால் மாற்றப்பட்டுள்ளன. முதலில் புலங்களில் குறிச்சொற்களைச் சேர்ப்பதற்கு பதிலாக, குறிச்சொற்கள் இப்போது கோப்பு உள்ளீடுகளில் நேரடியாக சேர்க்கப்படுகின்றன. குறிச்சொல் திருத்துதல் பட்டியலில் புதிய \"வகை\" சொத்துடன் குறிக்கப்பட்ட பெற்றோர் குறிச்சொற்களின் அடிப்படையில் அவை தானாகவே வகைகளாக ஒழுங்கமைக்கப்படுகின்றன. எந்தவொரு குறிச்சொல்லையும் ஒரு வகையாகக் குறிக்க முடியும், மேலும் குழந்தை குறிச்சொற்கள் வகைகளாக குறிக்கப்பட்ட பெற்றோர் குறிச்சொற்களுக்கு அடியில் தங்களை வரிசைப்படுத்தும். \"பிடித்த\" மற்றும் \"காப்பகப்படுத்தப்பட்ட\" குறிச்சொற்கள் இப்போது ஒரு புதிய \"மேவு குறிச்சொற்கள்\" குறிச்சொல்லிலிருந்து பெறப்படுகின்றன, இது இயல்புநிலையாக ஒரு வகையாக குறிக்கப்பட்டுள்ளது. </Li> <li> குறிச்சொல் வண்ணங்கள் மாற்றப்பட்டு விரிவாக்கப்பட்டுள்ளன. சில வண்ணங்கள் மறுபெயரிடப்பட்டுள்ளன அல்லது ஒருங்கிணைக்கப்பட்டுள்ளன, இருப்பினும் எல்லா குறிச்சொல் வண்ணங்களும் V9.5 இல் உள்ள சரியான அல்லது நெருக்கமான போட்டிகளாக மாறும். </Li> </ul> <ul>",
|
||||
"json_migration.migrating_files_entries": "இடம்பெயர்வு {entries:,d} கோப்பு உள்ளீடுகள் ...",
|
||||
"json_migration.migration_complete": "இடம்பெயர்வு முடிந்தது!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2> V9.5+ நூலகம் </h2>",
|
||||
"json_migration.title.old_lib": "<h2> V9.4 நூலகம் </h2>",
|
||||
"landing.open_create_library": "நூலகத்தைத் திறக்கவும்/உருவாக்கவும் {shortcut}",
|
||||
"library_info.stats.entries": "உள்ளீடுகள்:",
|
||||
"library_info.stats.fields": "புலங்கள்:",
|
||||
"library_info.stats.tags": "குறிச்சொற்கள்:",
|
||||
"library.field.add": "புலத்தைச் சேர்க்க",
|
||||
"library.field.confirm_remove": "இந்த \"{name}\" புலத்தை நிச்சயமாக அகற்ற விரும்புகிறீர்களா?",
|
||||
"library.field.mixed_data": "கலப்பு தரவு",
|
||||
|
||||
@@ -145,15 +145,12 @@
|
||||
"json_migration.heading.aliases": "nimi ante:",
|
||||
"json_migration.heading.colors": "kule:",
|
||||
"json_migration.heading.differ": "ike",
|
||||
"json_migration.heading.entires": "ijo:",
|
||||
"json_migration.heading.fields": "ma:",
|
||||
"json_migration.heading.file_extension_list": "kulupu pi namako lipu:",
|
||||
"json_migration.heading.match": "sama",
|
||||
"json_migration.heading.names": "nimi:",
|
||||
"json_migration.heading.parent_tags": "poki mama:",
|
||||
"json_migration.heading.paths": "nasin:",
|
||||
"json_migration.heading.shorthands": "nimi lili:",
|
||||
"json_migration.heading.tags": "poki:",
|
||||
"json_migration.info.description": "lipu awen tomo lon nanpa <b>9.4 en tawa</b> li wile tawa nasin nanpa <b>9.5+</b> sin.<br><h2>sina o sona e ni:</h2><ul><li>lipu awen tomo sina lon li weka <b><i>ala</i></b></li><li>lipu pi jo sina li weka <b><i>ala</i></b>, li tawa <b><i>ala</i></b>, li ante <b><i>ala</i></b></li><li>sina ken ala open e nasin awen nanpa 9.5+ lon nanpa tawa pi ilo Tagstudio</li></ul><h3>seme li ante:</h3><ul><li>mi kepeken ala \"ma poki\" li kepeken \"poki ijo poki\". sina pana ala e poki tawa ma, poki li tawa pana lipu. la mi lawa e ona tawa poki ijo tan poki mama pi nasin ijo \"poki ala poki\" lon ma pi poki ante. poki ale li ken poki ijo, en poki kili li lawa e ona sama lon anpa poki mama pi nasin ijo \"poki ijo\". poki \"Favorite\" en poki \"Archived\" li lon anpa poki \"Meta Tags\". meso la poki \"Meta Tags\" li poki ijo.</li><li>kule poki li ante li suli. kule li nimi sin li lili, taso kule poki ala li ante tawa sama lon nanpa 9.5.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "mi tawa e lipu {entries:,d}...",
|
||||
"json_migration.migration_complete": "tawa li pini!",
|
||||
@@ -163,6 +160,9 @@
|
||||
"json_migration.title.new_lib": "<h2>tomo pi ilo nanpa 9.5+</h2>",
|
||||
"json_migration.title.old_lib": "<h2>tomo pi ilo nanpa 9.4</h2>",
|
||||
"landing.open_create_library": "o open anu pali sin e tomo {shortcut}",
|
||||
"library_info.stats.entries": "ijo:",
|
||||
"library_info.stats.fields": "ma:",
|
||||
"library_info.stats.tags": "poki:",
|
||||
"library.field.add": "o pana e ma",
|
||||
"library.field.confirm_remove": "sina wile ala wile weka e ma \"{name}\" ni?",
|
||||
"library.field.mixed_data": "sona nasa",
|
||||
|
||||
@@ -146,16 +146,13 @@
|
||||
"json_migration.heading.aliases": "Takma Adlar:",
|
||||
"json_migration.heading.colors": "Renkler:",
|
||||
"json_migration.heading.differ": "Uyuşmazlık",
|
||||
"json_migration.heading.entires": "Kayıtlar:",
|
||||
"json_migration.heading.extension_list_type": "Uzantı Listesi Türü:",
|
||||
"json_migration.heading.fields": "Ek Bilgiler:",
|
||||
"json_migration.heading.file_extension_list": "Dosya Uzantı Listesi:",
|
||||
"json_migration.heading.match": "Eşleşti",
|
||||
"json_migration.heading.names": "Adlar:",
|
||||
"json_migration.heading.parent_tags": "Üst Etiketler:",
|
||||
"json_migration.heading.paths": "Konumlar:",
|
||||
"json_migration.heading.shorthands": "Kısaltmalar:",
|
||||
"json_migration.heading.tags": "Etiketler:",
|
||||
"json_migration.info.description": "TagStudio'nun <b>9.4 ve altı</b> sürümleriyle oluşturulan kütüphane kayıt dosyaları, yeni <b>v9.5+</b> formatına dönüştürülmesi gerekecek.<br><h2>Bilmeniz gerekenler:</h2><ul><li>Mevcut kütüphane kayıt dosyanız <b><i>SİLİNMEYECEK</i></b></li><li>Kişisel dosyalarınız <b><i>SİLİNMEYECEK</i></b>, taşınmayacak veya değiştirilmeyecek</li><li>Yeni v9.5+ kayıt formatı TagStudio'nun eski sürümlerinde açılamaz</li></ul><h3>Değişenler:</h3><ul><li>\"Etiket Ek Bilgileri\" \"Etiket Kategorileri\" ile değiştirildi. Etiketler artık önce ek bilgilere eklenmek yerine doğrudan dosya kayıtlarına ekleniyor. Daha sonra, etiket düzenleme menüsünde yeni \"Kategori mi\" özelliğiyle işaretlenmiş üst etiketlere göre otomatik olarak kategorilere ayrılırlar. Herhangi bir etiket kategori olarak işaretlenebilir ve alt etiketler, kategori olarak işaretlenmiş üst etiketlerin altına yerleştirilir. \"Favori\" ve \"Arşivlenmiş\" etiketleri artık varsayılan olarak kategori olarak işaretlenmiş yeni bir \"Meta Etiketler\" etiketinden miras alıyor.</li><li>Etiket renkleri ayarlandı ve genişletildi. Bazı renkler yeniden adlandırıldı veya birleştirildi, ancak tüm etiket renkleri hala v9.5'te tam veya yakın eşleşmelere dönüştürülecektir.</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "{entries:,d} Dosya Kaydı Dönüştürülüyor...",
|
||||
"json_migration.migration_complete": "Dönüştürme Tamamlandı!",
|
||||
@@ -165,6 +162,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ Kütüphane</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 Kütüphane</h2>",
|
||||
"landing.open_create_library": "Kütüphane Aç/Oluştur {shortcut}",
|
||||
"library_info.stats.entries": "Kayıtlar:",
|
||||
"library_info.stats.fields": "Ek Bilgiler:",
|
||||
"library_info.stats.tags": "Etiketler:",
|
||||
"library.field.add": "Ek Bilgi Ekle",
|
||||
"library.field.confirm_remove": "Bu \"{name}\" ek bilgisini silmek istediğinden emin misin?",
|
||||
"library.field.mixed_data": "Karışık Veri",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "别名:",
|
||||
"json_migration.heading.colors": "颜色:",
|
||||
"json_migration.heading.differ": "差异",
|
||||
"json_migration.heading.entires": "项目:",
|
||||
"json_migration.heading.extension_list_type": "扩展名列表类型:",
|
||||
"json_migration.heading.fields": "字段:",
|
||||
"json_migration.heading.file_extension_list": "文件扩展名列表:",
|
||||
"json_migration.heading.match": "已匹配",
|
||||
"json_migration.heading.names": "名字:",
|
||||
"json_migration.heading.parent_tags": "上级标签:",
|
||||
"json_migration.heading.paths": "路径:",
|
||||
"json_migration.heading.shorthands": "缩写:",
|
||||
"json_migration.heading.tags": "标签:",
|
||||
"json_migration.info.description": "在 TagStudio <b>9.4 和更早版本</b>建立的仓库存档文件需要迁移至新的 <b>v9.5+</b> 格式.<br><h2>注意事项:</h2><ul><li>你现有的仓库存档文件<b><i>不会</i></b>被删除</li><li>您的个人文件<b><i>不会</i></b>被删除,移动或修改</li><li>新版 v9.5+ 仓库存档格式无法被早期 TagStudio 读取</li></ul><h3>主要变更:</h3><ul><li>\"标签字段\"变更为\"标签分类\"。现在标签直接添加到文件条目,而非先添加至字段。系统会根据标签编辑菜单中标记为\"作为分类\"的父标签自动归类成普通标签和分类标签。任何标签都可设为分类标签,子标签会自动归至其父分类下。\"收藏\"和\"归档\"标签现在继承自新的默认分类标签\"元标签\"。</li><li>标签颜色已进行了调整和扩展。部分颜色已被重新命名或合并,但所有标签颜色在 v9.5 中都会转换为完全匹配或最接近的配色。</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "正在迁移 {entries:,d} 个项目...",
|
||||
"json_migration.migration_complete": "迁移完成!",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.new_lib": "<h2>v9.5+ 仓库</h2>",
|
||||
"json_migration.title.old_lib": "<h2>v9.4 仓库</h2>",
|
||||
"landing.open_create_library": "打开/创建仓库 {shortcut}",
|
||||
"library_info.stats.entries": "项目:",
|
||||
"library_info.stats.fields": "字段:",
|
||||
"library_info.stats.tags": "标签:",
|
||||
"library.field.add": "新增字段",
|
||||
"library.field.confirm_remove": "您确定要移除此 \"{name}\" 字段?",
|
||||
"library.field.mixed_data": "混合数据",
|
||||
|
||||
@@ -150,16 +150,13 @@
|
||||
"json_migration.heading.aliases": "別名:",
|
||||
"json_migration.heading.colors": "顏色:",
|
||||
"json_migration.heading.differ": "差異",
|
||||
"json_migration.heading.entires": "項目:",
|
||||
"json_migration.heading.extension_list_type": "副檔名清單類型:",
|
||||
"json_migration.heading.fields": "欄位:",
|
||||
"json_migration.heading.file_extension_list": "檔案副檔名清單:",
|
||||
"json_migration.heading.match": "已一致",
|
||||
"json_migration.heading.names": "名稱:",
|
||||
"json_migration.heading.parent_tags": "父標籤:",
|
||||
"json_migration.heading.paths": "路徑:",
|
||||
"json_migration.heading.shorthands": "簡寫:",
|
||||
"json_migration.heading.tags": "標籤:",
|
||||
"json_migration.info.description": "TagStudio 版本<b>9.4 以下</b>的文件庫要被轉換至<b>9.5 以上</b>版本的格式。<br><h2>請注意!</h2><ul><li>您現在的文件庫<b><i>不會被</i></b>刪除</li><li>您個人的檔案<b><i>不會被</i></b>刪除、移動或變更</li><li>新的 9.5 以上版本儲存格式不能在 9.5 版本以前的 TagStudio 開啟</li></ul><h3>變更內容:</h3><ul><li>「變遷欄位」被「標籤類別」取代。現在,標籤會被直接加入至檔案項目。然後在標籤編輯選單會根據有「是一個類別」標示的父標籤被自動分類至不同的類別。任何標籤可以被標示為一個類別,而在其之下的子標籤會自己分類至被標示為類別的父標籤底下。</li><li>標籤顏色有經過調整和擴大,有些顏色又被重新命名或合併,但所有的顏色仍會轉換為完全一致或相近的顏色</li></ul><ul>",
|
||||
"json_migration.migrating_files_entries": "正在遷移 {entries:,d} 個項目...",
|
||||
"json_migration.migration_complete_with_discrepancies": "遷移完畢,找到差異",
|
||||
@@ -169,6 +166,9 @@
|
||||
"json_migration.title.old_lib": "<h2>9.4 版本文件庫</h2>",
|
||||
"json_migration.title": "保存格式遷移:「{path}」",
|
||||
"landing.open_create_library": "開啟/建立文件庫 {shortcut}",
|
||||
"library_info.stats.entries": "項目:",
|
||||
"library_info.stats.fields": "欄位:",
|
||||
"library_info.stats.tags": "標籤:",
|
||||
"library_object.name_required": "名稱 (必填)",
|
||||
"library_object.name": "名稱",
|
||||
"library_object.slug_required": "ID Slug (必填)",
|
||||
@@ -322,4 +322,4 @@
|
||||
"window.message.error_opening_library": "開啟文件庫時發生錯誤",
|
||||
"window.title.error": "錯誤",
|
||||
"window.title.open_create_library": "開啟/建立文件庫"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user