calibre - en to ko translation catalogue (396 entries)

en: API documentation for plugins
ko: 플러그인용 API 문서

en: Defines various abstract base classes that can be subclassed to create powerful plugins. The useful classes are:
ko: 강력한 플러그인을 만들기 위해 하위 클래스로 만들 수 있는 여러 추상 기본 클래스를 정의합니다. 유용한 클래스는 다음과 같습니다:

en: A calibre plugin. Useful members include:
ko: calibre 플러그인입니다. 유용한 멤버는 다음과 같습니다:

en: ``self.installation_type``: Stores how the plugin was installed.
ko: ``self.installation_type``: 플러그인이 설치된 방식을 저장합니다.

en: ``self.plugin_path``: Stores path to the ZIP file that contains
ko: ``self.plugin_path``: 이 플러그인을 포함하는 ZIP 파일의 경로를

en: this plugin or None if it is a builtin plugin
ko: 저장하며, 내장 플러그인인 경우에는 None입니다.

en: ``self.site_customization``: Stores a customization string entered
ko: ``self.site_customization``: 사용자가 입력한 사용자 지정 문자열을

en: by the user.
ko: 저장합니다.

en: Methods that should be overridden in sub classes:
ko: 하위 클래스에서 재정의해야 하는 메서드:

en: Useful methods:
ko: 유용한 메서드:

en: :meth:`temporary_file`
ko: :meth:`임시_파일`

en: List of platforms this plugin works on. For example: ``['windows', 'osx', 'linux']``
ko: 이 플러그인이 동작하는 플랫폼 목록입니다. 예: ``['windows', 'osx', 'linux']``

en: The name of this plugin. You must set it something other than Trivial Plugin for it to work.
ko: 이 플러그인의 이름입니다. 작동하게 하려면 Trivial Plugin 이외의 값으로 설정해야 합니다.

en: The version of this plugin as a 3-tuple (major, minor, revision)
ko: 이 플러그인의 버전입니다. 3-튜플(메이저, 마이너, 리비전) 형식입니다.

en: A short string describing what this plugin does
ko: 이 플러그인이 하는 일을 설명하는 짧은 문자열입니다.

en: The author of this plugin
ko: 이 플러그인의 작성자입니다.

en: When more than one plugin exists for a filetype, the plugins are run in order of decreasing priority. Plugins with higher priority will be run first. The highest possible priority is ``sys.maxsize``. Default priority is 1.
ko: 하나의 파일 형식에 대해 둘 이상의 플러그인이 존재하면, 우선순위가 높은 것부터 순서대로 실행됩니다. 우선순위가 높은 플러그인이 먼저 실행됩니다. 가능한 가장 높은 우선순위는 ``sys.maxsize`` 입니다. 기본 우선순위는 1입니다.

en: The earliest version of calibre this plugin requires
ko: 이 플러그인이 필요로 하는 calibre의 최소 버전입니다.

en: The way this plugin is installed
ko: 이 플러그인이 설치된 방식입니다.

en: If False, the user will not be able to disable this plugin. Use with care.
ko: False이면 사용자가 이 플러그인을 비활성화할 수 없습니다. 신중하게 사용하십시오.

en: The type of this plugin. Used for categorizing plugins in the GUI
ko: 이 플러그인의 유형입니다. GUI에서 플러그인을 분류하는 데 사용됩니다.

en: Called once when calibre plugins are initialized.  Plugins are re-initialized every time a new plugin is added. Also note that if the plugin is run in a worker process, such as for adding books, then the plugin will be initialized for every new worker process.
ko: calibre 플러그인이 초기화될 때 한 번 호출됩니다. 새 플러그인이 추가될 때마다 플러그인은 다시 초기화됩니다. 또한 책 추가와 같은 작업자 프로세스에서 플러그인이 실행되는 경우, 새로운 작업자 프로세스마다 플러그인이 초기화된다는 점에 유의하십시오.

en: Perform any plugin specific initialization here, such as extracting resources from the plugin ZIP file. The path to the ZIP file is available as ``self.plugin_path``.
ko: 여기에서 플러그인별 초기화를 수행하십시오. 예를 들어 플러그인 ZIP 파일에서 리소스를 추출할 수 있습니다. ZIP 파일의 경로는 ``self.plugin_path`` 에서 사용할 수 있습니다.

en: Note that ``self.site_customization`` is **not** available at this point.
ko: 이 시점에는 ``self.site_customization`` 을 **사용할 수 없습니다**.

en: Implement this method and :meth:`save_settings` in your plugin to use a custom configuration dialog, rather then relying on the simple string based default customization.
ko: 단순한 문자열 기반 기본 사용자 지정에 의존하는 대신, 사용자 지정 설정 대화상자를 사용하려면 플러그인에서 이 메서드와 :meth:`save_settings` 를 구현하십시오.

en: This method, if implemented, must return a QWidget. The widget can have an optional method validate() that takes no arguments and is called immediately after the user clicks OK. Changes are applied if and only if the method returns True.
ko: 이 메서드를 구현하는 경우 QWidget를 반환해야 합니다. 위젯에는 인수를 받지 않는 선택적 validate() 메서드가 있을 수 있으며, 사용자가 확인을 클릭한 직후 호출됩니다. 메서드가 True를 반환하는 경우에만 변경 사항이 적용됩니다.

en: If for some reason you cannot perform the configuration at this time, return a tuple of two strings (message, details), these will be displayed as a warning dialog to the user and the process will be aborted.
ko: 어떤 이유로 지금 이 시점에 설정을 수행할 수 없다면 두 개의 문자열로 이루어진 튜플 (message, details)을 반환하십시오. 이 값은 사용자에게 경고 대화상자로 표시되며, 작업은 중단됩니다.

en: Save the settings specified by the user with config_widget.
ko: config_widget로 사용자가 지정한 설정을 저장합니다.

en: Parameters
ko: 매개 변수

en: The widget returned by :meth:`config_widget`.
ko: :meth:`config_widget` 가 반환한 위젯입니다.

en: This method shows a configuration dialog for this plugin. It returns True if the user clicks OK, False otherwise. The changes are automatically applied.
ko: 이 메서드는 이 플러그인의 설정 대화상자를 표시합니다. 사용자가 확인을 클릭하면 True, 그렇지 않으면 False를 반환합니다. 변경 사항은 자동으로 적용됩니다.

en: If this plugin comes in a ZIP file (user added plugin), this method will allow you to load resources from the ZIP file.
ko: 이 플러그인이 ZIP 파일(사용자 추가 플러그인)로 제공되는 경우, 이 메서드를 사용해 ZIP 파일에서 리소스를 불러올 수 있습니다.

en: For example to load an image::
ko: 예를 들어 이미지를 불러오려면::

en: List of paths to resources in the ZIP file using / as separator
ko: / 를 구분자로 사용한 ZIP 파일 내부 리소스 경로 목록

en: Returns
ko: 반환값

en: A dictionary of the form ``{name: file_contents}``. Any names that were not found in the ZIP file will not be present in the dictionary.
ko: ``{name: file_contents}`` 형태의 사전입니다. ZIP 파일에서 찾지 못한 이름은 사전에 포함되지 않습니다.

en: Return a string giving help on how to customize this plugin. By default raise a :class:`NotImplementedError`, which indicates that the plugin does not require customization.
ko: 이 플러그인을 사용자 지정하는 방법에 대한 도움말 문자열을 반환합니다. 기본적으로는 :class:`NotImplementedError` 를 발생시키며, 이는 플러그인에 사용자 지정이 필요 없음을 의미합니다.

en: If you re-implement this method in your subclass, the user will be asked to enter a string as customization for this plugin. The customization string will be available as ``self.site_customization``.
ko: 하위 클래스에서 이 메서드를 재구현하면, 사용자는 이 플러그인의 사용자 지정을 위한 문자열을 입력하라는 요청을 받습니다. 사용자 지정 문자열은 ``self.site_customization`` 에서 사용할 수 있습니다.

en: Site customization could be anything, for example, the path to a needed binary on the user's computer.
ko: 사이트 사용자 지정은 무엇이든 될 수 있습니다. 예를 들어 사용자의 컴퓨터에 있는 필요한 바이너리의 경로일 수 있습니다.

en: If True return HTML help, otherwise return plain text help.
ko: True이면 HTML 도움말을 반환하고, 그렇지 않으면 일반 텍스트 도움말을 반환합니다.

en: Return a file-like object that is a temporary file on the file system. This file will remain available even after being closed and will only be removed on interpreter shutdown. Use the ``name`` member of the returned object to access the full path to the created temporary file.
ko: 파일 시스템상의 임시 파일인 파일 유사 객체를 반환합니다. 이 파일은 닫은 뒤에도 계속 사용 가능하며, 인터프리터가 종료될 때만 제거됩니다. 생성된 임시 파일의 전체 경로에 접근하려면 반환된 객체의 ``name`` 멤버를 사용하십시오.

en: The suffix that the temporary file will have.
ko: 임시 파일에 붙을 접미사입니다.

en: This method is the main entry point for your plugins command line interface. It is called when the user does: calibre-debug -r "Plugin Name". Any arguments passed are present in the args variable.
ko: 이 메서드는 플러그인 명령줄 인터페이스의 기본 진입점입니다. 사용자가 calibre-debug -r "Plugin Name" 을 실행할 때 호출됩니다. 전달된 모든 인수는 args 변수에 들어 있습니다.

en: A plugin that is associated with a particular set of file types.
ko: 특정 파일 형식 집합과 연관된 플러그인입니다.

en: Set of file types for which this plugin should be run. Use '*' for all file types. For example: ``{'lit', 'mobi', 'prc'}``
ko: 이 플러그인을 실행해야 하는 파일 형식 집합입니다. 모든 파일 형식에 대해 실행하려면 '*'를 사용하십시오. 예: ``{'lit', 'mobi', 'prc'}``

en: If True, this plugin is run when books are added to the database
ko: True이면 책이 데이터베이스에 추가될 때 이 플러그인이 실행됩니다.

en: If True, this plugin is run after books are added to the database. In this case the postimport and postadd methods of the plugin are called.
ko: True이면 책이 데이터베이스에 추가된 뒤 이 플러그인이 실행됩니다. 이 경우 플러그인의 postimport 및 postadd 메서드가 호출됩니다.

en: If True, this plugin is run after a book is converted. In this case the postconvert method of the plugin is called.
ko: True이면 책이 변환된 뒤 이 플러그인이 실행됩니다. 이 경우 플러그인의 postconvert 메서드가 호출됩니다.

en: If True, this plugin is run after a book file is deleted from the database. In this case the postdelete method of the plugin is called.
ko: True이면 데이터베이스에서 책 파일이 삭제된 뒤 이 플러그인이 실행됩니다. 이 경우 플러그인의 postdelete 메서드가 호출됩니다.

en: If True, this plugin is run just before a conversion
ko: True이면 변환 직전에 이 플러그인이 실행됩니다.

en: If True, this plugin is run after conversion on the final file produced by the conversion output plugin.
ko: True이면 변환 출력 플러그인이 생성한 최종 파일에 대해 변환 후 이 플러그인이 실행됩니다.

en: Run the plugin. Must be implemented in subclasses. It should perform whatever modifications are required on the e-book and return the absolute path to the modified e-book. If no modifications are needed, it should return the path to the original e-book. If an error is encountered it should raise an Exception. The default implementation simply return the path to the original e-book. Note that the path to the original file (before any file type plugins are run, is available as self.original_path_to_file).
ko: 플러그인을 실행합니다. 하위 클래스에서 구현해야 합니다. 전자책에 필요한 수정 작업을 수행한 뒤 수정된 전자책의 절대 경로를 반환해야 합니다. 수정이 필요 없다면 원본 전자책의 경로를 반환해야 합니다. 오류가 발생하면 Exception을 일으켜야 합니다. 기본 구현은 원본 전자책의 경로를 그대로 반환합니다. 파일 형식 플러그인이 실행되기 전 원본 파일의 경로는 self.original_path_to_file 에서 사용할 수 있습니다.

en: The modified e-book file should be created with the :meth:`temporary_file` method.
ko: 수정된 전자책 파일은 :meth:`temporary_file` 메서드로 만들어야 합니다.

en: Absolute path to the e-book.
ko: 전자책의 절대 경로입니다.

en: Absolute path to the modified e-book.
ko: 수정된 전자책의 절대 경로입니다.

en: Called post import, i.e., after the book file has been added to the database. Note that this is different from :meth:`postadd` which is called when the book record is created for the first time. This method is called whenever a new file is added to a book record. It is useful for modifying the book record based on the contents of the newly added file.
ko: 가져오기 후, 즉 책 파일이 데이터베이스에 추가된 뒤 호출됩니다. 이는 책 레코드가 처음 생성될 때 호출되는 :meth:`postadd` 와는 다릅니다. 이 메서드는 책 레코드에 새 파일이 추가될 때마다 호출됩니다. 새로 추가된 파일의 내용을 바탕으로 책 레코드를 수정하는 데 유용합니다.

en: Database id of the added book.
ko: 추가된 책의 데이터베이스 id입니다.

en: The file type of the book that was added.
ko: 추가된 책의 파일 형식입니다.

en: Library database.
ko: 라이브러리 데이터베이스입니다.

