Manual de Calibre | Page 203

Manual de usuario de calibre, Publicación 2.73.0
Vamos a analizar main. py. Vemos que define una única herramienta, llamada Magnify fonts. Esta herramienta le pediráá al usuario un número y multiplicará todos los tamaños de letra en el libro por dicho número.
La primera cosa importante es el nombre de la herramienta que debe establecer a algún texto relativamente único, ya que se utilizará como clave para esta herramienta.
El siguiente punto de entrada importante es calibre. gui2. tweak _ book. plugin. Tool. create _ action()( página 303). Este método crea los objetos QAction que aparecen en la barra de herramientas y en el menú de complementos. También, opcionalmente, asigna un atajo de teclado que el usuario puede personalizar. La señal que se genera en el objeto QAction está conectada con el método ask _ user() que pide al usuario el multiplicador del tamaño de letra, y luego ejecuta el código de ampliación.
El código de aumento está bien comentado y es bastante simple. Lo principal que hay que destacar es que se obtiene una referencia a la ventana del editor como self. gui y al Boss del editor como self. boss. El Boss es el objeto que controla la interfaz de usuario del editor. Tiene muchos métodos útiles, que se documentan en la clase calibre. gui2. tweak _ book. boss. Boss( página 303).
Finalmente está self. current _ container, que es una referencia al libro que se está editando como un objeto calibre. ebooks. oeb. polish. container. Container( página 295). Éste representa el libro como una colección de archivos HTML, CSS e imágenes y posee diversos métodos prácticos para hacer varias cosas útiles. El objeto contenedor y varias funciones utilitarias que se pueden reutilizar en el código de los complementos están documentados en Documentación de la API para las herramientas de modificación de libros electrónicos( página 294).
Añadir traducciones al complemento
Puede traducir todos los textos de la interfaz de usuario del complemento y mostrarlos en el idioma en que está configurada la interfaz principal de calibre.
El primer paso es ir al código fuente del complemento y marcar todos los textos visibles por el usuario como traducibles, encerrándolos con _(). Por ejemplo:
action _ spec =(_(' My plugin '), None, _(' My plugin is cool '), None)
Después utilice algún programa para generar archivos. po para el código fuente del complemento. Debe haber un archivo. po para cada idioma al que lo quiera traducir. Por ejemplo: de. po para el alemán, fr. po para el francés, etc. Puede utilizar el programa poedit 83 para esto.
Envíe estos archivos. po a los traductores. Cuando reciba los archivos traducidos, compílelos en archivos. mo. Puede utilizar nuevamente poedit para ello, o simplemente ejecutar:
calibre-debug-c " from calibre. translations. msgfmt import main; main()" filename. po
Ponga los archivos. mo en la carpeta translations del complemento.
El último paso es simplemente ejecutar la función load _ translations() al principio de los archivos. py del complemento. Por motivos de rendimiento, sólo debe llamar a esta función en aquellos archivos. py que realmente poseen textos traducibles. Así que en un complemento de interfaz de usuario típico, la ejecutaría en ui. py pero no en __ init __. py.
Puede probar las traducciones del complemento cambiando el idioma de la interfaz de usuario en calibre bajo Preferencias > Apariencia o ejecutando calibre así:
CALIBRE _ OVERRIDE _ LANG = de calibre
Sustituya de por el código del idioma que desea probar.
83 http:// www. poedit. net /
1.9. Cursillos 199