diff --git a/CHANGELOG.md b/CHANGELOG.md index 971797ddb..915a136fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ Version counting is based on semantic versioning (Major.Feature.Patch) * Fix comics info export/import and covers package import/export error handling. * Fix grid comic cells info height so the title doesn't overlap the other fields. * Add funtion to open the library root location. +* Add a help dialog for the search engine. Use the drop down menu in the search field. +* Add quick search presets. Use the drop down menu in the search field. ### YACReaderLibraryServer * Add the `repair-library` command to restore missing covers and rescan files that previously failed to be added. diff --git a/YACReaderLibrary/CMakeLists.txt b/YACReaderLibrary/CMakeLists.txt index f5377460b..8730c6c1f 100644 --- a/YACReaderLibrary/CMakeLists.txt +++ b/YACReaderLibrary/CMakeLists.txt @@ -56,6 +56,8 @@ add_library(db_helper STATIC db/reading_list.cpp db/query_lexer.h db/query_lexer.cpp + db/search_field_registry.h + db/search_field_registry.cpp db/query_parser.h db/query_parser.cpp db/search_query.h @@ -94,6 +96,8 @@ qt_add_executable(YACReaderLibrary WIN32 properties_dialog.cpp options_dialog.h options_dialog.cpp + search_syntax_dialog.h + search_syntax_dialog.cpp export_library_dialog.h export_library_dialog.cpp import_library_dialog.h diff --git a/YACReaderLibrary/db/query_parser.cpp b/YACReaderLibrary/db/query_parser.cpp index e79cde4f2..99dcd1a2f 100644 --- a/YACReaderLibrary/db/query_parser.cpp +++ b/YACReaderLibrary/db/query_parser.cpp @@ -6,19 +6,6 @@ #include #include -const std::map> QueryParser::fieldNames { - { FieldType::numeric, { "numpages", "count", "arccount", "alternateCount", "rating" } }, - { FieldType::text, { "date", "number", "arcnumber", "title", "volume", "storyarc", "genere", "writer", "penciller", "inker", "colorist", "letterer", "coverartist", "publisher", "format", "agerating", "synopsis", "characters", "notes", "editor", "imprint", "teams", "locations", "series", "alternateSeries", "alternateNumber", "languageISO", "seriesGroup", "mainCharacterOrTeam", "review", "tags" } }, - { FieldType::boolean, { "color", "read", "edited", "hasBeenOpened" } }, - { FieldType::date, { "added", "lastTimeOpened" } }, - { FieldType::dateFolder, { "added", "updated" } }, - { FieldType::filename, { "filename" } }, - { FieldType::folder, { "folder" } }, - { FieldType::booleanFolder, { "completed", "finished" } }, - { FieldType::enumField, { "type" } }, - { FieldType::enumFieldFolder, { "foldertype" } } -}; - std::string operatorToSQLOperator(const std::string &expOperator) { if (expOperator == ":" || expOperator == "=" || expOperator == "==") { @@ -45,24 +32,24 @@ int QueryParser::TreeNode::buildSqlString(std::string &sqlString, int bindPositi ++bindPosition; if (toLower(children[0].t) == "all") { sqlString += "("; - for (const auto &field : fieldNames.at(FieldType::text)) { + for (const auto &field : searchFieldNames().at(FieldType::Text)) { sqlString += "UPPER(ci." + field + ") LIKE UPPER(:bindPosition" + std::to_string(bindPosition) + ") OR "; } sqlString += "UPPER(c.filename) LIKE UPPER(:bindPosition" + std::to_string(bindPosition) + ") OR "; sqlString += "UPPER(f.name) LIKE UPPER(:bindPosition" + std::to_string(bindPosition) + ")) "; - } else if (isIn(fieldType(children[0].t), { FieldType::numeric, FieldType::date })) { + } else if (isIn(fieldType(children[0].t), { FieldType::Numeric, FieldType::Date })) { sqlString += "ci." + children[0].t + " " + operatorToSQLOperator(expOperator) + " :bindPosition" + std::to_string(bindPosition) + " "; - } else if (isIn(fieldType(children[0].t), { FieldType::dateFolder })) { + } else if (isIn(fieldType(children[0].t), { FieldType::DateFolder })) { sqlString += "f." + children[0].t + " " + operatorToSQLOperator(expOperator) + " :bindPosition" + std::to_string(bindPosition) + " "; - } else if (isIn(fieldType(children[0].t), { FieldType::boolean, FieldType::enumField })) { + } else if (isIn(fieldType(children[0].t), { FieldType::Boolean, FieldType::EnumField })) { sqlString += "ci." + children[0].t + " = :bindPosition" + std::to_string(bindPosition) + " "; - } else if (fieldType(children[0].t) == FieldType::filename) { + } else if (fieldType(children[0].t) == FieldType::Filename) { sqlString += "(UPPER(c." + children[0].t + ") LIKE UPPER(:bindPosition" + std::to_string(bindPosition) + ")) "; - } else if (fieldType(children[0].t) == FieldType::folder) { + } else if (fieldType(children[0].t) == FieldType::Folder) { sqlString += "(UPPER(f.name) LIKE UPPER(:bindPosition" + std::to_string(bindPosition) + ")) "; - } else if (fieldType(children[0].t) == FieldType::booleanFolder) { + } else if (fieldType(children[0].t) == FieldType::BooleanFolder) { sqlString += "f." + children[0].t + " = :bindPosition" + std::to_string(bindPosition) + " "; - } else if (fieldType(children[0].t) == FieldType::enumFieldFolder) { + } else if (fieldType(children[0].t) == FieldType::EnumFieldFolder) { if (children[0].t == "foldertype") { sqlString += "f.type = :bindPosition" + std::to_string(bindPosition) + " "; } else { @@ -99,9 +86,9 @@ int QueryParser::TreeNode::bindValues(QSqlQuery &selectQuery, int bindPosition) { if (t == "expression") { std::string bind_string(":bindPosition" + std::to_string(++bindPosition)); - if (isIn(fieldType(children[0].t), { FieldType::numeric })) { + if (isIn(fieldType(children[0].t), { FieldType::Numeric })) { selectQuery.bindValue(QString::fromStdString(bind_string), std::stoi(children[1].t)); - } else if (isIn(fieldType(children[0].t), { FieldType::boolean, FieldType::booleanFolder })) { + } else if (isIn(fieldType(children[0].t), { FieldType::Boolean, FieldType::BooleanFolder })) { auto value = toLower(children[1].t); if (value == "true") { selectQuery.bindValue(QString::fromStdString(bind_string), 1); @@ -110,7 +97,7 @@ int QueryParser::TreeNode::bindValues(QSqlQuery &selectQuery, int bindPosition) } else { selectQuery.bindValue(QString::fromStdString(bind_string), std::stoi(value)); } - } else if ((isIn(fieldType(children[0].t), { FieldType::enumField, FieldType::enumFieldFolder }))) { + } else if ((isIn(fieldType(children[0].t), { FieldType::EnumField, FieldType::EnumFieldFolder }))) { auto enumType = children[0].t; auto value = toLower(children[1].t); if (enumType == "type" || enumType == "foldertype") { @@ -128,7 +115,7 @@ int QueryParser::TreeNode::bindValues(QSqlQuery &selectQuery, int bindPosition) } else { selectQuery.bindValue(QString::fromStdString(bind_string), std::stoi(children[1].t)); } - } else if ((isIn(fieldType(children[0].t), { FieldType::date, FieldType::dateFolder }))) { + } else if ((isIn(fieldType(children[0].t), { FieldType::Date, FieldType::DateFolder }))) { selectQuery.bindValue(QString::fromStdString(bind_string), QString::fromStdString(parseDate(children[1].t, expOperator))); } else { if (expOperator == "=" || expOperator == ":" || expOperator == "") { @@ -230,13 +217,7 @@ bool QueryParser::isOperatorToken(Token::Type type) QueryParser::FieldType QueryParser::fieldType(const std::string &str) { - for (const auto &names : fieldNames) { - if (std::find(names.second.begin(), names.second.end(), toLower(str)) != names.second.end()) { - return names.first; - } - } - - return FieldType::unknown; + return searchFieldType(str); } std::string QueryParser::join(const QStringList &strings, const std::string &delim) diff --git a/YACReaderLibrary/db/query_parser.h b/YACReaderLibrary/db/query_parser.h index 1e1f5ee5d..20b4e0874 100644 --- a/YACReaderLibrary/db/query_parser.h +++ b/YACReaderLibrary/db/query_parser.h @@ -2,6 +2,7 @@ #define QUERY_PARSER_H #include "query_lexer.h" +#include "search_field_registry.h" #include @@ -84,17 +85,7 @@ class QueryParser bool isOperatorToken(Token::Type type); - enum class FieldType { unknown, - numeric, - text, - boolean, - date, - dateFolder, - folder, - booleanFolder, - filename, - enumField, - enumFieldFolder }; + using FieldType = SearchFieldType; static FieldType fieldType(const std::string &str); static std::string join(const QStringList &strings, const std::string &delim); @@ -106,8 +97,6 @@ class QueryParser TreeNode locationExpression(); TreeNode expression(); TreeNode baseToken(); - - static const std::map> fieldNames; }; #endif // QUERY_PARSER_H diff --git a/YACReaderLibrary/db/search_field_registry.cpp b/YACReaderLibrary/db/search_field_registry.cpp new file mode 100644 index 000000000..338e29296 --- /dev/null +++ b/YACReaderLibrary/db/search_field_registry.cpp @@ -0,0 +1,157 @@ +#include "search_field_registry.h" + +#include + +#include +#include + +namespace { + +QString inputDescription(SearchFieldType type) +{ + switch (type) { + case SearchFieldType::Text: + case SearchFieldType::Filename: + case SearchFieldType::Folder: + return QCoreApplication::translate("SearchFieldRegistry", "Text, quoted text"); + case SearchFieldType::Numeric: + return QCoreApplication::translate("SearchFieldRegistry", "Integer"); + case SearchFieldType::Boolean: + case SearchFieldType::BooleanFolder: + return QCoreApplication::translate("SearchFieldRegistry", "Boolean (true / false)"); + case SearchFieldType::Date: + case SearchFieldType::DateFolder: + return QCoreApplication::translate("SearchFieldRegistry", "Integer (number of days)"); + case SearchFieldType::EnumField: + case SearchFieldType::EnumFieldFolder: + return QCoreApplication::translate("SearchFieldRegistry", "Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma)"); + case SearchFieldType::Unknown: + return { }; + } + + return { }; +} + +SearchFieldDefinition field( + const char *key, + const char *displayName, + const char *description, + const char *example, + SearchFieldType type, + SearchFieldCategory category, + SearchFieldScope scope = SearchFieldScope::Comics) +{ + return { + QString::fromLatin1(key), + QString::fromUtf8(displayName), + QCoreApplication::translate("SearchFieldRegistry", description), + inputDescription(type), + QString::fromLatin1(example), + type, + category, + scope + }; +} + +} + +const std::map> &searchFieldNames() +{ + static const std::map> names { + { SearchFieldType::Numeric, { "numpages", "count", "arccount", "alternateCount", "rating" } }, + { SearchFieldType::Text, { "date", "number", "arcnumber", "title", "volume", "storyarc", "genere", "writer", "penciller", "inker", "colorist", "letterer", "coverartist", "publisher", "format", "agerating", "synopsis", "characters", "notes", "editor", "imprint", "teams", "locations", "series", "alternateSeries", "alternateNumber", "languageISO", "seriesGroup", "mainCharacterOrTeam", "review", "tags" } }, + { SearchFieldType::Boolean, { "color", "read", "edited", "hasBeenOpened" } }, + { SearchFieldType::Date, { "added", "lastTimeOpened" } }, + { SearchFieldType::DateFolder, { "added", "updated" } }, + { SearchFieldType::Filename, { "filename" } }, + { SearchFieldType::Folder, { "folder" } }, + { SearchFieldType::BooleanFolder, { "completed", "finished" } }, + { SearchFieldType::EnumField, { "type" } }, + { SearchFieldType::EnumFieldFolder, { "foldertype" } } + }; + + return names; +} + +SearchFieldType searchFieldType(const std::string &name) +{ + std::string lowerName(name); + std::transform(lowerName.begin(), lowerName.end(), lowerName.begin(), ::tolower); + + for (const auto &[type, names] : searchFieldNames()) { + for (const auto &candidate : names) { + std::string lowerCandidate(candidate); + std::transform(lowerCandidate.begin(), lowerCandidate.end(), lowerCandidate.begin(), ::tolower); + if (lowerCandidate == lowerName) + return type; + } + } + + return SearchFieldType::Unknown; +} + +const QList &searchFieldDefinitions() +{ + using Category = SearchFieldCategory; + using Scope = SearchFieldScope; + using Type = SearchFieldType; + + static const QList definitions { + field("title", "Title", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Comic title"), "title:Moonbound", Type::Text, Category::Common), + field("series", "Series", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Series name"), "series:\"Starfall Chronicles\"", Type::Text, Category::Common), + field("number", "Number", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Issue number"), "number>=10", Type::Text, Category::Common), + field("volume", "Volume", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Volume identifier"), "volume:2", Type::Text, Category::Common), + field("type", "Comic type", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Reading format"), "type:manga", Type::EnumField, Category::Common), + field("rating", "Rating", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Comic rating"), "rating>=4", Type::Numeric, Category::Common), + field("tags", "Tags", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Textual tags"), "tags:\"to review\"", Type::Text, Category::Common), + + field("writer", "Writer", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Writer credit"), "writer:Smith", Type::Text, Category::Credits), + field("penciller", "Penciller", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Penciller credit"), "penciller:\"Alex Smith\"", Type::Text, Category::Credits), + field("inker", "Inker", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Inker credit"), "inker:\"Taylor Reed\"", Type::Text, Category::Credits), + field("colorist", "Colorist", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Colorist credit"), "colorist:\"Morgan Lane\"", Type::Text, Category::Credits), + field("letterer", "Letterer", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Letterer credit"), "letterer:\"Casey Brooks\"", Type::Text, Category::Credits), + field("coverartist", "Cover artist", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Cover artist credit"), "coverartist:\"Jordan Blake\"", Type::Text, Category::Credits), + field("editor", "Editor", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Editor credit"), "editor:\"Avery Stone\"", Type::Text, Category::Credits), + + field("storyarc", "Story arc", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Story arc name"), "storyarc:Afterlight", Type::Text, Category::Story), + field("arcnumber", "Arc number", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Position within a story arc"), "arcnumber>=2", Type::Text, Category::Story), + field("arccount", "Arc count", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Number of issues in a story arc"), "arccount>5", Type::Numeric, Category::Story), + field("characters", "Characters", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Characters appearing in the comic"), "characters:Solara", Type::Text, Category::Story), + field("teams", "Teams", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Teams appearing in the comic"), "teams:\"Aurora Guard\"", Type::Text, Category::Story), + field("locations", "Locations", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Locations appearing in the comic"), "locations:Greyhaven", Type::Text, Category::Story), + field("mainCharacterOrTeam", "Main character or team", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Primary character or team"), "mainCharacterOrTeam:Solara", Type::Text, Category::Story), + field("synopsis", "Synopsis", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Comic synopsis"), "synopsis:\"parallel world\"", Type::Text, Category::Story), + + field("publisher", "Publisher", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Publisher name"), "publisher:ExamplePress", Type::Text, Category::Publication), + field("imprint", "Imprint", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Publishing imprint"), "imprint:\"Silver Line\"", Type::Text, Category::Publication), + field("format", "Format", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Publication format"), "format:annual", Type::Text, Category::Publication), + field("agerating", "Age rating", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Recommended age rating"), "agerating:Teen", Type::Text, Category::Publication), + field("genere", "Genre", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Comic genre"), "genere:Horror", Type::Text, Category::Publication), + field("languageISO", "Language", QT_TRANSLATE_NOOP("SearchFieldRegistry", "ISO language code"), "languageISO:en", Type::Text, Category::Publication), + field("date", "Publication date", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Publication date metadata"), "date:2024", Type::Text, Category::Publication), + field("seriesGroup", "Series group", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Series grouping metadata"), "seriesGroup:\"Pocket Editions\"", Type::Text, Category::Publication), + field("alternateSeries", "Alternate series", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Alternate series name"), "alternateSeries:\"Midnight Tales\"", Type::Text, Category::Publication), + field("alternateNumber", "Alternate number", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Alternate issue number"), "alternateNumber>=10", Type::Text, Category::Publication), + field("alternateCount", "Alternate count", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Alternate series issue count"), "alternateCount>20", Type::Numeric, Category::Publication), + field("count", "Issue count", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Number of issues in the series"), "count>=12", Type::Numeric, Category::Publication), + + field("read", "Read", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Whether the comic is marked as read"), "read:false", Type::Boolean, Category::ReadingAndFiles), + field("hasBeenOpened", "Has been opened", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Whether reading has started"), "hasBeenOpened:true", Type::Boolean, Category::ReadingAndFiles), + field("edited", "Edited", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Whether metadata has been edited"), "edited:true", Type::Boolean, Category::ReadingAndFiles), + field("color", "Color", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Whether the comic is in color"), "color:true", Type::Boolean, Category::ReadingAndFiles), + field("numpages", "Page count", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Number of pages"), "numpages>100", Type::Numeric, Category::ReadingAndFiles), + field("filename", "File name", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Comic file name"), "filename:cbz", Type::Filename, Category::ReadingAndFiles), + field("added", "Date added", QT_TRANSLATE_NOOP("SearchFieldRegistry", "When the item was added"), "added>7", Type::Date, Category::ReadingAndFiles, Scope::ComicsAndFolders), + field("lastTimeOpened", "Last opened", QT_TRANSLATE_NOOP("SearchFieldRegistry", "When the comic was last opened"), "lastTimeOpened>30", Type::Date, Category::ReadingAndFiles), + field("notes", "Notes", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Comic notes"), "notes:\"variant cover\"", Type::Text, Category::ReadingAndFiles), + field("review", "Review", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Review text"), "review:\"highly recommended\"", Type::Text, Category::ReadingAndFiles), + + field("folder", "Folder", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Parent folder name"), "folder:\"Example Comics\"", Type::Folder, Category::Folders, Scope::Folders), + field("foldertype", "Folder type", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Default reading format for the folder"), "foldertype:manga", Type::EnumFieldFolder, Category::Folders, Scope::Folders), + field("completed", "Completed", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Whether the folder is complete"), "completed:true", Type::BooleanFolder, Category::Folders, Scope::Folders), + field("finished", "Finished", QT_TRANSLATE_NOOP("SearchFieldRegistry", "Whether the folder is marked as finished"), "finished:true", Type::BooleanFolder, Category::Folders, Scope::Folders), + field("updated", "Date updated", QT_TRANSLATE_NOOP("SearchFieldRegistry", "When the folder was updated"), "updated>7", Type::DateFolder, Category::Folders, Scope::Folders) + }; + + return definitions; +} diff --git a/YACReaderLibrary/db/search_field_registry.h b/YACReaderLibrary/db/search_field_registry.h new file mode 100644 index 000000000..62bba2339 --- /dev/null +++ b/YACReaderLibrary/db/search_field_registry.h @@ -0,0 +1,55 @@ +#ifndef SEARCH_FIELD_REGISTRY_H +#define SEARCH_FIELD_REGISTRY_H + +#include +#include + +#include +#include +#include + +enum class SearchFieldType { + Unknown, + Numeric, + Text, + Boolean, + Date, + DateFolder, + Folder, + BooleanFolder, + Filename, + EnumField, + EnumFieldFolder +}; + +enum class SearchFieldCategory { + Common, + Credits, + Story, + Publication, + ReadingAndFiles, + Folders +}; + +enum class SearchFieldScope { + Comics, + Folders, + ComicsAndFolders +}; + +struct SearchFieldDefinition { + QString key; + QString displayName; + QString description; + QString input; + QString example; + SearchFieldType type; + SearchFieldCategory category; + SearchFieldScope scope; +}; + +const std::map> &searchFieldNames(); +SearchFieldType searchFieldType(const std::string &name); +const QList &searchFieldDefinitions(); + +#endif // SEARCH_FIELD_REGISTRY_H diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index bb3e7fcd8..12137cc20 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -70,6 +70,7 @@ #include "reading_list_model.h" #include "recent_visibility_coordinator.h" #include "rename_library_dialog.h" +#include "search_syntax_dialog.h" #include "server_config_dialog.h" #include "shortcuts_manager.h" #include "static.h" @@ -500,6 +501,13 @@ void LibraryWindow::createToolBars() libraryToolBar->setSearchWidget(searchEdit); #endif + auto *searchMenu = createSearchMenu(); +#ifdef Y_MAC_UI + libraryToolBar->setSearchMenu(searchMenu); +#else + searchEdit->setSearchMenu(searchMenu); +#endif + editInfoToolBar->setIconSize(QSize(18, 18)); editInfoToolBar->addAction(actions.openComicAction); editInfoToolBar->addSeparator(); @@ -542,6 +550,94 @@ void LibraryWindow::createToolBars() contentViewsManager->comicsView->setToolBar(editInfoToolBar); } +QMenu *LibraryWindow::createSearchMenu() +{ + auto *menu = new QMenu(tr("Search filters"), this); + menu->setMinimumWidth(190); + + auto addFilter = [this, menu](const QString &label, const QString &query) { + auto *action = menu->addAction(label); + connect(action, &QAction::triggered, this, [this, query] { + applySearchQuery(query); + }); + }; + + addFilter(tr("Unread"), QStringLiteral("read:false")); + addFilter( + tr("In progress"), + QStringLiteral("hasBeenOpened:true AND read:false")); + addFilter(tr("Highly rated"), QStringLiteral("rating>=4")); + + auto *recentlyAdded = menu->addAction(tr("Recently added")); + connect(recentlyAdded, &QAction::triggered, this, [this] { + const int days = settings->value(NUM_DAYS_TO_CONSIDER_RECENT, 1).toInt(); + applySearchQuery(QStringLiteral("added>%1").arg(days)); + }); + + menu->addSeparator(); + auto *syntaxAction = menu->addAction(tr("Search syntax…")); + connect(syntaxAction, &QAction::triggered, this, &LibraryWindow::showSearchSyntax); + + return menu; +} + +void LibraryWindow::applySearchQuery(const QString &query) +{ +#ifdef Y_MAC_UI + libraryToolBar->setSearchText(query); + libraryToolBar->focusSearch(); +#else + searchEdit->setText(query); + searchEdit->setFocus(Qt::ShortcutFocusReason); +#endif +} + +void LibraryWindow::setSearchInputEnabled(bool enabled) +{ +#ifdef Y_MAC_UI + libraryToolBar->setSearchEnabled(enabled); +#else + searchEdit->setEnabled(enabled); +#endif +} + +void LibraryWindow::clearSearchInput(bool notify) +{ +#ifdef Y_MAC_UI + libraryToolBar->clearSearchText(notify); +#else + if (notify) + searchEdit->clear(); + else + searchEdit->clearText(); +#endif +} + +void LibraryWindow::focusSearchInput() +{ +#ifdef Y_MAC_UI + libraryToolBar->focusSearch(); +#else + searchEdit->setFocus(Qt::ShortcutFocusReason); +#endif +} + +QString LibraryWindow::searchText() const +{ +#ifdef Y_MAC_UI + return libraryToolBar->searchText(); +#else + return searchEdit->text(); +#endif +} + +void LibraryWindow::showSearchSyntax() +{ + auto *dialog = new SearchSyntaxDialog(this); + dialog->setAttribute(Qt::WA_DeleteOnClose); + dialog->open(); +} + void LibraryWindow::createMenus() { foldersView->addAction(actions.addFolderAction); @@ -747,7 +843,7 @@ void LibraryWindow::createConnections() optionsDialog, serverConfigDialog, recentVisibilityCoordinator); - QObject::connect(actions.focusSearchLineAction, &QAction::triggered, searchEdit, [this] { searchEdit->setFocus(Qt::ShortcutFocusReason); }); + connect(actions.focusSearchLineAction, &QAction::triggered, this, &LibraryWindow::focusSearchInput); // libraryCreator connections connect(createLibraryDialog, &CreateLibraryDialog::createLibrary, this, QOverload::of(&LibraryWindow::create)); @@ -1034,7 +1130,7 @@ void LibraryWindow::loadLibrary(const QString &name) setRootIndex(); - searchEdit->clear(); + clearSearchInput(true); } else if (comparation > 0) { int ret = QMessageBox::question(this, tr("Download new version"), tr("This library was created with a newer version of YACReaderLibrary. Download the new version now?"), QMessageBox::Yes, QMessageBox::No); if (ret == QMessageBox::Yes) @@ -2791,7 +2887,7 @@ void LibraryWindow::closeApp() void LibraryWindow::showNoLibrariesWidget() { actions.disableAllActions(); - searchEdit->setDisabled(true); + setSearchInputEnabled(false); mainWidget->setCurrentIndex(1); } @@ -2800,7 +2896,7 @@ void LibraryWindow::showRootWidget() #ifndef Y_MAC_UI libraryToolBar->setDisabled(false); #endif - searchEdit->setEnabled(true); + setSearchInputEnabled(true); mainWidget->setCurrentIndex(0); } @@ -2811,7 +2907,7 @@ void LibraryWindow::showImportingWidget() #ifndef Y_MAC_UI libraryToolBar->setDisabled(true); #endif - searchEdit->setDisabled(true); + setSearchInputEnabled(false); mainWidget->setCurrentIndex(2); } @@ -3066,7 +3162,7 @@ bool LibraryWindow::exitSearchMode() { if (status != LibraryWindow::Searching) return false; - searchEdit->clearText(); + clearSearchInput(false); clearSearchFilter(); return true; } diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 5a0ba6143..c418d745d 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -28,6 +28,7 @@ class QTreeView; class QDirModel; class QAction; +class QMenu; class QToolBar; class QComboBox; class QThread; @@ -199,6 +200,12 @@ class LibraryWindow : public QMainWindow, protected Themable void doModels(); void setupCoordinators(); bool hasLoadedLibraryModels() const; + QMenu *createSearchMenu(); + void applySearchQuery(const QString &query); + void setSearchInputEnabled(bool enabled); + void clearSearchInput(bool notify); + void focusSearchInput(); + void showSearchSyntax(); QString currentPath(); QString currentFolderPath(); @@ -222,6 +229,7 @@ class LibraryWindow : public QMainWindow, protected Themable public: LibraryWindow(); + QString searchText() const; signals: void libraryUpgraded(const QString &libraryName); diff --git a/YACReaderLibrary/search_syntax_dialog.cpp b/YACReaderLibrary/search_syntax_dialog.cpp new file mode 100644 index 000000000..f90e9e2c6 --- /dev/null +++ b/YACReaderLibrary/search_syntax_dialog.cpp @@ -0,0 +1,393 @@ +#include "search_syntax_dialog.h" + +#include "search_field_registry.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +QLabel *codeLabel(const QString &text, QWidget *parent = nullptr) +{ + auto *label = new QLabel(text, parent); + label->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + label->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); + label->setMargin(6); + label->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); + return label; +} + +QWidget *guideStep( + const QString &title, + const QString &description, + const QString &example, + QWidget *parent) +{ + auto *group = new QGroupBox(title, parent); + group->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); + auto *layout = new QVBoxLayout(group); + auto *descriptionLabel = new QLabel(description, group); + descriptionLabel->setWordWrap(true); + layout->addWidget(descriptionLabel); + layout->addWidget(codeLabel(example, group)); + return group; +} + +void configureReferenceLayout(QFormLayout *layout) +{ + layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); + layout->setRowWrapPolicy(QFormLayout::WrapLongRows); + layout->setFormAlignment(Qt::AlignLeft | Qt::AlignTop); + layout->setLabelAlignment(Qt::AlignLeft | Qt::AlignTop); +} + +void addFormRow(QFormLayout *layout, const QString &syntax, const QString &description) +{ + auto *syntaxLabel = new QLabel(syntax); + syntaxLabel->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + syntaxLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); + + auto *descriptionLabel = new QLabel(description); + descriptionLabel->setWordWrap(true); + layout->addRow(syntaxLabel, descriptionLabel); +} + +QString categoryName(SearchFieldCategory category) +{ + switch (category) { + case SearchFieldCategory::Common: + return SearchSyntaxDialog::tr("Common"); + case SearchFieldCategory::Credits: + return SearchSyntaxDialog::tr("Credits"); + case SearchFieldCategory::Story: + return SearchSyntaxDialog::tr("Story"); + case SearchFieldCategory::Publication: + return SearchSyntaxDialog::tr("Publication"); + case SearchFieldCategory::ReadingAndFiles: + return SearchSyntaxDialog::tr("Reading & files"); + case SearchFieldCategory::Folders: + return SearchSyntaxDialog::tr("Folders"); + } + + return { }; +} + +QList fieldCategories() +{ + return { + SearchFieldCategory::Common, + SearchFieldCategory::Credits, + SearchFieldCategory::Story, + SearchFieldCategory::Publication, + SearchFieldCategory::ReadingAndFiles, + SearchFieldCategory::Folders + }; +} + +QList fieldRow(const SearchFieldDefinition &field) +{ + auto item = [](const QString &text) { + auto *standardItem = new QStandardItem(text); + standardItem->setEditable(false); + standardItem->setToolTip(text); + return standardItem; + }; + + auto *key = item(field.key); + key->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + + auto *example = item(field.example); + example->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + + return { + key, + item(field.description), + item(field.input), + example + }; +} + +void addExample( + QTreeWidgetItem *category, + const QString &query, + const QString &description) +{ + auto *item = new QTreeWidgetItem(category, { query, description }); + item->setFont(0, QFontDatabase::systemFont(QFontDatabase::FixedFont)); + item->setData(0, Qt::UserRole, query); +} + +} + +SearchSyntaxDialog::SearchSyntaxDialog(QWidget *parent) + : QDialog(parent) +{ + setWindowTitle(tr("Search syntax")); + setWindowModality(Qt::WindowModal); + setMinimumSize(760, 480); + resize(900, 560); + + auto *subtitle = new QLabel( + tr("Search every comic and folder field, or build precise queries."), + this); + subtitle->setWordWrap(true); + + auto *tabs = new QTabWidget(this); + tabs->addTab(createQuickGuideTab(), tr("Quick guide")); + tabs->addTab( + createFieldsTab(), + tr("Fields (%1)").arg(searchFieldDefinitions().size())); + tabs->addTab(createExamplesTab(), tr("Examples")); + + auto *buttons = new QDialogButtonBox(QDialogButtonBox::Close, this); + connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::close); + + auto *layout = new QVBoxLayout(this); + layout->addWidget(subtitle); + layout->addWidget(tabs, 1); + layout->addWidget(buttons); +} + +QWidget *SearchSyntaxDialog::createQuickGuideTab() +{ + auto *tab = new QWidget(this); + auto *layout = new QVBoxLayout(tab); + + auto *plainSearch = new QGroupBox(tr("Start with a simple search"), tab); + plainSearch->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); + auto *plainSearchLayout = new QVBoxLayout(plainSearch); + auto *plainSearchDescription = new QLabel( + tr("Just start typing. Plain text search across all metadata."), + plainSearch); + plainSearchDescription->setWordWrap(true); + plainSearchLayout->addWidget(plainSearchDescription); + plainSearchLayout->addWidget(codeLabel(QStringLiteral("san -> searchs `san` in any field of the database"), plainSearch)); + layout->addWidget(plainSearch); + + auto *steps = new QHBoxLayout(); + steps->addWidget(guideStep( + tr("1. Search everywhere"), + tr("Type any text or quoted text."), + QStringLiteral("\"hidden kingdom\""), + tab), + 1, + Qt::AlignTop); + steps->addWidget(guideStep( + tr("2. Target a field"), + tr("Use a field name followed by : or ="), + QStringLiteral("writer:Smith"), + tab), + 1, + Qt::AlignTop); + steps->addWidget(guideStep( + tr("3. Combine conditions"), + tr("Use AND, OR, NOT and parentheses."), + QStringLiteral("read:false AND rating>=4"), + tab), + 1, + Qt::AlignTop); + layout->addLayout(steps); + + auto *reference = new QHBoxLayout(); + + auto *operators = new QGroupBox(tr("Operators"), tab); + operators->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + auto *operatorsLayout = new QFormLayout(operators); + configureReferenceLayout(operatorsLayout); + addFormRow(operatorsLayout, tr(": or ="), tr("contains the text")); + addFormRow(operatorsLayout, QStringLiteral("=="), tr("matches the complete value")); + addFormRow(operatorsLayout, QStringLiteral("> >="), tr("greater than / at least")); + addFormRow(operatorsLayout, QStringLiteral("< <="), tr("less than / at most")); + addFormRow(operatorsLayout, tr("\"quoted text\""), tr("keeps spaces inside one value")); + reference->addWidget(operators, 1); + + auto *dates = new QGroupBox(tr("Dates and grouping"), tab); + dates->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); + auto *datesLayout = new QFormLayout(dates); + configureReferenceLayout(datesLayout); + addFormRow(datesLayout, QStringLiteral("added>7"), tr("added in the last 7 days")); + addFormRow(datesLayout, QStringLiteral("added<30"), tr("added more than 30 days ago")); + addFormRow( + datesLayout, + QStringLiteral("(writer:Smith OR writer:Jones)"), + tr("group alternatives")); + reference->addWidget(dates, 1); + + layout->addLayout(reference); + + auto *tip = new QLabel( + tr("Tips:\nSpaces act like AND, and searches are not case-sensitive.\nUse quotes to include spaces in a value."), + tab); + tip->setWordWrap(true); + layout->addWidget(tip); + layout->addStretch(); + + return tab; +} + +QWidget *SearchSyntaxDialog::createFieldsTab() +{ + auto *tab = new QWidget(this); + auto *layout = new QVBoxLayout(tab); + + auto *filterEdit = new QLineEdit(tab); + filterEdit->setClearButtonEnabled(true); + filterEdit->setPlaceholderText(tr("Find a field…")); + layout->addWidget(filterEdit); + + auto *help = new QLabel( + tr("Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. " + "For date fields, the integer is a number of days (added>7 means added within the last 7 days)."), + tab); + help->setTextFormat(Qt::PlainText); + help->setWordWrap(true); + layout->addWidget(help); + + auto *sourceModel = new QStandardItemModel(tab); + sourceModel->setHorizontalHeaderLabels({ tr("Field"), + tr("Description"), + tr("Input"), + tr("Example") }); + + for (const auto category : fieldCategories()) { + QList categoryRow { + new QStandardItem(categoryName(category)), + new QStandardItem(), + new QStandardItem(), + new QStandardItem() + }; + for (auto *item : categoryRow) + item->setEditable(false); + + auto *categoryItem = categoryRow.first(); + QFont categoryFont = categoryItem->font(); + categoryFont.setBold(true); + categoryItem->setFont(categoryFont); + sourceModel->appendRow(categoryRow); + + for (const auto &field : searchFieldDefinitions()) { + if (field.category == category) + categoryItem->appendRow(fieldRow(field)); + } + } + + auto *proxyModel = new QSortFilterProxyModel(tab); + proxyModel->setSourceModel(sourceModel); + proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); + proxyModel->setFilterKeyColumn(-1); + proxyModel->setRecursiveFilteringEnabled(true); + + auto *fieldsView = new QTreeView(tab); + fieldsView->setModel(proxyModel); + fieldsView->setAlternatingRowColors(true); + fieldsView->setEditTriggers(QAbstractItemView::NoEditTriggers); + fieldsView->setSelectionBehavior(QAbstractItemView::SelectRows); + fieldsView->setUniformRowHeights(true); + fieldsView->setTextElideMode(Qt::ElideRight); + auto *header = fieldsView->header(); + header->setStretchLastSection(false); + header->setMinimumSectionSize(80); + header->setSectionResizeMode(QHeaderView::Interactive); + header->resizeSection(0, 165); + header->resizeSection(1, 205); + header->resizeSection(2, 250); + header->resizeSection(3, 225); + fieldsView->expandAll(); + layout->addWidget(fieldsView, 1); + + connect(filterEdit, &QLineEdit::textChanged, proxyModel, &QSortFilterProxyModel::setFilterFixedString); + connect(filterEdit, &QLineEdit::textChanged, fieldsView, [fieldsView] { + fieldsView->expandAll(); + }); + + return tab; +} + +QWidget *SearchSyntaxDialog::createExamplesTab() +{ + auto *tab = new QWidget(this); + auto *layout = new QVBoxLayout(tab); + + auto *intro = new QLabel( + tr("Examples show the pattern—replace the values with your own."), + tab); + layout->addWidget(intro); + + auto *examples = new QTreeWidget(tab); + examples->setColumnCount(2); + examples->setHeaderLabels({ tr("Query"), tr("What it finds") }); + examples->setAlternatingRowColors(true); + examples->setSelectionBehavior(QAbstractItemView::SelectRows); + examples->setContextMenuPolicy(Qt::CustomContextMenu); + + auto *common = new QTreeWidgetItem(examples, { tr("Common filters") }); + addExample(common, QStringLiteral("read:false"), tr("Unread comics")); + addExample(common, QStringLiteral("hasBeenOpened:true AND read:false"), tr("Comics in progress")); + addExample(common, QStringLiteral("rating>=4"), tr("Highly rated comics")); + addExample(common, QStringLiteral("added>7"), tr("Comics added in the last 7 days")); + + auto *metadata = new QTreeWidgetItem(examples, { tr("Metadata") }); + addExample(metadata, QStringLiteral("series:\"Starfall Chronicles\""), tr("Search by series")); + addExample(metadata, QStringLiteral("writer:Smith"), tr("Search by writer")); + addExample(metadata, QStringLiteral("type:manga"), tr("Manga comics")); + addExample(metadata, QStringLiteral("tags:\"to review\""), tr("Search textual tags")); + + auto *advanced = new QTreeWidgetItem(examples, { tr("Advanced combinations") }); + addExample( + advanced, + QStringLiteral("writer:Smith OR writer:Jones"), + tr("Match either writer")); + addExample( + advanced, + QStringLiteral("(publisher:ExamplePress OR publisher:StoryHouse) read:false"), + tr("Group alternatives")); + addExample(advanced, QStringLiteral("NOT format:annual"), tr("Exclude a value")); + addExample( + advanced, + QStringLiteral("added<30 AND rating>=4"), + tr("Older, highly rated comics")); + + examples->expandAll(); + examples->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents); + examples->header()->setSectionResizeMode(1, QHeaderView::Stretch); + layout->addWidget(examples, 1); + + connect(examples, &QTreeWidget::customContextMenuRequested, examples, [examples, this](const QPoint &position) { + auto *item = examples->itemAt(position); + if (!item) + return; + + const QString query = item->data(0, Qt::UserRole).toString(); + if (query.isEmpty()) + return; + + QMenu menu(examples); + auto *copyAction = menu.addAction(tr("Copy query")); + if (menu.exec(examples->viewport()->mapToGlobal(position)) == copyAction) + QApplication::clipboard()->setText(query); + }); + + auto *note = new QLabel( + tr("Spaces behave like AND. Use quotes for phrases and parentheses to control grouping."), + tab); + note->setWordWrap(true); + layout->addWidget(note); + + return tab; +} diff --git a/YACReaderLibrary/search_syntax_dialog.h b/YACReaderLibrary/search_syntax_dialog.h new file mode 100644 index 000000000..52d600c06 --- /dev/null +++ b/YACReaderLibrary/search_syntax_dialog.h @@ -0,0 +1,19 @@ +#ifndef SEARCH_SYNTAX_DIALOG_H +#define SEARCH_SYNTAX_DIALOG_H + +#include + +class SearchSyntaxDialog : public QDialog +{ + Q_OBJECT + +public: + explicit SearchSyntaxDialog(QWidget *parent = nullptr); + +private: + QWidget *createQuickGuideTab(); + QWidget *createFieldsTab(); + QWidget *createExamplesTab(); +}; + +#endif // SEARCH_SYNTAX_DIALOG_H diff --git a/YACReaderLibrary/themes/theme.h b/YACReaderLibrary/themes/theme.h index 24d10ca77..ace58ba3d 100644 --- a/YACReaderLibrary/themes/theme.h +++ b/YACReaderLibrary/themes/theme.h @@ -342,6 +342,7 @@ struct SearchLineEditTheme { QString lineEditQSS; QString searchLabelQSS; QString clearButtonQSS; + QColor iconColor; QPixmap searchIcon; QPixmap clearIcon; }; diff --git a/YACReaderLibrary/themes/theme_factory.cpp b/YACReaderLibrary/themes/theme_factory.cpp index 9ecf3e6db..5ff700926 100644 --- a/YACReaderLibrary/themes/theme_factory.cpp +++ b/YACReaderLibrary/themes/theme_factory.cpp @@ -816,6 +816,7 @@ Theme makeTheme(const ThemeParams ¶ms) sle.backgroundColor.name()); theme.searchLineEdit.searchLabelQSS = sle.t.searchLabelQSS; theme.searchLineEdit.clearButtonQSS = sle.t.clearButtonQSS; + theme.searchLineEdit.iconColor = sle.iconColor; const qreal dpr = qApp->devicePixelRatio(); theme.searchLineEdit.searchIcon = renderSvgToPixmap(recoloredSvgToThemeFile(":/images/iconSearchNew.svg", sle.iconColor, params.meta.id), 15, dpr); diff --git a/YACReaderLibrary/yacreader_content_views_manager.cpp b/YACReaderLibrary/yacreader_content_views_manager.cpp index e4276cf6c..6abacc2a5 100644 --- a/YACReaderLibrary/yacreader_content_views_manager.cpp +++ b/YACReaderLibrary/yacreader_content_views_manager.cpp @@ -235,7 +235,7 @@ void YACReaderContentViewsManager::switchToComicsView(ComicsView *from, ComicsVi // load content into current view libraryWindow->loadCoversFromCurrentModel(); - if (!libraryWindow->searchEdit->text().isEmpty()) { + if (!libraryWindow->searchText().isEmpty()) { comicsView->enableFilterMode(true); } } diff --git a/YACReaderLibrary/yacreaderlibrary_de.ts b/YACReaderLibrary/yacreaderlibrary_de.ts index 72979b5c3..f3b7d59d5 100644 --- a/YACReaderLibrary/yacreaderlibrary_de.ts +++ b/YACReaderLibrary/yacreaderlibrary_de.ts @@ -808,28 +808,28 @@ LibraryWindow - + The selected folder doesn't contain any library. Der ausgewählte Ordner enthält keine Bibliothek. - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Diese Bibliothek wurde mit einer älteren Version von YACReader erzeugt. Sie muss geupdated werden. Jetzt updaten? - + Comic Komisch - + Error opening the library Fehler beim Öffnen der Bibliothek - - + + YACReader not found YACReader nicht gefunden @@ -838,346 +838,376 @@ Entferne und lösche Metadaten - + Old library Alte Bibliothek - + Set as completed Als gelesen markieren - + Library Bibliothek - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Die Bibliothek wurde mit einer neueren Version von YACReader erstellt. Die neue Version jetzt herunterladen? - + Library '%1' is no longer available. Do you want to remove it? Bibliothek '%1' ist nicht mehr verfügbar. Wollen Sie sie entfernen? - + Open folder... Öffne Ordner... - + Do you want remove Möchten Sie entfernen - + Set as uncompleted Als nicht gelesen markieren - + Error updating the library Fehler beim Updaten der Bibliothek - + Folder Ordner - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? Bibliothek '%1' wurde mit einer älteren Version von YACReader erstellt. Sie muss neu erzeugt werden. Wollen Sie die Bibliothek jetzt erzeugen? - + Set as read Als gelesen markieren - + Library not available Bibliothek nicht verfügbar - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. Es gab ein Problem beim Löschen der ausgewählten Comics. Überprüfen Sie bitte die Schreibberechtigung für die ausgewählten Dateien oder Ordner. - + YACReader Library YACReader Bibliothek - + Error creating the library Fehler beim Erstellen der Bibliothek - + Update needed Update benötigt - + Library name already exists Bibliothek-Name bereits vorhanden - + There is another library with the name '%1'. Es gibt bereits eine Bibliothek mit dem Namen '%1'. - + Download new version Neue Version herunterladen - + Delete comics Comics löschen - + All the selected comics will be deleted from your disk. Are you sure? Alle ausgewählten Comics werden von Ihrer Festplatte gelöscht. Sind Sie sicher? - - + + Set as unread Als ungelesen markieren - + Library not found Bibliothek nicht gefunden - - - + + + manga Manga - - - + + + comic komisch - - - + + + web comic Webcomic - - - + + + western manga (left to right) Western-Manga (von links nach rechts) - - + + Unable to delete Löschen nicht möglich - - - + + + 4koma (top to botom) 4koma (top to botom 4koma (von oben nach unten) - + library? Bibliothek? - + Are you sure? Sind Sie sicher? - + Rescan library for XML info Durchsuchen Sie die Bibliothek erneut nach XML-Informationen - + Add new folder Neuen Ordner erstellen - + Delete folder Ordner löschen - + Update folder Ordner aktualisieren - + Upgrade failed Update gescheitert - + There were errors during library upgrade in: Beim Upgrade der Bibliothek kam es zu Fehlern in: - - + + Copying comics... Kopieren von Comics... - - + + Moving comics... Verschieben von Comics... - + Folder name: Ordnername - + No folder selected Kein Ordner ausgewählt - + Please, select a folder first Bitte wählen Sie zuerst einen Ordner aus - + Error in path Fehler im Pfad - + There was an error accessing the folder's path Beim Aufrufen des Ordnerpfades kam es zu einem Fehler - + The selected folder and all its contents will be deleted from your disk. Are you sure? Der ausgewählte Ordner und sein gesamter Inhalt wird von Ihrer Festplatte gelöscht. Sind Sie sicher? - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. Beim Löschen des ausgewählten Ordners ist ein Problem aufgetreten. Bitte überprüfen Sie die Schreibrechte und stellen Sie sicher, dass keine Anwendung diese Ordner oder die darin enthaltenen Dateien verwendet. - + Add new reading lists Neue Leseliste hinzufügen - - + + List name: Name der Liste - + Delete list/label Ausgewählte/s Liste/Label löschen - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? Das ausgewählte Element wird gelöscht; Ihre Comics oder Ordner werden NICHT von Ihrer Festplatte gelöscht. Sind Sie sicher? - + Rename list name Listenname ändern - - - - + + + + Set type Typ festlegen - + + Search filters + Suchfilter + + + + Unread + Ungelesen + + + + In progress + In Bearbeitung + + + + Highly rated + Hoch bewertet + + + + Recently added + Kürzlich hinzugefügt + + + + Search syntax… + Suchsyntax… + + + A repair of this library is already running (%1). Wait for it to finish. Für diese Bibliothek läuft bereits eine Reparatur (%1). Warten Sie, bis sie abgeschlossen ist. - + The library is locked by a repair that did not finish. Die Bibliothek ist durch eine nicht abgeschlossene Reparatur gesperrt. - + The library is locked by a repair started by %1. Die Bibliothek ist durch eine von %1 gestartete Reparatur gesperrt. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Wenn Sie sicher sind, dass keine andere Reparatur läuft, kann die Sperre entfernt werden. Sperre entfernen und fortfahren? - + Package operation failed - + The covers package operation could not be completed. - + Restore recovery failed Wiederherstellung nach Abbruch fehlgeschlagen - + Set custom cover Legen Sie ein benutzerdefiniertes Cover fest - + Delete custom cover Benutzerdefiniertes Cover löschen - + Save covers Titelbilder speichern - + You are adding too many libraries. Sie fügen zu viele Bibliotheken hinzu. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1190,68 +1220,68 @@ Wahrscheinlich brauchen Sie nur eine Bibliothek in Ihrem obersten Comic-Ordner, YACReaderLibrary wird Sie nicht daran hindern, weitere Bibliotheken zu erstellen, aber Sie sollten die Anzahl der Bibliotheken gering halten. - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader nicht gefunden. YACReader muss im gleichen Ordner installiert sein wie YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader nicht gefunden. Eventuell besteht ein Problem mit Ihrer YACReader-Installation. - + Error Fehler - + Error opening comic with third party reader. Beim Öffnen des Comics mit dem Drittanbieter-Reader ist ein Fehler aufgetreten. - - + + YACReader library database (*.ydb) YACReader-Bibliotheksdatenbank (*.ydb) - + The library database backup was created at: %1 Die Sicherung der Bibliotheksdatenbank wurde hier erstellt: %1 - + Unable to create the library database backup: %1 Die Sicherung der Bibliotheksdatenbank konnte nicht erstellt werden: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Schließen Sie vor der Wiederherstellung YACReaderLibraryServer und alle anderen YACReader-Anwendungen, die diese Bibliothek verwenden. Fortfahren? - + Restoring library database... Bibliotheksdatenbank wird wiederhergestellt... - + The current library database is invalid. Restore the selected backup anyway? Die aktuelle Bibliotheksdatenbank ist ungültig. Die ausgewählte Sicherung trotzdem wiederherstellen? - - + + The library maintenance lock may be stale. Remove it and retry? Die Wartungssperre der Bibliothek ist möglicherweise veraltet. Entfernen und erneut versuchen? - + Restart YACReaderLibrary before attempting recovery again. @@ -1260,71 +1290,71 @@ Restart YACReaderLibrary before attempting recovery again. Starten Sie YACReaderLibrary neu, bevor Sie erneut eine Wiederherstellung versuchen. - + The library database was restored successfully. Update the library now? Die Bibliotheksdatenbank wurde erfolgreich wiederhergestellt. Bibliothek jetzt aktualisieren? - + Library database damaged Bibliotheksdatenbank beschädigt - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. Die Datenbank der Bibliothek '%1' ist beschädigt, daher sind normale Aktualisierungen, Wartungsarbeiten und Sicherungen nicht verfügbar. YACReader kann versuchen, die Datenbank zu reparieren. Einige beschädigte Daten können möglicherweise nicht wiederhergestellt werden. Vorhandene Sicherungen werden nicht verändert. - + Attempt repair Reparatur versuchen - + Restore a backup... Sicherung wiederherstellen... - + Repairing library database... Bibliotheksdatenbank wird repariert... - - - + + + Library database repair Reparatur der Bibliotheksdatenbank - + Another maintenance operation is currently using this library. Try again after it finishes. Ein anderer Wartungsvorgang verwendet diese Bibliothek derzeit. Versuchen Sie es nach dessen Abschluss erneut. - + The library database is already valid. Die Bibliotheksdatenbank ist bereits gültig. - + Library database repaired Bibliotheksdatenbank repariert - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 Die Bibliotheksdatenbank wurde durch den Neuaufbau ihrer Indizes repariert. Das beschädigte Original wurde hier aufbewahrt: %1 - + Library database rebuilt Bibliotheksdatenbank neu aufgebaut - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1335,7 +1365,7 @@ Update the library now? Bibliothek jetzt aktualisieren? - + The damaged original was preserved at: @@ -1346,12 +1376,12 @@ Das beschädigte Original wurde hier aufbewahrt: %1 - + Library database repair failed Reparatur der Bibliotheksdatenbank fehlgeschlagen - + The library database could not be repaired: %1%2 @@ -1362,57 +1392,57 @@ You can restore a backup from the Library menu or recreate the library. Sie können über das Bibliotheksmenü eine Sicherung wiederherstellen oder die Bibliothek neu erstellen. - + Remove and delete metadata and backups Metadaten und Sicherungen entfernen und löschen - + Library info Informationen zur Bibliothek - + Assign comics numbers Comics Nummern zuweisen - + Assign numbers starting in: Nummern zuweisen, beginnend mit: - + Invalid image Ungültiges Bild - + The selected file is not a valid image. Die ausgewählte Datei ist kein gültiges Bild. - + Error saving cover Fehler beim Speichern des Covers - + There was an error saving the cover image. Beim Speichern des Titelbildes ist ein Fehler aufgetreten. - + Remove comics Comics löschen - + Comics will only be deleted from the current label/list. Are you sure? Comics werden nur vom aktuellen Label/der aktuellen Liste gelöscht. Sind Sie sicher? - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2548,6 +2578,279 @@ Um eine automatische Aktualisierung zu stoppen, tippen Sie auf die Ladeanzeige n Anzahl der gefundenen Bände: %1 + + SearchFieldRegistry + + + Text, quoted text + Text, Text in Anführungszeichen + + + + Integer + Ganzzahl + + + + Boolean (true / false) + Boolescher Wert (true / false) + + + + Integer (number of days) + Ganzzahl (Anzahl der Tage) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Aufzählung (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Comictitel + + + + Series name + Serienname + + + + Issue number + Ausgabennummer + + + + Volume identifier + Bandkennung + + + + Reading format + Leseformat + + + + Comic rating + Comicbewertung + + + + Textual tags + Text-Tags + + + + Writer credit + Autor + + + + Penciller credit + Zeichner + + + + Inker credit + Tuscher + + + + Colorist credit + Kolorist + + + + Letterer credit + Letterer + + + + Cover artist credit + Coverzeichner + + + + Editor credit + Redakteur + + + + Story arc name + Name des Handlungsbogens + + + + Position within a story arc + Position innerhalb eines Handlungsbogens + + + + Number of issues in a story arc + Anzahl der Ausgaben in einem Handlungsbogen + + + + Characters appearing in the comic + Im Comic vorkommende Figuren + + + + Teams appearing in the comic + Im Comic vorkommende Teams + + + + Locations appearing in the comic + Im Comic vorkommende Orte + + + + Primary character or team + Hauptfigur oder Hauptteam + + + + Comic synopsis + Comic-Zusammenfassung + + + + Publisher name + Name des Verlags + + + + Publishing imprint + Verlagsimprint + + + + Publication format + Veröffentlichungsformat + + + + Recommended age rating + Empfohlene Altersfreigabe + + + + Comic genre + Comicgenre + + + + ISO language code + ISO-Sprachcode + + + + Publication date metadata + Metadaten zum Veröffentlichungsdatum + + + + Series grouping metadata + Metadaten zur Seriengruppierung + + + + Alternate series name + Alternativer Serienname + + + + Alternate issue number + Alternative Ausgabennummer + + + + Alternate series issue count + Anzahl der Ausgaben der alternativen Serie + + + + Number of issues in the series + Anzahl der Ausgaben in der Serie + + + + Whether the comic is marked as read + Ob der Comic als gelesen markiert ist + + + + Whether reading has started + Ob mit dem Lesen begonnen wurde + + + + Whether metadata has been edited + Ob die Metadaten bearbeitet wurden + + + + Whether the comic is in color + Ob der Comic farbig ist + + + + Number of pages + Seitenzahl + + + + Comic file name + Dateiname des Comics + + + + When the item was added + Wann das Element hinzugefügt wurde + + + + When the comic was last opened + Wann der Comic zuletzt geöffnet wurde + + + + Comic notes + Comicnotizen + + + + Review text + Rezensionstext + + + + Parent folder name + Name des übergeordneten Ordners + + + + Default reading format for the folder + Standard-Leseformat des Ordners + + + + Whether the folder is complete + Ob der Ordner vollständig ist + + + + Whether the folder is marked as finished + Ob der Ordner als beendet markiert ist + + + + When the folder was updated + Wann der Ordner aktualisiert wurde + + SearchSingleComic @@ -2567,6 +2870,301 @@ Um eine automatische Aktualisierung zu stoppen, tippen Sie auf die Ladeanzeige n Verwenden Sie die Suche nach exakten Übereinstimmungen. Deaktivieren Sie diese Option, wenn Sie Bände finden möchten, die mit einigen Wörtern im Namen übereinstimmen. + + SearchSyntaxDialog + + + Common + Allgemein + + + + Credits + Mitwirkende + + + + Story + Handlung + + + + Publication + Veröffentlichung + + + + Reading & files + Lesen und Dateien + + + + Folders + Ordner + + + + Search syntax + Suchsyntax + + + + Search every comic and folder field, or build precise queries. + Durchsuche alle Comic- und Ordnerfelder oder erstelle präzise Abfragen. + + + + Quick guide + Kurzanleitung + + + + Fields (%1) + Felder (%1) + + + + Examples + Beispiele + + + + Start with a simple search + Mit einer einfachen Suche beginnen + + + + Just start typing. Plain text search across all metadata. + Beginne einfach mit der Eingabe. Einfacher Text durchsucht alle Metadaten. + + + + 1. Search everywhere + 1. Überall suchen + + + + Type any text or quoted text. + Gib beliebigen Text oder Text in Anführungszeichen ein. + + + + 2. Target a field + 2. Ein Feld auswählen + + + + Use a field name followed by : or = + Verwende einen Feldnamen gefolgt von : oder = + + + + 3. Combine conditions + 3. Bedingungen kombinieren + + + + Use AND, OR, NOT and parentheses. + Verwende AND, OR, NOT und Klammern. + + + + Operators + Operatoren + + + + : or = + : oder = + + + + contains the text + enthält den Text + + + + matches the complete value + entspricht dem vollständigen Wert + + + + greater than / at least + größer als / mindestens + + + + less than / at most + kleiner als / höchstens + + + + "quoted text" + "Text in Anführungszeichen" + + + + keeps spaces inside one value + behält Leerzeichen innerhalb eines Werts bei + + + + Dates and grouping + Datumsangaben und Gruppierung + + + + added in the last 7 days + in den letzten 7 Tagen hinzugefügt + + + + added more than 30 days ago + vor mehr als 30 Tagen hinzugefügt + + + + group alternatives + gruppiert Alternativen + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Tipps: Leerzeichen wirken wie AND und die Suche unterscheidet nicht zwischen Groß- und Kleinschreibung. Verwende Anführungszeichen für Leerzeichen in einem Wert. + + + + Find a field… + Feld suchen… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + Text kann direkt oder in Anführungszeichen eingegeben werden. Ganzzahlfelder unterstützen <, <=, > und >=. Bei Datumsfeldern steht die Ganzzahl für die Anzahl der Tage (added>7 bedeutet: in den letzten 7 Tagen hinzugefügt). + + + + Field + Feld + + + + Description + Beschreibung + + + + Input + Eingabe + + + + Example + Beispiel + + + + Examples show the pattern—replace the values with your own. + Die Beispiele zeigen das Muster — ersetze die Werte durch deine eigenen. + + + + Query + Abfrage + + + + What it finds + Was gefunden wird + + + + Common filters + Häufige Filter + + + + Unread comics + Ungelesene Comics + + + + Comics in progress + Begonnene Comics + + + + Highly rated comics + Hoch bewertete Comics + + + + Comics added in the last 7 days + In den letzten 7 Tagen hinzugefügte Comics + + + + Metadata + Metadaten + + + + Search by series + Nach Serie suchen + + + + Search by writer + Nach Autor suchen + + + + Manga comics + Manga-Comics + + + + Search textual tags + Text-Tags durchsuchen + + + + Advanced combinations + Erweiterte Kombinationen + + + + Match either writer + Mit einem der Autoren übereinstimmen + + + + Group alternatives + Alternativen gruppieren + + + + Exclude a value + Einen Wert ausschließen + + + + Older, highly rated comics + Ältere, hoch bewertete Comics + + + + Copy query + Abfrage kopieren + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Leerzeichen wirken wie AND. Verwende Anführungszeichen für Ausdrücke und Klammern, um die Gruppierung zu steuern. + + SearchVolume @@ -3189,7 +3787,12 @@ Um eine automatische Aktualisierung zu stoppen, tippen Sie auf die Ladeanzeige n YACReaderSearchLineEdit - + + Search filters + Suchfilter + + + type to search tippen, um zu suchen diff --git a/YACReaderLibrary/yacreaderlibrary_en.ts b/YACReaderLibrary/yacreaderlibrary_en.ts index 321a1b77c..a2aaddd13 100644 --- a/YACReaderLibrary/yacreaderlibrary_en.ts +++ b/YACReaderLibrary/yacreaderlibrary_en.ts @@ -808,311 +808,341 @@ LibraryWindow - + Library Library - + Open folder... Open folder... - - - + + + western manga (left to right) western manga (left to right) - - - + + + 4koma (top to botom) 4koma (top to botom 4koma (top to botom) - + Do you want remove Do you want remove - + YACReader Library YACReader Library - - - + + + manga manga - - - + + + comic comic - + Are you sure? Are you sure? - + Rescan library for XML info Rescan library for XML info - + Set as read Set as read - - + + Set as unread Set as unread - - - + + + web comic web comic - + Add new folder Add new folder - + Delete folder Delete folder - + Set as uncompleted Set as uncompleted - + Set as completed Set as completed - + Update folder Update folder - + Folder Folder - + Comic Comic - + Upgrade failed Upgrade failed - + There were errors during library upgrade in: There were errors during library upgrade in: - + Restore recovery failed Restore recovery failed - + Update needed Update needed - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? - + Download new version Download new version - + This library was created with a newer version of YACReaderLibrary. Download the new version now? This library was created with a newer version of YACReaderLibrary. Download the new version now? - + Library not available Library not available - + Library '%1' is no longer available. Do you want to remove it? Library '%1' is no longer available. Do you want to remove it? - + Old library Old library - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? - - + + Copying comics... Copying comics... - - + + Moving comics... Moving comics... - + Folder name: Folder name: - + No folder selected No folder selected - + Please, select a folder first Please, select a folder first - + Error in path Error in path - + There was an error accessing the folder's path There was an error accessing the folder's path - + The selected folder and all its contents will be deleted from your disk. Are you sure? The selected folder and all its contents will be deleted from your disk. Are you sure? - - + + Unable to delete Unable to delete - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. - + Add new reading lists Add new reading lists - - + + List name: List name: - + Delete list/label Delete list/label - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? - + Rename list name Rename list name - - - - + + + + Set type Set type - + + Search filters + Search filters + + + + Unread + Unread + + + + In progress + In progress + + + + Highly rated + Highly rated + + + + Recently added + Recently added + + + + Search syntax… + Search syntax… + + + A repair of this library is already running (%1). Wait for it to finish. A repair of this library is already running (%1). Wait for it to finish. - + The library is locked by a repair that did not finish. The library is locked by a repair that did not finish. - + The library is locked by a repair started by %1. The library is locked by a repair started by %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? - + Package operation failed - + The covers package operation could not be completed. - + Set custom cover Set custom cover - + Delete custom cover Delete custom cover - + Save covers Save covers - + You are adding too many libraries. You are adding too many libraries. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1125,84 +1155,84 @@ You probably only need one library in your top level comics folder, you can brow YACReaderLibrary will not stop you from creating more libraries but you should keep the number of libraries low. - - + + YACReader not found YACReader not found - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader not found. There might be a problem with your YACReader installation. - + Error Error - + Error opening comic with third party reader. Error opening comic with third party reader. - + Library not found Library not found - + The selected folder doesn't contain any library. The selected folder doesn't contain any library. - - + + YACReader library database (*.ydb) YACReader library database (*.ydb) - + The library database backup was created at: %1 The library database backup was created at: %1 - + Unable to create the library database backup: %1 Unable to create the library database backup: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? - + Restoring library database... Restoring library database... - + The current library database is invalid. Restore the selected backup anyway? The current library database is invalid. Restore the selected backup anyway? - - + + The library maintenance lock may be stale. Remove it and retry? The library maintenance lock may be stale. Remove it and retry? - + Restart YACReaderLibrary before attempting recovery again. @@ -1211,71 +1241,71 @@ Restart YACReaderLibrary before attempting recovery again. Restart YACReaderLibrary before attempting recovery again. - + The library database was restored successfully. Update the library now? The library database was restored successfully. Update the library now? - + Library database damaged Library database damaged - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. - + Attempt repair Attempt repair - + Restore a backup... Restore a backup... - + Repairing library database... Repairing library database... - - - + + + Library database repair Library database repair - + Another maintenance operation is currently using this library. Try again after it finishes. Another maintenance operation is currently using this library. Try again after it finishes. - + The library database is already valid. The library database is already valid. - + Library database repaired Library database repaired - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 - + Library database rebuilt Library database rebuilt - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1286,7 +1316,7 @@ Update the library now? Update the library now? - + The damaged original was preserved at: @@ -1297,12 +1327,12 @@ The damaged original was preserved at: %1 - + Library database repair failed Library database repair failed - + The library database could not be repaired: %1%2 @@ -1313,102 +1343,102 @@ You can restore a backup from the Library menu or recreate the library. You can restore a backup from the Library menu or recreate the library. - + library? library? - + Remove and delete metadata and backups Remove and delete metadata and backups - + Library info Library info - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. - + Assign comics numbers Assign comics numbers - + Assign numbers starting in: Assign numbers starting in: - + Invalid image Invalid image - + The selected file is not a valid image. The selected file is not a valid image. - + Error saving cover Error saving cover - + There was an error saving the cover image. There was an error saving the cover image. - + Error creating the library Error creating the library - + Error updating the library Error updating the library - + Error opening the library Error opening the library - + Delete comics Delete comics - + All the selected comics will be deleted from your disk. Are you sure? All the selected comics will be deleted from your disk. Are you sure? - + Remove comics Remove comics - + Comics will only be deleted from the current label/list. Are you sure? Comics will only be deleted from the current label/list. Are you sure? - + Library name already exists Library name already exists - + There is another library with the name '%1'. There is another library with the name '%1'. - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2544,6 +2574,279 @@ To stop an automatic update tap on the loading indicator next to the Libraries t Number of %1 found : %2 + + SearchFieldRegistry + + + Text, quoted text + Text, quoted text + + + + Integer + Integer + + + + Boolean (true / false) + Boolean (true / false) + + + + Integer (number of days) + Integer (number of days) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Comic title + + + + Series name + Series name + + + + Issue number + Issue number + + + + Volume identifier + Volume identifier + + + + Reading format + Reading format + + + + Comic rating + Comic rating + + + + Textual tags + Textual tags + + + + Writer credit + Writer credit + + + + Penciller credit + Penciller credit + + + + Inker credit + Inker credit + + + + Colorist credit + Colorist credit + + + + Letterer credit + Letterer credit + + + + Cover artist credit + Cover artist credit + + + + Editor credit + Editor credit + + + + Story arc name + Story arc name + + + + Position within a story arc + Position within a story arc + + + + Number of issues in a story arc + Number of issues in a story arc + + + + Characters appearing in the comic + Characters appearing in the comic + + + + Teams appearing in the comic + Teams appearing in the comic + + + + Locations appearing in the comic + Locations appearing in the comic + + + + Primary character or team + Primary character or team + + + + Comic synopsis + Comic synopsis + + + + Publisher name + Publisher name + + + + Publishing imprint + Publishing imprint + + + + Publication format + Publication format + + + + Recommended age rating + Recommended age rating + + + + Comic genre + Comic genre + + + + ISO language code + ISO language code + + + + Publication date metadata + Publication date metadata + + + + Series grouping metadata + Series grouping metadata + + + + Alternate series name + Alternate series name + + + + Alternate issue number + Alternate issue number + + + + Alternate series issue count + Alternate series issue count + + + + Number of issues in the series + Number of issues in the series + + + + Whether the comic is marked as read + Whether the comic is marked as read + + + + Whether reading has started + Whether reading has started + + + + Whether metadata has been edited + Whether metadata has been edited + + + + Whether the comic is in color + Whether the comic is in color + + + + Number of pages + Number of pages + + + + Comic file name + Comic file name + + + + When the item was added + When the item was added + + + + When the comic was last opened + When the comic was last opened + + + + Comic notes + Comic notes + + + + Review text + Review text + + + + Parent folder name + Parent folder name + + + + Default reading format for the folder + Default reading format for the folder + + + + Whether the folder is complete + Whether the folder is complete + + + + Whether the folder is marked as finished + Whether the folder is marked as finished + + + + When the folder was updated + When the folder was updated + + SearchSingleComic @@ -2563,6 +2866,301 @@ To stop an automatic update tap on the loading indicator next to the Libraries t Use exact match search. Disable if you want to find volumes that match some of the words in the name. + + SearchSyntaxDialog + + + Common + Common + + + + Credits + Credits + + + + Story + Story + + + + Publication + Publication + + + + Reading & files + Reading & files + + + + Folders + Folders + + + + Search syntax + Search syntax + + + + Search every comic and folder field, or build precise queries. + Search every comic and folder field, or build precise queries. + + + + Quick guide + Quick guide + + + + Fields (%1) + Fields (%1) + + + + Examples + Examples + + + + Start with a simple search + Start with a simple search + + + + Just start typing. Plain text search across all metadata. + Just start typing. Plain text search across all metadata. + + + + 1. Search everywhere + 1. Search everywhere + + + + Type any text or quoted text. + Type any text or quoted text. + + + + 2. Target a field + 2. Target a field + + + + Use a field name followed by : or = + Use a field name followed by : or = + + + + 3. Combine conditions + 3. Combine conditions + + + + Use AND, OR, NOT and parentheses. + Use AND, OR, NOT and parentheses. + + + + Operators + Operators + + + + : or = + : or = + + + + contains the text + contains the text + + + + matches the complete value + matches the complete value + + + + greater than / at least + greater than / at least + + + + less than / at most + less than / at most + + + + "quoted text" + "quoted text" + + + + keeps spaces inside one value + keeps spaces inside one value + + + + Dates and grouping + Dates and grouping + + + + added in the last 7 days + added in the last 7 days + + + + added more than 30 days ago + added more than 30 days ago + + + + group alternatives + group alternatives + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Tips: Spaces act like AND, and searches are not case-sensitive. Use quotes to include spaces in a value. + + + + Find a field… + Find a field… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + + + + Field + Field + + + + Description + Description + + + + Input + Input + + + + Example + Example + + + + Examples show the pattern—replace the values with your own. + Examples show the pattern—replace the values with your own. + + + + Query + Query + + + + What it finds + What it finds + + + + Common filters + Common filters + + + + Unread comics + Unread comics + + + + Comics in progress + Comics in progress + + + + Highly rated comics + Highly rated comics + + + + Comics added in the last 7 days + Comics added in the last 7 days + + + + Metadata + Metadata + + + + Search by series + Search by series + + + + Search by writer + Search by writer + + + + Manga comics + Manga comics + + + + Search textual tags + Search textual tags + + + + Advanced combinations + Advanced combinations + + + + Match either writer + Match either writer + + + + Group alternatives + Group alternatives + + + + Exclude a value + Exclude a value + + + + Older, highly rated comics + Older, highly rated comics + + + + Copy query + Copy query + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + + SearchVolume @@ -3185,7 +3783,12 @@ To stop an automatic update tap on the loading indicator next to the Libraries t YACReaderSearchLineEdit - + + Search filters + Search filters + + + type to search type to search diff --git a/YACReaderLibrary/yacreaderlibrary_es.ts b/YACReaderLibrary/yacreaderlibrary_es.ts index 960885861..92b760830 100644 --- a/YACReaderLibrary/yacreaderlibrary_es.ts +++ b/YACReaderLibrary/yacreaderlibrary_es.ts @@ -808,28 +808,28 @@ LibraryWindow - + The selected folder doesn't contain any library. La carpeta seleccionada no contiene ninguna biblioteca. - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Esta biblioteca fue creada con una versión anterior de YACReaderLibrary. Es necesario que se actualice. ¿Deseas hacerlo ahora? - + Comic Cómic - + Error opening the library Error abriendo la biblioteca - - + + YACReader not found YACReader no encontrado @@ -838,346 +838,376 @@ Eliminar y borrar metadatos - + Old library Biblioteca antigua - + Set as completed Marcar como completo - + Library Librería - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Esta biblioteca fue creada con una versión más nueva de YACReaderLibrary. ¿Deseas descargar la nueva versión ahora? - + Library '%1' is no longer available. Do you want to remove it? La biblioteca '%1' no está disponible. ¿Deseas eliminarla? - + Open folder... Abrir carpeta... - + Do you want remove ¿Deseas eliminar la biblioteca - + Set as uncompleted Marcar como incompleto - + Error updating the library Error actualizando la biblioteca - + Folder Carpeta - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? La biblioteca '%1' ha sido creada con una versión más antigua de YACReaderLibrary y debe ser creada de nuevo. ¿Deseas crear la biblioteca ahora? - + Set as read Marcar como leído - + Library not available Biblioteca no disponible - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. Ha habido algún problema intentando borrar los cómics selecionados. Por favor, verifica los permisos de escritura en los arhicovs seleccionados o los directorios que los conienen. - + YACReader Library Biblioteca YACReader - + Error creating the library Errar creando la biblioteca - + Update needed Se necesita actualizar - + Library name already exists Ya existe el nombre de la biblioteca - + There is another library with the name '%1'. Hay otra biblioteca con el nombre '%1'. - + Download new version Descargar la nueva versión - + Delete comics Borrar cómics - + All the selected comics will be deleted from your disk. Are you sure? Todos los cómics seleccionados serán borrados de tu disco. ¿Estás seguro? - - + + Set as unread Marcar como no leído - + Library not found Biblioteca no encontrada - - - + + + manga historieta manga - - - + + + comic cómic - - - + + + web comic cómic web - - - + + + western manga (left to right) manga occidental (izquierda a derecha) - - + + Unable to delete No se ha podido borrar - - - + + + 4koma (top to botom) 4koma (top to botom 4koma (de arriba a abajo) - + library? ? - + Are you sure? ¿Estás seguro? - + Rescan library for XML info Volver a escanear la biblioteca en busca de información XML - + Add new folder Añadir carpeta - + Delete folder Borrar carpeta - + Update folder Actualizar carpeta - + Upgrade failed La actualización falló - + There were errors during library upgrade in: Hubo errores durante la actualización de la biblioteca en: - - + + Copying comics... Copiando cómics... - - + + Moving comics... Moviendo cómics... - + Folder name: Nombre de la carpeta: - + No folder selected No has selecionado ninguna carpeta - + Please, select a folder first Por favor, selecciona una carpeta primero - + Error in path Error en la ruta - + There was an error accessing the folder's path Hubo un error al acceder a la ruta de la carpeta - + The selected folder and all its contents will be deleted from your disk. Are you sure? ¿Estás seguro de que deseas eliminar la carpeta seleccionada y todo su contenido de tu disco? - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. Se produjo un problema al intentar eliminar las carpetas seleccionadas. Por favor, verifica los permisos de escritura y asegúrate de que no haya aplicaciones usando estas carpetas o alguno de los archivos contenidos en ellas. - + Add new reading lists Añadir nuevas listas de lectura - - + + List name: Nombre de la lista: - + Delete list/label Eliminar lista/etiqueta - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? El elemento seleccionado se eliminará, tus cómics o carpetas NO se eliminarán de tu disco. ¿Estás seguro? - + Rename list name Renombrar lista - - - - + + + + Set type Establecer tipo - + + Search filters + Filtros de búsqueda + + + + Unread + No leído + + + + In progress + En curso + + + + Highly rated + Con valoración alta + + + + Recently added + Añadido recientemente + + + + Search syntax… + Sintaxis de búsqueda… + + + A repair of this library is already running (%1). Wait for it to finish. Ya se está ejecutando una reparación de esta biblioteca (%1). Espere a que finalice. - + The library is locked by a repair that did not finish. La biblioteca está bloqueada por una reparación que no finalizó. - + The library is locked by a repair started by %1. La biblioteca está bloqueada por una reparación iniciada por %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Si está seguro de que no se está ejecutando ninguna otra reparación, se puede eliminar el bloqueo. ¿Eliminar el bloqueo y continuar? - + Package operation failed - + The covers package operation could not be completed. - + Restore recovery failed Error al recuperar la restauración - + Set custom cover Establecer portada personalizada - + Delete custom cover Eliminar portada personalizada - + Save covers Guardar portadas - + You are adding too many libraries. Estás añadiendo demasiadas bibliotecas. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1190,68 +1220,68 @@ Probablemente solo necesites una biblioteca en la carpeta principal de tus cómi YACReaderLibrary no te detendrá de crear más bibliotecas, pero deberías mantener el número de bibliotecas bajo control. - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader no encontrado. YACReader debería estar instalado en la misma carpeta que YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader no encontrado. Podría haber un problema con tu instalación de YACReader. - + Error Fallo - + Error opening comic with third party reader. Error al abrir el cómic con una aplicación de terceros. - - + + YACReader library database (*.ydb) Base de datos de biblioteca de YACReader (*.ydb) - + The library database backup was created at: %1 La copia de seguridad de la base de datos de la biblioteca se creó en: %1 - + Unable to create the library database backup: %1 No se pudo crear la copia de seguridad de la base de datos de la biblioteca: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Cierra YACReaderLibraryServer y cualquier otra aplicación YACReader que esté usando esta biblioteca antes de restaurarla. ¿Quieres continuar? - + Restoring library database... Restaurando la base de datos de la biblioteca... - + The current library database is invalid. Restore the selected backup anyway? La base de datos actual de la biblioteca no es válida. ¿Quieres restaurar de todos modos la copia seleccionada? - - + + The library maintenance lock may be stale. Remove it and retry? El bloqueo de mantenimiento de la biblioteca puede estar obsoleto. ¿Quieres eliminarlo y volver a intentarlo? - + Restart YACReaderLibrary before attempting recovery again. @@ -1260,71 +1290,71 @@ Restart YACReaderLibrary before attempting recovery again. Reinicia YACReaderLibrary antes de volver a intentar la recuperación. - + The library database was restored successfully. Update the library now? La base de datos de la biblioteca se restauró correctamente. ¿Quieres actualizar la biblioteca ahora? - + Library database damaged Base de datos de la biblioteca dañada - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. La base de datos de la biblioteca '%1' está dañada, por lo que las actualizaciones, el mantenimiento y las copias de seguridad habituales no están disponibles. YACReader puede intentar reparar la base de datos. Es posible que algunos datos dañados no se puedan recuperar. Las copias de seguridad existentes no se modificarán. - + Attempt repair Intentar reparar - + Restore a backup... Restaurar una copia de seguridad... - + Repairing library database... Reparando la base de datos de la biblioteca... - - - + + + Library database repair Reparación de la base de datos de la biblioteca - + Another maintenance operation is currently using this library. Try again after it finishes. Otra operación de mantenimiento está usando esta biblioteca. Vuelve a intentarlo cuando termine. - + The library database is already valid. La base de datos de la biblioteca ya es válida. - + Library database repaired Base de datos de la biblioteca reparada - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 La base de datos de la biblioteca se reparó reconstruyendo sus índices. El original dañado se conservó en: %1 - + Library database rebuilt Base de datos de la biblioteca reconstruida - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1335,7 +1365,7 @@ Update the library now? ¿Quieres actualizar la biblioteca ahora? - + The damaged original was preserved at: @@ -1346,12 +1376,12 @@ El original dañado se conservó en: %1 - + Library database repair failed Error al reparar la base de datos de la biblioteca - + The library database could not be repaired: %1%2 @@ -1362,57 +1392,57 @@ You can restore a backup from the Library menu or recreate the library. Puedes restaurar una copia de seguridad desde el menú Biblioteca o volver a crear la biblioteca. - + Remove and delete metadata and backups Eliminar y borrar metadatos y copias de seguridad - + Library info Información de la biblioteca - + Assign comics numbers Asignar números a los cómics - + Assign numbers starting in: Asignar números comenzando en: - + Invalid image Imagen inválida - + The selected file is not a valid image. El archivo seleccionado no es una imagen válida. - + Error saving cover Error guardando portada - + There was an error saving the cover image. Hubo un error guardando la image de portada. - + Remove comics Eliminar cómics - + Comics will only be deleted from the current label/list. Are you sure? Los cómics sólo se eliminarán de la etiqueta/lista actual. ¿Estás seguro? - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2548,6 +2578,279 @@ Para detener una actualización automática, toca en el indicador de carga junto Número de volúmenes encontrados : %1 + + SearchFieldRegistry + + + Text, quoted text + Texto, texto entre comillas + + + + Integer + Entero + + + + Boolean (true / false) + Booleano (true / false) + + + + Integer (number of days) + Entero (número de días) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Enumeración (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Título del cómic + + + + Series name + Nombre de la serie + + + + Issue number + Número del ejemplar + + + + Volume identifier + Identificador del volumen + + + + Reading format + Formato de lectura + + + + Comic rating + Valoración del cómic + + + + Textual tags + Etiquetas de texto + + + + Writer credit + Crédito de guion + + + + Penciller credit + Crédito de dibujo + + + + Inker credit + Crédito de entintado + + + + Colorist credit + Crédito de color + + + + Letterer credit + Crédito de rotulación + + + + Cover artist credit + Crédito de portada + + + + Editor credit + Crédito de edición + + + + Story arc name + Nombre del arco argumental + + + + Position within a story arc + Posición dentro de un arco argumental + + + + Number of issues in a story arc + Número de ejemplares del arco argumental + + + + Characters appearing in the comic + Personajes que aparecen en el cómic + + + + Teams appearing in the comic + Equipos que aparecen en el cómic + + + + Locations appearing in the comic + Lugares que aparecen en el cómic + + + + Primary character or team + Personaje o equipo principal + + + + Comic synopsis + Sinopsis del cómic + + + + Publisher name + Nombre de la editorial + + + + Publishing imprint + Sello editorial + + + + Publication format + Formato de publicación + + + + Recommended age rating + Clasificación de edad recomendada + + + + Comic genre + Género del cómic + + + + ISO language code + Código de idioma ISO + + + + Publication date metadata + Metadatos de la fecha de publicación + + + + Series grouping metadata + Metadatos de agrupación de series + + + + Alternate series name + Nombre alternativo de la serie + + + + Alternate issue number + Número alternativo del ejemplar + + + + Alternate series issue count + Cantidad de ejemplares de la serie alternativa + + + + Number of issues in the series + Número de ejemplares de la serie + + + + Whether the comic is marked as read + Si el cómic está marcado como leído + + + + Whether reading has started + Si la lectura ha comenzado + + + + Whether metadata has been edited + Si se han editado los metadatos + + + + Whether the comic is in color + Si el cómic es en color + + + + Number of pages + Número de páginas + + + + Comic file name + Nombre del archivo del cómic + + + + When the item was added + Cuándo se añadió el elemento + + + + When the comic was last opened + Cuándo se abrió el cómic por última vez + + + + Comic notes + Notas del cómic + + + + Review text + Texto de la reseña + + + + Parent folder name + Nombre de la carpeta superior + + + + Default reading format for the folder + Formato de lectura predeterminado de la carpeta + + + + Whether the folder is complete + Si la carpeta está completa + + + + Whether the folder is marked as finished + Si la carpeta está marcada como finalizada + + + + When the folder was updated + Cuándo se actualizó la carpeta + + SearchSingleComic @@ -2567,6 +2870,301 @@ Para detener una actualización automática, toca en el indicador de carga junto Usar búsqueda exacta. Desactívala si quieres encontrar volúmenes que coincidan con algunas palabras del nombre. + + SearchSyntaxDialog + + + Common + Común + + + + Credits + Créditos + + + + Story + Historia + + + + Publication + Publicación + + + + Reading & files + Lectura y archivos + + + + Folders + Carpetas + + + + Search syntax + Sintaxis de búsqueda + + + + Search every comic and folder field, or build precise queries. + Busca en todos los campos de cómics y carpetas o crea consultas precisas. + + + + Quick guide + Guía rápida + + + + Fields (%1) + Campos (%1) + + + + Examples + Ejemplos + + + + Start with a simple search + Empieza con una búsqueda sencilla + + + + Just start typing. Plain text search across all metadata. + Solo tienes que empezar a escribir. El texto simple busca en todos los metadatos. + + + + 1. Search everywhere + 1. Buscar en todas partes + + + + Type any text or quoted text. + Escribe cualquier texto o texto entre comillas. + + + + 2. Target a field + 2. Buscar en un campo + + + + Use a field name followed by : or = + Usa el nombre de un campo seguido de : o = + + + + 3. Combine conditions + 3. Combinar condiciones + + + + Use AND, OR, NOT and parentheses. + Usa AND, OR, NOT y paréntesis. + + + + Operators + Operadores + + + + : or = + : o = + + + + contains the text + contiene el texto + + + + matches the complete value + coincide con el valor completo + + + + greater than / at least + mayor que / como mínimo + + + + less than / at most + menor que / como máximo + + + + "quoted text" + "texto entre comillas" + + + + keeps spaces inside one value + mantiene los espacios dentro de un único valor + + + + Dates and grouping + Fechas y agrupación + + + + added in the last 7 days + añadido en los últimos 7 días + + + + added more than 30 days ago + añadido hace más de 30 días + + + + group alternatives + agrupa alternativas + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Consejos: los espacios funcionan como AND y las búsquedas no distinguen entre mayúsculas y minúsculas. Usa comillas para incluir espacios en un valor. + + + + Find a field… + Buscar un campo… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + El texto puede introducirse directamente o entre comillas. Los campos de enteros admiten <, <=, > y >=. En los campos de fecha, el entero es un número de días (added>7 significa añadido en los últimos 7 días). + + + + Field + Campo + + + + Description + Descripción + + + + Input + Entrada + + + + Example + Ejemplo + + + + Examples show the pattern—replace the values with your own. + Los ejemplos muestran el patrón; sustituye los valores por los tuyos. + + + + Query + Consulta + + + + What it finds + Qué encuentra + + + + Common filters + Filtros comunes + + + + Unread comics + Cómics no leídos + + + + Comics in progress + Cómics en curso + + + + Highly rated comics + Cómics con valoración alta + + + + Comics added in the last 7 days + Cómics añadidos en los últimos 7 días + + + + Metadata + Metadatos + + + + Search by series + Buscar por serie + + + + Search by writer + Buscar por guionista + + + + Manga comics + Cómics manga + + + + Search textual tags + Buscar etiquetas de texto + + + + Advanced combinations + Combinaciones avanzadas + + + + Match either writer + Coincide con cualquiera de los guionistas + + + + Group alternatives + Agrupar alternativas + + + + Exclude a value + Excluir un valor + + + + Older, highly rated comics + Cómics antiguos con valoración alta + + + + Copy query + Copiar consulta + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Los espacios funcionan como AND. Usa comillas para las frases y paréntesis para controlar la agrupación. + + SearchVolume @@ -3189,7 +3787,12 @@ Para detener una actualización automática, toca en el indicador de carga junto YACReaderSearchLineEdit - + + Search filters + Filtros de búsqueda + + + type to search escribe para buscar diff --git a/YACReaderLibrary/yacreaderlibrary_fr.ts b/YACReaderLibrary/yacreaderlibrary_fr.ts index d9fb7b388..c88b09c15 100644 --- a/YACReaderLibrary/yacreaderlibrary_fr.ts +++ b/YACReaderLibrary/yacreaderlibrary_fr.ts @@ -808,50 +808,50 @@ LibraryWindow - + The selected folder doesn't contain any library. Le dossier sélectionné ne contient aucune librairie. - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Cette librairie a été créée avec une ancienne version de YACReaderLibrary. Mise à jour necessaire. Mettre à jour? - + Comic Bande dessinée - + Error opening the library Erreur lors de l'ouverture de la librairie - - - + + + manga mangas - - - + + + comic comique - - - + + + western manga (left to right) manga occidental (de gauche à droite) - - - + + + 4koma (top to botom) 4koma (top to botom 4koma (de haut en bas) @@ -861,84 +861,84 @@ Supprimer les métadata - + Old library Ancienne librairie - + Set as completed Marquer comme complet - + Library Librairie - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Cette librairie a été créée avec une version plus récente de YACReaderLibrary. Télécharger la nouvelle version? - - + + Moving comics... Déplacer la bande dessinée... - - + + Copying comics... Copier la bande dessinée... - + Library '%1' is no longer available. Do you want to remove it? La librarie '%1' n'est plus disponible. Voulez-vous la supprimer? - + Open folder... Ouvrir le dossier... - + Do you want remove Voulez-vous supprimer - + Set as uncompleted Marquer comme incomplet - + Error updating the library Erreur lors de la mise à jour de la librairie - + Folder Dossier - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? L'élément sélectionné sera supprimé, vos bandes dessinées ou dossiers ne seront pas supprimés de votre disque. Êtes-vous sûr? - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? La librarie '%1' a été créée avec une ancienne version de YACReaderLibrary. Elle doit être re-créée. Voulez-vous créer la librairie? - + Add new reading lists Ajouter de nouvelles listes de lecture - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -951,302 +951,332 @@ Vous n'avez probablement besoin que d'une bibliothèque dans votre dos YACReaderLibrary ne vous empêchera pas de créer plus de bibliothèques, mais vous devriez garder le nombre de bibliothèques bas. - + Set as read Marquer comme lu - + Library not available Librairie non disponible - + YACReader Library Librairie de YACReader - + Error creating the library Erreur lors de la création de la librairie - + Update folder Mettre à jour le dossier - + Update needed Mise à jour requise - + Library name already exists Le nom de la librairie existe déjà - + There is another library with the name '%1'. Une autre librairie a le nom '%1'. - + Download new version Téléchrger la nouvelle version - + Delete comics Supprimer les comics - + All the selected comics will be deleted from your disk. Are you sure? Tous les comics sélectionnés vont être supprimés de votre disque. Êtes-vous sûr? - - + + Set as unread Marquer comme non-lu - + Library not found Librairie introuvable - + library? la librairie? - + Are you sure? Êtes-vous sûr? - + Rescan library for XML info Réanalyser la bibliothèque pour les informations XML - - - + + + web comic bande dessinée Web - + Add new folder Ajouter un nouveau dossier - + Delete folder Supprimer le dossier - + Upgrade failed La mise à niveau a échoué - + There were errors during library upgrade in: Des erreurs se sont produites lors de la mise à niveau de la bibliothèque dans : - + Folder name: Nom du dossier : - + No folder selected Aucun dossier sélectionné - + Please, select a folder first Veuillez d'abord sélectionner un dossier - + Error in path Erreur dans le chemin - + There was an error accessing the folder's path Une erreur s'est produite lors de l'accès au chemin du dossier - + The selected folder and all its contents will be deleted from your disk. Are you sure? Le dossier sélectionné et tout son contenu seront supprimés de votre disque. Es-tu sûr? - - + + Unable to delete Impossible de supprimer - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. Un problème est survenu lors de la tentative de suppression des dossiers sélectionnés. Veuillez vérifier les autorisations d'écriture et assurez-vous que toutes les applications utilisent ces dossiers ou l'un des fichiers contenus. - - + + List name: Nom de la liste : - + Delete list/label Supprimer la liste/l'étiquette - + Rename list name Renommer le nom de la liste - - - - + + + + Set type Définir le type - + + Search filters + Filtres de recherche + + + + Unread + Non lus + + + + In progress + En cours + + + + Highly rated + Très bien notés + + + + Recently added + Ajoutés récemment + + + + Search syntax… + Syntaxe de recherche… + + + A repair of this library is already running (%1). Wait for it to finish. Une réparation de cette librairie est déjà en cours (%1). Attendez qu'elle se termine. - + The library is locked by a repair that did not finish. La librairie est verrouillée par une réparation qui ne s'est pas terminée. - + The library is locked by a repair started by %1. La librairie est verrouillée par une réparation démarrée par %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Si vous êtes sûr qu'aucune autre réparation n'est en cours, le verrou peut être supprimé. Supprimer le verrou et continuer ? - + Package operation failed - + The covers package operation could not be completed. - + Restore recovery failed Échec de la récupération de la restauration - + Set custom cover Définir une couverture personnalisée - + Delete custom cover Supprimer la couverture personnalisée - + Save covers Enregistrer les couvertures - + You are adding too many libraries. Vous ajoutez trop de bibliothèques. - - + + YACReader not found YACReader introuvable - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader introuvable. YACReader doit être installé dans le même dossier que YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader introuvable. Il se peut qu'il y ait un problème avec votre installation de YACReader. - + Error Erreur - + Error opening comic with third party reader. Erreur lors de l'ouverture de la bande dessinée avec un lecteur tiers. - - + + YACReader library database (*.ydb) Base de données de bibliothèque YACReader (*.ydb) - + The library database backup was created at: %1 La sauvegarde de la base de données de la bibliothèque a été créée ici : %1 - + Unable to create the library database backup: %1 Impossible de créer la sauvegarde de la base de données de la bibliothèque : %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Fermez YACReaderLibraryServer et toute autre application YACReader utilisant cette bibliothèque avant la restauration. Continuer ? - + Restoring library database... Restauration de la base de données de la bibliothèque... - + The current library database is invalid. Restore the selected backup anyway? La base de données actuelle de la bibliothèque n'est pas valide. Restaurer quand même la sauvegarde sélectionnée ? - - + + The library maintenance lock may be stale. Remove it and retry? Le verrou de maintenance de la bibliothèque est peut-être obsolète. Le supprimer et réessayer ? - + Restart YACReaderLibrary before attempting recovery again. @@ -1255,71 +1285,71 @@ Restart YACReaderLibrary before attempting recovery again. Redémarrez YACReaderLibrary avant de tenter à nouveau la récupération. - + The library database was restored successfully. Update the library now? La base de données de la bibliothèque a été restaurée. Mettre à jour la bibliothèque maintenant ? - + Library database damaged Base de données de la bibliothèque endommagée - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. La base de données de la bibliothèque « %1 » est endommagée. Les mises à jour, la maintenance et les sauvegardes habituelles sont donc indisponibles. YACReader peut tenter de réparer la base de données. Certaines données endommagées peuvent être irrécupérables. Les sauvegardes existantes ne seront pas modifiées. - + Attempt repair Tenter la réparation - + Restore a backup... Restaurer une sauvegarde... - + Repairing library database... Réparation de la base de données... - - - + + + Library database repair Réparation de la base de données de la bibliothèque - + Another maintenance operation is currently using this library. Try again after it finishes. Une autre opération de maintenance utilise actuellement cette bibliothèque. Réessayez lorsqu'elle sera terminée. - + The library database is already valid. La base de données de la bibliothèque est déjà valide. - + Library database repaired Base de données de la bibliothèque réparée - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 La base de données de la bibliothèque a été réparée en reconstruisant ses index. L'original endommagé a été conservé ici : %1 - + Library database rebuilt Base de données de la bibliothèque reconstruite - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1330,7 +1360,7 @@ Update the library now? Mettre à jour la bibliothèque maintenant ? - + The damaged original was preserved at: @@ -1341,12 +1371,12 @@ L'original endommagé a été conservé ici : %1 - + Library database repair failed Échec de la réparation de la base de données - + The library database could not be repaired: %1%2 @@ -1357,62 +1387,62 @@ You can restore a backup from the Library menu or recreate the library. Vous pouvez restaurer une sauvegarde depuis le menu Bibliothèque ou recréer la bibliothèque. - + Remove and delete metadata and backups Retirer et supprimer les métadonnées et les sauvegardes - + Library info Informations sur la bibliothèque - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. Un problème est survenu lors de la tentative de suppression des bandes dessinées sélectionnées. Veuillez vérifier les autorisations d'écriture dans les fichiers sélectionnés ou le dossier contenant. - + Assign comics numbers Attribuer des numéros de bandes dessinées - + Assign numbers starting in: Attribuez des numéros commençant par : - + Invalid image Image invalide - + The selected file is not a valid image. Le fichier sélectionné n'est pas une image valide. - + Error saving cover Erreur lors de l'enregistrement de la couverture - + There was an error saving the cover image. Une erreur s'est produite lors de l'enregistrement de l'image de couverture. - + Remove comics Supprimer les bandes dessinées - + Comics will only be deleted from the current label/list. Are you sure? Les bandes dessinées seront uniquement supprimées du label/liste actuelle. Es-tu sûr? - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2548,6 +2578,279 @@ Pour arrêter une mise à jour automatique, appuyez sur l'indicateur de cha Nombre de %1 trouvés : %2 + + SearchFieldRegistry + + + Text, quoted text + Texte, texte entre guillemets + + + + Integer + Entier + + + + Boolean (true / false) + Booléen (true / false) + + + + Integer (number of days) + Entier (nombre de jours) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Énumération (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Titre de la bande dessinée + + + + Series name + Nom de la série + + + + Issue number + Numéro du fascicule + + + + Volume identifier + Identifiant du volume + + + + Reading format + Format de lecture + + + + Comic rating + Note de la bande dessinée + + + + Textual tags + Étiquettes textuelles + + + + Writer credit + Crédit du scénariste + + + + Penciller credit + Crédit du dessinateur + + + + Inker credit + Crédit de l'encreur + + + + Colorist credit + Crédit du coloriste + + + + Letterer credit + Crédit du lettreur + + + + Cover artist credit + Crédit de l'artiste de couverture + + + + Editor credit + Crédit de l'éditeur + + + + Story arc name + Nom de l'arc narratif + + + + Position within a story arc + Position dans un arc narratif + + + + Number of issues in a story arc + Nombre de fascicules dans un arc narratif + + + + Characters appearing in the comic + Personnages apparaissant dans la bande dessinée + + + + Teams appearing in the comic + Équipes apparaissant dans la bande dessinée + + + + Locations appearing in the comic + Lieux apparaissant dans la bande dessinée + + + + Primary character or team + Personnage ou équipe principale + + + + Comic synopsis + Synopsis de la bande dessinée + + + + Publisher name + Nom de la maison d'édition + + + + Publishing imprint + Label éditorial + + + + Publication format + Format de publication + + + + Recommended age rating + Classification d'âge recommandée + + + + Comic genre + Genre de la bande dessinée + + + + ISO language code + Code de langue ISO + + + + Publication date metadata + Métadonnées de date de publication + + + + Series grouping metadata + Métadonnées de regroupement des séries + + + + Alternate series name + Autre nom de la série + + + + Alternate issue number + Autre numéro de fascicule + + + + Alternate series issue count + Nombre de fascicules de l'autre série + + + + Number of issues in the series + Nombre de fascicules dans la série + + + + Whether the comic is marked as read + Si la bande dessinée est marquée comme lue + + + + Whether reading has started + Si la lecture a commencé + + + + Whether metadata has been edited + Si les métadonnées ont été modifiées + + + + Whether the comic is in color + Si la bande dessinée est en couleur + + + + Number of pages + Nombre de pages + + + + Comic file name + Nom du fichier de la bande dessinée + + + + When the item was added + Date d'ajout de l'élément + + + + When the comic was last opened + Dernière ouverture de la bande dessinée + + + + Comic notes + Notes de la bande dessinée + + + + Review text + Texte de la critique + + + + Parent folder name + Nom du dossier parent + + + + Default reading format for the folder + Format de lecture par défaut du dossier + + + + Whether the folder is complete + Si le dossier est complet + + + + Whether the folder is marked as finished + Si le dossier est marqué comme terminé + + + + When the folder was updated + Date de mise à jour du dossier + + SearchSingleComic @@ -2567,6 +2870,301 @@ Pour arrêter une mise à jour automatique, appuyez sur l'indicateur de cha Utilisez la recherche de correspondance exacte. Désactivez-la si vous souhaitez rechercher des volumes correspondant à certains mots du nom. + + SearchSyntaxDialog + + + Common + Commun + + + + Credits + Crédits + + + + Story + Histoire + + + + Publication + Publication + + + + Reading & files + Lecture et fichiers + + + + Folders + Dossiers + + + + Search syntax + Syntaxe de recherche + + + + Search every comic and folder field, or build precise queries. + Recherchez dans tous les champs des bandes dessinées et des dossiers, ou créez des requêtes précises. + + + + Quick guide + Guide rapide + + + + Fields (%1) + Champs (%1) + + + + Examples + Exemples + + + + Start with a simple search + Commencer par une recherche simple + + + + Just start typing. Plain text search across all metadata. + Commencez simplement à saisir du texte. Le texte simple est recherché dans toutes les métadonnées. + + + + 1. Search everywhere + 1. Rechercher partout + + + + Type any text or quoted text. + Saisissez du texte ou du texte entre guillemets. + + + + 2. Target a field + 2. Cibler un champ + + + + Use a field name followed by : or = + Utilisez un nom de champ suivi de : ou = + + + + 3. Combine conditions + 3. Combiner des conditions + + + + Use AND, OR, NOT and parentheses. + Utilisez AND, OR, NOT et des parenthèses. + + + + Operators + Opérateurs + + + + : or = + : ou = + + + + contains the text + contient le texte + + + + matches the complete value + correspond à la valeur complète + + + + greater than / at least + supérieur à / au moins + + + + less than / at most + inférieur à / au plus + + + + "quoted text" + "texte entre guillemets" + + + + keeps spaces inside one value + conserve les espaces dans une seule valeur + + + + Dates and grouping + Dates et regroupement + + + + added in the last 7 days + ajouté au cours des 7 derniers jours + + + + added more than 30 days ago + ajouté il y a plus de 30 jours + + + + group alternatives + regroupe les alternatives + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Conseils : les espaces agissent comme AND et les recherches ne tiennent pas compte de la casse. Utilisez des guillemets pour inclure des espaces dans une valeur. + + + + Find a field… + Rechercher un champ… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + Le texte peut être saisi directement ou entre guillemets. Les champs entiers acceptent <, <=, > et >=. Pour les champs de date, l'entier est un nombre de jours (added>7 signifie ajouté au cours des 7 derniers jours). + + + + Field + Champ + + + + Description + Description + + + + Input + Saisie + + + + Example + Exemple + + + + Examples show the pattern—replace the values with your own. + Les exemples montrent le modèle — remplacez les valeurs par les vôtres. + + + + Query + Requête + + + + What it finds + Résultat + + + + Common filters + Filtres courants + + + + Unread comics + Bandes dessinées non lues + + + + Comics in progress + Bandes dessinées en cours de lecture + + + + Highly rated comics + Bandes dessinées très bien notées + + + + Comics added in the last 7 days + Bandes dessinées ajoutées au cours des 7 derniers jours + + + + Metadata + Métadonnées + + + + Search by series + Rechercher par série + + + + Search by writer + Rechercher par scénariste + + + + Manga comics + Mangas + + + + Search textual tags + Rechercher les étiquettes textuelles + + + + Advanced combinations + Combinaisons avancées + + + + Match either writer + Correspond à l'un des scénaristes + + + + Group alternatives + Regrouper les alternatives + + + + Exclude a value + Exclure une valeur + + + + Older, highly rated comics + Bandes dessinées anciennes et très bien notées + + + + Copy query + Copier la requête + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Les espaces agissent comme AND. Utilisez des guillemets pour les expressions et des parenthèses pour contrôler le regroupement. + + SearchVolume @@ -3189,7 +3787,12 @@ Pour arrêter une mise à jour automatique, appuyez sur l'indicateur de cha YACReaderSearchLineEdit - + + Search filters + Filtres de recherche + + + type to search tapez pour rechercher diff --git a/YACReaderLibrary/yacreaderlibrary_it.ts b/YACReaderLibrary/yacreaderlibrary_it.ts index 546c73f9b..6dd8fca8c 100644 --- a/YACReaderLibrary/yacreaderlibrary_it.ts +++ b/YACReaderLibrary/yacreaderlibrary_it.ts @@ -808,48 +808,48 @@ LibraryWindow - + The selected folder doesn't contain any library. La cartella selezionata non contiene nessuna Libreria. - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Questa libreria è stata creata con una versione precedente di YACREaderLibrary. Deve essere aggiornata. Aggiorno ora? - + Comic Fumetto - + Folder name: Nome della cartella: - + The selected folder and all its contents will be deleted from your disk. Are you sure? La cartella seleziona e tutto il suo contenuto verranno cancellati dal tuo disco. Sei sicuro? - + Error opening the library Errore nell'apertura della libreria - - + + YACReader not found YACReader non trovato - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. C'è stato un problema cancellando le cartelle selezionate. Per favore controlla i tuoi permessi di scrittura e sii sicuro che non ci siano altre applicazioni che usano le stesse cartelle. - + Rename list name Rinomina la lista @@ -858,110 +858,110 @@ Rimuovi e cancella i Metadati - + Old library Vecchia libreria - + Set as completed Segna come completo - + There was an error accessing the folder's path C'è stato un errore nell'accesso al percorso della cartella - + Library Libreria - + Comics will only be deleted from the current label/list. Are you sure? I fumetti verranno cancellati dall'etichetta/lista corrente. Sei sicuro? - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Questa libreria è stata creata con una verisone più recente di YACReaderLibrary. Scarico la versione aggiornata ora? - - + + Moving comics... Sto muovendo i fumetti... - - + + Copying comics... Sto copiando i fumetti... - + Library '%1' is no longer available. Do you want to remove it? La libreria '%1' non è più disponibile, la vuoi cancellare? - + Open folder... Apri Cartella... - + Do you want remove Vuoi rimuovere - + Set as uncompleted Segna come non completo - + Error in path Errore nel percorso - + Error updating the library Errore aggiornando la libreria - + Folder Cartella - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? Gli elementi selezionati verranno cancellati, i tuoi fumetti o cartella NON verranno cancellati dal tuo disco. Sei sicuro? - - + + List name: Nome lista: - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? La libreria '%1' è stata creata con una versione precedente di YACREaderLibrary. Deve essere ricreata. Lo vuoi fare ora? - + Save covers Salva Copertine - + Add new reading lists Aggiungi una lista di lettura - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -974,298 +974,328 @@ Hai probabilemnte bisogno di una sola Libreria al livello superiore, puoi poi na YACReader non ti fermerà dal creare altre librerie ma è meglio se terrai il numero di librerie basso. - + Set as read Setta come letto - + Library info Informazioni sulla biblioteca - + Assign comics numbers Assegna un numero ai fumetti - + Please, select a folder first Per cortesia prima seleziona una cartella - + Library not available Libreria non disponibile - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. C'è un problema nel cancellare i fumetti selezionati. Per favore controlla i tuoi permessi di scrittura sui file o sulla cartella. - + YACReader Library Libreria YACReader - + Error creating the library Errore creando la libreria - + You are adding too many libraries. Stai aggiungendto troppe librerie. - + Update folder Aggiorna Cartella - + Update needed Devi aggiornarmi - + Library name already exists Esiste già una libreria con lo stesso nome - + There is another library with the name '%1'. Esiste già una libreria con il nome '%1'. - + Delete folder Cancella Cartella - + Assign numbers starting in: Assegna numeri partendo da: - + Download new version Scarica la nuova versione - + Remove and delete metadata and backups Rimuovi ed elimina metadati e backup - + Invalid image Immagine non valida - + The selected file is not a valid image. Il file selezionato non è un'immagine valida. - + Error saving cover Errore durante il salvataggio della copertina - + There was an error saving the cover image. Si è verificato un errore durante il salvataggio dell'immagine di copertina. - + Delete comics Cancella i fumetti - + Add new folder Aggiungi una nuova cartella - + Delete list/label Cancella Lista/Etichetta - + No folder selected Nessuna cartella selezionata - + All the selected comics will be deleted from your disk. Are you sure? Tutti i fumetti selezionati saranno cancellati dal tuo disco. Sei sicuro? - + Remove comics Rimuovi i fumetti - - + + Set as unread Setta come non letto - + Library not found Libreria non trovata - - - + + + manga Manga - - - + + + comic comico - - - + + + web comic fumetto web - - - + + + western manga (left to right) manga occidentale (da sinistra a destra) - - + + Unable to delete Non posso cancellare - - - + + + 4koma (top to botom) 4koma (dall'alto verso il basso) - - - - + + Search filters + Filtri di ricerca + + + + Unread + Non letti + + + + In progress + In corso + + + + Highly rated + Con valutazione alta + + + + Recently added + Aggiunti di recente + + + + Search syntax… + Sintassi di ricerca… + + + + + + Set type Imposta il tipo - + A repair of this library is already running (%1). Wait for it to finish. È già in corso una riparazione di questa libreria (%1). Attendere il completamento. - + The library is locked by a repair that did not finish. La libreria è bloccata da una riparazione non completata. - + The library is locked by a repair started by %1. La libreria è bloccata da una riparazione avviata da %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Se sei sicuro che non sia in corso nessun'altra riparazione, il blocco può essere rimosso. Rimuovere il blocco e continuare? - + Package operation failed - + The covers package operation could not be completed. - + Restore recovery failed Recupero del ripristino non riuscito - + Set custom cover Imposta la copertina personalizzata - + Delete custom cover Elimina la copertina personalizzata - + Error Errore - + Error opening comic with third party reader. Errore nell'apertura del fumetto con un lettore di terze parti. - - + + YACReader library database (*.ydb) Database della libreria YACReader (*.ydb) - + The library database backup was created at: %1 Il backup del database della libreria è stato creato in: %1 - + Unable to create the library database backup: %1 Impossibile creare il backup del database della libreria: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Chiudi YACReaderLibraryServer e qualsiasi altra applicazione YACReader che usa questa libreria prima del ripristino. Continuare? - + Restoring library database... Ripristino del database della libreria... - + The current library database is invalid. Restore the selected backup anyway? Il database attuale della libreria non è valido. Ripristinare comunque il backup selezionato? - - + + The library maintenance lock may be stale. Remove it and retry? Il blocco di manutenzione della libreria potrebbe essere obsoleto. Rimuoverlo e riprovare? - + Restart YACReaderLibrary before attempting recovery again. @@ -1274,71 +1304,71 @@ Restart YACReaderLibrary before attempting recovery again. Riavvia YACReaderLibrary prima di tentare nuovamente il recupero. - + The library database was restored successfully. Update the library now? Il database della libreria è stato ripristinato correttamente. Aggiornare la libreria ora? - + Library database damaged Database della libreria danneggiato - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. Il database della libreria '%1' è danneggiato, quindi gli aggiornamenti, la manutenzione e i backup normali non sono disponibili. YACReader può tentare di riparare il database. Alcuni dati danneggiati potrebbero non essere recuperabili. I backup esistenti non verranno modificati. - + Attempt repair Tenta la riparazione - + Restore a backup... Ripristina un backup... - + Repairing library database... Riparazione del database della libreria... - - - + + + Library database repair Riparazione del database della libreria - + Another maintenance operation is currently using this library. Try again after it finishes. Un'altra operazione di manutenzione sta usando questa libreria. Riprova al termine. - + The library database is already valid. Il database della libreria è già valido. - + Library database repaired Database della libreria riparato - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 Il database della libreria è stato riparato ricostruendone gli indici. L'originale danneggiato è stato conservato in: %1 - + Library database rebuilt Database della libreria ricostruito - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1349,7 +1379,7 @@ Update the library now? Aggiornare la libreria ora? - + The damaged original was preserved at: @@ -1360,12 +1390,12 @@ L'originale danneggiato è stato conservato in: %1 - + Library database repair failed Riparazione del database della libreria non riuscita - + The library database could not be repaired: %1%2 @@ -1376,42 +1406,42 @@ You can restore a backup from the Library menu or recreate the library. Puoi ripristinare un backup dal menu Libreria o ricreare la libreria. - + library? Libreria? - + Are you sure? Sei sicuro? - + Rescan library for XML info Eseguire nuovamente la scansione della libreria per informazioni XML - + Upgrade failed Aggiornamento non riuscito - + There were errors during library upgrade in: Si sono verificati errori durante l'aggiornamento della libreria in: - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader non trovato. YACReader deve essere installato nella stessa cartella di YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader non trovato. Potrebbe esserci un problema con l'installazione di YACReader. - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2547,6 +2577,279 @@ Per interrompere un aggiornamento automatico, tocca l'indicatore di caricam Numero di volumi trovati: %1 + + SearchFieldRegistry + + + Text, quoted text + Testo, testo tra virgolette + + + + Integer + Intero + + + + Boolean (true / false) + Booleano (true / false) + + + + Integer (number of days) + Intero (numero di giorni) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Enumerazione (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Titolo del fumetto + + + + Series name + Nome della serie + + + + Issue number + Numero dell'albo + + + + Volume identifier + Identificatore del volume + + + + Reading format + Formato di lettura + + + + Comic rating + Valutazione del fumetto + + + + Textual tags + Tag testuali + + + + Writer credit + Credito dello sceneggiatore + + + + Penciller credit + Credito del disegnatore + + + + Inker credit + Credito dell'inchiostratore + + + + Colorist credit + Credito del colorista + + + + Letterer credit + Credito del letterista + + + + Cover artist credit + Credito dell'artista di copertina + + + + Editor credit + Credito dell'editor + + + + Story arc name + Nome dell'arco narrativo + + + + Position within a story arc + Posizione nell'arco narrativo + + + + Number of issues in a story arc + Numero di albi nell'arco narrativo + + + + Characters appearing in the comic + Personaggi presenti nel fumetto + + + + Teams appearing in the comic + Squadre presenti nel fumetto + + + + Locations appearing in the comic + Luoghi presenti nel fumetto + + + + Primary character or team + Personaggio o squadra principale + + + + Comic synopsis + Sinossi del fumetto + + + + Publisher name + Nome dell'editore + + + + Publishing imprint + Marchio editoriale + + + + Publication format + Formato di pubblicazione + + + + Recommended age rating + Classificazione per età consigliata + + + + Comic genre + Genere del fumetto + + + + ISO language code + Codice lingua ISO + + + + Publication date metadata + Metadati della data di pubblicazione + + + + Series grouping metadata + Metadati di raggruppamento delle serie + + + + Alternate series name + Nome alternativo della serie + + + + Alternate issue number + Numero alternativo dell'albo + + + + Alternate series issue count + Numero di albi della serie alternativa + + + + Number of issues in the series + Numero di albi nella serie + + + + Whether the comic is marked as read + Se il fumetto è contrassegnato come letto + + + + Whether reading has started + Se la lettura è iniziata + + + + Whether metadata has been edited + Se i metadati sono stati modificati + + + + Whether the comic is in color + Se il fumetto è a colori + + + + Number of pages + Numero di pagine + + + + Comic file name + Nome del file del fumetto + + + + When the item was added + Quando l'elemento è stato aggiunto + + + + When the comic was last opened + Quando il fumetto è stato aperto l'ultima volta + + + + Comic notes + Note del fumetto + + + + Review text + Testo della recensione + + + + Parent folder name + Nome della cartella superiore + + + + Default reading format for the folder + Formato di lettura predefinito della cartella + + + + Whether the folder is complete + Se la cartella è completa + + + + Whether the folder is marked as finished + Se la cartella è contrassegnata come terminata + + + + When the folder was updated + Quando la cartella è stata aggiornata + + SearchSingleComic @@ -2566,6 +2869,301 @@ Per interrompere un aggiornamento automatico, tocca l'indicatore di caricam Utilizza la ricerca con corrispondenza esatta. Disabilitare se si desidera trovare volumi che corrispondono ad alcune delle parole nel nome. + + SearchSyntaxDialog + + + Common + Comuni + + + + Credits + Crediti + + + + Story + Storia + + + + Publication + Pubblicazione + + + + Reading & files + Lettura e file + + + + Folders + Cartelle + + + + Search syntax + Sintassi di ricerca + + + + Search every comic and folder field, or build precise queries. + Cerca in tutti i campi dei fumetti e delle cartelle oppure crea query precise. + + + + Quick guide + Guida rapida + + + + Fields (%1) + Campi (%1) + + + + Examples + Esempi + + + + Start with a simple search + Inizia con una ricerca semplice + + + + Just start typing. Plain text search across all metadata. + Inizia a digitare. Il testo semplice viene cercato in tutti i metadati. + + + + 1. Search everywhere + 1. Cerca ovunque + + + + Type any text or quoted text. + Digita un testo qualsiasi o un testo tra virgolette. + + + + 2. Target a field + 2. Scegli un campo + + + + Use a field name followed by : or = + Usa il nome di un campo seguito da : oppure = + + + + 3. Combine conditions + 3. Combina le condizioni + + + + Use AND, OR, NOT and parentheses. + Usa AND, OR, NOT e le parentesi. + + + + Operators + Operatori + + + + : or = + : oppure = + + + + contains the text + contiene il testo + + + + matches the complete value + corrisponde al valore completo + + + + greater than / at least + maggiore di / almeno + + + + less than / at most + minore di / al massimo + + + + "quoted text" + "testo tra virgolette" + + + + keeps spaces inside one value + mantiene gli spazi all'interno di un unico valore + + + + Dates and grouping + Date e raggruppamento + + + + added in the last 7 days + aggiunto negli ultimi 7 giorni + + + + added more than 30 days ago + aggiunto più di 30 giorni fa + + + + group alternatives + raggruppa le alternative + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Suggerimenti: gli spazi funzionano come AND e le ricerche non distinguono tra maiuscole e minuscole. Usa le virgolette per includere spazi in un valore. + + + + Find a field… + Trova un campo… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + Il testo può essere inserito direttamente o tra virgolette. I campi interi supportano <, <=, > e >=. Nei campi data, l'intero è un numero di giorni (added>7 significa aggiunto negli ultimi 7 giorni). + + + + Field + Campo + + + + Description + Descrizione + + + + Input + Input + + + + Example + Esempio + + + + Examples show the pattern—replace the values with your own. + Gli esempi mostrano lo schema: sostituisci i valori con i tuoi. + + + + Query + Query + + + + What it finds + Cosa trova + + + + Common filters + Filtri comuni + + + + Unread comics + Fumetti non letti + + + + Comics in progress + Fumetti in corso di lettura + + + + Highly rated comics + Fumetti con valutazione alta + + + + Comics added in the last 7 days + Fumetti aggiunti negli ultimi 7 giorni + + + + Metadata + Metadati + + + + Search by series + Cerca per serie + + + + Search by writer + Cerca per sceneggiatore + + + + Manga comics + Fumetti manga + + + + Search textual tags + Cerca nei tag testuali + + + + Advanced combinations + Combinazioni avanzate + + + + Match either writer + Corrisponde a uno dei due sceneggiatori + + + + Group alternatives + Raggruppa le alternative + + + + Exclude a value + Escludi un valore + + + + Older, highly rated comics + Fumetti meno recenti con valutazione alta + + + + Copy query + Copia query + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Gli spazi funzionano come AND. Usa le virgolette per le frasi e le parentesi per controllare il raggruppamento. + + SearchVolume @@ -3188,7 +3786,12 @@ Per interrompere un aggiornamento automatico, tocca l'indicatore di caricam YACReaderSearchLineEdit - + + Search filters + Filtri di ricerca + + + type to search Digita per cercare diff --git a/YACReaderLibrary/yacreaderlibrary_ko.ts b/YACReaderLibrary/yacreaderlibrary_ko.ts index 768d3ef18..a334582c7 100644 --- a/YACReaderLibrary/yacreaderlibrary_ko.ts +++ b/YACReaderLibrary/yacreaderlibrary_ko.ts @@ -808,311 +808,341 @@ LibraryWindow - + Library 라이브러리 - + Open folder... 폴더 열기... - - - + + + western manga (left to right) 서양 만화 (왼쪽 → 오른쪽) - - - + + + 4koma (top to botom) 4koma (top to botom 4컷 (위 → 아래) - + Do you want remove 다음을 제거하시겠습니까: - + YACReader Library YACReader Library - - - + + + manga 망가 - - - + + + comic 만화 - + Are you sure? 확실합니까? - + Rescan library for XML info XML 정보로 라이브러리 재검색 - + Set as read 읽음으로 표시 - - + + Set as unread 읽지 않음으로 표시 - - - + + + web comic 웹 만화 - + Add new folder 새 폴더 추가 - + Delete folder 폴더 삭제 - + Set as uncompleted 미완료로 표시 - + Set as completed 완료로 표시 - + Update folder 폴더 업데이트 - + Folder 폴더 - + Comic 만화 - + Upgrade failed 업그레이드 실패 - + There were errors during library upgrade in: 라이브러리 업그레이드 중 오류 발생: - + Restore recovery failed 복원 복구 실패 - + Update needed 업데이트 필요 - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? 이 라이브러리는 YACReaderLibrary의 이전 버전으로 만들어졌습니다. 업데이트가 필요합니다. 지금 업데이트하시겠습니까? - + Download new version 새 버전 내려받기 - + This library was created with a newer version of YACReaderLibrary. Download the new version now? 이 라이브러리는 YACReaderLibrary의 최신 버전으로 만들어졌습니다. 지금 새 버전을 내려받으시겠습니까? - + Library not available 라이브러리를 사용할 수 없습니다 - + Library '%1' is no longer available. Do you want to remove it? '%1' 라이브러리를 더 이상 사용할 수 없습니다. 제거하시겠습니까? - + Old library 오래된 라이브러리 - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? '%1' 라이브러리는 이전 버전의 YACReaderLibrary로 만들어졌습니다. 다시 만들어야 합니다. 지금 만드시겠습니까? - - + + Copying comics... 만화 복사 중... - - + + Moving comics... 만화 이동 중... - + Folder name: 폴더 이름: - + No folder selected 선택된 폴더 없음 - + Please, select a folder first 먼저 폴더를 선택하세요 - + Error in path 경로 오류 - + There was an error accessing the folder's path 폴더 경로에 접근하는 중 오류가 발생했습니다 - + The selected folder and all its contents will be deleted from your disk. Are you sure? 선택한 폴더와 그 안의 모든 내용이 디스크에서 삭제됩니다. 계속하시겠습니까? - - + + Unable to delete 삭제할 수 없음 - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. 선택한 폴더를 삭제하는 중 문제가 발생했습니다. 쓰기 권한을 확인하고, 다른 응용 프로그램이 이 폴더나 안의 파일을 사용 중인지 확인하세요. - + Add new reading lists 새 읽기 목록 추가 - - + + List name: 목록 이름: - + Delete list/label 목록/라벨 삭제 - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? 선택한 항목이 삭제됩니다. 디스크에서 만화나 폴더는 삭제되지 않습니다. 계속하시겠습니까? - + Rename list name 목록 이름 변경 - - - - + + + + Set type 유형 설정 - + + Search filters + 검색 필터 + + + + Unread + 읽지 않음 + + + + In progress + 읽는 중 + + + + Highly rated + 높은 평점 + + + + Recently added + 최근 추가 + + + + Search syntax… + 검색 구문… + + + A repair of this library is already running (%1). Wait for it to finish. 이 라이브러리에 대한 복구가 이미 진행 중입니다 (%1). 완료될 때까지 기다려 주세요. - + The library is locked by a repair that did not finish. 라이브러리가 완료되지 않은 복구에 의해 잠겨 있습니다. - + The library is locked by a repair started by %1. 라이브러리가 %1에서 시작한 복구에 의해 잠겨 있습니다. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? 다른 복구가 실행 중이 아니라고 확신하면 잠금을 해제할 수 있습니다. 잠금을 해제하고 계속하시겠습니까? - + Package operation failed - + The covers package operation could not be completed. - + Set custom cover 사용자 지정 표지 설정 - + Delete custom cover 사용자 지정 표지 삭제 - + Save covers 표지 저장 - + You are adding too many libraries. 라이브러리를 너무 많이 추가하고 있습니다. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1125,84 +1155,84 @@ YACReaderLibrary will not stop you from creating more libraries but you should k YACReaderLibrary는 라이브러리를 더 만드는 것을 막지 않지만, 라이브러리 수는 적게 유지하는 것이 좋습니다. - - + + YACReader not found YACReader를 찾을 수 없음 - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader를 찾을 수 없습니다. YACReader는 YACReaderLibrary와 같은 폴더에 설치되어야 합니다. - + YACReader not found. There might be a problem with your YACReader installation. YACReader를 찾을 수 없습니다. YACReader 설치에 문제가 있을 수 있습니다. - + Error 오류 - + Error opening comic with third party reader. 타사 뷰어로 만화를 여는 중 오류가 발생했습니다. - + Library not found 라이브러리를 찾을 수 없음 - + The selected folder doesn't contain any library. 선택한 폴더에 라이브러리가 없습니다. - - + + YACReader library database (*.ydb) YACReader 라이브러리 데이터베이스 (*.ydb) - + The library database backup was created at: %1 라이브러리 데이터베이스 백업을 다음 위치에 만들었습니다: %1 - + Unable to create the library database backup: %1 라이브러리 데이터베이스 백업을 만들 수 없습니다: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? 복원하기 전에 YACReaderLibraryServer와 이 라이브러리를 사용하는 다른 모든 YACReader 애플리케이션을 종료하세요. 계속하시겠습니까? - + Restoring library database... 라이브러리 데이터베이스 복원 중... - + The current library database is invalid. Restore the selected backup anyway? 현재 라이브러리 데이터베이스가 유효하지 않습니다. 선택한 백업을 그래도 복원하시겠습니까? - - + + The library maintenance lock may be stale. Remove it and retry? 라이브러리 유지 관리 잠금이 오래된 것일 수 있습니다. 잠금을 제거하고 다시 시도하시겠습니까? - + Restart YACReaderLibrary before attempting recovery again. @@ -1211,71 +1241,71 @@ Restart YACReaderLibrary before attempting recovery again. 복구를 다시 시도하기 전에 YACReaderLibrary를 다시 시작하세요. - + The library database was restored successfully. Update the library now? 라이브러리 데이터베이스를 성공적으로 복원했습니다. 지금 라이브러리를 업데이트하시겠습니까? - + Library database damaged 라이브러리 데이터베이스 손상 - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. '%1' 라이브러리의 데이터베이스가 손상되어 일반 업데이트, 유지 관리 및 백업을 사용할 수 없습니다. YACReader가 데이터베이스 복구를 시도할 수 있습니다. 손상된 일부 데이터는 복구하지 못할 수 있습니다. 기존 백업은 변경되지 않습니다. - + Attempt repair 복구 시도 - + Restore a backup... 백업 복원... - + Repairing library database... 라이브러리 데이터베이스 복구 중... - - - + + + Library database repair 라이브러리 데이터베이스 복구 - + Another maintenance operation is currently using this library. Try again after it finishes. 현재 다른 유지 관리 작업에서 이 라이브러리를 사용 중입니다. 작업이 끝난 후 다시 시도하세요. - + The library database is already valid. 라이브러리 데이터베이스가 이미 유효합니다. - + Library database repaired 라이브러리 데이터베이스 복구됨 - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 인덱스를 다시 빌드하여 라이브러리 데이터베이스를 복구했습니다. 손상된 원본은 다음 위치에 보존되었습니다: %1 - + Library database rebuilt 라이브러리 데이터베이스 재구축됨 - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1286,7 +1316,7 @@ Update the library now? 지금 라이브러리를 업데이트하시겠습니까? - + The damaged original was preserved at: @@ -1297,12 +1327,12 @@ The damaged original was preserved at: %1 - + Library database repair failed 라이브러리 데이터베이스 복구 실패 - + The library database could not be repaired: %1%2 @@ -1313,12 +1343,12 @@ You can restore a backup from the Library menu or recreate the library. 라이브러리 메뉴에서 백업을 복원하거나 라이브러리를 다시 만들 수 있습니다. - + library? 라이브러리? - + Remove and delete metadata and backups 메타데이터 및 백업 제거 후 삭제 @@ -1327,92 +1357,92 @@ You can restore a backup from the Library menu or recreate the library. 제거 및 메타데이터 삭제 - + Library info 라이브러리 정보 - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. 선택한 만화를 삭제하는 중 문제가 발생했습니다. 선택한 파일이나 포함된 폴더의 쓰기 권한을 확인하세요. - + Assign comics numbers 만화에 번호 부여 - + Assign numbers starting in: 다음 번호부터 부여: - + Invalid image 잘못된 이미지 - + The selected file is not a valid image. 선택한 파일이 유효한 이미지가 아닙니다. - + Error saving cover 표지 저장 오류 - + There was an error saving the cover image. 표지 이미지를 저장하는 중 오류가 발생했습니다. - + Error creating the library 라이브러리 생성 오류 - + Error updating the library 라이브러리 업데이트 오류 - + Error opening the library 라이브러리 열기 오류 - + Delete comics 만화 삭제 - + All the selected comics will be deleted from your disk. Are you sure? 선택한 만화가 모두 디스크에서 삭제됩니다. 확실합니까? - + Remove comics 만화 제거 - + Comics will only be deleted from the current label/list. Are you sure? 만화가 현재 라벨/목록에서만 삭제됩니다. 확실합니까? - + Library name already exists 라이브러리 이름 중복 - + There is another library with the name '%1'. '%1' 이름의 라이브러리가 이미 있습니다. - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2548,6 +2578,279 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 검색된 %1 수 : %2 + + SearchFieldRegistry + + + Text, quoted text + 텍스트, 따옴표로 묶은 텍스트 + + + + Integer + 정수 + + + + Boolean (true / false) + 부울 값 (true / false) + + + + Integer (number of days) + 정수 (일수) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + 열거형 (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + 만화 제목 + + + + Series name + 시리즈 이름 + + + + Issue number + 호 번호 + + + + Volume identifier + 권 식별자 + + + + Reading format + 읽기 형식 + + + + Comic rating + 만화 평점 + + + + Textual tags + 텍스트 태그 + + + + Writer credit + 글 작가 크레딧 + + + + Penciller credit + 연필화 작가 크레딧 + + + + Inker credit + 펜선 작가 크레딧 + + + + Colorist credit + 채색 작가 크레딧 + + + + Letterer credit + 레터링 작가 크레딧 + + + + Cover artist credit + 표지 작가 크레딧 + + + + Editor credit + 편집자 크레딧 + + + + Story arc name + 스토리 아크 이름 + + + + Position within a story arc + 스토리 아크 내 위치 + + + + Number of issues in a story arc + 스토리 아크의 호 수 + + + + Characters appearing in the comic + 만화에 등장하는 캐릭터 + + + + Teams appearing in the comic + 만화에 등장하는 팀 + + + + Locations appearing in the comic + 만화에 등장하는 장소 + + + + Primary character or team + 주요 캐릭터 또는 팀 + + + + Comic synopsis + 만화 줄거리 + + + + Publisher name + 출판사 이름 + + + + Publishing imprint + 출판 브랜드 + + + + Publication format + 출판 형식 + + + + Recommended age rating + 권장 연령 등급 + + + + Comic genre + 만화 장르 + + + + ISO language code + ISO 언어 코드 + + + + Publication date metadata + 출판일 메타데이터 + + + + Series grouping metadata + 시리즈 그룹화 메타데이터 + + + + Alternate series name + 대체 시리즈 이름 + + + + Alternate issue number + 대체 호 번호 + + + + Alternate series issue count + 대체 시리즈의 호 수 + + + + Number of issues in the series + 시리즈의 호 수 + + + + Whether the comic is marked as read + 만화를 읽음으로 표시했는지 여부 + + + + Whether reading has started + 읽기를 시작했는지 여부 + + + + Whether metadata has been edited + 메타데이터를 편집했는지 여부 + + + + Whether the comic is in color + 만화가 컬러인지 여부 + + + + Number of pages + 페이지 수 + + + + Comic file name + 만화 파일 이름 + + + + When the item was added + 항목을 추가한 시점 + + + + When the comic was last opened + 만화를 마지막으로 연 시점 + + + + Comic notes + 만화 메모 + + + + Review text + 리뷰 텍스트 + + + + Parent folder name + 상위 폴더 이름 + + + + Default reading format for the folder + 폴더의 기본 읽기 형식 + + + + Whether the folder is complete + 폴더가 완전한지 여부 + + + + Whether the folder is marked as finished + 폴더를 완료로 표시했는지 여부 + + + + When the folder was updated + 폴더를 업데이트한 시점 + + SearchSingleComic @@ -2567,6 +2870,301 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 정확히 일치 검색을 사용합니다. 이름의 일부 단어와 일치하는 볼륨을 찾으려면 비활성화하세요. + + SearchSyntaxDialog + + + Common + 일반 + + + + Credits + 제작진 + + + + Story + 스토리 + + + + Publication + 출판 + + + + Reading & files + 읽기 및 파일 + + + + Folders + 폴더 + + + + Search syntax + 검색 구문 + + + + Search every comic and folder field, or build precise queries. + 모든 만화 및 폴더 필드를 검색하거나 정확한 쿼리를 작성합니다. + + + + Quick guide + 빠른 안내 + + + + Fields (%1) + 필드 (%1) + + + + Examples + 예제 + + + + Start with a simple search + 간단한 검색으로 시작 + + + + Just start typing. Plain text search across all metadata. + 바로 입력을 시작하세요. 일반 텍스트는 모든 메타데이터에서 검색됩니다. + + + + 1. Search everywhere + 1. 전체 검색 + + + + Type any text or quoted text. + 텍스트 또는 따옴표로 묶은 텍스트를 입력합니다. + + + + 2. Target a field + 2. 필드 지정 + + + + Use a field name followed by : or = + 필드 이름 뒤에 : 또는 =을 사용합니다 + + + + 3. Combine conditions + 3. 조건 결합 + + + + Use AND, OR, NOT and parentheses. + AND, OR, NOT 및 괄호를 사용합니다. + + + + Operators + 연산자 + + + + : or = + : 또는 = + + + + contains the text + 텍스트를 포함 + + + + matches the complete value + 전체 값과 일치 + + + + greater than / at least + 초과 / 이상 + + + + less than / at most + 미만 / 이하 + + + + "quoted text" + "따옴표로 묶은 텍스트" + + + + keeps spaces inside one value + 공백을 하나의 값 안에 유지 + + + + Dates and grouping + 날짜 및 그룹화 + + + + added in the last 7 days + 최근 7일 이내에 추가됨 + + + + added more than 30 days ago + 30일보다 오래전에 추가됨 + + + + group alternatives + 대체 조건을 그룹화 + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + 팁: 공백은 AND처럼 작동하며 검색은 대소문자를 구분하지 않습니다. 값에 공백을 포함하려면 따옴표를 사용하세요. + + + + Find a field… + 필드 찾기… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + 텍스트는 그대로 또는 따옴표로 묶어 입력할 수 있습니다. 정수 필드는 <, <=, > 및 >=을 지원합니다. 날짜 필드에서 정수는 일수를 뜻합니다(added>7은 최근 7일 이내에 추가됨을 의미). + + + + Field + 필드 + + + + Description + 설명 + + + + Input + 입력 + + + + Example + 예제 + + + + Examples show the pattern—replace the values with your own. + 예제는 패턴을 보여 줍니다. 값을 원하는 값으로 바꾸세요. + + + + Query + 쿼리 + + + + What it finds + 검색 결과 + + + + Common filters + 일반 필터 + + + + Unread comics + 읽지 않은 만화 + + + + Comics in progress + 읽는 중인 만화 + + + + Highly rated comics + 평점이 높은 만화 + + + + Comics added in the last 7 days + 최근 7일 이내에 추가된 만화 + + + + Metadata + 메타데이터 + + + + Search by series + 시리즈로 검색 + + + + Search by writer + 글 작가로 검색 + + + + Manga comics + 일본 만화 + + + + Search textual tags + 텍스트 태그 검색 + + + + Advanced combinations + 고급 조합 + + + + Match either writer + 두 작가 중 하나와 일치 + + + + Group alternatives + 대체 조건 그룹화 + + + + Exclude a value + 값 제외 + + + + Older, highly rated comics + 오래된 고평점 만화 + + + + Copy query + 쿼리 복사 + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + 공백은 AND처럼 작동합니다. 구문에는 따옴표를, 그룹화 제어에는 괄호를 사용하세요. + + SearchVolume @@ -3189,7 +3787,12 @@ To stop an automatic update tap on the loading indicator next to the Libraries t YACReaderSearchLineEdit - + + Search filters + 검색 필터 + + + type to search 검색어 입력 diff --git a/YACReaderLibrary/yacreaderlibrary_nl.ts b/YACReaderLibrary/yacreaderlibrary_nl.ts index 7280f0cc4..bd20de2c3 100644 --- a/YACReaderLibrary/yacreaderlibrary_nl.ts +++ b/YACReaderLibrary/yacreaderlibrary_nl.ts @@ -808,17 +808,17 @@ LibraryWindow - + The selected folder doesn't contain any library. De geselecteerde map bevat geen bibliotheek. - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Deze bibliotheek is gemaakt met een vorige versie van YACReaderLibrary. Het moet worden bijgewerkt. Nu bijwerken? - + Error opening the library Fout bij openen Bibliotheek @@ -827,346 +827,376 @@ Verwijder metagegevens - + Old library Oude Bibliotheek - + Library Bibliotheek - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Deze bibliotheek is gemaakt met een nieuwere versie van YACReaderLibrary. Download de nieuwe versie? - + Library '%1' is no longer available. Do you want to remove it? Bibliotheek ' %1' is niet langer beschikbaar. Wilt u het verwijderen? - + Open folder... Map openen ... - + Do you want remove Wilt u verwijderen - + Error updating the library Fout bij bijwerken Bibliotheek - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? Bibliotheek ' %1' is gemaakt met een oudere versie van YACReaderLibrary. Zij moet opnieuw worden aangemaakt. Wilt u de bibliotheek nu aanmaken? - + Set as read Instellen als gelezen - + Library not available Bibliotheek niet beschikbaar - + YACReader Library YACReader Bibliotheek - + Error creating the library Fout bij aanmaken Bibliotheek - + Update needed Bijwerken is nodig - + Library name already exists Bibliotheek naam bestaat al - + There is another library with the name '%1'. Er is al een bibliotheek met de naam ' %1 '. - + Download new version Nieuwe versie ophalen - + Delete comics Strips verwijderen - + All the selected comics will be deleted from your disk. Are you sure? Alle geselecteerde strips worden verwijderd van uw schijf. Weet u het zeker? - - + + Set as unread Instellen als ongelezen - + Library not found Bibliotheek niet gevonden - - - + + + manga Manga - - - + + + comic grappig - - - + + + western manga (left to right) westerse manga (van links naar rechts) - - - + + + 4koma (top to botom) 4koma (top to botom 4koma (van boven naar beneden) - + library? Bibliotheek? - + Are you sure? Weet u het zeker? - + Rescan library for XML info Bibliotheek opnieuw scannen op XML-info - - - + + + web comic web-strip - + Add new folder Nieuwe map toevoegen - + Delete folder Map verwijderen - + Set as uncompleted Ingesteld als onvoltooid - + Set as completed Instellen als voltooid - + Update folder Map bijwerken - + Folder Map - + Comic Grappig - + Upgrade failed Upgrade mislukt - + There were errors during library upgrade in: Er zijn fouten opgetreden tijdens de bibliotheekupgrade in: - - + + Copying comics... Strips kopiëren... - - + + Moving comics... Strips verplaatsen... - + Folder name: Mapnaam: - + No folder selected Geen map geselecteerd - + Please, select a folder first Selecteer eerst een map - + Error in path Fout in pad - + There was an error accessing the folder's path Er is een fout opgetreden bij het verkrijgen van toegang tot het pad van de map - + The selected folder and all its contents will be deleted from your disk. Are you sure? De geselecteerde map en de volledige inhoud ervan worden van uw schijf verwijderd. Weet je het zeker? - - + + Unable to delete Kan niet verwijderen - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. Er is een probleem opgetreden bij het verwijderen van de geselecteerde mappen. Controleer of er schrijfrechten zijn en zorg ervoor dat alle toepassingen deze mappen of een van de daarin opgenomen bestanden gebruiken. - + Add new reading lists Voeg nieuwe leeslijsten toe - - + + List name: Lijstnaam: - + Delete list/label Lijst/label verwijderen - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? Het geselecteerde item wordt verwijderd, uw strips of mappen worden NIET van uw schijf verwijderd. Weet je het zeker? - + Rename list name Hernoem de lijstnaam - - - - + + + + Set type Soort instellen - + + Search filters + Zoekfilters + + + + Unread + Ongelezen + + + + In progress + Bezig + + + + Highly rated + Hoog gewaardeerd + + + + Recently added + Onlangs toegevoegd + + + + Search syntax… + Zoeksyntaxis… + + + A repair of this library is already running (%1). Wait for it to finish. Er wordt al een herstel van deze bibliotheek uitgevoerd (%1). Wacht tot dit is voltooid. - + The library is locked by a repair that did not finish. De bibliotheek is vergrendeld door een herstel dat niet is voltooid. - + The library is locked by a repair started by %1. De bibliotheek is vergrendeld door een herstel gestart door %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Als u zeker weet dat er geen ander herstel bezig is, kan de vergrendeling worden verwijderd. Vergrendeling verwijderen en doorgaan? - + Package operation failed - + The covers package operation could not be completed. - + Restore recovery failed Herstel na onderbroken terugzetting mislukt - + Set custom cover Aangepaste omslag instellen - + Delete custom cover Aangepaste omslag verwijderen - + Save covers Bewaar hoesjes - + You are adding too many libraries. U voegt te veel bibliotheken toe. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1179,74 +1209,74 @@ Je hebt waarschijnlijk maar één bibliotheek nodig in je stripmap op het hoogst YACReaderLibrary zal u er niet van weerhouden om meer bibliotheken te creëren, maar u moet het aantal bibliotheken laag houden. - - + + YACReader not found YACReader niet gevonden - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader niet gevonden. YACReader moet in dezelfde map worden geïnstalleerd als YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader niet gevonden. Er is mogelijk een probleem met uw YACReader-installatie. - + Error Fout - + Error opening comic with third party reader. Fout bij het openen van een strip met een lezer van een derde partij. - - + + YACReader library database (*.ydb) YACReader-bibliotheekdatabase (*.ydb) - + The library database backup was created at: %1 De back-up van de bibliotheekdatabase is gemaakt in: %1 - + Unable to create the library database backup: %1 De back-up van de bibliotheekdatabase kon niet worden gemaakt: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Sluit YACReaderLibraryServer en alle andere YACReader-programma's die deze bibliotheek gebruiken voordat je deze herstelt. Doorgaan? - + Restoring library database... Bibliotheekdatabase wordt hersteld... - + The current library database is invalid. Restore the selected backup anyway? De huidige bibliotheekdatabase is ongeldig. De geselecteerde back-up toch herstellen? - - + + The library maintenance lock may be stale. Remove it and retry? Het onderhoudsslot van de bibliotheek is mogelijk verouderd. Verwijderen en opnieuw proberen? - + Restart YACReaderLibrary before attempting recovery again. @@ -1255,71 +1285,71 @@ Restart YACReaderLibrary before attempting recovery again. Start YACReaderLibrary opnieuw voordat je nogmaals herstel probeert. - + The library database was restored successfully. Update the library now? De bibliotheekdatabase is hersteld. De bibliotheek nu bijwerken? - + Library database damaged Bibliotheekdatabase beschadigd - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. De database van bibliotheek '%1' is beschadigd. Normale updates, onderhoud en back-ups zijn daarom niet beschikbaar. YACReader kan proberen de database te herstellen. Sommige beschadigde gegevens kunnen mogelijk niet worden hersteld. Bestaande back-ups worden niet gewijzigd. - + Attempt repair Herstel proberen - + Restore a backup... Een back-up herstellen... - + Repairing library database... Bibliotheekdatabase wordt hersteld... - - - + + + Library database repair Bibliotheekdatabase herstellen - + Another maintenance operation is currently using this library. Try again after it finishes. Een andere onderhoudsbewerking gebruikt deze bibliotheek momenteel. Probeer het opnieuw wanneer die is voltooid. - + The library database is already valid. De bibliotheekdatabase is al geldig. - + Library database repaired Bibliotheekdatabase hersteld - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 De bibliotheekdatabase is hersteld door de indexen opnieuw op te bouwen. Het beschadigde origineel is bewaard in: %1 - + Library database rebuilt Bibliotheekdatabase opnieuw opgebouwd - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1330,7 +1360,7 @@ Update the library now? De bibliotheek nu bijwerken? - + The damaged original was preserved at: @@ -1341,12 +1371,12 @@ Het beschadigde origineel is bewaard in: %1 - + Library database repair failed Herstel van bibliotheekdatabase mislukt - + The library database could not be repaired: %1%2 @@ -1357,62 +1387,62 @@ You can restore a backup from the Library menu or recreate the library. Je kunt een back-up herstellen via het menu Bibliotheek of de bibliotheek opnieuw maken. - + Remove and delete metadata and backups Metagegevens en back-ups verwijderen en wissen - + Library info Bibliotheekinformatie - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. Er is een probleem opgetreden bij het verwijderen van de geselecteerde strips. Controleer of er schrijfrechten zijn voor de geselecteerde bestanden of de map waarin deze zich bevinden. - + Assign comics numbers Wijs stripnummers toe - + Assign numbers starting in: Nummers toewijzen beginnend met: - + Invalid image Ongeldige afbeelding - + The selected file is not a valid image. Het geselecteerde bestand is geen geldige afbeelding. - + Error saving cover Fout bij opslaan van dekking - + There was an error saving the cover image. Er is een fout opgetreden bij het opslaan van de omslagafbeelding. - + Remove comics Verwijder strips - + Comics will only be deleted from the current label/list. Are you sure? Strips worden alleen verwijderd van het huidige label/de huidige lijst. Weet je het zeker? - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2548,6 +2578,279 @@ Om een ​​automatische update te stoppen, tikt u op de laadindicator naast de Aantal %1 gevonden: %2 + + SearchFieldRegistry + + + Text, quoted text + Tekst, tekst tussen aanhalingstekens + + + + Integer + Geheel getal + + + + Boolean (true / false) + Booleaans (true / false) + + + + Integer (number of days) + Geheel getal (aantal dagen) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Opsomming (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Striptitel + + + + Series name + Serienaam + + + + Issue number + Uitgavenummer + + + + Volume identifier + Volumeaanduiding + + + + Reading format + Leesindeling + + + + Comic rating + Stripwaardering + + + + Textual tags + Tekstlabels + + + + Writer credit + Vermelding van de schrijver + + + + Penciller credit + Vermelding van de tekenaar + + + + Inker credit + Vermelding van de inkter + + + + Colorist credit + Vermelding van de inkleurder + + + + Letterer credit + Vermelding van de letteraar + + + + Cover artist credit + Vermelding van de omslagtekenaar + + + + Editor credit + Vermelding van de redacteur + + + + Story arc name + Naam van de verhaallijn + + + + Position within a story arc + Positie binnen een verhaallijn + + + + Number of issues in a story arc + Aantal uitgaven in een verhaallijn + + + + Characters appearing in the comic + Personages die in de strip voorkomen + + + + Teams appearing in the comic + Teams die in de strip voorkomen + + + + Locations appearing in the comic + Locaties die in de strip voorkomen + + + + Primary character or team + Hoofdpersonage of hoofdteam + + + + Comic synopsis + Samenvatting van de strip + + + + Publisher name + Naam van de uitgever + + + + Publishing imprint + Uitgeversimprint + + + + Publication format + Publicatie-indeling + + + + Recommended age rating + Aanbevolen leeftijdsclassificatie + + + + Comic genre + Stripgenre + + + + ISO language code + ISO-taalcode + + + + Publication date metadata + Metagegevens van de publicatiedatum + + + + Series grouping metadata + Metagegevens voor seriegroepering + + + + Alternate series name + Alternatieve serienaam + + + + Alternate issue number + Alternatief uitgavenummer + + + + Alternate series issue count + Aantal uitgaven in de alternatieve serie + + + + Number of issues in the series + Aantal uitgaven in de serie + + + + Whether the comic is marked as read + Of de strip als gelezen is gemarkeerd + + + + Whether reading has started + Of het lezen is begonnen + + + + Whether metadata has been edited + Of de metagegevens zijn bewerkt + + + + Whether the comic is in color + Of de strip in kleur is + + + + Number of pages + Aantal pagina's + + + + Comic file name + Bestandsnaam van de strip + + + + When the item was added + Wanneer het item is toegevoegd + + + + When the comic was last opened + Wanneer de strip voor het laatst is geopend + + + + Comic notes + Stripnotities + + + + Review text + Recensietekst + + + + Parent folder name + Naam van de bovenliggende map + + + + Default reading format for the folder + Standaard leesindeling voor de map + + + + Whether the folder is complete + Of de map compleet is + + + + Whether the folder is marked as finished + Of de map als voltooid is gemarkeerd + + + + When the folder was updated + Wanneer de map is bijgewerkt + + SearchSingleComic @@ -2567,6 +2870,301 @@ Om een ​​automatische update te stoppen, tikt u op de laadindicator naast de Gebruik exacte matchzoekopdrachten. Schakel dit uit als u volumes wilt vinden die overeenkomen met enkele woorden in de naam. + + SearchSyntaxDialog + + + Common + Algemeen + + + + Credits + Medewerkers + + + + Story + Verhaal + + + + Publication + Publicatie + + + + Reading & files + Lezen en bestanden + + + + Folders + Mappen + + + + Search syntax + Zoeksyntaxis + + + + Search every comic and folder field, or build precise queries. + Doorzoek elk veld van strips en mappen of stel nauwkeurige zoekopdrachten samen. + + + + Quick guide + Snelgids + + + + Fields (%1) + Velden (%1) + + + + Examples + Voorbeelden + + + + Start with a simple search + Begin met een eenvoudige zoekopdracht + + + + Just start typing. Plain text search across all metadata. + Begin gewoon te typen. Platte tekst doorzoekt alle metagegevens. + + + + 1. Search everywhere + 1. Overal zoeken + + + + Type any text or quoted text. + Typ tekst of tekst tussen aanhalingstekens. + + + + 2. Target a field + 2. Een veld kiezen + + + + Use a field name followed by : or = + Gebruik een veldnaam gevolgd door : of = + + + + 3. Combine conditions + 3. Voorwaarden combineren + + + + Use AND, OR, NOT and parentheses. + Gebruik AND, OR, NOT en haakjes. + + + + Operators + Operatoren + + + + : or = + : of = + + + + contains the text + bevat de tekst + + + + matches the complete value + komt overeen met de volledige waarde + + + + greater than / at least + groter dan / ten minste + + + + less than / at most + kleiner dan / ten hoogste + + + + "quoted text" + "tekst tussen aanhalingstekens" + + + + keeps spaces inside one value + houdt spaties binnen één waarde + + + + Dates and grouping + Datums en groepering + + + + added in the last 7 days + toegevoegd in de afgelopen 7 dagen + + + + added more than 30 days ago + meer dan 30 dagen geleden toegevoegd + + + + group alternatives + groepeert alternatieven + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Tips: spaties werken als AND en zoekopdrachten zijn niet hoofdlettergevoelig. Gebruik aanhalingstekens om spaties in een waarde op te nemen. + + + + Find a field… + Een veld zoeken… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + Tekst kan rechtstreeks of tussen aanhalingstekens worden ingevoerd. Velden met gehele getallen ondersteunen <, <=, > en >=. Bij datumvelden is het gehele getal een aantal dagen (added>7 betekent toegevoegd in de afgelopen 7 dagen). + + + + Field + Veld + + + + Description + Beschrijving + + + + Input + Invoer + + + + Example + Voorbeeld + + + + Examples show the pattern—replace the values with your own. + De voorbeelden tonen het patroon — vervang de waarden door uw eigen waarden. + + + + Query + Zoekopdracht + + + + What it finds + Wat wordt gevonden + + + + Common filters + Veelgebruikte filters + + + + Unread comics + Ongelezen strips + + + + Comics in progress + Strips waarmee u bezig bent + + + + Highly rated comics + Hoog gewaardeerde strips + + + + Comics added in the last 7 days + Strips die in de afgelopen 7 dagen zijn toegevoegd + + + + Metadata + Metagegevens + + + + Search by series + Zoeken op serie + + + + Search by writer + Zoeken op schrijver + + + + Manga comics + Manga + + + + Search textual tags + Tekstlabels doorzoeken + + + + Advanced combinations + Geavanceerde combinaties + + + + Match either writer + Overeenkomen met een van beide schrijvers + + + + Group alternatives + Alternatieven groeperen + + + + Exclude a value + Een waarde uitsluiten + + + + Older, highly rated comics + Oudere, hoog gewaardeerde strips + + + + Copy query + Zoekopdracht kopiëren + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Spaties werken als AND. Gebruik aanhalingstekens voor woordgroepen en haakjes om de groepering te bepalen. + + SearchVolume @@ -3189,7 +3787,12 @@ Om een ​​automatische update te stoppen, tikt u op de laadindicator naast de YACReaderSearchLineEdit - + + Search filters + Zoekfilters + + + type to search typ om te zoeken diff --git a/YACReaderLibrary/yacreaderlibrary_pt.ts b/YACReaderLibrary/yacreaderlibrary_pt.ts index 2b1330643..7f3929360 100644 --- a/YACReaderLibrary/yacreaderlibrary_pt.ts +++ b/YACReaderLibrary/yacreaderlibrary_pt.ts @@ -808,311 +808,341 @@ LibraryWindow - + Library Biblioteca - + Open folder... Abrir pasta... - - - + + + western manga (left to right) mangá ocidental (da esquerda para a direita) - - - + + + 4koma (top to botom) 4koma (top to botom 4koma (de cima para baixo) - + Do you want remove Você deseja remover - + YACReader Library Biblioteca YACReader - - - + + + manga mangá - - - + + + comic cômico - + Are you sure? Você tem certeza? - + Rescan library for XML info Reanalisar biblioteca para informa??es XML - + Set as read Definir como lido - - + + Set as unread Definir como não lido - - - + + + web comic quadrinhos da web - + Add new folder Adicionar nova pasta - + Delete folder Excluir pasta - + Set as uncompleted Definir como incompleto - + Set as completed Definir como concluído - + Update folder Atualizar pasta - + Folder Pasta - + Comic Quadrinhos - + Upgrade failed Falha na atualização - + There were errors during library upgrade in: Ocorreram erros durante a atualização da biblioteca em: - + Restore recovery failed Falha na recuperação do restauro - + Update needed Atualização necessária - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Esta biblioteca foi criada com uma versão anterior do YACReaderLibrary. Ele precisa ser atualizado. Atualizar agora? - + Download new version Baixe a nova versão - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Esta biblioteca foi criada com uma versão mais recente do YACReaderLibrary. Baixe a nova versão agora? - + Library not available Biblioteca não disponível - + Library '%1' is no longer available. Do you want to remove it? A biblioteca '%1' não está mais disponível. Você quer removê-lo? - + Old library Biblioteca antiga - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? A biblioteca '%1' foi criada com uma versão mais antiga do YACReaderLibrary. Deve ser criado novamente. Deseja criar a biblioteca agora? - - + + Copying comics... Copiando quadrinhos... - - + + Moving comics... Quadrinhos em movimento... - + Folder name: Nome da pasta: - + No folder selected Nenhuma pasta selecionada - + Please, select a folder first Por favor, selecione uma pasta primeiro - + Error in path Erro no caminho - + There was an error accessing the folder's path Ocorreu um erro ao acessar o caminho da pasta - + The selected folder and all its contents will be deleted from your disk. Are you sure? A pasta selecionada e todo o seu conteúdo serão excluídos do disco. Tem certeza? - - + + Unable to delete Não foi possível excluir - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. Ocorreu um problema ao tentar excluir as pastas selecionadas. Por favor, verifique as permissões de gravação e certifique-se de que algum aplicativo esteja usando essas pastas ou qualquer um dos arquivos contidos. - + Add new reading lists Adicione novas listas de leitura - - + + List name: Nome da lista: - + Delete list/label Excluir lista/rótulo - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? O item selecionado será excluído, seus quadrinhos ou pastas NÃO serão excluídos do disco. Tem certeza? - + Rename list name Renomear nome da lista - - - - + + + + Set type Definir tipo - + + Search filters + Filtros de pesquisa + + + + Unread + Não lidos + + + + In progress + Em andamento + + + + Highly rated + Bem avaliados + + + + Recently added + Adicionados recentemente + + + + Search syntax… + Sintaxe de pesquisa… + + + A repair of this library is already running (%1). Wait for it to finish. Uma reparação desta biblioteca já está em execução (%1). Aguarde a conclusão. - + The library is locked by a repair that did not finish. A biblioteca está bloqueada por uma reparação que não terminou. - + The library is locked by a repair started by %1. A biblioteca está bloqueada por uma reparação iniciada por %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Se tem certeza de que nenhuma outra reparação está em execução, o bloqueio pode ser removido. Remover o bloqueio e continuar? - + Package operation failed - + The covers package operation could not be completed. - + Set custom cover Definir capa personalizada - + Delete custom cover Excluir capa personalizada - + Save covers Salvar capas - + You are adding too many libraries. Você está adicionando muitas bibliotecas. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1125,84 +1155,84 @@ Você provavelmente só precisa de uma biblioteca em sua pasta de quadrinhos de YACReaderLibrary não impedirá você de criar mais bibliotecas, mas você deve manter o número de bibliotecas baixo. - - + + YACReader not found YACReader não encontrado - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader não encontrado. YACReader deve ser instalado na mesma pasta que YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader não encontrado. Pode haver um problema com a instalação do YACReader. - + Error Erro - + Error opening comic with third party reader. Erro ao abrir o quadrinho com leitor de terceiros. - + Library not found Biblioteca não encontrada - + The selected folder doesn't contain any library. A pasta selecionada não contém nenhuma biblioteca. - - + + YACReader library database (*.ydb) Base de dados da biblioteca YACReader (*.ydb) - + The library database backup was created at: %1 A cópia de segurança da base de dados da biblioteca foi criada em: %1 - + Unable to create the library database backup: %1 Não foi possível criar a cópia de segurança da base de dados da biblioteca: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Feche o YACReaderLibraryServer e qualquer outra aplicação YACReader que esteja a usar esta biblioteca antes de restaurar. Continuar? - + Restoring library database... A restaurar a base de dados da biblioteca... - + The current library database is invalid. Restore the selected backup anyway? A base de dados atual da biblioteca não é válida. Restaurar a cópia de segurança selecionada mesmo assim? - - + + The library maintenance lock may be stale. Remove it and retry? O bloqueio de manutenção da biblioteca pode estar obsoleto. Removê-lo e tentar novamente? - + Restart YACReaderLibrary before attempting recovery again. @@ -1211,71 +1241,71 @@ Restart YACReaderLibrary before attempting recovery again. Reinicie o YACReaderLibrary antes de tentar novamente a recuperação. - + The library database was restored successfully. Update the library now? A base de dados da biblioteca foi restaurada com êxito. Atualizar a biblioteca agora? - + Library database damaged Base de dados da biblioteca danificada - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. A base de dados da biblioteca '%1' está danificada, pelo que as atualizações, a manutenção e as cópias de segurança normais não estão disponíveis. O YACReader pode tentar reparar a base de dados. Alguns dados danificados poderão não ser recuperados. As cópias de segurança existentes não serão alteradas. - + Attempt repair Tentar reparar - + Restore a backup... Restaurar uma cópia de segurança... - + Repairing library database... A reparar a base de dados da biblioteca... - - - + + + Library database repair Reparação da base de dados da biblioteca - + Another maintenance operation is currently using this library. Try again after it finishes. Outra operação de manutenção está a usar esta biblioteca. Tente novamente quando terminar. - + The library database is already valid. A base de dados da biblioteca já é válida. - + Library database repaired Base de dados da biblioteca reparada - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 A base de dados da biblioteca foi reparada através da reconstrução dos índices. O original danificado foi preservado em: %1 - + Library database rebuilt Base de dados da biblioteca reconstruída - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1286,7 +1316,7 @@ Update the library now? Atualizar a biblioteca agora? - + The damaged original was preserved at: @@ -1297,12 +1327,12 @@ O original danificado foi preservado em: %1 - + Library database repair failed Falha ao reparar a base de dados da biblioteca - + The library database could not be repaired: %1%2 @@ -1313,12 +1343,12 @@ You can restore a backup from the Library menu or recreate the library. Pode restaurar uma cópia de segurança no menu Biblioteca ou recriar a biblioteca. - + library? biblioteca? - + Remove and delete metadata and backups Remover e eliminar metadados e cópias de segurança @@ -1327,92 +1357,92 @@ Pode restaurar uma cópia de segurança no menu Biblioteca ou recriar a bibliote Remover e excluir metadados - + Library info Informações da biblioteca - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. Ocorreu um problema ao tentar excluir os quadrinhos selecionados. Por favor, verifique as permissões de gravação nos arquivos selecionados ou na pasta que os contém. - + Assign comics numbers Atribuir números de quadrinhos - + Assign numbers starting in: Atribua números começando em: - + Invalid image Imagem inválida - + The selected file is not a valid image. O arquivo selecionado não é uma imagem válida. - + Error saving cover Erro ao salvar a capa - + There was an error saving the cover image. Ocorreu um erro ao salvar a imagem da capa. - + Error creating the library Erro ao criar a biblioteca - + Error updating the library Erro ao atualizar a biblioteca - + Error opening the library Erro ao abrir a biblioteca - + Delete comics Excluir quadrinhos - + All the selected comics will be deleted from your disk. Are you sure? Todos os quadrinhos selecionados serão excluídos do seu disco. Tem certeza? - + Remove comics Remover quadrinhos - + Comics will only be deleted from the current label/list. Are you sure? Os quadrinhos serão excluídos apenas do rótulo/lista atual. Tem certeza? - + Library name already exists O nome da biblioteca já existe - + There is another library with the name '%1'. Existe outra biblioteca com o nome '%1'. - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2548,6 +2578,279 @@ Para interromper uma atualização automática, toque no indicador de carregamen Número de %1 encontrado: %2 + + SearchFieldRegistry + + + Text, quoted text + Texto, texto entre aspas + + + + Integer + Inteiro + + + + Boolean (true / false) + Booleano (true / false) + + + + Integer (number of days) + Inteiro (número de dias) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Enumeração (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Título do quadrinho + + + + Series name + Nome da série + + + + Issue number + Número da edição + + + + Volume identifier + Identificador do volume + + + + Reading format + Formato de leitura + + + + Comic rating + Avaliação do quadrinho + + + + Textual tags + Tags de texto + + + + Writer credit + Crédito do roteirista + + + + Penciller credit + Crédito do desenhista + + + + Inker credit + Crédito do arte-finalista + + + + Colorist credit + Crédito do colorista + + + + Letterer credit + Crédito do letrista + + + + Cover artist credit + Crédito do artista da capa + + + + Editor credit + Crédito do editor + + + + Story arc name + Nome do arco da história + + + + Position within a story arc + Posição dentro de um arco da história + + + + Number of issues in a story arc + Número de edições em um arco da história + + + + Characters appearing in the comic + Personagens presentes no quadrinho + + + + Teams appearing in the comic + Equipes presentes no quadrinho + + + + Locations appearing in the comic + Locais presentes no quadrinho + + + + Primary character or team + Personagem ou equipe principal + + + + Comic synopsis + Sinopse do quadrinho + + + + Publisher name + Nome da editora + + + + Publishing imprint + Selo editorial + + + + Publication format + Formato da publicação + + + + Recommended age rating + Classificação etária recomendada + + + + Comic genre + Gênero do quadrinho + + + + ISO language code + Código de idioma ISO + + + + Publication date metadata + Metadados da data de publicação + + + + Series grouping metadata + Metadados de agrupamento de séries + + + + Alternate series name + Nome alternativo da série + + + + Alternate issue number + Número alternativo da edição + + + + Alternate series issue count + Quantidade de edições da série alternativa + + + + Number of issues in the series + Número de edições da série + + + + Whether the comic is marked as read + Se o quadrinho está marcado como lido + + + + Whether reading has started + Se a leitura foi iniciada + + + + Whether metadata has been edited + Se os metadados foram editados + + + + Whether the comic is in color + Se o quadrinho é colorido + + + + Number of pages + Número de páginas + + + + Comic file name + Nome do arquivo do quadrinho + + + + When the item was added + Quando o item foi adicionado + + + + When the comic was last opened + Quando o quadrinho foi aberto pela última vez + + + + Comic notes + Notas do quadrinho + + + + Review text + Texto da resenha + + + + Parent folder name + Nome da pasta principal + + + + Default reading format for the folder + Formato de leitura padrão da pasta + + + + Whether the folder is complete + Se a pasta está completa + + + + Whether the folder is marked as finished + Se a pasta está marcada como finalizada + + + + When the folder was updated + Quando a pasta foi atualizada + + SearchSingleComic @@ -2567,6 +2870,301 @@ Para interromper uma atualização automática, toque no indicador de carregamen Use a pesquisa de correspondência exata. Desative se quiser encontrar volumes que correspondam a algumas das palavras do nome. + + SearchSyntaxDialog + + + Common + Comum + + + + Credits + Créditos + + + + Story + História + + + + Publication + Publicação + + + + Reading & files + Leitura e arquivos + + + + Folders + Pastas + + + + Search syntax + Sintaxe de pesquisa + + + + Search every comic and folder field, or build precise queries. + Pesquise em todos os campos de quadrinhos e pastas ou crie consultas precisas. + + + + Quick guide + Guia rápido + + + + Fields (%1) + Campos (%1) + + + + Examples + Exemplos + + + + Start with a simple search + Comece com uma pesquisa simples + + + + Just start typing. Plain text search across all metadata. + Basta começar a digitar. O texto simples é pesquisado em todos os metadados. + + + + 1. Search everywhere + 1. Pesquisar em todos os lugares + + + + Type any text or quoted text. + Digite qualquer texto ou texto entre aspas. + + + + 2. Target a field + 2. Pesquisar em um campo + + + + Use a field name followed by : or = + Use o nome de um campo seguido por : ou = + + + + 3. Combine conditions + 3. Combinar condições + + + + Use AND, OR, NOT and parentheses. + Use AND, OR, NOT e parênteses. + + + + Operators + Operadores + + + + : or = + : ou = + + + + contains the text + contém o texto + + + + matches the complete value + corresponde ao valor completo + + + + greater than / at least + maior que / no mínimo + + + + less than / at most + menor que / no máximo + + + + "quoted text" + "texto entre aspas" + + + + keeps spaces inside one value + mantém os espaços dentro de um único valor + + + + Dates and grouping + Datas e agrupamento + + + + added in the last 7 days + adicionado nos últimos 7 dias + + + + added more than 30 days ago + adicionado há mais de 30 dias + + + + group alternatives + agrupa alternativas + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Dicas: os espaços funcionam como AND e as pesquisas não diferenciam maiúsculas de minúsculas. Use aspas para incluir espaços em um valor. + + + + Find a field… + Localizar um campo… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + O texto pode ser inserido diretamente ou entre aspas. Campos inteiros aceitam <, <=, > e >=. Nos campos de data, o inteiro é um número de dias (added>7 significa adicionado nos últimos 7 dias). + + + + Field + Campo + + + + Description + Descrição + + + + Input + Entrada + + + + Example + Exemplo + + + + Examples show the pattern—replace the values with your own. + Os exemplos mostram o padrão — substitua os valores pelos seus. + + + + Query + Consulta + + + + What it finds + O que encontra + + + + Common filters + Filtros comuns + + + + Unread comics + Quadrinhos não lidos + + + + Comics in progress + Quadrinhos em andamento + + + + Highly rated comics + Quadrinhos bem avaliados + + + + Comics added in the last 7 days + Quadrinhos adicionados nos últimos 7 dias + + + + Metadata + Metadados + + + + Search by series + Pesquisar por série + + + + Search by writer + Pesquisar por roteirista + + + + Manga comics + Mangás + + + + Search textual tags + Pesquisar tags de texto + + + + Advanced combinations + Combinações avançadas + + + + Match either writer + Corresponder a qualquer roteirista + + + + Group alternatives + Agrupar alternativas + + + + Exclude a value + Excluir um valor + + + + Older, highly rated comics + Quadrinhos antigos e bem avaliados + + + + Copy query + Copiar consulta + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Os espaços funcionam como AND. Use aspas para frases e parênteses para controlar o agrupamento. + + SearchVolume @@ -3189,7 +3787,12 @@ Para interromper uma atualização automática, toque no indicador de carregamen YACReaderSearchLineEdit - + + Search filters + Filtros de pesquisa + + + type to search digite para pesquisar diff --git a/YACReaderLibrary/yacreaderlibrary_ru.ts b/YACReaderLibrary/yacreaderlibrary_ru.ts index fcffe600d..73d02efb2 100644 --- a/YACReaderLibrary/yacreaderlibrary_ru.ts +++ b/YACReaderLibrary/yacreaderlibrary_ru.ts @@ -808,48 +808,48 @@ LibraryWindow - + The selected folder doesn't contain any library. Выбранная папка не содержит ни одной библиотеки. - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Эта библиотека была создана с предыдущей версией YACReaderLibrary. Она должна быть обновлена. Обновить сейчас? - + Comic Комикс - + Folder name: Имя папки: - + The selected folder and all its contents will be deleted from your disk. Are you sure? Выбранная папка и все ее содержимое будет удалено с вашего жёсткого диска. Вы уверены? - + Error opening the library Ошибка открытия библиотеки - - + + YACReader not found YACReader не найден - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. Возникла проблема при удалении выбранных папок. Пожалуйста, проверьте права на запись и убедитесь что другие приложения не используют эти папки или файлы. - + Rename list name Изменить имя списка @@ -858,110 +858,110 @@ Удаление метаданных - + Old library Библиотека из старой версии YACreader - + Set as completed Отметить как завершено - + There was an error accessing the folder's path Ошибка доступа к пути папки - + Library Библиотека - + Comics will only be deleted from the current label/list. Are you sure? Комиксы будут удалены только из выбранного списка/ярлыка. Вы уверены? - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Эта библиотека была создана новой версией YACReaderLibrary. Скачать новую версию сейчас? - - + + Moving comics... Переместить комиксы... - - + + Copying comics... Скопировать комиксы... - + Library '%1' is no longer available. Do you want to remove it? Библиотека '%1' больше не доступна. Вы хотите удалить ее? - + Open folder... Открыть папку... - + Do you want remove Вы хотите удалить библиотеку - + Set as uncompleted Отметить как не завершено - + Error in path Ошибка в пути - + Error updating the library Ошибка обновления библиотеки - + Folder Папка - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? Выбранные элементы будут удалены, ваши комиксы или папки НЕ БУДУТ удалены с вашего жёсткого диска. Вы уверены? - - + + List name: Имя списка: - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? Библиотека '%1' была создана старой версией YACReaderLibrary. Она должна быть вновь создана. Вы хотите создать библиотеку сейчас? - + Save covers Сохранить обложки - + Add new reading lists Добавить новый список чтения - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -974,298 +974,328 @@ YACReaderLibrary will not stop you from creating more libraries but you should k YACReaderLibrary не помешает вам создать больше библиотек, но вы должны иметь не большое количество библиотек. - + Set as read Отметить как прочитано - + Library info Информация о библиотеке - + Assign comics numbers Порядковый номер - + Please, select a folder first Пожалуйста, сначала выберите папку - + Library not available Библиотека не доступна - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. Возникла проблема при удалении выбранных комиксов. Пожалуйста, проверьте права на запись для выбранных файлов или содержащую их папку. - + YACReader Library Библиотека YACReader - + Error creating the library Ошибка создания библиотеки - + You are adding too many libraries. Вы добавляете слишком много библиотек. - + Update folder Обновить папку - + Update needed Необходимо обновление - + Library name already exists Имя папки уже используется - + There is another library with the name '%1'. Уже существует другая папка с именем '%1'. - + Delete folder Удалить папку - + Assign numbers starting in: Назначить порядковый номер начиная с: - + Download new version Загрузить новую версию - + Remove and delete metadata and backups Удалить библиотеку, метаданные и резервные копии - + Invalid image Неверное изображение - + The selected file is not a valid image. Выбранный файл не является допустимым изображением. - + Error saving cover Не удалось сохранить обложку. - + There was an error saving the cover image. Не удалось сохранить изображение обложки. - + Delete comics Удалить комиксы - + Add new folder Добавить новую папку - + Delete list/label Удалить список/ярлык - + No folder selected Ни одна папка не была выбрана - + All the selected comics will be deleted from your disk. Are you sure? Все выбранные комиксы будут удалены с вашего жёсткого диска. Вы уверены? - + Remove comics Убрать комиксы - - + + Set as unread Отметить как не прочитано - + Library not found Библиотека не найдена - - - + + + manga манга - - - + + + comic комикс - - - + + + web comic веб-комикс - - - + + + western manga (left to right) западная манга (слева направо) - - + + Unable to delete Не удалось удалить - - - + + + 4koma (top to botom) 4кома (сверху вниз) - - - - + + Search filters + Фильтры поиска + + + + Unread + Непрочитанные + + + + In progress + В процессе + + + + Highly rated + С высокой оценкой + + + + Recently added + Недавно добавленные + + + + Search syntax… + Синтаксис поиска… + + + + + + Set type Тип установки - + A repair of this library is already running (%1). Wait for it to finish. Восстановление этой библиотеки уже выполняется (%1). Дождитесь его завершения. - + The library is locked by a repair that did not finish. Библиотека заблокирована незавершённым восстановлением. - + The library is locked by a repair started by %1. Библиотека заблокирована восстановлением, запущенным %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Если вы уверены, что никакое другое восстановление не выполняется, блокировку можно снять. Снять блокировку и продолжить? - + Package operation failed - + The covers package operation could not be completed. - + Restore recovery failed Не удалось восстановиться после прерванного восстановления - + Set custom cover Установить собственную обложку - + Delete custom cover Удалить пользовательскую обложку - + Error Ошибка - + Error opening comic with third party reader. Ошибка при открытии комикса с помощью сторонней программы чтения. - - + + YACReader library database (*.ydb) База данных библиотеки YACReader (*.ydb) - + The library database backup was created at: %1 Резервная копия базы данных библиотеки создана здесь: %1 - + Unable to create the library database backup: %1 Не удалось создать резервную копию базы данных библиотеки: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Перед восстановлением закройте YACReaderLibraryServer и все другие приложения YACReader, использующие эту библиотеку. Продолжить? - + Restoring library database... Восстановление базы данных библиотеки... - + The current library database is invalid. Restore the selected backup anyway? Текущая база данных библиотеки повреждена. Всё равно восстановить выбранную резервную копию? - - + + The library maintenance lock may be stale. Remove it and retry? Файл блокировки обслуживания библиотеки может быть устаревшим. Удалить его и повторить попытку? - + Restart YACReaderLibrary before attempting recovery again. @@ -1274,71 +1304,71 @@ Restart YACReaderLibrary before attempting recovery again. Перезапустите YACReaderLibrary перед следующей попыткой восстановления. - + The library database was restored successfully. Update the library now? База данных библиотеки успешно восстановлена. Обновить библиотеку сейчас? - + Library database damaged База данных библиотеки повреждена - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. База данных библиотеки «%1» повреждена, поэтому обычные обновления, обслуживание и резервное копирование недоступны. YACReader может попытаться восстановить базу данных. Некоторые повреждённые данные могут быть утрачены. Существующие резервные копии не будут изменены. - + Attempt repair Попытаться восстановить - + Restore a backup... Восстановить резервную копию... - + Repairing library database... Восстановление базы данных библиотеки... - - - + + + Library database repair Восстановление базы данных библиотеки - + Another maintenance operation is currently using this library. Try again after it finishes. Сейчас эту библиотеку использует другая операция обслуживания. Повторите попытку после её завершения. - + The library database is already valid. База данных библиотеки уже исправна. - + Library database repaired База данных библиотеки восстановлена - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 База данных библиотеки восстановлена путём перестроения индексов. Повреждённый оригинал сохранён здесь: %1 - + Library database rebuilt База данных библиотеки перестроена - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1349,7 +1379,7 @@ Update the library now? Обновить библиотеку сейчас? - + The damaged original was preserved at: @@ -1360,12 +1390,12 @@ The damaged original was preserved at: %1 - + Library database repair failed Не удалось восстановить базу данных библиотеки - + The library database could not be repaired: %1%2 @@ -1376,42 +1406,42 @@ You can restore a backup from the Library menu or recreate the library. Можно восстановить резервную копию из меню «Библиотека» или создать библиотеку заново. - + library? ? - + Are you sure? Вы уверены? - + Rescan library for XML info Повторное сканирование библиотеки для получения информации XML - + Upgrade failed Обновление не удалось - + There were errors during library upgrade in: При обновлении библиотеки возникли ошибки: - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader не найден. YACReader должен быть установлен в ту же папку, что и YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. YACReader не найден. Возможно, возникла проблема с установкой YACReader. - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2547,6 +2577,279 @@ To stop an automatic update tap on the loading indicator next to the Libraries t Количество найденных томов : %1 + + SearchFieldRegistry + + + Text, quoted text + Текст, текст в кавычках + + + + Integer + Целое число + + + + Boolean (true / false) + Логическое значение (true / false) + + + + Integer (number of days) + Целое число (количество дней) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Перечисление (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Название комикса + + + + Series name + Название серии + + + + Issue number + Номер выпуска + + + + Volume identifier + Идентификатор тома + + + + Reading format + Формат чтения + + + + Comic rating + Оценка комикса + + + + Textual tags + Текстовые метки + + + + Writer credit + Автор сценария + + + + Penciller credit + Художник-карандашист + + + + Inker credit + Контуровщик + + + + Colorist credit + Колорист + + + + Letterer credit + Леттерер + + + + Cover artist credit + Художник обложки + + + + Editor credit + Редактор + + + + Story arc name + Название сюжетной арки + + + + Position within a story arc + Позиция в сюжетной арке + + + + Number of issues in a story arc + Количество выпусков в сюжетной арке + + + + Characters appearing in the comic + Персонажи, появляющиеся в комиксе + + + + Teams appearing in the comic + Команды, появляющиеся в комиксе + + + + Locations appearing in the comic + Места, появляющиеся в комиксе + + + + Primary character or team + Главный персонаж или команда + + + + Comic synopsis + Краткое содержание комикса + + + + Publisher name + Название издательства + + + + Publishing imprint + Импринт издательства + + + + Publication format + Формат публикации + + + + Recommended age rating + Рекомендуемый возрастной рейтинг + + + + Comic genre + Жанр комикса + + + + ISO language code + Код языка ISO + + + + Publication date metadata + Метаданные даты публикации + + + + Series grouping metadata + Метаданные группировки серий + + + + Alternate series name + Альтернативное название серии + + + + Alternate issue number + Альтернативный номер выпуска + + + + Alternate series issue count + Количество выпусков альтернативной серии + + + + Number of issues in the series + Количество выпусков в серии + + + + Whether the comic is marked as read + Отмечен ли комикс как прочитанный + + + + Whether reading has started + Начато ли чтение + + + + Whether metadata has been edited + Изменялись ли метаданные + + + + Whether the comic is in color + Является ли комикс цветным + + + + Number of pages + Количество страниц + + + + Comic file name + Имя файла комикса + + + + When the item was added + Когда элемент был добавлен + + + + When the comic was last opened + Когда комикс открывался в последний раз + + + + Comic notes + Примечания к комиксу + + + + Review text + Текст рецензии + + + + Parent folder name + Название родительской папки + + + + Default reading format for the folder + Формат чтения папки по умолчанию + + + + Whether the folder is complete + Завершена ли папка + + + + Whether the folder is marked as finished + Отмечена ли папка как законченная + + + + When the folder was updated + Когда папка была обновлена + + SearchSingleComic @@ -2566,6 +2869,301 @@ To stop an automatic update tap on the loading indicator next to the Libraries t Используйте поиск по точному совпадению. Отключите, если хотите найти тома, соответствующие некоторым словам в названии. + + SearchSyntaxDialog + + + Common + Общие + + + + Credits + Авторы + + + + Story + Сюжет + + + + Publication + Публикация + + + + Reading & files + Чтение и файлы + + + + Folders + Папки + + + + Search syntax + Синтаксис поиска + + + + Search every comic and folder field, or build precise queries. + Ищите во всех полях комиксов и папок или создавайте точные запросы. + + + + Quick guide + Краткое руководство + + + + Fields (%1) + Поля (%1) + + + + Examples + Примеры + + + + Start with a simple search + Начните с простого поиска + + + + Just start typing. Plain text search across all metadata. + Просто начните вводить текст. Обычный текст ищется во всех метаданных. + + + + 1. Search everywhere + 1. Поиск везде + + + + Type any text or quoted text. + Введите любой текст или текст в кавычках. + + + + 2. Target a field + 2. Поиск по полю + + + + Use a field name followed by : or = + Укажите имя поля, а затем : или = + + + + 3. Combine conditions + 3. Объединение условий + + + + Use AND, OR, NOT and parentheses. + Используйте AND, OR, NOT и круглые скобки. + + + + Operators + Операторы + + + + : or = + : или = + + + + contains the text + содержит текст + + + + matches the complete value + полностью совпадает со значением + + + + greater than / at least + больше / не меньше + + + + less than / at most + меньше / не больше + + + + "quoted text" + "текст в кавычках" + + + + keeps spaces inside one value + сохраняет пробелы внутри одного значения + + + + Dates and grouping + Даты и группировка + + + + added in the last 7 days + добавлено за последние 7 дней + + + + added more than 30 days ago + добавлено более 30 дней назад + + + + group alternatives + группирует варианты + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + Советы: пробелы работают как AND, а поиск не учитывает регистр. Используйте кавычки, чтобы включить пробелы в значение. + + + + Find a field… + Найти поле… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + Текст можно вводить без кавычек или в кавычках. Целочисленные поля поддерживают <, <=, > и >=. В полях даты целое число означает количество дней (added>7 означает добавленное за последние 7 дней). + + + + Field + Поле + + + + Description + Описание + + + + Input + Ввод + + + + Example + Пример + + + + Examples show the pattern—replace the values with your own. + Примеры показывают шаблон — замените значения своими. + + + + Query + Запрос + + + + What it finds + Что будет найдено + + + + Common filters + Общие фильтры + + + + Unread comics + Непрочитанные комиксы + + + + Comics in progress + Комиксы в процессе чтения + + + + Highly rated comics + Комиксы с высокой оценкой + + + + Comics added in the last 7 days + Комиксы, добавленные за последние 7 дней + + + + Metadata + Метаданные + + + + Search by series + Поиск по серии + + + + Search by writer + Поиск по автору сценария + + + + Manga comics + Манга + + + + Search textual tags + Поиск по текстовым меткам + + + + Advanced combinations + Расширенные комбинации + + + + Match either writer + Совпадение с любым из авторов + + + + Group alternatives + Сгруппировать варианты + + + + Exclude a value + Исключить значение + + + + Older, highly rated comics + Старые комиксы с высокой оценкой + + + + Copy query + Копировать запрос + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Пробелы работают как AND. Используйте кавычки для фраз и круглые скобки для управления группировкой. + + SearchVolume @@ -3188,7 +3786,12 @@ To stop an automatic update tap on the loading indicator next to the Libraries t YACReaderSearchLineEdit - + + Search filters + Фильтры поиска + + + type to search Начать поиск diff --git a/YACReaderLibrary/yacreaderlibrary_source.ts b/YACReaderLibrary/yacreaderlibrary_source.ts index 8324f6cf5..d1d7038eb 100644 --- a/YACReaderLibrary/yacreaderlibrary_source.ts +++ b/YACReaderLibrary/yacreaderlibrary_source.ts @@ -804,311 +804,341 @@ LibraryWindow - + Library - + Open folder... - - - + + + western manga (left to right) - - - + + + 4koma (top to botom) 4koma (top to botom - + Do you want remove - + YACReader Library - - - + + + manga - - - + + + comic - + Are you sure? - + Rescan library for XML info - + Set as read - - + + Set as unread - - - + + + web comic - + Add new folder - + Delete folder - + Set as uncompleted - + Set as completed - + Update folder - + Folder - + Comic - + Upgrade failed - + There were errors during library upgrade in: - + Restore recovery failed - + Update needed - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? - + Download new version - + This library was created with a newer version of YACReaderLibrary. Download the new version now? - + Library not available - + Library '%1' is no longer available. Do you want to remove it? - + Old library - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? - - + + Copying comics... - - + + Moving comics... - + Folder name: - + No folder selected - + Please, select a folder first - + Error in path - + There was an error accessing the folder's path - + The selected folder and all its contents will be deleted from your disk. Are you sure? - - + + Unable to delete - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. - + Add new reading lists - - + + List name: - + Delete list/label - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? - + Rename list name - - - - + + + + Set type - + + Search filters + + + + + Unread + + + + + In progress + + + + + Highly rated + + + + + Recently added + + + + + Search syntax… + + + + A repair of this library is already running (%1). Wait for it to finish. - + The library is locked by a repair that did not finish. - + The library is locked by a repair started by %1. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? - + Package operation failed - + The covers package operation could not be completed. - + Set custom cover - + Delete custom cover - + Save covers - + You are adding too many libraries. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1117,152 +1147,152 @@ YACReaderLibrary will not stop you from creating more libraries but you should k - - + + YACReader not found - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. - + YACReader not found. There might be a problem with your YACReader installation. - + Error - + Error opening comic with third party reader. - + Library not found - + The selected folder doesn't contain any library. - - + + YACReader library database (*.ydb) - + The library database backup was created at: %1 - + Unable to create the library database backup: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? - + Restoring library database... - + The current library database is invalid. Restore the selected backup anyway? - - + + The library maintenance lock may be stale. Remove it and retry? - + Restart YACReaderLibrary before attempting recovery again. - + The library database was restored successfully. Update the library now? - + Library database damaged - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. - + Attempt repair - + Restore a backup... - + Repairing library database... - - - + + + Library database repair - + Another maintenance operation is currently using this library. Try again after it finishes. - + The library database is already valid. - + Library database repaired - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 - + Library database rebuilt - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1270,7 +1300,7 @@ Update the library now? - + The damaged original was preserved at: @@ -1278,12 +1308,12 @@ The damaged original was preserved at: - + Library database repair failed - + The library database could not be repaired: %1%2 @@ -1291,102 +1321,102 @@ You can restore a backup from the Library menu or recreate the library. - + library? - + Remove and delete metadata and backups - + Library info - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. - + Assign comics numbers - + Assign numbers starting in: - + Invalid image - + The selected file is not a valid image. - + Error saving cover - + There was an error saving the cover image. - + Error creating the library - + Error updating the library - + Error opening the library - + Delete comics - + All the selected comics will be deleted from your disk. Are you sure? - + Remove comics - + Comics will only be deleted from the current label/list. Are you sure? - + Library name already exists - + There is another library with the name '%1'. - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2517,6 +2547,279 @@ To stop an automatic update tap on the loading indicator next to the Libraries t + + SearchFieldRegistry + + + Text, quoted text + + + + + Integer + + + + + Boolean (true / false) + + + + + Integer (number of days) + + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + + Comic title + + + + + Series name + + + + + Issue number + + + + + Volume identifier + + + + + Reading format + + + + + Comic rating + + + + + Textual tags + + + + + Writer credit + + + + + Penciller credit + + + + + Inker credit + + + + + Colorist credit + + + + + Letterer credit + + + + + Cover artist credit + + + + + Editor credit + + + + + Story arc name + + + + + Position within a story arc + + + + + Number of issues in a story arc + + + + + Characters appearing in the comic + + + + + Teams appearing in the comic + + + + + Locations appearing in the comic + + + + + Primary character or team + + + + + Comic synopsis + + + + + Publisher name + + + + + Publishing imprint + + + + + Publication format + + + + + Recommended age rating + + + + + Comic genre + + + + + ISO language code + + + + + Publication date metadata + + + + + Series grouping metadata + + + + + Alternate series name + + + + + Alternate issue number + + + + + Alternate series issue count + + + + + Number of issues in the series + + + + + Whether the comic is marked as read + + + + + Whether reading has started + + + + + Whether metadata has been edited + + + + + Whether the comic is in color + + + + + Number of pages + + + + + Comic file name + + + + + When the item was added + + + + + When the comic was last opened + + + + + Comic notes + + + + + Review text + + + + + Parent folder name + + + + + Default reading format for the folder + + + + + Whether the folder is complete + + + + + Whether the folder is marked as finished + + + + + When the folder was updated + + + SearchSingleComic @@ -2536,6 +2839,301 @@ To stop an automatic update tap on the loading indicator next to the Libraries t + + SearchSyntaxDialog + + + Common + + + + + Credits + + + + + Story + + + + + Publication + + + + + Reading & files + + + + + Folders + + + + + Search syntax + + + + + Search every comic and folder field, or build precise queries. + + + + + Quick guide + + + + + Fields (%1) + + + + + Examples + + + + + Start with a simple search + + + + + Just start typing. Plain text search across all metadata. + + + + + 1. Search everywhere + + + + + Type any text or quoted text. + + + + + 2. Target a field + + + + + Use a field name followed by : or = + + + + + 3. Combine conditions + + + + + Use AND, OR, NOT and parentheses. + + + + + Operators + + + + + : or = + + + + + contains the text + + + + + matches the complete value + + + + + greater than / at least + + + + + less than / at most + + + + + "quoted text" + + + + + keeps spaces inside one value + + + + + Dates and grouping + + + + + added in the last 7 days + + + + + added more than 30 days ago + + + + + group alternatives + + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + + + + + Find a field… + + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + + + + + Field + + + + + Description + + + + + Input + + + + + Example + + + + + Examples show the pattern—replace the values with your own. + + + + + Query + + + + + What it finds + + + + + Common filters + + + + + Unread comics + + + + + Comics in progress + + + + + Highly rated comics + + + + + Comics added in the last 7 days + + + + + Metadata + + + + + Search by series + + + + + Search by writer + + + + + Manga comics + + + + + Search textual tags + + + + + Advanced combinations + + + + + Match either writer + + + + + Group alternatives + + + + + Exclude a value + + + + + Older, highly rated comics + + + + + Copy query + + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + + + SearchVolume @@ -3155,7 +3753,12 @@ To stop an automatic update tap on the loading indicator next to the Libraries t YACReaderSearchLineEdit - + + Search filters + + + + type to search diff --git a/YACReaderLibrary/yacreaderlibrary_tr.ts b/YACReaderLibrary/yacreaderlibrary_tr.ts index 280c96af2..e708d2eac 100644 --- a/YACReaderLibrary/yacreaderlibrary_tr.ts +++ b/YACReaderLibrary/yacreaderlibrary_tr.ts @@ -808,17 +808,17 @@ LibraryWindow - + The selected folder doesn't contain any library. Seçilen dosya kütüphanede yok. - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? Bu kütüphane YACReaderKütüphabenin bir önceki versiyonun oluşturulmuş, güncellemeye ihtiyacın var. Şimdi güncellemek ister misin ? - + Error opening the library Haa kütüphanesini aç @@ -827,347 +827,377 @@ Metadata'yı kaldır ve sil - + Old library Eski kütüphane - + Library Kütüphane - + This library was created with a newer version of YACReaderLibrary. Download the new version now? Bu kütüphane YACRKütüphanenin üst bir versiyonunda oluşturulmu. Yeni versiyonu indirmek ister misiniz ? - + Library '%1' is no longer available. Do you want to remove it? Kütüphane '%1'ulaşılabilir değil. Kaldırmak ister misin? - + Open folder... Dosyayı aç... - + Do you want remove Kaldırmak ister misin - + Error updating the library Kütüphane güncelleme sorunu - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? Kütüphane '%1 YACRKütüphanenin eski bir sürümünde oluşturulmuş, Kütüphaneyi yeniden oluşturmak ister misin? - + Set as read Okundu olarak işaretle - + Library not available Kütüphane ulaşılabilir değil - + YACReader Library YACReader Kütüphane - + Error creating the library Kütüphane oluşturma sorunu - + Update needed Güncelleme gerekli - + Library name already exists Kütüphane ismi zaten alınmış - + There is another library with the name '%1'. Bu başka bir kütüphanenin adı '%1'. - + Download new version Yeni versiyonu indir - + Delete comics Çizgi romanları sil - + All the selected comics will be deleted from your disk. Are you sure? Seçilen tüm çizgi romanlar diskten silinecek emin misin ? - - + + Set as unread Hepsini okunmadı işaretle - + Library not found Kütüphane bulunamadı - - - + + + manga manga t?r? - - - + + + comic komik - - - + + + western manga (left to right) Batı mangası (soldan sağa) - - - + + + 4koma (top to botom) 4koma (top to botom 4koma (yukarıdan aşağıya) - + library? kütüphane? - + Are you sure? Emin misin? - + Rescan library for XML info XML bilgisi için kitaplığı yeniden tarayın - - - + + + web comic web çizgi romanı - + Add new folder Yeni klasör ekle - + Delete folder Klasörü sil - + Set as uncompleted Tamamlanmamış olarak ayarla - + Set as completed Tamamlanmış olarak ayarla - + Update folder Klasörü güncelle - + Folder Klasör - + Comic Çizgi roman - + Upgrade failed Yükseltme başarısız oldu - + There were errors during library upgrade in: Kütüphane yükseltmesi sırasında hatalar oluştu: - - + + Copying comics... Çizgi romanlar kopyalanıyor... - - + + Moving comics... Çizgi romanlar taşınıyor... - + Folder name: Klasör adı: - + No folder selected Hiçbir klasör seçilmedi - + Please, select a folder first Lütfen, önce bir klasör seçiniz - + Error in path Yolda hata - + There was an error accessing the folder's path Klasörün yoluna erişilirken hata oluştu - + The selected folder and all its contents will be deleted from your disk. Are you sure? Seçilen klasör ve tüm içeriği diskinizden silinecek. Emin misin? - - + + Unable to delete Silinemedi - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. Seçili klasörleri silmeye çalışırken bir sorun oluştu. Lütfen yazma izinlerini kontrol edin ve herhangi bir uygulamanın bu klasörleri veya içerdiği dosyalardan herhangi birini kullandığından emin olun. - + Add new reading lists Yeni okuma listeleri ekle - - + + List name: Liste adı: - + Delete list/label Listeyi/Etiketi sil - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? Seçilen öğe silinecek, çizgi romanlarınız veya klasörleriniz diskinizden SİLİNMEYECEKTİR. Emin misin? - + Rename list name Listeyi yeniden adlandır - - - - + + + + Set type Türü ayarla - + + Search filters + Arama filtreleri + + + + Unread + Okunmamış + + + + In progress + Devam eden + + + + Highly rated + Yüksek puanlı + + + + Recently added + Yakın zamanda eklenen + + + + Search syntax… + Arama söz dizimi… + + + A repair of this library is already running (%1). Wait for it to finish. Bu kütüphanenin onarımı zaten çalışıyor (%1). Bitmesini bekleyin. - + The library is locked by a repair that did not finish. Kütüphane, tamamlanmamış bir onarım tarafından kilitlendi. - + The library is locked by a repair started by %1. Kütüphane, %1 tarafından başlatılan bir onarım tarafından kilitlendi. - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? Başka bir onarımın çalışmadığından eminseniz kilit kaldırılabilir. Kilit kaldırılıp devam edilsin mi? - + Package operation failed - + The covers package operation could not be completed. - + Restore recovery failed Geri yükleme kurtarması başarısız oldu - + Set custom cover Özel kapak ayarla - + Delete custom cover Özel kapağı sil - + Save covers Kapakları kaydet - + You are adding too many libraries. Çok fazla kütüphane ekliyorsunuz. - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1180,74 +1210,74 @@ Muhtemelen üst düzey çizgi roman klasörünüzde yalnızca bir kütüphaneye YACReaderLibrary daha fazla kütüphane oluşturmanıza engel olmaz ancak kütüphane sayısını düşük tutmalısınız. - - + + YACReader not found YACReader bulunamadı - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. YACReader bulunamadı. YACReader, YACReaderLibrary ile aynı klasöre kurulmalıdır. - + YACReader not found. There might be a problem with your YACReader installation. YACReader bulunamadı. YACReader kurulumunuzda bir sorun olabilir. - + Error Hata - + Error opening comic with third party reader. Çizgi roman üçüncü taraf okuyucuyla açılırken hata oluştu. - - + + YACReader library database (*.ydb) YACReader kitaplık veritabanı (*.ydb) - + The library database backup was created at: %1 Kitaplık veritabanı yedeği şu konumda oluşturuldu: %1 - + Unable to create the library database backup: %1 Kitaplık veritabanı yedeği oluşturulamadı: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? Geri yüklemeden önce YACReaderLibraryServer'ı ve bu kitaplığı kullanan diğer tüm YACReader uygulamalarını kapatın. Devam edilsin mi? - + Restoring library database... Kitaplık veritabanı geri yükleniyor... - + The current library database is invalid. Restore the selected backup anyway? Geçerli kitaplık veritabanı geçersiz. Seçilen yedek yine de geri yüklensin mi? - - + + The library maintenance lock may be stale. Remove it and retry? Kitaplık bakım kilidi eski kalmış olabilir. Kaldırıp yeniden denensin mi? - + Restart YACReaderLibrary before attempting recovery again. @@ -1256,71 +1286,71 @@ Restart YACReaderLibrary before attempting recovery again. Kurtarmayı yeniden denemeden önce YACReaderLibrary'yi yeniden başlatın. - + The library database was restored successfully. Update the library now? Kitaplık veritabanı başarıyla geri yüklendi. Kitaplık şimdi güncellensin mi? - + Library database damaged Kitaplık veritabanı hasarlı - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. '%1' kitaplığının veritabanı hasarlı olduğundan normal güncellemeler, bakım ve yedeklemeler kullanılamıyor. YACReader veritabanını onarmayı deneyebilir. Bazı hasarlı veriler kurtarılamayabilir. Mevcut yedekler değiştirilmeyecektir. - + Attempt repair Onarmayı dene - + Restore a backup... Bir yedeği geri yükle... - + Repairing library database... Kitaplık veritabanı onarılıyor... - - - + + + Library database repair Kitaplık veritabanını onar - + Another maintenance operation is currently using this library. Try again after it finishes. Başka bir bakım işlemi şu anda bu kitaplığı kullanıyor. İşlem bittikten sonra yeniden deneyin. - + The library database is already valid. Kitaplık veritabanı zaten geçerli. - + Library database repaired Kitaplık veritabanı onarıldı - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 Kitaplık veritabanı dizinleri yeniden oluşturularak onarıldı. Hasarlı özgün dosya şu konumda korundu: %1 - + Library database rebuilt Kitaplık veritabanı yeniden oluşturuldu - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1331,7 +1361,7 @@ Update the library now? Kitaplık şimdi güncellensin mi? - + The damaged original was preserved at: @@ -1342,12 +1372,12 @@ Hasarlı özgün dosya şu konumda korundu: %1 - + Library database repair failed Kitaplık veritabanı onarılamadı - + The library database could not be repaired: %1%2 @@ -1358,62 +1388,62 @@ You can restore a backup from the Library menu or recreate the library. Kitaplık menüsünden bir yedeği geri yükleyebilir veya kitaplığı yeniden oluşturabilirsiniz. - + Remove and delete metadata and backups Meta verileri ve yedekleri kaldır ve sil - + Library info Kütüphane bilgisi - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. Seçilen çizgi romanlar silinmeye çalışılırken bir sorun oluştu. Lütfen seçilen dosyalarda veya klasörleri içeren yazma izinlerini kontrol edin. - + Assign comics numbers Çizgi roman numaraları ata - + Assign numbers starting in: Şunlardan başlayarak numaralar ata: - + Invalid image Geçersiz resim - + The selected file is not a valid image. Seçilen dosya geçerli bir resim değil. - + Error saving cover Kapak kaydedilirken hata oluştu - + There was an error saving the cover image. Kapak resmi kaydedilirken bir hata oluştu. - + Remove comics Çizgi romanları kaldır - + Comics will only be deleted from the current label/list. Are you sure? Çizgi romanlar yalnızca mevcut etiketten/listeden silinecektir. Emin misin? - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2549,6 +2579,279 @@ Otomatik güncellemeyi durdurmak için Kitaplıklar başlığının yanındaki y Sayı %1, bulunan : %2 + + SearchFieldRegistry + + + Text, quoted text + Metin, tırnak içinde metin + + + + Integer + Tam sayı + + + + Boolean (true / false) + Mantıksal değer (true / false) + + + + Integer (number of days) + Tam sayı (gün sayısı) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + Numaralandırma (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + Çizgi roman başlığı + + + + Series name + Seri adı + + + + Issue number + Sayı numarası + + + + Volume identifier + Cilt tanımlayıcısı + + + + Reading format + Okuma biçimi + + + + Comic rating + Çizgi roman puanı + + + + Textual tags + Metin etiketleri + + + + Writer credit + Yazar bilgisi + + + + Penciller credit + Çizer bilgisi + + + + Inker credit + Mürekkepleme sanatçısı bilgisi + + + + Colorist credit + Renklendirme sanatçısı bilgisi + + + + Letterer credit + Harfleme sanatçısı bilgisi + + + + Cover artist credit + Kapak sanatçısı bilgisi + + + + Editor credit + Editör bilgisi + + + + Story arc name + Hikâye yayı adı + + + + Position within a story arc + Hikâye yayı içindeki konum + + + + Number of issues in a story arc + Hikâye yayındaki sayı adedi + + + + Characters appearing in the comic + Çizgi romanda görünen karakterler + + + + Teams appearing in the comic + Çizgi romanda görünen ekipler + + + + Locations appearing in the comic + Çizgi romanda görünen yerler + + + + Primary character or team + Ana karakter veya ekip + + + + Comic synopsis + Çizgi roman özeti + + + + Publisher name + Yayınevi adı + + + + Publishing imprint + Yayın markası + + + + Publication format + Yayın biçimi + + + + Recommended age rating + Önerilen yaş derecelendirmesi + + + + Comic genre + Çizgi roman türü + + + + ISO language code + ISO dil kodu + + + + Publication date metadata + Yayın tarihi üst verisi + + + + Series grouping metadata + Seri gruplandırma üst verisi + + + + Alternate series name + Alternatif seri adı + + + + Alternate issue number + Alternatif sayı numarası + + + + Alternate series issue count + Alternatif serideki sayı adedi + + + + Number of issues in the series + Serideki sayı adedi + + + + Whether the comic is marked as read + Çizgi romanın okundu olarak işaretlenip işaretlenmediği + + + + Whether reading has started + Okumaya başlanıp başlanmadığı + + + + Whether metadata has been edited + Üst verinin düzenlenip düzenlenmediği + + + + Whether the comic is in color + Çizgi romanın renkli olup olmadığı + + + + Number of pages + Sayfa sayısı + + + + Comic file name + Çizgi roman dosya adı + + + + When the item was added + Öğenin ne zaman eklendiği + + + + When the comic was last opened + Çizgi romanın en son ne zaman açıldığı + + + + Comic notes + Çizgi roman notları + + + + Review text + İnceleme metni + + + + Parent folder name + Üst klasör adı + + + + Default reading format for the folder + Klasörün varsayılan okuma biçimi + + + + Whether the folder is complete + Klasörün tamamlanmış olup olmadığı + + + + Whether the folder is marked as finished + Klasörün bitmiş olarak işaretlenip işaretlenmediği + + + + When the folder was updated + Klasörün ne zaman güncellendiği + + SearchSingleComic @@ -2568,6 +2871,301 @@ Otomatik güncellemeyi durdurmak için Kitaplıklar başlığının yanındaki y Tam eşleme aramasını kullanın. Addaki bazı sözcüklerle eşleşen ciltleri bulmak istiyorsanız devre dışı bırakın. + + SearchSyntaxDialog + + + Common + Genel + + + + Credits + Katkıda bulunanlar + + + + Story + Hikâye + + + + Publication + Yayın + + + + Reading & files + Okuma ve dosyalar + + + + Folders + Klasörler + + + + Search syntax + Arama söz dizimi + + + + Search every comic and folder field, or build precise queries. + Tüm çizgi roman ve klasör alanlarında arama yapın veya hassas sorgular oluşturun. + + + + Quick guide + Hızlı kılavuz + + + + Fields (%1) + Alanlar (%1) + + + + Examples + Örnekler + + + + Start with a simple search + Basit bir aramayla başlayın + + + + Just start typing. Plain text search across all metadata. + Yazmaya başlamanız yeterlidir. Düz metin tüm üst verilerde aranır. + + + + 1. Search everywhere + 1. Her yerde ara + + + + Type any text or quoted text. + Herhangi bir metin veya tırnak içinde metin yazın. + + + + 2. Target a field + 2. Bir alanı hedefle + + + + Use a field name followed by : or = + Bir alan adının ardından : veya = kullanın + + + + 3. Combine conditions + 3. Koşulları birleştir + + + + Use AND, OR, NOT and parentheses. + AND, OR, NOT ve parantez kullanın. + + + + Operators + İşleçler + + + + : or = + : veya = + + + + contains the text + metni içerir + + + + matches the complete value + değerin tamamıyla eşleşir + + + + greater than / at least + büyüktür / en az + + + + less than / at most + küçüktür / en fazla + + + + "quoted text" + "tırnak içinde metin" + + + + keeps spaces inside one value + boşlukları tek bir değer içinde tutar + + + + Dates and grouping + Tarihler ve gruplandırma + + + + added in the last 7 days + son 7 gün içinde eklendi + + + + added more than 30 days ago + 30 günden daha uzun süre önce eklendi + + + + group alternatives + alternatifleri gruplandırır + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + İpuçları: Boşluklar AND gibi davranır ve aramalar büyük/küçük harfe duyarlı değildir. Bir değerde boşluk kullanmak için tırnak işaretlerini kullanın. + + + + Find a field… + Alan bul… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + Metin doğrudan veya tırnak içinde girilebilir. Tam sayı alanları <, <=, > ve >= işleçlerini destekler. Tarih alanlarında tam sayı gün sayısını belirtir (added>7, son 7 gün içinde eklenenler anlamına gelir). + + + + Field + Alan + + + + Description + Açıklama + + + + Input + Girdi + + + + Example + Örnek + + + + Examples show the pattern—replace the values with your own. + Örnekler kalıbı gösterir; değerleri kendi değerlerinizle değiştirin. + + + + Query + Sorgu + + + + What it finds + Bulduğu öğeler + + + + Common filters + Yaygın filtreler + + + + Unread comics + Okunmamış çizgi romanlar + + + + Comics in progress + Okunmakta olan çizgi romanlar + + + + Highly rated comics + Yüksek puanlı çizgi romanlar + + + + Comics added in the last 7 days + Son 7 gün içinde eklenen çizgi romanlar + + + + Metadata + Üst veri + + + + Search by series + Seriye göre ara + + + + Search by writer + Yazara göre ara + + + + Manga comics + Manga çizgi romanları + + + + Search textual tags + Metin etiketlerinde ara + + + + Advanced combinations + Gelişmiş birleşimler + + + + Match either writer + Yazarlardan herhangi biriyle eşleştir + + + + Group alternatives + Alternatifleri gruplandır + + + + Exclude a value + Bir değeri hariç tut + + + + Older, highly rated comics + Eski, yüksek puanlı çizgi romanlar + + + + Copy query + Sorguyu kopyala + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + Boşluklar AND gibi davranır. İfadeler için tırnak işaretlerini, gruplandırmayı denetlemek için parantezleri kullanın. + + SearchVolume @@ -3190,7 +3788,12 @@ Otomatik güncellemeyi durdurmak için Kitaplıklar başlığının yanındaki y YACReaderSearchLineEdit - + + Search filters + Arama filtreleri + + + type to search aramak için yazınız diff --git a/YACReaderLibrary/yacreaderlibrary_zh_CN.ts b/YACReaderLibrary/yacreaderlibrary_zh_CN.ts index 8eee20556..238bfaaf2 100644 --- a/YACReaderLibrary/yacreaderlibrary_zh_CN.ts +++ b/YACReaderLibrary/yacreaderlibrary_zh_CN.ts @@ -808,72 +808,72 @@ LibraryWindow - + The selected folder doesn't contain any library. 所选文件夹不包含任何库。 - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? 此库是使用旧版本的YACReaderLibrary创建的. 它需要更新. 现在更新? - + Upgrade failed 更新失败 - + Comic 漫画 - - - + + + comic 漫画 - - - + + + manga 日本漫画 - + Folder name: 文件夹名称: - + The selected folder and all its contents will be deleted from your disk. Are you sure? 所选文件夹及其所有内容将从磁盘中删除。 你确定吗? - + Rescan library for XML info 重新扫描库的 XML 信息 - + Error opening the library 打开库时出错 - - + + YACReader not found YACReader 未找到 - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. 尝试删除所选文件夹时出现问题。 请检查写入权限,并确保没有其他应用程序在使用这些文件夹或文件。 - + Rename list name 重命名列表 @@ -882,154 +882,154 @@ 移除并删除元数据 - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. 未找到YACReader. YACReader应安装在与YACReaderLibrary相同的文件夹中. - + Old library 旧的库 - + Set as completed 设为已完成 - + There was an error accessing the folder's path 访问文件夹的路径时出错 - + Library - + Comics will only be deleted from the current label/list. Are you sure? 漫画只会从当前标签/列表中删除。 你确定吗? - + This library was created with a newer version of YACReaderLibrary. Download the new version now? 此库是使用较新版本的YACReaderLibrary创建的。 立即下载新版本? - - + + Moving comics... 移动漫画中... - - + + Copying comics... 复制漫画中... - + Library '%1' is no longer available. Do you want to remove it? 库 '%1' 不再可用。 你想删除它吗? - - - + + + web comic 网络漫画 - + Open folder... 打开文件夹... - + Set custom cover 设置自定义封面 - + Delete custom cover 删除自定义封面 - + Error 错误 - + Error opening comic with third party reader. 使用第三方阅读器打开漫画时出错。 - + Do you want remove 你想要删除 - + Set as uncompleted 设为未完成 - + Error in path 路径错误 - + Error updating the library 更新库时出错 - + Folder 文件夹 - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? 所选项目将被删除,您的漫画或文件夹将不会从您的磁盘中删除。 你确定吗? - - - + + + western manga (left to right) 欧美漫画(从左到右) - - + + List name: 列表名称: - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? 库 '%1' 是通过旧版本的YACReaderLibrary创建的。 必须再次创建。 你想现在创建吗? - + Save covers 保存封面 - + YACReader not found. There might be a problem with your YACReader installation. 未找到YACReader. YACReader的安装可能有问题. - + Add new reading lists 添加新的阅读列表 - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1042,171 +1042,201 @@ YACReaderLibrary will not stop you from creating more libraries but you should k YACReaderLibrary不会阻止您创建更多的库,但是您应该保持较低的库数量来提升性能。 - + Set as read 设为已读 - + Assign comics numbers 分配漫画编号 - + There were errors during library upgrade in: 漫画库更新时出现错误: - + Please, select a folder first 请先选择一个文件夹 - + Library not available 库不可用 - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. 尝试删除所选漫画时出现问题。 请检查所选文件或包含文件夹中的写入权限。 - + YACReader Library YACReader 库 - + Error creating the library 创建库时出错 - + You are adding too many libraries. 您添加的库太多了。 - + Update folder 更新文件夹 - + Update needed 需要更新 - + Library name already exists 库名已存在 - + There is another library with the name '%1'. 已存在另一个名为'%1'的库。 - + Delete folder 删除文件夹 - + Assign numbers starting in: 从以下位置开始分配编号: - + Download new version 下载新版本 - - - - + + Search filters + 搜索筛选条件 + + + + Unread + 未读 + + + + In progress + 阅读中 + + + + Highly rated + 高评分 + + + + Recently added + 最近添加 + + + + Search syntax… + 搜索语法… + + + + + + Set type 设置类型 - + A repair of this library is already running (%1). Wait for it to finish. 此库的修复已在运行中(%1)。请等待其完成。 - + The library is locked by a repair that did not finish. 库已被一个未完成的修复锁定。 - + The library is locked by a repair started by %1. 库已被 %1 启动的修复锁定。 - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? 如果您确定没有其他修复正在运行,可以移除该锁定。移除锁定并继续? - + Package operation failed 打包操作失败 - + The covers package operation could not be completed. 封面包操作无法完成。 - + Restore recovery failed 恢复操作修复失败 - - + + YACReader library database (*.ydb) YACReader 资料库数据库 (*.ydb) - + The library database backup was created at: %1 资料库数据库备份已创建于: %1 - + Unable to create the library database backup: %1 无法创建资料库数据库备份: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? 恢复前请关闭 YACReaderLibraryServer 以及正在使用此资料库的所有其他 YACReader 应用程序。是否继续? - + Restoring library database... 正在恢复资料库数据库... - + The current library database is invalid. Restore the selected backup anyway? 当前资料库数据库无效。仍要恢复所选备份吗? - - + + The library maintenance lock may be stale. Remove it and retry? 资料库维护锁可能已失效。是否移除并重试? - + Restart YACReaderLibrary before attempting recovery again. @@ -1215,71 +1245,71 @@ Restart YACReaderLibrary before attempting recovery again. 再次尝试恢复前,请重新启动 YACReaderLibrary。 - + The library database was restored successfully. Update the library now? 资料库数据库已成功恢复。是否立即更新资料库? - + Library database damaged 资料库数据库已损坏 - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. 资料库“%1”的数据库已损坏,因此无法执行常规更新、维护和备份。YACReader 可以尝试修复数据库。部分损坏的数据可能无法恢复。现有备份不会被更改。 - + Attempt repair 尝试修复 - + Restore a backup... 恢复备份... - + Repairing library database... 正在修复资料库数据库... - - - + + + Library database repair 修复资料库数据库 - + Another maintenance operation is currently using this library. Try again after it finishes. 另一个维护操作正在使用此资料库。请在其完成后重试。 - + The library database is already valid. 资料库数据库已经有效。 - + Library database repaired 资料库数据库已修复 - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 已通过重建索引修复资料库数据库。损坏的原始文件已保存在: %1 - + Library database rebuilt 资料库数据库已重建 - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1290,7 +1320,7 @@ Update the library now? 是否立即更新资料库? - + The damaged original was preserved at: @@ -1301,12 +1331,12 @@ The damaged original was preserved at: %1 - + Library database repair failed 资料库数据库修复失败 - + The library database could not be repaired: %1%2 @@ -1317,101 +1347,101 @@ You can restore a backup from the Library menu or recreate the library. 您可以从“资料库”菜单恢复备份,或重新创建资料库。 - + Remove and delete metadata and backups 移除并删除元数据和备份 - + Library info 图书馆信息 - + Invalid image 图片无效 - + The selected file is not a valid image. 所选文件不是有效图像。 - + Error saving cover 保存封面时出错 - + There was an error saving the cover image. 保存封面图像时出错。 - + Delete comics 删除漫画 - + Add new folder 添加新的文件夹 - + Delete list/label 删除 列表/标签 - + No folder selected 没有选中的文件夹 - + All the selected comics will be deleted from your disk. Are you sure? 所有选定的漫画都将从您的磁盘中删除。你确定吗? - + Remove comics 移除漫画 - - + + Set as unread 设为未读 - + Library not found 未找到库 - - + + Unable to delete 无法删除 - - - + + + 4koma (top to botom) 四格漫画(从上到下) - + library? 库? - + Are you sure? 你确定吗? - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2543,6 +2573,279 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 搜索结果: %1 + + SearchFieldRegistry + + + Text, quoted text + 文本、带引号的文本 + + + + Integer + 整数 + + + + Boolean (true / false) + 布尔值 (true / false) + + + + Integer (number of days) + 整数(天数) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + 枚举 (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + 漫画标题 + + + + Series name + 系列名称 + + + + Issue number + 期号 + + + + Volume identifier + 卷标识 + + + + Reading format + 阅读格式 + + + + Comic rating + 漫画评分 + + + + Textual tags + 文本标签 + + + + Writer credit + 编剧署名 + + + + Penciller credit + 线稿师署名 + + + + Inker credit + 墨线师署名 + + + + Colorist credit + 上色师署名 + + + + Letterer credit + 嵌字师署名 + + + + Cover artist credit + 封面画师署名 + + + + Editor credit + 编辑署名 + + + + Story arc name + 故事线名称 + + + + Position within a story arc + 故事线中的位置 + + + + Number of issues in a story arc + 故事线中的期数 + + + + Characters appearing in the comic + 漫画中出现的角色 + + + + Teams appearing in the comic + 漫画中出现的团队 + + + + Locations appearing in the comic + 漫画中出现的地点 + + + + Primary character or team + 主要角色或团队 + + + + Comic synopsis + 漫画简介 + + + + Publisher name + 出版社名称 + + + + Publishing imprint + 出版品牌 + + + + Publication format + 出版格式 + + + + Recommended age rating + 建议年龄分级 + + + + Comic genre + 漫画类型 + + + + ISO language code + ISO 语言代码 + + + + Publication date metadata + 出版日期元数据 + + + + Series grouping metadata + 系列分组元数据 + + + + Alternate series name + 备用系列名称 + + + + Alternate issue number + 备用期号 + + + + Alternate series issue count + 备用系列期数 + + + + Number of issues in the series + 系列期数 + + + + Whether the comic is marked as read + 漫画是否标记为已读 + + + + Whether reading has started + 是否已开始阅读 + + + + Whether metadata has been edited + 元数据是否已编辑 + + + + Whether the comic is in color + 漫画是否为彩色 + + + + Number of pages + 页数 + + + + Comic file name + 漫画文件名 + + + + When the item was added + 项目的添加时间 + + + + When the comic was last opened + 漫画上次打开时间 + + + + Comic notes + 漫画备注 + + + + Review text + 评论文本 + + + + Parent folder name + 上级文件夹名称 + + + + Default reading format for the folder + 文件夹的默认阅读格式 + + + + Whether the folder is complete + 文件夹是否完整 + + + + Whether the folder is marked as finished + 文件夹是否标记为已完结 + + + + When the folder was updated + 文件夹的更新时间 + + SearchSingleComic @@ -2562,6 +2865,301 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 使用精确匹配搜索。如果您想要查找与名称中某些单词匹配的卷,请禁用。 + + SearchSyntaxDialog + + + Common + 常用 + + + + Credits + 创作人员 + + + + Story + 故事 + + + + Publication + 出版 + + + + Reading & files + 阅读和文件 + + + + Folders + 文件夹 + + + + Search syntax + 搜索语法 + + + + Search every comic and folder field, or build precise queries. + 搜索漫画和文件夹的所有字段,或构建精确查询。 + + + + Quick guide + 快速指南 + + + + Fields (%1) + 字段 (%1) + + + + Examples + 示例 + + + + Start with a simple search + 从简单搜索开始 + + + + Just start typing. Plain text search across all metadata. + 直接开始输入即可。纯文本会搜索所有元数据。 + + + + 1. Search everywhere + 1. 全局搜索 + + + + Type any text or quoted text. + 输入任意文本或带引号的文本。 + + + + 2. Target a field + 2. 指定字段 + + + + Use a field name followed by : or = + 使用字段名,后接 : 或 = + + + + 3. Combine conditions + 3. 组合条件 + + + + Use AND, OR, NOT and parentheses. + 使用 AND、OR、NOT 和括号。 + + + + Operators + 运算符 + + + + : or = + : 或 = + + + + contains the text + 包含该文本 + + + + matches the complete value + 匹配完整值 + + + + greater than / at least + 大于 / 至少 + + + + less than / at most + 小于 / 至多 + + + + "quoted text" + "带引号的文本" + + + + keeps spaces inside one value + 将空格保留在同一个值中 + + + + Dates and grouping + 日期和分组 + + + + added in the last 7 days + 在最近 7 天内添加 + + + + added more than 30 days ago + 在 30 多天前添加 + + + + group alternatives + 对备选条件分组 + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + 提示:空格等同于 AND,搜索不区分大小写。使用引号可在一个值中包含空格。 + + + + Find a field… + 查找字段… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + 文本可直接输入或放在引号中。整数字段支持 <、<=、> 和 >=。对于日期字段,整数表示天数(added>7 表示在最近 7 天内添加)。 + + + + Field + 字段 + + + + Description + 说明 + + + + Input + 输入 + + + + Example + 示例 + + + + Examples show the pattern—replace the values with your own. + 示例展示了格式,请将值替换为你自己的值。 + + + + Query + 查询 + + + + What it finds + 查找内容 + + + + Common filters + 常用筛选条件 + + + + Unread comics + 未读漫画 + + + + Comics in progress + 阅读中的漫画 + + + + Highly rated comics + 高评分漫画 + + + + Comics added in the last 7 days + 最近 7 天内添加的漫画 + + + + Metadata + 元数据 + + + + Search by series + 按系列搜索 + + + + Search by writer + 按编剧搜索 + + + + Manga comics + 日式漫画 + + + + Search textual tags + 搜索文本标签 + + + + Advanced combinations + 高级组合 + + + + Match either writer + 匹配任一编剧 + + + + Group alternatives + 对备选条件分组 + + + + Exclude a value + 排除某个值 + + + + Older, highly rated comics + 较早的高评分漫画 + + + + Copy query + 复制查询 + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + 空格等同于 AND。使用引号表示短语,使用括号控制分组。 + + SearchVolume @@ -3184,7 +3782,12 @@ To stop an automatic update tap on the loading indicator next to the Libraries t YACReaderSearchLineEdit - + + Search filters + 搜索筛选条件 + + + type to search 搜索类型 diff --git a/YACReaderLibrary/yacreaderlibrary_zh_HK.ts b/YACReaderLibrary/yacreaderlibrary_zh_HK.ts index 550d5452a..82570ba58 100644 --- a/YACReaderLibrary/yacreaderlibrary_zh_HK.ts +++ b/YACReaderLibrary/yacreaderlibrary_zh_HK.ts @@ -810,280 +810,280 @@ LibraryWindow - + YACReader Library YACReader 庫 - + Library - + Set as read 設為已讀 - - + + Set as unread 設為未讀 - - - + + + manga 漫畫 - - - + + + comic 漫畫 - - - + + + web comic 網路漫畫 - - - + + + western manga (left to right) 西方漫畫(從左到右) - + Library not available Library ' 庫不可用 - + Rescan library for XML info 重新掃描庫的 XML 資訊 - + Delete folder 刪除檔夾 - + Open folder... 打開檔夾... - + Set as uncompleted 設為未完成 - + Set as completed 設為已完成 - + Update folder 更新檔夾 - + Folder 檔夾 - + Comic 漫畫 - + A repair of this library is already running (%1). Wait for it to finish. 此庫的修復已在執行中(%1)。請等待其完成。 - + The library is locked by a repair that did not finish. 此庫已被一個未完成的修復鎖定。 - + The library is locked by a repair started by %1. 此庫已被 %1 啟動的修復鎖定。 - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? 如果您確定沒有其他修復正在執行,可以移除該鎖定。移除鎖定並繼續? - + Upgrade failed 更新失敗 - + There were errors during library upgrade in: 漫畫庫更新時出現錯誤: - + Restore recovery failed 還原復原失敗 - + Update needed 需要更新 - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? 此庫是使用舊版本的YACReaderLibrary創建的. 它需要更新. 現在更新? - + Download new version 下載新版本 - + This library was created with a newer version of YACReaderLibrary. Download the new version now? 此庫是使用較新版本的YACReaderLibrary創建的。 立即下載新版本? - + Library '%1' is no longer available. Do you want to remove it? 庫 '%1' 不再可用。 你想刪除它嗎? - + Old library 舊的庫 - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? 庫 '%1' 是通過舊版本的YACReaderLibrary創建的。 必須再次創建。 你想現在創建嗎? - - + + Copying comics... 複製漫畫中... - - + + Moving comics... 移動漫畫中... - + Folder name: 檔夾名稱: - + No folder selected 沒有選中的檔夾 - + Please, select a folder first 請先選擇一個檔夾 - + Error in path 路徑錯誤 - + There was an error accessing the folder's path 訪問檔夾的路徑時出錯 - + The selected folder and all its contents will be deleted from your disk. Are you sure? 所選檔夾及其所有內容將從磁片中刪除。 你確定嗎? - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. 嘗試刪除所選檔夾時出現問題。 請檢查寫入許可權,並確保沒有其他應用程式在使用這些檔夾或檔。 - + Add new reading lists 添加新的閱讀列表 - - + + List name: 列表名稱: - + Delete list/label 刪除 列表/標籤 - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? 所選項目將被刪除,您的漫畫或檔夾將不會從您的磁片中刪除。 你確定嗎? - + Rename list name 重命名列表 - - - + + + 4koma (top to botom) 4koma(由上至下) - - - - + + + + Set type 套裝類型 - + Set custom cover 設定自訂封面 - + Delete custom cover 刪除自訂封面 - + Save covers 保存封面 - + You are adding too many libraries. 您添加的庫太多了。 - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1096,43 +1096,43 @@ YACReaderLibrary will not stop you from creating more libraries but you should k YACReaderLibrary不會阻止您創建更多的庫,但是您應該保持較低的庫數量來提升性能。 - - + + YACReader not found YACReader 未找到 - + Error 錯誤 - + Error opening comic with third party reader. 使用第三方閱讀器開啟漫畫時出錯。 - + Library not found 未找到庫 - + The selected folder doesn't contain any library. 所選檔夾不包含任何庫。 - + Are you sure? 你確定嗎? - + Do you want remove 你想要刪除 - + library? 庫? @@ -1141,94 +1141,124 @@ YACReaderLibrary不會阻止您創建更多的庫,但是您應該保持較低 移除並刪除元數據 - + Library info 圖書館資訊 - + Assign comics numbers 分配漫畫編號 - + Assign numbers starting in: 從以下位置開始分配編號: - - + + Unable to delete 無法刪除 - + + Search filters + 搜尋篩選器 + + + + Unread + 未讀 + + + + In progress + 閱讀中 + + + + Highly rated + 高評分 + + + + Recently added + 最近新增 + + + + Search syntax… + 搜尋語法… + + + Package operation failed - + The covers package operation could not be completed. - + Add new folder 添加新的檔夾 - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. 未找到YACReader. YACReader應安裝在與YACReaderLibrary相同的檔夾中. - + YACReader not found. There might be a problem with your YACReader installation. 未找到YACReader. YACReader的安裝可能有問題. - - + + YACReader library database (*.ydb) YACReader 漫畫庫資料庫 (*.ydb) - + The library database backup was created at: %1 漫畫庫資料庫備份已建立於: %1 - + Unable to create the library database backup: %1 無法建立漫畫庫資料庫備份: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? 還原前請關閉 YACReaderLibraryServer 及正在使用此漫畫庫的所有其他 YACReader 應用程式。是否繼續? - + Restoring library database... 正在還原漫畫庫資料庫... - + The current library database is invalid. Restore the selected backup anyway? 目前的漫畫庫資料庫無效。仍要還原所選備份嗎? - - + + The library maintenance lock may be stale. Remove it and retry? 漫畫庫維護鎖可能已失效。是否移除並重試? - + Restart YACReaderLibrary before attempting recovery again. @@ -1237,71 +1267,71 @@ Restart YACReaderLibrary before attempting recovery again. 再次嘗試復原前,請重新啟動 YACReaderLibrary。 - + The library database was restored successfully. Update the library now? 漫畫庫資料庫已成功還原。是否立即更新漫畫庫? - + Library database damaged 漫畫庫資料庫已損壞 - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. 漫畫庫「%1」的資料庫已損壞,因此無法執行一般更新、維護及備份。YACReader 可以嘗試修復資料庫。部分損壞的資料可能無法復原。現有備份不會被更改。 - + Attempt repair 嘗試修復 - + Restore a backup... 還原備份... - + Repairing library database... 正在修復漫畫庫資料庫... - - - + + + Library database repair 修復漫畫庫資料庫 - + Another maintenance operation is currently using this library. Try again after it finishes. 另一個維護操作正在使用此漫畫庫。請在操作完成後重試。 - + The library database is already valid. 漫畫庫資料庫已經有效。 - + Library database repaired 漫畫庫資料庫已修復 - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 已透過重建索引修復漫畫庫資料庫。損壞的原始檔案已保留於: %1 - + Library database rebuilt 漫畫庫資料庫已重建 - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1312,7 +1342,7 @@ Update the library now? 是否立即更新漫畫庫? - + The damaged original was preserved at: @@ -1323,12 +1353,12 @@ The damaged original was preserved at: %1 - + Library database repair failed 漫畫庫資料庫修復失敗 - + The library database could not be repaired: %1%2 @@ -1339,82 +1369,82 @@ You can restore a backup from the Library menu or recreate the library. 您可以從「漫畫庫」選單還原備份,或重新建立漫畫庫。 - + Remove and delete metadata and backups 移除並刪除中繼資料及備份 - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. 嘗試刪除所選漫畫時出現問題。 請檢查所選檔或包含檔夾中的寫入許可權。 - + Invalid image 圖片無效 - + The selected file is not a valid image. 所選檔案不是有效影像。 - + Error saving cover 儲存封面時發生錯誤 - + There was an error saving the cover image. 儲存封面圖片時發生錯誤。 - + Error creating the library 創建庫時出錯 - + Error updating the library 更新庫時出錯 - + Error opening the library 打開庫時出錯 - + Delete comics 刪除漫畫 - + All the selected comics will be deleted from your disk. Are you sure? 所有選定的漫畫都將從您的磁片中刪除。你確定嗎? - + Remove comics 移除漫畫 - + Comics will only be deleted from the current label/list. Are you sure? 漫畫只會從當前標籤/列表中刪除。 你確定嗎? - + Library name already exists 庫名已存在 - + There is another library with the name '%1'. 已存在另一個名為'%1'的庫。 - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2551,6 +2581,279 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 第 %1 頁 共: %2 條 + + SearchFieldRegistry + + + Text, quoted text + 文字、引號內文字 + + + + Integer + 整數 + + + + Boolean (true / false) + 布林值 (true / false) + + + + Integer (number of days) + 整數(日數) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + 列舉 (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + 漫畫標題 + + + + Series name + 系列名稱 + + + + Issue number + 期號 + + + + Volume identifier + 卷冊識別碼 + + + + Reading format + 閱讀格式 + + + + Comic rating + 漫畫評分 + + + + Textual tags + 文字標籤 + + + + Writer credit + 編劇署名 + + + + Penciller credit + 鉛筆畫師署名 + + + + Inker credit + 墨線畫師署名 + + + + Colorist credit + 上色師署名 + + + + Letterer credit + 嵌字師署名 + + + + Cover artist credit + 封面畫師署名 + + + + Editor credit + 編輯署名 + + + + Story arc name + 故事線名稱 + + + + Position within a story arc + 故事線內的位置 + + + + Number of issues in a story arc + 故事線內的期數 + + + + Characters appearing in the comic + 漫畫中出現的角色 + + + + Teams appearing in the comic + 漫畫中出現的團隊 + + + + Locations appearing in the comic + 漫畫中出現的地點 + + + + Primary character or team + 主要角色或團隊 + + + + Comic synopsis + 漫畫簡介 + + + + Publisher name + 出版社名稱 + + + + Publishing imprint + 出版品牌 + + + + Publication format + 出版格式 + + + + Recommended age rating + 建議年齡分級 + + + + Comic genre + 漫畫類型 + + + + ISO language code + ISO 語言代碼 + + + + Publication date metadata + 出版日期元資料 + + + + Series grouping metadata + 系列分組元資料 + + + + Alternate series name + 其他系列名稱 + + + + Alternate issue number + 其他期號 + + + + Alternate series issue count + 其他系列期數 + + + + Number of issues in the series + 系列期數 + + + + Whether the comic is marked as read + 漫畫是否標記為已讀 + + + + Whether reading has started + 是否已開始閱讀 + + + + Whether metadata has been edited + 元資料是否已編輯 + + + + Whether the comic is in color + 漫畫是否為彩色 + + + + Number of pages + 頁數 + + + + Comic file name + 漫畫檔案名稱 + + + + When the item was added + 項目的新增時間 + + + + When the comic was last opened + 漫畫上次開啟時間 + + + + Comic notes + 漫畫備註 + + + + Review text + 評論文字 + + + + Parent folder name + 上層資料夾名稱 + + + + Default reading format for the folder + 資料夾的預設閱讀格式 + + + + Whether the folder is complete + 資料夾是否完整 + + + + Whether the folder is marked as finished + 資料夾是否標記為已完結 + + + + When the folder was updated + 資料夾的更新時間 + + SearchSingleComic @@ -2570,6 +2873,301 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 使用精確匹配搜尋。如果您想要尋找與名稱中某些單字相符的捲,請停用。 + + SearchSyntaxDialog + + + Common + 常用 + + + + Credits + 創作人員 + + + + Story + 故事 + + + + Publication + 出版 + + + + Reading & files + 閱讀與檔案 + + + + Folders + 資料夾 + + + + Search syntax + 搜尋語法 + + + + Search every comic and folder field, or build precise queries. + 搜尋漫畫及資料夾的所有欄位,或建立精確查詢。 + + + + Quick guide + 快速指南 + + + + Fields (%1) + 欄位 (%1) + + + + Examples + 範例 + + + + Start with a simple search + 由簡單搜尋開始 + + + + Just start typing. Plain text search across all metadata. + 直接開始輸入即可。純文字會搜尋所有元資料。 + + + + 1. Search everywhere + 1. 全域搜尋 + + + + Type any text or quoted text. + 輸入任何文字或引號內文字。 + + + + 2. Target a field + 2. 指定欄位 + + + + Use a field name followed by : or = + 使用欄位名稱,後接 : 或 = + + + + 3. Combine conditions + 3. 組合條件 + + + + Use AND, OR, NOT and parentheses. + 使用 AND、OR、NOT 及括號。 + + + + Operators + 運算子 + + + + : or = + : 或 = + + + + contains the text + 包含該文字 + + + + matches the complete value + 符合完整值 + + + + greater than / at least + 大於 / 至少 + + + + less than / at most + 小於 / 至多 + + + + "quoted text" + "引號內文字" + + + + keeps spaces inside one value + 將空格保留在同一個值內 + + + + Dates and grouping + 日期及分組 + + + + added in the last 7 days + 在最近 7 日內新增 + + + + added more than 30 days ago + 在 30 多日前新增 + + + + group alternatives + 將替代條件分組 + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + 提示:空格等同於 AND,搜尋不區分大小寫。使用引號可在一個值內包含空格。 + + + + Find a field… + 尋找欄位… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + 文字可直接輸入或放在引號內。整數欄位支援 <、<=、> 及 >=。在日期欄位中,整數表示日數(added>7 表示在最近 7 日內新增)。 + + + + Field + 欄位 + + + + Description + 說明 + + + + Input + 輸入 + + + + Example + 範例 + + + + Examples show the pattern—replace the values with your own. + 範例會顯示格式;請將值換成你自己的值。 + + + + Query + 查詢 + + + + What it finds + 尋找內容 + + + + Common filters + 常用篩選器 + + + + Unread comics + 未讀漫畫 + + + + Comics in progress + 閱讀中的漫畫 + + + + Highly rated comics + 高評分漫畫 + + + + Comics added in the last 7 days + 最近 7 日內新增的漫畫 + + + + Metadata + 元資料 + + + + Search by series + 按系列搜尋 + + + + Search by writer + 按編劇搜尋 + + + + Manga comics + 日式漫畫 + + + + Search textual tags + 搜尋文字標籤 + + + + Advanced combinations + 進階組合 + + + + Match either writer + 符合其中一位編劇 + + + + Group alternatives + 將替代條件分組 + + + + Exclude a value + 排除某個值 + + + + Older, highly rated comics + 較舊的高評分漫畫 + + + + Copy query + 複製查詢 + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + 空格等同於 AND。使用引號表示詞組,使用括號控制分組。 + + SearchVolume @@ -3192,7 +3790,12 @@ To stop an automatic update tap on the loading indicator next to the Libraries t YACReaderSearchLineEdit - + + Search filters + 搜尋篩選器 + + + type to search 搜索類型 diff --git a/YACReaderLibrary/yacreaderlibrary_zh_TW.ts b/YACReaderLibrary/yacreaderlibrary_zh_TW.ts index 6e635848e..cdfbfb82f 100644 --- a/YACReaderLibrary/yacreaderlibrary_zh_TW.ts +++ b/YACReaderLibrary/yacreaderlibrary_zh_TW.ts @@ -810,280 +810,280 @@ LibraryWindow - + YACReader Library YACReader 庫 - + Library - + Set as read 設為已讀 - - + + Set as unread 設為未讀 - - - + + + manga 漫畫 - - - + + + comic 漫畫 - - - + + + web comic 網路漫畫 - - - + + + western manga (left to right) 西方漫畫(從左到右) - + Library not available Library ' 庫不可用 - + Rescan library for XML info 重新掃描庫的 XML 資訊 - + Delete folder 刪除檔夾 - + Open folder... 打開檔夾... - + Set as uncompleted 設為未完成 - + Set as completed 設為已完成 - + Update folder 更新檔夾 - + Folder 檔夾 - + Comic 漫畫 - + A repair of this library is already running (%1). Wait for it to finish. 此庫的修復已在執行中(%1)。請等待其完成。 - + The library is locked by a repair that did not finish. 此庫已被一個未完成的修復鎖定。 - + The library is locked by a repair started by %1. 此庫已被 %1 啟動的修復鎖定。 - + If you are sure that no other repair is running, the lock can be removed. Remove the lock and continue? 如果您確定沒有其他修復正在執行,可以移除該鎖定。移除鎖定並繼續? - + Upgrade failed 更新失敗 - + There were errors during library upgrade in: 漫畫庫更新時出現錯誤: - + Restore recovery failed 還原復原失敗 - + Update needed 需要更新 - + This library was created with a previous version of YACReaderLibrary. It needs to be updated. Update now? 此庫是使用舊版本的YACReaderLibrary創建的. 它需要更新. 現在更新? - + Download new version 下載新版本 - + This library was created with a newer version of YACReaderLibrary. Download the new version now? 此庫是使用較新版本的YACReaderLibrary創建的。 立即下載新版本? - + Library '%1' is no longer available. Do you want to remove it? 庫 '%1' 不再可用。 你想刪除它嗎? - + Old library 舊的庫 - + Library '%1' has been created with an older version of YACReaderLibrary. It must be created again. Do you want to create the library now? 庫 '%1' 是通過舊版本的YACReaderLibrary創建的。 必須再次創建。 你想現在創建嗎? - - + + Copying comics... 複製漫畫中... - - + + Moving comics... 移動漫畫中... - + Folder name: 檔夾名稱: - + No folder selected 沒有選中的檔夾 - + Please, select a folder first 請先選擇一個檔夾 - + Error in path 路徑錯誤 - + There was an error accessing the folder's path 訪問檔夾的路徑時出錯 - + The selected folder and all its contents will be deleted from your disk. Are you sure? 所選檔夾及其所有內容將從磁片中刪除。 你確定嗎? - + There was an issue trying to delete the selected folders. Please, check for write permissions and be sure that any applications are using these folders or any of the contained files. 嘗試刪除所選檔夾時出現問題。 請檢查寫入許可權,並確保沒有其他應用程式在使用這些檔夾或檔。 - + Add new reading lists 添加新的閱讀列表 - - + + List name: 列表名稱: - + Delete list/label 刪除 列表/標籤 - + The selected item will be deleted, your comics or folders will NOT be deleted from your disk. Are you sure? 所選項目將被刪除,您的漫畫或檔夾將不會從您的磁片中刪除。 你確定嗎? - + Rename list name 重命名列表 - - - + + + 4koma (top to botom) 4koma(由上至下) - - - - + + + + Set type 套裝類型 - + Set custom cover 設定自訂封面 - + Delete custom cover 刪除自訂封面 - + Save covers 保存封面 - + You are adding too many libraries. 您添加的庫太多了。 - + You are adding too many libraries. You probably only need one library in your top level comics folder, you can browse any subfolders using the folders section in the left sidebar. @@ -1096,43 +1096,43 @@ YACReaderLibrary will not stop you from creating more libraries but you should k YACReaderLibrary不會阻止您創建更多的庫,但是您應該保持較低的庫數量來提升性能。 - - + + YACReader not found YACReader 未找到 - + Error 錯誤 - + Error opening comic with third party reader. 使用第三方閱讀器開啟漫畫時出錯。 - + Library not found 未找到庫 - + The selected folder doesn't contain any library. 所選檔夾不包含任何庫。 - + Are you sure? 你確定嗎? - + Do you want remove 你想要刪除 - + library? 庫? @@ -1141,94 +1141,124 @@ YACReaderLibrary不會阻止您創建更多的庫,但是您應該保持較低 移除並刪除元數據 - + Library info 圖書館資訊 - + Assign comics numbers 分配漫畫編號 - + Assign numbers starting in: 從以下位置開始分配編號: - - + + Unable to delete 無法刪除 - + + Search filters + 搜尋篩選條件 + + + + Unread + 未讀 + + + + In progress + 閱讀中 + + + + Highly rated + 高評分 + + + + Recently added + 最近加入 + + + + Search syntax… + 搜尋語法… + + + Package operation failed - + The covers package operation could not be completed. - + Add new folder 添加新的檔夾 - + YACReader not found. YACReader should be installed in the same folder as YACReaderLibrary. 未找到YACReader. YACReader應安裝在與YACReaderLibrary相同的檔夾中. - + YACReader not found. There might be a problem with your YACReader installation. 未找到YACReader. YACReader的安裝可能有問題. - - + + YACReader library database (*.ydb) YACReader 漫畫庫資料庫 (*.ydb) - + The library database backup was created at: %1 漫畫庫資料庫備份已建立於: %1 - + Unable to create the library database backup: %1 無法建立漫畫庫資料庫備份: %1 - + Close YACReaderLibraryServer and any other YACReader application using this library before restoring. Continue? 還原前請關閉 YACReaderLibraryServer 以及正在使用此漫畫庫的所有其他 YACReader 應用程式。是否繼續? - + Restoring library database... 正在還原漫畫庫資料庫... - + The current library database is invalid. Restore the selected backup anyway? 目前的漫畫庫資料庫無效。仍要還原所選備份嗎? - - + + The library maintenance lock may be stale. Remove it and retry? 漫畫庫維護鎖可能已失效。是否移除並重試? - + Restart YACReaderLibrary before attempting recovery again. @@ -1237,71 +1267,71 @@ Restart YACReaderLibrary before attempting recovery again. 再次嘗試復原前,請重新啟動 YACReaderLibrary。 - + The library database was restored successfully. Update the library now? 漫畫庫資料庫已成功還原。是否立即更新漫畫庫? - + Library database damaged 漫畫庫資料庫已損壞 - + The database of library '%1' is damaged, so normal updates, maintenance, and backups are unavailable. YACReader can attempt to repair the database. Some damaged data may not be recoverable. Existing backups will not be changed. 漫畫庫「%1」的資料庫已損壞,因此無法執行一般更新、維護與備份。YACReader 可以嘗試修復資料庫。部分損壞的資料可能無法復原。現有備份不會被變更。 - + Attempt repair 嘗試修復 - + Restore a backup... 還原備份... - + Repairing library database... 正在修復漫畫庫資料庫... - - - + + + Library database repair 修復漫畫庫資料庫 - + Another maintenance operation is currently using this library. Try again after it finishes. 另一個維護操作正在使用此漫畫庫。請在操作完成後重試。 - + The library database is already valid. 漫畫庫資料庫已經有效。 - + Library database repaired 漫畫庫資料庫已修復 - + The library database was repaired by rebuilding its indexes. The damaged original was preserved at: %1 已透過重建索引修復漫畫庫資料庫。損壞的原始檔案已保留於: %1 - + Library database rebuilt 漫畫庫資料庫已重建 - + The library database was rebuilt successfully. The damaged original was preserved at: %1 @@ -1312,7 +1342,7 @@ Update the library now? 是否立即更新漫畫庫? - + The damaged original was preserved at: @@ -1323,12 +1353,12 @@ The damaged original was preserved at: %1 - + Library database repair failed 漫畫庫資料庫修復失敗 - + The library database could not be repaired: %1%2 @@ -1339,82 +1369,82 @@ You can restore a backup from the Library menu or recreate the library. 您可以從「漫畫庫」選單還原備份,或重新建立漫畫庫。 - + Remove and delete metadata and backups 移除並刪除中繼資料與備份 - + There was an issue trying to delete the selected comics. Please, check for write permissions in the selected files or containing folder. 嘗試刪除所選漫畫時出現問題。 請檢查所選檔或包含檔夾中的寫入許可權。 - + Invalid image 圖片無效 - + The selected file is not a valid image. 所選檔案不是有效影像。 - + Error saving cover 儲存封面時發生錯誤 - + There was an error saving the cover image. 儲存封面圖片時發生錯誤。 - + Error creating the library 創建庫時出錯 - + Error updating the library 更新庫時出錯 - + Error opening the library 打開庫時出錯 - + Delete comics 刪除漫畫 - + All the selected comics will be deleted from your disk. Are you sure? 所有選定的漫畫都將從您的磁片中刪除。你確定嗎? - + Remove comics 移除漫畫 - + Comics will only be deleted from the current label/list. Are you sure? 漫畫只會從當前標籤/列表中刪除。 你確定嗎? - + Library name already exists 庫名已存在 - + There is another library with the name '%1'. 已存在另一個名為'%1'的庫。 - + Repaired: %1 Failed: %2 Missing files: %3 @@ -2551,6 +2581,279 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 第 %1 頁 共: %2 條 + + SearchFieldRegistry + + + Text, quoted text + 文字、加上引號的文字 + + + + Integer + 整數 + + + + Boolean (true / false) + 布林值 (true / false) + + + + Integer (number of days) + 整數(天數) + + + + Enum (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + 列舉 (comic, manga, westernmanga, webcomic/web, 4koma/yonkoma) + + + + Comic title + 漫畫標題 + + + + Series name + 系列名稱 + + + + Issue number + 期號 + + + + Volume identifier + 卷冊識別碼 + + + + Reading format + 閱讀格式 + + + + Comic rating + 漫畫評分 + + + + Textual tags + 文字標籤 + + + + Writer credit + 編劇署名 + + + + Penciller credit + 鉛筆畫師署名 + + + + Inker credit + 墨線畫師署名 + + + + Colorist credit + 上色師署名 + + + + Letterer credit + 嵌字師署名 + + + + Cover artist credit + 封面畫師署名 + + + + Editor credit + 編輯署名 + + + + Story arc name + 故事線名稱 + + + + Position within a story arc + 故事線中的位置 + + + + Number of issues in a story arc + 故事線中的期數 + + + + Characters appearing in the comic + 漫畫中出現的角色 + + + + Teams appearing in the comic + 漫畫中出現的團隊 + + + + Locations appearing in the comic + 漫畫中出現的地點 + + + + Primary character or team + 主要角色或團隊 + + + + Comic synopsis + 漫畫簡介 + + + + Publisher name + 出版社名稱 + + + + Publishing imprint + 出版品牌 + + + + Publication format + 出版格式 + + + + Recommended age rating + 建議年齡分級 + + + + Comic genre + 漫畫類型 + + + + ISO language code + ISO 語言代碼 + + + + Publication date metadata + 出版日期中繼資料 + + + + Series grouping metadata + 系列分組中繼資料 + + + + Alternate series name + 替代系列名稱 + + + + Alternate issue number + 替代期號 + + + + Alternate series issue count + 替代系列期數 + + + + Number of issues in the series + 系列期數 + + + + Whether the comic is marked as read + 漫畫是否標示為已讀 + + + + Whether reading has started + 是否已開始閱讀 + + + + Whether metadata has been edited + 中繼資料是否已編輯 + + + + Whether the comic is in color + 漫畫是否為彩色 + + + + Number of pages + 頁數 + + + + Comic file name + 漫畫檔案名稱 + + + + When the item was added + 項目的加入時間 + + + + When the comic was last opened + 漫畫上次開啟時間 + + + + Comic notes + 漫畫備註 + + + + Review text + 評論文字 + + + + Parent folder name + 上層資料夾名稱 + + + + Default reading format for the folder + 資料夾的預設閱讀格式 + + + + Whether the folder is complete + 資料夾是否完整 + + + + Whether the folder is marked as finished + 資料夾是否標示為已完結 + + + + When the folder was updated + 資料夾的更新時間 + + SearchSingleComic @@ -2570,6 +2873,301 @@ To stop an automatic update tap on the loading indicator next to the Libraries t 使用精確匹配搜尋。如果您想要尋找與名稱中某些單字相符的捲,請停用。 + + SearchSyntaxDialog + + + Common + 常用 + + + + Credits + 創作人員 + + + + Story + 故事 + + + + Publication + 出版 + + + + Reading & files + 閱讀與檔案 + + + + Folders + 資料夾 + + + + Search syntax + 搜尋語法 + + + + Search every comic and folder field, or build precise queries. + 搜尋漫畫與資料夾的所有欄位,或建立精確查詢。 + + + + Quick guide + 快速指南 + + + + Fields (%1) + 欄位 (%1) + + + + Examples + 範例 + + + + Start with a simple search + 從簡單搜尋開始 + + + + Just start typing. Plain text search across all metadata. + 直接開始輸入即可。純文字會搜尋所有中繼資料。 + + + + 1. Search everywhere + 1. 全域搜尋 + + + + Type any text or quoted text. + 輸入任何文字或加上引號的文字。 + + + + 2. Target a field + 2. 指定欄位 + + + + Use a field name followed by : or = + 使用欄位名稱,後接 : 或 = + + + + 3. Combine conditions + 3. 組合條件 + + + + Use AND, OR, NOT and parentheses. + 使用 AND、OR、NOT 與括號。 + + + + Operators + 運算子 + + + + : or = + : 或 = + + + + contains the text + 包含該文字 + + + + matches the complete value + 符合完整值 + + + + greater than / at least + 大於 / 至少 + + + + less than / at most + 小於 / 至多 + + + + "quoted text" + "加上引號的文字" + + + + keeps spaces inside one value + 將空格保留在同一個值中 + + + + Dates and grouping + 日期與分組 + + + + added in the last 7 days + 在最近 7 天內加入 + + + + added more than 30 days ago + 在 30 多天前加入 + + + + group alternatives + 將替代條件分組 + + + + Tips: +Spaces act like AND, and searches are not case-sensitive. +Use quotes to include spaces in a value. + 提示:空格等同於 AND,搜尋不區分大小寫。使用引號可在一個值中包含空格。 + + + + Find a field… + 尋找欄位… + + + + Text can be entered plainly or in quotes. Integer fields support <, <=, > and >=. For date fields, the integer is a number of days (added>7 means added within the last 7 days). + 文字可直接輸入或放在引號中。整數欄位支援 <、<=、> 與 >=。在日期欄位中,整數表示天數(added>7 表示在最近 7 天內加入)。 + + + + Field + 欄位 + + + + Description + 說明 + + + + Input + 輸入 + + + + Example + 範例 + + + + Examples show the pattern—replace the values with your own. + 範例會顯示格式;請將值換成您自己的值。 + + + + Query + 查詢 + + + + What it finds + 尋找內容 + + + + Common filters + 常用篩選條件 + + + + Unread comics + 未讀漫畫 + + + + Comics in progress + 閱讀中的漫畫 + + + + Highly rated comics + 高評分漫畫 + + + + Comics added in the last 7 days + 最近 7 天內加入的漫畫 + + + + Metadata + 中繼資料 + + + + Search by series + 依系列搜尋 + + + + Search by writer + 依編劇搜尋 + + + + Manga comics + 日式漫畫 + + + + Search textual tags + 搜尋文字標籤 + + + + Advanced combinations + 進階組合 + + + + Match either writer + 符合任一編劇 + + + + Group alternatives + 將替代條件分組 + + + + Exclude a value + 排除某個值 + + + + Older, highly rated comics + 較早的高評分漫畫 + + + + Copy query + 複製查詢 + + + + Spaces behave like AND. Use quotes for phrases and parentheses to control grouping. + 空格等同於 AND。使用引號表示片語,使用括號控制分組。 + + SearchVolume @@ -3192,7 +3790,12 @@ To stop an automatic update tap on the loading indicator next to the Libraries t YACReaderSearchLineEdit - + + Search filters + 搜尋篩選條件 + + + type to search 搜索類型 diff --git a/custom_widgets/yacreader_macosx_toolbar.h b/custom_widgets/yacreader_macosx_toolbar.h index d383865b6..e2df74c39 100644 --- a/custom_widgets/yacreader_macosx_toolbar.h +++ b/custom_widgets/yacreader_macosx_toolbar.h @@ -8,6 +8,8 @@ #include +class QMenu; + class YACReaderMacOSXSearchLineEdit : public YACReaderSearchLineEdit { }; @@ -27,7 +29,14 @@ class YACReaderMacOSXToolbar : public YACReaderMainToolBar void *getSearchEditDelegate() { return searchEditDelegate; }; - void emitFilterChange(const QString &filter) { emit filterChanged(filter); }; + void setNativeSearchField(void *field); + void setSearchMenu(QMenu *menu); + void setSearchText(const QString &text, bool notify = true); + void clearSearchText(bool notify = true); + void focusSearch(); + void setSearchEnabled(bool enabled); + QString searchText() const; + void nativeSearchTextChanged(const QString &text); QAction *actionFromIdentifier(const QString &identifier); signals: @@ -37,6 +46,11 @@ class YACReaderMacOSXToolbar : public YACReaderMainToolBar void paintEvent(QPaintEvent *) override; void *searchEditDelegate; + void *nativeSearchField; + QMenu *searchMenu; + YACReaderMacOSXSearchLineEdit *searchEditProxy; + QString pendingSearchText; + bool searchEnabled; }; #else diff --git a/custom_widgets/yacreader_macosx_toolbar.mm b/custom_widgets/yacreader_macosx_toolbar.mm index 483177ac5..e5bf036c1 100644 --- a/custom_widgets/yacreader_macosx_toolbar.mm +++ b/custom_widgets/yacreader_macosx_toolbar.mm @@ -233,6 +233,7 @@ - (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString searchItem.resignsFirstResponderWithCancel = true; searchItem.searchField.delegate = id(mytoolbar->getSearchEditDelegate()); searchItem.toolTip = @"Search"; + mytoolbar->setNativeSearchField(searchItem.searchField); return searchItem; } @@ -279,6 +280,7 @@ @interface YACReaderLibrarySearchDelegate : NSObject { @public YACReaderMacOSXToolbar *mytoolbar; } +- (IBAction)searchMenuItemClicked:(id)sender; @end @implementation YACReaderLibrarySearchDelegate @@ -293,15 +295,26 @@ - (void)searchFieldDidEndSearching:(NSSearchField *)sender - (void)controlTextDidChange:(NSNotification *)notification { NSSearchField *searchField = notification.object; - NSLog(@"Search text changed: %@", searchField.stringValue); - - mytoolbar->emitFilterChange(QString::fromNSString(searchField.stringValue)); + mytoolbar->nativeSearchTextChanged(QString::fromNSString(searchField.stringValue)); +} +- (IBAction)searchMenuItemClicked:(id)sender +{ + NSMenuItem *item = reinterpret_cast(sender); + NSValue *actionValue = item.representedObject; + auto *action = static_cast(actionValue.pointerValue); + if (action) + action->trigger(); } @end YACReaderMacOSXToolbar::YACReaderMacOSXToolbar(QWidget *parent) - : YACReaderMainToolBar(parent) + : YACReaderMainToolBar(parent), + searchEditDelegate(nullptr), + nativeSearchField(nullptr), + searchMenu(nullptr), + searchEditProxy(nullptr), + searchEnabled(true) { backButton->setIconSize(QSize(24, 24)); forwardButton->setIconSize(QSize(24, 24)); @@ -354,13 +367,111 @@ - (void)controlTextDidChange:(NSNotification *)notification YACReaderMacOSXSearchLineEdit *YACReaderMacOSXToolbar::addSearchEdit() { - auto search = new YACReaderMacOSXSearchLineEdit(); + auto *search = new YACReaderMacOSXSearchLineEdit(); + searchEditProxy = search; setSearchWidget(search); return search; } +void YACReaderMacOSXToolbar::setNativeSearchField(void *field) +{ + nativeSearchField = field; + + auto *nativeField = reinterpret_cast(nativeSearchField); + nativeField.stringValue = pendingSearchText.toNSString(); + nativeField.enabled = searchEnabled; + + setSearchMenu(searchMenu); +} + +void YACReaderMacOSXToolbar::setSearchMenu(QMenu *menu) +{ + searchMenu = menu; + if (!nativeSearchField || !searchMenu || !searchEditDelegate) + return; + + auto *nativeMenu = [[[NSMenu alloc] initWithTitle:@"Search filters"] autorelease]; + for (QAction *action : searchMenu->actions()) { + if (action->isSeparator() && action->text().isEmpty()) { + [nativeMenu addItem:NSMenuItem.separatorItem]; + continue; + } + + auto *item = [[[NSMenuItem alloc] + initWithTitle:action->text().toNSString() + action:action->isSeparator() ? nil : @selector(searchMenuItemClicked:) + keyEquivalent:@""] autorelease]; + item.enabled = !action->isSeparator() && action->isEnabled(); + item.target = action->isSeparator() ? nil : id(searchEditDelegate); + item.representedObject = [NSValue valueWithPointer:action]; + [nativeMenu addItem:item]; + } + + auto *nativeField = reinterpret_cast(nativeSearchField); + auto *cell = reinterpret_cast(nativeField.cell); + cell.searchMenuTemplate = nativeMenu; +} + +void YACReaderMacOSXToolbar::setSearchText(const QString &text, bool notify) +{ + pendingSearchText = text; + + if (nativeSearchField) { + auto *nativeField = reinterpret_cast(nativeSearchField); + nativeField.stringValue = text.toNSString(); + } + + if (searchEditProxy) { + const QSignalBlocker blocker(searchEditProxy); + searchEditProxy->setText(text); + } + + if (notify) + emit filterChanged(text); +} + +void YACReaderMacOSXToolbar::clearSearchText(bool notify) +{ + setSearchText({ }, notify); +} + +void YACReaderMacOSXToolbar::focusSearch() +{ + if (!nativeSearchField) + return; + + auto *nativeField = reinterpret_cast(nativeSearchField); + [nativeField.window makeFirstResponder:nativeField]; +} + +void YACReaderMacOSXToolbar::setSearchEnabled(bool enabled) +{ + searchEnabled = enabled; + if (nativeSearchField) { + auto *nativeField = reinterpret_cast(nativeSearchField); + nativeField.enabled = enabled; + } + if (searchEditProxy) + searchEditProxy->setEnabled(enabled); +} + +QString YACReaderMacOSXToolbar::searchText() const +{ + return pendingSearchText; +} + +void YACReaderMacOSXToolbar::nativeSearchTextChanged(const QString &text) +{ + pendingSearchText = text; + if (searchEditProxy) { + const QSignalBlocker blocker(searchEditProxy); + searchEditProxy->setText(text); + } + emit filterChanged(text); +} + void YACReaderMacOSXToolbar::updateViewSelectorIcon(const QIcon &icon) { } diff --git a/custom_widgets/yacreader_search_line_edit.cpp b/custom_widgets/yacreader_search_line_edit.cpp index 8090f2e01..0def7ac89 100644 --- a/custom_widgets/yacreader_search_line_edit.cpp +++ b/custom_widgets/yacreader_search_line_edit.cpp @@ -1,6 +1,8 @@ #include "yacreader_search_line_edit.h" #include +#include +#include #include #include @@ -8,9 +10,18 @@ YACReaderSearchLineEdit::YACReaderSearchLineEdit(QWidget *parent) : QLineEdit(parent), paddingLeft(0), paddingRight(0) { clearButton = new QToolButton(this); + menuButton = new QToolButton(this); searchLabel = new QLabel(this); clearButton->setIconSize(QSize(12, 12)); + menuButton->setAutoRaise(true); + menuButton->setFixedSize(18, 18); + menuButton->setIconSize(QSize(10, 6)); + menuButton->setCursor(Qt::ArrowCursor); + menuButton->setPopupMode(QToolButton::InstantPopup); + menuButton->setToolButtonStyle(Qt::ToolButtonIconOnly); + menuButton->setToolTip(tr("Search filters")); + menuButton->hide(); clearButton->setCursor(Qt::ArrowCursor); clearButton->hide(); @@ -35,6 +46,12 @@ YACReaderSearchLineEdit::YACReaderSearchLineEdit(QWidget *parent) initTheme(this); } +void YACReaderSearchLineEdit::setSearchMenu(QMenu *menu) +{ + menuButton->setMenu(menu); + menuButton->setVisible(menu != nullptr && QLineEdit::text().isEmpty()); +} + void YACReaderSearchLineEdit::applyTheme(const Theme &theme) { const auto &searchTheme = theme.searchLineEdit; @@ -42,9 +59,32 @@ void YACReaderSearchLineEdit::applyTheme(const Theme &theme) setStyleSheet(searchTheme.lineEditQSS.arg(paddingLeft).arg(paddingRight)); searchLabel->setStyleSheet(searchTheme.searchLabelQSS); clearButton->setStyleSheet(searchTheme.clearButtonQSS); + menuButton->setStyleSheet(QStringLiteral( + "QToolButton { border: none; padding: 0px; }" + "QToolButton::menu-indicator { image: none; width: 0px; }")); searchLabel->setPixmap(searchTheme.searchIcon); clearButton->setIcon(QIcon(searchTheme.clearIcon)); + + const qreal dpr = devicePixelRatioF(); + QPixmap chevron(qCeil(10 * dpr), qCeil(6 * dpr)); + chevron.setDevicePixelRatio(dpr); + chevron.fill(Qt::transparent); + + QPainter painter(&chevron); + painter.setRenderHint(QPainter::Antialiasing); + QPen pen(searchTheme.iconColor); + pen.setWidthF(1.4); + pen.setCapStyle(Qt::RoundCap); + pen.setJoinStyle(Qt::RoundJoin); + painter.setPen(pen); + painter.drawPolyline(QPolygonF { + QPointF(1, 1), + QPointF(5, 5), + QPointF(9, 1) }); + painter.end(); + + menuButton->setIcon(QIcon(chevron)); } void YACReaderSearchLineEdit::clearText() @@ -61,11 +101,13 @@ const QString YACReaderSearchLineEdit::text() void YACReaderSearchLineEdit::resizeEvent(QResizeEvent *) { - QSize sz = clearButton->sizeHint(); - int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth); - int marginRight = style()->pixelMetric(QStyle::PM_LayoutRightMargin); - clearButton->move(rect().right() - frameWidth - sz.width() - marginRight - 6, - (rect().bottom() + 2 - sz.height()) / 2); + const QSize clearSize = clearButton->sizeHint(); + const int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth); + const int marginRight = style()->pixelMetric(QStyle::PM_LayoutRightMargin); + const int menuX = rect().right() - frameWidth - menuButton->width() - marginRight - 6; + menuButton->move(menuX, (height() - menuButton->height()) / 2); + clearButton->move(rect().right() - frameWidth - clearSize.width() - marginRight - 6, + (rect().bottom() + 2 - clearSize.height()) / 2); QSize szl = searchLabel->sizeHint(); searchLabel->move(8, (rect().bottom() + 2 - szl.height()) / 2); @@ -74,6 +116,7 @@ void YACReaderSearchLineEdit::resizeEvent(QResizeEvent *) void YACReaderSearchLineEdit::updateCloseButton(const QString &text) { clearButton->setVisible(!text.isEmpty()); + menuButton->setVisible(menuButton->menu() != nullptr && text.isEmpty()); } void YACReaderSearchLineEdit::processText(const QString &text) diff --git a/custom_widgets/yacreader_search_line_edit.h b/custom_widgets/yacreader_search_line_edit.h index bca2b9a42..b9b195503 100644 --- a/custom_widgets/yacreader_search_line_edit.h +++ b/custom_widgets/yacreader_search_line_edit.h @@ -8,6 +8,7 @@ class QToolButton; class QLabel; +class QMenu; class YACReaderSearchLineEdit : public QLineEdit, protected Themable { @@ -17,6 +18,7 @@ class YACReaderSearchLineEdit : public QLineEdit, protected Themable YACReaderSearchLineEdit(QWidget *parent = 0); void clearText(); // no signal emited; const QString text(); + void setSearchMenu(QMenu *menu); protected: void resizeEvent(QResizeEvent *); @@ -31,6 +33,7 @@ private slots: private: QToolButton *clearButton; + QToolButton *menuButton; QLabel *searchLabel; int paddingLeft;