en: Called post conversion, i.e., after the conversion output book file has been added to the database. Note that it is run after a conversion only, not after a book is added. It is useful for modifying the book record based on the contents of the newly added file.
ko: 변환 후, 즉 변환 결과 책 파일이 데이터베이스에 추가된 뒤 호출됩니다. 책 추가 후가 아니라 변환 후에만 실행됩니다. 새로 추가된 파일의 내용을 바탕으로 책 레코드를 수정하는 데 유용합니다.

en: Called post deletion, i.e., after the book file has been deleted from the database. Note that it is not run when a book record is deleted, only when one or more formats from the book are deleted. It is useful for modifying the book record based on the format of the deleted file.
ko: 삭제 후, 즉 책 파일이 데이터베이스에서 삭제된 뒤 호출됩니다. 책 레코드가 삭제될 때는 실행되지 않고, 책에서 하나 이상의 형식이 삭제될 때만 실행됩니다. 삭제된 파일 형식을 바탕으로 책 레코드를 수정하는 데 유용합니다.

en: Called post add, i.e. after a book has been added to the db. Note that this is different from :meth:`postimport`, which is called after a single book file has been added to a book. postadd() is called only when an entire book record with possibly more than one book file has been created for the first time. This is useful if you wish to modify the book record in the database when the book is first added to calibre.
ko: 추가 후, 즉 책이 DB에 추가된 뒤 호출됩니다. 이는 단일 책 파일이 책에 추가된 뒤 호출되는 :meth:`postimport` 와는 다릅니다. postadd() 는 하나 이상의 책 파일을 포함할 수 있는 전체 책 레코드가 처음 생성될 때만 호출됩니다. 책이 calibre에 처음 추가될 때 데이터베이스의 책 레코드를 수정하고 싶다면 유용합니다.

en: Map of file format to path from which the file format was added. Note that this might or might not point to an actual existing file, as sometimes files are added as streams. In which case it might be a dummy value or a non-existent path.
ko: 파일 형식에서 추가된 경로로의 매핑입니다. 경우에 따라 파일이 스트림으로 추가되기도 하므로, 실제로 존재하는 파일을 가리킬 수도 있고 아닐 수도 있습니다. 이 경우 더미 값이나 존재하지 않는 경로일 수 있습니다.

en: Library database
ko: 라이브러리 데이터베이스

en: Metadata plugins
ko: 메타데이터 플러그인

en: A plugin that implements reading metadata from a set of file types.
ko: 여러 파일 형식에서 메타데이터를 읽는 기능을 구현하는 플러그인입니다.

en: Set of file types for which this plugin should be run. For example: ``set(['lit', 'mobi', 'prc'])``
ko: 이 플러그인을 실행해야 하는 파일 형식 집합입니다. 예: ``set(['lit', 'mobi', 'prc'])``

en: Return metadata for the file represented by stream (a file like object that supports reading). Raise an exception when there is an error with the input data.
ko: stream(읽기를 지원하는 파일 유사 객체)으로 표현된 파일의 메타데이터를 반환합니다. 입력 데이터에 오류가 있으면 예외를 발생시킵니다.

en: The type of file. Guaranteed to be one of the entries in :attr:`file_types`.
ko: 파일 형식입니다. :attr:`file_types` 의 항목 가운데 하나임이 보장됩니다.

en: A :class:`calibre.ebooks.metadata.book.Metadata` object
ko: :class:`calibre.ebooks.metadata.book.Metadata` 객체입니다.

en: Set metadata for the file represented by stream (a file like object that supports reading). Raise an exception when there is an error with the input data.
ko: stream(읽기를 지원하는 파일 유사 객체)으로 표현된 파일의 메타데이터를 설정합니다. 입력 데이터에 오류가 있으면 예외를 발생시킵니다.

en: Catalog plugins
ko: 카탈로그 플러그인

en: A plugin that implements a catalog generator.
ko: 범주 생성도구를 구현하는 플러그인입니다.

en: Output file type for which this plugin should be run. For example: 'epub' or 'xml'
ko: 이 플러그인이 실행되어야 하는 출력 파일 형식입니다. 예: 'epub' 또는 'xml'

en: CLI parser options specific to this plugin, declared as `namedtuple` `Option`:
ko: 이 플러그인 전용 CLI 파서 옵션으로, `namedtuple` `Option` 으로 선언합니다:

en: from collections import namedtuple Option = namedtuple('Option', 'option, default, dest, help') cli_options = [Option('--catalog-title', default = 'My Catalog', dest = 'catalog_title', help = (_('Title of generated catalog. \nDefault:') + " '" + '%default' + "'"))] cli_options parsed in calibre.db.cli.cmd_catalog:option_parser()
ko: from collections import namedtuple Option = namedtuple('Option', 'option, default, dest, help') cli_options = [Option('--catalog-title', default = 'My Catalog', dest = 'catalog_title', help = (_('Title of generated catalog. \nDefault:') + " '" + '%default' + "'"))] cli_options 는 calibre.db.cli.cmd_catalog:option_parser() 에서 파싱됩니다.

en: If plugin is not a built-in, copy the plugin's .ui and .py files from the ZIP file to $TMPDIR. Tab will be dynamically generated and added to the Catalog Options dialog in calibre.gui2.dialogs.catalog.py:Catalog
ko: 플러그인이 내장 플러그인이 아니라면, 플러그인의 .ui 및 .py 파일을 ZIP 파일에서 $TMPDIR로 복사합니다. 탭은 동적으로 생성되어 calibre.gui2.dialogs.catalog.py:Catalog 의 카탈로그 옵션 대화상자에 추가됩니다.

en: Run the plugin. Must be implemented in subclasses. It should generate the catalog in the format specified in file_types, returning the absolute path to the generated catalog file. If an error is encountered it should raise an Exception.
ko: 플러그인을 실행합니다. 하위 클래스에서 구현해야 합니다. file_types 에 지정된 형식으로 카탈로그를 생성하고, 생성된 카탈로그 파일의 절대 경로를 반환해야 합니다. 오류가 발생하면 Exception을 일으켜야 합니다.

en: The generated catalog file should be created with the :meth:`temporary_file` method.
ko: 생성된 카탈로그 파일은 :meth:`temporary_file` 메서드로 만들어야 합니다.

en: Absolute path to the generated catalog file.
ko: 생성된 카탈로그 파일의 절대 경로입니다.

en: A dictionary of keyword arguments
ko: 키워드 인수 사전입니다.

en: A LibraryDatabase2 object
ko: LibraryDatabase2 객체입니다.

en: Metadata download plugins
ko: 메타데이터 다운로드 플러그인

en: Set of capabilities supported by this plugin. Useful capabilities are: 'identify', 'cover'
ko: 이 플러그인이 지원하는 기능 집합입니다. 유용한 기능에는 'identify', 'cover' 가 있습니다.

en: List of metadata fields that can potentially be download by this plugin during the identify phase
ko: 식별 단계 동안 이 플러그인이 잠재적으로 내려받을 수 있는 메타데이터 필드 목록입니다.

en: Set this to True if your plugin returns HTML formatted comments
ko: 플러그인이 HTML 형식의 설명을 반환한다면 True로 설정하십시오.

en: Setting this to True means that the browser object will indicate that it supports gzip transfer encoding. This can speedup downloads but make sure that the source actually supports gzip transfer encoding correctly first
ko: 이를 True로 설정하면 브라우저 객체가 gzip 전송 인코딩을 지원한다고 표시합니다. 이렇게 하면 다운로드가 빨라질 수 있지만, 먼저 소스가 gzip 전송 인코딩을 올바르게 지원하는지 확인하십시오.

en: Set this to True to ignore HTTPS certificate errors when connecting to this source.
ko: 이 소스에 연결할 때 HTTPS 인증서 오류를 무시하려면 True로 설정하십시오.

en: Cached cover URLs can sometimes be unreliable (i.e. the download could fail or the returned image could be bogus). If that is often the case with this source, set to False
ko: 캐시된 표지 URL은 때때로 신뢰할 수 없습니다(예: 다운로드가 실패하거나 반환된 이미지가 잘못되었을 수 있음). 이 소스에서 그런 경우가 자주 발생한다면 False로 설정하십시오.

en: A list of :class:`Option` objects. They will be used to automatically construct the configuration widget for this plugin
ko: :class:`Option` 객체 목록입니다. 이 플러그인의 설정 위젯을 자동으로 구성하는 데 사용됩니다.

en: A string that is displayed at the top of the config widget for this plugin
ko: 이 플러그인의 설정 위젯 상단에 표시되는 문자열입니다.

en: If True this source can return multiple covers for a given query
ko: True이면 이 소스는 주어진 질의에 대해 여러 표지를 반환할 수 있습니다.

en: If set to True covers downloaded by this plugin are automatically trimmed.
ko: True로 설정하면 이 플러그인으로 다운로드한 표지는 자동으로 다듬어집니다.

en: If set to True, and this source returns multiple results for a query, some of which have ISBNs and some of which do not, the results without ISBNs will be ignored
ko: True로 설정되어 있고, 이 소스가 어떤 질의에 대해 여러 결과를 반환하는데 일부에는 ISBN이 있고 일부에는 ISBN이 없다면, ISBN이 없는 결과는 무시됩니다.

en: Return False if your plugin needs to be configured before it can be used. For example, it might need a username/password/API key.
ko: 플러그인을 사용하기 전에 설정이 필요하다면 False를 반환하십시오. 예를 들어 사용자 이름/비밀번호/API 키가 필요할 수 있습니다.

en: Take a list of authors and return a list of tokens useful for an AND search query. This function tries to return tokens in first name middle names last name order, by assuming that if a comma is in the author name, the name is in lastname, other names form.
ko: 저자 목록을 가져오고 AND 검색어에 유용한 토큰 목록을 반환합니다. 이 함수는 쉼표가 저자 이름에 있으면 이름이 성에 있고 다른 이름 형식이라고 가정하여 이름 중간 이름 성 순서로 토큰을 반환하려고 합니다.

en: Take a title and return a list of tokens useful for an AND search query. Excludes connectives(optionally) and punctuation.
ko: 제목을 가져와 AND 검색어에 유용한 토큰 목록을 반환합니다. 접속사(선택 사항) 및 구두점은 제외됩니다.

en: Split a list of jobs into at most num groups, as evenly as possible
ko: 작업 목록을 가능한 한 고르게, 최대 num 개의 그룹으로 나눕니다.

en: Return the first field from self.touched_fields that is null on the mi object
ko: mi 객체에서 null 인 self.touched_fields 의 첫 번째 필드를 반환합니다.

en: Call this method in your plugin's identify method to normalize metadata before putting the Metadata object into result_queue. You can of course, use a custom algorithm suited to your metadata source.
ko: Metadata 객체를 result_queue 에 넣기 전에 메타데이터를 정규화하려면 플러그인의 identify 메서드에서 이 메서드를 호출하십시오. 물론 메타데이터 소스에 맞는 사용자 정의 알고리즘을 사용해도 됩니다.

en: Return a 3-tuple or None. The 3-tuple is of the form: (identifier_type, identifier_value, URL). The URL is the URL for the book identified by identifiers at this source. identifier_type, identifier_value specify the identifier corresponding to the URL. This URL must be browsable to by a human using a browser. It is meant to provide a clickable link for the user to easily visit the books page at this source. If no URL is found, return None. This method must be quick, and consistent, so only implement it if it is possible to construct the URL from a known scheme given identifiers.
ko: 3-튜플 또는 None을 반환합니다. 3-튜플의 형식은 (identifier_type, identifier_value, URL) 입니다. URL은 이 소스에서 identifiers 로 식별된 책의 URL입니다. identifier_type 과 identifier_value 는 URL에 해당하는 식별자를 지정합니다. 이 URL은 사람이 브라우저로 열어볼 수 있어야 합니다. 사용자가 이 소스의 책 페이지를 쉽게 방문할 수 있는 클릭 가능한 링크를 제공하기 위한 것입니다. URL을 찾지 못하면 None을 반환하십시오. 이 메서드는 빠르고 일관되어야 하므로, 식별자로부터 알려진 규칙에 따라 URL을 구성할 수 있을 때만 구현하십시오.

en: Return a human readable name from the return value of get_book_url().
ko: get_book_url() 의 반환값에서 사람이 읽기 쉬운 이름을 반환합니다.

en: Override this method if you would like to return multiple URLs for this book. Return a list of 3-tuples. By default this method simply calls :func:`get_book_url`.
ko: 이 책에 대해 여러 URL을 반환하고 싶다면 이 메서드를 재정의하십시오. 3-튜플 목록을 반환하십시오. 기본적으로 이 메서드는 단순히 :func:`get_book_url` 을 호출합니다.

en: Return cached cover URL for the book identified by the identifiers dictionary or None if no such URL exists.
ko: identifiers 사전으로 식별된 책의 캐시된 표지 URL을 반환합니다. 해당 URL이 없으면 None을 반환합니다.

en: Note that this method must only return validated URLs, i.e. not URLS that could result in a generic cover image or a not found error.
ko: 이 메서드는 검증된 URL만 반환해야 한다는 점에 유의하십시오. 즉 일반 표지 이미지나 not found 오류를 일으킬 수 있는 URL은 반환해서는 안 됩니다.

