diff --git a/po/POTFILES.in b/po/POTFILES.in index 3c34fa7..8ba833f 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -39,22 +39,22 @@ src/devedeng/subtitles_mux.py src/devedeng/title.py src/devedeng/vcdimager_converter.py src/devedeng/vlc.py -data/interface/wabout.ui -data/interface/wadd_files.ui -data/interface/wask_subtitles.ui -data/interface/wask.ui -data/interface/wcreate.ui -data/interface/wdone.ui -data/interface/werror.ui -data/interface/wfile_properties.ui -data/interface/wmain.ui -data/interface/wmenu.ui -data/interface/wmessage.ui -data/interface/wneeded.ui -data/interface/wopen_project.ui -data/interface/wpreview.ui -data/interface/wprogress.ui -data/interface/wsave_project.ui -data/interface/wselect_disk.ui -data/interface/wsettings.ui -data/interface/wtitle_properties.ui +src/devedeng/data/interface/wabout.ui +src/devedeng/data/interface/wadd_files.ui +src/devedeng/data/interface/wask_subtitles.ui +src/devedeng/data/interface/wask.ui +src/devedeng/data/interface/wcreate.ui +src/devedeng/data/interface/wdone.ui +src/devedeng/data/interface/werror.ui +src/devedeng/data/interface/wfile_properties.ui +src/devedeng/data/interface/wmain.ui +src/devedeng/data/interface/wmenu.ui +src/devedeng/data/interface/wmessage.ui +src/devedeng/data/interface/wneeded.ui +src/devedeng/data/interface/wopen_project.ui +src/devedeng/data/interface/wpreview.ui +src/devedeng/data/interface/wprogress.ui +src/devedeng/data/interface/wsave_project.ui +src/devedeng/data/interface/wselect_disk.xml +src/devedeng/data/interface/wsettings.ui +src/devedeng/data/interface/wtitle_properties.ui diff --git a/po/es.po b/po/es.po index 8050d6e..69294d0 100644 --- a/po/es.po +++ b/po/es.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: DeVeDe 3.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-03 17:43+0200\n" +"POT-Creation-Date: 2025-01-18 21:04+0100\n" "PO-Revision-Date: 2019-01-27 10:47+0100\n" "Last-Translator: Sergio Costas \n" "Language-Team: Español; Castellano \n" @@ -20,65 +20,65 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 3.30.1\n" -#: ../src/devedeng/add_files.py:44 +#: ../src/devedeng/add_files.py:43 msgid "Video files" msgstr "Ficheros de vídeo" -#: ../src/devedeng/add_files.py:49 ../src/devedeng/ask_subtitles.py:92 +#: ../src/devedeng/add_files.py:48 ../src/devedeng/ask_subtitles.py:90 #: ../src/devedeng/dvd_menu.py:146 ../src/devedeng/dvd_menu.py:158 #: ../src/devedeng/opensave.py:48 msgid "All files" msgstr "Todos los ficheros" -#: ../src/devedeng/ask_subtitles.py:81 +#: ../src/devedeng/ask_subtitles.py:79 msgid "Subtitle files" msgstr "Ficheros de subtítulos" -#: ../src/devedeng/avconv.py:120 ../src/devedeng/ffmpeg.py:120 +#: ../src/devedeng/avconv.py:119 ../src/devedeng/ffmpeg.py:140 #, python-format msgid "Converting %(X)s (pass 2)" msgstr "Convirtiendo %(X)s (pasada 2)" -#: ../src/devedeng/avconv.py:123 ../src/devedeng/ffmpeg.py:123 +#: ../src/devedeng/avconv.py:122 ../src/devedeng/ffmpeg.py:143 #, python-format msgid "Converting %(X)s (pass 1)" msgstr "Convirtiendo %(X)s (pasada 1)" -#: ../src/devedeng/avconv.py:133 ../src/devedeng/ffmpeg.py:133 +#: ../src/devedeng/avconv.py:132 ../src/devedeng/ffmpeg.py:153 #, python-format msgid "Converting %(X)s" msgstr "Convirtiendo %(X)s" -#: ../src/devedeng/avconv.py:527 +#: ../src/devedeng/avconv.py:526 #, python-format msgid "Creating menu %(X)d" msgstr "Creando el menú %(X)d" -#: ../src/devedeng/choose_disc_type.py:165 -#: ../src/devedeng/choose_disc_type.py:176 -#: ../src/devedeng/choose_disc_type.py:192 -#: ../src/devedeng/choose_disc_type.py:203 -#: ../src/devedeng/choose_disc_type.py:214 -#: ../src/devedeng/choose_disc_type.py:224 -#: ../src/devedeng/choose_disc_type.py:230 -#: ../src/devedeng/choose_disc_type.py:236 +#: ../src/devedeng/choose_disc_type.py:180 +#: ../src/devedeng/choose_disc_type.py:191 +#: ../src/devedeng/choose_disc_type.py:207 +#: ../src/devedeng/choose_disc_type.py:218 +#: ../src/devedeng/choose_disc_type.py:229 +#: ../src/devedeng/choose_disc_type.py:239 +#: ../src/devedeng/choose_disc_type.py:245 +#: ../src/devedeng/choose_disc_type.py:251 #, python-format msgid "\t%(program_name)s (not installed)\n" msgstr "\t%(program_name)s (no instalado)\n" -#: ../src/devedeng/choose_disc_type.py:168 -#: ../src/devedeng/choose_disc_type.py:179 -#: ../src/devedeng/choose_disc_type.py:195 -#: ../src/devedeng/choose_disc_type.py:206 -#: ../src/devedeng/choose_disc_type.py:217 -#: ../src/devedeng/choose_disc_type.py:227 -#: ../src/devedeng/choose_disc_type.py:233 -#: ../src/devedeng/choose_disc_type.py:239 +#: ../src/devedeng/choose_disc_type.py:183 +#: ../src/devedeng/choose_disc_type.py:194 +#: ../src/devedeng/choose_disc_type.py:210 +#: ../src/devedeng/choose_disc_type.py:221 +#: ../src/devedeng/choose_disc_type.py:232 +#: ../src/devedeng/choose_disc_type.py:242 +#: ../src/devedeng/choose_disc_type.py:248 +#: ../src/devedeng/choose_disc_type.py:254 #, python-format msgid "\t%(program_name)s (installed)\n" msgstr "\t%(program_name)s (instalado)\n" -#: ../src/devedeng/choose_disc_type.py:170 +#: ../src/devedeng/choose_disc_type.py:185 #, python-format msgid "" "Movie identifiers (install at least one of these):\n" @@ -89,7 +89,7 @@ msgstr "" "\n" "%(program_list)s\n" -#: ../src/devedeng/choose_disc_type.py:181 +#: ../src/devedeng/choose_disc_type.py:196 #, python-format msgid "" "Movie players (install at least one of these):\n" @@ -100,7 +100,7 @@ msgstr "" "\n" "%(program_list)s\n" -#: ../src/devedeng/choose_disc_type.py:197 +#: ../src/devedeng/choose_disc_type.py:212 #, python-format msgid "" "Movie Converters (install at least one of these):\n" @@ -111,7 +111,7 @@ msgstr "" "\n" "%(program_list)s\n" -#: ../src/devedeng/choose_disc_type.py:209 +#: ../src/devedeng/choose_disc_type.py:224 #, python-format msgid "" "CD/DVD burners (install at least one of these):\n" @@ -122,7 +122,7 @@ msgstr "" "\n" "%(program_list)s\n" -#: ../src/devedeng/choose_disc_type.py:219 +#: ../src/devedeng/choose_disc_type.py:234 #, python-format msgid "" "ISO creators (install at least one of these):\n" @@ -133,7 +133,7 @@ msgstr "" "\n" "%(program_list)s\n" -#: ../src/devedeng/choose_disc_type.py:242 +#: ../src/devedeng/choose_disc_type.py:257 #, python-format msgid "" "Other programs:\n" @@ -203,47 +203,47 @@ msgstr "Mezclando menú %(X)d" msgid "DevedeNG projects" msgstr "Proyectos DevedeNG" -#: ../src/devedeng/project.py:231 +#: ../src/devedeng/project.py:230 msgid "Abort the current DVD and exit?" msgstr "¿Interrumpir el DVD y salir?" -#: ../src/devedeng/project.py:231 +#: ../src/devedeng/project.py:230 msgid "Exit DeVeDe" msgstr "Salir de DeVeDe" -#: ../src/devedeng/project.py:285 ../src/devedeng/project.py:738 +#: ../src/devedeng/project.py:284 ../src/devedeng/project.py:737 msgid "In menu" msgstr "En el menú" -#: ../src/devedeng/project.py:287 +#: ../src/devedeng/project.py:286 msgid "The following files could not be added:" msgstr "No se han podido añadir los siguientes ficheros:" -#: ../src/devedeng/project.py:288 ../src/devedeng/project.py:746 +#: ../src/devedeng/project.py:287 ../src/devedeng/project.py:745 msgid "Error while adding files" msgstr "Error al añadir ficheros" -#: ../src/devedeng/project.py:299 +#: ../src/devedeng/project.py:298 #, python-format msgid "The file %(X)s (%(Y)s) will be removed." msgstr "El fichero %(X)s (%(Y)s) será borrado." -#: ../src/devedeng/project.py:299 +#: ../src/devedeng/project.py:298 msgid "Delete file" msgstr "Borrar archivo" -#: ../src/devedeng/project.py:499 +#: ../src/devedeng/project.py:498 #, python-format msgid "The limit for this format is %(l)d files, but your project has %(h)d." msgstr "" "El límite para este formato es de %(l)d ficheros, pero este proyecto tiene " "%(h)d." -#: ../src/devedeng/project.py:499 +#: ../src/devedeng/project.py:498 msgid "Too many files in the project" msgstr "Demasiados ficheros en el proyecto" -#: ../src/devedeng/project.py:508 +#: ../src/devedeng/project.py:507 #, python-format msgid "" "The selected folder already exists. To create the project, Devede must " @@ -262,31 +262,31 @@ msgstr "" "\n" " y todo su contenido será borrado. ¿Continuar?" -#: ../src/devedeng/project.py:508 +#: ../src/devedeng/project.py:507 msgid "Delete folder" msgstr "Borrar carpeta" -#: ../src/devedeng/project.py:643 +#: ../src/devedeng/project.py:642 msgid "Close current project and start a fresh one?" msgstr "¿Cerrar este proyecto y comenzar uno nuevo?" -#: ../src/devedeng/project.py:643 +#: ../src/devedeng/project.py:642 msgid "New project" msgstr "Nuevo proyecto" -#: ../src/devedeng/project.py:678 +#: ../src/devedeng/project.py:677 msgid "The file already exists. Overwrite it?" msgstr "El fichero ya existe. ¿Sobreescribirlo?" -#: ../src/devedeng/project.py:678 +#: ../src/devedeng/project.py:677 msgid "The file already exists" msgstr "El fichero ya existe" -#: ../src/devedeng/project.py:744 ../src/devedeng/project.py:766 +#: ../src/devedeng/project.py:743 ../src/devedeng/project.py:765 msgid "Page jump" msgstr "Salto de página" -#: ../src/devedeng/project.py:746 +#: ../src/devedeng/project.py:745 msgid "The following files in the project could not be added again:" msgstr "Los siguientes ficheros del proyecto no se pudieron añadir de nuevo:" @@ -294,29 +294,29 @@ msgstr "Los siguientes ficheros del proyecto no se pudieron añadir de nuevo:" msgid "Cancel the current job?" msgstr "¿Cancelar el trabajo?" -#: ../src/devedeng/settings.py:45 ../src/devedeng/settings.py:63 +#: ../src/devedeng/settings.py:44 ../src/devedeng/settings.py:62 msgid "Use all cores" msgstr "Utilizar todos los núcleos" -#: ../src/devedeng/settings.py:50 +#: ../src/devedeng/settings.py:49 #, python-format msgid "Use %(X)d core" msgid_plural "Use %(X)d cores" msgstr[0] "Utilizar %(X)d núcleo" msgstr[1] "Utilizar %(X)d núcleos" -#: ../src/devedeng/settings.py:57 +#: ../src/devedeng/settings.py:56 #, python-format msgid "Use all except %(X)d core" msgid_plural "Use all except %(X)d cores" msgstr[0] "Utilizar todos menos %(X)d núcleo" msgstr[1] "Utilizar todos menos %(X)d núcleos" -#: ../src/devedeng/settings.py:128 +#: ../src/devedeng/settings.py:127 msgid "No discs supported" msgstr "No se soporta ningún disco" -#: ../src/devedeng/subtitles_mux.py:43 +#: ../src/devedeng/subtitles_mux.py:42 #, python-format msgid "Adding %(L)s subtitles to %(X)s" msgstr "Añadiendo subtítulos %(L)s a %(X)s" diff --git a/po/untitled.pot b/po/untitled.pot index 5f88d43..0ddb170 100644 --- a/po/untitled.pot +++ b/po/untitled.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-03 17:43+0200\n" +"POT-Creation-Date: 2025-01-18 21:04+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,65 +18,65 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ../src/devedeng/add_files.py:44 +#: ../src/devedeng/add_files.py:43 msgid "Video files" msgstr "" -#: ../src/devedeng/add_files.py:49 ../src/devedeng/ask_subtitles.py:92 +#: ../src/devedeng/add_files.py:48 ../src/devedeng/ask_subtitles.py:90 #: ../src/devedeng/dvd_menu.py:146 ../src/devedeng/dvd_menu.py:158 #: ../src/devedeng/opensave.py:48 msgid "All files" msgstr "" -#: ../src/devedeng/ask_subtitles.py:81 +#: ../src/devedeng/ask_subtitles.py:79 msgid "Subtitle files" msgstr "" -#: ../src/devedeng/avconv.py:120 ../src/devedeng/ffmpeg.py:120 +#: ../src/devedeng/avconv.py:119 ../src/devedeng/ffmpeg.py:140 #, python-format msgid "Converting %(X)s (pass 2)" msgstr "" -#: ../src/devedeng/avconv.py:123 ../src/devedeng/ffmpeg.py:123 +#: ../src/devedeng/avconv.py:122 ../src/devedeng/ffmpeg.py:143 #, python-format msgid "Converting %(X)s (pass 1)" msgstr "" -#: ../src/devedeng/avconv.py:133 ../src/devedeng/ffmpeg.py:133 +#: ../src/devedeng/avconv.py:132 ../src/devedeng/ffmpeg.py:153 #, python-format msgid "Converting %(X)s" msgstr "" -#: ../src/devedeng/avconv.py:527 +#: ../src/devedeng/avconv.py:526 #, python-format msgid "Creating menu %(X)d" msgstr "" -#: ../src/devedeng/choose_disc_type.py:165 -#: ../src/devedeng/choose_disc_type.py:176 -#: ../src/devedeng/choose_disc_type.py:192 -#: ../src/devedeng/choose_disc_type.py:203 -#: ../src/devedeng/choose_disc_type.py:214 -#: ../src/devedeng/choose_disc_type.py:224 -#: ../src/devedeng/choose_disc_type.py:230 -#: ../src/devedeng/choose_disc_type.py:236 +#: ../src/devedeng/choose_disc_type.py:180 +#: ../src/devedeng/choose_disc_type.py:191 +#: ../src/devedeng/choose_disc_type.py:207 +#: ../src/devedeng/choose_disc_type.py:218 +#: ../src/devedeng/choose_disc_type.py:229 +#: ../src/devedeng/choose_disc_type.py:239 +#: ../src/devedeng/choose_disc_type.py:245 +#: ../src/devedeng/choose_disc_type.py:251 #, python-format msgid "\t%(program_name)s (not installed)\n" msgstr "" -#: ../src/devedeng/choose_disc_type.py:168 -#: ../src/devedeng/choose_disc_type.py:179 -#: ../src/devedeng/choose_disc_type.py:195 -#: ../src/devedeng/choose_disc_type.py:206 -#: ../src/devedeng/choose_disc_type.py:217 -#: ../src/devedeng/choose_disc_type.py:227 -#: ../src/devedeng/choose_disc_type.py:233 -#: ../src/devedeng/choose_disc_type.py:239 +#: ../src/devedeng/choose_disc_type.py:183 +#: ../src/devedeng/choose_disc_type.py:194 +#: ../src/devedeng/choose_disc_type.py:210 +#: ../src/devedeng/choose_disc_type.py:221 +#: ../src/devedeng/choose_disc_type.py:232 +#: ../src/devedeng/choose_disc_type.py:242 +#: ../src/devedeng/choose_disc_type.py:248 +#: ../src/devedeng/choose_disc_type.py:254 #, python-format msgid "\t%(program_name)s (installed)\n" msgstr "" -#: ../src/devedeng/choose_disc_type.py:170 +#: ../src/devedeng/choose_disc_type.py:185 #, python-format msgid "" "Movie identifiers (install at least one of these):\n" @@ -84,7 +84,7 @@ msgid "" "%(program_list)s\n" msgstr "" -#: ../src/devedeng/choose_disc_type.py:181 +#: ../src/devedeng/choose_disc_type.py:196 #, python-format msgid "" "Movie players (install at least one of these):\n" @@ -92,7 +92,7 @@ msgid "" "%(program_list)s\n" msgstr "" -#: ../src/devedeng/choose_disc_type.py:197 +#: ../src/devedeng/choose_disc_type.py:212 #, python-format msgid "" "Movie Converters (install at least one of these):\n" @@ -100,7 +100,7 @@ msgid "" "%(program_list)s\n" msgstr "" -#: ../src/devedeng/choose_disc_type.py:209 +#: ../src/devedeng/choose_disc_type.py:224 #, python-format msgid "" "CD/DVD burners (install at least one of these):\n" @@ -108,7 +108,7 @@ msgid "" "%(program_list)s\n" msgstr "" -#: ../src/devedeng/choose_disc_type.py:219 +#: ../src/devedeng/choose_disc_type.py:234 #, python-format msgid "" "ISO creators (install at least one of these):\n" @@ -116,7 +116,7 @@ msgid "" "%(program_list)s\n" msgstr "" -#: ../src/devedeng/choose_disc_type.py:242 +#: ../src/devedeng/choose_disc_type.py:257 #, python-format msgid "" "Other programs:\n" @@ -183,45 +183,45 @@ msgstr "" msgid "DevedeNG projects" msgstr "" -#: ../src/devedeng/project.py:231 +#: ../src/devedeng/project.py:230 msgid "Abort the current DVD and exit?" msgstr "" -#: ../src/devedeng/project.py:231 +#: ../src/devedeng/project.py:230 msgid "Exit DeVeDe" msgstr "" -#: ../src/devedeng/project.py:285 ../src/devedeng/project.py:738 +#: ../src/devedeng/project.py:284 ../src/devedeng/project.py:737 msgid "In menu" msgstr "" -#: ../src/devedeng/project.py:287 +#: ../src/devedeng/project.py:286 msgid "The following files could not be added:" msgstr "" -#: ../src/devedeng/project.py:288 ../src/devedeng/project.py:746 +#: ../src/devedeng/project.py:287 ../src/devedeng/project.py:745 msgid "Error while adding files" msgstr "" -#: ../src/devedeng/project.py:299 +#: ../src/devedeng/project.py:298 #, python-format msgid "The file %(X)s (%(Y)s) will be removed." msgstr "" -#: ../src/devedeng/project.py:299 +#: ../src/devedeng/project.py:298 msgid "Delete file" msgstr "" -#: ../src/devedeng/project.py:499 +#: ../src/devedeng/project.py:498 #, python-format msgid "The limit for this format is %(l)d files, but your project has %(h)d." msgstr "" -#: ../src/devedeng/project.py:499 +#: ../src/devedeng/project.py:498 msgid "Too many files in the project" msgstr "" -#: ../src/devedeng/project.py:508 +#: ../src/devedeng/project.py:507 #, python-format msgid "" "The selected folder already exists. To create the project, Devede must " @@ -233,31 +233,31 @@ msgid "" " and all its contents will be deleted. Continue?" msgstr "" -#: ../src/devedeng/project.py:508 +#: ../src/devedeng/project.py:507 msgid "Delete folder" msgstr "" -#: ../src/devedeng/project.py:643 +#: ../src/devedeng/project.py:642 msgid "Close current project and start a fresh one?" msgstr "" -#: ../src/devedeng/project.py:643 +#: ../src/devedeng/project.py:642 msgid "New project" msgstr "" -#: ../src/devedeng/project.py:678 +#: ../src/devedeng/project.py:677 msgid "The file already exists. Overwrite it?" msgstr "" -#: ../src/devedeng/project.py:678 +#: ../src/devedeng/project.py:677 msgid "The file already exists" msgstr "" -#: ../src/devedeng/project.py:744 ../src/devedeng/project.py:766 +#: ../src/devedeng/project.py:743 ../src/devedeng/project.py:765 msgid "Page jump" msgstr "" -#: ../src/devedeng/project.py:746 +#: ../src/devedeng/project.py:745 msgid "The following files in the project could not be added again:" msgstr "" @@ -265,29 +265,29 @@ msgstr "" msgid "Cancel the current job?" msgstr "" -#: ../src/devedeng/settings.py:45 ../src/devedeng/settings.py:63 +#: ../src/devedeng/settings.py:44 ../src/devedeng/settings.py:62 msgid "Use all cores" msgstr "" -#: ../src/devedeng/settings.py:50 +#: ../src/devedeng/settings.py:49 #, python-format msgid "Use %(X)d core" msgid_plural "Use %(X)d cores" msgstr[0] "" msgstr[1] "" -#: ../src/devedeng/settings.py:57 +#: ../src/devedeng/settings.py:56 #, python-format msgid "Use all except %(X)d core" msgid_plural "Use all except %(X)d cores" msgstr[0] "" msgstr[1] "" -#: ../src/devedeng/settings.py:128 +#: ../src/devedeng/settings.py:127 msgid "No discs supported" msgstr "" -#: ../src/devedeng/subtitles_mux.py:43 +#: ../src/devedeng/subtitles_mux.py:42 #, python-format msgid "Adding %(L)s subtitles to %(X)s" msgstr "" diff --git a/src/devedeng/choose_disc_type.py b/src/devedeng/choose_disc_type.py index e2ed98c..9ec0c5f 100644 --- a/src/devedeng/choose_disc_type.py +++ b/src/devedeng/choose_disc_type.py @@ -20,17 +20,33 @@ import subprocess import devedeng.configuration_data +import defusedxml.ElementTree as etree + +def builder_from_filename(ui_filename): + config = devedeng.configuration_data.configuration.get_config() + + with open(os.path.join(config.glade, ui_filename)) as ui_file: + ui_xml = etree.parse(ui_file) + for node in ui_xml.findall(".//*[@translatable='yes']"): + print(f"Translate {node.text}") + node.text = _(node.text) if node.text else "" + print(f"Translated {node.text}") + del node.attrib["translatable"] + ui_xml_translated = etree.tostring(ui_xml.getroot(), encoding="unicode", method="xml") + builder = Gtk.Builder() + builder.set_translation_domain(config.gettext_domain) + builder.add_from_string(ui_xml_translated) + return builder + + class choose_disc_type(GObject.GObject): def __init__(self): self.config = devedeng.configuration_data.configuration.get_config() - builder = Gtk.Builder() - builder.set_translation_domain(self.config.gettext_domain) + builder = builder_from_filename("wselect_disk.ui") - builder.add_from_file(os.path.join( - self.config.glade, "wselect_disk.ui")) builder.connect_signals(self) self.wask_window = builder.get_object("wselect_disk")