librius 0.5.1

A personal library manager CLI written in Rust.
Documentation
{
  "app.init.language": "Initializing language",
  "app.config.loading": "Loading configuration...",
  "app.config.load_failed": "Unable to load configuration",
  "db.open.failed": "{icon-err}Unable to start database",
  "db.migrate.failed": "Database migration failed: {error}",
  "db.schema.verified": "Database schema is up-to-date.",
  "config.migrate.failed": "Config migration failed: {error}",
  "config.schema.verified": "Configuration verified.",
  "db.schema.already_update": "Database schema is already up-to-date.",
  "config.schema.list": "Current configuration",
  "config.open.failed": "Error reading config: {error}",
  "config.file.not_found": "Configuration file not found. Run `librius config --init` first.",
  "config.file.exists": "Configuration file already exists.",
  "config.file.init_failed": "Error creating default configuration: {error}",
  "config.file.created": "Created new configuration at: {path}",
  "config.file.create_failed": "Error creating configuration file: {error}",
  "config.file.edited_with": "Configuration file edited successfully with '{editor}'",
  "config.file.editor_not_available": "Editor '{editor}' not available, falling back to '{defaultEditor}'",
  "config.file.edited_fallback": "Configuration file edited successfully with fallback '{editor}'",
  "config.file.edit_failed_fallback": "Failed to edit configuration file with fallback '{editor}'",
  "app.library.info": "\uD83D\uDCDA Your Library",
  "app.yaml.parse_error": "YAML parse error",
  "app.mapping.just_created": "Mapping just created",
  "app.yaml.serialize_error": "Failed to serialize YAML",
  "config.file.migrated": "Configuration file migrated",
  "db.patch.applying": "Applying database patch: {patch}",
  "db.patch.all_applied": "All pending migrations applied.",
  "db.check.missing_columns": "Checking for missing columns in 'books'...",
  "db.add.column": "Adding column '{column}' to books table...",
  "db.column.added": "Column '{column}' added successfully.",
  "log.column.added": "Added column '{column}'",
  "db.add.column_failed": "Failed to add column '{column}': {error}",
  "db.column.all_extra_exists": "All required columns already exist. No changes applied.",
  "app.language.loaded": "Loaded language: {lang}",
  "app.language.not_found": "Language '{lang}' not found, falling back to 'en'",
  "log.language.set": "Language set to '{lang}'",
  "db.open.existing": "Opening existing database at: {db_path}",
  "db.create.new_db": "Database not found, creating new one at: {db_path}",
  "log.db.open": "Opened database '{db_path}'",
  "log.db.create": "Created new database '{db_path}'",
  "db.schema.initializing": "Initializing new database structure...",
  "db.schema.created": "Database created successfully.",
  "log.db.schema.init": "Initial database schema created",
  "db.schema.init_failed": "Database initialization failed: {error}",
  "db.migrate.applied": "Database migrations applied successfully.",
  "log.db.patch_applied": "Applied database patch: {patch}",
  "app_name": "Librius",
  "app_about": "Manage your personal book collection easily",
  "help_verbose": "Enable verbose output (debug mode)",
  "help_lang": "Specify the interface language (e.g. 'en', 'it')",
  "list_about": "List all books in your library",
  "config_about": "Manage Librius configuration",
  "config_init_help": "Initialize a new default configuration file",
  "config_print_help": "Print the current configuration file",
  "config_edit_help": "Edit the configuration file (default editor: $EDITOR, or nano/vim/notepad)",
  "config_editor_help": "Specify the editor to use (vim, nano, or custom path)",
  "help_flag_about": "Print this message or the help of the given subcommand(s)",
  "version_flag_about": "Print version",
  "backup_about": "Create a backup of your Librius database",
  "backup_compress_help": "Compress the backup (.zip on Windows, .tar.gz on Unix)",
  "backup.error.not_found": "Database file not found.",
  "backup.ok.plain": "Backup created at {path}",
  "backup.ok.compressed": "Backup created and compressed at {path}",
  "export_about": "Export data from your library",
  "export_csv_about": "Export books to CSV format",
  "export_output_help": "Optional output file path (default: auto timestamped)",
  "export.csv.ok": "Data exported successfully to {path}",
  "export.csv.error": "Failed to export data to CSV: {error}",
  "export_csv_help": "Export data to CSV (default)",
  "export_xlsx_help": "Export data to Excel XLSX format",
  "export_json_help": "Export data to JSON format",
  "export.json.ok": "JSON export completed successfully: {path}",
  "export.xlsx.ok": "XLSX export completed successfully: {path}",
  "export.json.error": "Error while exporting to JSON: {error}",
  "export.xlsx.error": "Error while exporting to XLSX: {error}",
  "import_about": "Import book data from CSV or JSON files",
  "import_file_help": "Path to the file to import (required)",
  "import_csv_help": "Import data from a CSV file (default)",
  "import_json_help": "Import data from a JSON file",
  "import.error.missing_file": "Missing input file path.",
  "import.csv.ok": "Imported {count} records from CSV file.",
  "import.json.ok": "Imported {count} records from JSON file.",
  "db.migrate.checking_isbn_index": "Checking for unique index on ISBN...",
  "db.migrate.isbn_index_exists": "Unique ISBN index already exists.",
  "db.migrate.isbn_index_created": "Created unique index on 'isbn' column.",
  "db.migrate.isbn_index_failed": "Failed to create unique ISBN index: {error}",
  "import.db.skipped_isbn": "Skipped duplicate ISBN: {isbn}",
  "log.import.completed": "Import completed, total records: {count}",
  "help.list.short": "Show only ID, Title, Author, Editor, and Year",
  "list.header.id": "ID",
  "list.header.title": "Title",
  "list.header.author": "Author",
  "list.header.editor": "Editor",
  "list.header.year": "Year",
  "list.header.ISBN": "ISBN",
  "list.header.language": "Language",
  "list.header.room": "Room",
  "list.header.shelf": "Shelf",
  "list.header.position": "Position",
  "list.header.added": "Added",
  "list.no_books_found": "No books found in your library.",
  "import_delimiter_help": "Specify CSV delimiter character (default ',')",
  "import.error.open_failed": "Failed to open file '{file}': {error}",
  "import.error.parse_failed": "Failed to parse record at line {line}: {error}",
  "import.error.insert_failed": "Failed to insert '{title}' into the database: {error}",
  "import.summary.ok": "Imported {count} books from '{file}' (delimiter '{delimiter}')",
  "import.summary.failed": "Skipped {count} invalid records in '{file}'",
  "import.error.json_invalid": "Invalid JSON structure in '{file}': {error}",
  "import.summary.ok_json": "Imported {count} books from JSON file '{file}'",
  "import.error.unexpected": "Unexpected error during import: {error}",
  "help.list.details": "Show all fields of the specified record (requires --id)",
  "list.error.details_requires_id": "The --details flag can only be used together with --id <ID>.",
  "help.list.id": "Specify the record ID to show",
  "help.add.about": "Add a new item to your library",
  "help.add.book.about": "Add a new book by ISBN using Google Books API",
  "help.add.book.isbn": "ISBN of the book to fetch",
  "help.add.usage": "Use: librius add book --isbn <ISBN>",
  "add.lookup": "🔍 Looking up book with ISBN:",
  "add.success": "Book '{title}' added successfully.",
  "add.no_result": "No book found for the provided ISBN.",
  "help.app.about": "Manage your personal library with Librius CLI",
  "help.list.about": "List all books in your collection",
  "help.unknown_command": "Unknown command. Use --help to see available options.",
  "book.add.http_error": "HTTP error while fetching book data: {error}",
  "book.add.book_info": "Parsed book info:\n{info}\n",
  "add.decode_error": "Error decoding book data: {error}",
  "add.duplicate_isbn": "Book already present in your library.",
  "add.sql_error": "Database error while saving the book.",
  "book.isbn.invalid_checksum": "Invalid ISBN checksum: {isbn}.",
  "book.isbn.invalid_length": "Invalid ISBN length: {isbn}.",
  "book.isbn.invalid_conversion": "Invalid ISBN conversion: {isbn}.",
  "book.isbn.invalid_digit": "Invalid digit in ISBN number: {isbn}.",
  "book.isbn.digit_too_large": "Digit too large in ISBN number: {isbn}.",
  "book.isbn.invalid_group": "Invalid group identifier in ISBN: {isbn}.",
  "book.isbn.undefined_range": "Undefined range in ISBN: {isbn}.",
  "help.edit.about": "Edit existing records in the library database",
  "help.edit.book.about": "Edit an existing book record by ID or ISBN",
  "help.edit.book.key": "Specify the book ID or ISBN to edit",
  "help.edit.book.title": "Update the book title",
  "help.edit.book.author": "Update the author's name",
  "help.edit.book.editor": "Update the publisher/editor name",
  "help.edit.book.year": "Update the publication year",
  "help.edit.book.lang_book": "Update the language of the book record",
  "help.edit.book.genre": "Update the literary genre",
  "help.edit.book.summary": "Update the book summary or description",
  "help.edit.book.example.id": "Example: librius edit book 7 --title 'New Title'",
  "help.edit.book.example.isbn": "Example: librius edit book 9788806239809 --author 'Umberto Eco'",
  "help.edit.book.pages": "Update the number of pages",
  "help.edit.book.room": "Update the room where the book is located",
  "help.edit.book.shelf": "Update the shelf label",
  "help.edit.book.row": "Update the row identifier",
  "help.edit.book.position": "Update the position on the row",
  "edit.field.updated": "Field “{field}” updated successfully ({old} → {new}).",
  "edit.field.set": "Field “{field}” set to {new}.",
  "edit.field.unchanged": "Field “{field}” unchanged (no modification).",
  "edit.book.updated_one": "Book {key} successfully updated ({count} field modified).",
  "edit.book.updated_many": "Book {key} successfully updated ({count} fields modified).",
  "edit.book.no_changes": "No changes were applied.",
  "edit.book.not_found": "No matching book found.",
  "edit.book.error_updating": "Error updating book: {error}",
  "edit.book.error_invalid_id": "Invalid ID format.",
  "edit.book.error_no_field": "No fields specified to update.",
  "help.del.about": "Delete a book by its ID or ISBN.",
  "help.del.key": "Specify the book ID or ISBN to delete.",
  "del.book.success": "Book {key} deleted successfully.",
  "del.book.not_found": "No matching book found for ID|ISBN {key}.",
  "del.book.confirm": "Are you sure you want to delete book {key}? [y/N]:",
  "del.book.cancelled": "Deletion of book {key} cancelled.",
  "help.del.force": "Delete without asking for confirmation.",
  "log.record.unable_to_write": "Unable to record log entry: {log_error}",
  "search_about": "Search for books by title, author, editor, genre or language.",
  "search_query_help": "The keyword or phrase to search for.",
  "search_short_help": "Show compact view (ID, Title, Author, Editor, Year, ISBN).",
  "search.no_results": "No results found.",
  "help.global_options": "Global Options",
  "help.list_specific_options": "List-specific options",
  "help.search_specific_options": "Search-specific options",
  "help.add_specific_options": "Add Book specific options",
  "help.edit_specific_options": "Edit Book specific options",
  "help.del_specific_options": "Delete Book specific options",
  "help.config_specific_options": "Config-specific options",
  "help.import_specific_options": "Import-specific options",
  "help.export_specific_options": "Export-specific options",
  "help.backup_specific_options": "Backup-specific options",
  "help.db_specific_options": "DB-management specific options",
  "db_about": "Database management",
  "db_init_help": "Initialize a new database (overwrite existing one if present).",
  "db_reset_help": "Reset the current database (alias of --init).",
  "db_copy_help": "Copy the current database to a new file.",
  "db_file_help": "Destination file path for the copy.",
  "db_no_action": "No operation performed. Use --init, --reset or --copy.",
  "db_no_source": "No existing database to copy.",
  "db_copy_missing_file": "You must specify --file <PATH> when using --copy.",
  "db_init_creating": "Creating database at {path} ...",
  "db_init_done": "Database initialized at {path}.",
  "db_reset_done": "Database reset at {path}.",
  "db_copy_done": "Database copied from {source} to {destination}.",
  "error.unable_display_record": "Unable to display record: not an object",
  "list.header.pages": "Pages",
  "list.header.genre": "Genre",
  "list.header.summary": "Summary",
  "list.header.row": "Row",
  "list.header.added_at": "Added At",
  "help.list.compact": "Show only fields with values in detailed view."
}