en: Parse a URL and return a tuple of the form: (identifier_type, identifier_value). If the URL does not match the pattern for the metadata source, return None.
ko: URL을 해석하여 (identifier_type, identifier_value) 형식의 튜플을 반환합니다. URL이 메타데이터 소스의 패턴과 맞지 않으면 None을 반환합니다.

en: Return a function that is used to generate a key that can sort Metadata objects by their relevance given a search query (title, authors, identifiers).
ko: 검색 쿼리(제목, 저자, 식별자)에 따라 메타데이터 객체를 관련성에 따라 정렬할 수 있는 키를 생성하는 데 사용되는 함수를 반환합니다.

en: These keys are used to sort the results of a call to :meth:`identify`.
ko: 이 키들은 :meth:`identify` 호출 결과를 정렬하는 데 사용됩니다.

en: For details on the default algorithm see :class:`InternalMetadataCompareKeyGen`. Re-implement this function in your plugin if the default algorithm is not suitable.
ko: 기본 알고리즘에 대한 자세한 내용은 :class:`InternalMetadataCompareKeyGen` 을 참조하십시오. 기본 알고리즘이 적합하지 않다면 플러그인에서 이 함수를 재구현하십시오.

en: Identify a book by its Title/Author/ISBN/etc.
ko: 제목/저자/ISBN 등을 사용해 책을 식별합니다.

en: If identifiers(s) are specified and no match is found and this metadata source does not store all related identifiers (for example, all ISBNs of a book), this method should retry with just the title and author (assuming they were specified).
ko: 식별자(identifier)가 지정되었는데 일치 항목을 찾지 못했고, 이 메타데이터 소스가 관련 식별자를 모두 저장하지 않는 경우(예: 책의 모든 ISBN), 제목과 저자만으로 다시 시도해야 합니다(둘이 지정되어 있다면).

en: If this metadata source also provides covers, the URL to the cover should be cached so that a subsequent call to the get covers API with the same ISBN/special identifier does not need to get the cover URL again. Use the caching API for this.
ko: 이 메타데이터 소스가 표지도 제공한다면, 동일한 ISBN/특수 식별자로 get covers API 를 다시 호출할 때 표지 URL을 다시 가져올 필요가 없도록 표지 URL을 캐시에 저장해야 합니다. 이를 위해 캐시 API 를 사용하십시오.

en: Every Metadata object put into result_queue by this method must have a `source_relevance` attribute that is an integer indicating the order in which the results were returned by the metadata source for this query. This integer will be used by :meth:`compare_identify_results`. If the order is unimportant, set it to zero for every result.
ko: 이 메서드가 result_queue 에 넣는 모든 Metadata 객체에는 source_relevance 속성이 있어야 하며, 이는 이 질의에 대해 메타데이터 소스가 결과를 반환한 순서를 나타내는 정수입니다. 이 정수는 :meth:`compare_identify_results` 에서 사용됩니다. 순서가 중요하지 않다면 모든 결과에 대해 0으로 설정하십시오.

en: Make sure that any cover/ISBN mapping information is cached before the Metadata object is put into result_queue.
ko: Metadata 객체를 result_queue 에 넣기 전에 표지/ISBN 매핑 정보가 모두 캐시되었는지 확인하십시오.

en: A log object, use it to output debugging information/errors
ko: 로그 객체입니다. 디버깅 정보/오류를 출력하는 데 사용하십시오.

en: A result Queue, results should be put into it. Each result is a Metadata object
ko: 결과 Queue 입니다. 결과를 여기에 넣어야 합니다. 각 결과는 Metadata 객체입니다.

en: If abort.is_set() returns True, abort further processing and return as soon as possible
ko: abort.is_set() 가 True를 반환하면 추가 처리를 중단하고 가능한 한 빨리 반환하십시오.

en: The title of the book, can be None
ko: 책 제목이며, None일 수 있습니다.

en: A list of authors of the book, can be None
ko: 책 저자 목록이며, None일 수 있습니다.

en: A dictionary of other identifiers, most commonly {'isbn':'1234...'}
ko: 기타 식별자 사전으로, 가장 흔한 예는 {'isbn':'1234...'} 입니다.

en: Timeout in seconds, no network request should hang for longer than timeout.
ko: 초 단위 시간 제한입니다. 어떤 네트워크 요청도 timeout 보다 오래 멈춰 있어서는 안 됩니다.

en: None if no errors occurred, otherwise a unicode representation of the error suitable for showing to the user
ko: 오류가 없으면 None, 그렇지 않으면 사용자에게 표시하기에 적합한 오류의 유니코드 표현입니다.

en: Download a cover and put it into result_queue. The parameters all have the same meaning as for :meth:`identify`. Put (self, cover_data) into result_queue.
ko: 표지를 다운로드하여 result_queue 에 넣습니다. 매개변수의 의미는 모두 :meth:`identify` 와 같습니다. (self, cover_data) 를 result_queue 에 넣으십시오.

en: This method should use cached cover URLs for efficiency whenever possible. When cached data is not present, most plugins simply call identify and use its results.
ko: 가능하면 효율을 위해 이 메서드는 캐시된 표지 URL을 사용해야 합니다. 캐시 데이터가 없을 때는 대부분의 플러그인이 단순히 identify 를 호출하고 그 결과를 사용합니다.

en: If the parameter get_best_cover is True and this plugin can get multiple covers, it should only get the "best" one.
ko: get_best_cover 매개변수가 True이고 이 플러그인이 여러 표지를 가져올 수 있다면, "가장 좋은" 표지만 가져와야 합니다.

en: Generate a sort key for comparison of the relevance of Metadata objects, given a search query. This is used only to compare results from the same metadata source, not across different sources.
ko: 주어진 검색어에서 메타데이터 객체의 관련성을 비교하기 위한 정렬 키를 생성합니다. 이것은 다른 소스가 아닌 동일한 메타데이터 소스의 결과를 비교하는 데만 사용됩니다.

en: The sort key ensures that an ascending order sort is a sort by order of decreasing relevance.
ko: 정렬 키는 오름차순 정렬이 관련성 내림차순 정렬이 되도록 보장합니다.

en: The algorithm is:
ko: 알고리즘은 다음과 같습니다:

en: Prefer results that have at least one identifier the same as for the query
ko: 질의와 동일한 식별자가 하나 이상 있는 결과를 우선합니다.

en: Prefer results with a cached cover URL
ko: 캐시된 표지 URL이 있는 결과를 우선합니다.

en: Prefer results with all available fields filled in
ko: 사용 가능한 필드가 모두 채워진 결과를 우선합니다.

en: Prefer results with the same language as the current user interface language
ko: 현재 사용자 인터페이스 언어와 같은 언어를 가진 결과를 우선합니다.

en: Prefer results that are an exact title match to the query
ko: 질의와 제목이 정확히 일치하는 결과를 우선합니다.

en: Prefer results with longer comments (greater than 10% longer)
ko: 설명이 더 긴 결과를 우선합니다(10% 이상 더 긴 경우).

en: Use the relevance of the result as reported by the metadata source's search
ko: 메타데이터 소스의 검색이 보고한 결과의 관련성을 사용합니다.

en: engine
ko: 엔진

en: Conversion plugins
ko: 변환 플러그인

en: InputFormatPlugins are responsible for converting a document into HTML+OPF+CSS+etc. The results of the conversion *must* be encoded in UTF-8. The main action happens in :meth:`convert`.
ko: InputFormatPlugins 는 문서를 HTML+OPF+CSS+기타 형식으로 변환하는 역할을 합니다. 변환 결과는 *반드시* UTF-8 로 인코딩되어야 합니다. 주요 동작은 :meth:`convert` 에서 이루어집니다.

en: Set of file types for which this plugin should be run For example: ``set(['azw', 'mobi', 'prc'])``
ko: 이 플러그인을 실행해야 하는 파일 형식 집합입니다. 예: ``set(['azw', 'mobi', 'prc'])``

en: If True, this input plugin generates a collection of images, one per HTML file. This can be set dynamically, in the convert method if the input files can be both image collections and non-image collections. If you set this to True, you must implement the get_images() method that returns a list of images.
ko: True이면 이 입력 플러그인은 HTML 파일마다 하나씩 이미지를 모은 컬렉션을 생성합니다. 입력 파일이 이미지 컬렉션일 수도 있고 아닐 수도 있다면 convert 메서드에서 동적으로 설정할 수 있습니다. 이를 True로 설정했다면 이미지 목록을 반환하는 get_images() 메서드를 구현해야 합니다.

en: Number of CPU cores used by this plugin. A value of -1 means that it uses all available cores
ko: 이 플러그인이 사용하는 CPU 코어 수입니다. 값이 -1이면 사용 가능한 모든 코어를 사용합니다.

en: If set to True, the input plugin will perform special processing to make its output suitable for viewing
ko: True로 설정하면 입력 플러그인이 출력 결과를 보기용으로 적합하게 만들기 위해 특별 처리를 수행합니다.

en: The encoding that this input plugin creates files in. A value of None means that the encoding is undefined and must be detected individually
ko: 이 입력 플러그인이 파일을 생성할 때 사용하는 인코딩입니다. None이면 인코딩이 정의되지 않았으므로 각각 개별적으로 감지해야 합니다.

en: Options shared by all Input format plugins. Do not override in sub-classes. Use :attr:`options` instead. Every option must be an instance of :class:`OptionRecommendation`.
ko: 모든 입력 형식 플러그인이 공유하는 옵션입니다. 하위 클래스에서 재정의하지 마십시오. 대신 :attr:`options` 를 사용하십시오. 모든 옵션은 :class:`OptionRecommendation` 의 인스턴스여야 합니다.

en: Options to customize the behavior of this plugin. Every option must be an instance of :class:`OptionRecommendation`.
ko: 이 플러그인의 동작을 사용자 지정하는 옵션입니다. 모든 옵션은 :class:`OptionRecommendation` 의 인스턴스여야 합니다.

en: A set of 3-tuples of the form (option_name, recommended_value, recommendation_level)
ko: (option_name, recommended_value, recommendation_level) 형식의 3-튜플 집합입니다.

en: Return a list of absolute paths to the images, if this input plugin represents an image collection. The list of images is in the same order as the spine and the TOC.
ko: 이 입력 플러그인이 이미지 컬렉션을 나타내는 경우, 이미지의 절대 경로 목록을 반환합니다. 이미지 목록의 순서는 spine 및 TOC 와 동일합니다.

en: This method must be implemented in sub-classes. It must return the path to the created OPF file or an :class:`OEBBook` instance. All output should be contained in the current folder. If this plugin creates files outside the current folder they must be deleted/marked for deletion before this method returns.
ko: 이 메서드는 하위 클래스에서 구현해야 합니다. 생성된 OPF 파일의 경로나 :class:`OEBBook` 인스턴스를 반환해야 합니다. 모든 출력은 현재 폴더 안에 있어야 합니다. 이 플러그인이 현재 폴더 밖에 파일을 만든다면, 이 메서드가 반환되기 전에 해당 파일을 삭제하거나 삭제 대상으로 표시해야 합니다.

en: A file like object that contains the input file.
ko: 입력 파일을 담고 있는 파일 유사 객체입니다.

en: Options to customize the conversion process. Guaranteed to have attributes corresponding to all the options declared by this plugin. In addition, it will have a verbose attribute that takes integral values from zero upwards. Higher numbers mean be more verbose. Another useful attribute is ``input_profile`` that is an instance of :class:`calibre.customize.profiles.InputProfile`.
ko: 변환 과정을 사용자 지정하는 옵션입니다. 이 플러그인이 선언한 모든 옵션에 대응하는 속성을 가진다는 것이 보장됩니다. 또한 0 이상의 정수 값을 가지는 verbose 속성도 있습니다. 숫자가 클수록 더 자세한 출력을 의미합니다. 또 하나 유용한 속성은 :class:`calibre.customize.profiles.InputProfile` 의 인스턴스인 ``input_profile`` 입니다.

en: The extension (without the .) of the input file. It is guaranteed to be one of the `file_types` supported by this plugin.
ko: 입력 파일의 확장자(. 제외)입니다. 이 플러그인이 지원하는 `file_types` 중 하나임이 보장됩니다.

en: A :class:`calibre.utils.logging.Log` object. All output should use this object.
ko: :class:`calibre.utils.logging.Log` 객체입니다. 모든 출력은 이 객체를 사용해야 합니다.

en: A dictionary of various information that the input plugin can get easily that would speed up the subsequent stages of the conversion.
ko: 입력 플러그인이 쉽게 얻을 수 있어 변환의 다음 단계들을 빠르게 할 수 있는 여러 정보의 사전입니다.

en: Called to allow the input plugin to perform postprocessing after the book has been parsed.
ko: 입력 플러그인이 책이 파싱된 뒤 후처리를 수행할 수 있도록 호출됩니다.

en: Called to allow the input plugin to specialize the parsed book for a particular output format. Called after postprocess_book and before any transforms are performed on the parsed book.
ko: 특정 출력 형식에 맞게 파싱된 책을 입력 플러그인이 특화할 수 있도록 호출됩니다. postprocess_book 이후, 파싱된 책에 어떤 변환도 수행되기 전에 호출됩니다.

