From 96887e754cfe953d34536108444ac4145cf18789 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 7 May 2018 08:41:01 -0400 Subject: [PATCH] i18n: drop es_ES, add tooling --- CMakeLists.txt | 4 +- lang/CMakeLists.txt | 24 + lang/calamares_es_ES.ts | 2584 ----------------- lang/python/es_ES/LC_MESSAGES/python.mo | Bin 435 -> 0 bytes lang/python/es_ES/LC_MESSAGES/python.po | 57 - lang/txload.cpp | 189 ++ .../lang/es_ES/LC_MESSAGES/dummypythonqt.mo | Bin 435 -> 0 bytes .../lang/es_ES/LC_MESSAGES/dummypythonqt.po | 42 - 8 files changed, 216 insertions(+), 2684 deletions(-) create mode 100644 lang/CMakeLists.txt delete mode 100644 lang/calamares_es_ES.ts delete mode 100644 lang/python/es_ES/LC_MESSAGES/python.mo delete mode 100644 lang/python/es_ES/LC_MESSAGES/python.po create mode 100644 lang/txload.cpp delete mode 100644 src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo delete mode 100644 src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po diff --git a/CMakeLists.txt b/CMakeLists.txt index 22058858a..96143883c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,10 +204,12 @@ endif() # set( _tx_complete ca zh_CN zh_TW hr cs_CZ da fr lt pt_BR pt_PT es tr_TR) set( _tx_good sq ja pl sk ro it_IT hu he ru id de nl ) -set( _tx_ok bg uk ast is ar sv el es_MX gl en_GB es_ES th fi_FI hi +set( _tx_ok bg uk ast is ar sv el es_MX gl en_GB th fi_FI hi eu nb sr sl sr@latin mr es_PR kn kk et ) set( _tx_bad fr_CH gu lo fa ur uz ) +add_subdirectory( lang ) # i18n tools + ### ### Calamares application info ### diff --git a/lang/CMakeLists.txt b/lang/CMakeLists.txt new file mode 100644 index 000000000..65c0c4ca2 --- /dev/null +++ b/lang/CMakeLists.txt @@ -0,0 +1,24 @@ +# === This file is part of Calamares - === +# +# Calamares is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Calamares is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Calamares. If not, see . +# +# SPDX-License-Identifier: GPL-3.0+ +# License-Filename: LICENSE +# +### + +find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Xml ) + +add_executable(txload txload.cpp) +target_link_libraries(txload Qt5::Xml) diff --git a/lang/calamares_es_ES.ts b/lang/calamares_es_ES.ts deleted file mode 100644 index 743f38d7e..000000000 --- a/lang/calamares_es_ES.ts +++ /dev/null @@ -1,2584 +0,0 @@ - - - BootInfoWidget - - - The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - El ambiente de arranque de este sistema. Sistemas x86 más viejos solo pueden soportar BIOS. Sistemas modernos usualmente usan EFI, pero también puede aparecer como BIOS si su sistema está en modo de compatibilidad. - - - - This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - - - - - This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. - - - - - BootLoaderModel - - - Master Boot Record of %1 - Master Boot Record de %1 - - - - Boot Partition - Partición de arranque - - - - System Partition - Partición de sistema - - - - Do not install a boot loader - - - - - %1 (%2) - - - - - Calamares::DebugWindow - - - Form - Formulario - - - - GlobalStorage - Almacenamiento global - - - - JobQueue - Cola de trabajos - - - - Modules - Módulos - - - - Type: - Tipo: - - - - - none - - - - - Interface: - - - - - Tools - - - - - Debug information - Información de depuración - - - - Calamares::ExecutionViewStep - - - Install - Instalar - - - - Calamares::JobThread - - - Done - Hecho - - - - Calamares::ProcessJob - - - Run command %1 %2 - Ejecutar comando %1 %2 - - - - Running command %1 %2 - - - - - Calamares::PythonJob - - - Running %1 operation. - - - - - Bad working directory path - Ruta de trabajo errónea - - - - Working directory %1 for python job %2 is not readable. - No se puede leer la ruta de trabajo %1 de la tarea %2 de python. - - - - Bad main script file - Script principal erróneo - - - - Main script file %1 for python job %2 is not readable. - No se puede leer el script principal %1 de la tarea %2 de python. - - - - Boost.Python error in job "%1". - Error de Boost.Python en la tarea "%1". - - - - Calamares::ViewManager - - - &Back - &Atrás - - - - - &Next - &Siguiente - - - - - &Cancel - &Cancelar - - - - - Cancel installation without changing the system. - - - - - &Install - - - - - Cancel installation? - ¿Cancelar instalación? - - - - Do you really want to cancel the current install process? -The installer will quit and all changes will be lost. - ¿Estás seguro de que quieres cancelar la instalación en curso? -El instalador se cerrará y se perderán todos los cambios. - - - - &Yes - - - - - &No - - - - - &Close - - - - - Continue with setup? - ¿Continuar con la configuración? - - - - The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - - - - - &Install now - &Instalar ahora - - - - Go &back - Volver atrás. - - - - &Done - - - - - The installation is complete. Close the installer. - - - - - Error - Error - - - - Installation Failed - La instalación ha fallado - - - - CalamaresPython::Helper - - - Unknown exception type - Tipo de excepción desconocida - - - - unparseable Python error - Error de Python no analizable - - - - unparseable Python traceback - Rastreo de Python no analizable - - - - Unfetchable Python error. - Error de Python no alcanzable. - - - - CalamaresWindow - - - %1 Installer - Instalador %1 - - - - Show debug information - Mostrar la información de depuración - - - - CheckerWidget - - - This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - - - - - This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - - - - - This program will ask you some questions and set up %2 on your computer. - - - - - For best results, please ensure that this computer: - Para un mejor resultado asegurate que este ordenador: - - - - System requirements - - - - - ChoicePage - - - Form - Formulario - - - - After: - Después: - - - - <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. - - - - - Boot loader location: - - - - - %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. - - - - - Select storage de&vice: - - - - - - - - Current: - - - - - Reuse %1 as home partition for %2. - - - - - <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - - - - - <strong>Select a partition to install on</strong> - - - - - An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - - - - - The EFI system partition at %1 will be used for starting %2. - - - - - EFI system partition: - - - - - This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - - - - - <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - - - - - This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - - - - - <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - - - - - <strong>Replace a partition</strong><br/>Replaces a partition with %1. - - - - - This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - - This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - - ClearMountsJob - - - Clear mounts for partitioning operations on %1 - Limpiar los puntos de montaje para particionar %1 - - - - Clearing mounts for partitioning operations on %1. - - - - - Cleared all mounts for %1 - Unidades desmontadas en %1 - - - - ClearTempMountsJob - - - Clear all temporary mounts. - Quitar todos los puntos de montaje temporales. - - - - Clearing all temporary mounts. - - - - - Cannot get list of temporary mounts. - No se puede obtener la lista de puntos de montaje temporales. - - - - Cleared all temporary mounts. - Se han quitado todos los puntos de montaje temporales. - - - - CommandList - - - Could not run command. - - - - - No rootMountPoint is defined, so command cannot be run in the target environment. - - - - - ContextualProcessJob - - - Contextual Processes Job - - - - - CreatePartitionDialog - - - Create a Partition - Crear una partición - - - - MiB - - - - - Partition &Type: - &Tipo de partición: - - - - &Primary - &Primaria - - - - E&xtended - E&xtendida - - - - Fi&le System: - - - - - LVM LV name - - - - - Flags: - Marcas: - - - - &Mount Point: - Punto de &montaje: - - - - Si&ze: - Tamaño - - - - En&crypt - - - - - Logical - Logica - - - - Primary - Primaria - - - - GPT - GPT - - - - Mountpoint already in use. Please select another one. - - - - - CreatePartitionJob - - - Create new %2MB partition on %4 (%3) with file system %1. - - - - - Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - - - - - Creating new %1 partition on %2. - - - - - The installer failed to create partition on disk '%1'. - El instalador no ha podido crear la partición en el disco '%1' - - - - CreatePartitionTableDialog - - - Create Partition Table - Crear tabla de particiones - - - - Creating a new partition table will delete all existing data on the disk. - Al crear una tabla de particiones se borrarán todos los datos del disco. - - - - What kind of partition table do you want to create? - ¿Qué tipo de tabla de particiones quieres crear? - - - - Master Boot Record (MBR) - Master Boot Record (MBR) - - - - GUID Partition Table (GPT) - GUID de la tabla de particiones (GPT) - - - - CreatePartitionTableJob - - - Create new %1 partition table on %2. - Crear una nueva tabla de particiones %1 en %2. - - - - Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - Crear una nueva tabla de particiones <strong>%1</strong> en <strong>%2</strong> (%3). - - - - Creating new %1 partition table on %2. - - - - - The installer failed to create a partition table on %1. - El instalador no ha podido crear la tabla de particiones en %1. - - - - CreateUserJob - - - Create user %1 - Crear el usuario %1 - - - - Create user <strong>%1</strong>. - - - - - Creating user %1. - - - - - Sudoers dir is not writable. - No se puede escribir en el directorio Sudoers. - - - - Cannot create sudoers file for writing. - No se puede crear el archivo sudoers como de escritura. - - - - Cannot chmod sudoers file. - No se puede ejecutar chmod sobre el fichero de sudoers. - - - - Cannot open groups file for reading. - No se puede abrir para leer el fichero groups. - - - - Cannot create user %1. - No se puede crear el usuario %1. - - - - useradd terminated with error code %1. - useradd ha terminado con el código de error %1. - - - - Cannot add user %1 to groups: %2. - - - - - usermod terminated with error code %1. - usermod ha terminado con el código de error %1. - - - - Cannot set home directory ownership for user %1. - No se puede establecer el propietario del directorio personal del usuario %1. - - - - chown terminated with error code %1. - chown ha terminado con el código de error %1. - - - - DeletePartitionJob - - - Delete partition %1. - Borrar partición %1. - - - - Delete partition <strong>%1</strong>. - Borrar partición <strong>%1</strong>. - - - - Deleting partition %1. - - - - - The installer failed to delete partition %1. - El instalado no ha podido borrar la partición %1. - - - - DeviceInfoWidget - - - The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. - - - - - This device has a <strong>%1</strong> partition table. - - - - - This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. - - - - - This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page. - - - - - <br><br>This is the recommended partition table type for modern systems which start from an <strong>EFI</strong> boot environment. - - - - - <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. - - - - - DeviceModel - - - %1 - %2 (%3) - %1 - %2 (%3) - - - - DracutLuksCfgJob - - - Write LUKS configuration for Dracut to %1 - - - - - Skip writing LUKS configuration for Dracut: "/" partition is not encrypted - - - - - Failed to open %1 - - - - - DummyCppJob - - - Dummy C++ Job - - - - - EditExistingPartitionDialog - - - Edit Existing Partition - Editar las particiones existentes. - - - - Content: - Contenido: - - - - &Keep - - - - - Format - Formatear - - - - Warning: Formatting the partition will erase all existing data. - Aviso: Al formatear la partición se borrarán todos los datos. - - - - &Mount Point: - Punto de &montaje: - - - - Si&ze: - Tamaño - - - - MiB - - - - - Fi&le System: - - - - - Flags: - Marcas: - - - - Mountpoint already in use. Please select another one. - - - - - EncryptWidget - - - Form - Formulario - - - - En&crypt system - - - - - Passphrase - - - - - Confirm passphrase - - - - - Please enter the same passphrase in both boxes. - - - - - FillGlobalStorageJob - - - Set partition information - Establecer la información de la partición - - - - Install %1 on <strong>new</strong> %2 system partition. - - - - - Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - - - - - Install %2 on %3 system partition <strong>%1</strong>. - - - - - Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - - - - - Install boot loader on <strong>%1</strong>. - Instalar el cargador de arranque en <strong>%1</strong> - - - - Setting up mount points. - - - - - FinishedPage - - - Form - Formulario - - - - <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> - - - - - &Restart now - &Reiniciar ahora - - - - <h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment. - Hecho. %1 ha sido instalado en tu ordenador. Puedes reiniciar el nuevo sistema, o continuar en el modo %2 Live. - - - - <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - - - - - FinishedViewStep - - - Finish - Terminar - - - - Installation Complete - - - - - The installation of %1 is complete. - - - - - FormatPartitionJob - - - Format partition %1 (file system: %2, size: %3 MB) on %4. - Formatear partición %1 (sistema de ficheros: %2, tamaño: %3 MB) en %4. - - - - Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - Formatear la partición <strong>%3MB</strong> <strong>%1</strong> con el sistema de ficheros <strong>%2</strong>. - - - - Formatting partition %1 with file system %2. - - - - - The installer failed to format partition %1 on disk '%2'. - El instalador no ha podido formatear la partición %1 en el disco '%2' - - - - InteractiveTerminalPage - - - Konsole not installed - - - - - Please install KDE Konsole and try again! - - - - - Executing script: &nbsp;<code>%1</code> - - - - - InteractiveTerminalViewStep - - - Script - - - - - KeyboardPage - - - Set keyboard model to %1.<br/> - Establecer el modelo de teclado a %1.<br/> - - - - Set keyboard layout to %1/%2. - Establecer la disposición del teclado a %1/%2. - - - - KeyboardViewStep - - - Keyboard - Teclado - - - - LCLocaleDialog - - - System locale setting - Ajustar configuración local - - - - The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - - - - - &Cancel - &Cancelar - - - - &OK - - - - - LicensePage - - - Form - Formulario - - - - I accept the terms and conditions above. - - - - - <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - - - - - Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - - - - - <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - - - - - Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. - - - - - <strong>%1 driver</strong><br/>by %2 - %1 is an untranslatable product name, example: Creative Audigy driver - - - - - <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> - %1 is usually a vendor name, example: Nvidia graphics driver - - - - - <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - - - - - <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - - - - - <strong>%1 package</strong><br/><font color="Grey">by %2</font> - - - - - <strong>%1</strong><br/><font color="Grey">by %2</font> - - - - - <a href="%1">view license agreement</a> - - - - - LicenseViewStep - - - License - - - - - LocalePage - - - The system language will be set to %1. - - - - - The numbers and dates locale will be set to %1. - - - - - Region: - Región: - - - - Zone: - Zona: - - - - - &Change... - &Cambiar - - - - Set timezone to %1/%2.<br/> - Establecer la zona horaria a %1%2. <br/> - - - - %1 (%2) - Language (Country) - - - - - LocaleViewStep - - - Loading location data... - Cargando datos de ubicación... - - - - Location - Ubicación - - - - NetInstallPage - - - Name - Nombre - - - - Description - - - - - Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - - - - - Network Installation. (Disabled: Received invalid groups data) - - - - - NetInstallViewStep - - - Package selection - - - - - PWQ - - - Password is too short - - - - - Password is too long - - - - - Password is too weak - - - - - Memory allocation error when setting '%1' - - - - - Memory allocation error - - - - - The password is the same as the old one - - - - - The password is a palindrome - - - - - The password differs with case changes only - - - - - The password is too similar to the old one - - - - - The password contains the user name in some form - - - - - The password contains words from the real name of the user in some form - - - - - The password contains forbidden words in some form - - - - - The password contains less than %1 digits - - - - - The password contains too few digits - - - - - The password contains less than %1 uppercase letters - - - - - The password contains too few uppercase letters - - - - - The password contains less than %1 lowercase letters - - - - - The password contains too few lowercase letters - - - - - The password contains less than %1 non-alphanumeric characters - - - - - The password contains too few non-alphanumeric characters - - - - - The password is shorter than %1 characters - - - - - The password is too short - - - - - The password is just rotated old one - - - - - The password contains less than %1 character classes - - - - - The password does not contain enough character classes - - - - - The password contains more than %1 same characters consecutively - - - - - The password contains too many same characters consecutively - - - - - The password contains more than %1 characters of the same class consecutively - - - - - The password contains too many characters of the same class consecutively - - - - - The password contains monotonic sequence longer than %1 characters - - - - - The password contains too long of a monotonic character sequence - - - - - No password supplied - - - - - Cannot obtain random numbers from the RNG device - - - - - Password generation failed - required entropy too low for settings - - - - - The password fails the dictionary check - %1 - - - - - The password fails the dictionary check - - - - - Unknown setting - %1 - - - - - Unknown setting - - - - - Bad integer value of setting - %1 - - - - - Bad integer value - - - - - Setting %1 is not of integer type - - - - - Setting is not of integer type - - - - - Setting %1 is not of string type - - - - - Setting is not of string type - - - - - Opening the configuration file failed - - - - - The configuration file is malformed - - - - - Fatal failure - - - - - Unknown error - - - - - Page_Keyboard - - - Form - Formulario - - - - Keyboard Model: - Modelo de teclado: - - - - Type here to test your keyboard - Escribe aquí para probar el teclado - - - - Page_UserSetup - - - Form - Formulario - - - - What is your name? - ¿Cómo te llamas? - - - - What name do you want to use to log in? - ¿Qué nombre quieres usar para acceder al sistema? - - - - - - font-weight: normal - font-weight: normal - - - - <small>If more than one person will use this computer, you can set up multiple accounts after installation.</small> - <small>Si el ordenador lo usa más de una persona puedes configurar más cuentas después de la instalación.</small> - - - - Choose a password to keep your account safe. - Elige una contraseña para proteger tu cuenta. - - - - <small>Enter the same password twice, so that it can be checked for typing errors. A good password will contain a mixture of letters, numbers and punctuation, should be at least eight characters long, and should be changed at regular intervals.</small> - <small>Escribe dos veces la misma contraseña para que se pueda comprobar si tiene errores. Una buena contraseña está formada por letras, números y signos de puntuación, tiene por lo menos ocho caracteres y hay que cambiarla cada cierto tiempo.</small> - - - - What is the name of this computer? - ¿Cuál es el nombre de este ordenador? - - - - <small>This name will be used if you make the computer visible to others on a network.</small> - <small>Este es el nombre que se usará para que otros usuarios de la red puedan identificar el ordenador</small> - - - - Log in automatically without asking for the password. - - - - - Use the same password for the administrator account. - - - - - Choose a password for the administrator account. - Elige una contraseña para la cuenta de administrador. - - - - <small>Enter the same password twice, so that it can be checked for typing errors.</small> - <small>Escribe dos veces la contraseña para comprobar si tiene errores</small> - - - - PartitionLabelsView - - - Root - - - - - Home - - - - - Boot - - - - - EFI system - - - - - Swap - - - - - New partition for %1 - - - - - New partition - Nueva partición - - - - %1 %2 - - - - - PartitionModel - - - - Free Space - Espacio sin usar - - - - - New partition - Nueva partición - - - - Name - Nombre - - - - File System - Sistema de ficheros - - - - Mount Point - Punto de montaje - - - - Size - Tamaño - - - - PartitionPage - - - Form - Formulario - - - - Storage de&vice: - - - - - &Revert All Changes - Deshace&r todos los cambios - - - - New Partition &Table - Nueva &tabla de particiones - - - - &Create - &Crear - - - - &Edit - &Editar - - - - &Delete - Borrar - - - - Install boot &loader on: - - - - - Are you sure you want to create a new partition table on %1? - ¿Estás seguro de que quieres crear una nueva tabla de particiones en %1? - - - - PartitionViewStep - - - Gathering system information... - Recogiendo información sobre el sistema... - - - - Partitions - Particiones - - - - Install %1 <strong>alongside</strong> another operating system. - Instalar %1 <strong>junto con</strong> otro sistema operativo. - - - - <strong>Erase</strong> disk and install %1. - <strong>Borrar</strong> el disco e instalar %1. - - - - <strong>Replace</strong> a partition with %1. - <strong>Reemplazar</strong> una parición con %1. - - - - <strong>Manual</strong> partitioning. - Particionamiento <strong>manual</strong>. - - - - Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3). - Instalar %1 <strong>junto con</strong> otro sistema operativo en el disco <strong>%2</strong>(%3). - - - - <strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1. - <strong>Borrar</strong> el disco <strong>%2<strong> (%3) e instalar %1. - - - - <strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1. - <strong>Reemplazar</strong> una parición en el disco <strong>%2</strong> (%3) con %1. - - - - <strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2). - Particionar <strong>manualmente</strong> el disco <strong>%1</strong> (%2). - - - - Disk <strong>%1</strong> (%2) - Disco <strong>%1</strong> (%2) - - - - Current: - - - - - After: - Después: - - - - No EFI system partition configured - - - - - An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - - - - - EFI system partition flag not set - - - - - An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - - - - - Boot partition not encrypted - - - - - A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - - - - - PlasmaLnfJob - - - Plasma Look-and-Feel Job - - - - - - Could not select KDE Plasma Look-and-Feel package - - - - - PlasmaLnfPage - - - Form - Formulario - - - - Placeholder - - - - - Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel. - - - - - PlasmaLnfViewStep - - - Look-and-Feel - - - - - ProcessResult - - - -There was no output from the command. - - - - - -Output: - - - - - - External command crashed. - - - - - Command <i>%1</i> crashed. - - - - - External command failed to start. - - - - - Command <i>%1</i> failed to start. - - - - - Internal error when starting command. - - - - - Bad parameters for process job call. - Parámetros erróneos en la llamada al proceso. - - - - External command failed to finish. - - - - - Command <i>%1</i> failed to finish in %2 seconds. - - - - - External command finished with errors. - - - - - Command <i>%1</i> finished with exit code %2. - - - - - QObject - - - Default Keyboard Model - Modelo de teclado por defecto - - - - - Default - Por defecto - - - - unknown - - - - - extended - - - - - unformatted - - - - - swap - - - - - Unpartitioned space or unknown partition table - - - - - ReplaceWidget - - - Form - Formulario - - - - Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition. - Selecciona donde instalar %1.<br/><font color="red">Aviso: </font>Se borrarán todos los archivos de la partición seleccionada. - - - - The selected item does not appear to be a valid partition. - El objeto seleccionado no parece ser una particón válida. - - - - %1 cannot be installed on empty space. Please select an existing partition. - %1 no se puede instalar en un sitio vacío. Selecciona una partición existente. - - - - %1 cannot be installed on an extended partition. Please select an existing primary or logical partition. - %1 no se puede instalar en una partición extendida. Selecciona una partición primaria o lógica. - - - - %1 cannot be installed on this partition. - No se puede instalar %1 en esta partición. - - - - Data partition (%1) - Partición de datos (%1) - - - - Unknown system partition (%1) - Partición de sistema desconocida (%1) - - - - %1 system partition (%2) - %1 partición de sistema (%2) - - - - <strong>%4</strong><br/><br/>The partition %1 is too small for %2. Please select a partition with capacity at least %3 GiB. - <strong>%4</strong><br/><br/>La partición %1 no es lo suficientemente grande para %2. Selecciona otra partición que tenga al menos %3 GiB. - - - - <strong>%2</strong><br/><br/>An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - - - - - - - <strong>%3</strong><br/><br/>%1 will be installed on %2.<br/><font color="red">Warning: </font>all data on partition %2 will be lost. - - - - - The EFI system partition at %1 will be used for starting %2. - - - - - EFI system partition: - - - - - RequirementsChecker - - - Gathering system information... - Recogiendo información sobre el sistema... - - - - has at least %1 GB available drive space - Tenga disponibles por lo menos %1 GB libres - - - - There is not enough drive space. At least %1 GB is required. - - - - - has at least %1 GB working memory - Tenga disponibles por lo menos %1 GB de memoria - - - - The system does not have enough working memory. At least %1 GB is required. - - - - - is plugged in to a power source - está enchufado a la corriente - - - - The system is not plugged in to a power source. - - - - - is connected to the Internet - esté conectado a internet - - - - The system is not connected to the Internet. - - - - - The installer is not running with administrator rights. - - - - - The screen is too small to display the installer. - - - - - ResizePartitionJob - - - Resize partition %1. - Redimensionar partición %1. - - - - Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - Redimensionar las partición <strong>%1</strong> de <strong>%2MB</strong> a <strong>%3MB</strong>. - - - - Resizing %2MB partition %1 to %3MB. - - - - - The installer failed to resize partition %1 on disk '%2'. - El instalador no ha podido redimensionar la partición %1 del disco '%2'. - - - - ScanningDialog - - - Scanning storage devices... - - - - - Partitioning - - - - - SetHostNameJob - - - Set hostname %1 - Establecer el nombre del equipo %1 - - - - Set hostname <strong>%1</strong>. - - - - - Setting hostname %1. - - - - - - Internal Error - Error interno - - - - - Cannot write hostname to target system - No se puede escribir el nombre del equipo en el sistema destino - - - - SetKeyboardLayoutJob - - - Set keyboard model to %1, layout to %2-%3 - Establecer el modelo de teclado %1, a una disposición %2-%3 - - - - Failed to write keyboard configuration for the virtual console. - No se ha podido guardar la configuración de la consola virtual. - - - - - - Failed to write to %1 - No se ha podido escribir en %1 - - - - Failed to write keyboard configuration for X11. - No se ha podido guardar la configuración del teclado de X11. - - - - Failed to write keyboard configuration to existing /etc/default directory. - - - - - SetPartFlagsJob - - - Set flags on partition %1. - - - - - Set flags on %1MB %2 partition. - - - - - Set flags on new partition. - - - - - Clear flags on partition <strong>%1</strong>. - - - - - Clear flags on %1MB <strong>%2</strong> partition. - - - - - Clear flags on new partition. - - - - - Flag partition <strong>%1</strong> as <strong>%2</strong>. - - - - - Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - - - - - Flag new partition as <strong>%1</strong>. - - - - - Clearing flags on partition <strong>%1</strong>. - - - - - Clearing flags on %1MB <strong>%2</strong> partition. - - - - - Clearing flags on new partition. - - - - - Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - - - - - Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - - - - - Setting flags <strong>%1</strong> on new partition. - - - - - The installer failed to set flags on partition %1. - - - - - SetPasswordJob - - - Set password for user %1 - Establecer contraseña del usuario %1 - - - - Setting password for user %1. - - - - - Bad destination system path. - El destino de la ruta del sistema es errónea. - - - - rootMountPoint is %1 - El punto de montaje de root es %1 - - - - Cannot disable root account. - - - - - passwd terminated with error code %1. - - - - - Cannot set password for user %1. - No se puede establecer la contraseña del usuario %1. - - - - usermod terminated with error code %1. - usermod ha terminado con el código de error %1. - - - - SetTimezoneJob - - - Set timezone to %1/%2 - Establecer el uso horario a %1%2 - - - - Cannot access selected timezone path. - No se puede encontrar la ruta a la zona horaria seleccionada. - - - - Bad path: %1 - Ruta errónea: %1 - - - - Cannot set timezone. - No se puede establecer la zona horaria. - - - - Link creation failed, target: %1; link name: %2 - No se puede crear el enlace, objetivo: %1; nombre del enlace: %2 - - - - Cannot set timezone, - - - - - Cannot open /etc/timezone for writing - - - - - ShellProcessJob - - - Shell Processes Job - - - - - SlideCounter - - - %L1 / %L2 - slide counter, %1 of %2 (numeric) - - - - - SummaryPage - - - This is an overview of what will happen once you start the install procedure. - Este es un resumen de que pasará una vez que se inicie la instalación. - - - - SummaryViewStep - - - Summary - Resumen - - - - TrackingInstallJob - - - Installation feedback - - - - - Sending installation feedback. - - - - - Internal error in install-tracking. - - - - - HTTP request timed out. - - - - - TrackingMachineNeonJob - - - Machine feedback - - - - - Configuring machine feedback. - - - - - - Error in machine feedback configuration. - - - - - Could not configure machine feedback correctly, script error %1. - - - - - Could not configure machine feedback correctly, Calamares error %1. - - - - - TrackingPage - - - Form - Formulario - - - - Placeholder - - - - - <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> - - - - - - - TextLabel - - - - - - - ... - - - - - <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> - - - - - Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - - - - - By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - - - - - By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - - - - - By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - - - - - TrackingViewStep - - - Feedback - - - - - UsersPage - - - Your username is too long. - Tu nombre de usuario es demasiado largo. - - - - Your username contains invalid characters. Only lowercase letters and numbers are allowed. - Tu nombre de usuario contiene caracteres no válidos. Solo se pueden usar letras minúsculas y números. - - - - Your hostname is too short. - El nombre de tu equipo es demasiado corto. - - - - Your hostname is too long. - El nombre de tu equipo es demasiado largo. - - - - Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - Tu nombre de equipo contiene caracteres no válidos Sólo se pueden usar letras, números y guiones. - - - - - Your passwords do not match! - Tu contraseña no coincide - - - - UsersViewStep - - - Users - Usuarios - - - - WelcomePage - - - Form - Formulario - - - - &Language: - - - - - &Release notes - Notas de lanzamiento - - - - &Known issues - Problemas conocidos - - - - &Support - &Soporte - - - - &About - Sobre - - - - <h1>Welcome to the %1 installer.</h1> - - - - - <h1>Welcome to the Calamares installer for %1.</h1> - - - - - About %1 installer - Sobre el instalador %1 - - - - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - - - - - %1 support - Soporte %1 - - - - WelcomeViewStep - - - Welcome - Bienvenido - - - \ No newline at end of file diff --git a/lang/python/es_ES/LC_MESSAGES/python.mo b/lang/python/es_ES/LC_MESSAGES/python.mo deleted file mode 100644 index 073be3028def8a643410d2153328ec34aadc7c39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmYL^(N2Rf6ozN?ic7D(sEHR_^sIo!U>7cMV@i}k7%tHpQ(4C_P)OUk?LmA!pT#oG z_9tI@n*Qhfr$47B-yN+Z&6(yxbF8`2v~o0C{dlL(*0WbE>Q9y_2<9+jLKZbADE5X= z-h+>3eliWBiIK3T779X{7jw8@z958Rdx<-~s?6x*d zZG?n<747hU->dH>5JoWa&|^fx;PNe+_{KBk`HJQYQbsF+rVZtVT%xWn3f@EArBaO~ z7_Zmsz7mwnV!<~3tgdiIOIlIEBv!grV%s!tEzIP*KgB&G3_}0#JF9OR!`uy;il9f1C%YPkW9HR=@^`YuT5Jp0Y1;_dBJmnoR327HzsJ8WyIx5&=SVAs3bwW V*, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-04-13 10:28-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/modules/umount/main.py:40 -msgid "Unmount file systems." -msgstr "" - -#: src/modules/dummypython/main.py:44 -msgid "Dummy python job." -msgstr "" - -#: src/modules/dummypython/main.py:97 -msgid "Dummy python step {}" -msgstr "" - -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:63 src/modules/packages/main.py:73 -msgid "Install packages." -msgstr "" - -#: src/modules/packages/main.py:66 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:69 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" diff --git a/lang/txload.cpp b/lang/txload.cpp new file mode 100644 index 000000000..51b9dacb1 --- /dev/null +++ b/lang/txload.cpp @@ -0,0 +1,189 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include +#include +#include +#include + +#include + +bool load_file(const char* filename, QDomDocument& doc) +{ + QFile file(filename); + QString err; + int err_line, err_column; + if (!file.open(QIODevice::ReadOnly)) + { + qDebug() << "Could not open" << filename; + return false; + } + QByteArray ba( file.read(1024 * 1024) ); + qDebug() << "Read" << ba.length() << "bytes from" << filename; + + if (!doc.setContent(ba, &err, &err_line, &err_column)) { + qDebug() << "Could not read" << filename << ':' << err_line << ':' << err_column << ' ' << err; + file.close(); + return false; + } + file.close(); + + return true; +} + +QDomElement find_context(QDomDocument& doc, const QString& name) +{ + QDomElement top = doc.documentElement(); + QDomNode n = top.firstChild(); + while (!n.isNull()) { + if (n.isElement()) { + QDomElement e = n.toElement(); + if ( ( e.tagName() == "context" ) && ( e.firstChildElement( "name" ).text() == name ) ) + return e; + } + n = n.nextSibling(); + } + + return QDomElement(); +} + +QDomElement find_message(QDomElement& context, const QString& source) +{ + QDomNode n = context.firstChild(); + while (!n.isNull()) { + if (n.isElement()) { + QDomElement e = n.toElement(); + if ( e.tagName() == "message" ) + { + QString msource = e.firstChildElement( "source" ).text(); + if ( msource == source ) + return e; + } + } + n = n.nextSibling(); + } + return QDomElement(); +} + +bool merge_into(QDomElement& master, QDomElement& sub) +{ + QDomNode n = sub.firstChild(); + while (!n.isNull()) { + if (n.isElement()) { + QDomElement e = n.toElement(); + if ( e.tagName() == "message" ) + { + QString source = e.firstChildElement( "source" ).text(); + QString translation = e.firstChildElement( "translation" ).text(); + QDomElement masterTranslation = find_message( master, source ); + if ( masterTranslation.isNull() ) + { + qDebug() << "No master translation for" << source; + return false; + } + + QString msource = masterTranslation.firstChildElement( "source" ).text(); + QString mtranslation = masterTranslation.firstChildElement( "translation" ).text(); + + if ( source != msource ) + { + qDebug() << "Mismatch for messages\n" << source << '\n' << msource; + return false; + } + if ( !translation.isEmpty() && ( translation != mtranslation ) ) + { + qDebug() << "\n\n\nSource:" << source << "\nTL1:" << mtranslation << "\nTL2:" << translation; + } + } + } + n = n.nextSibling(); + } + + return true; +} + + + +bool merge_into(QDomDocument& master, QDomElement& context) +{ + QDomElement name = context.firstChildElement( "name" ); + if ( name.isNull() ) + return false; + + QString contextname = name.text(); + QDomElement masterContext = find_context( master, contextname ); + if ( masterContext.isNull() ) + { + qDebug() << "Master document has no context" << contextname; + return false; + } + + return merge_into( masterContext, context ); +} + +bool merge_into(QDomDocument& master, QDomDocument& sub) +{ + QDomElement top = sub.documentElement(); + QDomNode n = top.firstChild(); + while (!n.isNull()) { + if (n.isElement()) { + QDomElement e = n.toElement(); + if ( e.tagName() == "context" ) + if ( !merge_into( master, e ) ) + return false; + } + n = n.nextSibling(); + } + + return true; +} + +int main(int argc, char** argv) +{ + QCoreApplication a(argc, argv); + + if (argc < 2) + return 1; + + QDomDocument doc("master"); + if ( !load_file(argv[1], doc) ) + return 1; + + for (int i = 2; i < argc; ++i) + { + QDomDocument subdoc("sub"); + if ( !load_file(argv[i], subdoc) ) + return 1; + if ( !merge_into( doc, subdoc ) ) + return 1; + } + + QString outfilename( argv[1] ); + outfilename.append( ".new" ); + QFile outfile(outfilename); + if (!outfile.open(QIODevice::WriteOnly)) + { + qDebug() << "Could not open" << outfilename; + return 1; + } + + outfile.write( doc.toString(4).toUtf8() ); + outfile.close(); + + return 0; +} diff --git a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo deleted file mode 100644 index 35a601558dd3c61a39e160a37638f921594f852c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmYL^(N4lJ6oxT+wM(zPsEHR4J**=JN69WG3|(|=8IweBOdVy+Y~9ipfd}#Rd=@)2 z@F!n-n*Qhfr$6Us-z}{Z&4uPlbE>(~G_o~2{W#EP<2fi2)hA08_zRdbA@hn86uF}( z_rXJRFP{0~)QDMK2?c@7@&(+lGYLsWkP(Fmj0B@fH^G=HMo&1%YXxk7DSif1{?6)RV^nd)xPoL? z>#Y^rDzh$h$PlF~DkM|ROELlb=xfrJOn}GJYLWAdAp0X%hm8r^XBknk7PNp#B}z#U WulHB!^oHoKblMzUI>_n_jn*#}!h7rh diff --git a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po deleted file mode 100644 index 5aa724d08..000000000 --- a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/modules/dummypythonqt/main.py:84 -msgid "Click me!" -msgstr "" - -#: src/modules/dummypythonqt/main.py:94 -msgid "A new QLabel." -msgstr "" - -#: src/modules/dummypythonqt/main.py:97 -msgid "Dummy PythonQt ViewStep" -msgstr "" - -#: src/modules/dummypythonqt/main.py:183 -msgid "The Dummy PythonQt Job" -msgstr "" - -#: src/modules/dummypythonqt/main.py:186 -msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "" - -#: src/modules/dummypythonqt/main.py:190 -msgid "A status message for Dummy PythonQt Job." -msgstr ""