imagewriter: Use QCoreApplication::translate

tr() is not safe for strings that you move between contexts,
as it fails to provide a mechanism for specifying the context
of the string.

Regenerate the translation files, and use QCoreApplication to locate
the real translations.

Additionally, bodge a race condition between translator replacement
and OS list fetching, by marking the OS list as something to be
re-calculated on a translator change.

Fixes #799
This commit is contained in:
Tom Dewey 2024-02-06 12:17:33 +00:00 committed by Tom Dewey
parent 1c9c641924
commit 38ea837ba7
18 changed files with 2272 additions and 2198 deletions

View file

@ -97,59 +97,59 @@
<translation>iniciando descarga</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="466"/>
<location filename="../downloadthread.cpp" line="468"/>
<source>Error downloading: %1</source>
<translation>Error descargando: %1</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="663"/>
<location filename="../downloadthread.cpp" line="665"/>
<source>Access denied error while writing file to disk.</source>
<translation>Error de acceso denegado escribiendo el archivo en el disco.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="668"/>
<location filename="../downloadthread.cpp" line="670"/>
<source>Controlled Folder Access seems to be enabled. Please add both rpi-imager.exe and fat32format.exe to the list of allowed apps and try again.</source>
<translation>El acceso controlado a carpetas parece estar activado. Añada rpi-imager.exe y fat32format.exe a la lista de aplicaciones permitidas y vuelva a intentarlo.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="675"/>
<location filename="../downloadthread.cpp" line="677"/>
<source>Error writing file to disk</source>
<translation>Error escribiendo el archivo en el disco</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="697"/>
<location filename="../downloadthread.cpp" line="699"/>
<source>Download corrupt. Hash does not match</source>
<translation>Descarga corrupta. El hash no coincide</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="709"/>
<location filename="../downloadthread.cpp" line="761"/>
<location filename="../downloadthread.cpp" line="711"/>
<location filename="../downloadthread.cpp" line="763"/>
<source>Error writing to storage (while flushing)</source>
<translation>Error escribiendo en la memoria (durante la limpieza)</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="716"/>
<location filename="../downloadthread.cpp" line="768"/>
<location filename="../downloadthread.cpp" line="718"/>
<location filename="../downloadthread.cpp" line="770"/>
<source>Error writing to storage (while fsync)</source>
<translation>Error escribiendo en el almacenamiento (mientras fsync)</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="751"/>
<location filename="../downloadthread.cpp" line="753"/>
<source>Error writing first block (partition table)</source>
<translation>Error escribiendo el primer bloque (tabla de particiones)</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="826"/>
<location filename="../downloadthread.cpp" line="828"/>
<source>Error reading from storage.&lt;br&gt;SD card may be broken.</source>
<translation>Error leyendo del almacenamiento.&lt;br&gt;La tarjeta SD puede estar rota.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="845"/>
<location filename="../downloadthread.cpp" line="847"/>
<source>Verifying write failed. Contents of SD card is different from what was written to it.</source>
<translation>Error verificando la escritura. El contenido de la tarjeta SD es diferente del que se escribió en ella.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="898"/>
<location filename="../downloadthread.cpp" line="900"/>
<source>Customizing image</source>
<translation>Personalizando imagen</translation>
</message>
@ -217,27 +217,37 @@
<context>
<name>ImageWriter</name>
<message>
<location filename="../imagewriter.cpp" line="248"/>
<location filename="../imagewriter.cpp" line="253"/>
<source>Storage capacity is not large enough.&lt;br&gt;Needs to be at least %1 GB.</source>
<translation>La capacidad de almacenamiento no es lo suficientemente grande.&lt;br&gt;Necesita ser de al menos %1 GB.</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="254"/>
<location filename="../imagewriter.cpp" line="259"/>
<source>Input file is not a valid disk image.&lt;br&gt;File size %1 bytes is not a multiple of 512 bytes.</source>
<translation>El archivo de entrada no es una imagen de disco válida.&lt;br&gt;El tamaño del archivo %1 bytes no es múltiplo de 512 bytes.</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="442"/>
<location filename="../imagewriter.cpp" line="654"/>
<source>Downloading and writing image</source>
<translation>Descargando y escribiendo imagen</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="575"/>
<location filename="../imagewriter.cpp" line="787"/>
<source>Select image</source>
<translation>Seleccionar imagen</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="896"/>
<location filename="../imagewriter.cpp" line="962"/>
<source>Error synchronizing time. Trying again in 3 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="974"/>
<source>STP is enabled on your Ethernet switch. Getting IP will take long time.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="1185"/>
<source>Would you like to prefill the wifi password from the system keychain?</source>
<translation>¿Desea rellenar previamente la contraseña wifi desde el llavero del sistema?</translation>
</message>
@ -263,17 +273,17 @@
<translation>NO</translation>
</message>
<message>
<location filename="../MsgPopup.qml" line="109"/>
<location filename="../MsgPopup.qml" line="107"/>
<source>YES</source>
<translation></translation>
</message>
<message>
<location filename="../MsgPopup.qml" line="120"/>
<location filename="../MsgPopup.qml" line="116"/>
<source>CONTINUE</source>
<translation>CONTINUAR</translation>
</message>
<message>
<location filename="../MsgPopup.qml" line="130"/>
<location filename="../MsgPopup.qml" line="124"/>
<source>QUIT</source>
<translation>SALIR</translation>
</message>
@ -286,138 +296,135 @@
<translation>Personalización del SO</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="52"/>
<source>OS customization options</source>
<translation>Opciones de personalización del SO</translation>
<translation type="vanished">Opciones de personalización del SO</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="57"/>
<source>for this session only</source>
<translation>solo para esta sesión</translation>
<translation type="vanished">solo para esta sesión</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="58"/>
<source>to always use</source>
<translation>para usar siempre</translation>
<translation type="vanished">para usar siempre</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="71"/>
<location filename="../OptionsPopup.qml" line="62"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="79"/>
<location filename="../OptionsPopup.qml" line="70"/>
<source>Services</source>
<translation>Servicios</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="82"/>
<location filename="../OptionsPopup.qml" line="73"/>
<source>Options</source>
<translation>Opciones</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="98"/>
<location filename="../OptionsPopup.qml" line="89"/>
<source>Set hostname:</source>
<translation>Establecer nombre de anfitrión:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="120"/>
<location filename="../OptionsPopup.qml" line="112"/>
<source>Set username and password</source>
<translation>Establecer nombre de usuario y contraseña</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="142"/>
<location filename="../OptionsPopup.qml" line="134"/>
<source>Username:</source>
<translation>Nombre de usuario:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="158"/>
<location filename="../OptionsPopup.qml" line="219"/>
<location filename="../OptionsPopup.qml" line="151"/>
<location filename="../OptionsPopup.qml" line="220"/>
<source>Password:</source>
<translation>Contraseña:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="186"/>
<location filename="../OptionsPopup.qml" line="187"/>
<source>Configure wireless LAN</source>
<translation>Configurar LAN inalámbrica</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="205"/>
<location filename="../OptionsPopup.qml" line="206"/>
<source>SSID:</source>
<translation>SSID:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="238"/>
<location filename="../OptionsPopup.qml" line="239"/>
<source>Show password</source>
<translation>Mostrar contraseña</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="244"/>
<location filename="../OptionsPopup.qml" line="245"/>
<source>Hidden SSID</source>
<translation>SSID oculta</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="250"/>
<location filename="../OptionsPopup.qml" line="251"/>
<source>Wireless LAN country:</source>
<translation>País de LAN inalámbrica:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="261"/>
<location filename="../OptionsPopup.qml" line="262"/>
<source>Set locale settings</source>
<translation>Establecer ajustes regionales</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="271"/>
<location filename="../OptionsPopup.qml" line="272"/>
<source>Time zone:</source>
<translation>Zona horaria:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="281"/>
<location filename="../OptionsPopup.qml" line="282"/>
<source>Keyboard layout:</source>
<translation>Distribución del teclado:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="298"/>
<location filename="../OptionsPopup.qml" line="299"/>
<source>Enable SSH</source>
<translation>Activar SSH</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="317"/>
<location filename="../OptionsPopup.qml" line="318"/>
<source>Use password authentication</source>
<translation>Usar autenticación por contraseña</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="327"/>
<location filename="../OptionsPopup.qml" line="328"/>
<source>Allow public-key authentication only</source>
<translation>Permitir solo la autenticación de clave pública</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="345"/>
<location filename="../OptionsPopup.qml" line="346"/>
<source>Set authorized_keys for &apos;%1&apos;:</source>
<translation>Establecer authorized_keys para &apos;%1&apos;:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="357"/>
<location filename="../OptionsPopup.qml" line="358"/>
<source>RUN SSH-KEYGEN</source>
<translation>EJECUTAR SSH-KEYGEN</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="375"/>
<location filename="../OptionsPopup.qml" line="376"/>
<source>Play sound when finished</source>
<translation>Reproducir sonido al finalizar</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="379"/>
<location filename="../OptionsPopup.qml" line="380"/>
<source>Eject media when finished</source>
<translation>Expulsar soporte al finalizar</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="383"/>
<location filename="../OptionsPopup.qml" line="384"/>
<source>Enable telemetry</source>
<translation>Activar telemetría</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="397"/>
<location filename="../OptionsPopup.qml" line="398"/>
<source>SAVE</source>
<translation>GUARDAR</translation>
</message>
@ -447,22 +454,22 @@
<translation>¿Desea aplicar los ajustes de personalización del SO?</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="97"/>
<location filename="../UseSavedSettingsPopup.qml" line="134"/>
<source>NO</source>
<translation>NO</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="107"/>
<location filename="../UseSavedSettingsPopup.qml" line="115"/>
<source>NO, CLEAR SETTINGS</source>
<translation>NO, BORRAR AJUSTES</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="117"/>
<location filename="../UseSavedSettingsPopup.qml" line="125"/>
<source>YES</source>
<translation></translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="127"/>
<location filename="../UseSavedSettingsPopup.qml" line="102"/>
<source>EDIT SETTINGS</source>
<translation>EDITAR AJUSTES</translation>
</message>
@ -475,282 +482,284 @@
<translation>Raspberry Pi Imager v%1</translation>
</message>
<message>
<location filename="../main.qml" line="114"/>
<location filename="../main.qml" line="467"/>
<location filename="../main.qml" line="119"/>
<location filename="../main.qml" line="481"/>
<source>Raspberry Pi Device</source>
<translation>Dispositivo Raspberry Pi</translation>
</message>
<message>
<location filename="../main.qml" line="126"/>
<location filename="../main.qml" line="131"/>
<source>CHOOSE DEVICE</source>
<translation>ELEGIR DISPOSITIVO</translation>
</message>
<message>
<location filename="../main.qml" line="138"/>
<location filename="../main.qml" line="143"/>
<source>Select this button to choose your target Raspberry Pi</source>
<translation>Seleccione este botón para elegir su Raspberry Pi objetivo</translation>
</message>
<message>
<location filename="../main.qml" line="97"/>
<location filename="../main.qml" line="413"/>
<location filename="../main.qml" line="157"/>
<location filename="../main.qml" line="584"/>
<source>Operating System</source>
<translation>Sistema operativo</translation>
</message>
<message>
<location filename="../main.qml" line="109"/>
<location filename="../main.qml" line="168"/>
<location filename="../main.qml" line="1638"/>
<source>CHOOSE OS</source>
<translation>ELEGIR SO</translation>
</message>
<message>
<location filename="../main.qml" line="121"/>
<location filename="../main.qml" line="180"/>
<source>Select this button to change the operating system</source>
<translation>Seleccione este botón para cambiar el sistema operativo</translation>
</message>
<message>
<location filename="../main.qml" line="133"/>
<location filename="../main.qml" line="780"/>
<location filename="../main.qml" line="194"/>
<location filename="../main.qml" line="979"/>
<source>Storage</source>
<translation>Almacenamiento</translation>
</message>
<message>
<location filename="../main.qml" line="330"/>
<source>Network not ready yet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="1007"/>
<source>No storage devices found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.qml" line="145"/>
<location filename="../main.qml" line="1108"/>
<location filename="../main.qml" line="205"/>
<location filename="../main.qml" line="1317"/>
<source>CHOOSE STORAGE</source>
<translation>ELEGIR ALMACENAMIENTO</translation>
</message>
<message>
<location filename="../main.qml" line="171"/>
<source>WRITE</source>
<translation>ESCRIBIR</translation>
<translation type="vanished">ESCRIBIR</translation>
</message>
<message>
<location filename="../main.qml" line="155"/>
<location filename="../main.qml" line="219"/>
<source>Select this button to change the destination storage device</source>
<translation>Seleccione este botón para cambiar el dispositivo de almacenamiento de destino</translation>
</message>
<message>
<location filename="../main.qml" line="216"/>
<location filename="../main.qml" line="265"/>
<source>CANCEL WRITE</source>
<translation>CANCELAR ESCRITURA</translation>
</message>
<message>
<location filename="../main.qml" line="219"/>
<location filename="../main.qml" line="1035"/>
<location filename="../main.qml" line="268"/>
<location filename="../main.qml" line="1240"/>
<source>Cancelling...</source>
<translation>Cancelando...</translation>
</message>
<message>
<location filename="../main.qml" line="227"/>
<location filename="../main.qml" line="280"/>
<source>CANCEL VERIFY</source>
<translation>CANCELAR VERIFICACIÓN</translation>
</message>
<message>
<location filename="../main.qml" line="230"/>
<location filename="../main.qml" line="1058"/>
<location filename="../main.qml" line="1127"/>
<location filename="../main.qml" line="283"/>
<location filename="../main.qml" line="1263"/>
<location filename="../main.qml" line="1336"/>
<source>Finalizing...</source>
<translation>Finalizando...</translation>
</message>
<message>
<location filename="../main.qml" line="288"/>
<location filename="../main.qml" line="292"/>
<source>Next</source>
<translation>Siguiente</translation>
</message>
<message>
<location filename="../main.qml" line="175"/>
<location filename="../main.qml" line="298"/>
<source>Select this button to start writing the image</source>
<translation>Seleccione este botón para empezar a escribir la imagen</translation>
</message>
<message>
<location filename="../main.qml" line="245"/>
<source>Select this button to access advanced settings</source>
<translation>Seleccione este botón para acceder a los ajustes avanzados</translation>
<translation type="vanished">Seleccione este botón para acceder a los ajustes avanzados</translation>
</message>
<message>
<location filename="../main.qml" line="259"/>
<location filename="../main.qml" line="320"/>
<source>Using custom repository: %1</source>
<translation>Usando repositorio personalizado: %1</translation>
</message>
<message>
<location filename="../main.qml" line="268"/>
<location filename="../main.qml" line="339"/>
<source>Keyboard navigation: &lt;tab&gt; navigate to next button &lt;space&gt; press button/select item &lt;arrow up/down&gt; go up/down in lists</source>
<translation>Navegación por teclado: &lt;tab&gt; navegar al botón siguiente &lt;space&gt; pulsar botón/seleccionar elemento &lt;arrow up/down&gt; subir/bajar en listas</translation>
</message>
<message>
<location filename="../main.qml" line="289"/>
<location filename="../main.qml" line="360"/>
<source>Language: </source>
<translation>Idioma: </translation>
</message>
<message>
<location filename="../main.qml" line="312"/>
<location filename="../main.qml" line="383"/>
<source>Keyboard: </source>
<translation>Teclado: </translation>
</message>
<message>
<location filename="../main.qml" line="437"/>
<source>Pi model:</source>
<translation>Modelo Pi:</translation>
<translation type="vanished">Modelo Pi:</translation>
</message>
<message>
<location filename="../main.qml" line="448"/>
<location filename="../main.qml" line="500"/>
<source>[ All ]</source>
<translation>[ Todos ]</translation>
</message>
<message>
<location filename="../main.qml" line="528"/>
<location filename="../main.qml" line="651"/>
<source>Back</source>
<translation>Volver</translation>
</message>
<message>
<location filename="../main.qml" line="529"/>
<location filename="../main.qml" line="652"/>
<source>Go back to main menu</source>
<translation>Volver al menú principal</translation>
</message>
<message>
<location filename="../main.qml" line="695"/>
<location filename="../main.qml" line="894"/>
<source>Released: %1</source>
<translation>Publicado: %1</translation>
</message>
<message>
<location filename="../main.qml" line="705"/>
<location filename="../main.qml" line="904"/>
<source>Cached on your computer</source>
<translation>En caché en su ordenador</translation>
</message>
<message>
<location filename="../main.qml" line="707"/>
<location filename="../main.qml" line="906"/>
<source>Local file</source>
<translation>Archivo local</translation>
</message>
<message>
<location filename="../main.qml" line="708"/>
<location filename="../main.qml" line="907"/>
<source>Online - %1 GB download</source>
<translation>En línea - %1 GB descarga</translation>
</message>
<message>
<location filename="../main.qml" line="833"/>
<location filename="../main.qml" line="885"/>
<location filename="../main.qml" line="891"/>
<location filename="../main.qml" line="1042"/>
<location filename="../main.qml" line="1094"/>
<location filename="../main.qml" line="1100"/>
<source>Mounted as %1</source>
<translation>Montado como %1</translation>
</message>
<message>
<location filename="../main.qml" line="887"/>
<location filename="../main.qml" line="1096"/>
<source>[WRITE PROTECTED]</source>
<translation>[PROTEGIDO CONTRA ESCRITURA]</translation>
</message>
<message>
<location filename="../main.qml" line="929"/>
<location filename="../main.qml" line="1141"/>
<source>Are you sure you want to quit?</source>
<translation>¿Está seguro de que quiere salir?</translation>
</message>
<message>
<location filename="../main.qml" line="930"/>
<location filename="../main.qml" line="1142"/>
<source>Raspberry Pi Imager is still busy.&lt;br&gt;Are you sure you want to quit?</source>
<translation>Raspberry Pi Imager sigue ocupado.&lt;br&gt;¿Está seguro de que quiere salir?</translation>
</message>
<message>
<location filename="../main.qml" line="941"/>
<location filename="../main.qml" line="1153"/>
<source>Warning</source>
<translation>Advertencia</translation>
</message>
<message>
<location filename="../main.qml" line="949"/>
<location filename="../main.qml" line="1162"/>
<source>Preparing to write...</source>
<translation>Preparando para escribir...</translation>
</message>
<message>
<location filename="../main.qml" line="962"/>
<location filename="../main.qml" line="1176"/>
<source>All existing data on &apos;%1&apos; will be erased.&lt;br&gt;Are you sure you want to continue?</source>
<translation>Se borrarán todos los datos existentes en &apos;%1&apos;.&lt;br&gt;¿Está seguro de que desea continuar?</translation>
</message>
<message>
<location filename="../main.qml" line="973"/>
<location filename="../main.qml" line="1191"/>
<source>Update available</source>
<translation>Actualización disponible</translation>
</message>
<message>
<location filename="../main.qml" line="974"/>
<location filename="../main.qml" line="1192"/>
<source>There is a newer version of Imager available.&lt;br&gt;Would you like to visit the website to download it?</source>
<translation>Hay una versión más reciente de Imager disponible.&lt;br&gt;¿Desea visitar el sitio web para descargarla?</translation>
</message>
<message>
<location filename="../main.qml" line="1017"/>
<source>Error downloading OS list from Internet</source>
<translation>Error al descargar la lista de SO de Internet</translation>
<translation type="vanished">Error al descargar la lista de SO de Internet</translation>
</message>
<message>
<location filename="../main.qml" line="1038"/>
<location filename="../main.qml" line="1243"/>
<source>Writing... %1%</source>
<translation>Escribiendo... %1%</translation>
</message>
<message>
<location filename="../main.qml" line="1061"/>
<location filename="../main.qml" line="1266"/>
<source>Verifying... %1%</source>
<translation>Verificando... %1%</translation>
</message>
<message>
<location filename="../main.qml" line="1068"/>
<location filename="../main.qml" line="1273"/>
<source>Preparing to write... (%1)</source>
<translation>Preparando para escribir... (%1)</translation>
</message>
<message>
<location filename="../main.qml" line="1084"/>
<location filename="../main.qml" line="1293"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../main.qml" line="1091"/>
<location filename="../main.qml" line="1300"/>
<source>Write Successful</source>
<translation>Escritura exitosa</translation>
</message>
<message>
<location filename="../main.qml" line="572"/>
<location filename="../main.qml" line="1092"/>
<location filename="../main.qml" line="1301"/>
<location filename="../imagewriter.cpp" line="596"/>
<source>Erase</source>
<translation>Borrar</translation>
</message>
<message>
<location filename="../main.qml" line="1093"/>
<location filename="../main.qml" line="1302"/>
<source>&lt;b&gt;%1&lt;/b&gt; has been erased&lt;br&gt;&lt;br&gt;You can now remove the SD card from the reader</source>
<translation>&lt;b&gt;%1&lt;/b&gt; se ha borrado&lt;br&gt;&lt;br&gt;Ya puede retirar la tarjeta SD del lector</translation>
</message>
<message>
<location filename="../main.qml" line="1100"/>
<location filename="../main.qml" line="1309"/>
<source>&lt;b&gt;%1&lt;/b&gt; has been written to &lt;b&gt;%2&lt;/b&gt;&lt;br&gt;&lt;br&gt;You can now remove the SD card from the reader</source>
<translation>&lt;b&gt;%1&lt;/b&gt; se ha escrito en &lt;b&gt;%2&lt;/b&gt;&lt;br&gt;&lt;br&gt;Ya puede retirar la tarjeta SD del lector</translation>
</message>
<message>
<location filename="../main.qml" line="1202"/>
<location filename="../main.qml" line="1463"/>
<source>Error parsing os_list.json</source>
<translation>Error al parsear os_list.json</translation>
</message>
<message>
<location filename="../main.qml" line="573"/>
<location filename="../imagewriter.cpp" line="597"/>
<source>Format card as FAT32</source>
<translation>Formatear tarjeta como FAT32</translation>
</message>
<message>
<location filename="../main.qml" line="582"/>
<location filename="../imagewriter.cpp" line="603"/>
<source>Use custom</source>
<translation>Usar personalizado</translation>
</message>
<message>
<location filename="../main.qml" line="583"/>
<location filename="../imagewriter.cpp" line="604"/>
<source>Select a custom .img from your computer</source>
<translation>Seleccione un .img personalizado de su ordenador</translation>
</message>
<message>
<location filename="../main.qml" line="1391"/>
<location filename="../main.qml" line="1712"/>
<source>Connect an USB stick containing images first.&lt;br&gt;The images must be located in the root folder of the USB stick.</source>
<translation>Conecte primero una memoria USB que contenga imágenes.&lt;br&gt;Las imágenes deben estar ubicadas en la carpeta raíz de la memoria USB.</translation>
</message>
<message>
<location filename="../main.qml" line="1407"/>
<location filename="../main.qml" line="1728"/>
<source>SD card is write protected.&lt;br&gt;Push the lock switch on the left side of the card upwards, and try again.</source>
<translation>La tarjeta SD está protegida contra escritura.&lt;br&gt;Pulse hacia arriba el interruptor de bloqueo situado en el lado izquierdo de la tarjeta y vuelva a intentarlo.</translation>
</message>