en: Called to create the widget used for configuring this plugin in the calibre GUI. The widget must be an instance of the PluginWidget class. See the builtin input plugins for examples.
ko: calibre GUI 에서 이 플러그인을 설정하는 데 사용할 위젯을 만들기 위해 호출됩니다. 위젯은 PluginWidget 클래스의 인스턴스여야 합니다. 예시는 내장 입력 플러그인을 참조하십시오.

en: OutputFormatPlugins are responsible for converting an OEB document (OPF+HTML) into an output e-book.
ko: OutputFormatPlugins 는 OEB 문서(OPF+HTML)를 출력 전자책으로 변환하는 역할을 합니다.

en: The OEB document can be assumed to be encoded in UTF-8. The main action happens in :meth:`convert`.
ko: OEB 문서는 UTF-8 로 인코딩되어 있다고 가정할 수 있습니다. 주요 동작은 :meth:`convert` 에서 이루어집니다.

en: The file type (extension without leading period) that this plugin outputs
ko: 이 플러그인이 출력하는 파일 형식(앞에 마침표가 없는 확장자)입니다.

en: Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to 'utf-8'. errors defaults to 'strict'.
ko: 주어진 객체로부터 새 문자열 객체를 만듭니다. encoding 또는 errors 가 지정된 경우, 객체는 지정한 인코딩과 오류 처리기로 디코드할 수 있는 데이터 버퍼를 제공해야 합니다. 그렇지 않으면 object.__str__() 의 결과(정의되어 있다면) 또는 repr(object) 를 반환합니다. encoding 의 기본값은 'utf-8' 이고, errors 의 기본값은 'strict' 입니다.

en: Render the contents of `oeb_book` (which is an instance of :class:`calibre.ebooks.oeb.OEBBook`) to the file specified by output.
ko: `oeb_book`( :class:`calibre.ebooks.oeb.OEBBook` 인스턴스)의 내용을 output 으로 지정한 파일에 렌더링합니다.

en: Either a file like object or a string. If it is a string it is the path to a folder that may or may not exist. The output plugin should write its output into that folder. If it is a file like object, the output plugin should write its output into the file.
ko: 파일 유사 객체이거나 문자열입니다. 문자열이면 존재할 수도 있고 아닐 수도 있는 폴더의 경로입니다. 출력 플러그인은 그 폴더에 결과를 써야 합니다. 파일 유사 객체라면 출력 플러그인은 그 파일에 결과를 써야 합니다.

en: The input plugin that was used at the beginning of the conversion pipeline.
ko: 변환 파이프라인의 시작에서 사용된 입력 플러그인입니다.

en: Conversion options. Guaranteed to have attributes corresponding to the OptionRecommendations of this plugin.
ko: 변환 옵션입니다. 이 플러그인의 OptionRecommendations 에 대응하는 속성을 가진다는 것이 보장됩니다.

en: The logger. Print debug/info messages etc. using this.
ko: 로거입니다. 디버그/정보 메시지 등을 여기에 출력하십시오.

en: Can be used to change the values of conversion options, as used by the conversion pipeline.
ko: 변환 파이프라인이 사용하는 변환 옵션 값을 바꾸는 데 사용할 수 있습니다.

en: Can be used to make changes to the CSS during the CSS flattening process.
ko: CSS 평탄화 과정에서 CSS 를 변경하는 데 사용할 수 있습니다.

en: The item (HTML file) being processed
ko: 처리 중인 항목(HTML 파일)

en: A Stylizer object containing the flattened styles for item. You can get the style for any element by stylizer.style(element).
ko: item 의 평탄화된 스타일을 담고 있는 Stylizer 객체입니다. stylizer.style(element) 로 임의의 요소에 대한 스타일을 얻을 수 있습니다.

en: Called to create the widget used for configuring this plugin in the calibre GUI. The widget must be an instance of the PluginWidget class. See the builtin output plugins for examples.
ko: calibre GUI 에서 이 플러그인을 설정하는 데 사용할 위젯을 만들기 위해 호출됩니다. 위젯은 PluginWidget 클래스의 인스턴스여야 합니다. 예시는 내장 출력 플러그인을 참조하십시오.

en: Device drivers
ko: 장치 드라이버

en: The base class for all device drivers is :class:`DevicePlugin`. However, if your device exposes itself as a USBMS drive to the operating system, you should use the USBMS class instead as it implements all the logic needed to support these kinds of devices.
ko: 모든 장치 드라이버의 기본 클래스는 :class:`DevicePlugin` 입니다. 그러나 장치가 운영 체제에 USBMS 드라이브로 노출된다면, 이러한 종류의 장치를 지원하는 데 필요한 모든 논리를 구현한 USBMS 클래스를 대신 사용해야 합니다.

en: Defines the interface that should be implemented by backends that communicate with an e-book reader.
ko: 전자책 리더기와 통신하는 백엔드가 구현해야 할 인터페이스를 정의합니다.

en: Ordered list of supported formats
ko: 지원하는 형식의 정렬된 목록

en: VENDOR_ID can be either an integer, a list of integers or a dictionary If it is a dictionary, it must be a dictionary of dictionaries, of the form::
ko: VENDOR_ID 는 정수, 정수 목록 또는 사전이 될 수 있습니다. 사전인 경우에는 다음 형식의 사전들의 사전이어야 합니다::

en: An integer or a list of integers
ko: 정수 또는 정수 목록

en: BCD can be either None to not distinguish between devices based on BCD, or it can be a list of the BCD numbers of all devices supported by this driver.
ko: BCD 는 BCD를 기준으로 장치를 구분하지 않으려면 None 일 수 있고, 이 드라이버가 지원하는 모든 장치의 BCD 번호 목록일 수도 있습니다.

en: Height for thumbnails on the device
ko: 장치의 썸네일 높이

en: Compression quality for thumbnails. Set this closer to 100 to have better quality thumbnails with fewer compression artifacts. Of course, the thumbnails get larger as well.
ko: 썸네일의 압축 품질입니다. 100에 가깝게 설정할수록 압축 아티팩트가 줄어 더 나은 품질의 썸네일을 얻을 수 있습니다. 물론 썸네일 크기도 커집니다.

en: Set this to True if the device supports updating cover thumbnails during sync_booklists. Setting it to true will ask device.py to refresh the cover thumbnails during book matching
ko: sync_booklists 중 표지 썸네일 업데이트를 장치가 지원한다면 True로 설정하십시오. True로 설정하면 book matching 중 device.py 가 표지 썸네일을 새로 고치도록 요청합니다.

en: Whether the metadata on books can be set via the GUI.
ko: 책의 메타데이터를 GUI를 통해 설정할 수 있는지 여부입니다.

en: Whether the device can handle device_db metadata plugboards
ko: 장치가 device_db 메타데이터 plugboard 를 처리할 수 있는지 여부입니다.

en: Path separator for paths to books on device
ko: 장치의 책 경로에 사용하는 경로 구분자입니다.

en: Icon for this device
ko: 이 장치의 아이콘입니다.

en: GUI displays this as a message if not None in the status bar. Useful if opening can take a long time
ko: None이 아니면 GUI가 상태 표시줄에 메시지로 표시합니다. 여는 데 시간이 오래 걸릴 때 유용합니다.

en: Set of extensions that are "virtual books" on the device and therefore cannot be viewed/saved/added to library. For example: ``frozenset(['kobo'])``
ko: 장치에서 "가상 책" 으로 취급되어 보기/저장/라이브러리 추가가 불가능한 확장자 집합입니다. 예: ``frozenset(['kobo'])``

en: Message to display to user for virtual book extensions.
ko: 가상 책 확장자에 대해 사용자에게 표시할 메시지입니다.

en: Whether to nuke comments in the copy of the book sent to the device. If not None this should be short string that the comments will be replaced by.
ko: 장치로 보낸 책 사본의 설명을 제거할지 여부입니다. None이 아니라면, 설명을 대체할 짧은 문자열이어야 합니다.

en: If True indicates that  this driver completely manages device detection, ejecting and so forth. If you set this to True, you *must* implement the detect_managed_devices and debug_managed_device_detection methods. A driver with this set to true is responsible for detection of devices, managing a blacklist of devices, a list of ejected devices and so forth. calibre will periodically call the detect_managed_devices() method and if it returns a detected device, calibre will call open(). open() will be called every time a device is returned even if previous calls to open() failed, therefore the driver must maintain its own blacklist of failed devices. Similarly, when ejecting, calibre will call eject() and then assuming the next call to detect_managed_devices() returns None, it will call post_yank_cleanup().
ko: True이면 이 드라이버가 장치 감지, 꺼내기 등을 완전히 관리한다는 뜻입니다. 이를 True로 설정했다면 detect_managed_devices 와 debug_managed_device_detection 메서드를 *반드시* 구현해야 합니다. 이 값이 true 인 드라이버는 장치 감지, 장치 블랙리스트, 꺼낸 장치 목록 등을 관리할 책임이 있습니다. calibre 는 주기적으로 detect_managed_devices() 메서드를 호출하며, 감지된 장치를 반환하면 open() 을 호출합니다. 이전 open() 호출이 실패했더라도 장치가 반환될 때마다 open() 이 호출되므로, 드라이버는 실패한 장치의 자체 블랙리스트를 유지해야 합니다. 마찬가지로 꺼낼 때 calibre 는 eject() 를 호출하고, 다음 detect_managed_devices() 호출이 None을 반환한다고 가정하면 post_yank_cleanup() 을 호출합니다.

en: If set the True, calibre will call the :meth:`get_driveinfo()` method after the books lists have been loaded to get the driveinfo.
ko: True로 설정하면 calibre 는 책 목록이 로드된 뒤 driveinfo 를 얻기 위해 :meth:`get_driveinfo()` 메서드를 호출합니다.

en: If set to True, calibre will ask the user if they want to manage the device with calibre, the first time it is detected. If you set this to True you must implement :meth:`get_device_uid()` and :meth:`ignore_connected_device()` and :meth:`get_user_blacklisted_devices` and :meth:`set_user_blacklisted_devices`
ko: True로 설정하면, 장치가 처음 감지되었을 때 calibre 가 사용자가 calibre 로 이 장치를 관리할지 물어봅니다. 이를 True로 설정했다면 :meth:`get_device_uid()`, :meth:`ignore_connected_device()`, :meth:`get_user_blacklisted_devices`, :meth:`set_user_blacklisted_devices` 를 구현해야 합니다.

en: Set this to a dictionary of the form {'title':title, 'msg':msg, 'det_msg':detailed_msg} to have calibre popup a message to the user after some callbacks are run (currently only upload_books). Be careful to not spam the user with too many messages. This variable is checked after *every* callback, so only set it when you really need to.
ko: 어떤 콜백이 실행된 뒤(현재는 upload_books 만) calibre 가 사용자에게 팝업 메시지를 띄우게 하려면 {'title':title, 'msg':msg, 'det_msg':detailed_msg} 형식의 사전으로 설정하십시오. 사용자에게 너무 많은 메시지를 남발하지 않도록 주의하십시오. 이 변수는 *모든* 콜백 뒤에 검사되므로, 정말 필요할 때만 설정하십시오.

en: GUI displays this as a non-modal popup. Should be an instance of OpenPopupMessage
ko: GUI가 비모달 팝업으로 표시합니다. OpenPopupMessage 의 인스턴스여야 합니다.

en: Metadata about all the actual device models this driver supports
ko: 이 드라이버가 지원하는 실제 장치 모델 전체에 대한 메타데이터입니다.

en: Return True, device_info if a device handled by this plugin is currently connected.
ko: 현재 이 플러그인이 처리하는 장치가 연결되어 있다면 True, device_info 를 반환합니다.

en: List of devices currently connected
ko: 현재 연결된 장치 목록

en: Called only if MANAGES_DEVICE_PRESENCE is True.
ko: MANAGES_DEVICE_PRESENCE 가 True일 때만 호출됩니다.

en: Scan for devices that this driver can handle. Should return a device object if a device is found. This object will be passed to the open() method as the connected_device. If no device is found, return None. The returned object can be anything, calibre does not use it, it is only passed to open().
ko: 이 드라이버가 처리할 수 있는 장치를 검색합니다. 장치를 찾으면 장치 객체를 반환해야 합니다. 이 객체는 connected_device 로 open() 메서드에 전달됩니다. 장치를 찾지 못하면 None을 반환하십시오. 반환되는 객체는 무엇이든 될 수 있으며 calibre 는 이를 사용하지 않고 open() 에만 전달합니다.

en: This method is called periodically by the GUI, so make sure it is not too resource intensive. Use a cache to avoid repeatedly scanning the system.
ko: 이 메서드는 GUI에서 주기적으로 호출되므로 너무 많은 리소스를 사용하지 않도록 하십시오. 반복적인 시스템 검색을 피하려면 캐시를 사용하십시오.

en: Set of USB devices found on the system.
ko: 시스템에서 발견된 USB 장치 집합입니다.

en: If True and the driver uses a cache to prevent repeated scanning, the cache must be flushed.
ko: 드라이버가 반복 검색 방지를 위해 캐시를 사용한다면, True일 때 캐시를 비워야 합니다.

en: Should write information about the devices detected on the system to output, which is a file like object.
ko: 시스템에서 감지된 장치에 대한 정보를 output(파일 유사 객체)에 기록해야 합니다.

en: Should return True if a device was detected and successfully opened, otherwise False.
ko: 장치가 감지되어 성공적으로 열렸다면 True, 그렇지 않으면 False를 반환해야 합니다.

en: The key to unlock the device
ko: 장치 잠금을 해제하기 위한 키

en: If true the packet stream to/from the device is logged
ko: True이면 장치로 오가는 패킷 스트림이 기록됩니다.

en: Function that is called with a % progress (number between 0 and 100) for various tasks. If it is called with -1 that means that the task does not have any progress information
ko: 여러 작업에 대해 % 진행률(0에서 100 사이의 숫자)을 받아 호출되는 함수입니다. -1로 호출되면 해당 작업에는 진행률 정보가 없다는 뜻입니다.

en: Device information from the device scanner
ko: 장치 스캐너에서 가져온 장치 정보입니다.

en: Optional method to perform further checks on a device to see if this driver is capable of handling it. If it is not it should return False. This method is only called after the vendor, product ids and the bcd have matched, so it can do some relatively time intensive checks. The default implementation returns True. This method is called only on Windows. See also :meth:`can_handle`.
ko: 이 드라이버가 해당 장치를 처리할 수 있는지 추가 검사하기 위한 선택적 메서드입니다. 처리할 수 없다면 False를 반환해야 합니다. 이 메서드는 vendor, product id, bcd 가 일치한 뒤에만 호출되므로 비교적 시간이 드는 검사를 수행할 수 있습니다. 기본 구현은 True를 반환합니다. 이 메서드는 Windows 에서만 호출됩니다. :meth:`can_handle` 도 참조하십시오.

en: Note that for devices based on USBMS this method by default delegates to :meth:`can_handle`.  So you only need to override :meth:`can_handle` in your subclass of USBMS.
ko: USBMS 기반 장치의 경우 이 메서드는 기본적으로 :meth:`can_handle` 에 위임된다는 점에 유의하십시오. 따라서 USBMS 하위 클래스에서는 :meth:`can_handle` 만 재정의하면 됩니다.

en: A usbdevice as returned by :func:`calibre.devices.winusb.scan_usb_devices`
ko: :func:`calibre.devices.winusb.scan_usb_devices` 가 반환한 usbdevice 입니다.

en: Unix version of :meth:`can_handle_windows`.
ko: :meth:`can_handle_windows` 의 Unix 버전입니다.

en: Is a tuple of (vid, pid, bcd, manufacturer, product, serial number)
ko: (vid, pid, bcd, 제조사, 제품명, 일련 번호) 튜플입니다.

en: Perform any device specific initialization. Called after the device is detected but before any other functions that communicate with the device. For example: For devices that present themselves as USB Mass storage devices, this method would be responsible for mounting the device or if the device has been automounted, for finding out where it has been mounted. The method :meth:`calibre.devices.usbms.device.Device.open` has an implementation of this function that should serve as a good example for USB Mass storage devices.
ko: 장치별 초기화를 수행합니다. 장치가 감지된 뒤이지만 장치와 통신하는 다른 함수보다 먼저 호출됩니다. 예를 들어 장치가 USB 대용량 저장소로 자신을 나타내는 경우, 이 메서드는 장치를 마운트하거나 자동 마운트된 경우 어디에 마운트되었는지 찾는 역할을 합니다. :meth:`calibre.devices.usbms.device.Device.open` 메서드에는 USB 대용량 저장 장치에 대한 좋은 예시가 되는 구현이 있습니다.

en: This method can raise an OpenFeedback exception to display a message to the user.
ko: 이 메서드는 사용자에게 메시지를 표시하기 위해 OpenFeedback 예외를 발생시킬 수 있습니다.

en: The device that we are trying to open. It is a tuple of (vendor id, product id, bcd, manufacturer name, product name, device serial number). However, some devices have no serial number and on Windows only the first three fields are present, the rest are None.
ko: 열려고 하는 장치입니다. (vendor id, product id, bcd, 제조사 이름, 제품명, 장치 일련 번호) 튜플입니다. 하지만 일부 장치에는 일련 번호가 없고, Windows 에서는 처음 세 필드만 있으며 나머지는 None 입니다.

en: The UUID of the current calibre library. Can be None if there is no library (for example when used from the command line).
ko: 현재 calibre 라이브러리의 UUID 입니다. 라이브러리가 없으면(예: 명령줄에서 사용할 때) None 일 수 있습니다.

en: Un-mount / eject the device from the OS. This does not check if there are pending GUI jobs that need to communicate with the device.
ko: OS에서 장치를 마운트 해제 / 꺼냅니다. 장치와 통신해야 하는 대기 중 GUI 작업이 있는지는 확인하지 않습니다.

en: NOTE: That this method may not be called on the same thread as the rest of the device methods.
ko: 참고: 이 메서드는 다른 장치 메서드들과 동일한 스레드에서 호출되지 않을 수 있습니다.

en: Called if the user yanks the device without ejecting it first.
ko: 사용자가 먼저 꺼내지 않고 장치를 갑자기 분리했을 때 호출됩니다.

en: Set a function to report progress information.
ko: 진행률 정보를 보고할 함수를 설정합니다.

en: Ask device for device information. See L{DeviceInfoQuery}.
ko: 장치에 장치 정보를 요청합니다. L{DeviceInfoQuery} 를 참조하십시오.

en: (device name, device version, software version on device, MIME type) The tuple can optionally have a fifth element, which is a drive information dictionary. See usbms.driver for an example.
ko: (장치 이름, 장치 버전, 장치의 소프트웨어 버전, MIME 형식) 튜플입니다. 선택적으로 다섯 번째 요소로 드라이브 정보 사전을 가질 수 있습니다. 예시는 usbms.driver 를 참조하십시오.

en: Return the driveinfo dictionary. Usually called from get_device_information(), but if loading the driveinfo is slow for this driver, then it should set SLOW_DRIVEINFO. In this case, this method will be called by calibre after the book lists have been loaded. Note that it is not called on the device thread, so the driver should cache the drive info in the books() method and this function should return the cached data.
ko: driveinfo 사전을 반환합니다. 보통 get_device_information() 에서 호출되지만, 이 드라이버에서 driveinfo 로딩이 느리다면 SLOW_DRIVEINFO 를 설정해야 합니다. 이 경우 이 메서드는 책 목록이 로드된 뒤 calibre 가 호출합니다. 이 메서드는 장치 스레드에서 호출되지 않으므로, 드라이버는 books() 메서드에서 드라이브 정보를 캐시하고 이 함수는 캐시된 데이터를 반환해야 합니다.

en: Return a 2 element list of the prefix to paths on the cards. If no card is present None is set for the card's prefix. E.G. ('/place', '/place2') (None, 'place2') ('place', None) (None, None)
ko: 카드 경로 접두사의 2요소 목록을 반환합니다. 카드가 없으면 해당 카드의 접두사는 None 입니다. 예: ('/place', '/place2') (None, 'place2') ('place', None) (None, None)

en: Get total space available on the mountpoints:
ko: 마운트 지점의 총 사용 가능 공간을 가져옵니다:

en: Main memory
ko: 주 메모리

en: Memory Card A
ko: 메모리 카드 A

en: Memory Card B
ko: 메모리 카드 B

en: A 3 element list with total space in bytes of (1, 2, 3). If a particular device doesn't have any of these locations it should return 0.
ko: (1, 2, 3) 위치의 총 공간(바이트)으로 이루어진 3요소 목록입니다. 특정 장치에 이 위치가 없으면 0을 반환해야 합니다.

en: Get free space available on the mountpoints:
ko: 마운트 지점의 남은 공간을 가져옵니다:

en: Card A
ko: 카드 A

en: Card B
ko: 카드 B

en: A 3 element list with free space in bytes of (1, 2, 3). If a particular device doesn't have any of these locations it should return -1.
ko: (1, 2, 3) 위치의 남은 공간(바이트)으로 이루어진 3요소 목록입니다. 특정 장치에 이 위치가 없으면 -1을 반환해야 합니다.

en: Return a list of e-books on the device.
ko: 장치에 있는 전자책 목록을 반환합니다.

en: If 'carda' or 'cardb' return a list of e-books on the specific storage card, otherwise return list of e-books in main memory of device. If a card is specified and no books are on the card return empty list.
ko: 'carda' 또는 'cardb' 이면 해당 저장 카드의 전자책 목록을 반환하고, 그렇지 않으면 장치의 주 메모리에 있는 전자책 목록을 반환합니다. 카드를 지정했는데 카드에 책이 없으면 빈 목록을 반환합니다.

en: A BookList.
ko: BookList 입니다.

en: Upload a list of books to the device. If a file already exists on the device, it should be replaced. This method should raise a :class:`FreeSpaceError` if there is not enough free space on the device. The text of the FreeSpaceError must contain the word "card" if ``on_card`` is not None otherwise it must contain the word "memory".
ko: 책 목록을 장치에 업로드합니다. 장치에 이미 파일이 있다면 교체해야 합니다. 장치에 여유 공간이 충분하지 않으면 이 메서드는 :class:`FreeSpaceError` 를 발생시켜야 합니다. FreeSpaceError 의 텍스트에는 ``on_card`` 가 None 이 아니면 반드시 "card" 라는 단어가, 그렇지 않으면 반드시 "memory" 라는 단어가 포함되어야 합니다.

en: A list of paths
ko: 경로 목록

en: A list of file names that the books should have once uploaded to the device. len(names) == len(files)
ko: 장치에 업로드된 뒤 책이 가지게 될 파일명 목록입니다. len(names) == len(files)

en: If not None, it is a list of :class:`Metadata` objects. The idea is to use the metadata to determine where on the device to put the book. len(metadata) == len(files). Apart from the regular cover (path to cover), there may also be a thumbnail attribute, which should be used in preference. The thumbnail attribute is of the form (width, height, cover_data as jpeg).
ko: None이 아니면 :class:`Metadata` 객체 목록입니다. 아이디어는 이 메타데이터를 사용해 장치의 어느 위치에 책을 둘지 결정하는 것입니다. len(metadata) == len(files). 일반 표지(표지 경로) 외에 thumbnail 속성이 있을 수도 있으며, 있을 경우 이를 우선 사용해야 합니다. thumbnail 속성의 형식은 (너비, 높이, jpeg 형식의 cover_data) 입니다.

en: A list of 3-element tuples. The list is meant to be passed to :meth:`add_books_to_metadata`.
ko: 3요소 튜플 목록입니다. 이 목록은 :meth:`add_books_to_metadata` 에 전달하기 위한 것입니다.

en: Add locations to the booklists. This function must not communicate with the device.
ko: booklist 에 위치를 추가합니다. 이 함수는 장치와 통신해서는 안 됩니다.

en: Result of a call to L{upload_books}
ko: L{upload_books} 호출 결과

en: List of :class:`Metadata` objects, same as for :meth:`upload_books`.
ko: :meth:`upload_books` 와 동일한 :class:`Metadata` 객체 목록입니다.

en: A tuple containing the result of calls to (:meth:`books(oncard=None)`, :meth:`books(oncard='carda')`, :meth`books(oncard='cardb')`).
ko: (:meth:`books(oncard=None)`, :meth:`books(oncard='carda')`, :meth`books(oncard='cardb')`) 호출 결과를 담은 튜플입니다.

en: Delete books at paths on device.
ko: 장치 경로에 있는 책을 삭제합니다.

en: Remove books from the metadata list. This function must not communicate with the device.
ko: 메타데이터 목록에서 책을 제거합니다. 이 함수는 장치와 통신해서는 안 됩니다.

en: paths to books on the device.
ko: 장치에 있는 책의 경로입니다.

en: Update metadata on device.
ko: 장치의 메타데이터를 업데이트합니다.

en: Read the file at ``path`` on the device and write it to outfile.
ko: 장치의 ``path`` 에 있는 파일을 읽어 outfile 에 씁니다.

en: file object like ``sys.stdout`` or the result of an :func:`open` call.
ko: ``sys.stdout`` 같은 파일 객체 또는 :func:`open` 호출 결과입니다.

en: Should return a QWidget. The QWidget contains the settings for the device interface
ko: QWidget 를 반환해야 합니다. QWidget 에는 장치 인터페이스 설정이 포함됩니다.

en: Should save settings to disk. Takes the widget created in :meth:`config_widget` and saves all settings to disk.
ko: 설정을 디스크에 저장해야 합니다. :meth:`config_widget` 가 만든 위젯을 받아 모든 설정을 디스크에 저장합니다.

en: Should return an opts object. The opts object should have at least one attribute `format_map` which is an ordered list of formats for the device.
ko: opts 객체를 반환해야 합니다. opts 객체에는 최소한 장치의 형식 우선순위 목록인 `format_map` 속성이 있어야 합니다.

en: provide the driver the current set of plugboards and a function to select a specific plugboard. This method is called immediately before add_books and sync_booklists.
ko: 현재 plugboard 집합과 특정 plugboard 를 선택하는 함수를 드라이버에 제공합니다. 이 메서드는 add_books 및 sync_booklists 직전에 호출됩니다.

en: pb_func is a callable with the following signature::
ko: pb_func 는 다음 시그니처를 가진 호출 가능 객체입니다::

en: You give it the current device name (either the class name or DEVICE_PLUGBOARD_NAME), the format you are interested in (a 'real' format or 'device_db'), and the plugboards (you were given those by set_plugboards, the same place you got this method).
ko: 현재 장치 이름(클래스 이름 또는 DEVICE_PLUGBOARD_NAME), 관심 있는 형식('실제' 형식 또는 'device_db'), 그리고 plugboards(set_plugboards 에서 받은 동일한 객체)를 전달합니다.

en: None or a single plugboard instance.
ko: None 또는 단일 plugboard 인스턴스입니다.

en: Set the device name in the driveinfo file to 'name'. This setting will persist until the file is re-created or the name is changed again.
ko: driveinfo 파일의 장치 이름을 'name' 으로 설정합니다. 이 설정은 파일이 다시 생성되거나 이름이 다시 변경될 때까지 유지됩니다.

en: Non-disk devices should implement this method based on the location codes returned by the get_device_information() method.
ko: 디스크가 아닌 장치는 get_device_information() 메서드가 반환하는 위치 코드에 따라 이 메서드를 구현해야 합니다.

en: Given a list of paths, returns another list of paths. These paths point to addable versions of the books.
ko: 경로 목록을 받아, 책을 추가할 수 있는 버전의 경로 목록을 반환합니다.

en: If there is an error preparing a book, then instead of a path, the position in the returned list for that book should be a three tuple: (original_path, the exception instance, traceback)
ko: 책 준비 중 오류가 발생하면, 반환 목록에서 그 책의 위치에는 경로 대신 3-튜플 (original_path, 예외 인스턴스, traceback) 이 들어 있어야 합니다.

en: Called when calibre is starting the device. Do any initialization required. Note that multiple instances of the class can be instantiated, and thus __init__ can be called multiple times, but only one instance will have this method called. This method is called on the device thread, not the GUI thread.
ko: calibre 가 장치를 시작할 때 호출됩니다. 필요한 초기화를 수행하십시오. 이 클래스의 여러 인스턴스가 생성될 수 있으므로 __init__ 가 여러 번 호출될 수 있지만, 이 메서드는 그중 한 인스턴스에서만 호출됩니다. 이 메서드는 GUI 스레드가 아니라 장치 스레드에서 호출됩니다.

en: Called when calibre is shutting down, either for good or in preparation to restart. Do any cleanup required. This method is called on the device thread, not the GUI thread.
ko: calibre 가 완전히 종료되거나 재시작 준비를 위해 종료될 때 호출됩니다. 필요한 정리 작업을 수행하십시오. 이 메서드는 GUI 스레드가 아니라 장치 스레드에서 호출됩니다.

en: Must return a unique id for the currently connected device (this is called immediately after a successful call to open()). You must implement this method if you set ASK_TO_ALLOW_CONNECT = True
ko: 현재 연결된 장치의 고유 id를 반환해야 합니다(open() 이 성공한 직후 호출됨). ASK_TO_ALLOW_CONNECT = True 로 설정했다면 이 메서드를 반드시 구현해야 합니다.

en: Should ignore the device identified by uid (the result of a call to get_device_uid()) in the future. You must implement this method if you set ASK_TO_ALLOW_CONNECT = True. Note that this function is called immediately after open(), so if open() caches some state, the driver should reset that state.
ko: 앞으로 uid(get_device_uid() 호출 결과)로 식별된 장치를 무시해야 합니다. ASK_TO_ALLOW_CONNECT = True 로 설정했다면 이 메서드를 반드시 구현해야 합니다. 이 함수는 open() 직후 호출되므로, open() 이 어떤 상태를 캐시한다면 드라이버는 그 상태를 재설정해야 합니다.

en: Return map of device uid to friendly name for all devices that the user has asked to be ignored.
ko: 사용자가 무시하도록 요청한 모든 장치에 대해 장치 uid 를 친숙한 이름으로 매핑한 값을 반환합니다.

en: Set the list of device uids that should be ignored by this driver.
ko: 이 드라이버가 무시해야 할 장치 uid 목록을 설정합니다.

en: Implement this method if your device wants to override a particular preference. You must ensure that all call sites that want a preference that can be overridden use device_prefs['something'] instead of prefs['something']. Your method should call device_prefs.set_overrides(pref=val, pref=val, ...). Currently used for: metadata management (prefs['manage_device_metadata'])
ko: 장치가 특정 환경설정을 재정의하려는 경우 이 메서드를 구현하십시오. 재정의될 수 있는 환경설정을 원하는 모든 호출 지점이 prefs['something'] 대신 device_prefs['something'] 을 사용하도록 해야 합니다. 이 메서드는 device_prefs.set_overrides(pref=val, pref=val, ...) 를 호출해야 합니다. 현재 사용되는 예: 메타데이터 관리 (prefs['manage_device_metadata'])

en: Implement this method if you want information about the current calibre library. This method is called at startup and when the calibre library changes while connected.
ko: 현재 calibre 라이브러리에 대한 정보가 필요하다면 이 메서드를 구현하십시오. 이 메서드는 시작 시와 연결된 상태에서 calibre 라이브러리가 바뀔 때 호출됩니다.

en: Called by the device manager when starting plugins. If this method returns a string, then a) it supports the device manager's dynamic control interface, and b) that name is to be used when talking to the plugin.
ko: 장치 관리자가 플러그인을 시작할 때 호출됩니다. 이 메서드가 문자열을 반환하면 a) 장치 관리자의 동적 제어 인터페이스를 지원하고, b) 그 이름이 플러그인과 통신할 때 사용됩니다.

en: This method can be called on the GUI thread. A driver that implements this method must be thread safe.
ko: 이 메서드는 GUI 스레드에서 호출될 수 있습니다. 따라서 이를 구현하는 드라이버는 스레드 안전해야 합니다.

en: This method is called to start the plugin. The plugin should begin to accept device connections however it does that. If the plugin is already accepting connections, then do nothing.
ko: 플러그인을 시작하기 위해 호출됩니다. 플러그인은 자신이 사용하는 방식으로 장치 연결을 받기 시작해야 합니다. 이미 연결을 받고 있다면 아무것도 하지 마십시오.

en: This method is called to stop the plugin. The plugin should no longer accept connections, and should cleanup behind itself. It is likely that this method should call shutdown. If the plugin is already not accepting connections, then do nothing.
ko: 플러그인을 중지하기 위해 호출됩니다. 플러그인은 더 이상 연결을 받지 않아야 하며, 자신이 사용한 리소스를 정리해야 합니다. 대개 이 메서드는 shutdown 을 호출해야 할 가능성이 높습니다. 이미 연결을 받고 있지 않다면 아무것도 하지 마십시오.

en: Return the value of the option indicated by opt_string. This method can be called when the plugin is not started. Return None if the option does not exist.
ko: opt_string 이 가리키는 옵션의 값을 반환합니다. 이 메서드는 플러그인이 시작되지 않은 상태에서도 호출될 수 있습니다. 옵션이 존재하지 않으면 None을 반환하십시오.

en: Set the value of the option indicated by opt_string. This method can be called when the plugin is not started.
ko: opt_string 이 가리키는 옵션의 값을 설정합니다. 이 메서드는 플러그인이 시작되지 않은 상태에서도 호출될 수 있습니다.

en: Return True if the plugin is started, otherwise false
ko: 플러그인이 시작된 상태이면 True, 그렇지 않으면 false 를 반환합니다.

en: Called during book matching when a book on the device is matched with a book in calibre's db. The method is responsible for synchronizing data from the device to calibre's db (if needed).
ko: 장치에 있는 책이 calibre DB 의 책과 일치하는 것으로 판단될 때, 책 매칭 과정 중 호출됩니다. 필요하다면 장치에서 calibre DB 로 데이터를 동기화하는 책임은 이 메서드에 있습니다.

en: The method must return a two-value tuple. The first value is a set of calibre book ids changed if calibre's database was changed or None if the database was not changed. If the first value is an empty set then the metadata for the book on the device is updated with calibre's metadata and given back to the device, but no GUI refresh of that book is done. This is useful when the calibre data is correct but must be sent to the device.
ko: 이 메서드는 두 값으로 이루어진 튜플을 반환해야 합니다. 첫 번째 값은 calibre 데이터베이스가 변경된 경우 변경된 calibre 책 id 의 집합이며, 데이터베이스가 변경되지 않았다면 None 입니다. 첫 번째 값이 빈 집합이면 장치에 있는 책의 메타데이터가 calibre 메타데이터로 업데이트되어 장치로 다시 전달되지만, 해당 책에 대한 GUI 새로 고침은 수행되지 않습니다. calibre 데이터가 올바르지만 이를 장치로 보내야 할 때 유용합니다.

en: The second value is itself a 2-value tuple. The first value in the tuple specifies whether a book format should be sent to the device. The intent is to permit verifying that the book on the device is the same as the book in calibre. This value must be None if no book is to be sent, otherwise return the base file name on the device (a string like foobar.epub). Be sure to include the extension in the name. The device subsystem will construct a send_books job for all books with not- None returned values. Note: other than to later retrieve the extension, the name is ignored in cases where the device uses a template to generate the file name, which most do. The second value in the returned tuple indicated whether the format is future-dated. Return True if it is, otherwise return False. calibre will display a dialog to the user listing all future dated books.
ko: 두 번째 값 자체도 2값 튜플입니다. 그 안의 첫 번째 값은 책 형식을 장치로 보내야 하는지 여부를 지정합니다. 목적은 장치의 책이 calibre 의 책과 같은지 검증할 수 있게 하는 것입니다. 보낼 책이 없으면 이 값은 None 이어야 하며, 보내야 한다면 장치에서의 기본 파일 이름(예: foobar.epub)을 반환하십시오. 이름에는 반드시 확장자를 포함해야 합니다. 장치 하위 시스템은 None 이 아닌 값이 반환된 모든 책에 대해 send_books 작업을 생성합니다. 참고: 나중에 확장자를 가져오는 용도 외에는, 대부분의 장치가 파일 이름 생성에 템플릿을 사용하므로 이 이름은 무시됩니다. 반환된 튜플의 두 번째 값은 그 형식이 미래 날짜인지 여부를 나타냅니다. 그렇다면 True, 아니면 False를 반환하십시오. calibre 는 미래 날짜 책 목록을 사용자에게 보여 주는 대화상자를 표시합니다.

en: Extremely important: this method is called on the GUI thread. It must be threadsafe with respect to the device manager's thread.
ko: 매우 중요: 이 메서드는 GUI 스레드에서 호출됩니다. 장치 관리자 스레드와 관련하여 스레드 안전해야 합니다.

en: book_id: the calibre id for the book in the database. book_metadata: the Metadata object for the book coming from the device. first_call: True if this is the first call during a sync, False otherwise
ko: book_id: 데이터베이스 안 책의 calibre id. book_metadata: 장치에서 온 책의 Metadata 객체. first_call: 동기화 중 첫 호출이면 True, 아니면 False

en: A list of books. Each Book object must have the fields
ko: 책 목록입니다. 각 Book 객체는 다음 필드를 가져야 합니다.

en: size (file size of the book)
ko: size (책의 파일 크기)

en: datetime (a UTC time tuple)
ko: 날짜시간 (UTC 시간 투플)

en: path (path on the device to the book)
ko: path (장치 안 책의 경로)

en: thumbnail (can be None) thumbnail is either a str/bytes object with the image data or it should have an attribute image_path that stores an absolute (platform native) path to the image
ko: thumbnail (None 일 수 있음). thumbnail 은 이미지 데이터를 담은 str/bytes 객체이거나, 절대 경로(플랫폼 고유 형식)를 저장하는 image_path 속성을 가져야 합니다.

en: tags (a list of strings, can be empty).
ko: tags (비어 있을 수 있는 문자열 목록)

en: Return True if the device supports collections for this book list.
ko: 장치가 이 책 목록에 대한 컬렉션을 지원하면 True를 반환합니다.

en: Add the book to the booklist. Intent is to maintain any device-internal metadata. Return True if booklists must be sync'ed
ko: 책을 booklist 에 추가합니다. 목적은 장치 내부 메타데이터를 유지하는 것입니다. booklists 를 동기화해야 한다면 True를 반환하십시오.

en: Remove a book from the booklist. Correct any device metadata at the same time
ko: booklist 에서 책을 제거합니다. 동시에 장치 메타데이터도 수정하십시오.

en: Return a dictionary of collections created from collection_attributes. Each entry in the dictionary is of the form collection name:[list of books]
ko: collection_attributes 로부터 생성된 컬렉션 사전을 반환합니다. 사전의 각 항목 형식은 컬렉션 이름:[책 목록] 입니다.

en: The list of books is sorted by book title, except for collections created from series, in which case series_index is used.
ko: 책 목록은 책 제목순으로 정렬되며, series 로부터 생성된 컬렉션의 경우에는 series_index 가 사용됩니다.

en: A list of attributes of the Book object
ko: Book 객체의 속성 목록

en: USB Mass Storage based devices
ko: USB 대용량 저장소 기반 장치

en: The base class for such devices is :class:`calibre.devices.usbms.driver.USBMS`. This class in turn inherits some of its functionality from its bases, documented below. A typical basic USBMS based driver looks like this:
ko: 이러한 장치의 기본 클래스는 :class:`calibre.devices.usbms.driver.USBMS` 입니다. 이 클래스는 다시 아래에 문서화된 기반 클래스들로부터 일부 기능을 상속받습니다. 전형적인 기본 USBMS 기반 드라이버는 다음과 같습니다:

en: This class provides logic common to all drivers for devices that export themselves as USB Mass Storage devices. Provides implementations for mounting/ejecting of USBMS devices on all platforms.
ko: 이 클래스는 자신을 USB 대용량 저장 장치로 노출하는 장치용 모든 드라이버에 공통된 논리를 제공합니다. 모든 플랫폼에서 USBMS 장치의 마운트/꺼내기 구현을 제공합니다.

en: String identifying the main memory of the device in the Windows PnP id strings This can be None, string, list of strings or compiled regex
ko: Windows PnP id 문자열에서 장치의 주 메모리를 식별하는 문자열입니다. None, 문자열, 문자열 목록 또는 컴파일된 정규식일 수 있습니다.

en: String identifying the first card of the device in the Windows PnP id strings This can be None, string, list of strings or compiled regex
ko: Windows PnP id 문자열에서 장치의 첫 번째 카드를 식별하는 문자열입니다. None, 문자열, 문자열 목록 또는 컴파일된 정규식일 수 있습니다.

en: String identifying the second card of the device in the Windows PnP id strings This can be None, string, list of strings or compiled regex
ko: Windows PnP id 문자열에서 장치의 두 번째 카드를 식별하는 문자열입니다. None, 문자열, 문자열 목록 또는 컴파일된 정규식일 수 있습니다.

en: Used by the new driver detection to disambiguate main memory from storage cards. Should be a regular expression that matches the main memory mount point assigned by macOS
ko: 새 드라이버 감지에서 주 메모리와 저장 카드를 구분하는 데 사용됩니다. macOS 가 할당한 주 메모리 마운트 지점과 일치하는 정규식이어야 합니다.

en: The maximum length of paths created on the device
ko: 장치에 생성되는 경로의 최대 길이

en: Put news in its own folder
ko: 뉴스를 전용 폴더에 넣기

en: Called to disambiguate main memory and storage card for devices that do not distinguish between them on the basis of `WINDOWS_CARD_NAME`. For example: The EB600
ko: `WINDOWS_CARD_NAME` 기준으로 주 메모리와 저장 카드를 구분하지 못하는 장치에서 이를 구분하기 위해 호출됩니다. 예: EB600

en: Callback to allow individual device drivers to override the path sanitization used by :meth:`create_upload_path`.
ko: 개별 장치 드라이버가 :meth:`create_upload_path` 가 사용하는 경로 정리 방식을 재정의할 수 있도록 하는 콜백입니다.

en: Callback to allow drivers to change the default file name set by :meth:`create_upload_path`.
ko: 드라이버가 :meth:`create_upload_path` 가 설정한 기본 파일 이름을 바꿀 수 있도록 하는 콜백입니다.

en: Perform any device specific sanitization on the path components for files to be uploaded to the device
ko: 장치에 업로드할 파일의 경로 구성 요소에 대해 장치별 정리를 수행합니다.

en: Resolve path_map to annotation_map of files found on the device
ko: path_map 을 장치에서 찾은 파일의 annotation_map 으로 해석합니다.

en: Add an annotation to the calibre library
ko: calibre 라이브러리에 주석 추가

en: The base class for all USBMS devices. Implements the logic for sending/getting/updating metadata/caching metadata/etc.
ko: 모든 USBMS 장치의 기본 클래스입니다. 메타데이터/캐싱 메타데이터/등을 전송/수신/업데이트하기 위한 논리를 구현합니다.

en: Upload book cover to the device. Default implementation does nothing.
ko: 책 표지를 장치에 업로드합니다. 기본 구현은 아무 작업도 하지 않습니다.

en: The full path to the folder where the associated book is located.
ko: 연관된 책이 위치한 폴더의 전체 경로입니다.

en: The name of the book file without the extension.
ko: 확장자를 제외한 책 파일 이름입니다.

en: metadata belonging to the book. Use metadata.thumbnail for cover
ko: 책에 속한 메타데이터입니다. 표지에는 metadata.thumbnail 을 사용하십시오.

en: The full path to the e-book file
ko: 전자책 파일의 전체 경로입니다.

en: Return path with platform native path separators
ko: 플랫폼 고유 경로 구분자를 사용한 경로를 반환합니다.

en: User interface actions
ko: 사용자 인터페이스 동작

en: If you are adding your own plugin in a ZIP file, you should subclass both InterfaceActionBase and InterfaceAction. The :meth:`load_actual_plugin` method of your InterfaceActionBase subclass must return an instantiated object of your InterfaceAction subclass.
ko: ZIP 파일로 자체 플러그인을 추가하는 경우, InterfaceActionBase 와 InterfaceAction 을 모두 하위 클래스로 만들어야 합니다. InterfaceActionBase 하위 클래스의 :meth:`load_actual_plugin` 메서드는 InterfaceAction 하위 클래스의 인스턴스화된 객체를 반환해야 합니다.

en: A plugin representing an "action" that can be taken in the graphical user interface. All the items in the toolbar and context menus are implemented by these plugins.
ko: 그래픽 사용자 인터페이스에서 수행할 수 있는 "동작" 을 나타내는 플러그인입니다. 도구 모음과 컨텍스트 메뉴의 모든 항목은 이 플러그인들로 구현됩니다.

en: Note that this class is the base class for these plugins, however, to integrate the plugin with calibre's plugin system, you have to make a wrapper class that references the actual plugin. See the :mod:`calibre.customize.builtins` module for examples.
ko: 이 클래스는 이러한 플러그인의 기본 클래스이지만, 플러그인을 calibre 플러그인 시스템에 통합하려면 실제 플러그인을 참조하는 래퍼 클래스를 만들어야 합니다. 예시는 :mod:`calibre.customize.builtins` 모듈을 참조하십시오.

en: If two :class:`InterfaceAction` objects have the same name, the one with higher priority takes precedence.
ko: 두 :class:`InterfaceAction` 객체의 이름이 같으면 우선순위가 높은 것이 우선합니다.

en: Sub-classes should implement the :meth:`genesis`, :meth:`library_changed`, :meth:`location_selected`, :meth:`shutting_down`, :meth:`initialization_complete` and :meth:`tag_browser_context_action` methods.
ko: 하위 클래스는 :meth:`genesis`, :meth:`library_changed`, :meth:`location_selected`, :meth:`shutting_down`, :meth:`initialization_complete`, :meth:`tag_browser_context_action` 메서드를 구현해야 합니다.

en: Once initialized, this plugin has access to the main calibre GUI via the :attr:`gui` member. You can access other plugins by name, for example::
ko: 초기화가 끝나면 이 플러그인은 :attr:`gui` 멤버를 통해 calibre 메인 GUI 에 접근할 수 있습니다. 예를 들어 이름으로 다른 플러그인에 접근할 수 있습니다::

en: To access the actual plugin, use the :attr:`interface_action_base_plugin` attribute, this attribute only becomes available after the plugin has been initialized. Useful if you want to use methods from the plugin class like do_user_config().
ko: 실제 플러그인에 접근하려면 :attr:`interface_action_base_plugin` 속성을 사용하십시오. 이 속성은 플러그인이 초기화된 뒤에만 사용할 수 있습니다. do_user_config() 같은 플러그인 클래스 메서드를 사용하려 할 때 유용합니다.

en: The QAction specified by :attr:`action_spec` is automatically create and made available as ``self.qaction``.
ko: :attr:`action_spec` 에 지정된 QAction 이 자동으로 생성되어 ``self.qaction`` 으로 제공됩니다.

en: The plugin name. If two plugins with the same name are present, the one with higher priority takes precedence.
ko: 플러그인 이름입니다. 동일한 이름의 플러그인이 둘 있으면 우선순위가 높은 것이 우선합니다.

en: The plugin priority. If two plugins with the same name are present, the one with higher priority takes precedence.
ko: 플러그인 우선순위입니다. 동일한 이름의 플러그인이 둘 있으면 우선순위가 높은 것이 우선합니다.

en: The menu popup type for when this plugin is added to a toolbar
ko: 이 플러그인이 도구 모음에 추가될 때 사용할 메뉴 팝업 유형입니다.

en: Whether this action should be auto repeated when its shortcut key is held down.
ko: 이 동작의 단축키를 누르고 있는 동안 자동 반복할지 여부입니다.

en: Of the form: (text, icon_path, tooltip, keyboard shortcut). icon, tooltip and keyboard shortcut can be None. keyboard shortcut must be either a string, None or tuple of shortcuts. If None, a keyboard shortcut corresponding to the action is not registered. If you pass an empty tuple, then the shortcut is registered with no default key binding.
ko: 형식: (text, icon_path, tooltip, keyboard shortcut). icon, tooltip, keyboard shortcut 은 None 일 수 있습니다. keyboard shortcut 은 문자열, None 또는 단축키 튜플이어야 합니다. None 이면 이 동작에 대응하는 단축키가 등록되지 않습니다. 빈 튜플을 전달하면 기본 키 바인딩 없이 단축키가 등록됩니다.

en: If not None, used for the name displayed to the user when customizing the keyboard shortcuts for the above action spec instead of action_spec[0]
ko: None 이 아니면, 위 action spec 에 대해 키보드 단축키를 사용자 지정할 때 action_spec[0] 대신 사용자에게 표시할 이름으로 사용됩니다.

en: If True, a menu is automatically created and added to self.qaction
ko: True이면 메뉴가 자동으로 생성되어 self.qaction 에 추가됩니다.

en: If True, a clone of self.qaction is added to the menu of self.qaction If you want the text of this action to be different from that of self.qaction, set this variable to the new text
ko: True이면 self.qaction 의 복제본이 self.qaction 의 메뉴에 추가됩니다. 이 동작의 텍스트를 self.qaction 과 다르게 하고 싶다면, 이 변수를 새 텍스트로 설정하십시오.

en: Set of locations to which this action must not be added. See :attr:`all_locations` for a list of possible locations
ko: 이 동작을 추가하면 안 되는 위치 집합입니다. 가능한 위치 목록은 :attr:`all_locations` 를 참조하십시오.

en: Set of locations from which this action must not be removed. See :attr:`all_locations` for a list of possible locations
ko: 이 동작을 제거하면 안 되는 위치 집합입니다. 가능한 위치 목록은 :attr:`all_locations` 를 참조하십시오.

en: Type of action 'current' means acts on the current view 'global' means an action that does not act on the current view, but rather on calibre as a whole
ko: 동작 유형입니다. 'current' 는 현재 보기에 대해 작동함을 의미하고, 'global' 은 현재 보기가 아니라 calibre 전체에 대해 작동하는 동작을 의미합니다.

en: If True, then this InterfaceAction will have the opportunity to interact with drag and drop events. See the methods, :meth:`accept_enter_event`, :meth`:accept_drag_move_event`, :meth:`drop_event` for details.
ko: True이면 이 InterfaceAction 은 드래그 앤 드롭 이벤트와 상호작용할 기회를 가집니다. 자세한 내용은 :meth:`accept_enter_event`, :meth`:accept_drag_move_event`, :meth:`drop_event` 메서드를 참조하십시오.

en: This method should return True iff this interface action is capable of handling the drag event. Do not call accept/ignore on the event, that will be taken care of by the calibre UI.
ko: 이 인터페이스 동작이 드래그 이벤트를 처리할 수 있는 경우에만 True를 반환해야 합니다. event 에 대해 accept/ignore 를 호출하지 마십시오. 이는 calibre UI 가 처리합니다.

en: This method should perform some useful action and return True iff this interface action is capable of handling the drop event. Do not call accept/ignore on the event, that will be taken care of by the calibre UI. You should not perform blocking/long operations in this function. Instead emit a signal or use QTimer.singleShot and return quickly. See the builtin actions for examples.
ko: 이 메서드는 유용한 동작을 수행한 뒤, 이 인터페이스 동작이 drop 이벤트를 처리할 수 있는 경우에만 True를 반환해야 합니다. event 에 대해 accept/ignore 를 호출하지 마십시오. 이는 calibre UI 가 처리합니다. 이 함수에서는 블로킹되거나 오래 걸리는 작업을 수행하지 마십시오. 대신 신호를 발생시키거나 QTimer.singleShot 을 사용하고 빠르게 반환하십시오. 예시는 내장 동작을 참조하십시오.

en: Convenience method to easily add actions to a QMenu. Returns the created QAction. This action has one extra attribute calibre_shortcut_unique_name which if not None refers to the unique name under which this action is registered with the keyboard manager.
ko: QMenu 에 동작을 쉽게 추가하기 위한 편의 메서드입니다. 생성된 QAction 을 반환합니다. 이 동작에는 calibre_shortcut_unique_name 이라는 추가 속성이 있으며, None 이 아니면 이 동작이 키보드 관리자에 등록된 고유 이름을 가리킵니다.

en: The QMenu the newly created action will be added to
ko: 새로 생성된 동작이 추가될 QMenu

en: A unique name for this action, this must be globally unique, so make it as descriptive as possible. If in doubt, add an UUID to it.
ko: 이 동작의 고유 이름입니다. 전역적으로 고유해야 하므로 가능한 한 설명적으로 만드십시오. 확신이 서지 않으면 UUID 를 추가하십시오.

en: The text of the action.
ko: 동작의 텍스트입니다.

en: Either a QIcon or a file name. The file name is passed to the QIcon.ic() builtin, so you do not need to pass the full path to the images folder.
ko: QIcon 또는 파일 이름입니다. 파일 이름은 QIcon.ic() 내장 함수에 전달되므로 images 폴더의 전체 경로를 전달할 필요가 없습니다.

en: A string, a list of strings, None or False. If False, no keyboard shortcut is registered for this action. If None, a keyboard shortcut with no default keybinding is registered. String and list of strings register a shortcut with default keybinding as specified.
ko: 문자열, 문자열 목록, None 또는 False 입니다. False 이면 이 동작에 대한 키보드 단축키가 등록되지 않습니다. None 이면 기본 키 바인딩이 없는 키보드 단축키가 등록됩니다. 문자열과 문자열 목록은 지정한 기본 키 바인딩으로 단축키를 등록합니다.

en: A description for this action. Used to set tooltips.
ko: 이 동작의 설명입니다. 도구 설명 설정에 사용됩니다.

en: A callable which is connected to the triggered signal of the created action.
ko: 생성된 동작의 triggered 시그널에 연결되는 호출 가능 객체입니다.

en: The text displayed to the user when customizing the keyboard shortcuts for this action. By default it is set to the value of ``text``.
ko: 이 동작의 키보드 단축키를 사용자 지정할 때 사용자에게 표시되는 텍스트입니다. 기본값은 ``text`` 값입니다.

en: Shortcuts for actions that don't always appear, or are library dependent, may disappear when other keyboard shortcuts are edited unless ```persist_shortcut``` is set True.
ko: 항상 나타나지 않거나 라이브러리에 따라 달라지는 동작의 단축키는 ```persist_shortcut``` 을 True로 설정하지 않으면 다른 키보드 단축키를 수정할 때 사라질 수 있습니다.

en: A dictionary of the form ``{name : file_contents}``. Any names that were not found in the ZIP file will not be present in the dictionary.
ko: ``{name : file_contents}`` 형태의 사전입니다. ZIP 파일에서 찾지 못한 이름은 사전에 포함되지 않습니다.

en: Setup this plugin. Only called once during initialization. self.gui is available. The action specified by :attr:`action_spec` is available as ``self.qaction``.
ko: 이 플러그인을 설정합니다. 초기화 중 한 번만 호출됩니다. self.gui 를 사용할 수 있습니다. :attr:`action_spec` 에 지정된 동작은 ``self.qaction`` 으로 제공됩니다.

en: Called whenever the book list being displayed in calibre changes. Currently values for loc are: ``library, main, card and cardb``.
ko: calibre 에 표시되는 책 목록이 바뀔 때마다 호출됩니다. 현재 loc 의 값은 ``library, main, card and cardb`` 입니다.

en: This method should enable/disable this action and its sub actions as appropriate for the location.
ko: 이 메서드는 위치에 맞게 이 동작과 하위 동작들을 활성화/비활성화해야 합니다.

en: Called whenever the current library is changed.
ko: 현재 라이브러리가 바뀔 때마다 호출됩니다.

en: The LibraryDatabase corresponding to the previous library.
ko: 이전 라이브러리에 대응하는 LibraryDatabase 입니다.

en: The LibraryDatabase corresponding to the new library.
ko: 새 라이브러리에 대응하는 LibraryDatabase 입니다.

en: The LibraryDatabase corresponding to the current library.
ko: 현재 라이브러리에 대응하는 LibraryDatabase 입니다.

en: Called once per action when the layout of the main GUI is completed. If your action needs to make changes to the layout, they should be done here, rather than in :meth:`initialization_complete`.
ko: 메인 GUI 의 레이아웃이 완료되면 각 동작마다 한 번 호출됩니다. 동작이 레이아웃을 변경해야 한다면 :meth:`initialization_complete` 가 아니라 여기에서 수행해야 합니다.

en: Called once per action when the initialization of the main GUI is completed.
ko: 메인 GUI 의 초기화가 완료되면 각 동작마다 한 번 호출됩니다.

en: Called when displaying the context menu in the Tag browser. ``index`` is the QModelIndex that points to the Tag browser item that was right clicked. Test it for validity with index.valid() and get the underlying TagTreeItem object with index.data(Qt.ItemDataRole.UserRole). Any action objects yielded by this method will be added to the context menu.
ko: 태그 브라우저에서 컨텍스트 메뉴를 표시할 때 호출됩니다. ``index`` 는 오른쪽 클릭한 태그 브라우저 항목을 가리키는 QModelIndex 입니다. index.valid() 로 유효성을 검사하고 index.data(Qt.ItemDataRole.UserRole) 로 기반 TagTreeItem 객체를 가져오십시오. 이 메서드가 yield 하는 모든 동작 객체는 컨텍스트 메뉴에 추가됩니다.

en: Called once per plugin when the main GUI is in the process of shutting down. Release any used resources, but try not to block the shutdown for long periods of time.
ko: 메인 GUI 가 종료되는 과정에 있을 때 플러그인마다 한 번 호출됩니다. 사용한 리소스를 해제하되, 종료를 오래 막지 않도록 하십시오.

en: This method must return the actual interface action plugin object.
ko: 실제 인터페이스 동작 플러그인 객체를 반환해야 합니다.

en: Preferences plugins
ko: 환경설정 플러그인

en: A plugin representing a widget displayed in the Preferences dialog.
ko: 환경설정 대화상자에 표시되는 위젯을 나타내는 플러그인입니다.

en: This plugin has only one important method :meth:`create_widget`. The various fields of the plugin control how it is categorized in the UI.
ko: 이 플러그인에는 중요한 메서드가 하나 있는데, 바로 :meth:`create_widget` 입니다. 플러그인의 여러 필드는 UI 에서의 분류 방식을 제어합니다.

en: Import path to module that contains a class named ConfigWidget which implements the ConfigWidgetInterface. Used by :meth:`create_widget`.
ko: ConfigWidgetInterface 를 구현하는 ConfigWidget 이라는 클래스가 들어 있는 모듈의 import 경로입니다. :meth:`create_widget` 에서 사용됩니다.

en: Where in the list of categories the :attr:`category` of this plugin should be.
ko: 이 플러그인의 :attr:`category` 가 카테고리 목록 중 어디에 위치해야 하는지입니다.

en: Where in the list of names in a category, the :attr:`gui_name` of this plugin should be
ko: 카테고리 내 이름 목록에서 이 플러그인의 :attr:`gui_name` 이 위치해야 하는 자리입니다.

en: The category this plugin should be in
ko: 이 플러그인이 속해야 하는 카테고리입니다.

en: The category name displayed to the user for this plugin
ko: 이 플러그인에 대해 사용자에게 표시되는 카테고리 이름입니다.

en: The name displayed to the user for this plugin
ko: 이 플러그인에 대해 사용자에게 표시되는 이름입니다.

en: The icon for this plugin, should be an absolute path
ko: 이 플러그인의 아이콘이며 절대 경로여야 합니다.

en: The description used for tooltips and the like
ko: 도구 설명 등에 사용되는 설명입니다.

en: Create and return the actual Qt widget used for setting this group of preferences. The widget must implement the :class:`calibre.gui2.preferences.ConfigWidgetInterface`.
ko: 이 환경설정 그룹을 설정하는 데 사용되는 실제 Qt 위젯을 만들고 반환합니다. 위젯은 :class:`calibre.gui2.preferences.ConfigWidgetInterface` 를 구현해야 합니다.

en: The default implementation uses :attr:`config_widget` to instantiate the widget.
ko: 기본 구현은 :attr:`config_widget` 를 사용해 위젯을 인스턴스화합니다.

en: This class defines the interface that all widgets displayed in the Preferences dialog must implement. See :class:`ConfigWidgetBase` for a base class that implements this interface and defines various convenience methods as well.
ko: 이 클래스는 환경설정 대화상자에 표시되는 모든 위젯이 구현해야 하는 인터페이스를 정의합니다. 이 인터페이스를 구현하고 여러 편의 메서드도 정의한 기본 클래스는 :class:`ConfigWidgetBase` 를 참조하십시오.

en: This signal must be emitted whenever the user changes a value in this widget
ko: 사용자가 이 위젯에서 값을 변경할 때마다 이 시그널을 발생시켜야 합니다.

en: Set to True iff the :meth:`restore_to_defaults` method is implemented.
ko: :meth:`restore_to_defaults` 메서드가 구현되어 있는 경우에만 True로 설정하십시오.

en: The tooltip for the "Restore defaults" button
ko: "기본값 복원" 버튼의 도구 설명입니다.

en: If True the Preferences dialog will not allow the user to set any more preferences. Only has effect if :meth:`commit` returns True.
ko: True이면 환경설정 대화상자는 사용자가 더 이상의 환경설정을 설정하지 못하게 합니다. :meth:`commit` 이 True를 반환할 때만 효과가 있습니다.

en: Called once before the widget is displayed, should perform any necessary setup.
ko: 위젯이 표시되기 전에 한 번 호출되며, 필요한 설정을 수행해야 합니다.

en: The main calibre graphical user interface
ko: calibre 메인 그래픽 사용자 인터페이스

en: Should set all config values to their initial values (the values stored in the config files). A "return" statement is optional. Return False if the dialog is not to be shown.
ko: 모든 설정 값을 초기값(설정 파일에 저장된 값)으로 되돌려야 합니다. "return" 문은 선택 사항입니다. 대화상자를 표시하지 않으려면 False를 반환하십시오.

en: Should set all config values to their defaults.
ko: 모든 설정 값을 기본값으로 설정해야 합니다.

en: Save any changed settings. Return True if the changes require a restart, False otherwise. Raise an :class:`AbortCommit` exception to indicate that an error occurred. You are responsible for giving the user feedback about what the error is and how to correct it.
ko: 변경된 설정을 저장합니다. 변경에 재시작이 필요하면 True, 그렇지 않으면 False를 반환합니다. 오류가 발생했음을 나타내려면 :class:`AbortCommit` 예외를 발생시키십시오. 오류가 무엇이고 어떻게 수정해야 하는지는 사용자가 알 수 있도록 직접 알려주어야 합니다.

en: Called once after this widget is committed. Responsible for causing the gui to reread any changed settings. Note that by default the GUI re-initializes various elements anyway, so most widgets won't need to use this method.
ko: 이 위젯이 커밋된 뒤 한 번 호출됩니다. GUI 가 변경된 설정을 다시 읽도록 만드는 역할을 합니다. 기본적으로 GUI 는 여러 요소를 다시 초기화하므로, 대부분의 위젯은 이 메서드를 사용할 필요가 없습니다.

en: Called if the initially displayed tab is changed before the widget is shown, but after it is initialized.
ko: 처음 표시될 탭이 위젯이 보이기 전, 하지만 초기화된 뒤에 변경되면 호출됩니다.

en: Base class that contains code to easily add standard config widgets like checkboxes, combo boxes, text fields and so on. See the :meth:`register` method.
ko: 체크박스, 콤보 상자, 텍스트 필드 등 표준 설정 위젯을 쉽게 추가할 수 있는 코드를 담은 기본 클래스입니다. :meth:`register` 메서드를 참조하십시오.

en: This class automatically handles change notification, resetting to default, translation between gui objects and config objects, etc. for registered settings.
ko: 이 클래스는 등록된 설정에 대해 변경 알림, 기본값 복원, GUI 객체와 설정 객체 간 변환 등을 자동으로 처리합니다.

en: If your config widget inherits from this class but includes setting that are not registered, you should override the :class:`ConfigWidgetInterface` methods and call the base class methods inside the overrides.
ko: 설정 위젯이 이 클래스를 상속하지만 등록되지 않은 설정도 포함한다면, :class:`ConfigWidgetInterface` 메서드를 재정의하고 그 안에서 기본 클래스 메서드를 호출해야 합니다.

en: Register a setting.
ko: 설정을 등록합니다.

en: The setting name
ko: 설정 이름

en: The config object that reads/writes the setting
ko: 이 설정을 읽고 쓰는 설정 객체

en: The name of the GUI object that presents an interface to change the setting. By default it is assumed to be ``'opt_' + name``.
ko: 설정을 변경하는 인터페이스를 제공하는 GUI 객체의 이름입니다. 기본값은 ``'opt_' + name`` 으로 가정합니다.

en: If this setting is a multiple choice (combobox) based setting, the list of choices. The list is a list of two element tuples of the form: ``[(gui name, value), ...]``
ko: 이 설정이 다중 선택(콤보박스) 기반 설정이라면, 선택지 목록입니다. 목록은 ``[(gui name, value), ...]`` 형식의 두 요소 튜플 목록입니다.

en: The class responsible for managing this setting. The default class handles almost all cases, so this param is rarely used.
ko: 이 설정을 관리하는 클래스입니다. 기본 클래스가 거의 모든 경우를 처리하므로, 이 매개변수는 드물게만 사용됩니다.
