summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Pennequin <nicolas.pennequin@free.fr>2008-05-11 17:21:14 +0000
committerNicolas Pennequin <nicolas.pennequin@free.fr>2008-05-11 17:21:14 +0000
commit9c54187678281077b8700c1c107f54a0b40d7050 (patch)
treeb07061b11477bfbdfddaa52bee43f4993167dbc0
parent850c4f98baecf3d3c28e916927d15d3bbd0cd502 (diff)
downloadrockbox-9c54187678281077b8700c1c107f54a0b40d7050.tar.gz
rockbox-9c54187678281077b8700c1c107f54a0b40d7050.zip
Set svn:eol-style on files from the rbutil directory and its subdirectories.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17462 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/rbunzip.cpp96
-rw-r--r--rbutil/rbutilqt/rbutil_de.ts5076
-rw-r--r--rbutil/rbutilqt/rbutil_fr.ts5144
-rw-r--r--rbutil/rbutilqt/rbutil_tr.ts5104
-rw-r--r--rbutil/rbutilqt/rbutil_zh_CN.ts5252
-rw-r--r--rbutil/rbutilqt/rbutil_zh_TW.ts5268
-rw-r--r--rbutil/rbutilqt/rbutilqt.rc4
-rw-r--r--rbutil/rbutilqt/rbzip.cpp134
-rw-r--r--rbutil/rbutilqt/rbzip.h42
-rw-r--r--rbutil/rbutilqt/zip/unzip.cpp2720
-rw-r--r--rbutil/rbutilqt/zip/unzip.h288
-rw-r--r--rbutil/rbutilqt/zip/unzip_p.h224
-rw-r--r--rbutil/rbutilqt/zip/zip.cpp2442
-rw-r--r--rbutil/rbutilqt/zip/zip.h230
-rw-r--r--rbutil/rbutilqt/zip/zip_p.h186
-rw-r--r--rbutil/rbutilqt/zip/zipentry_p.h156
-rw-r--r--rbutil/rbutilqt/zlib/zconf.h652
-rw-r--r--rbutil/rbutilqt/zlib/zlib.h2400
18 files changed, 17709 insertions, 17709 deletions
diff --git a/rbutil/rbutilqt/rbunzip.cpp b/rbutil/rbutilqt/rbunzip.cpp
index d446ae0f6e..49d12156ea 100644
--- a/rbutil/rbutilqt/rbunzip.cpp
+++ b/rbutil/rbutilqt/rbunzip.cpp
@@ -1,48 +1,48 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- *
- * Copyright (C) 2008 by Dominik Riebeling
- * $Id$
- *
- * All files in this archive are subject to the GNU General Public License.
- * See the file COPYING in the source tree root for full license agreement.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-
-#include "rbunzip.h"
-#include <QtCore>
-
-
-UnZip::ErrorCode RbUnZip::extractArchive(const QString& dest)
-{
- QStringList files = this->fileList();
- UnZip::ErrorCode error = Ok;
- m_abortunzip = false;
-
- int total = files.size();
- for(int i = 0; i < total; i++) {
- qDebug() << __func__ << files.at(i);
- error = this->extractFile(files.at(i), dest, UnZip::ExtractPaths);
- emit unzipProgress(i + 1, total);
- QCoreApplication::processEvents(); // update UI
- if(m_abortunzip)
- error = SkipAll;
- if(error != Ok)
- break;
- }
- return error;
-}
-
-void RbUnZip::abortUnzip(void)
-{
- m_abortunzip = true;
-}
-
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2008 by Dominik Riebeling
+ * $Id$
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "rbunzip.h"
+#include <QtCore>
+
+
+UnZip::ErrorCode RbUnZip::extractArchive(const QString& dest)
+{
+ QStringList files = this->fileList();
+ UnZip::ErrorCode error = Ok;
+ m_abortunzip = false;
+
+ int total = files.size();
+ for(int i = 0; i < total; i++) {
+ qDebug() << __func__ << files.at(i);
+ error = this->extractFile(files.at(i), dest, UnZip::ExtractPaths);
+ emit unzipProgress(i + 1, total);
+ QCoreApplication::processEvents(); // update UI
+ if(m_abortunzip)
+ error = SkipAll;
+ if(error != Ok)
+ break;
+ }
+ return error;
+}
+
+void RbUnZip::abortUnzip(void)
+{
+ m_abortunzip = true;
+}
+
diff --git a/rbutil/rbutilqt/rbutil_de.ts b/rbutil/rbutilqt/rbutil_de.ts
index e7cad603d2..f2daefab0f 100644
--- a/rbutil/rbutilqt/rbutil_de.ts
+++ b/rbutil/rbutilqt/rbutil_de.ts
@@ -1,2538 +1,2538 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="de">
-<defaultcodec></defaultcodec>
-<context>
- <name>BootloaderInstaller</name>
- <message>
- <location filename="installbootloader.cpp" line="32"/>
- <source>Starting bootloader installation</source>
- <translation>Beginne Bootloader-Installation</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="122"/>
- <source>unsupported install Method</source>
- <translation>Nicht unterstützte Installationsmethode</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="85"/>
- <source>Starting bootloader uninstallation</source>
- <translation>Beginne Bootloader-Deinstallation</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="116"/>
- <source>No uninstallation possible</source>
- <translation>Deinstallation nicht möglich</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="151"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="157"/>
- <source>Download error: %1</source>
- <translation>Downloadfehler: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="162"/>
- <source>Download finished.</source>
- <translation>Download abgeschlossen.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1093"/>
- <source>Downloading file %1.%2</source>
- <translation>Herunterladen von Datei %1.%2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="323"/>
- <source>Could not find the Original Firmware at: %1</source>
- <translation>Konnte Original-Firmware nicht finden: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="545"/>
- <source>Could not remove the Firmware at: %1</source>
- <translation>Konnte die Firmware nicht entfernen: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="554"/>
- <source>Could not copy the Firmware from: %1 to %2</source>
- <translation>Konnte die Firmware nicht von %1 nach %2 kopieren</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="360"/>
- <source>Finishing bootloader install</source>
- <translation>Bootloader-Installation beendet</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="370"/>
- <source>Could not find the Firmware at: %1</source>
- <translation>Konnte die Firmware nicht finden: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="596"/>
- <source>Could not rename: %1 to %2</source>
- <translation>Konnte %1 nicht nach %2 umbenennen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1207"/>
- <source>Could not copy: %1 to %2</source>
- <translation>Konnte nicht %1 nach %2 kopieren</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1217"/>
- <source>Bootloader install finished successfully.</source>
- <translation>Bootloader-Installation erfolgreich beendet.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1218"/>
- <source>To finish the Bootloader installation, follow the steps below.</source>
- <translation>Um die Bootloader-Installation zu beenden, folge den nachfolgenden Schritten.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1219"/>
- <source>1. Eject/Unmount your Device.</source>
- <translation>1. Gerät &quot;sicher&quot; entfernen.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="413"/>
- <source>2. Unplug USB and any Power adapters.</source>
- <translation>2. Entferne USB- und Stromkabel.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="414"/>
- <source>3. Hold POWER to turn the Device off.</source>
- <translation>3. Halte POWER um das Gerät auszuschalten.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="415"/>
- <source>4. Toggle the Battery switch on the Device.</source>
- <translation>4. Schalte den Akku an und wieder aus.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="416"/>
- <source>5. Hold POWER to boot the Rockbox bootloader.</source>
- <translation>5. Benutze den POWER-Knopf um den Rockbox-Bootloader zu booten.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="471"/>
- <source>2. Turn you Device OFF.</source>
- <translation>2. Schalte das Gerät aus.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="472"/>
- <source>3. Insert Charger.</source>
- <translation>3. Stecke das Ladegerät ein.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="582"/>
- <source>Firmware does not exist: %1</source>
- <translation>Firmware existiert nicht: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="639"/>
- <source>Searching for ipods</source>
- <translation>Suche Ipods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="645"/>
- <source>No Ipods found</source>
- <translation>Keine Ipods gefunden</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="651"/>
- <source>Too many Ipods found</source>
- <translation>Zu viele Ipods gefunden</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="781"/>
- <source>could not open ipod</source>
- <translation>Konnte Ipod nicht öffnen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="996"/>
- <source>could not read partitiontable</source>
- <translation>Konnte die Partitionstabelle nicht lesen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="795"/>
- <source>No partition 0 on disk</source>
- <translation>Keine Partition 0 auf Laufwerk</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="800"/>
- <source>[INFO] Part Start Sector End Sector Size (MB) Type
-</source>
- <translation>[INFO] Part Start Sector End Sector Size (MB) Type</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="806"/>
- <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
- <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="823"/>
- <source>Failed to read firmware directory</source>
- <translation>Konnte das Firmwareverzeichniss nicht lesen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="829"/>
- <source>Unknown version number in firmware (%1)</source>
- <translation>Unbekannte Versionsnummer in Firmware (%1)</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
- <translation type="obsolete">Warnung, dies ist ein MacPod, Rockbox funktioniert damit nicht. Konvertiere das Gerät zu einem WinPod</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="847"/>
- <source>Could not open Ipod in RW mode</source>
- <translation>Konnte den Ipod nicht im RW-Modus öffnen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="751"/>
- <source>No bootloader detected.</source>
- <translation>Kein Bootloader erkannt.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="966"/>
- <source>Successfully removed Bootloader</source>
- <translation>Der Bootloader wurde erfolgreich entfernt</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="974"/>
- <source>--delete-bootloader failed.</source>
- <translation>--delete-bootloader fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1031"/>
- <source>Successfully added Bootloader</source>
- <translation>Bootloader wurde erfolgreich installiert</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1039"/>
- <source>failed to add Bootloader</source>
- <translation>Konnte Bootloader nicht installieren</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="882"/>
- <source>Searching for sansas</source>
- <translation>Suche Sansas</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="888"/>
- <source>No Sansa found</source>
- <translation>Keine Sansa gefunden</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="894"/>
- <source>Too many Sansas found</source>
- <translation>Zuviele Sansas gefunden</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="989"/>
- <source>could not open Sansa</source>
- <translation>Konnte Sansa nicht öffnen </translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Disk is not an E200 (%1), aborting.</source>
- <translation type="obsolete">Dies ist kein E200 (%1), Fehler.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1017"/>
- <source>********************************************
-OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
-You must reinstall the original Sansa firmware before running
-sansapatcher for the first time.
-See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
-*********************************************
-</source>
- <translation>********************************************
-ALTE ROCKBOX-INSTALLATION GEFUNDEN, BEENDE.Du musst die Original-Firmware neu installieren bevorsansapatcher ausgeführt werden kann.Siehe http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install*********************************************</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1024"/>
- <source>Could not open Sansa in RW mode</source>
- <translation>Konnte Sansa nicht im RW-Modus öffnen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1055"/>
- <source>Could not MD5Sum original firmware</source>
- <translation>Konnte MD5-Summe der Originalfirmware nicht berechnen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1085"/>
- <source>Could not detect firmware type</source>
- <translation>Konnte Firmwaretyp nicht erkennen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1148"/>
- <source>Error in descramble</source>
- <translation>Fehler bei descramble</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1158"/>
- <source>Error in patching</source>
- <translation>Fehler beim Patchen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1168"/>
- <source>Error in scramble</source>
- <translation>Fehler beim scramblen</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1179"/>
- <source>Error in checksumming</source>
- <translation>Fehler bei der Prüfsummenbildung</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1220"/>
- <source>2. Boot into the original Firmware.</source>
- <translation>2. Boote die Original-Firmware.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1221"/>
- <source>3. Use the Firmware flash option in the Original Firmware.</source>
- <translation>3. Flashe die Firmware entsprechend der Originalanleitung.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1222"/>
- <source>4. Reboot.</source>
- <translation>4. Boote neu.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="224"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="237"/>
- <source>Creating installation log</source>
- <translation>Erzeuge Installationslog</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="253"/>
- <source>Editing installation log</source>
- <translation>Verändere Installationslog</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="533"/>
- <source>Original Firmware does not exist: %1</source>
- <translation>Original-Firmware %1 existiert nicht</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="839"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
-See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
- <translation>Achtung dies ist ein MacPod. Rockbox funktioniert so nicht. Konvertiere es zu einem WinPod
-Siehe http://www.rockbox.org/wiki/IpodConversionToFAT32</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1005"/>
- <source>Disk is not a Sansa (%1), aborting.</source>
- <translation>Gerät ist kein Sansa (%1), stoppe.</translation>
- </message>
-</context>
-<context>
- <name>BrowseDirtreeFrm</name>
- <message>
- <location filename="browsedirtreefrm.ui" line="13"/>
- <source>Find Directory</source>
- <translation>Suche Verzeichnis</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="19"/>
- <source>Browse to the destination folder</source>
- <translation>Suche Zielordner</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="47"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="57"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
-</context>
-<context>
- <name>BrowseOFFrm</name>
- <message>
- <location filename="browseoffrm.ui" line="13"/>
- <source>Find original Firmware</source>
- <translation>Finde Original-Firmware</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="19"/>
- <source>Browse for a downloaded copy of the original firmware</source>
- <translation>Browse nach einer heruntergeladenen Kopie der Original-Firmware</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="32"/>
- <source>Browse</source>
- <translation>Browser</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="54"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="64"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
-</context>
-<context>
- <name>Config</name>
- <message>
- <location filename="configure.cpp" line="110"/>
- <source>Language changed</source>
- <translation>Sprache geändert</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="111"/>
- <source>You need to restart the application for the changed language to take effect.</source>
- <translation>Die Anwendung muss neu gestartet werden um die geänderten Spracheinstallungen anzuwenden.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="593"/>
- <source>Autodetection</source>
- <translation>Autoerkennung</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="587"/>
- <source>Could not detect a Mountpoint.
-Select your Mountpoint manually.</source>
- <translation>Konnte Einhängepunkt nicht erkennen.
-Bitte manuell auswählen.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="595"/>
- <source>Could not detect a device.
-Select your device and Mountpoint manually.</source>
- <translation>Konnte kein Gerät erkennen.
-Bitte Gerät und den Einhängepunt manuell auswählen.</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Current cache size is %1 kiB.</source>
- <translation type="obsolete">Aktuelle Cachegröße ist %1 kiB.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="603"/>
- <source>Really delete cache?</source>
- <translation>Cache wirklich löschen?</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="606"/>
- <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
- <translation>Cache wirklich löschen? Stelle sicher dass die Einstellung korrekt ist da dies &lt;b&gt;alle&lt;/b&gt; Dateien im Cache-Ordner löschen wird!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="612"/>
- <source>Path wrong!</source>
- <translation>Pfad fehlerhaft!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="613"/>
- <source>The cache path is invalid. Aborting.</source>
- <translation>Cachepfad ist ungültig. Abbruch.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="56"/>
- <source> (%1)</source>
- <translation>(%1)</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="220"/>
- <source>Current cache size is %L1 kiB.</source>
- <translation>Momentane Cachegröße ist %L1 kiB. </translation>
- </message>
- <message>
- <location filename="configure.cpp" line="418"/>
- <source>(system proxy is disabled)</source>
- <translation>(system proxy ist deaktiviert)</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="485"/>
- <source>Select your device</source>
- <translation>Wähle dein Gerät</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="569"/>
- <source>Sansa e200 in MTP mode found!
-You need to change your player to MSC mode for installation. </source>
- <translation>Sansa e200 in MTP Modus gefunden!
-Stellen sie ihren Player auf MSC Mode um.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="572"/>
- <source>H10 20GB in MTP mode found!
-You need to change your player to UMS mode for installation. </source>
- <translation>H10 20GB in MTP Modus gefunden!
-Ändern sie den Modus auf UMS.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="573"/>
- <source>Unless you changed this installation will fail!</source>
- <translation>Solange sie dies nicht ändern, wird die Installation fehlschlagen!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="575"/>
- <source>Fatal error</source>
- <translation>Fataler Fehler</translation>
- </message>
-</context>
-<context>
- <name>ConfigForm</name>
- <message>
- <location filename="configurefrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>Konfiguration</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="19"/>
- <source>Configure Rockbox Utility</source>
- <translation>Rockbox Utility konfigurieren</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="507"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="517"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="109"/>
- <source>&amp;Proxy</source>
- <translation>&amp;Proxy</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="118"/>
- <source>&amp;No Proxy</source>
- <translation>&amp;kein Proxy</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="135"/>
- <source>&amp;Manual Proxy settings</source>
- <translation>&amp;Manuelle Proxyeinstellungen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="142"/>
- <source>Proxy Values</source>
- <translation>Proxyeinstellungen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="148"/>
- <source>&amp;Host:</source>
- <translation>&amp;Host:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="165"/>
- <source>&amp;Port:</source>
- <translation>&amp;Port:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="188"/>
- <source>&amp;Username</source>
- <translation>&amp;Benutzername</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="225"/>
- <source>&amp;Language</source>
- <translation>&amp;Sprache</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="30"/>
- <source>&amp;Device</source>
- <translation>&amp;Gerät</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="39"/>
- <source>Select your device in the &amp;filesystem</source>
- <translation>Gerät im &amp;Dateisystem auswählen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="286"/>
- <source>&amp;Browse</source>
- <translation>D&amp;urchsuchen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="66"/>
- <source>&amp;Select your audio player</source>
- <translation>Audio-Player au&amp;swählen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="77"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="98"/>
- <source>&amp;Autodetect</source>
- <translation>&amp;Autoerkennung</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="128"/>
- <source>Use S&amp;ystem values</source>
- <translation>S&amp;ystemwerte verwenden</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="198"/>
- <source>Pass&amp;word</source>
- <translation>Pass&amp;wort</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="238"/>
- <source>Cac&amp;he</source>
- <translation>Cac&amp;he</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="244"/>
- <source>Download cache settings</source>
- <translation>Einstellungen Downloadcache</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="250"/>
- <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
- <translation>Rockbox Utility verwendet einen lokalen Download-Cache um die übertragene Datenmenge zu begrenzen. Du kannst den Pfad zum Cache ändern und ihn im Offline-Modus als lokales Repository verwenden.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="260"/>
- <source>Current cache size is %1</source>
- <translation>Aktuelle Cachegröße ist %1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="269"/>
- <source>P&amp;ath</source>
- <translation>P&amp;fad</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="300"/>
- <source>Disable local &amp;download cache</source>
- <translation>lokalen &amp;Downloadcache ausschalten</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="310"/>
- <source>O&amp;ffline mode</source>
- <translation>O&amp;ffline-Modus</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="345"/>
- <source>Clean cache &amp;now</source>
- <translation>C&amp;ache löschen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="279"/>
- <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
- <translation>Ein ungültiger Ordner setzt den Pfad auf den temporären Pfad des Betriebssystems zurück.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="307"/>
- <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
- <translation>Dies versucht alle Informationen aus dem Cache zu beziehen, selbst die Informationen über Updates. Benutze diese Option nur, wenn du ohne Netzverbindung installieren willst. Hinweis: du musst die gleiche Installation, die du später durchführen willst, einmal mit Netzwerkverbindung durchführen, damit die notwendigen Dateien im Cache gespeichert sind.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="356"/>
- <source>&amp;TTS &amp;&amp; Encoder</source>
- <translation>&amp;TTS &amp;&amp; Encoder</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="365"/>
- <source>TTS Engine</source>
- <translation>TTS Engine</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Select TTS profile</source>
- <translation type="obsolete">TTS-Profil au&amp;swählen</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>TTS Options</source>
- <translation type="obsolete">TTS-Optionen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="421"/>
- <source>Encoder Engine</source>
- <translation>Encoder</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Select &amp;encoder profile</source>
- <translation type="obsolete">&amp;Encoder-Profil auswählen</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>B&amp;rowse</source>
- <translation type="obsolete">&amp;Durchsuchen</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="371"/>
- <source>&amp;Select TTS Engine</source>
- <translation>&amp;Wähle TTS Engine</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="384"/>
- <source>Configure TTS Engine</source>
- <translation>Konfiguriere TTS Engine</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="447"/>
- <source>Configuration invalid !</source>
- <translation>Konfiguration ungültig!</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="408"/>
- <source>Configure &amp;TTS</source>
- <translation>Konfiguriere &amp;TTS</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="427"/>
- <source>Select &amp;encoder</source>
- <translation>Wähle &amp;encoder</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="440"/>
- <source>Configure encoder</source>
- <translation>Konfiguriere Encoder</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="464"/>
- <source> Configure &amp;Enc</source>
- <translation>Konfiguriere &amp;Encoder</translation>
- </message>
-</context>
-<context>
- <name>Configure</name>
- <message>
- <location filename="configure.cpp" line="469"/>
- <source>English</source>
- <translation>Deutsch</translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceFrm</name>
- <message>
- <location filename="createvoicefrm.ui" line="16"/>
- <source>Create Voice File</source>
- <translation>Erstelle Voicefile</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="41"/>
- <source>Select the Language you want to generate a voicefile for:</source>
- <translation>Wähle die Sprache für die das Voicefile generiert werden soll:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="51"/>
- <source>Generation settings</source>
- <translation>Allgemeine Einstellungen</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="57"/>
- <source>Encoder profile:</source>
- <translation>Encoder-Profil:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="64"/>
- <source>TTS profile:</source>
- <translation>TTS-Profil:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="77"/>
- <source>Change</source>
- <translation>Ändere</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="128"/>
- <source>&amp;Install</source>
- <translation>&amp;Installiere</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="152"/>
- <source>Wavtrim Threshold</source>
- <translation>Wavtrim Schwellenwert</translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceWindow</name>
- <message>
- <location filename="createvoicewindow.cpp" line="96"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="98"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="106"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
-</context>
-<context>
- <name>EncExesCfgFrm</name>
- <message>
- <location filename="encexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>Konfiguration</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="19"/>
- <source>Configure Encoder</source>
- <translation>Konfiguriere Encoder</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="31"/>
- <source>Path to Encoder</source>
- <translation>Pfad zum Encoder</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation>D&amp;urchsuchen</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="52"/>
- <source>Encoder options</source>
- <translation>Encoder optionen</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation>Reset</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
-</context>
-<context>
- <name>Install</name>
- <message>
- <location filename="install.cpp" line="55"/>
- <source>Mount point is wrong!</source>
- <translation>Falscher Einhängepunkt!</translation>
- </message>
- <message>
- <location filename="install.cpp" line="145"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Dies lädt immer eine aktuelle Kopie herunter. &lt;b&gt;Dies ist die empfohlene Version.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="148"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
- <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Dies lädt immer eine aktuelle Kopie herunter. </translation>
- </message>
- <message>
- <location filename="install.cpp" line="157"/>
- <source>This is the last released version of Rockbox.</source>
- <translation>Dies ist die letzte veröffentlichte Version von Rockbox.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="163"/>
- <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Die letzte veröffentlichte Version ist %1. &lt;b&gt;Dies ist die empfohlene Version.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="141"/>
- <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
- <translation>Dies ist das aktuellste Rockbox build. Es wird bei jeder Änderung upgedated. Letzte Version ist r%1 (%2).</translation>
- </message>
- <message>
- <location filename="install.cpp" line="177"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
- <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Archivierte Version ist r%1 (%2).</translation>
- </message>
- <message>
- <location filename="install.cpp" line="175"/>
- <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallFrm</name>
- <message>
- <location filename="installfrm.ui" line="16"/>
- <source>Install Rockbox</source>
- <translation>Rockbox installieren</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="35"/>
- <source>Please select the Rockbox version you want to install on your player:</source>
- <translation>Bitte die zu installierende Version von Rockbox auswählen:</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="45"/>
- <source>Version</source>
- <translation>Version</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="51"/>
- <source>Rockbox &amp;stable</source>
- <translation>&amp;Stabile Rockbox-Version</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="58"/>
- <source>&amp;Archived Build</source>
- <translation>&amp;Archivierte Version</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="65"/>
- <source>&amp;Current Build</source>
- <translation>Aktuelle &amp;Version</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="75"/>
- <source>Details</source>
- <translation>Details</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="81"/>
- <source>Details about the selected version</source>
- <translation>Details über die ausgewählte Version</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="91"/>
- <source>Note</source>
- <translation>Hinweis</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="104"/>
- <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
- <translation>Rockbox Utility speichert bereits heruntergeladenen Kopien vo Rockbox auf der lokalen Festplatte um den Netzwerkverkehr zu begrenzen. Wenn deine lokale Kopie nicht weiter funktioniert, benutze diese Option um eine neue Kopie herunterzuladen.</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="107"/>
- <source>&amp;Don&apos;t use locally cached copy</source>
- <translation>&amp;keine lokale Zwischenkopie verwenden</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;Ok</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="152"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="142"/>
- <source>&amp;Install</source>
- <translation>&amp;Installiere</translation>
- </message>
-</context>
-<context>
- <name>InstallProgressFrm</name>
- <message>
- <location filename="installprogressfrm.ui" line="19"/>
- <source>Progress</source>
- <translation>Fortschritt</translation>
- </message>
- <message>
- <location filename="installprogressfrm.ui" line="56"/>
- <source>&amp;Abort</source>
- <translation>&amp;Abbrechen</translation>
- </message>
-</context>
-<context>
- <name>InstallTalkFrm</name>
- <message>
- <location filename="installtalkfrm.ui" line="16"/>
- <source>Install Talk Files</source>
- <translation>Talk-Dateien installieren</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="35"/>
- <source>Select the Folder to generate Talkfiles for.</source>
- <translation>Wähle den Ordner für den Talk-Dateien erstellt werden sollen.</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="45"/>
- <source>&amp;Browse</source>
- <translation>&amp;Durchsuchen</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="110"/>
- <source>Overwrite Wavefiles</source>
- <translation>Wavedateien überschreiben</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="120"/>
- <source>Remove Wavefiles</source>
- <translation>Wavedateien entfernen</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="130"/>
- <source>Run recursive</source>
- <translation>Rekursiv durchlaufen</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="150"/>
- <source>Overwrite Talkfiles</source>
- <translation>Talk-Dateien überschreiben</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="140"/>
- <source>Strip Extensions</source>
- <translation>Dateiendungen entfernen</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;Ok</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="224"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="55"/>
- <source>Generation settings</source>
- <translation>Allgemeine Einstellungen</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="61"/>
- <source>Encoder profile:</source>
- <translation>Encoder-Profil:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="68"/>
- <source>TTS profile:</source>
- <translation>TTS-Profil:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="104"/>
- <source>Generation options</source>
- <translation>Generier optionen</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="81"/>
- <source>Change</source>
- <translation>Ändere</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="160"/>
- <source>Generate .talk files for Folders</source>
- <translation>Generiere .talk Dateien für Ordner</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="170"/>
- <source>Generate .talk files for Files</source>
- <translation>Generiere .talk Dateien für Dateien</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="214"/>
- <source>&amp;Install</source>
- <translation>&amp;Installiere</translation>
- </message>
-</context>
-<context>
- <name>InstallTalkWindow</name>
- <message>
- <location filename="installtalkwindow.cpp" line="84"/>
- <source>The Folder to Talk is wrong!</source>
- <translation>Der Ordner für den Talk Dateien erzeugt werden sollen ist falsch!</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">TTS-Profil: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Invalid TTS profile!</source>
- <translation type="obsolete">Ungültiges TTS-Profil!</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">Encoder-Profil: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Invalid encoder profile!</source>
- <translation type="obsolete">Ungültiges Encoder-Profil!</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="119"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="121"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="129"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
-</context>
-<context>
- <name>PreviewFrm</name>
- <message>
- <location filename="previewfrm.ui" line="16"/>
- <source>Preview</source>
- <translation>Vorschau</translation>
- </message>
-</context>
-<context>
- <name>ProgressLoggerGui</name>
- <message>
- <location filename="progressloggergui.cpp" line="79"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="progressloggergui.cpp" line="89"/>
- <source>&amp;Abort</source>
- <translation>&amp;Abbrechen</translation>
- </message>
-</context>
-<context>
- <name>RbSpeexCfgFrm</name>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>Konfiguration</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="19"/>
- <source>Configure RbSpeex Encoder</source>
- <translation>Konfiguriere RbSpeex Encoder</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="38"/>
- <source>Volume</source>
- <translation>Lautstärke</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="45"/>
- <source>Narrowband</source>
- <translation>Schmalband</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="68"/>
- <source>Quality</source>
- <translation>Qualität</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="85"/>
- <source>Complexity</source>
- <translation>Komplexität</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="115"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="125"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="95"/>
- <source>Reset</source>
- <translation>Reset</translation>
- </message>
-</context>
-<context>
- <name>RbUtilQt</name>
- <message>
- <location filename="rbutilqt.cpp" line="210"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="305"/>
- <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
- <translation>&lt;b&gt;%1 %2&lt;/b&gt; an &lt;b&gt;%3&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="325"/>
- <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;PDF-Handbuch&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="327"/>
- <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;HTML-Handbuch (öffnet im Browser)&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="330"/>
- <source>Select a device for a link to the correct manual</source>
- <translation>Wähle Gerät aus um einen Link zum entsprechenden Handbuch zu bekommen</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="332"/>
- <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;Anleitungen-Übersicht&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="695"/>
- <source>Confirm Installation</source>
- <translation>Installation bestätigen</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="533"/>
- <source>Do you really want to install the Bootloader?</source>
- <translation>Bootloader wirklich installieren?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="593"/>
- <source>Original Firmware Path is wrong!</source>
- <translation>Pfad zur Original-Firmware ist falsch!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="606"/>
- <source>Original Firmware selection Canceled!</source>
- <translation>Auswahl der Original-Firmware abgebrochen!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="621"/>
- <source>Do you really want to install the fonts package?</source>
- <translation>Schriftarten-Paket wirklich installieren?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="656"/>
- <source>Do you really want to install the voice file?</source>
- <translation>Sprachdateien wirklich installieren?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="696"/>
- <source>Do you really want to install the game addon files?</source>
- <translation>Zusatzdateien für Spiele wirklich installieren?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="782"/>
- <source>Confirm Uninstallation</source>
- <translation>Deinstallation bestätigen</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="783"/>
- <source>Do you really want to uninstall the Bootloader?</source>
- <translation>Bootloader wirklich deinstallieren?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="813"/>
- <source>Confirm download</source>
- <translation>Download bestätigen</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="815"/>
- <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
- <translation>Handbuch wirklich herunterladen? Das Handbuch wird im Wurzelordner des Geräts gespeichert.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="863"/>
- <source>Confirm installation</source>
- <translation>Installation bestätigen</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="865"/>
- <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
- <translation>Rockbox Utility wirklich auf dem Gerät installieren? Nach der Installation kann es von dem Laufwerk des Geräts ausgeführt werden.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="873"/>
- <source>Installing Rockbox Utility</source>
- <translation>Installiere Rockbox Utility</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="877"/>
- <source>Mount point is wrong!</source>
- <translation>Falscher Einhängepunkt!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="887"/>
- <source>Error installing Rockbox Utility</source>
- <translation>Fehler beim installieren von Rockbox Utility</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="891"/>
- <source>Installing user configuration</source>
- <translation>Installiere Benutzerkonfiguration</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="893"/>
- <source>Error installing user configuration</source>
- <translation>Fehler beim installieren der Benutzerkonfiguration</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="897"/>
- <source>Successfully installed Rockbox Utility.</source>
- <translation>Rockbox Utility erfolgreich installiert.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>File</source>
- <translation>Datei</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>Version</source>
- <translation>Version</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="341"/>
- <source>Do you really want to make a complete Installation?</source>
- <translation>Wirklich eine vollständige Installation durchführen?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="393"/>
- <source>Do you really want to make a small Installation?</source>
- <translation>Wirklich eine kleine Installation durchführen?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="800"/>
- <source>Could not get the bootloader info file!</source>
- <translation>Konnte Bootloader-Informationsdatei nicht herunterladen!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="568"/>
- <source>Bootloader Installation</source>
- <translation>Bootloader-Installation</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>It seem your Bootloader is already uptodate.
-Do really want to install it?</source>
- <translation type="obsolete">Der Bootloader scheint aktuell zu sein
-Trotzdem installieren?</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Bootloader installation Canceled!</source>
- <translation type="obsolete">Bootloader-Installation abgebrochen!</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Bootloader installation Skipped!</source>
- <translation type="obsolete">Bootloader-Installation übersprungen!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1014"/>
- <source>Configuration error</source>
- <translation>Konfigurationsfehler</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="187"/>
- <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
- <translation>Deine Konfiguration ist ungültig. Dies liegt wahrscheinlich daran das Rockbox Utillity das erste mal gestartet wird, oder an geänderten Pfaden. Der Konfigurationsdialog wird sich nun öffnen damit sie das Problem korrigieren können. </translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="570"/>
- <source>The bootloader is already installed and up to date.
-Do want to replace the current bootloader?</source>
- <translation>Der Bootloader ist schon installiert und aktuell.
-Wollen sie wircklich den Bootloader ersetzen ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="574"/>
- <source>Bootloader installation skipped!</source>
- <translation>Bootloader installation übersprungen!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Error</source>
- <translation>Fehler</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
- <translation>Für dein Gerät existiert kein Doom plugin. Breche Installation ab.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1016"/>
- <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
- <translation>Deine Konfiguration ist ungültig. Bitte gehe in den Konfigurationsdialog und stelle sicher das die Einstellungen korrekt sind.</translation>
- </message>
-</context>
-<context>
- <name>RbUtilQtFrm</name>
- <message>
- <location filename="rbutilqtfrm.ui" line="13"/>
- <source>Rockbox Utility</source>
- <translation>Rockbox Utility</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="137"/>
- <source>&amp;Quick Start</source>
- <translation>&amp;Schnellstart</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>...</source>
- <translation type="obsolete">...</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="162"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Vollständige Installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Die installiert den Bootloader, ein aktuellen build von Rockbox und die Extra-Pakete. Dies ist die empfohlene Installationsmethode für neue Installationen.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="192"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Kleine Installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Dies installiert den Bootloader und ein aktuellen Build von Rockbox. Wenn du die Extra-Pakete nicht brauchst, wähle diese Option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="236"/>
- <source>&amp;Installation</source>
- <translation>&amp;Installation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="261"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installiere den Bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Bevor Rockbox auf einem Audio Player laufen kann, musst du eventuell einen Bootloader installieren. Dies ist nur für die erste Installation nötig.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="294"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installiere Rockbox&lt;/span&gt; auf deinem Audio Player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="340"/>
- <source>&amp;Extras</source>
- <translation>&amp;Extras</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="365"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="395"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="425"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="587"/>
- <source>&amp;Uninstallation</source>
- <translation>&amp;Deinstallation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="642"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="689"/>
- <source>&amp;Manual</source>
- <translation>&amp;Anleitung</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="837"/>
- <source>&amp;File</source>
- <translation>&amp;Datei</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="930"/>
- <source>&amp;About</source>
- <translation>Ü&amp;ber</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="907"/>
- <source>Empty local download cache</source>
- <translation>Download-Cache löschen</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="912"/>
- <source>Install Rockbox Utility on player</source>
- <translation>Rockbox Utility auf dem Gerät installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="917"/>
- <source>&amp;Configure</source>
- <translation>&amp;Konfigurieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="922"/>
- <source>E&amp;xit</source>
- <translation>&amp;Beenden</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="925"/>
- <source>Ctrl+Q</source>
- <translation>Ctrl+Q</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="935"/>
- <source>About &amp;Qt</source>
- <translation>Über &amp;Qt</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="977"/>
- <source>Install Rockbox</source>
- <translation>Rockbox installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="969"/>
- <source>Install Bootloader</source>
- <translation>Bootloader installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="349"/>
- <source>Install Fonts package</source>
- <translation>Schriftarten-Paket installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="379"/>
- <source>Install themes</source>
- <translation>Themes Installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="409"/>
- <source>Install game files</source>
- <translation>Game dateien Installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="596"/>
- <source>Uninstall Bootloader</source>
- <translation>Bootloader entfernen</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1033"/>
- <source>Uninstall Rockbox</source>
- <translation>Rockbox entfernen</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="78"/>
- <source>Device</source>
- <translation>Gerät</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="90"/>
- <source>Selected device:</source>
- <translation>Ausgewähltes Gerät:</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="97"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;unbekannt&lt;/span&gt; an &lt;span style=&quot; font-weight:600;&quot;&gt;unbekannt&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="120"/>
- <source>&amp;Change</source>
- <translation>Än&amp;dern</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="140"/>
- <source>Welcome</source>
- <translation>Willkommen</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="239"/>
- <source>Basic Rockbox installation</source>
- <translation>Einfache Rockbox-Installation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="343"/>
- <source>Install extras for Rockbox</source>
- <translation>Installiere Extras für Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="466"/>
- <source>&amp;Accessibility</source>
- <translation>&amp;Accessibility</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="469"/>
- <source>Install accessibility add-ons</source>
- <translation>Installiere accessibility add-ons</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="475"/>
- <source>Install Voice files</source>
- <translation>Sprachdateien installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="491"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="505"/>
- <source>Install Talk files</source>
- <translation>Talk-Dateien installieren</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="521"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="612"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="692"/>
- <source>View and download the manual</source>
- <translation>Anleitung herunterladen und lesen</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="698"/>
- <source>Read the manual</source>
- <translation>Anleitung lesen</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="704"/>
- <source>PDF manual</source>
- <translation>PDF-Anleitung</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="717"/>
- <source>HTML manual</source>
- <translation>HTML-Anleitung</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="733"/>
- <source>Download the manual</source>
- <translation>Anleitung herunterladen</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="741"/>
- <source>&amp;PDF version</source>
- <translation>&amp;PDF-Version</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="748"/>
- <source>&amp;HTML version (zip file)</source>
- <translation>&amp;HTML-Version (Zip-Datei)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="770"/>
- <source>Down&amp;load</source>
- <translation>Herunter&amp;laden</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="794"/>
- <source>Inf&amp;o</source>
- <translation>Inf&amp;o</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="800"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="815"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="940"/>
- <source>&amp;Help</source>
- <translation>&amp;Hilfe</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="953"/>
- <source>Complete Installation</source>
- <translation>Komplette Installation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="961"/>
- <source>Small Installation</source>
- <translation>Kleine Installation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="855"/>
- <source>Action&amp;s</source>
- <translation>Action&amp;s</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="859"/>
- <source>Installation</source>
- <translation>Installation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="866"/>
- <source>Quick Start</source>
- <translation>Schnellstart</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="873"/>
- <source>Extras</source>
- <translation>Extras</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="881"/>
- <source>Accessibility</source>
- <translation>Accessibility</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="889"/>
- <source>Uninstallation</source>
- <translation>Deinstallation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="945"/>
- <source>Info</source>
- <translation>Info</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="985"/>
- <source>Fonts Package</source>
- <translation>Schriftarten Paket</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="993"/>
- <source>Install Themes</source>
- <translation>Installiere Themes</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1001"/>
- <source>Install Game Files</source>
- <translation>Installiere Game Dateien</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1009"/>
- <source>Install Voice File</source>
- <translation>Installiere Sprachfiles</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1017"/>
- <source>Create Talk Files</source>
- <translation>Erstelle Talk files</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1025"/>
- <source>Remove bootloader</source>
- <translation>Entferne Bootloader</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1038"/>
- <source>Read PDF manual</source>
- <translation>Lese PDF Manual</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1043"/>
- <source>Read HTML manual</source>
- <translation>Lese HTML Manual</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1048"/>
- <source>Download PDF manual</source>
- <translation>Downloade PDF manual</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1053"/>
- <source>Download HTML manual (zip)</source>
- <translation>Downloade HTML manual (zip)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="558"/>
- <source>Create Voice files</source>
- <translation>Erstelle Voicefile</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="574"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1061"/>
- <source>Create Voice File</source>
- <translation>Erstelle Voicefile</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1064"/>
- <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
-e File</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>SapiCfgFrm</name>
- <message>
- <location filename="sapicfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>Konfiguration</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation>Konfiguriere TTS Engine</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="62"/>
- <source>TTS options</source>
- <translation>TTS-Optionen</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="25"/>
- <source>Language</source>
- <translation>Sprache</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="87"/>
- <source>Reset</source>
- <translation>Reset</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="107"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="117"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="35"/>
- <source>Voice</source>
- <translation>Stimme</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="45"/>
- <source>Speed</source>
- <translation>Geschwindigkeit</translation>
- </message>
-</context>
-<context>
- <name>TTSExes</name>
- <message>
- <location filename="tts.cpp" line="123"/>
- <source>TTS executable not found</source>
- <translation>TTS programm nicht gefunden</translation>
- </message>
-</context>
-<context>
- <name>TTSExesCfgFrm</name>
- <message>
- <location filename="ttsexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>Konfiguration</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation>Konfiguriere TTS Engine</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="31"/>
- <source>Path to TTS Engine</source>
- <translation>Pfad zur TTS Engine</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation>D&amp;urchsuchen</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="52"/>
- <source>TTS options</source>
- <translation>TTS Optionen</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation>Reset</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
-</context>
-<context>
- <name>TTSSapi</name>
- <message>
- <location filename="tts.cpp" line="274"/>
- <source>Could not copy the Sapi-script</source>
- <translation>Konnte das Sapi-script nicht kopieren</translation>
- </message>
- <message>
- <location filename="tts.cpp" line="292"/>
- <source>Could not start the Sapi-script</source>
- <translation>Konnte das Sapi-script nicht starten</translation>
- </message>
-</context>
-<context>
- <name>TalkFileCreator</name>
- <message>
- <location filename="talkfile.cpp" line="31"/>
- <source>Starting Talk file generation</source>
- <translation>Beginne Talkfile generation</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="41"/>
- <source>Init of TTS engine failed</source>
- <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="52"/>
- <source>Init of Encoder engine failed</source>
- <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="70"/>
- <source>Talk file creation aborted</source>
- <translation>Talkfile generation abgebrochen</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="132"/>
- <source>Voicing of %1</source>
- <translation>Spreche %1</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="135"/>
- <source>Voicing of %s failed</source>
- <translation>Sprechen von % ist fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="143"/>
- <source>Encoding of %1</source>
- <translation>Enkodiere %1</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="146"/>
- <source>Encoding of %1 failed</source>
- <translation>Enkodieren of %1 ist fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="173"/>
- <source>Finished creating Talk files</source>
- <translation>Erstellen der Talkfiles beendet</translation>
- </message>
-</context>
-<context>
- <name>ThemeInstallFrm</name>
- <message>
- <location filename="installthemesfrm.ui" line="13"/>
- <source>Theme Installation</source>
- <translation>Theme-Installation</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="48"/>
- <source>Selected Theme</source>
- <translation>Ausgewähltes Theme</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="73"/>
- <source>Description</source>
- <translation>Beschreibung</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="83"/>
- <source>Download size:</source>
- <translation>Downloadgröße:</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;Ok</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="128"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="108"/>
- <source>&amp;Install</source>
- <translation>&amp;Installiere</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="118"/>
- <source>Install &amp;All</source>
- <translation>Installiere &amp;Alles</translation>
- </message>
-</context>
-<context>
- <name>ThemesInstallWindow</name>
- <message>
- <location filename="installthemes.cpp" line="34"/>
- <source>no theme selected</source>
- <translation>Kein Theme ausgewählt</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="117"/>
- <source>Network error: %1.
-Please check your network and proxy settings.</source>
- <translation>Netzwerkfehler: %1
-Bitte Netzwerk- und Proxyeinstellungen überprüfen.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="128"/>
- <source>the following error occured:
-%1</source>
- <translation>Der folgende Fehler ist aufgetreten:
-%1</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="133"/>
- <source>done.</source>
- <translation>Abgeschlossen.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="161"/>
- <source>fetching details for %1</source>
- <translation>hole Details für %1</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="163"/>
- <source>fetching preview ...</source>
- <translation>hole Vorschau ...</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Download size %1 kiB</source>
- <translation type="obsolete">Downloadgröße: %1 kiB</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="184"/>
- <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;Autor:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>unknown</source>
- <translation>unbekannt</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>no description</source>
- <translation>Keine Beschreibung vorhanden</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="222"/>
- <source>no theme preview</source>
- <translation>Keine Themevorschau vorhanden</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="254"/>
- <source>getting themes information ...</source>
- <translation>hole Theme-Informationen ...</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="312"/>
- <source>Mount point is wrong!</source>
- <translation>Einhängepunkt ungültig!</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;Beschreibung:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="171"/>
- <source>Download size %L1 kiB</source>
- <translation>Download größe %L1 kiB</translation>
- </message>
-</context>
-<context>
- <name>UnZip</name>
- <message>
- <location filename="zip/unzip.cpp" line="245"/>
- <source>ZIP operation completed successfully.</source>
- <translation>ZIP-Operation erfolgreich abgeschlossen.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="246"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="247"/>
- <source>zlib library error.</source>
- <translation>Fehler in zlib-Bibliothek.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="248"/>
- <source>Unable to create or open file.</source>
- <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="249"/>
- <source>Partially corrupted archive. Some files might be extracted.</source>
- <translation>Teilweise korruptes Archiv. Einige Dateien wurden möglicherweise extrahiert.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="250"/>
- <source>Corrupted archive.</source>
- <translation>Korruptes Archiv.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="251"/>
- <source>Wrong password.</source>
- <translation>Falsches Passwort.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="252"/>
- <source>No archive has been created yet.</source>
- <translation>Momentan kein Archiv verfügbar.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="253"/>
- <source>File or directory does not exist.</source>
- <translation>Datei oder Ordner existiert nicht.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="254"/>
- <source>File read error.</source>
- <translation>Fehler beim Lesen der Datei.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="255"/>
- <source>File write error.</source>
- <translation>Fehler beim Schreiben der Datei.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="256"/>
- <source>File seek error.</source>
- <translation>Fehler beim Durchsuchen der Datei.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="257"/>
- <source>Unable to create a directory.</source>
- <translation>Kann Verzeichnis nicht erstellen.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="258"/>
- <source>Invalid device.</source>
- <translation>Ungültiges Gerät.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="259"/>
- <source>Invalid or incompatible zip archive.</source>
- <translation>Ungültiges oder inkompatibles Zip-Archiv.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="260"/>
- <source>Inconsistent headers. Archive might be corrupted.</source>
- <translation>Inkonsistente Header. Archiv ist möglicherweise beschädigt.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="264"/>
- <source>Unknown error.</source>
- <translation>Unbekannter Fehler.</translation>
- </message>
-</context>
-<context>
- <name>UninstallFrm</name>
- <message>
- <location filename="uninstallfrm.ui" line="16"/>
- <source>Uninstall Rockbox</source>
- <translation>Rockbox deinstallieren</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="35"/>
- <source>Please select the Uninstallation Methodl</source>
- <translation>Bitte Deinstallationsmethode auswählen</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="45"/>
- <source>Uninstallation Method</source>
- <translation>Deinstallationsmethode</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="51"/>
- <source>Complete Uninstallation</source>
- <translation>Vollständige Deinstallation</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="58"/>
- <source>Smart Uninstallation</source>
- <translation>Intelligente Deinstallation</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="68"/>
- <source>Please select what you want to uninstall</source>
- <translation>Bitte die zu deinstallierenden Teile auswählen</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="78"/>
- <source>Installed Parts</source>
- <translation>Installierte Teile</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;Ok</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Abbrechen</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="128"/>
- <source>&amp;Uninstall</source>
- <translation>&amp;Deinstallation</translation>
- </message>
-</context>
-<context>
- <name>Uninstaller</name>
- <message>
- <location filename="uninstall.cpp" line="45"/>
- <source>Starting Uninstallation</source>
- <translation>Beginne Deinstallation</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="37"/>
- <source>Finished Uninstallation</source>
- <translation>Deinstallation erfolgreich</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="51"/>
- <source>Uninstalling </source>
- <translation>Deinstalliere </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="81"/>
- <source>Could not delete: </source>
- <translation>Konnte Datei nicht löschen: </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="108"/>
- <source>Uninstallation finished</source>
- <translation>Deinstallation erfolgreich</translation>
- </message>
-</context>
-<context>
- <name>VoiceFileCreator</name>
- <message>
- <location filename="voicefile.cpp" line="41"/>
- <source>Starting Voicefile generation</source>
- <translation>Beginne Voicefile generation</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="55"/>
- <source>failed to open rockbox-info.txt</source>
- <translation>Öffnen von rockbox-info.txt ist fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="124"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="128"/>
- <source>Cached file used.</source>
- <translation>Datei aus Cache verwendet.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="130"/>
- <source>Download error: %1</source>
- <translation>Downloadfehler: %1</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="134"/>
- <source>Download finished.</source>
- <translation>Download abgeschlossen.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="143"/>
- <source>failed to open downloaded file</source>
- <translation>Konnte das heruntergladene File nicht öffnen</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="156"/>
- <source>Init of TTS engine failed</source>
- <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="167"/>
- <source>Init of Encoder engine failed</source>
- <translation>Initalisierung der Encoder engine ist fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="209"/>
- <source>The downloaded file was empty!</source>
- <translation>Das heruntergeladene File was leer!</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="246"/>
- <source>creating </source>
- <translation>erstelle</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="269"/>
- <source>Error opening downloaded file</source>
- <translation>Konnte das heruntergladene File nicht öffnen</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="277"/>
- <source>Error opening output file</source>
- <translation>Konnte das output File nicht öffnen</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="291"/>
- <source>successfully created.</source>
- <translation>erfolgreich erstellt.</translation>
- </message>
-</context>
-<context>
- <name>Zip</name>
- <message>
- <location filename="zip/zip.cpp" line="479"/>
- <source>ZIP operation completed successfully.</source>
- <translation>ZIP operation erfolgreich abgeschlossen.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="480"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="481"/>
- <source>zlib library error.</source>
- <translation>Fehler in zlib-Bibliothek.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="482"/>
- <source>Unable to create or open file.</source>
- <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="483"/>
- <source>No archive has been created yet.</source>
- <translation>Noch kein Archiv erzeugt.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="484"/>
- <source>File or directory does not exist.</source>
- <translation>Datei oder Ordner existiert nicht.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="485"/>
- <source>File read error.</source>
- <translation>Fehler beim Lesen der Datei.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="486"/>
- <source>File write error.</source>
- <translation>Fehler beim Schreiben der Datei.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="487"/>
- <source>File seek error.</source>
- <translation>Fehler beim Durchsuchen der Datei.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="491"/>
- <source>Unknown error.</source>
- <translation>Unbekannter Fehler.</translation>
- </message>
-</context>
-<context>
- <name>ZipInstaller</name>
- <message>
- <location filename="installzip.cpp" line="54"/>
- <source>done.</source>
- <translation>Abgeschlossen.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="62"/>
- <source>Installation finished successfully.</source>
- <translation>Installation erfolgreich abgeschlossen.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="77"/>
- <source>Downloading file %1.%2</source>
- <translation>Herunterladen von Datei %1.%2</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="126"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="133"/>
- <source>Download error: %1</source>
- <translation>Downloadfehler: %1</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="138"/>
- <source>Download finished.</source>
- <translation>Download abgeschlossen.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="144"/>
- <source>Extracting file.</source>
- <translation>Extrahiere Datei.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="153"/>
- <source>Opening archive failed: %1.</source>
- <translation>Öffnen des Archives fehlgeschlagen: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="162"/>
- <source>Extracting failed: %1.</source>
- <translation>Extrahieren fehlgeschlagen: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="172"/>
- <source>Installing file.</source>
- <translation>Installiere Datei.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="183"/>
- <source>Installing file failed.</source>
- <translation>Dateiinstallation fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="193"/>
- <source>Creating installation log</source>
- <translation>Erstelle Installationslog</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="131"/>
- <source>Cached file used.</source>
- <translation>Datei aus Cache verwendet.</translation>
- </message>
-</context>
-<context>
- <name>aboutBox</name>
- <message>
- <location filename="aboutbox.ui" line="13"/>
- <source>About Rockbox Utility</source>
- <translation>Über Rockbox Utility</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="95"/>
- <source>&amp;Credits</source>
- <translation>&amp;Credits</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="124"/>
- <source>&amp;License</source>
- <translation>&amp;Lizenz</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="157"/>
- <source>&amp;Ok</source>
- <translation>&amp;Ok</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="34"/>
- <source>The Rockbox Utility</source>
- <translation>Rockbox Utility</translation>
- </message>
- <message encoding="UTF-8">
- <location filename="aboutbox.ui" line="56"/>
- <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
-
-© 2005 - 2007 The Rockbox Team.
-Released under the GNU General Public License v2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="72"/>
- <source>http://www.rockbox.org</source>
- <translation>http://www.rockbox.org</translation>
- </message>
-</context>
-</TS>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="de">
+<defaultcodec></defaultcodec>
+<context>
+ <name>BootloaderInstaller</name>
+ <message>
+ <location filename="installbootloader.cpp" line="32"/>
+ <source>Starting bootloader installation</source>
+ <translation>Beginne Bootloader-Installation</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="122"/>
+ <source>unsupported install Method</source>
+ <translation>Nicht unterstützte Installationsmethode</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="85"/>
+ <source>Starting bootloader uninstallation</source>
+ <translation>Beginne Bootloader-Deinstallation</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="116"/>
+ <source>No uninstallation possible</source>
+ <translation>Deinstallation nicht möglich</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="151"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="157"/>
+ <source>Download error: %1</source>
+ <translation>Downloadfehler: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="162"/>
+ <source>Download finished.</source>
+ <translation>Download abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1093"/>
+ <source>Downloading file %1.%2</source>
+ <translation>Herunterladen von Datei %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="323"/>
+ <source>Could not find the Original Firmware at: %1</source>
+ <translation>Konnte Original-Firmware nicht finden: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="545"/>
+ <source>Could not remove the Firmware at: %1</source>
+ <translation>Konnte die Firmware nicht entfernen: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="554"/>
+ <source>Could not copy the Firmware from: %1 to %2</source>
+ <translation>Konnte die Firmware nicht von %1 nach %2 kopieren</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="360"/>
+ <source>Finishing bootloader install</source>
+ <translation>Bootloader-Installation beendet</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="370"/>
+ <source>Could not find the Firmware at: %1</source>
+ <translation>Konnte die Firmware nicht finden: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="596"/>
+ <source>Could not rename: %1 to %2</source>
+ <translation>Konnte %1 nicht nach %2 umbenennen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1207"/>
+ <source>Could not copy: %1 to %2</source>
+ <translation>Konnte nicht %1 nach %2 kopieren</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1217"/>
+ <source>Bootloader install finished successfully.</source>
+ <translation>Bootloader-Installation erfolgreich beendet.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1218"/>
+ <source>To finish the Bootloader installation, follow the steps below.</source>
+ <translation>Um die Bootloader-Installation zu beenden, folge den nachfolgenden Schritten.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1219"/>
+ <source>1. Eject/Unmount your Device.</source>
+ <translation>1. Gerät &quot;sicher&quot; entfernen.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="413"/>
+ <source>2. Unplug USB and any Power adapters.</source>
+ <translation>2. Entferne USB- und Stromkabel.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="414"/>
+ <source>3. Hold POWER to turn the Device off.</source>
+ <translation>3. Halte POWER um das Gerät auszuschalten.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="415"/>
+ <source>4. Toggle the Battery switch on the Device.</source>
+ <translation>4. Schalte den Akku an und wieder aus.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="416"/>
+ <source>5. Hold POWER to boot the Rockbox bootloader.</source>
+ <translation>5. Benutze den POWER-Knopf um den Rockbox-Bootloader zu booten.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="471"/>
+ <source>2. Turn you Device OFF.</source>
+ <translation>2. Schalte das Gerät aus.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="472"/>
+ <source>3. Insert Charger.</source>
+ <translation>3. Stecke das Ladegerät ein.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="582"/>
+ <source>Firmware does not exist: %1</source>
+ <translation>Firmware existiert nicht: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="639"/>
+ <source>Searching for ipods</source>
+ <translation>Suche Ipods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="645"/>
+ <source>No Ipods found</source>
+ <translation>Keine Ipods gefunden</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="651"/>
+ <source>Too many Ipods found</source>
+ <translation>Zu viele Ipods gefunden</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="781"/>
+ <source>could not open ipod</source>
+ <translation>Konnte Ipod nicht öffnen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="996"/>
+ <source>could not read partitiontable</source>
+ <translation>Konnte die Partitionstabelle nicht lesen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="795"/>
+ <source>No partition 0 on disk</source>
+ <translation>Keine Partition 0 auf Laufwerk</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="800"/>
+ <source>[INFO] Part Start Sector End Sector Size (MB) Type
+</source>
+ <translation>[INFO] Part Start Sector End Sector Size (MB) Type</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="806"/>
+ <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
+ <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="823"/>
+ <source>Failed to read firmware directory</source>
+ <translation>Konnte das Firmwareverzeichniss nicht lesen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="829"/>
+ <source>Unknown version number in firmware (%1)</source>
+ <translation>Unbekannte Versionsnummer in Firmware (%1)</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
+ <translation type="obsolete">Warnung, dies ist ein MacPod, Rockbox funktioniert damit nicht. Konvertiere das Gerät zu einem WinPod</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="847"/>
+ <source>Could not open Ipod in RW mode</source>
+ <translation>Konnte den Ipod nicht im RW-Modus öffnen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="751"/>
+ <source>No bootloader detected.</source>
+ <translation>Kein Bootloader erkannt.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="966"/>
+ <source>Successfully removed Bootloader</source>
+ <translation>Der Bootloader wurde erfolgreich entfernt</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="974"/>
+ <source>--delete-bootloader failed.</source>
+ <translation>--delete-bootloader fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1031"/>
+ <source>Successfully added Bootloader</source>
+ <translation>Bootloader wurde erfolgreich installiert</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1039"/>
+ <source>failed to add Bootloader</source>
+ <translation>Konnte Bootloader nicht installieren</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="882"/>
+ <source>Searching for sansas</source>
+ <translation>Suche Sansas</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="888"/>
+ <source>No Sansa found</source>
+ <translation>Keine Sansa gefunden</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="894"/>
+ <source>Too many Sansas found</source>
+ <translation>Zuviele Sansas gefunden</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="989"/>
+ <source>could not open Sansa</source>
+ <translation>Konnte Sansa nicht öffnen </translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Disk is not an E200 (%1), aborting.</source>
+ <translation type="obsolete">Dies ist kein E200 (%1), Fehler.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1017"/>
+ <source>********************************************
+OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
+You must reinstall the original Sansa firmware before running
+sansapatcher for the first time.
+See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
+*********************************************
+</source>
+ <translation>********************************************
+ALTE ROCKBOX-INSTALLATION GEFUNDEN, BEENDE.Du musst die Original-Firmware neu installieren bevorsansapatcher ausgeführt werden kann.Siehe http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install*********************************************</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1024"/>
+ <source>Could not open Sansa in RW mode</source>
+ <translation>Konnte Sansa nicht im RW-Modus öffnen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1055"/>
+ <source>Could not MD5Sum original firmware</source>
+ <translation>Konnte MD5-Summe der Originalfirmware nicht berechnen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1085"/>
+ <source>Could not detect firmware type</source>
+ <translation>Konnte Firmwaretyp nicht erkennen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1148"/>
+ <source>Error in descramble</source>
+ <translation>Fehler bei descramble</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1158"/>
+ <source>Error in patching</source>
+ <translation>Fehler beim Patchen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1168"/>
+ <source>Error in scramble</source>
+ <translation>Fehler beim scramblen</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1179"/>
+ <source>Error in checksumming</source>
+ <translation>Fehler bei der Prüfsummenbildung</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1220"/>
+ <source>2. Boot into the original Firmware.</source>
+ <translation>2. Boote die Original-Firmware.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1221"/>
+ <source>3. Use the Firmware flash option in the Original Firmware.</source>
+ <translation>3. Flashe die Firmware entsprechend der Originalanleitung.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1222"/>
+ <source>4. Reboot.</source>
+ <translation>4. Boote neu.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="224"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="237"/>
+ <source>Creating installation log</source>
+ <translation>Erzeuge Installationslog</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="253"/>
+ <source>Editing installation log</source>
+ <translation>Verändere Installationslog</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="533"/>
+ <source>Original Firmware does not exist: %1</source>
+ <translation>Original-Firmware %1 existiert nicht</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="839"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
+See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
+ <translation>Achtung dies ist ein MacPod. Rockbox funktioniert so nicht. Konvertiere es zu einem WinPod
+Siehe http://www.rockbox.org/wiki/IpodConversionToFAT32</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1005"/>
+ <source>Disk is not a Sansa (%1), aborting.</source>
+ <translation>Gerät ist kein Sansa (%1), stoppe.</translation>
+ </message>
+</context>
+<context>
+ <name>BrowseDirtreeFrm</name>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="13"/>
+ <source>Find Directory</source>
+ <translation>Suche Verzeichnis</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="19"/>
+ <source>Browse to the destination folder</source>
+ <translation>Suche Zielordner</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="47"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="57"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+</context>
+<context>
+ <name>BrowseOFFrm</name>
+ <message>
+ <location filename="browseoffrm.ui" line="13"/>
+ <source>Find original Firmware</source>
+ <translation>Finde Original-Firmware</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="19"/>
+ <source>Browse for a downloaded copy of the original firmware</source>
+ <translation>Browse nach einer heruntergeladenen Kopie der Original-Firmware</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="32"/>
+ <source>Browse</source>
+ <translation>Browser</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="54"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="64"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+</context>
+<context>
+ <name>Config</name>
+ <message>
+ <location filename="configure.cpp" line="110"/>
+ <source>Language changed</source>
+ <translation>Sprache geändert</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="111"/>
+ <source>You need to restart the application for the changed language to take effect.</source>
+ <translation>Die Anwendung muss neu gestartet werden um die geänderten Spracheinstallungen anzuwenden.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="593"/>
+ <source>Autodetection</source>
+ <translation>Autoerkennung</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="587"/>
+ <source>Could not detect a Mountpoint.
+Select your Mountpoint manually.</source>
+ <translation>Konnte Einhängepunkt nicht erkennen.
+Bitte manuell auswählen.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="595"/>
+ <source>Could not detect a device.
+Select your device and Mountpoint manually.</source>
+ <translation>Konnte kein Gerät erkennen.
+Bitte Gerät und den Einhängepunt manuell auswählen.</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Current cache size is %1 kiB.</source>
+ <translation type="obsolete">Aktuelle Cachegröße ist %1 kiB.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="603"/>
+ <source>Really delete cache?</source>
+ <translation>Cache wirklich löschen?</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="606"/>
+ <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
+ <translation>Cache wirklich löschen? Stelle sicher dass die Einstellung korrekt ist da dies &lt;b&gt;alle&lt;/b&gt; Dateien im Cache-Ordner löschen wird!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="612"/>
+ <source>Path wrong!</source>
+ <translation>Pfad fehlerhaft!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="613"/>
+ <source>The cache path is invalid. Aborting.</source>
+ <translation>Cachepfad ist ungültig. Abbruch.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="56"/>
+ <source> (%1)</source>
+ <translation>(%1)</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="220"/>
+ <source>Current cache size is %L1 kiB.</source>
+ <translation>Momentane Cachegröße ist %L1 kiB. </translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="418"/>
+ <source>(system proxy is disabled)</source>
+ <translation>(system proxy ist deaktiviert)</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="485"/>
+ <source>Select your device</source>
+ <translation>Wähle dein Gerät</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="569"/>
+ <source>Sansa e200 in MTP mode found!
+You need to change your player to MSC mode for installation. </source>
+ <translation>Sansa e200 in MTP Modus gefunden!
+Stellen sie ihren Player auf MSC Mode um.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="572"/>
+ <source>H10 20GB in MTP mode found!
+You need to change your player to UMS mode for installation. </source>
+ <translation>H10 20GB in MTP Modus gefunden!
+Ändern sie den Modus auf UMS.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="573"/>
+ <source>Unless you changed this installation will fail!</source>
+ <translation>Solange sie dies nicht ändern, wird die Installation fehlschlagen!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="575"/>
+ <source>Fatal error</source>
+ <translation>Fataler Fehler</translation>
+ </message>
+</context>
+<context>
+ <name>ConfigForm</name>
+ <message>
+ <location filename="configurefrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>Konfiguration</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="19"/>
+ <source>Configure Rockbox Utility</source>
+ <translation>Rockbox Utility konfigurieren</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="507"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="517"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="109"/>
+ <source>&amp;Proxy</source>
+ <translation>&amp;Proxy</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="118"/>
+ <source>&amp;No Proxy</source>
+ <translation>&amp;kein Proxy</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="135"/>
+ <source>&amp;Manual Proxy settings</source>
+ <translation>&amp;Manuelle Proxyeinstellungen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="142"/>
+ <source>Proxy Values</source>
+ <translation>Proxyeinstellungen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="148"/>
+ <source>&amp;Host:</source>
+ <translation>&amp;Host:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="165"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="188"/>
+ <source>&amp;Username</source>
+ <translation>&amp;Benutzername</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="225"/>
+ <source>&amp;Language</source>
+ <translation>&amp;Sprache</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="30"/>
+ <source>&amp;Device</source>
+ <translation>&amp;Gerät</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="39"/>
+ <source>Select your device in the &amp;filesystem</source>
+ <translation>Gerät im &amp;Dateisystem auswählen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="286"/>
+ <source>&amp;Browse</source>
+ <translation>D&amp;urchsuchen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="66"/>
+ <source>&amp;Select your audio player</source>
+ <translation>Audio-Player au&amp;swählen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="77"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="98"/>
+ <source>&amp;Autodetect</source>
+ <translation>&amp;Autoerkennung</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="128"/>
+ <source>Use S&amp;ystem values</source>
+ <translation>S&amp;ystemwerte verwenden</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="198"/>
+ <source>Pass&amp;word</source>
+ <translation>Pass&amp;wort</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="238"/>
+ <source>Cac&amp;he</source>
+ <translation>Cac&amp;he</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="244"/>
+ <source>Download cache settings</source>
+ <translation>Einstellungen Downloadcache</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="250"/>
+ <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
+ <translation>Rockbox Utility verwendet einen lokalen Download-Cache um die übertragene Datenmenge zu begrenzen. Du kannst den Pfad zum Cache ändern und ihn im Offline-Modus als lokales Repository verwenden.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="260"/>
+ <source>Current cache size is %1</source>
+ <translation>Aktuelle Cachegröße ist %1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="269"/>
+ <source>P&amp;ath</source>
+ <translation>P&amp;fad</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="300"/>
+ <source>Disable local &amp;download cache</source>
+ <translation>lokalen &amp;Downloadcache ausschalten</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="310"/>
+ <source>O&amp;ffline mode</source>
+ <translation>O&amp;ffline-Modus</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="345"/>
+ <source>Clean cache &amp;now</source>
+ <translation>C&amp;ache löschen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="279"/>
+ <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
+ <translation>Ein ungültiger Ordner setzt den Pfad auf den temporären Pfad des Betriebssystems zurück.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="307"/>
+ <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
+ <translation>Dies versucht alle Informationen aus dem Cache zu beziehen, selbst die Informationen über Updates. Benutze diese Option nur, wenn du ohne Netzverbindung installieren willst. Hinweis: du musst die gleiche Installation, die du später durchführen willst, einmal mit Netzwerkverbindung durchführen, damit die notwendigen Dateien im Cache gespeichert sind.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="356"/>
+ <source>&amp;TTS &amp;&amp; Encoder</source>
+ <translation>&amp;TTS &amp;&amp; Encoder</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="365"/>
+ <source>TTS Engine</source>
+ <translation>TTS Engine</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Select TTS profile</source>
+ <translation type="obsolete">TTS-Profil au&amp;swählen</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>TTS Options</source>
+ <translation type="obsolete">TTS-Optionen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="421"/>
+ <source>Encoder Engine</source>
+ <translation>Encoder</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Select &amp;encoder profile</source>
+ <translation type="obsolete">&amp;Encoder-Profil auswählen</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>B&amp;rowse</source>
+ <translation type="obsolete">&amp;Durchsuchen</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="371"/>
+ <source>&amp;Select TTS Engine</source>
+ <translation>&amp;Wähle TTS Engine</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="384"/>
+ <source>Configure TTS Engine</source>
+ <translation>Konfiguriere TTS Engine</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="447"/>
+ <source>Configuration invalid !</source>
+ <translation>Konfiguration ungültig!</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="408"/>
+ <source>Configure &amp;TTS</source>
+ <translation>Konfiguriere &amp;TTS</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="427"/>
+ <source>Select &amp;encoder</source>
+ <translation>Wähle &amp;encoder</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="440"/>
+ <source>Configure encoder</source>
+ <translation>Konfiguriere Encoder</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="464"/>
+ <source> Configure &amp;Enc</source>
+ <translation>Konfiguriere &amp;Encoder</translation>
+ </message>
+</context>
+<context>
+ <name>Configure</name>
+ <message>
+ <location filename="configure.cpp" line="469"/>
+ <source>English</source>
+ <translation>Deutsch</translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceFrm</name>
+ <message>
+ <location filename="createvoicefrm.ui" line="16"/>
+ <source>Create Voice File</source>
+ <translation>Erstelle Voicefile</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="41"/>
+ <source>Select the Language you want to generate a voicefile for:</source>
+ <translation>Wähle die Sprache für die das Voicefile generiert werden soll:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="51"/>
+ <source>Generation settings</source>
+ <translation>Allgemeine Einstellungen</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="57"/>
+ <source>Encoder profile:</source>
+ <translation>Encoder-Profil:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="64"/>
+ <source>TTS profile:</source>
+ <translation>TTS-Profil:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="77"/>
+ <source>Change</source>
+ <translation>Ändere</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="128"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Installiere</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="152"/>
+ <source>Wavtrim Threshold</source>
+ <translation>Wavtrim Schwellenwert</translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceWindow</name>
+ <message>
+ <location filename="createvoicewindow.cpp" line="96"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="98"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="106"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>EncExesCfgFrm</name>
+ <message>
+ <location filename="encexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>Konfiguration</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="19"/>
+ <source>Configure Encoder</source>
+ <translation>Konfiguriere Encoder</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="31"/>
+ <source>Path to Encoder</source>
+ <translation>Pfad zum Encoder</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation>D&amp;urchsuchen</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="52"/>
+ <source>Encoder options</source>
+ <translation>Encoder optionen</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation>Reset</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+</context>
+<context>
+ <name>Install</name>
+ <message>
+ <location filename="install.cpp" line="55"/>
+ <source>Mount point is wrong!</source>
+ <translation>Falscher Einhängepunkt!</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="145"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Dies lädt immer eine aktuelle Kopie herunter. &lt;b&gt;Dies ist die empfohlene Version.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="148"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
+ <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Dies lädt immer eine aktuelle Kopie herunter. </translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="157"/>
+ <source>This is the last released version of Rockbox.</source>
+ <translation>Dies ist die letzte veröffentlichte Version von Rockbox.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="163"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Die letzte veröffentlichte Version ist %1. &lt;b&gt;Dies ist die empfohlene Version.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="141"/>
+ <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
+ <translation>Dies ist das aktuellste Rockbox build. Es wird bei jeder Änderung upgedated. Letzte Version ist r%1 (%2).</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="177"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
+ <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Archivierte Version ist r%1 (%2).</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="175"/>
+ <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallFrm</name>
+ <message>
+ <location filename="installfrm.ui" line="16"/>
+ <source>Install Rockbox</source>
+ <translation>Rockbox installieren</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="35"/>
+ <source>Please select the Rockbox version you want to install on your player:</source>
+ <translation>Bitte die zu installierende Version von Rockbox auswählen:</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="45"/>
+ <source>Version</source>
+ <translation>Version</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="51"/>
+ <source>Rockbox &amp;stable</source>
+ <translation>&amp;Stabile Rockbox-Version</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="58"/>
+ <source>&amp;Archived Build</source>
+ <translation>&amp;Archivierte Version</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="65"/>
+ <source>&amp;Current Build</source>
+ <translation>Aktuelle &amp;Version</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="75"/>
+ <source>Details</source>
+ <translation>Details</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="81"/>
+ <source>Details about the selected version</source>
+ <translation>Details über die ausgewählte Version</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="91"/>
+ <source>Note</source>
+ <translation>Hinweis</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="104"/>
+ <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
+ <translation>Rockbox Utility speichert bereits heruntergeladenen Kopien vo Rockbox auf der lokalen Festplatte um den Netzwerkverkehr zu begrenzen. Wenn deine lokale Kopie nicht weiter funktioniert, benutze diese Option um eine neue Kopie herunterzuladen.</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="107"/>
+ <source>&amp;Don&apos;t use locally cached copy</source>
+ <translation>&amp;keine lokale Zwischenkopie verwenden</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="152"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="142"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Installiere</translation>
+ </message>
+</context>
+<context>
+ <name>InstallProgressFrm</name>
+ <message>
+ <location filename="installprogressfrm.ui" line="19"/>
+ <source>Progress</source>
+ <translation>Fortschritt</translation>
+ </message>
+ <message>
+ <location filename="installprogressfrm.ui" line="56"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkFrm</name>
+ <message>
+ <location filename="installtalkfrm.ui" line="16"/>
+ <source>Install Talk Files</source>
+ <translation>Talk-Dateien installieren</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="35"/>
+ <source>Select the Folder to generate Talkfiles for.</source>
+ <translation>Wähle den Ordner für den Talk-Dateien erstellt werden sollen.</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="45"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;Durchsuchen</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="110"/>
+ <source>Overwrite Wavefiles</source>
+ <translation>Wavedateien überschreiben</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="120"/>
+ <source>Remove Wavefiles</source>
+ <translation>Wavedateien entfernen</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="130"/>
+ <source>Run recursive</source>
+ <translation>Rekursiv durchlaufen</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="150"/>
+ <source>Overwrite Talkfiles</source>
+ <translation>Talk-Dateien überschreiben</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="140"/>
+ <source>Strip Extensions</source>
+ <translation>Dateiendungen entfernen</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="224"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="55"/>
+ <source>Generation settings</source>
+ <translation>Allgemeine Einstellungen</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="61"/>
+ <source>Encoder profile:</source>
+ <translation>Encoder-Profil:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="68"/>
+ <source>TTS profile:</source>
+ <translation>TTS-Profil:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="104"/>
+ <source>Generation options</source>
+ <translation>Generier optionen</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="81"/>
+ <source>Change</source>
+ <translation>Ändere</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="160"/>
+ <source>Generate .talk files for Folders</source>
+ <translation>Generiere .talk Dateien für Ordner</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="170"/>
+ <source>Generate .talk files for Files</source>
+ <translation>Generiere .talk Dateien für Dateien</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="214"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Installiere</translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkWindow</name>
+ <message>
+ <location filename="installtalkwindow.cpp" line="84"/>
+ <source>The Folder to Talk is wrong!</source>
+ <translation>Der Ordner für den Talk Dateien erzeugt werden sollen ist falsch!</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">TTS-Profil: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Invalid TTS profile!</source>
+ <translation type="obsolete">Ungültiges TTS-Profil!</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">Encoder-Profil: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Invalid encoder profile!</source>
+ <translation type="obsolete">Ungültiges Encoder-Profil!</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="119"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="121"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="129"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>PreviewFrm</name>
+ <message>
+ <location filename="previewfrm.ui" line="16"/>
+ <source>Preview</source>
+ <translation>Vorschau</translation>
+ </message>
+</context>
+<context>
+ <name>ProgressLoggerGui</name>
+ <message>
+ <location filename="progressloggergui.cpp" line="79"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="progressloggergui.cpp" line="89"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+</context>
+<context>
+ <name>RbSpeexCfgFrm</name>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>Konfiguration</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="19"/>
+ <source>Configure RbSpeex Encoder</source>
+ <translation>Konfiguriere RbSpeex Encoder</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="38"/>
+ <source>Volume</source>
+ <translation>Lautstärke</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="45"/>
+ <source>Narrowband</source>
+ <translation>Schmalband</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="68"/>
+ <source>Quality</source>
+ <translation>Qualität</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="85"/>
+ <source>Complexity</source>
+ <translation>Komplexität</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="115"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="125"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="95"/>
+ <source>Reset</source>
+ <translation>Reset</translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQt</name>
+ <message>
+ <location filename="rbutilqt.cpp" line="210"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="305"/>
+ <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
+ <translation>&lt;b&gt;%1 %2&lt;/b&gt; an &lt;b&gt;%3&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="325"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;PDF-Handbuch&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="327"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;HTML-Handbuch (öffnet im Browser)&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="330"/>
+ <source>Select a device for a link to the correct manual</source>
+ <translation>Wähle Gerät aus um einen Link zum entsprechenden Handbuch zu bekommen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="332"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;Anleitungen-Übersicht&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="695"/>
+ <source>Confirm Installation</source>
+ <translation>Installation bestätigen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="533"/>
+ <source>Do you really want to install the Bootloader?</source>
+ <translation>Bootloader wirklich installieren?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="593"/>
+ <source>Original Firmware Path is wrong!</source>
+ <translation>Pfad zur Original-Firmware ist falsch!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="606"/>
+ <source>Original Firmware selection Canceled!</source>
+ <translation>Auswahl der Original-Firmware abgebrochen!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="621"/>
+ <source>Do you really want to install the fonts package?</source>
+ <translation>Schriftarten-Paket wirklich installieren?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="656"/>
+ <source>Do you really want to install the voice file?</source>
+ <translation>Sprachdateien wirklich installieren?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="696"/>
+ <source>Do you really want to install the game addon files?</source>
+ <translation>Zusatzdateien für Spiele wirklich installieren?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="782"/>
+ <source>Confirm Uninstallation</source>
+ <translation>Deinstallation bestätigen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="783"/>
+ <source>Do you really want to uninstall the Bootloader?</source>
+ <translation>Bootloader wirklich deinstallieren?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="813"/>
+ <source>Confirm download</source>
+ <translation>Download bestätigen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="815"/>
+ <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
+ <translation>Handbuch wirklich herunterladen? Das Handbuch wird im Wurzelordner des Geräts gespeichert.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="863"/>
+ <source>Confirm installation</source>
+ <translation>Installation bestätigen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="865"/>
+ <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
+ <translation>Rockbox Utility wirklich auf dem Gerät installieren? Nach der Installation kann es von dem Laufwerk des Geräts ausgeführt werden.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="873"/>
+ <source>Installing Rockbox Utility</source>
+ <translation>Installiere Rockbox Utility</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="877"/>
+ <source>Mount point is wrong!</source>
+ <translation>Falscher Einhängepunkt!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="887"/>
+ <source>Error installing Rockbox Utility</source>
+ <translation>Fehler beim installieren von Rockbox Utility</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="891"/>
+ <source>Installing user configuration</source>
+ <translation>Installiere Benutzerkonfiguration</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="893"/>
+ <source>Error installing user configuration</source>
+ <translation>Fehler beim installieren der Benutzerkonfiguration</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="897"/>
+ <source>Successfully installed Rockbox Utility.</source>
+ <translation>Rockbox Utility erfolgreich installiert.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>File</source>
+ <translation>Datei</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>Version</source>
+ <translation>Version</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="341"/>
+ <source>Do you really want to make a complete Installation?</source>
+ <translation>Wirklich eine vollständige Installation durchführen?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="393"/>
+ <source>Do you really want to make a small Installation?</source>
+ <translation>Wirklich eine kleine Installation durchführen?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="800"/>
+ <source>Could not get the bootloader info file!</source>
+ <translation>Konnte Bootloader-Informationsdatei nicht herunterladen!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="568"/>
+ <source>Bootloader Installation</source>
+ <translation>Bootloader-Installation</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>It seem your Bootloader is already uptodate.
+Do really want to install it?</source>
+ <translation type="obsolete">Der Bootloader scheint aktuell zu sein
+Trotzdem installieren?</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Bootloader installation Canceled!</source>
+ <translation type="obsolete">Bootloader-Installation abgebrochen!</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Bootloader installation Skipped!</source>
+ <translation type="obsolete">Bootloader-Installation übersprungen!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1014"/>
+ <source>Configuration error</source>
+ <translation>Konfigurationsfehler</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="187"/>
+ <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
+ <translation>Deine Konfiguration ist ungültig. Dies liegt wahrscheinlich daran das Rockbox Utillity das erste mal gestartet wird, oder an geänderten Pfaden. Der Konfigurationsdialog wird sich nun öffnen damit sie das Problem korrigieren können. </translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="570"/>
+ <source>The bootloader is already installed and up to date.
+Do want to replace the current bootloader?</source>
+ <translation>Der Bootloader ist schon installiert und aktuell.
+Wollen sie wircklich den Bootloader ersetzen ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="574"/>
+ <source>Bootloader installation skipped!</source>
+ <translation>Bootloader installation übersprungen!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Error</source>
+ <translation>Fehler</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
+ <translation>Für dein Gerät existiert kein Doom plugin. Breche Installation ab.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1016"/>
+ <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
+ <translation>Deine Konfiguration ist ungültig. Bitte gehe in den Konfigurationsdialog und stelle sicher das die Einstellungen korrekt sind.</translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQtFrm</name>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="13"/>
+ <source>Rockbox Utility</source>
+ <translation>Rockbox Utility</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="137"/>
+ <source>&amp;Quick Start</source>
+ <translation>&amp;Schnellstart</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>...</source>
+ <translation type="obsolete">...</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="162"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Vollständige Installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Die installiert den Bootloader, ein aktuellen build von Rockbox und die Extra-Pakete. Dies ist die empfohlene Installationsmethode für neue Installationen.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="192"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Kleine Installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Dies installiert den Bootloader und ein aktuellen Build von Rockbox. Wenn du die Extra-Pakete nicht brauchst, wähle diese Option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="236"/>
+ <source>&amp;Installation</source>
+ <translation>&amp;Installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="261"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installiere den Bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Bevor Rockbox auf einem Audio Player laufen kann, musst du eventuell einen Bootloader installieren. Dies ist nur für die erste Installation nötig.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="294"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installiere Rockbox&lt;/span&gt; auf deinem Audio Player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="340"/>
+ <source>&amp;Extras</source>
+ <translation>&amp;Extras</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="365"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="395"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="425"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="587"/>
+ <source>&amp;Uninstallation</source>
+ <translation>&amp;Deinstallation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="642"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="689"/>
+ <source>&amp;Manual</source>
+ <translation>&amp;Anleitung</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="837"/>
+ <source>&amp;File</source>
+ <translation>&amp;Datei</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="930"/>
+ <source>&amp;About</source>
+ <translation>Ü&amp;ber</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="907"/>
+ <source>Empty local download cache</source>
+ <translation>Download-Cache löschen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="912"/>
+ <source>Install Rockbox Utility on player</source>
+ <translation>Rockbox Utility auf dem Gerät installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="917"/>
+ <source>&amp;Configure</source>
+ <translation>&amp;Konfigurieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="922"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Beenden</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="925"/>
+ <source>Ctrl+Q</source>
+ <translation>Ctrl+Q</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="935"/>
+ <source>About &amp;Qt</source>
+ <translation>Über &amp;Qt</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="977"/>
+ <source>Install Rockbox</source>
+ <translation>Rockbox installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="969"/>
+ <source>Install Bootloader</source>
+ <translation>Bootloader installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="349"/>
+ <source>Install Fonts package</source>
+ <translation>Schriftarten-Paket installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="379"/>
+ <source>Install themes</source>
+ <translation>Themes Installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="409"/>
+ <source>Install game files</source>
+ <translation>Game dateien Installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="596"/>
+ <source>Uninstall Bootloader</source>
+ <translation>Bootloader entfernen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1033"/>
+ <source>Uninstall Rockbox</source>
+ <translation>Rockbox entfernen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="78"/>
+ <source>Device</source>
+ <translation>Gerät</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="90"/>
+ <source>Selected device:</source>
+ <translation>Ausgewähltes Gerät:</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="97"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;unbekannt&lt;/span&gt; an &lt;span style=&quot; font-weight:600;&quot;&gt;unbekannt&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="120"/>
+ <source>&amp;Change</source>
+ <translation>Än&amp;dern</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="140"/>
+ <source>Welcome</source>
+ <translation>Willkommen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="239"/>
+ <source>Basic Rockbox installation</source>
+ <translation>Einfache Rockbox-Installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="343"/>
+ <source>Install extras for Rockbox</source>
+ <translation>Installiere Extras für Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="466"/>
+ <source>&amp;Accessibility</source>
+ <translation>&amp;Accessibility</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="469"/>
+ <source>Install accessibility add-ons</source>
+ <translation>Installiere accessibility add-ons</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="475"/>
+ <source>Install Voice files</source>
+ <translation>Sprachdateien installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="491"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="505"/>
+ <source>Install Talk files</source>
+ <translation>Talk-Dateien installieren</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="521"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="612"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="692"/>
+ <source>View and download the manual</source>
+ <translation>Anleitung herunterladen und lesen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="698"/>
+ <source>Read the manual</source>
+ <translation>Anleitung lesen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="704"/>
+ <source>PDF manual</source>
+ <translation>PDF-Anleitung</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="717"/>
+ <source>HTML manual</source>
+ <translation>HTML-Anleitung</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="733"/>
+ <source>Download the manual</source>
+ <translation>Anleitung herunterladen</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="741"/>
+ <source>&amp;PDF version</source>
+ <translation>&amp;PDF-Version</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="748"/>
+ <source>&amp;HTML version (zip file)</source>
+ <translation>&amp;HTML-Version (Zip-Datei)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="770"/>
+ <source>Down&amp;load</source>
+ <translation>Herunter&amp;laden</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="794"/>
+ <source>Inf&amp;o</source>
+ <translation>Inf&amp;o</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="800"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="815"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="940"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Hilfe</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="953"/>
+ <source>Complete Installation</source>
+ <translation>Komplette Installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="961"/>
+ <source>Small Installation</source>
+ <translation>Kleine Installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="855"/>
+ <source>Action&amp;s</source>
+ <translation>Action&amp;s</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="859"/>
+ <source>Installation</source>
+ <translation>Installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="866"/>
+ <source>Quick Start</source>
+ <translation>Schnellstart</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="873"/>
+ <source>Extras</source>
+ <translation>Extras</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="881"/>
+ <source>Accessibility</source>
+ <translation>Accessibility</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="889"/>
+ <source>Uninstallation</source>
+ <translation>Deinstallation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="945"/>
+ <source>Info</source>
+ <translation>Info</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="985"/>
+ <source>Fonts Package</source>
+ <translation>Schriftarten Paket</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="993"/>
+ <source>Install Themes</source>
+ <translation>Installiere Themes</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1001"/>
+ <source>Install Game Files</source>
+ <translation>Installiere Game Dateien</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1009"/>
+ <source>Install Voice File</source>
+ <translation>Installiere Sprachfiles</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1017"/>
+ <source>Create Talk Files</source>
+ <translation>Erstelle Talk files</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1025"/>
+ <source>Remove bootloader</source>
+ <translation>Entferne Bootloader</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1038"/>
+ <source>Read PDF manual</source>
+ <translation>Lese PDF Manual</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1043"/>
+ <source>Read HTML manual</source>
+ <translation>Lese HTML Manual</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1048"/>
+ <source>Download PDF manual</source>
+ <translation>Downloade PDF manual</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1053"/>
+ <source>Download HTML manual (zip)</source>
+ <translation>Downloade HTML manual (zip)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="558"/>
+ <source>Create Voice files</source>
+ <translation>Erstelle Voicefile</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="574"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1061"/>
+ <source>Create Voice File</source>
+ <translation>Erstelle Voicefile</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1064"/>
+ <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
+e File</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SapiCfgFrm</name>
+ <message>
+ <location filename="sapicfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>Konfiguration</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation>Konfiguriere TTS Engine</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="62"/>
+ <source>TTS options</source>
+ <translation>TTS-Optionen</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="25"/>
+ <source>Language</source>
+ <translation>Sprache</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="87"/>
+ <source>Reset</source>
+ <translation>Reset</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="107"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="117"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="35"/>
+ <source>Voice</source>
+ <translation>Stimme</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="45"/>
+ <source>Speed</source>
+ <translation>Geschwindigkeit</translation>
+ </message>
+</context>
+<context>
+ <name>TTSExes</name>
+ <message>
+ <location filename="tts.cpp" line="123"/>
+ <source>TTS executable not found</source>
+ <translation>TTS programm nicht gefunden</translation>
+ </message>
+</context>
+<context>
+ <name>TTSExesCfgFrm</name>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>Konfiguration</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation>Konfiguriere TTS Engine</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="31"/>
+ <source>Path to TTS Engine</source>
+ <translation>Pfad zur TTS Engine</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation>D&amp;urchsuchen</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="52"/>
+ <source>TTS options</source>
+ <translation>TTS Optionen</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation>Reset</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+</context>
+<context>
+ <name>TTSSapi</name>
+ <message>
+ <location filename="tts.cpp" line="274"/>
+ <source>Could not copy the Sapi-script</source>
+ <translation>Konnte das Sapi-script nicht kopieren</translation>
+ </message>
+ <message>
+ <location filename="tts.cpp" line="292"/>
+ <source>Could not start the Sapi-script</source>
+ <translation>Konnte das Sapi-script nicht starten</translation>
+ </message>
+</context>
+<context>
+ <name>TalkFileCreator</name>
+ <message>
+ <location filename="talkfile.cpp" line="31"/>
+ <source>Starting Talk file generation</source>
+ <translation>Beginne Talkfile generation</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="41"/>
+ <source>Init of TTS engine failed</source>
+ <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="52"/>
+ <source>Init of Encoder engine failed</source>
+ <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="70"/>
+ <source>Talk file creation aborted</source>
+ <translation>Talkfile generation abgebrochen</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="132"/>
+ <source>Voicing of %1</source>
+ <translation>Spreche %1</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="135"/>
+ <source>Voicing of %s failed</source>
+ <translation>Sprechen von % ist fehlgeschlagen</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="143"/>
+ <source>Encoding of %1</source>
+ <translation>Enkodiere %1</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="146"/>
+ <source>Encoding of %1 failed</source>
+ <translation>Enkodieren of %1 ist fehlgeschlagen</translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="173"/>
+ <source>Finished creating Talk files</source>
+ <translation>Erstellen der Talkfiles beendet</translation>
+ </message>
+</context>
+<context>
+ <name>ThemeInstallFrm</name>
+ <message>
+ <location filename="installthemesfrm.ui" line="13"/>
+ <source>Theme Installation</source>
+ <translation>Theme-Installation</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="48"/>
+ <source>Selected Theme</source>
+ <translation>Ausgewähltes Theme</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="73"/>
+ <source>Description</source>
+ <translation>Beschreibung</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="83"/>
+ <source>Download size:</source>
+ <translation>Downloadgröße:</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="128"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="108"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Installiere</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="118"/>
+ <source>Install &amp;All</source>
+ <translation>Installiere &amp;Alles</translation>
+ </message>
+</context>
+<context>
+ <name>ThemesInstallWindow</name>
+ <message>
+ <location filename="installthemes.cpp" line="34"/>
+ <source>no theme selected</source>
+ <translation>Kein Theme ausgewählt</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="117"/>
+ <source>Network error: %1.
+Please check your network and proxy settings.</source>
+ <translation>Netzwerkfehler: %1
+Bitte Netzwerk- und Proxyeinstellungen überprüfen.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="128"/>
+ <source>the following error occured:
+%1</source>
+ <translation>Der folgende Fehler ist aufgetreten:
+%1</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="133"/>
+ <source>done.</source>
+ <translation>Abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="161"/>
+ <source>fetching details for %1</source>
+ <translation>hole Details für %1</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="163"/>
+ <source>fetching preview ...</source>
+ <translation>hole Vorschau ...</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Download size %1 kiB</source>
+ <translation type="obsolete">Downloadgröße: %1 kiB</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="184"/>
+ <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;Autor:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>unknown</source>
+ <translation>unbekannt</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>no description</source>
+ <translation>Keine Beschreibung vorhanden</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="222"/>
+ <source>no theme preview</source>
+ <translation>Keine Themevorschau vorhanden</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="254"/>
+ <source>getting themes information ...</source>
+ <translation>hole Theme-Informationen ...</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="312"/>
+ <source>Mount point is wrong!</source>
+ <translation>Einhängepunkt ungültig!</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;Beschreibung:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="171"/>
+ <source>Download size %L1 kiB</source>
+ <translation>Download größe %L1 kiB</translation>
+ </message>
+</context>
+<context>
+ <name>UnZip</name>
+ <message>
+ <location filename="zip/unzip.cpp" line="245"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>ZIP-Operation erfolgreich abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="246"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="247"/>
+ <source>zlib library error.</source>
+ <translation>Fehler in zlib-Bibliothek.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="248"/>
+ <source>Unable to create or open file.</source>
+ <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="249"/>
+ <source>Partially corrupted archive. Some files might be extracted.</source>
+ <translation>Teilweise korruptes Archiv. Einige Dateien wurden möglicherweise extrahiert.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="250"/>
+ <source>Corrupted archive.</source>
+ <translation>Korruptes Archiv.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="251"/>
+ <source>Wrong password.</source>
+ <translation>Falsches Passwort.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="252"/>
+ <source>No archive has been created yet.</source>
+ <translation>Momentan kein Archiv verfügbar.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="253"/>
+ <source>File or directory does not exist.</source>
+ <translation>Datei oder Ordner existiert nicht.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="254"/>
+ <source>File read error.</source>
+ <translation>Fehler beim Lesen der Datei.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="255"/>
+ <source>File write error.</source>
+ <translation>Fehler beim Schreiben der Datei.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="256"/>
+ <source>File seek error.</source>
+ <translation>Fehler beim Durchsuchen der Datei.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="257"/>
+ <source>Unable to create a directory.</source>
+ <translation>Kann Verzeichnis nicht erstellen.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="258"/>
+ <source>Invalid device.</source>
+ <translation>Ungültiges Gerät.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="259"/>
+ <source>Invalid or incompatible zip archive.</source>
+ <translation>Ungültiges oder inkompatibles Zip-Archiv.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="260"/>
+ <source>Inconsistent headers. Archive might be corrupted.</source>
+ <translation>Inkonsistente Header. Archiv ist möglicherweise beschädigt.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="264"/>
+ <source>Unknown error.</source>
+ <translation>Unbekannter Fehler.</translation>
+ </message>
+</context>
+<context>
+ <name>UninstallFrm</name>
+ <message>
+ <location filename="uninstallfrm.ui" line="16"/>
+ <source>Uninstall Rockbox</source>
+ <translation>Rockbox deinstallieren</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="35"/>
+ <source>Please select the Uninstallation Methodl</source>
+ <translation>Bitte Deinstallationsmethode auswählen</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="45"/>
+ <source>Uninstallation Method</source>
+ <translation>Deinstallationsmethode</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="51"/>
+ <source>Complete Uninstallation</source>
+ <translation>Vollständige Deinstallation</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="58"/>
+ <source>Smart Uninstallation</source>
+ <translation>Intelligente Deinstallation</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="68"/>
+ <source>Please select what you want to uninstall</source>
+ <translation>Bitte die zu deinstallierenden Teile auswählen</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="78"/>
+ <source>Installed Parts</source>
+ <translation>Installierte Teile</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="128"/>
+ <source>&amp;Uninstall</source>
+ <translation>&amp;Deinstallation</translation>
+ </message>
+</context>
+<context>
+ <name>Uninstaller</name>
+ <message>
+ <location filename="uninstall.cpp" line="45"/>
+ <source>Starting Uninstallation</source>
+ <translation>Beginne Deinstallation</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="37"/>
+ <source>Finished Uninstallation</source>
+ <translation>Deinstallation erfolgreich</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="51"/>
+ <source>Uninstalling </source>
+ <translation>Deinstalliere </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="81"/>
+ <source>Could not delete: </source>
+ <translation>Konnte Datei nicht löschen: </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="108"/>
+ <source>Uninstallation finished</source>
+ <translation>Deinstallation erfolgreich</translation>
+ </message>
+</context>
+<context>
+ <name>VoiceFileCreator</name>
+ <message>
+ <location filename="voicefile.cpp" line="41"/>
+ <source>Starting Voicefile generation</source>
+ <translation>Beginne Voicefile generation</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="55"/>
+ <source>failed to open rockbox-info.txt</source>
+ <translation>Öffnen von rockbox-info.txt ist fehlgeschlagen</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="124"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="128"/>
+ <source>Cached file used.</source>
+ <translation>Datei aus Cache verwendet.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="130"/>
+ <source>Download error: %1</source>
+ <translation>Downloadfehler: %1</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="134"/>
+ <source>Download finished.</source>
+ <translation>Download abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="143"/>
+ <source>failed to open downloaded file</source>
+ <translation>Konnte das heruntergladene File nicht öffnen</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="156"/>
+ <source>Init of TTS engine failed</source>
+ <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="167"/>
+ <source>Init of Encoder engine failed</source>
+ <translation>Initalisierung der Encoder engine ist fehlgeschlagen</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="209"/>
+ <source>The downloaded file was empty!</source>
+ <translation>Das heruntergeladene File was leer!</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="246"/>
+ <source>creating </source>
+ <translation>erstelle</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="269"/>
+ <source>Error opening downloaded file</source>
+ <translation>Konnte das heruntergladene File nicht öffnen</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="277"/>
+ <source>Error opening output file</source>
+ <translation>Konnte das output File nicht öffnen</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="291"/>
+ <source>successfully created.</source>
+ <translation>erfolgreich erstellt.</translation>
+ </message>
+</context>
+<context>
+ <name>Zip</name>
+ <message>
+ <location filename="zip/zip.cpp" line="479"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>ZIP operation erfolgreich abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="480"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="481"/>
+ <source>zlib library error.</source>
+ <translation>Fehler in zlib-Bibliothek.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="482"/>
+ <source>Unable to create or open file.</source>
+ <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="483"/>
+ <source>No archive has been created yet.</source>
+ <translation>Noch kein Archiv erzeugt.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="484"/>
+ <source>File or directory does not exist.</source>
+ <translation>Datei oder Ordner existiert nicht.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="485"/>
+ <source>File read error.</source>
+ <translation>Fehler beim Lesen der Datei.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="486"/>
+ <source>File write error.</source>
+ <translation>Fehler beim Schreiben der Datei.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="487"/>
+ <source>File seek error.</source>
+ <translation>Fehler beim Durchsuchen der Datei.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="491"/>
+ <source>Unknown error.</source>
+ <translation>Unbekannter Fehler.</translation>
+ </message>
+</context>
+<context>
+ <name>ZipInstaller</name>
+ <message>
+ <location filename="installzip.cpp" line="54"/>
+ <source>done.</source>
+ <translation>Abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="62"/>
+ <source>Installation finished successfully.</source>
+ <translation>Installation erfolgreich abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="77"/>
+ <source>Downloading file %1.%2</source>
+ <translation>Herunterladen von Datei %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="126"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="133"/>
+ <source>Download error: %1</source>
+ <translation>Downloadfehler: %1</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="138"/>
+ <source>Download finished.</source>
+ <translation>Download abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="144"/>
+ <source>Extracting file.</source>
+ <translation>Extrahiere Datei.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="153"/>
+ <source>Opening archive failed: %1.</source>
+ <translation>Öffnen des Archives fehlgeschlagen: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="162"/>
+ <source>Extracting failed: %1.</source>
+ <translation>Extrahieren fehlgeschlagen: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="172"/>
+ <source>Installing file.</source>
+ <translation>Installiere Datei.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="183"/>
+ <source>Installing file failed.</source>
+ <translation>Dateiinstallation fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="193"/>
+ <source>Creating installation log</source>
+ <translation>Erstelle Installationslog</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="131"/>
+ <source>Cached file used.</source>
+ <translation>Datei aus Cache verwendet.</translation>
+ </message>
+</context>
+<context>
+ <name>aboutBox</name>
+ <message>
+ <location filename="aboutbox.ui" line="13"/>
+ <source>About Rockbox Utility</source>
+ <translation>Über Rockbox Utility</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="95"/>
+ <source>&amp;Credits</source>
+ <translation>&amp;Credits</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="124"/>
+ <source>&amp;License</source>
+ <translation>&amp;Lizenz</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="157"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Ok</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="34"/>
+ <source>The Rockbox Utility</source>
+ <translation>Rockbox Utility</translation>
+ </message>
+ <message encoding="UTF-8">
+ <location filename="aboutbox.ui" line="56"/>
+ <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
+
+© 2005 - 2007 The Rockbox Team.
+Released under the GNU General Public License v2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="72"/>
+ <source>http://www.rockbox.org</source>
+ <translation>http://www.rockbox.org</translation>
+ </message>
+</context>
+</TS>
diff --git a/rbutil/rbutilqt/rbutil_fr.ts b/rbutil/rbutilqt/rbutil_fr.ts
index 2c580a3928..17776568d5 100644
--- a/rbutil/rbutilqt/rbutil_fr.ts
+++ b/rbutil/rbutilqt/rbutil_fr.ts
@@ -1,2572 +1,2572 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="fr">
-<context>
- <name>BootloaderInstaller</name>
- <message>
- <location filename="installbootloader.cpp" line="32"/>
- <source>Starting bootloader installation</source>
- <translation>Démarrage de l&apos;installation du bootloader</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="122"/>
- <source>unsupported install Method</source>
- <translation>Méthode d&apos;installation non supportée</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="85"/>
- <source>Starting bootloader uninstallation</source>
- <translation>Démarrage de l&apos;installation du bootloader</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="116"/>
- <source>No uninstallation possible</source>
- <translation>Désinstallation impossible</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="151"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>Erreur de téléchargement. Erreur HTTP %1.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="157"/>
- <source>Download error: %1</source>
- <translation>Erreur de téléchargement : %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="162"/>
- <source>Download finished.</source>
- <translation>Téléchargement terminé.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="224"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="237"/>
- <source>Creating installation log</source>
- <translation>Création du journal d&apos;installation</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="253"/>
- <source>Editing installation log</source>
- <translation>Edition du journal d&apos;installation</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1093"/>
- <source>Downloading file %1.%2</source>
- <translation>Téléchargement du fichier %1.%2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="323"/>
- <source>Could not find the Original Firmware at: %1</source>
- <translation>Impossible de trouver le firmware original dans %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="545"/>
- <source>Could not remove the Firmware at: %1</source>
- <translation>Impossible de supprimer le firmware de %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="554"/>
- <source>Could not copy the Firmware from: %1 to %2</source>
- <translation>Impossible de copier le firmware de %1 à %2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="360"/>
- <source>Finishing bootloader install</source>
- <translation>Achèvement de l&apos;installation du bootloader</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="370"/>
- <source>Could not find the Firmware at: %1</source>
- <translation>Impossible de trouver le firmware dans %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="596"/>
- <source>Could not rename: %1 to %2</source>
- <translation>Impossible de renommer %1 vers %2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1207"/>
- <source>Could not copy: %1 to %2</source>
- <translation>Impossible de copier %1 vers %2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1217"/>
- <source>Bootloader install finished successfully.</source>
- <translation>Installation du bootloader terminée avec succès.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1218"/>
- <source>To finish the Bootloader installation, follow the steps below.</source>
- <translation>Pour terminer l&apos;installation du bootloader, veuillez suivre les étapes ce-dessous.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1219"/>
- <source>1. Eject/Unmount your Device.</source>
- <translation>1. Ejectez/Demontez votre périphérique.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="413"/>
- <source>2. Unplug USB and any Power adapters.</source>
- <translation>2. Débranchez le câble USB et le câble d&apos;alimentation.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="414"/>
- <source>3. Hold POWER to turn the Device off.</source>
- <translation>3. Maintenez appuyée la touche POWER pour éteindre l&apos;appareil.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="415"/>
- <source>4. Toggle the Battery switch on the Device.</source>
- <translation>4. Changez de position l&apos;interrupteur de batterie de l&apos;appareil.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="416"/>
- <source>5. Hold POWER to boot the Rockbox bootloader.</source>
- <translation>5. Maintenez appuyée la touche POWER pour démarrer le bootloader de Rockbox.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="471"/>
- <source>2. Turn you Device OFF.</source>
- <translation>2. Eteignez l&apos;appareil.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="472"/>
- <source>3. Insert Charger.</source>
- <translation>3. Insérez le câble d&apos;alimentation.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="582"/>
- <source>Firmware does not exist: %1</source>
- <translation>Le firmware n&apos;existe pas : %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="639"/>
- <source>Searching for ipods</source>
- <translation>Recherche d&apos;iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="645"/>
- <source>No Ipods found</source>
- <translation>Aucun iPod trouvé</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="651"/>
- <source>Too many Ipods found</source>
- <translation>Trop d&apos;iPods trouvés</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="781"/>
- <source>could not open ipod</source>
- <translation>impossible d&apos;ouvrir l&apos;iPod</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="996"/>
- <source>could not read partitiontable</source>
- <translation>impossible de lire la table des partitions</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="795"/>
- <source>No partition 0 on disk</source>
- <translation>Pas de partition 0 sur le disque</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="800"/>
- <source>[INFO] Part Start Sector End Sector Size (MB) Type
-</source>
- <translation>[INFO] Part Premier secteur Dernier Secteur Taille (Mo) Type
-</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="806"/>
- <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
- <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="823"/>
- <source>Failed to read firmware directory</source>
- <translation>La lecture du dossier du firmware a échoué</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="829"/>
- <source>Unknown version number in firmware (%1)</source>
- <translation>Numéro de version inconnu dans le firmware (%1)</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="832"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
- <translation type="obsolete">Avertissement : Ceci est un MacPod, Rockbox ne fonctionne pas dessus. Convertissez-le en un WinPod</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="847"/>
- <source>Could not open Ipod in RW mode</source>
- <translation>Impossible d&apos;ouvir l&apos;iPod en mode Lecture-Ecriture</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="751"/>
- <source>No bootloader detected.</source>
- <translation>Aucun bootloader détecté.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="966"/>
- <source>Successfully removed Bootloader</source>
- <translation>Bootloader supprimé avec succès</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="974"/>
- <source>--delete-bootloader failed.</source>
- <translation>--delete-bootloader a échoué.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1031"/>
- <source>Successfully added Bootloader</source>
- <translation>Bootloader ajouté avec succès</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1039"/>
- <source>failed to add Bootloader</source>
- <translation>échec de l&apos;ajout du bootloader</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="882"/>
- <source>Searching for sansas</source>
- <translation>Recherche de sansas</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="888"/>
- <source>No Sansa found</source>
- <translation>Aucun sansa trouvé</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="894"/>
- <source>Too many Sansas found</source>
- <translation>Trop de sansas trouvés</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="989"/>
- <source>could not open Sansa</source>
- <translation>impossible d&apos;ouvrir le sansa</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1017"/>
- <source>********************************************
-OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
-You must reinstall the original Sansa firmware before running
-sansapatcher for the first time.
-See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
-*********************************************
-</source>
- <translation>********************************************
-ANCIENNE INSTALLATION DE ROCKBOX DETECTEE, ANNULATION.
-Vous devez réinstaller le firmware original du Sansa avant d&apos;exécuter
-sansapatcher pour la première fois.
-Voir http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (en anglais)
-*********************************************
-</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1024"/>
- <source>Could not open Sansa in RW mode</source>
- <translation>Impossible d&apos;ouvir le sansa en mode Lecture-Ecriture</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1055"/>
- <source>Could not MD5Sum original firmware</source>
- <translation>Impossible de calculer la somme de contrôle MD5 du firmware original</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1085"/>
- <source>Could not detect firmware type</source>
- <translation>Impossible de détecter le type de firmware</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1148"/>
- <source>Error in descramble</source>
- <translation>Erreur dans descramble</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1158"/>
- <source>Error in patching</source>
- <translation>Erreur dans la modification</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1168"/>
- <source>Error in scramble</source>
- <translation>Erreur dans scramble</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1179"/>
- <source>Error in checksumming</source>
- <translation>Erreur dans le calcul de la somme de contrôle</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1220"/>
- <source>2. Boot into the original Firmware.</source>
- <translation>2. Démarrez le firmware original.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1221"/>
- <source>3. Use the Firmware flash option in the Original Firmware.</source>
- <translation>3. Utilisez l&apos;option &quot;Firmware flash&quot; du firmware original.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1222"/>
- <source>4. Reboot.</source>
- <translation>4. Redémarrez.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="533"/>
- <source>Original Firmware does not exist: %1</source>
- <translation>Le firmware original n&apos;existe pas : %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1005"/>
- <source>Disk is not a Sansa (%1), aborting.</source>
- <translation>Ce disque n&apos;est pas un Sansa (%1), annulation.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="839"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
-See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>BrowseDirtreeFrm</name>
- <message>
- <location filename="browsedirtreefrm.ui" line="13"/>
- <source>Find Directory</source>
- <translation>Ouverture du répertoire</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="19"/>
- <source>Browse to the destination folder</source>
- <translation>Indiquez le répertoire de destination</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="47"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="57"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Annuler</translation>
- </message>
-</context>
-<context>
- <name>BrowseOFFrm</name>
- <message>
- <location filename="browseoffrm.ui" line="13"/>
- <source>Find original Firmware</source>
- <translation>Ouverture du firmware original</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="19"/>
- <source>Browse for a downloaded copy of the original firmware</source>
- <translation>Indiquez l&apos;emplacement de la copie téléchargée du firmware original</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="32"/>
- <source>Browse</source>
- <translation>Parcourir</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="54"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="64"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Annuler</translation>
- </message>
-</context>
-<context>
- <name>Config</name>
- <message>
- <location filename="configure.cpp" line="110"/>
- <source>Language changed</source>
- <translation>Changement de langue</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="111"/>
- <source>You need to restart the application for the changed language to take effect.</source>
- <translation>Vous devez redémarrer l&apos;application pour que le changement de langue prenne effet.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="227"/>
- <source>Current cache size is %1 kiB.</source>
- <translation type="obsolete">La taille actuelle du cache est %1 Ko.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="593"/>
- <source>Autodetection</source>
- <translation>Autodétection</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="587"/>
- <source>Could not detect a Mountpoint.
-Select your Mountpoint manually.</source>
- <translation>Impossible de détecter un point de montage.
-Veuillez sélectionner manuellement le point de montage.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="595"/>
- <source>Could not detect a device.
-Select your device and Mountpoint manually.</source>
- <translation>Impossible de détecter le périphérique.
-Veuillez sélectionner manuellement le type de périphérique et le point de montage.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="603"/>
- <source>Really delete cache?</source>
- <translation>Supprimer le cache ?</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="606"/>
- <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
- <translation>Voulez-vous supprimer le cache ? Vérifier bien que ce paramètre est correct car il supprimera &lt;b&gt;tous&lt;/b&gt; les fichiers de ce répertoire !</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="612"/>
- <source>Path wrong!</source>
- <translation>Chemin incorrect !</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="613"/>
- <source>The cache path is invalid. Aborting.</source>
- <translation>Le chemin du cache est invalide. Annulation.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="56"/>
- <source> (%1)</source>
- <translation> (%1)</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="485"/>
- <source>Select your device</source>
- <translation>Sélectionnez votre périphérique</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="569"/>
- <source>Sansa e200 in MTP mode found!
-You need to change your player to MSC mode for installation. </source>
- <translation>Sansa e200 en mode MTP trouvé !
-Vous devez mettre votre lecteur audio en mode MSC pour l&apos;installation. </translation>
- </message>
- <message>
- <location filename="configure.cpp" line="572"/>
- <source>H10 20GB in MTP mode found!
-You need to change your player to UMS mode for installation. </source>
- <translation>H10 20 Go en mode MTP trouvé !
-Vous devez mettre votre lecteur en mode UMS pour l&apos;installation. </translation>
- </message>
- <message>
- <location filename="configure.cpp" line="573"/>
- <source>Unless you changed this installation will fail!</source>
- <translation>Si vous n&apos;avez pas changé ceci, l&apos;installation échouera !</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="575"/>
- <source>Fatal error</source>
- <translation>Erreur fatale</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="220"/>
- <source>Current cache size is %L1 kiB.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="418"/>
- <source>(system proxy is disabled)</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ConfigForm</name>
- <message>
- <location filename="configurefrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>Configuration</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="19"/>
- <source>Configure Rockbox Utility</source>
- <translation>Configuration de l&apos;utilitaire Rockbox</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="30"/>
- <source>&amp;Device</source>
- <translation>&amp;Périphérique</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="39"/>
- <source>Select your device in the &amp;filesystem</source>
- <translation>Sélectionnez votre périphérique dans le &amp;Système de fichiers</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="286"/>
- <source>&amp;Browse</source>
- <translation>&amp;Parcourir</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="66"/>
- <source>&amp;Select your audio player</source>
- <translation>&amp;Sélectionnez votre lecteur audio</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="77"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="98"/>
- <source>&amp;Autodetect</source>
- <translation>&amp;Autodétection</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="109"/>
- <source>&amp;Proxy</source>
- <translation>&amp;Proxy</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="118"/>
- <source>&amp;No Proxy</source>
- <translation>P&amp;as de proxy</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="128"/>
- <source>Use S&amp;ystem values</source>
- <translation>Utilier les valeurs du s&amp;ystème</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="135"/>
- <source>&amp;Manual Proxy settings</source>
- <translation>Paramètres &amp;manuels pour le proxy</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="142"/>
- <source>Proxy Values</source>
- <translation>Valeurs du proxy</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="148"/>
- <source>&amp;Host:</source>
- <translation>&amp;Hôte:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="165"/>
- <source>&amp;Port:</source>
- <translation>&amp;Port:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="188"/>
- <source>&amp;Username</source>
- <translation>&amp;Nom d&apos;utilisateur</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="198"/>
- <source>Pass&amp;word</source>
- <translation>&amp;Mot de passe</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="225"/>
- <source>&amp;Language</source>
- <translation>&amp;Langue</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="238"/>
- <source>Cac&amp;he</source>
- <translation>Cac&amp;he</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="244"/>
- <source>Download cache settings</source>
- <translation>Paramètres du cache de téléchargement</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="250"/>
- <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
- <translation>L&apos;utilitaire Rockbox utilise un cache local de téléchargement pour économiser de la bande passante. Vous pouvez modifier le chemin du cache et l&apos;utiliser comme un dépôt local en activant le mode hors-ligne.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="260"/>
- <source>Current cache size is %1</source>
- <translation>La taille actuelle du cache est %1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="269"/>
- <source>P&amp;ath</source>
- <translation>&amp;Chemin</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="279"/>
- <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
- <translation>Entrer un répertoire invalide remettra la valeur du chemin à celle du répertoire temporaire du système.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="300"/>
- <source>Disable local &amp;download cache</source>
- <translation>Désactiver le cache local de &amp;téléchargement</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="307"/>
- <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
- <translation>Ceci essaiera d&apos;utiliser toutes les informations du cache, même les informations de mise à jour.
-Utilisez cette option si vous voulez installer sans connexion réseau.
-Note : l&apos;installation que vous voudrez réaliser plus tard doit d&apos;abord être faite avec un accès réseau
-pour télécharger tous les fichiers néecessaires dans le cache.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="310"/>
- <source>O&amp;ffline mode</source>
- <translation>Mode &amp;hors-ligne</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="345"/>
- <source>Clean cache &amp;now</source>
- <translation>Nettoyer le cache &amp;maintenant</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="356"/>
- <source>&amp;TTS &amp;&amp; Encoder</source>
- <translation>&amp;TTS &amp;&amp; Encodeur</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="365"/>
- <source>TTS Engine</source>
- <translation>Moteur TTS</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="371"/>
- <source>&amp;Select TTS Engine</source>
- <translation type="unfinished">Profil &amp;TTS</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="384"/>
- <source>TTS executable</source>
- <translation type="obsolete">Exécutable TTS</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="407"/>
- <source>TTS Options</source>
- <translation type="obsolete">Options TTS</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="421"/>
- <source>Encoder Engine</source>
- <translation>Moteur d&apos;encodage</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="439"/>
- <source>Select &amp;encoder profile</source>
- <translation type="obsolete">Profil d&apos;&amp;encodage</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="452"/>
- <source>Encoder executable</source>
- <translation type="obsolete">Exécutable de l&apos;encodeur</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="465"/>
- <source>B&amp;rowse</source>
- <translation type="obsolete">&amp;Parcourir</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="475"/>
- <source>Encoder options</source>
- <translation type="obsolete">Options de l&apos;encodeur</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="507"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="517"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Annuler</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="420"/>
- <source>TTS Language</source>
- <translation type="obsolete">Langue TTS</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="384"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="447"/>
- <source>Configuration invalid !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="408"/>
- <source>Configure &amp;TTS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="427"/>
- <source>Select &amp;encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="440"/>
- <source>Configure encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="464"/>
- <source> Configure &amp;Enc</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Configure</name>
- <message>
- <location filename="configure.cpp" line="469"/>
- <source>English</source>
- <translation>Français</translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceFrm</name>
- <message>
- <location filename="createvoicefrm.ui" line="16"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="41"/>
- <source>Select the Language you want to generate a voicefile for:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="51"/>
- <source>Generation settings</source>
- <translation type="unfinished">Paramètres de génération</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="57"/>
- <source>Encoder profile:</source>
- <translation type="unfinished">Profil d&apos;encodage :</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="64"/>
- <source>TTS profile:</source>
- <translation type="unfinished">Profil TTS :</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="77"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="128"/>
- <source>&amp;Install</source>
- <translation type="unfinished">&amp;Installer</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Annuler</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="152"/>
- <source>Wavtrim Threshold</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceWindow</name>
- <message>
- <location filename="createvoicewindow.cpp" line="96"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="98"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="106"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>EncExesCfgFrm</name>
- <message>
- <location filename="encexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Configuration</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="19"/>
- <source>Configure Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="31"/>
- <source>Path to Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;Parcourir</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="52"/>
- <source>Encoder options</source>
- <translation type="unfinished">Options de l&apos;encodeur</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Annuler</translation>
- </message>
-</context>
-<context>
- <name>Install</name>
- <message>
- <location filename="install.cpp" line="55"/>
- <source>Mount point is wrong!</source>
- <translation>Le point de montage est incorrect !</translation>
- </message>
- <message>
- <location filename="install.cpp" line="141"/>
- <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
- <translation>C&apos;est la version la plus récente possible. Elle est mise à jour à chaque fois qu&apos;un changement est fait. La version actuelle est r%1 (%2).</translation>
- </message>
- <message>
- <location filename="install.cpp" line="145"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;Note :&lt;/b&gt; Cette option téléchargera toujours une nouvelle copie. &lt;b&gt;C&apos;est la version recommendée.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="148"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
- <translation>&lt;b&gt;Note :&lt;/b&gt; Cette option téléchargera toujours une nouvelle copie.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="157"/>
- <source>This is the last released version of Rockbox.</source>
- <translation>C&apos;est la dernière version publique officielle de Rockbox.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="163"/>
- <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;Note :&lt;/b&gt; La dernière version publique officielle est %1. &lt;b&gt;C&apos;est la version recommendée.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="175"/>
- <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
- <translation type="unfinished">Elles sont mises à jour chaque jour à partir du code source courant. Il y a généralement plus de fonctionnalités que dans la dernière version publique officielle mais le stabilité n&apos;est pas garantie. les fonctionnalités peuvent changer.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="177"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
- <translation>&lt;b&gt;Note :&lt;/b&gt; la version archivée est r%1 (%2).</translation>
- </message>
-</context>
-<context>
- <name>InstallFrm</name>
- <message>
- <location filename="installfrm.ui" line="16"/>
- <source>Install Rockbox</source>
- <translation>Installer Rockbox</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="35"/>
- <source>Please select the Rockbox version you want to install on your player:</source>
- <translation>Veuillez sélectionner la version de Rockbox que vous souhaitez installer sur votre lecteur audio :</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="45"/>
- <source>Version</source>
- <translation>Version</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="51"/>
- <source>Rockbox &amp;stable</source>
- <translation>Rockbox &amp;stable</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="58"/>
- <source>&amp;Archived Build</source>
- <translation>Version &amp;archivée</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="65"/>
- <source>&amp;Current Build</source>
- <translation>Version a&amp;ctuelle</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="75"/>
- <source>Details</source>
- <translation>Détails</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="81"/>
- <source>Details about the selected version</source>
- <translation>Détails à propos de la version sélectionnée</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="91"/>
- <source>Note</source>
- <translation>Note</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="104"/>
- <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
- <translation>L&apos;utilitaire Rockbox stocke les copies de Rockbox téléchargées sur le disque dur local pour économiser de la bande passante. Si votre copie local ne fonctionne plus, cochez cette casez pour télécharger une nouvelle copie.</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="107"/>
- <source>&amp;Don&apos;t use locally cached copy</source>
- <translation>&amp;Ne pas utiliser la version en cache</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="152"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Annuler</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="142"/>
- <source>&amp;Install</source>
- <translation>&amp;Installer</translation>
- </message>
-</context>
-<context>
- <name>InstallProgressFrm</name>
- <message>
- <location filename="installprogressfrm.ui" line="19"/>
- <source>Progress</source>
- <translation>Avancement</translation>
- </message>
- <message>
- <location filename="installprogressfrm.ui" line="56"/>
- <source>&amp;Abort</source>
- <translation>&amp;Annuler</translation>
- </message>
-</context>
-<context>
- <name>InstallTalkFrm</name>
- <message>
- <location filename="installtalkfrm.ui" line="16"/>
- <source>Install Talk Files</source>
- <translation>Installation des fichiers de voix</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="35"/>
- <source>Select the Folder to generate Talkfiles for.</source>
- <translation>Sélectionnez le dossier pour lequel générer des fichiser de voix.</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="45"/>
- <source>&amp;Browse</source>
- <translation>&amp;Parcourir</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="55"/>
- <source>Generation settings</source>
- <translation>Paramètres de génération</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="61"/>
- <source>Encoder profile:</source>
- <translation>Profil d&apos;encodage :</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="68"/>
- <source>TTS profile:</source>
- <translation>Profil TTS :</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="104"/>
- <source>Generation options</source>
- <translation>Options de génération</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="110"/>
- <source>Overwrite Wavefiles</source>
- <translation>Ecraser les fichiers WAV</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="120"/>
- <source>Remove Wavefiles</source>
- <translation>Supprimer les fichiers WAV</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="130"/>
- <source>Run recursive</source>
- <translation>Parcours récursif</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="140"/>
- <source>Strip Extensions</source>
- <translation>Suppression des extensions</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="150"/>
- <source>Overwrite Talkfiles</source>
- <translation>Ecraser les fichiers de voix</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="224"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Annuler</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="214"/>
- <source>&amp;Install</source>
- <translation>&amp;Installer</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="81"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="160"/>
- <source>Generate .talk files for Folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="170"/>
- <source>Generate .talk files for Files</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallTalkWindow</name>
- <message>
- <location filename="installtalkwindow.cpp" line="84"/>
- <source>The Folder to Talk is wrong!</source>
- <translation>Le dossier à dire est faux !</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="101"/>
- <source>Path to Encoder is wrong!</source>
- <translation type="obsolete">Le chemin vers l&apos;encodeur est faux !</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="108"/>
- <source>Path to TTS is wrong!</source>
- <translation type="obsolete">Le chemin vers le TTS est faux !</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="149"/>
- <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">Profil TTS : &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="149"/>
- <source>Invalid TTS profile!</source>
- <translation type="obsolete">Profil TTS invalide !</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="155"/>
- <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">Profil d&apos;encodage : &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="155"/>
- <source>Invalid encoder profile!</source>
- <translation type="obsolete">Profil d&apos;encodage invalide !</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="119"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="121"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="129"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>PreviewFrm</name>
- <message>
- <location filename="previewfrm.ui" line="16"/>
- <source>Preview</source>
- <translation>Prévisualisation</translation>
- </message>
-</context>
-<context>
- <name>ProgressLoggerGui</name>
- <message>
- <location filename="progressloggergui.cpp" line="79"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="progressloggergui.cpp" line="89"/>
- <source>&amp;Abort</source>
- <translation>&amp;Annuler</translation>
- </message>
-</context>
-<context>
- <name>RbSpeexCfgFrm</name>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Configuration</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="19"/>
- <source>Configure RbSpeex Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="38"/>
- <source>Volume</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="45"/>
- <source>Narrowband</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="68"/>
- <source>Quality</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="85"/>
- <source>Complexity</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="115"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="125"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Annuler</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="95"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RbUtilQt</name>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>File</source>
- <translation>Fichier</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>Version</source>
- <translation>Version</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="210"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="305"/>
- <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
- <translation>&lt;b&gt;%1 %2&lt;/b&gt; sur &lt;b&gt;%3&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="325"/>
- <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;Manuel PDF&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="327"/>
- <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;Manuel HTML (ouvre un navigateur)&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="330"/>
- <source>Select a device for a link to the correct manual</source>
- <translation>Sélectionnez un périphérique pour obtenir un lien vers le manuel approprié</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="332"/>
- <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;Tous les manuels&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="695"/>
- <source>Confirm Installation</source>
- <translation>Confirmation de l&apos;installation</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="341"/>
- <source>Do you really want to make a complete Installation?</source>
- <translation>Etes-vous sûr de vouloir faire une installation complète ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="877"/>
- <source>Mount point is wrong!</source>
- <translation>Le point de montage est erroné !</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="393"/>
- <source>Do you really want to make a small Installation?</source>
- <translation>Etes-vous sûr de vouloir faire une installation légère ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="533"/>
- <source>Do you really want to install the Bootloader?</source>
- <translation>Etes-vous sûr de vouloir installer le bootloader ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="800"/>
- <source>Could not get the bootloader info file!</source>
- <translation>Impossible de trouver le fichier d&apos;informations du bootloader !</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="568"/>
- <source>Bootloader Installation</source>
- <translation type="unfinished">Installation du bootloader annulée !</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="561"/>
- <source>It seem your Bootloader is already uptodate.
-Do really want to install it?</source>
- <translation type="obsolete">Il semble que le bootloader soit déjà à jour.
-Voulez-vous vraiment l&apos;installer ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="593"/>
- <source>Original Firmware Path is wrong!</source>
- <translation>Le chemin du firmware original est invalide !</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="606"/>
- <source>Original Firmware selection Canceled!</source>
- <translation>Installation du firmware original annulée !</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="621"/>
- <source>Do you really want to install the fonts package?</source>
- <translation>Etes-vous sûr de vouloir installer le pack de polices de caractères ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="656"/>
- <source>Do you really want to install the voice file?</source>
- <translation>Etes-vous sûr de vouloir installer le fichier de voix ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="696"/>
- <source>Do you really want to install the game addon files?</source>
- <translation>Etes-vous sûr de vouloir installer les fichiers additionnels de jeu ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="782"/>
- <source>Confirm Uninstallation</source>
- <translation>Confirmation de la désinstallation</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="783"/>
- <source>Do you really want to uninstall the Bootloader?</source>
- <translation>Etes-vous sûr de vouloir désinstaller le bootloader ?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="813"/>
- <source>Confirm download</source>
- <translation>Confirmation du téléchargement</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="815"/>
- <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
- <translation>Etes-vous sûr de vouloir télécharger le manuel ? Il sera sauvegardé dans le dossier racine de votre lecteur audio.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="863"/>
- <source>Confirm installation</source>
- <translation>Confirmation de l&apos;installation</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="865"/>
- <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
- <translation>Etes-vous sûr de vouloir installer l&apos;utilitaire Rockbox sur votre lecteur audio ? Après l&apos;installation vous pourrez le lancer depuis le disque dur de votre lecteur audio.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="873"/>
- <source>Installing Rockbox Utility</source>
- <translation>Installation de l&apos;utilitaire Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="887"/>
- <source>Error installing Rockbox Utility</source>
- <translation>Erreur pendant l&apos;installation de l&apos;utilitaire Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="891"/>
- <source>Installing user configuration</source>
- <translation>Installation de la configuration utilisateur</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="893"/>
- <source>Error installing user configuration</source>
- <translation>Erreur pendant l&apos;installation de la configuration utilisateur</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="897"/>
- <source>Successfully installed Rockbox Utility.</source>
- <translation>Installation de l&apos;utilitaire Rockbox terminée avec succès.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="573"/>
- <source>Bootloader installation Skipped!</source>
- <translation type="obsolete">Etape d&apos;instllation du bootloader sautée !</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1014"/>
- <source>Configuration error</source>
- <translation>Erreur de configuration</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="187"/>
- <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
- <translation>Votre configuration est invalide. Ceci est probablement dû à une nouvelle installation de l&apos;utilitaire Rockbox ou à un changement du chemin du périphérique. La fenêtre de configuration va s&apos;ouvrir pour vous permettre de corriger le problème.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Error</source>
- <translation>Erreur</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
- <translation>Votre périphérique n&apos;a pas de le plugin Doom. Annulation.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1016"/>
- <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
- <translation>Votre configuration est invalide. Veuillez vérifier que les valeurs sélectionnées sont correctes dans la fenêtre de configuration.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="570"/>
- <source>The bootloader is already installed and up to date.
-Do want to replace the current bootloader?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="574"/>
- <source>Bootloader installation skipped!</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RbUtilQtFrm</name>
- <message>
- <location filename="rbutilqtfrm.ui" line="13"/>
- <source>Rockbox Utility</source>
- <translation>Utilitaire Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="78"/>
- <source>Device</source>
- <translation>Périphérique</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="90"/>
- <source>Selected device:</source>
- <translation>Périphérique sélectionné :</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="97"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="120"/>
- <source>&amp;Change</source>
- <translation>&amp;Modifier</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="137"/>
- <source>&amp;Quick Start</source>
- <translation>&amp;Démarrage rapide</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="140"/>
- <source>Welcome</source>
- <translation>Bienvenue</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="176"/>
- <source>...</source>
- <translation type="obsolete">...</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="162"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installation complète&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ceci installe le bootloader, une version actuelle et le pack des extras. C&apos;est la méthode recommandée pour les nouvelles installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="192"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installation légère&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ceci installe le bootloader et une version acuelle de Rockbox. Si vous ne voulez pas le pack des extras, choisissez cette option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="236"/>
- <source>&amp;Installation</source>
- <translation>&amp;Installation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="239"/>
- <source>Basic Rockbox installation</source>
- <translation>Installation basique de Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="969"/>
- <source>Install Bootloader</source>
- <translation>Installation du bootloader</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="261"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer le bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Avant de pouvoir lancer Rockbox sur votre lecteur audio, vous pouvez avoir à installer un bootloader. Ceci n&apos;est nécessaier que la première fois que vous installez Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="977"/>
- <source>Install Rockbox</source>
- <translation>Installer Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="294"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer Rockbox&lt;/span&gt; sur votre lecteur audio&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="340"/>
- <source>&amp;Extras</source>
- <translation>&amp;Extras</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="343"/>
- <source>Install extras for Rockbox</source>
- <translation>Installer des extras pour Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="349"/>
- <source>Install Fonts package</source>
- <translation>Installer le pack des polices de caractères</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="365"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Polices de caractères&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Le pack de polices de caractères contient des polices couramment utilisées. Son installation est fortement recommandée.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="379"/>
- <source>Install themes</source>
- <translation>Installer des thèmes</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="395"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer des Thèmes&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;L&apos;apparence de Rockbox peut être personnalisée avec des thèmes. Vous pouvez choisir et installer différents thèmes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="409"/>
- <source>Install game files</source>
- <translation>Installer des fichier de jeu</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="425"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer des fichiers de jeu&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom nécessite un fichier wad pour être utilisé.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="466"/>
- <source>&amp;Accessibility</source>
- <translation>&amp;Accessibilité</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="469"/>
- <source>Install accessibility add-ons</source>
- <translation>Installer des add-ons pour l&apos;accessibilité</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="475"/>
- <source>Install Voice files</source>
- <translation>Installer des fichiers de voix</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="491"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer des fichiers de voix&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Les fichiers de voix sont nécessaires pour faire parler l&apos;interface de Rockbox. La voix est activée par défaut, donc si vous installez les fichiers de voix Rockbox parlera.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="505"/>
- <source>Install Talk files</source>
- <translation>Installer des fichiers de voix</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="521"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Créer des fichiers de voix&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Les fichiers de voix sont nécessaires pour que Rockbox dise les noms des fichiers et des dossiers&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="587"/>
- <source>&amp;Uninstallation</source>
- <translation>&amp;Désinstallation</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1033"/>
- <source>Uninstall Rockbox</source>
- <translation>Désinstaller Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="596"/>
- <source>Uninstall Bootloader</source>
- <translation>Désinstaller le bootloader</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="612"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Supprimer le bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Après avoir supprimé le bootloader, vous ne pourrez plus démarrer Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="642"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Supprimer Rockbox&lt;/span&gt; de votre lecteur audio.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ceci laissera le bootloader (Vous devrez le supprimer séparément).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="689"/>
- <source>&amp;Manual</source>
- <translation>&amp;Manuel</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="692"/>
- <source>View and download the manual</source>
- <translation>Voir et télécharger le manuel</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="698"/>
- <source>Read the manual</source>
- <translation>Lire le manuel</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="704"/>
- <source>PDF manual</source>
- <translation>Manuel PDF</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="717"/>
- <source>HTML manual</source>
- <translation>Manuel HTML</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="733"/>
- <source>Download the manual</source>
- <translation>Télécharger le manuel</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="741"/>
- <source>&amp;PDF version</source>
- <translation>Version &amp;PDF</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="748"/>
- <source>&amp;HTML version (zip file)</source>
- <translation>Version &amp;HTML (fichier zip)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="770"/>
- <source>Down&amp;load</source>
- <translation>Télé&amp;charger</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="794"/>
- <source>Inf&amp;o</source>
- <translation>Inf&amp;o</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="800"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Composants actuellement installés.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: Si vous avez manuellement installé des composants, ceci ne sera pas correct !&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="815"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="837"/>
- <source>&amp;File</source>
- <translation>&amp;Fichier</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="930"/>
- <source>&amp;About</source>
- <translation>&amp;A propos</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="907"/>
- <source>Empty local download cache</source>
- <translation>Vider le cache local de téléchargement</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="912"/>
- <source>Install Rockbox Utility on player</source>
- <translation>Installer l&apos;utilitaire Rockbox sur le lecteur</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="917"/>
- <source>&amp;Configure</source>
- <translation>&amp;Configuration</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="922"/>
- <source>E&amp;xit</source>
- <translation>&amp;Quitter</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="925"/>
- <source>Ctrl+Q</source>
- <translation>Ctrl+Q</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="935"/>
- <source>About &amp;Qt</source>
- <translation>A propos de &amp;Qt</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="940"/>
- <source>&amp;Help</source>
- <translation>&amp;Aide</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="953"/>
- <source>Complete Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="961"/>
- <source>Small Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="855"/>
- <source>Action&amp;s</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="859"/>
- <source>Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="866"/>
- <source>Quick Start</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="873"/>
- <source>Extras</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="881"/>
- <source>Accessibility</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="889"/>
- <source>Uninstallation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="945"/>
- <source>Info</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="985"/>
- <source>Fonts Package</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="993"/>
- <source>Install Themes</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1001"/>
- <source>Install Game Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1009"/>
- <source>Install Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1017"/>
- <source>Create Talk Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1025"/>
- <source>Remove bootloader</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1038"/>
- <source>Read PDF manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1043"/>
- <source>Read HTML manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1048"/>
- <source>Download PDF manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1053"/>
- <source>Download HTML manual (zip)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="558"/>
- <source>Create Voice files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="574"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1061"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1064"/>
- <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
-e File</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>SapiCfgFrm</name>
- <message>
- <location filename="sapicfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Configuration</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="62"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="25"/>
- <source>Language</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="87"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="107"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="117"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Annuler</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="35"/>
- <source>Voice</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="45"/>
- <source>Speed</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExes</name>
- <message>
- <location filename="tts.cpp" line="123"/>
- <source>TTS executable not found</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExesCfgFrm</name>
- <message>
- <location filename="ttsexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Configuration</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="31"/>
- <source>Path to TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;Parcourir</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="52"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Annuler</translation>
- </message>
-</context>
-<context>
- <name>TTSSapi</name>
- <message>
- <location filename="tts.cpp" line="274"/>
- <source>Could not copy the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="tts.cpp" line="292"/>
- <source>Could not start the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TalkFileCreator</name>
- <message>
- <location filename="talkfile.cpp" line="31"/>
- <source>Starting Talk file generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="41"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="52"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="70"/>
- <source>Talk file creation aborted</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="132"/>
- <source>Voicing of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="135"/>
- <source>Voicing of %s failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="143"/>
- <source>Encoding of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="146"/>
- <source>Encoding of %1 failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="173"/>
- <source>Finished creating Talk files</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ThemeInstallFrm</name>
- <message>
- <location filename="installthemesfrm.ui" line="13"/>
- <source>Theme Installation</source>
- <translation>Installation de thèmes</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="48"/>
- <source>Selected Theme</source>
- <translation>Thème sélectionné</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="73"/>
- <source>Description</source>
- <translation>Description</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="83"/>
- <source>Download size:</source>
- <translation>Taille du téléchargement :</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="128"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Annuler</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="108"/>
- <source>&amp;Install</source>
- <translation>&amp;Installer</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="118"/>
- <source>Install &amp;All</source>
- <translation>&amp;Tout installer</translation>
- </message>
-</context>
-<context>
- <name>ThemesInstallWindow</name>
- <message>
- <location filename="installthemes.cpp" line="34"/>
- <source>no theme selected</source>
- <translation>pas de thème sélectionné</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="117"/>
- <source>Network error: %1.
-Please check your network and proxy settings.</source>
- <translation>Erreur réseau: %1.
-Veuillez vérifier vos paramètres réseau et proxy.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="128"/>
- <source>the following error occured:
-%1</source>
- <translation>L&apos;erreur suivante s&apos;est produite :
-%1</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="133"/>
- <source>done.</source>
- <translation>terminé.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="161"/>
- <source>fetching details for %1</source>
- <translation>récupération des détails pour %1</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="163"/>
- <source>fetching preview ...</source>
- <translation>récupération de l&apos;aperçu ...</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="171"/>
- <source>Download size %L1 kiB</source>
- <translation type="unfinished">Taille du téléchargement %1 ko</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="184"/>
- <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;Auteur :&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>unknown</source>
- <translation>inconnu</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>no description</source>
- <translation>pas de description</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="222"/>
- <source>no theme preview</source>
- <translation>pas d&apos;aperçu du thème</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="254"/>
- <source>getting themes information ...</source>
- <translation>récupération des informations sur le thème ...</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="312"/>
- <source>Mount point is wrong!</source>
- <translation>Le point de montage est incorrect !</translation>
- </message>
-</context>
-<context>
- <name>UnZip</name>
- <message>
- <location filename="zip/unzip.cpp" line="245"/>
- <source>ZIP operation completed successfully.</source>
- <translation>Opération ZIP terminée avec succès.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="246"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="247"/>
- <source>zlib library error.</source>
- <translation>Erreur de la librairie zlib.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="248"/>
- <source>Unable to create or open file.</source>
- <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="249"/>
- <source>Partially corrupted archive. Some files might be extracted.</source>
- <translation>Archive partiellement corrompue. Certains fichiers pourraient être extraits.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="250"/>
- <source>Corrupted archive.</source>
- <translation>Archive corrompue.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="251"/>
- <source>Wrong password.</source>
- <translation>Mot de passe incorrect.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="252"/>
- <source>No archive has been created yet.</source>
- <translation>Aucune archive n&apos;a encore été crée.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="253"/>
- <source>File or directory does not exist.</source>
- <translation>Le fichier ou le répertoire n&apos;existe pas.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="254"/>
- <source>File read error.</source>
- <translation>Erreur de lecture du fichier.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="255"/>
- <source>File write error.</source>
- <translation>Erreur d&apos;écriture du fichier.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="256"/>
- <source>File seek error.</source>
- <translation>Erreur de parcours du fichier.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="257"/>
- <source>Unable to create a directory.</source>
- <translation>Impossible de créer un dossier.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="258"/>
- <source>Invalid device.</source>
- <translation>Périphérique invalide.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="259"/>
- <source>Invalid or incompatible zip archive.</source>
- <translation>Archive zip invalide ou incompatible.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="260"/>
- <source>Inconsistent headers. Archive might be corrupted.</source>
- <translation>Les en-têtes ne correspondent pas. L&apos;archive est peut-être corrompue.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="264"/>
- <source>Unknown error.</source>
- <translation>Erreur inconnue.</translation>
- </message>
-</context>
-<context>
- <name>UninstallFrm</name>
- <message>
- <location filename="uninstallfrm.ui" line="16"/>
- <source>Uninstall Rockbox</source>
- <translation>Désinstaller Rockbox</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="35"/>
- <source>Please select the Uninstallation Methodl</source>
- <translation>Veuillez choisir la méthode de désinstallation</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="45"/>
- <source>Uninstallation Method</source>
- <translation>Méthode de désinstallation</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="51"/>
- <source>Complete Uninstallation</source>
- <translation>Désinstallation complète</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="58"/>
- <source>Smart Uninstallation</source>
- <translation>Désinstallation intelligente</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="68"/>
- <source>Please select what you want to uninstall</source>
- <translation>Veuillez sélectionner ce que vous désirer désinstaller</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="78"/>
- <source>Installed Parts</source>
- <translation>Composants installés</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Annuler</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="128"/>
- <source>&amp;Uninstall</source>
- <translation>&amp;Désinstaller</translation>
- </message>
-</context>
-<context>
- <name>Uninstaller</name>
- <message>
- <location filename="uninstall.cpp" line="45"/>
- <source>Starting Uninstallation</source>
- <translation>Démarrage de la désinstallation</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="37"/>
- <source>Finished Uninstallation</source>
- <translation>Désinstallation terminée</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="51"/>
- <source>Uninstalling </source>
- <translation>Désinstalle </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="81"/>
- <source>Could not delete: </source>
- <translation>Impossible de supprimer : </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="108"/>
- <source>Uninstallation finished</source>
- <translation>Désinstallation terminée</translation>
- </message>
-</context>
-<context>
- <name>VoiceFileCreator</name>
- <message>
- <location filename="voicefile.cpp" line="41"/>
- <source>Starting Voicefile generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="55"/>
- <source>failed to open rockbox-info.txt</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="124"/>
- <source>Download error: received HTTP error %1.</source>
- <translation type="unfinished">Erreur de téléchargement. Erreur HTTP %1.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="128"/>
- <source>Cached file used.</source>
- <translation type="unfinished">Fichier en cache utilisé.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="130"/>
- <source>Download error: %1</source>
- <translation type="unfinished">Erreur de téléchargement : %1</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="134"/>
- <source>Download finished.</source>
- <translation type="unfinished">Téléchargement terminé.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="143"/>
- <source>failed to open downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="156"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="167"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="209"/>
- <source>The downloaded file was empty!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="246"/>
- <source>creating </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="269"/>
- <source>Error opening downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="277"/>
- <source>Error opening output file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="291"/>
- <source>successfully created.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Zip</name>
- <message>
- <location filename="zip/zip.cpp" line="479"/>
- <source>ZIP operation completed successfully.</source>
- <translation>Opération ZIP terminée avec succès.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="480"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="481"/>
- <source>zlib library error.</source>
- <translation>Erreur de la librairie zlib.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="482"/>
- <source>Unable to create or open file.</source>
- <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="483"/>
- <source>No archive has been created yet.</source>
- <translation>Aucune archive n&apos;a encore été crée.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="484"/>
- <source>File or directory does not exist.</source>
- <translation>Le fichier ou le répertoire n&apos;existe pas.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="485"/>
- <source>File read error.</source>
- <translation>Erreur de lecture du fichier.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="486"/>
- <source>File write error.</source>
- <translation>Erreur d&apos;écriture du fichier.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="487"/>
- <source>File seek error.</source>
- <translation>Erreur de parcours du fichier.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="491"/>
- <source>Unknown error.</source>
- <translation>Erreur inconnue.</translation>
- </message>
-</context>
-<context>
- <name>ZipInstaller</name>
- <message>
- <location filename="installzip.cpp" line="54"/>
- <source>done.</source>
- <translation>terminé.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="62"/>
- <source>Installation finished successfully.</source>
- <translation>Installation terminée avec succès.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="77"/>
- <source>Downloading file %1.%2</source>
- <translation>Téléchargement du fichier %1.%2</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="126"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>Erreur de téléchargement. Erreur HTTP %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="131"/>
- <source>Cached file used.</source>
- <translation>Fichier en cache utilisé.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="133"/>
- <source>Download error: %1</source>
- <translation>Erreur de téléchargement : %1</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="138"/>
- <source>Download finished.</source>
- <translation>Téléchargement terminé.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="144"/>
- <source>Extracting file.</source>
- <translation>Extraction du fichier.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="153"/>
- <source>Opening archive failed: %1.</source>
- <translation>L&apos;ouverture de l&apos;archive a échoué : %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="162"/>
- <source>Extracting failed: %1.</source>
- <translation>L&apos;extraction a échoué : %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="172"/>
- <source>Installing file.</source>
- <translation>Installation du fichier.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="183"/>
- <source>Installing file failed.</source>
- <translation>L&apos;installation du fichier a échoué.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="193"/>
- <source>Creating installation log</source>
- <translation>Création du journal d&apos;installation</translation>
- </message>
-</context>
-<context>
- <name>aboutBox</name>
- <message>
- <location filename="aboutbox.ui" line="13"/>
- <source>About Rockbox Utility</source>
- <translation>A propos de l&apos;utilitaire Rockbox</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="34"/>
- <source>The Rockbox Utility</source>
- <translation>L&apos;utilitaire Rockbox</translation>
- </message>
- <message encoding="UTF-8">
- <location filename="aboutbox.ui" line="56"/>
- <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
-
-© 2005 - 2007 The Rockbox Team.
-Released under the GNU General Public License v2.</source>
- <translation>Installateur et utilitaire de gestion pour roxkbox, le firmware open source pour lecteurs audio numériques.
-
-© 2005 - 2007 L&apos;équipe Rockbox.
-Redistribué sous la GNU General Public License v2.</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="72"/>
- <source>http://www.rockbox.org</source>
- <translation>http://www.rockbox.org</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="95"/>
- <source>&amp;Credits</source>
- <translation>&amp;Crédits</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="124"/>
- <source>&amp;License</source>
- <translation>&amp;Licence</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="157"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
-</context>
-</TS>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="fr">
+<context>
+ <name>BootloaderInstaller</name>
+ <message>
+ <location filename="installbootloader.cpp" line="32"/>
+ <source>Starting bootloader installation</source>
+ <translation>Démarrage de l&apos;installation du bootloader</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="122"/>
+ <source>unsupported install Method</source>
+ <translation>Méthode d&apos;installation non supportée</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="85"/>
+ <source>Starting bootloader uninstallation</source>
+ <translation>Démarrage de l&apos;installation du bootloader</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="116"/>
+ <source>No uninstallation possible</source>
+ <translation>Désinstallation impossible</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="151"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>Erreur de téléchargement. Erreur HTTP %1.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="157"/>
+ <source>Download error: %1</source>
+ <translation>Erreur de téléchargement : %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="162"/>
+ <source>Download finished.</source>
+ <translation>Téléchargement terminé.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="224"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="237"/>
+ <source>Creating installation log</source>
+ <translation>Création du journal d&apos;installation</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="253"/>
+ <source>Editing installation log</source>
+ <translation>Edition du journal d&apos;installation</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1093"/>
+ <source>Downloading file %1.%2</source>
+ <translation>Téléchargement du fichier %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="323"/>
+ <source>Could not find the Original Firmware at: %1</source>
+ <translation>Impossible de trouver le firmware original dans %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="545"/>
+ <source>Could not remove the Firmware at: %1</source>
+ <translation>Impossible de supprimer le firmware de %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="554"/>
+ <source>Could not copy the Firmware from: %1 to %2</source>
+ <translation>Impossible de copier le firmware de %1 à %2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="360"/>
+ <source>Finishing bootloader install</source>
+ <translation>Achèvement de l&apos;installation du bootloader</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="370"/>
+ <source>Could not find the Firmware at: %1</source>
+ <translation>Impossible de trouver le firmware dans %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="596"/>
+ <source>Could not rename: %1 to %2</source>
+ <translation>Impossible de renommer %1 vers %2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1207"/>
+ <source>Could not copy: %1 to %2</source>
+ <translation>Impossible de copier %1 vers %2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1217"/>
+ <source>Bootloader install finished successfully.</source>
+ <translation>Installation du bootloader terminée avec succès.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1218"/>
+ <source>To finish the Bootloader installation, follow the steps below.</source>
+ <translation>Pour terminer l&apos;installation du bootloader, veuillez suivre les étapes ce-dessous.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1219"/>
+ <source>1. Eject/Unmount your Device.</source>
+ <translation>1. Ejectez/Demontez votre périphérique.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="413"/>
+ <source>2. Unplug USB and any Power adapters.</source>
+ <translation>2. Débranchez le câble USB et le câble d&apos;alimentation.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="414"/>
+ <source>3. Hold POWER to turn the Device off.</source>
+ <translation>3. Maintenez appuyée la touche POWER pour éteindre l&apos;appareil.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="415"/>
+ <source>4. Toggle the Battery switch on the Device.</source>
+ <translation>4. Changez de position l&apos;interrupteur de batterie de l&apos;appareil.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="416"/>
+ <source>5. Hold POWER to boot the Rockbox bootloader.</source>
+ <translation>5. Maintenez appuyée la touche POWER pour démarrer le bootloader de Rockbox.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="471"/>
+ <source>2. Turn you Device OFF.</source>
+ <translation>2. Eteignez l&apos;appareil.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="472"/>
+ <source>3. Insert Charger.</source>
+ <translation>3. Insérez le câble d&apos;alimentation.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="582"/>
+ <source>Firmware does not exist: %1</source>
+ <translation>Le firmware n&apos;existe pas : %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="639"/>
+ <source>Searching for ipods</source>
+ <translation>Recherche d&apos;iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="645"/>
+ <source>No Ipods found</source>
+ <translation>Aucun iPod trouvé</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="651"/>
+ <source>Too many Ipods found</source>
+ <translation>Trop d&apos;iPods trouvés</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="781"/>
+ <source>could not open ipod</source>
+ <translation>impossible d&apos;ouvrir l&apos;iPod</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="996"/>
+ <source>could not read partitiontable</source>
+ <translation>impossible de lire la table des partitions</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="795"/>
+ <source>No partition 0 on disk</source>
+ <translation>Pas de partition 0 sur le disque</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="800"/>
+ <source>[INFO] Part Start Sector End Sector Size (MB) Type
+</source>
+ <translation>[INFO] Part Premier secteur Dernier Secteur Taille (Mo) Type
+</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="806"/>
+ <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
+ <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="823"/>
+ <source>Failed to read firmware directory</source>
+ <translation>La lecture du dossier du firmware a échoué</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="829"/>
+ <source>Unknown version number in firmware (%1)</source>
+ <translation>Numéro de version inconnu dans le firmware (%1)</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="832"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
+ <translation type="obsolete">Avertissement : Ceci est un MacPod, Rockbox ne fonctionne pas dessus. Convertissez-le en un WinPod</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="847"/>
+ <source>Could not open Ipod in RW mode</source>
+ <translation>Impossible d&apos;ouvir l&apos;iPod en mode Lecture-Ecriture</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="751"/>
+ <source>No bootloader detected.</source>
+ <translation>Aucun bootloader détecté.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="966"/>
+ <source>Successfully removed Bootloader</source>
+ <translation>Bootloader supprimé avec succès</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="974"/>
+ <source>--delete-bootloader failed.</source>
+ <translation>--delete-bootloader a échoué.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1031"/>
+ <source>Successfully added Bootloader</source>
+ <translation>Bootloader ajouté avec succès</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1039"/>
+ <source>failed to add Bootloader</source>
+ <translation>échec de l&apos;ajout du bootloader</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="882"/>
+ <source>Searching for sansas</source>
+ <translation>Recherche de sansas</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="888"/>
+ <source>No Sansa found</source>
+ <translation>Aucun sansa trouvé</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="894"/>
+ <source>Too many Sansas found</source>
+ <translation>Trop de sansas trouvés</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="989"/>
+ <source>could not open Sansa</source>
+ <translation>impossible d&apos;ouvrir le sansa</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1017"/>
+ <source>********************************************
+OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
+You must reinstall the original Sansa firmware before running
+sansapatcher for the first time.
+See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
+*********************************************
+</source>
+ <translation>********************************************
+ANCIENNE INSTALLATION DE ROCKBOX DETECTEE, ANNULATION.
+Vous devez réinstaller le firmware original du Sansa avant d&apos;exécuter
+sansapatcher pour la première fois.
+Voir http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (en anglais)
+*********************************************
+</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1024"/>
+ <source>Could not open Sansa in RW mode</source>
+ <translation>Impossible d&apos;ouvir le sansa en mode Lecture-Ecriture</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1055"/>
+ <source>Could not MD5Sum original firmware</source>
+ <translation>Impossible de calculer la somme de contrôle MD5 du firmware original</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1085"/>
+ <source>Could not detect firmware type</source>
+ <translation>Impossible de détecter le type de firmware</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1148"/>
+ <source>Error in descramble</source>
+ <translation>Erreur dans descramble</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1158"/>
+ <source>Error in patching</source>
+ <translation>Erreur dans la modification</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1168"/>
+ <source>Error in scramble</source>
+ <translation>Erreur dans scramble</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1179"/>
+ <source>Error in checksumming</source>
+ <translation>Erreur dans le calcul de la somme de contrôle</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1220"/>
+ <source>2. Boot into the original Firmware.</source>
+ <translation>2. Démarrez le firmware original.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1221"/>
+ <source>3. Use the Firmware flash option in the Original Firmware.</source>
+ <translation>3. Utilisez l&apos;option &quot;Firmware flash&quot; du firmware original.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1222"/>
+ <source>4. Reboot.</source>
+ <translation>4. Redémarrez.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="533"/>
+ <source>Original Firmware does not exist: %1</source>
+ <translation>Le firmware original n&apos;existe pas : %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1005"/>
+ <source>Disk is not a Sansa (%1), aborting.</source>
+ <translation>Ce disque n&apos;est pas un Sansa (%1), annulation.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="839"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
+See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>BrowseDirtreeFrm</name>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="13"/>
+ <source>Find Directory</source>
+ <translation>Ouverture du répertoire</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="19"/>
+ <source>Browse to the destination folder</source>
+ <translation>Indiquez le répertoire de destination</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="47"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="57"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+</context>
+<context>
+ <name>BrowseOFFrm</name>
+ <message>
+ <location filename="browseoffrm.ui" line="13"/>
+ <source>Find original Firmware</source>
+ <translation>Ouverture du firmware original</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="19"/>
+ <source>Browse for a downloaded copy of the original firmware</source>
+ <translation>Indiquez l&apos;emplacement de la copie téléchargée du firmware original</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="32"/>
+ <source>Browse</source>
+ <translation>Parcourir</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="54"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="64"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+</context>
+<context>
+ <name>Config</name>
+ <message>
+ <location filename="configure.cpp" line="110"/>
+ <source>Language changed</source>
+ <translation>Changement de langue</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="111"/>
+ <source>You need to restart the application for the changed language to take effect.</source>
+ <translation>Vous devez redémarrer l&apos;application pour que le changement de langue prenne effet.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="227"/>
+ <source>Current cache size is %1 kiB.</source>
+ <translation type="obsolete">La taille actuelle du cache est %1 Ko.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="593"/>
+ <source>Autodetection</source>
+ <translation>Autodétection</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="587"/>
+ <source>Could not detect a Mountpoint.
+Select your Mountpoint manually.</source>
+ <translation>Impossible de détecter un point de montage.
+Veuillez sélectionner manuellement le point de montage.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="595"/>
+ <source>Could not detect a device.
+Select your device and Mountpoint manually.</source>
+ <translation>Impossible de détecter le périphérique.
+Veuillez sélectionner manuellement le type de périphérique et le point de montage.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="603"/>
+ <source>Really delete cache?</source>
+ <translation>Supprimer le cache ?</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="606"/>
+ <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
+ <translation>Voulez-vous supprimer le cache ? Vérifier bien que ce paramètre est correct car il supprimera &lt;b&gt;tous&lt;/b&gt; les fichiers de ce répertoire !</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="612"/>
+ <source>Path wrong!</source>
+ <translation>Chemin incorrect !</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="613"/>
+ <source>The cache path is invalid. Aborting.</source>
+ <translation>Le chemin du cache est invalide. Annulation.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="56"/>
+ <source> (%1)</source>
+ <translation> (%1)</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="485"/>
+ <source>Select your device</source>
+ <translation>Sélectionnez votre périphérique</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="569"/>
+ <source>Sansa e200 in MTP mode found!
+You need to change your player to MSC mode for installation. </source>
+ <translation>Sansa e200 en mode MTP trouvé !
+Vous devez mettre votre lecteur audio en mode MSC pour l&apos;installation. </translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="572"/>
+ <source>H10 20GB in MTP mode found!
+You need to change your player to UMS mode for installation. </source>
+ <translation>H10 20 Go en mode MTP trouvé !
+Vous devez mettre votre lecteur en mode UMS pour l&apos;installation. </translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="573"/>
+ <source>Unless you changed this installation will fail!</source>
+ <translation>Si vous n&apos;avez pas changé ceci, l&apos;installation échouera !</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="575"/>
+ <source>Fatal error</source>
+ <translation>Erreur fatale</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="220"/>
+ <source>Current cache size is %L1 kiB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="418"/>
+ <source>(system proxy is disabled)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ConfigForm</name>
+ <message>
+ <location filename="configurefrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>Configuration</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="19"/>
+ <source>Configure Rockbox Utility</source>
+ <translation>Configuration de l&apos;utilitaire Rockbox</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="30"/>
+ <source>&amp;Device</source>
+ <translation>&amp;Périphérique</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="39"/>
+ <source>Select your device in the &amp;filesystem</source>
+ <translation>Sélectionnez votre périphérique dans le &amp;Système de fichiers</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="286"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;Parcourir</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="66"/>
+ <source>&amp;Select your audio player</source>
+ <translation>&amp;Sélectionnez votre lecteur audio</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="77"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="98"/>
+ <source>&amp;Autodetect</source>
+ <translation>&amp;Autodétection</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="109"/>
+ <source>&amp;Proxy</source>
+ <translation>&amp;Proxy</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="118"/>
+ <source>&amp;No Proxy</source>
+ <translation>P&amp;as de proxy</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="128"/>
+ <source>Use S&amp;ystem values</source>
+ <translation>Utilier les valeurs du s&amp;ystème</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="135"/>
+ <source>&amp;Manual Proxy settings</source>
+ <translation>Paramètres &amp;manuels pour le proxy</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="142"/>
+ <source>Proxy Values</source>
+ <translation>Valeurs du proxy</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="148"/>
+ <source>&amp;Host:</source>
+ <translation>&amp;Hôte:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="165"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="188"/>
+ <source>&amp;Username</source>
+ <translation>&amp;Nom d&apos;utilisateur</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="198"/>
+ <source>Pass&amp;word</source>
+ <translation>&amp;Mot de passe</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="225"/>
+ <source>&amp;Language</source>
+ <translation>&amp;Langue</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="238"/>
+ <source>Cac&amp;he</source>
+ <translation>Cac&amp;he</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="244"/>
+ <source>Download cache settings</source>
+ <translation>Paramètres du cache de téléchargement</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="250"/>
+ <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
+ <translation>L&apos;utilitaire Rockbox utilise un cache local de téléchargement pour économiser de la bande passante. Vous pouvez modifier le chemin du cache et l&apos;utiliser comme un dépôt local en activant le mode hors-ligne.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="260"/>
+ <source>Current cache size is %1</source>
+ <translation>La taille actuelle du cache est %1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="269"/>
+ <source>P&amp;ath</source>
+ <translation>&amp;Chemin</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="279"/>
+ <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
+ <translation>Entrer un répertoire invalide remettra la valeur du chemin à celle du répertoire temporaire du système.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="300"/>
+ <source>Disable local &amp;download cache</source>
+ <translation>Désactiver le cache local de &amp;téléchargement</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="307"/>
+ <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
+ <translation>Ceci essaiera d&apos;utiliser toutes les informations du cache, même les informations de mise à jour.
+Utilisez cette option si vous voulez installer sans connexion réseau.
+Note : l&apos;installation que vous voudrez réaliser plus tard doit d&apos;abord être faite avec un accès réseau
+pour télécharger tous les fichiers néecessaires dans le cache.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="310"/>
+ <source>O&amp;ffline mode</source>
+ <translation>Mode &amp;hors-ligne</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="345"/>
+ <source>Clean cache &amp;now</source>
+ <translation>Nettoyer le cache &amp;maintenant</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="356"/>
+ <source>&amp;TTS &amp;&amp; Encoder</source>
+ <translation>&amp;TTS &amp;&amp; Encodeur</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="365"/>
+ <source>TTS Engine</source>
+ <translation>Moteur TTS</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="371"/>
+ <source>&amp;Select TTS Engine</source>
+ <translation type="unfinished">Profil &amp;TTS</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="384"/>
+ <source>TTS executable</source>
+ <translation type="obsolete">Exécutable TTS</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="407"/>
+ <source>TTS Options</source>
+ <translation type="obsolete">Options TTS</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="421"/>
+ <source>Encoder Engine</source>
+ <translation>Moteur d&apos;encodage</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="439"/>
+ <source>Select &amp;encoder profile</source>
+ <translation type="obsolete">Profil d&apos;&amp;encodage</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="452"/>
+ <source>Encoder executable</source>
+ <translation type="obsolete">Exécutable de l&apos;encodeur</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="465"/>
+ <source>B&amp;rowse</source>
+ <translation type="obsolete">&amp;Parcourir</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="475"/>
+ <source>Encoder options</source>
+ <translation type="obsolete">Options de l&apos;encodeur</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="507"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="517"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="420"/>
+ <source>TTS Language</source>
+ <translation type="obsolete">Langue TTS</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="384"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="447"/>
+ <source>Configuration invalid !</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="408"/>
+ <source>Configure &amp;TTS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="427"/>
+ <source>Select &amp;encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="440"/>
+ <source>Configure encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="464"/>
+ <source> Configure &amp;Enc</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Configure</name>
+ <message>
+ <location filename="configure.cpp" line="469"/>
+ <source>English</source>
+ <translation>Français</translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceFrm</name>
+ <message>
+ <location filename="createvoicefrm.ui" line="16"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="41"/>
+ <source>Select the Language you want to generate a voicefile for:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="51"/>
+ <source>Generation settings</source>
+ <translation type="unfinished">Paramètres de génération</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="57"/>
+ <source>Encoder profile:</source>
+ <translation type="unfinished">Profil d&apos;encodage :</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="64"/>
+ <source>TTS profile:</source>
+ <translation type="unfinished">Profil TTS :</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="77"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="128"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished">&amp;Installer</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="152"/>
+ <source>Wavtrim Threshold</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceWindow</name>
+ <message>
+ <location filename="createvoicewindow.cpp" line="96"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="98"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="106"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EncExesCfgFrm</name>
+ <message>
+ <location filename="encexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Configuration</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="19"/>
+ <source>Configure Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="31"/>
+ <source>Path to Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;Parcourir</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="52"/>
+ <source>Encoder options</source>
+ <translation type="unfinished">Options de l&apos;encodeur</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Annuler</translation>
+ </message>
+</context>
+<context>
+ <name>Install</name>
+ <message>
+ <location filename="install.cpp" line="55"/>
+ <source>Mount point is wrong!</source>
+ <translation>Le point de montage est incorrect !</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="141"/>
+ <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
+ <translation>C&apos;est la version la plus récente possible. Elle est mise à jour à chaque fois qu&apos;un changement est fait. La version actuelle est r%1 (%2).</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="145"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Note :&lt;/b&gt; Cette option téléchargera toujours une nouvelle copie. &lt;b&gt;C&apos;est la version recommendée.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="148"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
+ <translation>&lt;b&gt;Note :&lt;/b&gt; Cette option téléchargera toujours une nouvelle copie.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="157"/>
+ <source>This is the last released version of Rockbox.</source>
+ <translation>C&apos;est la dernière version publique officielle de Rockbox.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="163"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Note :&lt;/b&gt; La dernière version publique officielle est %1. &lt;b&gt;C&apos;est la version recommendée.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="175"/>
+ <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
+ <translation type="unfinished">Elles sont mises à jour chaque jour à partir du code source courant. Il y a généralement plus de fonctionnalités que dans la dernière version publique officielle mais le stabilité n&apos;est pas garantie. les fonctionnalités peuvent changer.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="177"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
+ <translation>&lt;b&gt;Note :&lt;/b&gt; la version archivée est r%1 (%2).</translation>
+ </message>
+</context>
+<context>
+ <name>InstallFrm</name>
+ <message>
+ <location filename="installfrm.ui" line="16"/>
+ <source>Install Rockbox</source>
+ <translation>Installer Rockbox</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="35"/>
+ <source>Please select the Rockbox version you want to install on your player:</source>
+ <translation>Veuillez sélectionner la version de Rockbox que vous souhaitez installer sur votre lecteur audio :</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="45"/>
+ <source>Version</source>
+ <translation>Version</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="51"/>
+ <source>Rockbox &amp;stable</source>
+ <translation>Rockbox &amp;stable</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="58"/>
+ <source>&amp;Archived Build</source>
+ <translation>Version &amp;archivée</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="65"/>
+ <source>&amp;Current Build</source>
+ <translation>Version a&amp;ctuelle</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="75"/>
+ <source>Details</source>
+ <translation>Détails</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="81"/>
+ <source>Details about the selected version</source>
+ <translation>Détails à propos de la version sélectionnée</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="91"/>
+ <source>Note</source>
+ <translation>Note</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="104"/>
+ <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
+ <translation>L&apos;utilitaire Rockbox stocke les copies de Rockbox téléchargées sur le disque dur local pour économiser de la bande passante. Si votre copie local ne fonctionne plus, cochez cette casez pour télécharger une nouvelle copie.</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="107"/>
+ <source>&amp;Don&apos;t use locally cached copy</source>
+ <translation>&amp;Ne pas utiliser la version en cache</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="152"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="142"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Installer</translation>
+ </message>
+</context>
+<context>
+ <name>InstallProgressFrm</name>
+ <message>
+ <location filename="installprogressfrm.ui" line="19"/>
+ <source>Progress</source>
+ <translation>Avancement</translation>
+ </message>
+ <message>
+ <location filename="installprogressfrm.ui" line="56"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkFrm</name>
+ <message>
+ <location filename="installtalkfrm.ui" line="16"/>
+ <source>Install Talk Files</source>
+ <translation>Installation des fichiers de voix</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="35"/>
+ <source>Select the Folder to generate Talkfiles for.</source>
+ <translation>Sélectionnez le dossier pour lequel générer des fichiser de voix.</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="45"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;Parcourir</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="55"/>
+ <source>Generation settings</source>
+ <translation>Paramètres de génération</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="61"/>
+ <source>Encoder profile:</source>
+ <translation>Profil d&apos;encodage :</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="68"/>
+ <source>TTS profile:</source>
+ <translation>Profil TTS :</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="104"/>
+ <source>Generation options</source>
+ <translation>Options de génération</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="110"/>
+ <source>Overwrite Wavefiles</source>
+ <translation>Ecraser les fichiers WAV</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="120"/>
+ <source>Remove Wavefiles</source>
+ <translation>Supprimer les fichiers WAV</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="130"/>
+ <source>Run recursive</source>
+ <translation>Parcours récursif</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="140"/>
+ <source>Strip Extensions</source>
+ <translation>Suppression des extensions</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="150"/>
+ <source>Overwrite Talkfiles</source>
+ <translation>Ecraser les fichiers de voix</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="224"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="214"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Installer</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="81"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="160"/>
+ <source>Generate .talk files for Folders</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="170"/>
+ <source>Generate .talk files for Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkWindow</name>
+ <message>
+ <location filename="installtalkwindow.cpp" line="84"/>
+ <source>The Folder to Talk is wrong!</source>
+ <translation>Le dossier à dire est faux !</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="101"/>
+ <source>Path to Encoder is wrong!</source>
+ <translation type="obsolete">Le chemin vers l&apos;encodeur est faux !</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="108"/>
+ <source>Path to TTS is wrong!</source>
+ <translation type="obsolete">Le chemin vers le TTS est faux !</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="149"/>
+ <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">Profil TTS : &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="149"/>
+ <source>Invalid TTS profile!</source>
+ <translation type="obsolete">Profil TTS invalide !</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="155"/>
+ <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">Profil d&apos;encodage : &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="155"/>
+ <source>Invalid encoder profile!</source>
+ <translation type="obsolete">Profil d&apos;encodage invalide !</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="119"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="121"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="129"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>PreviewFrm</name>
+ <message>
+ <location filename="previewfrm.ui" line="16"/>
+ <source>Preview</source>
+ <translation>Prévisualisation</translation>
+ </message>
+</context>
+<context>
+ <name>ProgressLoggerGui</name>
+ <message>
+ <location filename="progressloggergui.cpp" line="79"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="progressloggergui.cpp" line="89"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+</context>
+<context>
+ <name>RbSpeexCfgFrm</name>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Configuration</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="19"/>
+ <source>Configure RbSpeex Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="38"/>
+ <source>Volume</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="45"/>
+ <source>Narrowband</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="68"/>
+ <source>Quality</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="85"/>
+ <source>Complexity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="115"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="125"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQt</name>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>File</source>
+ <translation>Fichier</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>Version</source>
+ <translation>Version</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="210"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="305"/>
+ <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
+ <translation>&lt;b&gt;%1 %2&lt;/b&gt; sur &lt;b&gt;%3&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="325"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;Manuel PDF&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="327"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;Manuel HTML (ouvre un navigateur)&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="330"/>
+ <source>Select a device for a link to the correct manual</source>
+ <translation>Sélectionnez un périphérique pour obtenir un lien vers le manuel approprié</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="332"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;Tous les manuels&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="695"/>
+ <source>Confirm Installation</source>
+ <translation>Confirmation de l&apos;installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="341"/>
+ <source>Do you really want to make a complete Installation?</source>
+ <translation>Etes-vous sûr de vouloir faire une installation complète ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="877"/>
+ <source>Mount point is wrong!</source>
+ <translation>Le point de montage est erroné !</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="393"/>
+ <source>Do you really want to make a small Installation?</source>
+ <translation>Etes-vous sûr de vouloir faire une installation légère ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="533"/>
+ <source>Do you really want to install the Bootloader?</source>
+ <translation>Etes-vous sûr de vouloir installer le bootloader ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="800"/>
+ <source>Could not get the bootloader info file!</source>
+ <translation>Impossible de trouver le fichier d&apos;informations du bootloader !</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="568"/>
+ <source>Bootloader Installation</source>
+ <translation type="unfinished">Installation du bootloader annulée !</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="561"/>
+ <source>It seem your Bootloader is already uptodate.
+Do really want to install it?</source>
+ <translation type="obsolete">Il semble que le bootloader soit déjà à jour.
+Voulez-vous vraiment l&apos;installer ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="593"/>
+ <source>Original Firmware Path is wrong!</source>
+ <translation>Le chemin du firmware original est invalide !</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="606"/>
+ <source>Original Firmware selection Canceled!</source>
+ <translation>Installation du firmware original annulée !</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="621"/>
+ <source>Do you really want to install the fonts package?</source>
+ <translation>Etes-vous sûr de vouloir installer le pack de polices de caractères ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="656"/>
+ <source>Do you really want to install the voice file?</source>
+ <translation>Etes-vous sûr de vouloir installer le fichier de voix ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="696"/>
+ <source>Do you really want to install the game addon files?</source>
+ <translation>Etes-vous sûr de vouloir installer les fichiers additionnels de jeu ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="782"/>
+ <source>Confirm Uninstallation</source>
+ <translation>Confirmation de la désinstallation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="783"/>
+ <source>Do you really want to uninstall the Bootloader?</source>
+ <translation>Etes-vous sûr de vouloir désinstaller le bootloader ?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="813"/>
+ <source>Confirm download</source>
+ <translation>Confirmation du téléchargement</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="815"/>
+ <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
+ <translation>Etes-vous sûr de vouloir télécharger le manuel ? Il sera sauvegardé dans le dossier racine de votre lecteur audio.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="863"/>
+ <source>Confirm installation</source>
+ <translation>Confirmation de l&apos;installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="865"/>
+ <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
+ <translation>Etes-vous sûr de vouloir installer l&apos;utilitaire Rockbox sur votre lecteur audio ? Après l&apos;installation vous pourrez le lancer depuis le disque dur de votre lecteur audio.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="873"/>
+ <source>Installing Rockbox Utility</source>
+ <translation>Installation de l&apos;utilitaire Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="887"/>
+ <source>Error installing Rockbox Utility</source>
+ <translation>Erreur pendant l&apos;installation de l&apos;utilitaire Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="891"/>
+ <source>Installing user configuration</source>
+ <translation>Installation de la configuration utilisateur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="893"/>
+ <source>Error installing user configuration</source>
+ <translation>Erreur pendant l&apos;installation de la configuration utilisateur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="897"/>
+ <source>Successfully installed Rockbox Utility.</source>
+ <translation>Installation de l&apos;utilitaire Rockbox terminée avec succès.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="573"/>
+ <source>Bootloader installation Skipped!</source>
+ <translation type="obsolete">Etape d&apos;instllation du bootloader sautée !</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1014"/>
+ <source>Configuration error</source>
+ <translation>Erreur de configuration</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="187"/>
+ <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
+ <translation>Votre configuration est invalide. Ceci est probablement dû à une nouvelle installation de l&apos;utilitaire Rockbox ou à un changement du chemin du périphérique. La fenêtre de configuration va s&apos;ouvrir pour vous permettre de corriger le problème.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Error</source>
+ <translation>Erreur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
+ <translation>Votre périphérique n&apos;a pas de le plugin Doom. Annulation.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1016"/>
+ <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
+ <translation>Votre configuration est invalide. Veuillez vérifier que les valeurs sélectionnées sont correctes dans la fenêtre de configuration.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="570"/>
+ <source>The bootloader is already installed and up to date.
+Do want to replace the current bootloader?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="574"/>
+ <source>Bootloader installation skipped!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQtFrm</name>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="13"/>
+ <source>Rockbox Utility</source>
+ <translation>Utilitaire Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="78"/>
+ <source>Device</source>
+ <translation>Périphérique</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="90"/>
+ <source>Selected device:</source>
+ <translation>Périphérique sélectionné :</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="97"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="120"/>
+ <source>&amp;Change</source>
+ <translation>&amp;Modifier</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="137"/>
+ <source>&amp;Quick Start</source>
+ <translation>&amp;Démarrage rapide</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="140"/>
+ <source>Welcome</source>
+ <translation>Bienvenue</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="176"/>
+ <source>...</source>
+ <translation type="obsolete">...</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="162"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installation complète&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ceci installe le bootloader, une version actuelle et le pack des extras. C&apos;est la méthode recommandée pour les nouvelles installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="192"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installation légère&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ceci installe le bootloader et une version acuelle de Rockbox. Si vous ne voulez pas le pack des extras, choisissez cette option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="236"/>
+ <source>&amp;Installation</source>
+ <translation>&amp;Installation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="239"/>
+ <source>Basic Rockbox installation</source>
+ <translation>Installation basique de Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="969"/>
+ <source>Install Bootloader</source>
+ <translation>Installation du bootloader</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="261"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer le bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Avant de pouvoir lancer Rockbox sur votre lecteur audio, vous pouvez avoir à installer un bootloader. Ceci n&apos;est nécessaier que la première fois que vous installez Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="977"/>
+ <source>Install Rockbox</source>
+ <translation>Installer Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="294"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer Rockbox&lt;/span&gt; sur votre lecteur audio&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="340"/>
+ <source>&amp;Extras</source>
+ <translation>&amp;Extras</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="343"/>
+ <source>Install extras for Rockbox</source>
+ <translation>Installer des extras pour Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="349"/>
+ <source>Install Fonts package</source>
+ <translation>Installer le pack des polices de caractères</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="365"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Polices de caractères&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Le pack de polices de caractères contient des polices couramment utilisées. Son installation est fortement recommandée.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="379"/>
+ <source>Install themes</source>
+ <translation>Installer des thèmes</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="395"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer des Thèmes&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;L&apos;apparence de Rockbox peut être personnalisée avec des thèmes. Vous pouvez choisir et installer différents thèmes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="409"/>
+ <source>Install game files</source>
+ <translation>Installer des fichier de jeu</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="425"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer des fichiers de jeu&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom nécessite un fichier wad pour être utilisé.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="466"/>
+ <source>&amp;Accessibility</source>
+ <translation>&amp;Accessibilité</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="469"/>
+ <source>Install accessibility add-ons</source>
+ <translation>Installer des add-ons pour l&apos;accessibilité</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="475"/>
+ <source>Install Voice files</source>
+ <translation>Installer des fichiers de voix</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="491"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Installer des fichiers de voix&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Les fichiers de voix sont nécessaires pour faire parler l&apos;interface de Rockbox. La voix est activée par défaut, donc si vous installez les fichiers de voix Rockbox parlera.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="505"/>
+ <source>Install Talk files</source>
+ <translation>Installer des fichiers de voix</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="521"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Créer des fichiers de voix&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Les fichiers de voix sont nécessaires pour que Rockbox dise les noms des fichiers et des dossiers&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="587"/>
+ <source>&amp;Uninstallation</source>
+ <translation>&amp;Désinstallation</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1033"/>
+ <source>Uninstall Rockbox</source>
+ <translation>Désinstaller Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="596"/>
+ <source>Uninstall Bootloader</source>
+ <translation>Désinstaller le bootloader</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="612"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Supprimer le bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Après avoir supprimé le bootloader, vous ne pourrez plus démarrer Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="642"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Supprimer Rockbox&lt;/span&gt; de votre lecteur audio.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ceci laissera le bootloader (Vous devrez le supprimer séparément).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="689"/>
+ <source>&amp;Manual</source>
+ <translation>&amp;Manuel</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="692"/>
+ <source>View and download the manual</source>
+ <translation>Voir et télécharger le manuel</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="698"/>
+ <source>Read the manual</source>
+ <translation>Lire le manuel</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="704"/>
+ <source>PDF manual</source>
+ <translation>Manuel PDF</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="717"/>
+ <source>HTML manual</source>
+ <translation>Manuel HTML</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="733"/>
+ <source>Download the manual</source>
+ <translation>Télécharger le manuel</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="741"/>
+ <source>&amp;PDF version</source>
+ <translation>Version &amp;PDF</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="748"/>
+ <source>&amp;HTML version (zip file)</source>
+ <translation>Version &amp;HTML (fichier zip)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="770"/>
+ <source>Down&amp;load</source>
+ <translation>Télé&amp;charger</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="794"/>
+ <source>Inf&amp;o</source>
+ <translation>Inf&amp;o</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="800"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Composants actuellement installés.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: Si vous avez manuellement installé des composants, ceci ne sera pas correct !&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="815"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="837"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fichier</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="930"/>
+ <source>&amp;About</source>
+ <translation>&amp;A propos</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="907"/>
+ <source>Empty local download cache</source>
+ <translation>Vider le cache local de téléchargement</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="912"/>
+ <source>Install Rockbox Utility on player</source>
+ <translation>Installer l&apos;utilitaire Rockbox sur le lecteur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="917"/>
+ <source>&amp;Configure</source>
+ <translation>&amp;Configuration</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="922"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Quitter</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="925"/>
+ <source>Ctrl+Q</source>
+ <translation>Ctrl+Q</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="935"/>
+ <source>About &amp;Qt</source>
+ <translation>A propos de &amp;Qt</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="940"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Aide</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="953"/>
+ <source>Complete Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="961"/>
+ <source>Small Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="855"/>
+ <source>Action&amp;s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="859"/>
+ <source>Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="866"/>
+ <source>Quick Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="873"/>
+ <source>Extras</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="881"/>
+ <source>Accessibility</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="889"/>
+ <source>Uninstallation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="945"/>
+ <source>Info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="985"/>
+ <source>Fonts Package</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="993"/>
+ <source>Install Themes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1001"/>
+ <source>Install Game Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1009"/>
+ <source>Install Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1017"/>
+ <source>Create Talk Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1025"/>
+ <source>Remove bootloader</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1038"/>
+ <source>Read PDF manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1043"/>
+ <source>Read HTML manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1048"/>
+ <source>Download PDF manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1053"/>
+ <source>Download HTML manual (zip)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="558"/>
+ <source>Create Voice files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="574"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1061"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1064"/>
+ <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
+e File</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SapiCfgFrm</name>
+ <message>
+ <location filename="sapicfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Configuration</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="62"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="25"/>
+ <source>Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="87"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="107"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="117"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="35"/>
+ <source>Voice</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="45"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExes</name>
+ <message>
+ <location filename="tts.cpp" line="123"/>
+ <source>TTS executable not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExesCfgFrm</name>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Configuration</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="31"/>
+ <source>Path to TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;Parcourir</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="52"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Annuler</translation>
+ </message>
+</context>
+<context>
+ <name>TTSSapi</name>
+ <message>
+ <location filename="tts.cpp" line="274"/>
+ <source>Could not copy the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="tts.cpp" line="292"/>
+ <source>Could not start the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TalkFileCreator</name>
+ <message>
+ <location filename="talkfile.cpp" line="31"/>
+ <source>Starting Talk file generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="41"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="52"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="70"/>
+ <source>Talk file creation aborted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="132"/>
+ <source>Voicing of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="135"/>
+ <source>Voicing of %s failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="143"/>
+ <source>Encoding of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="146"/>
+ <source>Encoding of %1 failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="173"/>
+ <source>Finished creating Talk files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemeInstallFrm</name>
+ <message>
+ <location filename="installthemesfrm.ui" line="13"/>
+ <source>Theme Installation</source>
+ <translation>Installation de thèmes</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="48"/>
+ <source>Selected Theme</source>
+ <translation>Thème sélectionné</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="73"/>
+ <source>Description</source>
+ <translation>Description</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="83"/>
+ <source>Download size:</source>
+ <translation>Taille du téléchargement :</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="128"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="108"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Installer</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="118"/>
+ <source>Install &amp;All</source>
+ <translation>&amp;Tout installer</translation>
+ </message>
+</context>
+<context>
+ <name>ThemesInstallWindow</name>
+ <message>
+ <location filename="installthemes.cpp" line="34"/>
+ <source>no theme selected</source>
+ <translation>pas de thème sélectionné</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="117"/>
+ <source>Network error: %1.
+Please check your network and proxy settings.</source>
+ <translation>Erreur réseau: %1.
+Veuillez vérifier vos paramètres réseau et proxy.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="128"/>
+ <source>the following error occured:
+%1</source>
+ <translation>L&apos;erreur suivante s&apos;est produite :
+%1</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="133"/>
+ <source>done.</source>
+ <translation>terminé.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="161"/>
+ <source>fetching details for %1</source>
+ <translation>récupération des détails pour %1</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="163"/>
+ <source>fetching preview ...</source>
+ <translation>récupération de l&apos;aperçu ...</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="171"/>
+ <source>Download size %L1 kiB</source>
+ <translation type="unfinished">Taille du téléchargement %1 ko</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="184"/>
+ <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;Auteur :&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>unknown</source>
+ <translation>inconnu</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>no description</source>
+ <translation>pas de description</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="222"/>
+ <source>no theme preview</source>
+ <translation>pas d&apos;aperçu du thème</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="254"/>
+ <source>getting themes information ...</source>
+ <translation>récupération des informations sur le thème ...</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="312"/>
+ <source>Mount point is wrong!</source>
+ <translation>Le point de montage est incorrect !</translation>
+ </message>
+</context>
+<context>
+ <name>UnZip</name>
+ <message>
+ <location filename="zip/unzip.cpp" line="245"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>Opération ZIP terminée avec succès.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="246"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="247"/>
+ <source>zlib library error.</source>
+ <translation>Erreur de la librairie zlib.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="248"/>
+ <source>Unable to create or open file.</source>
+ <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="249"/>
+ <source>Partially corrupted archive. Some files might be extracted.</source>
+ <translation>Archive partiellement corrompue. Certains fichiers pourraient être extraits.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="250"/>
+ <source>Corrupted archive.</source>
+ <translation>Archive corrompue.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="251"/>
+ <source>Wrong password.</source>
+ <translation>Mot de passe incorrect.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="252"/>
+ <source>No archive has been created yet.</source>
+ <translation>Aucune archive n&apos;a encore été crée.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="253"/>
+ <source>File or directory does not exist.</source>
+ <translation>Le fichier ou le répertoire n&apos;existe pas.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="254"/>
+ <source>File read error.</source>
+ <translation>Erreur de lecture du fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="255"/>
+ <source>File write error.</source>
+ <translation>Erreur d&apos;écriture du fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="256"/>
+ <source>File seek error.</source>
+ <translation>Erreur de parcours du fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="257"/>
+ <source>Unable to create a directory.</source>
+ <translation>Impossible de créer un dossier.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="258"/>
+ <source>Invalid device.</source>
+ <translation>Périphérique invalide.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="259"/>
+ <source>Invalid or incompatible zip archive.</source>
+ <translation>Archive zip invalide ou incompatible.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="260"/>
+ <source>Inconsistent headers. Archive might be corrupted.</source>
+ <translation>Les en-têtes ne correspondent pas. L&apos;archive est peut-être corrompue.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="264"/>
+ <source>Unknown error.</source>
+ <translation>Erreur inconnue.</translation>
+ </message>
+</context>
+<context>
+ <name>UninstallFrm</name>
+ <message>
+ <location filename="uninstallfrm.ui" line="16"/>
+ <source>Uninstall Rockbox</source>
+ <translation>Désinstaller Rockbox</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="35"/>
+ <source>Please select the Uninstallation Methodl</source>
+ <translation>Veuillez choisir la méthode de désinstallation</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="45"/>
+ <source>Uninstallation Method</source>
+ <translation>Méthode de désinstallation</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="51"/>
+ <source>Complete Uninstallation</source>
+ <translation>Désinstallation complète</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="58"/>
+ <source>Smart Uninstallation</source>
+ <translation>Désinstallation intelligente</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="68"/>
+ <source>Please select what you want to uninstall</source>
+ <translation>Veuillez sélectionner ce que vous désirer désinstaller</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="78"/>
+ <source>Installed Parts</source>
+ <translation>Composants installés</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="128"/>
+ <source>&amp;Uninstall</source>
+ <translation>&amp;Désinstaller</translation>
+ </message>
+</context>
+<context>
+ <name>Uninstaller</name>
+ <message>
+ <location filename="uninstall.cpp" line="45"/>
+ <source>Starting Uninstallation</source>
+ <translation>Démarrage de la désinstallation</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="37"/>
+ <source>Finished Uninstallation</source>
+ <translation>Désinstallation terminée</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="51"/>
+ <source>Uninstalling </source>
+ <translation>Désinstalle </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="81"/>
+ <source>Could not delete: </source>
+ <translation>Impossible de supprimer : </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="108"/>
+ <source>Uninstallation finished</source>
+ <translation>Désinstallation terminée</translation>
+ </message>
+</context>
+<context>
+ <name>VoiceFileCreator</name>
+ <message>
+ <location filename="voicefile.cpp" line="41"/>
+ <source>Starting Voicefile generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="55"/>
+ <source>failed to open rockbox-info.txt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="124"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation type="unfinished">Erreur de téléchargement. Erreur HTTP %1.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="128"/>
+ <source>Cached file used.</source>
+ <translation type="unfinished">Fichier en cache utilisé.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="130"/>
+ <source>Download error: %1</source>
+ <translation type="unfinished">Erreur de téléchargement : %1</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="134"/>
+ <source>Download finished.</source>
+ <translation type="unfinished">Téléchargement terminé.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="143"/>
+ <source>failed to open downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="156"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="167"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="209"/>
+ <source>The downloaded file was empty!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="246"/>
+ <source>creating </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="269"/>
+ <source>Error opening downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="277"/>
+ <source>Error opening output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="291"/>
+ <source>successfully created.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Zip</name>
+ <message>
+ <location filename="zip/zip.cpp" line="479"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>Opération ZIP terminée avec succès.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="480"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="481"/>
+ <source>zlib library error.</source>
+ <translation>Erreur de la librairie zlib.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="482"/>
+ <source>Unable to create or open file.</source>
+ <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="483"/>
+ <source>No archive has been created yet.</source>
+ <translation>Aucune archive n&apos;a encore été crée.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="484"/>
+ <source>File or directory does not exist.</source>
+ <translation>Le fichier ou le répertoire n&apos;existe pas.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="485"/>
+ <source>File read error.</source>
+ <translation>Erreur de lecture du fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="486"/>
+ <source>File write error.</source>
+ <translation>Erreur d&apos;écriture du fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="487"/>
+ <source>File seek error.</source>
+ <translation>Erreur de parcours du fichier.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="491"/>
+ <source>Unknown error.</source>
+ <translation>Erreur inconnue.</translation>
+ </message>
+</context>
+<context>
+ <name>ZipInstaller</name>
+ <message>
+ <location filename="installzip.cpp" line="54"/>
+ <source>done.</source>
+ <translation>terminé.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="62"/>
+ <source>Installation finished successfully.</source>
+ <translation>Installation terminée avec succès.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="77"/>
+ <source>Downloading file %1.%2</source>
+ <translation>Téléchargement du fichier %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="126"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>Erreur de téléchargement. Erreur HTTP %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="131"/>
+ <source>Cached file used.</source>
+ <translation>Fichier en cache utilisé.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="133"/>
+ <source>Download error: %1</source>
+ <translation>Erreur de téléchargement : %1</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="138"/>
+ <source>Download finished.</source>
+ <translation>Téléchargement terminé.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="144"/>
+ <source>Extracting file.</source>
+ <translation>Extraction du fichier.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="153"/>
+ <source>Opening archive failed: %1.</source>
+ <translation>L&apos;ouverture de l&apos;archive a échoué : %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="162"/>
+ <source>Extracting failed: %1.</source>
+ <translation>L&apos;extraction a échoué : %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="172"/>
+ <source>Installing file.</source>
+ <translation>Installation du fichier.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="183"/>
+ <source>Installing file failed.</source>
+ <translation>L&apos;installation du fichier a échoué.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="193"/>
+ <source>Creating installation log</source>
+ <translation>Création du journal d&apos;installation</translation>
+ </message>
+</context>
+<context>
+ <name>aboutBox</name>
+ <message>
+ <location filename="aboutbox.ui" line="13"/>
+ <source>About Rockbox Utility</source>
+ <translation>A propos de l&apos;utilitaire Rockbox</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="34"/>
+ <source>The Rockbox Utility</source>
+ <translation>L&apos;utilitaire Rockbox</translation>
+ </message>
+ <message encoding="UTF-8">
+ <location filename="aboutbox.ui" line="56"/>
+ <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
+
+© 2005 - 2007 The Rockbox Team.
+Released under the GNU General Public License v2.</source>
+ <translation>Installateur et utilitaire de gestion pour roxkbox, le firmware open source pour lecteurs audio numériques.
+
+© 2005 - 2007 L&apos;équipe Rockbox.
+Redistribué sous la GNU General Public License v2.</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="72"/>
+ <source>http://www.rockbox.org</source>
+ <translation>http://www.rockbox.org</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="95"/>
+ <source>&amp;Credits</source>
+ <translation>&amp;Crédits</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="124"/>
+ <source>&amp;License</source>
+ <translation>&amp;Licence</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="157"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+</context>
+</TS>
diff --git a/rbutil/rbutilqt/rbutil_tr.ts b/rbutil/rbutilqt/rbutil_tr.ts
index b7aa9f4c31..51e938d287 100644
--- a/rbutil/rbutilqt/rbutil_tr.ts
+++ b/rbutil/rbutilqt/rbutil_tr.ts
@@ -1,2552 +1,2552 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="tr">
-<context>
- <name>BootloaderInstaller</name>
- <message>
- <location filename="installbootloader.cpp" line="32"/>
- <source>Starting bootloader installation</source>
- <translation>�ny�kleyici kurulumu baslatiliyor</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="122"/>
- <source>unsupported install Method</source>
- <translation>desteklenmeyen kurulum y�ntemi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="85"/>
- <source>Starting bootloader uninstallation</source>
- <translation>�ny�kleyici kaldirma islemi baslatiliyor</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="116"/>
- <source>No uninstallation possible</source>
- <translation>Uygun kaldirma islemi bulunmamaktadir</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="151"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>Indirme hatasi: HTTP %1 hatasi.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="157"/>
- <source>Download error: %1</source>
- <translation>Indirme hatasi: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="162"/>
- <source>Download finished.</source>
- <translation>Indirme islemi tamamlandi.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="224"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="237"/>
- <source>Creating installation log</source>
- <translation>Kurulum kayit dosyasi yaratiliyor</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="253"/>
- <source>Editing installation log</source>
- <translation>Kurulum kayit dosyasi d�zenleniyor</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1093"/>
- <source>Downloading file %1.%2</source>
- <translation>Dosya indiriliyor %1.%2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="323"/>
- <source>Could not find the Original Firmware at: %1</source>
- <translation>Orijinal bellenim (firmware) bulunamadi: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="545"/>
- <source>Could not remove the Firmware at: %1</source>
- <translation>Bellenim (firmware) kaldirilamadi: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="554"/>
- <source>Could not copy the Firmware from: %1 to %2</source>
- <translation>Bellenim (firmware) kopyalanamadi: %1 den %2 ye</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="360"/>
- <source>Finishing bootloader install</source>
- <translation>�ny�kleyici kurulumu sonlandiriliyor</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="370"/>
- <source>Could not find the Firmware at: %1</source>
- <translation>Bellenim (firmware) bulunamadi: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="596"/>
- <source>Could not rename: %1 to %2</source>
- <translation>Yeniden adlandirma islemi basarisiz: %1 den %2 ye</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1207"/>
- <source>Could not copy: %1 to %2</source>
- <translation>Kopyalama islemi basarisiz: %1 den %2 ye</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1217"/>
- <source>Bootloader install finished successfully.</source>
- <translation>�ny�kleyici kurulumu basariyla tamamlandi.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1218"/>
- <source>To finish the Bootloader installation, follow the steps below.</source>
- <translation>�ny�kleyici kurulumunu tamamlamak i�in asagidaki adimlari izleyin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1219"/>
- <source>1. Eject/Unmount your Device.</source>
- <translation>1. Aygiti �ikarin/Aygitin Baglantisini kesin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="413"/>
- <source>2. Unplug USB and any Power adapters.</source>
- <translation>2. USB ve g�� kablolarinin baglantisini kesin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="414"/>
- <source>3. Hold POWER to turn the Device off.</source>
- <translation>POWER (g��) d�gmesine basili tutarak aygiti kapatin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="415"/>
- <source>4. Toggle the Battery switch on the Device.</source>
- <translation>4. Aygitin pil anahtarini a�in.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="416"/>
- <source>5. Hold POWER to boot the Rockbox bootloader.</source>
- <translation>5. POWER (g��) d�gmesine basarak Rockbox �ny�kleyicisini baslatin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="471"/>
- <source>2. Turn you Device OFF.</source>
- <translation>2. Aygiti kapatin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="472"/>
- <source>3. Insert Charger.</source>
- <translation>3. Aygitin sarjini baglayin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="582"/>
- <source>Firmware does not exist: %1</source>
- <translation>Bellenim (firmware) mevcut degil: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="533"/>
- <source>Original Firmware does not exist: %1</source>
- <translation>Orijinal bellenim (firmware) mevcut degil: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="639"/>
- <source>Searching for ipods</source>
- <translation>iPod&apos;lar araniyor</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="645"/>
- <source>No Ipods found</source>
- <translation>Herhangi bir iPod bulunamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="651"/>
- <source>Too many Ipods found</source>
- <translation>�ok sayida iPod bulundu</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="781"/>
- <source>could not open ipod</source>
- <translation>iPod a�ilamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="996"/>
- <source>could not read partitiontable</source>
- <translation>b�l�mlendirme tablosu okunamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="795"/>
- <source>No partition 0 on disk</source>
- <translation>Diskte 0 b�l�m� mevcut degil</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="800"/>
- <source>[INFO] Part Start Sector End Sector Size (MB) Type
-</source>
- <translation>[BILGI] B�l�m Baslangi� sekt�r� Bitis sekt�r� Boyut (MB) T�r
-</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="806"/>
- <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
- <translation>[BILGI] %1 %2 %3 %4 %5 (%6)</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="823"/>
- <source>Failed to read firmware directory</source>
- <translation>Bellenim (firmware) dizini okunamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="829"/>
- <source>Unknown version number in firmware (%1)</source>
- <translation>Bilinmeyen bellenim (firmware) s�r�m numarasi (%1)</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="839"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
-See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
- <translation>iPod&apos;unuz Macintosh&apos;a g�re bi�imlendirilmis. Rockbox&apos;in �alisabilmesi i�in iPod&apos;un FAT32 t�r�nde bi�imlendirilmis olmasi gerekmektedir.
-Ayrintili bilgi i�in: http://www.rockbox.org/wiki/IpodConversionToFAT32</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="847"/>
- <source>Could not open Ipod in RW mode</source>
- <translation>iPod RW modunda a�ilamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="751"/>
- <source>No bootloader detected.</source>
- <translation>Herhangi bir �ny�kleyici algilanamadi.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="966"/>
- <source>Successfully removed Bootloader</source>
- <translation>�ny�kleyici basariyla kaldirildi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="974"/>
- <source>--delete-bootloader failed.</source>
- <translation>--delete-bootloader (�ny�kleyici silme komutu) basarisiz.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1031"/>
- <source>Successfully added Bootloader</source>
- <translation>�ny�kleyici basariyla eklendi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1039"/>
- <source>failed to add Bootloader</source>
- <translation>�ny�kleyici ekleme islemi basarisiz</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="882"/>
- <source>Searching for sansas</source>
- <translation>Sansa&apos;lar araniyor</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="888"/>
- <source>No Sansa found</source>
- <translation>Herhangi bir Sansa bulunamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="894"/>
- <source>Too many Sansas found</source>
- <translation>�ok sayida Sansa bulundu</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="989"/>
- <source>could not open Sansa</source>
- <translation>Sansa a�ilamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1005"/>
- <source>Disk is not a Sansa (%1), aborting.</source>
- <translation>Disk bir Sansa degil (%1), islem durduruluyor.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1017"/>
- <source>********************************************
-OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
-You must reinstall the original Sansa firmware before running
-sansapatcher for the first time.
-See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
-*********************************************
-</source>
- <translation>********************************************
-ESKI BIR ROCKBOX KURULUMU ALGILANDI, ISLEM DURDURULUYOR.
-Sansa yamalayicisini �alistirmak i�in orijinal Sansa bellenimini (firmware)
-tekrar kurmaniz gerekmektedir.
-Ayrintili bilgi i�in: http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
-*********************************************
-</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1024"/>
- <source>Could not open Sansa in RW mode</source>
- <translation>Sansa RW modunda a�ilamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1055"/>
- <source>Could not MD5Sum original firmware</source>
- <translation>Orijinal bellenimin (firmware) MD5Sum dogrulamasi basarisiz</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1085"/>
- <source>Could not detect firmware type</source>
- <translation>Bellenim (firmware) t�r� algilanamadi</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1148"/>
- <source>Error in descramble</source>
- <translation>Sinyali ��z�mlemede hata</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1158"/>
- <source>Error in patching</source>
- <translation>Yamalama isleminde hata</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1168"/>
- <source>Error in scramble</source>
- <translation>Sinyali degistirmede hata</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1179"/>
- <source>Error in checksumming</source>
- <translation>Dogrulama basarisiz</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1220"/>
- <source>2. Boot into the original Firmware.</source>
- <translation>2. Orijinal bellenimle (firmware) baslatin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1221"/>
- <source>3. Use the Firmware flash option in the Original Firmware.</source>
- <translation>3. Orijinal bellenimdeki (firmware) firmware flash se�enegini kullanin.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1222"/>
- <source>4. Reboot.</source>
- <translation>4. Yeniden baslatin.</translation>
- </message>
-</context>
-<context>
- <name>BrowseDirtreeFrm</name>
- <message>
- <location filename="browsedirtreefrm.ui" line="13"/>
- <source>Find Directory</source>
- <translation>Dizini Bul</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="19"/>
- <source>Browse to the destination folder</source>
- <translation>Hedef dizini se�in</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="47"/>
- <source>&amp;Ok</source>
- <translation>&amp;Tamam</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="57"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Iptal</translation>
- </message>
-</context>
-<context>
- <name>BrowseOFFrm</name>
- <message>
- <location filename="browseoffrm.ui" line="13"/>
- <source>Find original Firmware</source>
- <translation>Orijinal bellenimi (firmware) bul</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="19"/>
- <source>Browse for a downloaded copy of the original firmware</source>
- <translation>Indirilmis orijinal bellenimin (firmware) kopyasina g�z at</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="32"/>
- <source>Browse</source>
- <translation>G�z At</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="54"/>
- <source>&amp;Ok</source>
- <translation>&amp;Tamam</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="64"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Iptal</translation>
- </message>
-</context>
-<context>
- <name>Config</name>
- <message>
- <location filename="configure.cpp" line="56"/>
- <source> (%1)</source>
- <translation> (%1)</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="110"/>
- <source>Language changed</source>
- <translation>Dil degistirildi</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="111"/>
- <source>You need to restart the application for the changed language to take effect.</source>
- <translation>Se�ilen dilin etkin olmasi i�in uygulamayi yeniden baslatmalisiniz.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="220"/>
- <source>Current cache size is %L1 kiB.</source>
- <translation>Mevcut �nbellek boyutu %L1 KB.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="485"/>
- <source>Select your device</source>
- <translation>Aygitinizi se�in</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="569"/>
- <source>Sansa e200 in MTP mode found!
-You need to change your player to MSC mode for installation. </source>
- <translation>MTP modunda bir Sansa e200 bulundu!
-Kurulum i�in aygiti MSC moduna almalisiniz. </translation>
- </message>
- <message>
- <location filename="configure.cpp" line="572"/>
- <source>H10 20GB in MTP mode found!
-You need to change your player to UMS mode for installation. </source>
- <translation>MTP modunda bir H10 20GB bulundu!
-Kurulum i�in aygiti UMS moduna almalisiniz. </translation>
- </message>
- <message>
- <location filename="configure.cpp" line="573"/>
- <source>Unless you changed this installation will fail!</source>
- <translation>Degistirmezseniz kurulum ger�eklestirilemez!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="575"/>
- <source>Fatal error</source>
- <translation>�nemli hata</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="593"/>
- <source>Autodetection</source>
- <translation>Otomatik algilama</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="587"/>
- <source>Could not detect a Mountpoint.
-Select your Mountpoint manually.</source>
- <translation>Herhangi bir baglama noktasi algilanamadi.
-Baglama noktasini kendiniz se�iniz.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="595"/>
- <source>Could not detect a device.
-Select your device and Mountpoint manually.</source>
- <translation>Herhangi bir aygit algilanamadi.
-Aygitinizi ve baglama noktasini kendiniz se�iniz.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="603"/>
- <source>Really delete cache?</source>
- <translation>�nbellegi silmek istediginizden emin misiniz?</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="606"/>
- <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
- <translation>�nbellegi silmeyi onayliyor musunuz? Bu se�enek ilgili dizindeki &lt;b&gt;t�m&lt;/b&gt; dosyalari silecek!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="612"/>
- <source>Path wrong!</source>
- <translation>Konum hatali!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="613"/>
- <source>The cache path is invalid. Aborting.</source>
- <translation>�nbellek konumu ge�ersiz. Islem durduruluyor.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="418"/>
- <source>(system proxy is disabled)</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ConfigForm</name>
- <message>
- <location filename="configurefrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>Yapilandirma</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="19"/>
- <source>Configure Rockbox Utility</source>
- <translation>Rockbox Aracini Yapilandir</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="30"/>
- <source>&amp;Device</source>
- <translation>&amp;Aygit</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="39"/>
- <source>Select your device in the &amp;filesystem</source>
- <translation>Aygitinizi &amp;dosya sisteminde se�in</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="286"/>
- <source>&amp;Browse</source>
- <translation>&amp;G�z At</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="66"/>
- <source>&amp;Select your audio player</source>
- <translation>&amp;Ses oynaticinizi se�in</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="77"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="98"/>
- <source>&amp;Autodetect</source>
- <translation>&amp;Otomatik Algilama</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="109"/>
- <source>&amp;Proxy</source>
- <translation>&amp;Vekil Sunucu</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="118"/>
- <source>&amp;No Proxy</source>
- <translation>Vekil Sunucu &amp;Yok</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="128"/>
- <source>Use S&amp;ystem values</source>
- <translation>S&amp;istem degerlerini kullan</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="135"/>
- <source>&amp;Manual Proxy settings</source>
- <translation>Vekil Sunucu &amp;ayarlari</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="142"/>
- <source>Proxy Values</source>
- <translation>Vekil Sunucu Degerleri</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="148"/>
- <source>&amp;Host:</source>
- <translation>S&amp;unucu:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="165"/>
- <source>&amp;Port:</source>
- <translation>&amp;Port:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="188"/>
- <source>&amp;Username</source>
- <translation>&amp;Kullanici Adi</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="198"/>
- <source>Pass&amp;word</source>
- <translation>Pa&amp;rola</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="225"/>
- <source>&amp;Language</source>
- <translation>&amp;Dil</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="238"/>
- <source>Cac&amp;he</source>
- <translation>&amp;�nbellek</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="244"/>
- <source>Download cache settings</source>
- <translation>Indirme �nbellegi ayarlari</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="250"/>
- <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
- <translation>Rockbox Araci ag trafigini azaltmak i�in indirme �nbellegi kullanir. Bu �nbellegin konumunu degistirebilirsiniz ve �nbellegi �evrimdisi modu se�erek yerel depo gibi kullanabilirsiniz.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="260"/>
- <source>Current cache size is %1</source>
- <translation>Mevcut �nbellek boyutu %1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="269"/>
- <source>P&amp;ath</source>
- <translation>&amp;Konum</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="279"/>
- <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
- <translation>Ge�ersiz bir dizin girmek konumu sistemin ge�ici konumuna getirir.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="300"/>
- <source>Disable local &amp;download cache</source>
- <translation>Yerel &amp;indirme �nbellegini kapat</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="307"/>
- <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
- <translation>Bu se�enek, g�ncellemeler dahil t�m bilgilerin �nbellekten alinmasini saglar. Bu se�enegi sadece ag baglantisi olmadan kurulum yapmak i�in kullanin. Not: Daha sonra ag baglantisiyla ayni kurulumu yapmak i�in gerekli t�m dosyalari �nbellege indirmeniz gerekmektedir.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="310"/>
- <source>O&amp;ffline mode</source>
- <translation>&amp;�evrimdisi modu</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="345"/>
- <source>Clean cache &amp;now</source>
- <translation>�nbellegi &amp;temizle</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="356"/>
- <source>&amp;TTS &amp;&amp; Encoder</source>
- <translation>&amp;TTS &amp;&amp; Kodlayici</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="365"/>
- <source>TTS Engine</source>
- <translation>TTS Motoru</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>&amp;Select TTS profile</source>
- <translation type="obsolete">TTS &amp;Profilini se�in</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>TTS executable</source>
- <translation type="obsolete">TTS �alistirilabilir dosyasi</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>TTS Options</source>
- <translation type="obsolete">TTS Se�enekleri</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>TTS Language</source>
- <translation type="obsolete">TTS Dili</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="421"/>
- <source>Encoder Engine</source>
- <translation>Kodlayici Motoru</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Select &amp;encoder profile</source>
- <translation type="obsolete">Kod&amp;layici profilini se�in</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Encoder executable</source>
- <translation type="obsolete">Kodlayici �alistirilabilir dosyasi</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>B&amp;rowse</source>
- <translation type="obsolete">&amp;G�z At</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Encoder options</source>
- <translation type="obsolete">Kodlayici Se�enekleri</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="507"/>
- <source>&amp;Ok</source>
- <translation>&amp;Tamam</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="517"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Iptal</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="371"/>
- <source>&amp;Select TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="384"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="447"/>
- <source>Configuration invalid !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="408"/>
- <source>Configure &amp;TTS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="427"/>
- <source>Select &amp;encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="440"/>
- <source>Configure encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="464"/>
- <source> Configure &amp;Enc</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Configure</name>
- <message>
- <location filename="configure.cpp" line="469"/>
- <source>English</source>
- <translation>T�rk�e</translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceFrm</name>
- <message>
- <location filename="createvoicefrm.ui" line="16"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="41"/>
- <source>Select the Language you want to generate a voicefile for:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="51"/>
- <source>Generation settings</source>
- <translation type="unfinished">Olusturma ayarlari</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="57"/>
- <source>Encoder profile:</source>
- <translation type="unfinished">Kodlayici profili:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="64"/>
- <source>TTS profile:</source>
- <translation type="unfinished">TTS profili:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="77"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="128"/>
- <source>&amp;Install</source>
- <translation type="unfinished">&amp;Y�kle</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Iptal</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="152"/>
- <source>Wavtrim Threshold</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceWindow</name>
- <message>
- <location filename="createvoicewindow.cpp" line="96"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="98"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="106"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>EncExesCfgFrm</name>
- <message>
- <location filename="encexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Yapilandirma</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="19"/>
- <source>Configure Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="31"/>
- <source>Path to Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;G�z At</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="52"/>
- <source>Encoder options</source>
- <translation type="unfinished">Kodlayici Se�enekleri</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;Tamam</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Iptal</translation>
- </message>
-</context>
-<context>
- <name>Install</name>
- <message>
- <location filename="install.cpp" line="55"/>
- <source>Mount point is wrong!</source>
- <translation>Baglama noktasi hatali!</translation>
- </message>
- <message>
- <location filename="install.cpp" line="141"/>
- <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
- <translation>En g�ncel Rockbox insasidir. Mevcut insa bir degisiklik yapildiginda g�ncellenir. Son s�r�m r%1 (%2) dir.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="145"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;Not:&lt;/b&gt; Bu se�enek her zaman yeni bir kopyayi indirir. &lt;b&gt;�nerilen y�ntem budur.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="148"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
- <translation>&lt;b&gt;Not:&lt;/b&gt; Bu se�enek her zaman yeni bir kopyayi indirir.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="157"/>
- <source>This is the last released version of Rockbox.</source>
- <translation>Bu Rockbox&apos;in kararli en son s�r�m�d�r.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="163"/>
- <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;Not:&lt;/b&gt; Son s�r�m %1 dir. &lt;b&gt;�nerilen s�r�m budur.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="175"/>
- <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
- <translation>Mevcut kaynak koddan her g�n otomatik insa edilir. Genellikle son s�r�mden daha fazla �zellik barindirmasina ragmen daha az kararli olabilir. �zellikler s�rekli degismektedir.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="177"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
- <translation>&lt;b&gt;Not:&lt;/b&gt; arsivlenen s�r�m r%1 (%2) dir.</translation>
- </message>
-</context>
-<context>
- <name>InstallFrm</name>
- <message>
- <location filename="installfrm.ui" line="16"/>
- <source>Install Rockbox</source>
- <translation>Rockbox&apos;u Y�kle</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="35"/>
- <source>Please select the Rockbox version you want to install on your player:</source>
- <translation>L�tfen aygitiniza kuracaginiz Rockbox s�r�m�n� se�in:</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="45"/>
- <source>Version</source>
- <translation>S�r�m</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="51"/>
- <source>Rockbox &amp;stable</source>
- <translation>Rockbox &amp;kararli s�r�m</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="58"/>
- <source>&amp;Archived Build</source>
- <translation>&amp;Arsivlenmis Insa</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="65"/>
- <source>&amp;Current Build</source>
- <translation>&amp;Mevcut Insa</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="75"/>
- <source>Details</source>
- <translation>Ayrintilar</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="81"/>
- <source>Details about the selected version</source>
- <translation>Se�ili s�r�m�n ayrintilari</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="91"/>
- <source>Note</source>
- <translation>Not</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="104"/>
- <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
- <translation>Rockbox Araci ag trafigini azaltmak i�in Rockbox kopyalarini yerel diskinizde saklar. Eger yerel kopya �alismiyorsa, yeni bir kopya indirmek i�in bu kutucugu isaretleyin.</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="107"/>
- <source>&amp;Don&apos;t use locally cached copy</source>
- <translation>Yerel &amp;kopyayi kullanma</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="142"/>
- <source>&amp;Install</source>
- <translation>&amp;Y�kle</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="152"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Iptal</translation>
- </message>
-</context>
-<context>
- <name>InstallProgressFrm</name>
- <message>
- <location filename="installprogressfrm.ui" line="19"/>
- <source>Progress</source>
- <translation>Ilerleme</translation>
- </message>
- <message>
- <location filename="installprogressfrm.ui" line="56"/>
- <source>&amp;Abort</source>
- <translation>&amp;Durdur</translation>
- </message>
-</context>
-<context>
- <name>InstallTalkFrm</name>
- <message>
- <location filename="installtalkfrm.ui" line="16"/>
- <source>Install Talk Files</source>
- <translation>Konusma dosyalarini indir</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="35"/>
- <source>Select the Folder to generate Talkfiles for.</source>
- <translation>Konusma dosyalarinin yazilacagi dizini se�in.</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="45"/>
- <source>&amp;Browse</source>
- <translation>&amp;G�z At</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="55"/>
- <source>Generation settings</source>
- <translation>Olusturma ayarlari</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="61"/>
- <source>Encoder profile:</source>
- <translation>Kodlayici profili:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="68"/>
- <source>TTS profile:</source>
- <translation>TTS profili:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="104"/>
- <source>Generation options</source>
- <translation>Olusturma se�enekleri</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="110"/>
- <source>Overwrite Wavefiles</source>
- <translation>Wave dosyalarinin �zerine yaz</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="120"/>
- <source>Remove Wavefiles</source>
- <translation>Wave dosyalarini kaldir</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="130"/>
- <source>Run recursive</source>
- <translation>�zyinelemeli �alistir</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="140"/>
- <source>Strip Extensions</source>
- <translation>Uzantilari kaldir</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="150"/>
- <source>Overwrite Talkfiles</source>
- <translation>Konusma dosyalarinin �zerine yaz</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="160"/>
- <source>Generate .talk files for Folders</source>
- <translation>Dizinler i�in .talk dosyalari �ret</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="170"/>
- <source>Generate .talk files for Files</source>
- <translation>Dosyalar i�in .talk dosyalari �ret</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="214"/>
- <source>&amp;Install</source>
- <translation>&amp;Y�kle</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="224"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Iptal</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="81"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallTalkWindow</name>
- <message>
- <location filename="installtalkwindow.cpp" line="84"/>
- <source>The Folder to Talk is wrong!</source>
- <translation>Konusma dizini hatali!</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Path to Encoder is wrong!</source>
- <translation type="obsolete">Kodlayici konumu hatali!</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Path to TTS is wrong!</source>
- <translation type="obsolete">TTS konumu hatali!</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">TTS Profili: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Invalid TTS profile!</source>
- <translation type="obsolete">Ge�ersiz TTS Profili!</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">Kodlayici Profili: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="137529492"/>
- <source>Invalid encoder profile!</source>
- <translation type="obsolete">Ge�ersiz kodlayici profili!</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="119"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="121"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="129"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>PreviewFrm</name>
- <message>
- <location filename="previewfrm.ui" line="16"/>
- <source>Preview</source>
- <translation>�nizleme</translation>
- </message>
-</context>
-<context>
- <name>ProgressLoggerGui</name>
- <message>
- <location filename="progressloggergui.cpp" line="79"/>
- <source>&amp;Ok</source>
- <translation>&amp;Tamam</translation>
- </message>
- <message>
- <location filename="progressloggergui.cpp" line="89"/>
- <source>&amp;Abort</source>
- <translation>&amp;Durdur</translation>
- </message>
-</context>
-<context>
- <name>RbSpeexCfgFrm</name>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Yapilandirma</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="19"/>
- <source>Configure RbSpeex Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="38"/>
- <source>Volume</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="45"/>
- <source>Narrowband</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="68"/>
- <source>Quality</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="85"/>
- <source>Complexity</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="115"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;Tamam</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="125"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Iptal</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="95"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RbUtilQt</name>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>File</source>
- <translation>Dosya</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>Version</source>
- <translation>S�r�m</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1014"/>
- <source>Configuration error</source>
- <translation>Yapilandirma hatasi</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="187"/>
- <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
- <translation>Yapilandirmaniz ge�ersiz. Bunun nedeni yeni bir Rockbox Araci kullanmaniz ya da aygitinizin yolunu degistirmeniz olabilir. Bu problemi d�zeltmeniz i�in simdi yapilandirma ekrani a�ilacaktir.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="210"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="305"/>
- <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
- <translation>&lt;b&gt;%1 %2&lt;/b&gt; Baglanti Noktasi: &lt;b&gt;%3&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="325"/>
- <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (PDF)&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="327"/>
- <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (HTML) -- tarayicida a�ilir&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="330"/>
- <source>Select a device for a link to the correct manual</source>
- <translation>Uygun kilavuz i�in aygit se�iniz</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="332"/>
- <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz Genel A�iklamasi&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="695"/>
- <source>Confirm Installation</source>
- <translation>Kurulumu onayla</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="341"/>
- <source>Do you really want to make a complete Installation?</source>
- <translation>T�m bilesenleri y�klemek istediginize emin misiniz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="393"/>
- <source>Do you really want to make a small Installation?</source>
- <translation>Mini kurulum yapmak istediginize emin misiniz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="877"/>
- <source>Mount point is wrong!</source>
- <translation>Baglama noktasi hatali!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="533"/>
- <source>Do you really want to install the Bootloader?</source>
- <translation>�ny�kleyiciyi kurmak istediginizden emin misiniz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="800"/>
- <source>Could not get the bootloader info file!</source>
- <translation>�ny�kleyici bilgi dosyasi alinamadi!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="568"/>
- <source>Bootloader Installation</source>
- <translation>�ny�kleyici Kurulumu</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="570"/>
- <source>The bootloader is already installed and up to date.
-Do want to replace the current bootloader?</source>
- <translation>�ny�kleyici daha �nce kurulmus ve g�ncel.
-Mevcut �ny�kleyiciyi degistirmek istiyor musunuz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="574"/>
- <source>Bootloader installation skipped!</source>
- <translation>�ny�kleyici kurulumu atlandi!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="593"/>
- <source>Original Firmware Path is wrong!</source>
- <translation>Orijinal bellenim (firmware) konumu hatali!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="606"/>
- <source>Original Firmware selection Canceled!</source>
- <translation>Orijinal bellenim (firmware) se�imi iptal edildi!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="621"/>
- <source>Do you really want to install the fonts package?</source>
- <translation>Yazi tipi paketini kurmak istediginizden emin misiniz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="656"/>
- <source>Do you really want to install the voice file?</source>
- <translation>Seslendirme dosyasini y�klemek istediginizden emin misiniz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Error</source>
- <translation>Hata</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
- <translation>Aygitinizda doom eklentisi bulunmamaktadir. Islem durduruluyor.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="696"/>
- <source>Do you really want to install the game addon files?</source>
- <translation>Oyun eklenti dosyalarini y�klemek istediginizden emin misiniz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="782"/>
- <source>Confirm Uninstallation</source>
- <translation>Kaldirma islemini onayla</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="783"/>
- <source>Do you really want to uninstall the Bootloader?</source>
- <translation>�ny�kleyiciyi kaldirmak istediginizden emin misiniz?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="813"/>
- <source>Confirm download</source>
- <translation>Indirme islemini onayla</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="815"/>
- <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
- <translation>Kilavuzu indirmek istiyor musunuz? Aygitinizin bulundugu konuma kaydedilecektir.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="863"/>
- <source>Confirm installation</source>
- <translation>Kurulumu onayla</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="865"/>
- <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
- <translation>Rockbox Aracini aygitiniza kurmak istediginizden emin misiniz? Kurulum sonrasi aygitinizin diskinden �alistirabilirsiniz.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="873"/>
- <source>Installing Rockbox Utility</source>
- <translation>Rockbox Araci Kuruluyor</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="887"/>
- <source>Error installing Rockbox Utility</source>
- <translation>Rockbox Araci kurulumunda hata</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="891"/>
- <source>Installing user configuration</source>
- <translation>Kullanici yapilandirmasi y�kleniyor</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="893"/>
- <source>Error installing user configuration</source>
- <translation>Kullanici yapilandirmasi y�kleme isleminde hata</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="897"/>
- <source>Successfully installed Rockbox Utility.</source>
- <translation>Rockbox Araci basariyla kuruldu.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1016"/>
- <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
- <translation>Yapilandirmaniz ge�ersiz. Yapilandirma ekranina giderek se�ilen degerlerin dogrulugundan emin olun.</translation>
- </message>
-</context>
-<context>
- <name>RbUtilQtFrm</name>
- <message>
- <location filename="rbutilqtfrm.ui" line="13"/>
- <source>Rockbox Utility</source>
- <translation>Rockbox Araci</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="78"/>
- <source>Device</source>
- <translation>Aygit</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="90"/>
- <source>Selected device:</source>
- <translation>Se�ili Aygit:</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="97"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;bilinmeyen&lt;/span&gt; Baglanti Noktasi: &lt;span style=&quot; font-weight:600;&quot;&gt;bilinmeyen&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="120"/>
- <source>&amp;Change</source>
- <translation>&amp;Degistir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="137"/>
- <source>&amp;Quick Start</source>
- <translation>&amp;Hizli Baslangi�</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="140"/>
- <source>Welcome</source>
- <translation>Hos Geldiniz</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="953"/>
- <source>Complete Installation</source>
- <translation>Tam Kurulum</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="162"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Tam Kurulum&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Bu se�enek, �ny�kleyiciyi, mevcut insayi ve ekstra paketleri kurar. Yeni kurulumlar i�in �nerilen y�ntemdir.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="961"/>
- <source>Small Installation</source>
- <translation>Mini Kurulum</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="192"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Mini Kurulum&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Bu se�enek, �ny�kleyiciyi ve mevcut insayi kurar. Ekstra paketleri kurmak istemiyorsaniz bu y�ntemi se�in.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="236"/>
- <source>&amp;Installation</source>
- <translation>&amp;Kurulum</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="239"/>
- <source>Basic Rockbox installation</source>
- <translation>Temel Rockbox kurulumu</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="969"/>
- <source>Install Bootloader</source>
- <translation>�ny�kleyiciyi Kur</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="261"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;�ny�kleyiciyi Kur&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ses oynaticinizda Rockbox&apos;in �alisabilmesi i�in �ncelikle �ny�kleyicinin kurulmasi gerekmektedir. Bu sadece Rockbox&apos;in ilk kurulumunda gereklidir.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="977"/>
- <source>Install Rockbox</source>
- <translation>Rockbox&apos;i Kur</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="294"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Rockbox&apos;i Kur&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="340"/>
- <source>&amp;Extras</source>
- <translation>&amp;Ekstralar</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="343"/>
- <source>Install extras for Rockbox</source>
- <translation>Rockbox i�in ekstralari kur</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="349"/>
- <source>Install Fonts package</source>
- <translation>Yazi Tipi Paketini Kur</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="365"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Yazi Tipi Paketi&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Yazi tipi paketi sik�a kullanilan bir�ok yazi tipini barindirir. Bu paketi kurmaniz siddetle �nerilir.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="379"/>
- <source>Install themes</source>
- <translation>Temalari y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="395"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Temalari Kur&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos;in g�r�n�m� temalarla kisisellestirilebilir. Temalari se�ip y�kleyebilirsiniz.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="409"/>
- <source>Install game files</source>
- <translation>Oyun Dosyalarini Y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="425"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Oyun Dosyalarini Y�kle&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom temel bir wad dosyasina ihtiya� duyar.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="466"/>
- <source>&amp;Accessibility</source>
- <translation>&amp;Erisilebilirlik</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="469"/>
- <source>Install accessibility add-ons</source>
- <translation>Erisilebilirlik eklentilerini y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="475"/>
- <source>Install Voice files</source>
- <translation>Seslendirme Dosyalarini Y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="491"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Seslendirme Dosyasini Y�kle&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Seslendirme dosyasi kullanici aray�z�n�n seslendirilmesi i�in gereklidir. Seslendirme �zelligi �ntanimli olarak a�iktir, eger seslendirme dosyasini y�klerseniz, Rockbox&apos;iniz konusur.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="505"/>
- <source>Install Talk files</source>
- <translation>Konusma Dosyalarini Y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="521"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Konusma Dosyalarini Olustur&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Konusma dosyalari Rockbox&apos;in dosya ve dizin isimlerini seslendirmesi i�in gereklidir.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="587"/>
- <source>&amp;Uninstallation</source>
- <translation>&amp;Kaldirma</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1033"/>
- <source>Uninstall Rockbox</source>
- <translation>Rockbox&apos;i Kaldir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="596"/>
- <source>Uninstall Bootloader</source>
- <translation>�ny�kleyiciyi Kaldir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="612"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;�ny�kleyiciyi Kaldir&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;�ny�kleyiciyi kaldirdiktan sonra Rockbox&apos;i baslatamazsiniz.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="642"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Rockbox&apos;i Kaldir&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;�ny�kleyiciniz kaldirilmayacaktir, isterseniz daha sonra kendiniz kaldirabilirsiniz.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="689"/>
- <source>&amp;Manual</source>
- <translation>&amp;Kilavuz</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="692"/>
- <source>View and download the manual</source>
- <translation>Kilavuzu g�ster ve indir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="698"/>
- <source>Read the manual</source>
- <translation>Kilavuzu oku</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="704"/>
- <source>PDF manual</source>
- <translation>Kilavuz (PDF)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="717"/>
- <source>HTML manual</source>
- <translation>Kilavuz (HTML)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="733"/>
- <source>Download the manual</source>
- <translation>Kilavuzu indir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="741"/>
- <source>&amp;PDF version</source>
- <translation>&amp;PDF formati</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="748"/>
- <source>&amp;HTML version (zip file)</source>
- <translation>&amp;HTML formati (zip dosyasi)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="770"/>
- <source>Down&amp;load</source>
- <translation>&amp;Indir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="794"/>
- <source>Inf&amp;o</source>
- <translation>&amp;Bilgi</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="800"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Y�klenmis paketler.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Not&lt;/span&gt;: Paketleri kendiniz kurduysaniz, bu bilgiler dogru olmayabilir!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="815"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="837"/>
- <source>&amp;File</source>
- <translation>&amp;Dosya</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="930"/>
- <source>&amp;About</source>
- <translation>&amp;Hakkinda</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="855"/>
- <source>Action&amp;s</source>
- <translation>I&amp;slemler</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="859"/>
- <source>Installation</source>
- <translation>Kurulum</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="866"/>
- <source>Quick Start</source>
- <translation>Hizli Baslangi�</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="873"/>
- <source>Extras</source>
- <translation>Ekstralar</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="881"/>
- <source>Accessibility</source>
- <translation>Erisilebilirlik</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="889"/>
- <source>Uninstallation</source>
- <translation>Kaldirma</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="907"/>
- <source>Empty local download cache</source>
- <translation>Yerel indirme �nbellegi bos</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="912"/>
- <source>Install Rockbox Utility on player</source>
- <translation>Rockbox Aracini Kur</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="917"/>
- <source>&amp;Configure</source>
- <translation>&amp;Yapilandir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="922"/>
- <source>E&amp;xit</source>
- <translation>&amp;�ikis</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="925"/>
- <source>Ctrl+Q</source>
- <translation>Ctrl+Q</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="935"/>
- <source>About &amp;Qt</source>
- <translation>&amp;Qt Hakkinda</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="940"/>
- <source>&amp;Help</source>
- <translation>&amp;Yardim</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="945"/>
- <source>Info</source>
- <translation>Bilgi</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="985"/>
- <source>Fonts Package</source>
- <translation>Yazi Tipi Paketi</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="993"/>
- <source>Install Themes</source>
- <translation>Temalari Y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1001"/>
- <source>Install Game Files</source>
- <translation>Oyun Dosyalarini Y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1009"/>
- <source>Install Voice File</source>
- <translation>Seslendirme Dosyasini Y�kle</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1017"/>
- <source>Create Talk Files</source>
- <translation>Konusma Dosyalari Olustur</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1025"/>
- <source>Remove bootloader</source>
- <translation>�ny�kleyiciyi Kaldir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1038"/>
- <source>Read PDF manual</source>
- <translation> Kilavuzu (PDF) oku</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1043"/>
- <source>Read HTML manual</source>
- <translation>Kilavuzu (HTML) oku</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1048"/>
- <source>Download PDF manual</source>
- <translation>Kilavuzu (PDF) indir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1053"/>
- <source>Download HTML manual (zip)</source>
- <translation>Kilavuzu (HTML zip) indir</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="558"/>
- <source>Create Voice files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="574"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1061"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1064"/>
- <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
-e File</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>SapiCfgFrm</name>
- <message>
- <location filename="sapicfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Yapilandirma</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="62"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="25"/>
- <source>Language</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="87"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="107"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;Tamam</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="117"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Iptal</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="35"/>
- <source>Voice</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="45"/>
- <source>Speed</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExes</name>
- <message>
- <location filename="tts.cpp" line="123"/>
- <source>TTS executable not found</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExesCfgFrm</name>
- <message>
- <location filename="ttsexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">Yapilandirma</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="31"/>
- <source>Path to TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;G�z At</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="52"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;Tamam</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;Iptal</translation>
- </message>
-</context>
-<context>
- <name>TTSSapi</name>
- <message>
- <location filename="tts.cpp" line="274"/>
- <source>Could not copy the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="tts.cpp" line="292"/>
- <source>Could not start the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TalkFileCreator</name>
- <message>
- <location filename="talkfile.cpp" line="31"/>
- <source>Starting Talk file generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="41"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="52"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="70"/>
- <source>Talk file creation aborted</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="132"/>
- <source>Voicing of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="135"/>
- <source>Voicing of %s failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="143"/>
- <source>Encoding of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="146"/>
- <source>Encoding of %1 failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="173"/>
- <source>Finished creating Talk files</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ThemeInstallFrm</name>
- <message>
- <location filename="installthemesfrm.ui" line="13"/>
- <source>Theme Installation</source>
- <translation>Tema Kurulumu</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="48"/>
- <source>Selected Theme</source>
- <translation>Se�ili Tema</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="73"/>
- <source>Description</source>
- <translation>A�iklama</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="83"/>
- <source>Download size:</source>
- <translation>Indirme boyutu:</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="108"/>
- <source>&amp;Install</source>
- <translation>&amp;Y�kle</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="118"/>
- <source>Install &amp;All</source>
- <translation>&amp;Hepsini Y�kle</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="128"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Iptal</translation>
- </message>
-</context>
-<context>
- <name>ThemesInstallWindow</name>
- <message>
- <location filename="installthemes.cpp" line="34"/>
- <source>no theme selected</source>
- <translation>tema se�ilmedi</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="117"/>
- <source>Network error: %1.
-Please check your network and proxy settings.</source>
- <translation>Ag hatasi: %1.
-L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="128"/>
- <source>the following error occured:
-%1</source>
- <translation>olusan hata:
-%1</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="133"/>
- <source>done.</source>
- <translation>tamamlandi.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="161"/>
- <source>fetching details for %1</source>
- <translation>%1 in bilgileri aliniyor</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="163"/>
- <source>fetching preview ...</source>
- <translation>�nizleme getiriliyor ...</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="171"/>
- <source>Download size %L1 kiB</source>
- <translation>Indirme boyutu %L1 KB</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="184"/>
- <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;Sahibi:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>unknown</source>
- <translation>bilinmiyor</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;S�r�m:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;A�iklama:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>no description</source>
- <translation>a�iklama yok</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="222"/>
- <source>no theme preview</source>
- <translation>tema �nizlemesi yok</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="254"/>
- <source>getting themes information ...</source>
- <translation>temalarin bilgileri aliniyor ...</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="312"/>
- <source>Mount point is wrong!</source>
- <translation>Baglama noktasi hatali!</translation>
- </message>
-</context>
-<context>
- <name>UnZip</name>
- <message>
- <location filename="zip/unzip.cpp" line="245"/>
- <source>ZIP operation completed successfully.</source>
- <translation>ZIP islemi basariyla tamamlandi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="246"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>zlib k�t�phanesi y�klenemedi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="247"/>
- <source>zlib library error.</source>
- <translation>zlib k�t�phane hatasi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="248"/>
- <source>Unable to create or open file.</source>
- <translation>Dosya olusturulamadi veya a�ilamadi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="249"/>
- <source>Partially corrupted archive. Some files might be extracted.</source>
- <translation>Kismi bozuk arsiv. Bazi dosyalar a�ilmis olabilir.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="250"/>
- <source>Corrupted archive.</source>
- <translation>Bozuk arsiv.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="251"/>
- <source>Wrong password.</source>
- <translation>Yanlis parola.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="252"/>
- <source>No archive has been created yet.</source>
- <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="253"/>
- <source>File or directory does not exist.</source>
- <translation>Dosya veya dizin mevcut degil.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="254"/>
- <source>File read error.</source>
- <translation>Dosya okuma hatasi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="255"/>
- <source>File write error.</source>
- <translation>Dosyaya yazma hatasi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="256"/>
- <source>File seek error.</source>
- <translation>Dosya konumlandirma hatasi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="257"/>
- <source>Unable to create a directory.</source>
- <translation>Dizin olusturulamadi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="258"/>
- <source>Invalid device.</source>
- <translation>Ge�ersiz aygit.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="259"/>
- <source>Invalid or incompatible zip archive.</source>
- <translation>Bozuk veya tamamlanmamis arsiv dosyasi.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="260"/>
- <source>Inconsistent headers. Archive might be corrupted.</source>
- <translation>Tutarsiz basliklar. Arsiv bozulmus olabilir.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="264"/>
- <source>Unknown error.</source>
- <translation>Bilinmeyen hata.</translation>
- </message>
-</context>
-<context>
- <name>UninstallFrm</name>
- <message>
- <location filename="uninstallfrm.ui" line="16"/>
- <source>Uninstall Rockbox</source>
- <translation>Rockbox&apos;i Kaldir</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="35"/>
- <source>Please select the Uninstallation Methodl</source>
- <translation>L�tfen kaldirma y�ntemini se�iniz</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="45"/>
- <source>Uninstallation Method</source>
- <translation>Kaldirma Y�ntemi</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="51"/>
- <source>Complete Uninstallation</source>
- <translation>T�m�n� Kaldir</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="58"/>
- <source>Smart Uninstallation</source>
- <translation>�zel </translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="68"/>
- <source>Please select what you want to uninstall</source>
- <translation>L�tfen neyi kaldirmak istediginizi se�iniz</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="78"/>
- <source>Installed Parts</source>
- <translation>Kurulmus Bilesenler</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="128"/>
- <source>&amp;Uninstall</source>
- <translation>&amp;Kaldir</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation>&amp;Iptal</translation>
- </message>
-</context>
-<context>
- <name>Uninstaller</name>
- <message>
- <location filename="uninstall.cpp" line="45"/>
- <source>Starting Uninstallation</source>
- <translation>Kaldirma Islemi Baslatiliyor</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="37"/>
- <source>Finished Uninstallation</source>
- <translation>Kaldirma Islemi Tamamlandi</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="51"/>
- <source>Uninstalling </source>
- <translation>Kaldiriliyor </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="81"/>
- <source>Could not delete: </source>
- <translation>Silinemedi: </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="108"/>
- <source>Uninstallation finished</source>
- <translation>Kaldirma islemi tamamlandi</translation>
- </message>
-</context>
-<context>
- <name>VoiceFileCreator</name>
- <message>
- <location filename="voicefile.cpp" line="41"/>
- <source>Starting Voicefile generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="55"/>
- <source>failed to open rockbox-info.txt</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="124"/>
- <source>Download error: received HTTP error %1.</source>
- <translation type="unfinished">Indirme hatasi: HTTP %1 hatasi.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="128"/>
- <source>Cached file used.</source>
- <translation type="unfinished">�nbellekteki dosya kullanildi.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="130"/>
- <source>Download error: %1</source>
- <translation type="unfinished">Indirme hatasi: %1</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="134"/>
- <source>Download finished.</source>
- <translation type="unfinished">Indirme islemi tamamlandi.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="143"/>
- <source>failed to open downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="156"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="167"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="209"/>
- <source>The downloaded file was empty!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="246"/>
- <source>creating </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="269"/>
- <source>Error opening downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="277"/>
- <source>Error opening output file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="291"/>
- <source>successfully created.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Zip</name>
- <message>
- <location filename="zip/zip.cpp" line="479"/>
- <source>ZIP operation completed successfully.</source>
- <translation>ZIP islemi basariyla tamamlandi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="480"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>zlib k�t�phanesi y�klenemedi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="481"/>
- <source>zlib library error.</source>
- <translation>zlib k�t�phane hatasi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="482"/>
- <source>Unable to create or open file.</source>
- <translation>Dosya olusturulamadi veya a�ilamadi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="483"/>
- <source>No archive has been created yet.</source>
- <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="484"/>
- <source>File or directory does not exist.</source>
- <translation>Dosya veya dizin mevcut degil.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="485"/>
- <source>File read error.</source>
- <translation>Dosya okuma hatasi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="486"/>
- <source>File write error.</source>
- <translation>Dosyaya yazma hatasi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="487"/>
- <source>File seek error.</source>
- <translation>Dosya konumlandirma hatasi.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="491"/>
- <source>Unknown error.</source>
- <translation>Bilinmeyen hata.</translation>
- </message>
-</context>
-<context>
- <name>ZipInstaller</name>
- <message>
- <location filename="installzip.cpp" line="54"/>
- <source>done.</source>
- <translation>tamamlandi.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="62"/>
- <source>Installation finished successfully.</source>
- <translation>Y�kleme basariyla tamamlandi.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="77"/>
- <source>Downloading file %1.%2</source>
- <translation>Dosya indiriliyor %1.%2</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="126"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>Indirme hatasi: HTTP %1 hatasi.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="131"/>
- <source>Cached file used.</source>
- <translation>�nbellekteki dosya kullanildi.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="133"/>
- <source>Download error: %1</source>
- <translation>Indirme hatasi: %1</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="138"/>
- <source>Download finished.</source>
- <translation>Indirme islemi tamamlandi.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="144"/>
- <source>Extracting file.</source>
- <translation>Dosya �ikariliyor.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="153"/>
- <source>Opening archive failed: %1.</source>
- <translation>Arsiv a�ilamadi: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="162"/>
- <source>Extracting failed: %1.</source>
- <translation>Arsivden �ikarma islemi basarisiz: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="172"/>
- <source>Installing file.</source>
- <translation>Dosya y�kleniyor.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="183"/>
- <source>Installing file failed.</source>
- <translation>Dosya y�kleme islemi basarisiz.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="193"/>
- <source>Creating installation log</source>
- <translation>Kurulum kayit dosyasi yaratiliyor</translation>
- </message>
-</context>
-<context>
- <name>aboutBox</name>
- <message>
- <location filename="aboutbox.ui" line="13"/>
- <source>About Rockbox Utility</source>
- <translation>Rockbox Araci Hakkinda</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="34"/>
- <source>The Rockbox Utility</source>
- <translation>Rockbox Araci</translation>
- </message>
- <message encoding="UTF-8">
- <location filename="" line="137529492"/>
- <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
-
-� 2005 - 2007 The Rockbox Team.
-Released under the GNU General Public License v2.</source>
- <translation type="obsolete">Rockbox a�ik kaynak ses oynaticisi bellenimi (firmware) y�kleme araci.
-
-� 2005 - 2007 Rockbox Takimi.
-GNU Genel Kamu Lisansi v2 altinda dagitilmaktadir.</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="72"/>
- <source>http://www.rockbox.org</source>
- <translation>http://www.rockbox.org</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="95"/>
- <source>&amp;Credits</source>
- <translation>&amp;Hazirlayanlar</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="124"/>
- <source>&amp;License</source>
- <translation>&amp;Lisans</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="157"/>
- <source>&amp;Ok</source>
- <translation>&amp;Tamam</translation>
- </message>
- <message encoding="UTF-8">
- <location filename="aboutbox.ui" line="56"/>
- <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
-
-© 2005 - 2007 The Rockbox Team.
-Released under the GNU General Public License v2.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="tr">
+<context>
+ <name>BootloaderInstaller</name>
+ <message>
+ <location filename="installbootloader.cpp" line="32"/>
+ <source>Starting bootloader installation</source>
+ <translation>�ny�kleyici kurulumu baslatiliyor</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="122"/>
+ <source>unsupported install Method</source>
+ <translation>desteklenmeyen kurulum y�ntemi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="85"/>
+ <source>Starting bootloader uninstallation</source>
+ <translation>�ny�kleyici kaldirma islemi baslatiliyor</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="116"/>
+ <source>No uninstallation possible</source>
+ <translation>Uygun kaldirma islemi bulunmamaktadir</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="151"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>Indirme hatasi: HTTP %1 hatasi.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="157"/>
+ <source>Download error: %1</source>
+ <translation>Indirme hatasi: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="162"/>
+ <source>Download finished.</source>
+ <translation>Indirme islemi tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="224"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="237"/>
+ <source>Creating installation log</source>
+ <translation>Kurulum kayit dosyasi yaratiliyor</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="253"/>
+ <source>Editing installation log</source>
+ <translation>Kurulum kayit dosyasi d�zenleniyor</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1093"/>
+ <source>Downloading file %1.%2</source>
+ <translation>Dosya indiriliyor %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="323"/>
+ <source>Could not find the Original Firmware at: %1</source>
+ <translation>Orijinal bellenim (firmware) bulunamadi: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="545"/>
+ <source>Could not remove the Firmware at: %1</source>
+ <translation>Bellenim (firmware) kaldirilamadi: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="554"/>
+ <source>Could not copy the Firmware from: %1 to %2</source>
+ <translation>Bellenim (firmware) kopyalanamadi: %1 den %2 ye</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="360"/>
+ <source>Finishing bootloader install</source>
+ <translation>�ny�kleyici kurulumu sonlandiriliyor</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="370"/>
+ <source>Could not find the Firmware at: %1</source>
+ <translation>Bellenim (firmware) bulunamadi: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="596"/>
+ <source>Could not rename: %1 to %2</source>
+ <translation>Yeniden adlandirma islemi basarisiz: %1 den %2 ye</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1207"/>
+ <source>Could not copy: %1 to %2</source>
+ <translation>Kopyalama islemi basarisiz: %1 den %2 ye</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1217"/>
+ <source>Bootloader install finished successfully.</source>
+ <translation>�ny�kleyici kurulumu basariyla tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1218"/>
+ <source>To finish the Bootloader installation, follow the steps below.</source>
+ <translation>�ny�kleyici kurulumunu tamamlamak i�in asagidaki adimlari izleyin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1219"/>
+ <source>1. Eject/Unmount your Device.</source>
+ <translation>1. Aygiti �ikarin/Aygitin Baglantisini kesin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="413"/>
+ <source>2. Unplug USB and any Power adapters.</source>
+ <translation>2. USB ve g�� kablolarinin baglantisini kesin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="414"/>
+ <source>3. Hold POWER to turn the Device off.</source>
+ <translation>POWER (g��) d�gmesine basili tutarak aygiti kapatin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="415"/>
+ <source>4. Toggle the Battery switch on the Device.</source>
+ <translation>4. Aygitin pil anahtarini a�in.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="416"/>
+ <source>5. Hold POWER to boot the Rockbox bootloader.</source>
+ <translation>5. POWER (g��) d�gmesine basarak Rockbox �ny�kleyicisini baslatin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="471"/>
+ <source>2. Turn you Device OFF.</source>
+ <translation>2. Aygiti kapatin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="472"/>
+ <source>3. Insert Charger.</source>
+ <translation>3. Aygitin sarjini baglayin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="582"/>
+ <source>Firmware does not exist: %1</source>
+ <translation>Bellenim (firmware) mevcut degil: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="533"/>
+ <source>Original Firmware does not exist: %1</source>
+ <translation>Orijinal bellenim (firmware) mevcut degil: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="639"/>
+ <source>Searching for ipods</source>
+ <translation>iPod&apos;lar araniyor</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="645"/>
+ <source>No Ipods found</source>
+ <translation>Herhangi bir iPod bulunamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="651"/>
+ <source>Too many Ipods found</source>
+ <translation>�ok sayida iPod bulundu</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="781"/>
+ <source>could not open ipod</source>
+ <translation>iPod a�ilamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="996"/>
+ <source>could not read partitiontable</source>
+ <translation>b�l�mlendirme tablosu okunamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="795"/>
+ <source>No partition 0 on disk</source>
+ <translation>Diskte 0 b�l�m� mevcut degil</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="800"/>
+ <source>[INFO] Part Start Sector End Sector Size (MB) Type
+</source>
+ <translation>[BILGI] B�l�m Baslangi� sekt�r� Bitis sekt�r� Boyut (MB) T�r
+</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="806"/>
+ <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
+ <translation>[BILGI] %1 %2 %3 %4 %5 (%6)</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="823"/>
+ <source>Failed to read firmware directory</source>
+ <translation>Bellenim (firmware) dizini okunamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="829"/>
+ <source>Unknown version number in firmware (%1)</source>
+ <translation>Bilinmeyen bellenim (firmware) s�r�m numarasi (%1)</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="839"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
+See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
+ <translation>iPod&apos;unuz Macintosh&apos;a g�re bi�imlendirilmis. Rockbox&apos;in �alisabilmesi i�in iPod&apos;un FAT32 t�r�nde bi�imlendirilmis olmasi gerekmektedir.
+Ayrintili bilgi i�in: http://www.rockbox.org/wiki/IpodConversionToFAT32</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="847"/>
+ <source>Could not open Ipod in RW mode</source>
+ <translation>iPod RW modunda a�ilamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="751"/>
+ <source>No bootloader detected.</source>
+ <translation>Herhangi bir �ny�kleyici algilanamadi.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="966"/>
+ <source>Successfully removed Bootloader</source>
+ <translation>�ny�kleyici basariyla kaldirildi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="974"/>
+ <source>--delete-bootloader failed.</source>
+ <translation>--delete-bootloader (�ny�kleyici silme komutu) basarisiz.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1031"/>
+ <source>Successfully added Bootloader</source>
+ <translation>�ny�kleyici basariyla eklendi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1039"/>
+ <source>failed to add Bootloader</source>
+ <translation>�ny�kleyici ekleme islemi basarisiz</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="882"/>
+ <source>Searching for sansas</source>
+ <translation>Sansa&apos;lar araniyor</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="888"/>
+ <source>No Sansa found</source>
+ <translation>Herhangi bir Sansa bulunamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="894"/>
+ <source>Too many Sansas found</source>
+ <translation>�ok sayida Sansa bulundu</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="989"/>
+ <source>could not open Sansa</source>
+ <translation>Sansa a�ilamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1005"/>
+ <source>Disk is not a Sansa (%1), aborting.</source>
+ <translation>Disk bir Sansa degil (%1), islem durduruluyor.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1017"/>
+ <source>********************************************
+OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
+You must reinstall the original Sansa firmware before running
+sansapatcher for the first time.
+See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
+*********************************************
+</source>
+ <translation>********************************************
+ESKI BIR ROCKBOX KURULUMU ALGILANDI, ISLEM DURDURULUYOR.
+Sansa yamalayicisini �alistirmak i�in orijinal Sansa bellenimini (firmware)
+tekrar kurmaniz gerekmektedir.
+Ayrintili bilgi i�in: http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
+*********************************************
+</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1024"/>
+ <source>Could not open Sansa in RW mode</source>
+ <translation>Sansa RW modunda a�ilamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1055"/>
+ <source>Could not MD5Sum original firmware</source>
+ <translation>Orijinal bellenimin (firmware) MD5Sum dogrulamasi basarisiz</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1085"/>
+ <source>Could not detect firmware type</source>
+ <translation>Bellenim (firmware) t�r� algilanamadi</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1148"/>
+ <source>Error in descramble</source>
+ <translation>Sinyali ��z�mlemede hata</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1158"/>
+ <source>Error in patching</source>
+ <translation>Yamalama isleminde hata</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1168"/>
+ <source>Error in scramble</source>
+ <translation>Sinyali degistirmede hata</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1179"/>
+ <source>Error in checksumming</source>
+ <translation>Dogrulama basarisiz</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1220"/>
+ <source>2. Boot into the original Firmware.</source>
+ <translation>2. Orijinal bellenimle (firmware) baslatin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1221"/>
+ <source>3. Use the Firmware flash option in the Original Firmware.</source>
+ <translation>3. Orijinal bellenimdeki (firmware) firmware flash se�enegini kullanin.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1222"/>
+ <source>4. Reboot.</source>
+ <translation>4. Yeniden baslatin.</translation>
+ </message>
+</context>
+<context>
+ <name>BrowseDirtreeFrm</name>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="13"/>
+ <source>Find Directory</source>
+ <translation>Dizini Bul</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="19"/>
+ <source>Browse to the destination folder</source>
+ <translation>Hedef dizini se�in</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="47"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="57"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Iptal</translation>
+ </message>
+</context>
+<context>
+ <name>BrowseOFFrm</name>
+ <message>
+ <location filename="browseoffrm.ui" line="13"/>
+ <source>Find original Firmware</source>
+ <translation>Orijinal bellenimi (firmware) bul</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="19"/>
+ <source>Browse for a downloaded copy of the original firmware</source>
+ <translation>Indirilmis orijinal bellenimin (firmware) kopyasina g�z at</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="32"/>
+ <source>Browse</source>
+ <translation>G�z At</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="54"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="64"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Iptal</translation>
+ </message>
+</context>
+<context>
+ <name>Config</name>
+ <message>
+ <location filename="configure.cpp" line="56"/>
+ <source> (%1)</source>
+ <translation> (%1)</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="110"/>
+ <source>Language changed</source>
+ <translation>Dil degistirildi</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="111"/>
+ <source>You need to restart the application for the changed language to take effect.</source>
+ <translation>Se�ilen dilin etkin olmasi i�in uygulamayi yeniden baslatmalisiniz.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="220"/>
+ <source>Current cache size is %L1 kiB.</source>
+ <translation>Mevcut �nbellek boyutu %L1 KB.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="485"/>
+ <source>Select your device</source>
+ <translation>Aygitinizi se�in</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="569"/>
+ <source>Sansa e200 in MTP mode found!
+You need to change your player to MSC mode for installation. </source>
+ <translation>MTP modunda bir Sansa e200 bulundu!
+Kurulum i�in aygiti MSC moduna almalisiniz. </translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="572"/>
+ <source>H10 20GB in MTP mode found!
+You need to change your player to UMS mode for installation. </source>
+ <translation>MTP modunda bir H10 20GB bulundu!
+Kurulum i�in aygiti UMS moduna almalisiniz. </translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="573"/>
+ <source>Unless you changed this installation will fail!</source>
+ <translation>Degistirmezseniz kurulum ger�eklestirilemez!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="575"/>
+ <source>Fatal error</source>
+ <translation>�nemli hata</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="593"/>
+ <source>Autodetection</source>
+ <translation>Otomatik algilama</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="587"/>
+ <source>Could not detect a Mountpoint.
+Select your Mountpoint manually.</source>
+ <translation>Herhangi bir baglama noktasi algilanamadi.
+Baglama noktasini kendiniz se�iniz.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="595"/>
+ <source>Could not detect a device.
+Select your device and Mountpoint manually.</source>
+ <translation>Herhangi bir aygit algilanamadi.
+Aygitinizi ve baglama noktasini kendiniz se�iniz.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="603"/>
+ <source>Really delete cache?</source>
+ <translation>�nbellegi silmek istediginizden emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="606"/>
+ <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
+ <translation>�nbellegi silmeyi onayliyor musunuz? Bu se�enek ilgili dizindeki &lt;b&gt;t�m&lt;/b&gt; dosyalari silecek!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="612"/>
+ <source>Path wrong!</source>
+ <translation>Konum hatali!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="613"/>
+ <source>The cache path is invalid. Aborting.</source>
+ <translation>�nbellek konumu ge�ersiz. Islem durduruluyor.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="418"/>
+ <source>(system proxy is disabled)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ConfigForm</name>
+ <message>
+ <location filename="configurefrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>Yapilandirma</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="19"/>
+ <source>Configure Rockbox Utility</source>
+ <translation>Rockbox Aracini Yapilandir</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="30"/>
+ <source>&amp;Device</source>
+ <translation>&amp;Aygit</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="39"/>
+ <source>Select your device in the &amp;filesystem</source>
+ <translation>Aygitinizi &amp;dosya sisteminde se�in</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="286"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;G�z At</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="66"/>
+ <source>&amp;Select your audio player</source>
+ <translation>&amp;Ses oynaticinizi se�in</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="77"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="98"/>
+ <source>&amp;Autodetect</source>
+ <translation>&amp;Otomatik Algilama</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="109"/>
+ <source>&amp;Proxy</source>
+ <translation>&amp;Vekil Sunucu</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="118"/>
+ <source>&amp;No Proxy</source>
+ <translation>Vekil Sunucu &amp;Yok</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="128"/>
+ <source>Use S&amp;ystem values</source>
+ <translation>S&amp;istem degerlerini kullan</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="135"/>
+ <source>&amp;Manual Proxy settings</source>
+ <translation>Vekil Sunucu &amp;ayarlari</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="142"/>
+ <source>Proxy Values</source>
+ <translation>Vekil Sunucu Degerleri</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="148"/>
+ <source>&amp;Host:</source>
+ <translation>S&amp;unucu:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="165"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="188"/>
+ <source>&amp;Username</source>
+ <translation>&amp;Kullanici Adi</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="198"/>
+ <source>Pass&amp;word</source>
+ <translation>Pa&amp;rola</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="225"/>
+ <source>&amp;Language</source>
+ <translation>&amp;Dil</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="238"/>
+ <source>Cac&amp;he</source>
+ <translation>&amp;�nbellek</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="244"/>
+ <source>Download cache settings</source>
+ <translation>Indirme �nbellegi ayarlari</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="250"/>
+ <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
+ <translation>Rockbox Araci ag trafigini azaltmak i�in indirme �nbellegi kullanir. Bu �nbellegin konumunu degistirebilirsiniz ve �nbellegi �evrimdisi modu se�erek yerel depo gibi kullanabilirsiniz.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="260"/>
+ <source>Current cache size is %1</source>
+ <translation>Mevcut �nbellek boyutu %1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="269"/>
+ <source>P&amp;ath</source>
+ <translation>&amp;Konum</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="279"/>
+ <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
+ <translation>Ge�ersiz bir dizin girmek konumu sistemin ge�ici konumuna getirir.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="300"/>
+ <source>Disable local &amp;download cache</source>
+ <translation>Yerel &amp;indirme �nbellegini kapat</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="307"/>
+ <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
+ <translation>Bu se�enek, g�ncellemeler dahil t�m bilgilerin �nbellekten alinmasini saglar. Bu se�enegi sadece ag baglantisi olmadan kurulum yapmak i�in kullanin. Not: Daha sonra ag baglantisiyla ayni kurulumu yapmak i�in gerekli t�m dosyalari �nbellege indirmeniz gerekmektedir.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="310"/>
+ <source>O&amp;ffline mode</source>
+ <translation>&amp;�evrimdisi modu</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="345"/>
+ <source>Clean cache &amp;now</source>
+ <translation>�nbellegi &amp;temizle</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="356"/>
+ <source>&amp;TTS &amp;&amp; Encoder</source>
+ <translation>&amp;TTS &amp;&amp; Kodlayici</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="365"/>
+ <source>TTS Engine</source>
+ <translation>TTS Motoru</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>&amp;Select TTS profile</source>
+ <translation type="obsolete">TTS &amp;Profilini se�in</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>TTS executable</source>
+ <translation type="obsolete">TTS �alistirilabilir dosyasi</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>TTS Options</source>
+ <translation type="obsolete">TTS Se�enekleri</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>TTS Language</source>
+ <translation type="obsolete">TTS Dili</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="421"/>
+ <source>Encoder Engine</source>
+ <translation>Kodlayici Motoru</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Select &amp;encoder profile</source>
+ <translation type="obsolete">Kod&amp;layici profilini se�in</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Encoder executable</source>
+ <translation type="obsolete">Kodlayici �alistirilabilir dosyasi</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>B&amp;rowse</source>
+ <translation type="obsolete">&amp;G�z At</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Encoder options</source>
+ <translation type="obsolete">Kodlayici Se�enekleri</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="507"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="517"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Iptal</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="371"/>
+ <source>&amp;Select TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="384"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="447"/>
+ <source>Configuration invalid !</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="408"/>
+ <source>Configure &amp;TTS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="427"/>
+ <source>Select &amp;encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="440"/>
+ <source>Configure encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="464"/>
+ <source> Configure &amp;Enc</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Configure</name>
+ <message>
+ <location filename="configure.cpp" line="469"/>
+ <source>English</source>
+ <translation>T�rk�e</translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceFrm</name>
+ <message>
+ <location filename="createvoicefrm.ui" line="16"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="41"/>
+ <source>Select the Language you want to generate a voicefile for:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="51"/>
+ <source>Generation settings</source>
+ <translation type="unfinished">Olusturma ayarlari</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="57"/>
+ <source>Encoder profile:</source>
+ <translation type="unfinished">Kodlayici profili:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="64"/>
+ <source>TTS profile:</source>
+ <translation type="unfinished">TTS profili:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="77"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="128"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished">&amp;Y�kle</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Iptal</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="152"/>
+ <source>Wavtrim Threshold</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceWindow</name>
+ <message>
+ <location filename="createvoicewindow.cpp" line="96"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="98"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="106"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EncExesCfgFrm</name>
+ <message>
+ <location filename="encexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Yapilandirma</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="19"/>
+ <source>Configure Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="31"/>
+ <source>Path to Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;G�z At</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="52"/>
+ <source>Encoder options</source>
+ <translation type="unfinished">Kodlayici Se�enekleri</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Iptal</translation>
+ </message>
+</context>
+<context>
+ <name>Install</name>
+ <message>
+ <location filename="install.cpp" line="55"/>
+ <source>Mount point is wrong!</source>
+ <translation>Baglama noktasi hatali!</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="141"/>
+ <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
+ <translation>En g�ncel Rockbox insasidir. Mevcut insa bir degisiklik yapildiginda g�ncellenir. Son s�r�m r%1 (%2) dir.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="145"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Not:&lt;/b&gt; Bu se�enek her zaman yeni bir kopyayi indirir. &lt;b&gt;�nerilen y�ntem budur.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="148"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
+ <translation>&lt;b&gt;Not:&lt;/b&gt; Bu se�enek her zaman yeni bir kopyayi indirir.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="157"/>
+ <source>This is the last released version of Rockbox.</source>
+ <translation>Bu Rockbox&apos;in kararli en son s�r�m�d�r.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="163"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Not:&lt;/b&gt; Son s�r�m %1 dir. &lt;b&gt;�nerilen s�r�m budur.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="175"/>
+ <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
+ <translation>Mevcut kaynak koddan her g�n otomatik insa edilir. Genellikle son s�r�mden daha fazla �zellik barindirmasina ragmen daha az kararli olabilir. �zellikler s�rekli degismektedir.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="177"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
+ <translation>&lt;b&gt;Not:&lt;/b&gt; arsivlenen s�r�m r%1 (%2) dir.</translation>
+ </message>
+</context>
+<context>
+ <name>InstallFrm</name>
+ <message>
+ <location filename="installfrm.ui" line="16"/>
+ <source>Install Rockbox</source>
+ <translation>Rockbox&apos;u Y�kle</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="35"/>
+ <source>Please select the Rockbox version you want to install on your player:</source>
+ <translation>L�tfen aygitiniza kuracaginiz Rockbox s�r�m�n� se�in:</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="45"/>
+ <source>Version</source>
+ <translation>S�r�m</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="51"/>
+ <source>Rockbox &amp;stable</source>
+ <translation>Rockbox &amp;kararli s�r�m</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="58"/>
+ <source>&amp;Archived Build</source>
+ <translation>&amp;Arsivlenmis Insa</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="65"/>
+ <source>&amp;Current Build</source>
+ <translation>&amp;Mevcut Insa</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="75"/>
+ <source>Details</source>
+ <translation>Ayrintilar</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="81"/>
+ <source>Details about the selected version</source>
+ <translation>Se�ili s�r�m�n ayrintilari</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="91"/>
+ <source>Note</source>
+ <translation>Not</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="104"/>
+ <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
+ <translation>Rockbox Araci ag trafigini azaltmak i�in Rockbox kopyalarini yerel diskinizde saklar. Eger yerel kopya �alismiyorsa, yeni bir kopya indirmek i�in bu kutucugu isaretleyin.</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="107"/>
+ <source>&amp;Don&apos;t use locally cached copy</source>
+ <translation>Yerel &amp;kopyayi kullanma</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="142"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Y�kle</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="152"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Iptal</translation>
+ </message>
+</context>
+<context>
+ <name>InstallProgressFrm</name>
+ <message>
+ <location filename="installprogressfrm.ui" line="19"/>
+ <source>Progress</source>
+ <translation>Ilerleme</translation>
+ </message>
+ <message>
+ <location filename="installprogressfrm.ui" line="56"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;Durdur</translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkFrm</name>
+ <message>
+ <location filename="installtalkfrm.ui" line="16"/>
+ <source>Install Talk Files</source>
+ <translation>Konusma dosyalarini indir</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="35"/>
+ <source>Select the Folder to generate Talkfiles for.</source>
+ <translation>Konusma dosyalarinin yazilacagi dizini se�in.</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="45"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;G�z At</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="55"/>
+ <source>Generation settings</source>
+ <translation>Olusturma ayarlari</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="61"/>
+ <source>Encoder profile:</source>
+ <translation>Kodlayici profili:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="68"/>
+ <source>TTS profile:</source>
+ <translation>TTS profili:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="104"/>
+ <source>Generation options</source>
+ <translation>Olusturma se�enekleri</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="110"/>
+ <source>Overwrite Wavefiles</source>
+ <translation>Wave dosyalarinin �zerine yaz</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="120"/>
+ <source>Remove Wavefiles</source>
+ <translation>Wave dosyalarini kaldir</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="130"/>
+ <source>Run recursive</source>
+ <translation>�zyinelemeli �alistir</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="140"/>
+ <source>Strip Extensions</source>
+ <translation>Uzantilari kaldir</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="150"/>
+ <source>Overwrite Talkfiles</source>
+ <translation>Konusma dosyalarinin �zerine yaz</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="160"/>
+ <source>Generate .talk files for Folders</source>
+ <translation>Dizinler i�in .talk dosyalari �ret</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="170"/>
+ <source>Generate .talk files for Files</source>
+ <translation>Dosyalar i�in .talk dosyalari �ret</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="214"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Y�kle</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="224"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Iptal</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="81"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkWindow</name>
+ <message>
+ <location filename="installtalkwindow.cpp" line="84"/>
+ <source>The Folder to Talk is wrong!</source>
+ <translation>Konusma dizini hatali!</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Path to Encoder is wrong!</source>
+ <translation type="obsolete">Kodlayici konumu hatali!</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Path to TTS is wrong!</source>
+ <translation type="obsolete">TTS konumu hatali!</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">TTS Profili: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Invalid TTS profile!</source>
+ <translation type="obsolete">Ge�ersiz TTS Profili!</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">Kodlayici Profili: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="137529492"/>
+ <source>Invalid encoder profile!</source>
+ <translation type="obsolete">Ge�ersiz kodlayici profili!</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="119"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="121"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="129"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>PreviewFrm</name>
+ <message>
+ <location filename="previewfrm.ui" line="16"/>
+ <source>Preview</source>
+ <translation>�nizleme</translation>
+ </message>
+</context>
+<context>
+ <name>ProgressLoggerGui</name>
+ <message>
+ <location filename="progressloggergui.cpp" line="79"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="progressloggergui.cpp" line="89"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;Durdur</translation>
+ </message>
+</context>
+<context>
+ <name>RbSpeexCfgFrm</name>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Yapilandirma</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="19"/>
+ <source>Configure RbSpeex Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="38"/>
+ <source>Volume</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="45"/>
+ <source>Narrowband</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="68"/>
+ <source>Quality</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="85"/>
+ <source>Complexity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="115"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="125"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Iptal</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQt</name>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>File</source>
+ <translation>Dosya</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>Version</source>
+ <translation>S�r�m</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1014"/>
+ <source>Configuration error</source>
+ <translation>Yapilandirma hatasi</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="187"/>
+ <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
+ <translation>Yapilandirmaniz ge�ersiz. Bunun nedeni yeni bir Rockbox Araci kullanmaniz ya da aygitinizin yolunu degistirmeniz olabilir. Bu problemi d�zeltmeniz i�in simdi yapilandirma ekrani a�ilacaktir.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="210"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="305"/>
+ <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
+ <translation>&lt;b&gt;%1 %2&lt;/b&gt; Baglanti Noktasi: &lt;b&gt;%3&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="325"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (PDF)&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="327"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (HTML) -- tarayicida a�ilir&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="330"/>
+ <source>Select a device for a link to the correct manual</source>
+ <translation>Uygun kilavuz i�in aygit se�iniz</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="332"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz Genel A�iklamasi&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="695"/>
+ <source>Confirm Installation</source>
+ <translation>Kurulumu onayla</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="341"/>
+ <source>Do you really want to make a complete Installation?</source>
+ <translation>T�m bilesenleri y�klemek istediginize emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="393"/>
+ <source>Do you really want to make a small Installation?</source>
+ <translation>Mini kurulum yapmak istediginize emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="877"/>
+ <source>Mount point is wrong!</source>
+ <translation>Baglama noktasi hatali!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="533"/>
+ <source>Do you really want to install the Bootloader?</source>
+ <translation>�ny�kleyiciyi kurmak istediginizden emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="800"/>
+ <source>Could not get the bootloader info file!</source>
+ <translation>�ny�kleyici bilgi dosyasi alinamadi!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="568"/>
+ <source>Bootloader Installation</source>
+ <translation>�ny�kleyici Kurulumu</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="570"/>
+ <source>The bootloader is already installed and up to date.
+Do want to replace the current bootloader?</source>
+ <translation>�ny�kleyici daha �nce kurulmus ve g�ncel.
+Mevcut �ny�kleyiciyi degistirmek istiyor musunuz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="574"/>
+ <source>Bootloader installation skipped!</source>
+ <translation>�ny�kleyici kurulumu atlandi!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="593"/>
+ <source>Original Firmware Path is wrong!</source>
+ <translation>Orijinal bellenim (firmware) konumu hatali!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="606"/>
+ <source>Original Firmware selection Canceled!</source>
+ <translation>Orijinal bellenim (firmware) se�imi iptal edildi!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="621"/>
+ <source>Do you really want to install the fonts package?</source>
+ <translation>Yazi tipi paketini kurmak istediginizden emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="656"/>
+ <source>Do you really want to install the voice file?</source>
+ <translation>Seslendirme dosyasini y�klemek istediginizden emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Error</source>
+ <translation>Hata</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
+ <translation>Aygitinizda doom eklentisi bulunmamaktadir. Islem durduruluyor.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="696"/>
+ <source>Do you really want to install the game addon files?</source>
+ <translation>Oyun eklenti dosyalarini y�klemek istediginizden emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="782"/>
+ <source>Confirm Uninstallation</source>
+ <translation>Kaldirma islemini onayla</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="783"/>
+ <source>Do you really want to uninstall the Bootloader?</source>
+ <translation>�ny�kleyiciyi kaldirmak istediginizden emin misiniz?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="813"/>
+ <source>Confirm download</source>
+ <translation>Indirme islemini onayla</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="815"/>
+ <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
+ <translation>Kilavuzu indirmek istiyor musunuz? Aygitinizin bulundugu konuma kaydedilecektir.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="863"/>
+ <source>Confirm installation</source>
+ <translation>Kurulumu onayla</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="865"/>
+ <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
+ <translation>Rockbox Aracini aygitiniza kurmak istediginizden emin misiniz? Kurulum sonrasi aygitinizin diskinden �alistirabilirsiniz.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="873"/>
+ <source>Installing Rockbox Utility</source>
+ <translation>Rockbox Araci Kuruluyor</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="887"/>
+ <source>Error installing Rockbox Utility</source>
+ <translation>Rockbox Araci kurulumunda hata</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="891"/>
+ <source>Installing user configuration</source>
+ <translation>Kullanici yapilandirmasi y�kleniyor</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="893"/>
+ <source>Error installing user configuration</source>
+ <translation>Kullanici yapilandirmasi y�kleme isleminde hata</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="897"/>
+ <source>Successfully installed Rockbox Utility.</source>
+ <translation>Rockbox Araci basariyla kuruldu.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1016"/>
+ <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
+ <translation>Yapilandirmaniz ge�ersiz. Yapilandirma ekranina giderek se�ilen degerlerin dogrulugundan emin olun.</translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQtFrm</name>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="13"/>
+ <source>Rockbox Utility</source>
+ <translation>Rockbox Araci</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="78"/>
+ <source>Device</source>
+ <translation>Aygit</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="90"/>
+ <source>Selected device:</source>
+ <translation>Se�ili Aygit:</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="97"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;bilinmeyen&lt;/span&gt; Baglanti Noktasi: &lt;span style=&quot; font-weight:600;&quot;&gt;bilinmeyen&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="120"/>
+ <source>&amp;Change</source>
+ <translation>&amp;Degistir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="137"/>
+ <source>&amp;Quick Start</source>
+ <translation>&amp;Hizli Baslangi�</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="140"/>
+ <source>Welcome</source>
+ <translation>Hos Geldiniz</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="953"/>
+ <source>Complete Installation</source>
+ <translation>Tam Kurulum</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="162"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Tam Kurulum&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Bu se�enek, �ny�kleyiciyi, mevcut insayi ve ekstra paketleri kurar. Yeni kurulumlar i�in �nerilen y�ntemdir.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="961"/>
+ <source>Small Installation</source>
+ <translation>Mini Kurulum</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="192"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Mini Kurulum&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Bu se�enek, �ny�kleyiciyi ve mevcut insayi kurar. Ekstra paketleri kurmak istemiyorsaniz bu y�ntemi se�in.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="236"/>
+ <source>&amp;Installation</source>
+ <translation>&amp;Kurulum</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="239"/>
+ <source>Basic Rockbox installation</source>
+ <translation>Temel Rockbox kurulumu</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="969"/>
+ <source>Install Bootloader</source>
+ <translation>�ny�kleyiciyi Kur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="261"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;�ny�kleyiciyi Kur&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Ses oynaticinizda Rockbox&apos;in �alisabilmesi i�in �ncelikle �ny�kleyicinin kurulmasi gerekmektedir. Bu sadece Rockbox&apos;in ilk kurulumunda gereklidir.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="977"/>
+ <source>Install Rockbox</source>
+ <translation>Rockbox&apos;i Kur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="294"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Rockbox&apos;i Kur&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="340"/>
+ <source>&amp;Extras</source>
+ <translation>&amp;Ekstralar</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="343"/>
+ <source>Install extras for Rockbox</source>
+ <translation>Rockbox i�in ekstralari kur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="349"/>
+ <source>Install Fonts package</source>
+ <translation>Yazi Tipi Paketini Kur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="365"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Yazi Tipi Paketi&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Yazi tipi paketi sik�a kullanilan bir�ok yazi tipini barindirir. Bu paketi kurmaniz siddetle �nerilir.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="379"/>
+ <source>Install themes</source>
+ <translation>Temalari y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="395"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Temalari Kur&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos;in g�r�n�m� temalarla kisisellestirilebilir. Temalari se�ip y�kleyebilirsiniz.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="409"/>
+ <source>Install game files</source>
+ <translation>Oyun Dosyalarini Y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="425"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Oyun Dosyalarini Y�kle&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom temel bir wad dosyasina ihtiya� duyar.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="466"/>
+ <source>&amp;Accessibility</source>
+ <translation>&amp;Erisilebilirlik</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="469"/>
+ <source>Install accessibility add-ons</source>
+ <translation>Erisilebilirlik eklentilerini y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="475"/>
+ <source>Install Voice files</source>
+ <translation>Seslendirme Dosyalarini Y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="491"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Seslendirme Dosyasini Y�kle&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Seslendirme dosyasi kullanici aray�z�n�n seslendirilmesi i�in gereklidir. Seslendirme �zelligi �ntanimli olarak a�iktir, eger seslendirme dosyasini y�klerseniz, Rockbox&apos;iniz konusur.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="505"/>
+ <source>Install Talk files</source>
+ <translation>Konusma Dosyalarini Y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="521"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Konusma Dosyalarini Olustur&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Konusma dosyalari Rockbox&apos;in dosya ve dizin isimlerini seslendirmesi i�in gereklidir.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="587"/>
+ <source>&amp;Uninstallation</source>
+ <translation>&amp;Kaldirma</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1033"/>
+ <source>Uninstall Rockbox</source>
+ <translation>Rockbox&apos;i Kaldir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="596"/>
+ <source>Uninstall Bootloader</source>
+ <translation>�ny�kleyiciyi Kaldir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="612"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;�ny�kleyiciyi Kaldir&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;�ny�kleyiciyi kaldirdiktan sonra Rockbox&apos;i baslatamazsiniz.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="642"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Rockbox&apos;i Kaldir&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;�ny�kleyiciniz kaldirilmayacaktir, isterseniz daha sonra kendiniz kaldirabilirsiniz.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="689"/>
+ <source>&amp;Manual</source>
+ <translation>&amp;Kilavuz</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="692"/>
+ <source>View and download the manual</source>
+ <translation>Kilavuzu g�ster ve indir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="698"/>
+ <source>Read the manual</source>
+ <translation>Kilavuzu oku</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="704"/>
+ <source>PDF manual</source>
+ <translation>Kilavuz (PDF)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="717"/>
+ <source>HTML manual</source>
+ <translation>Kilavuz (HTML)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="733"/>
+ <source>Download the manual</source>
+ <translation>Kilavuzu indir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="741"/>
+ <source>&amp;PDF version</source>
+ <translation>&amp;PDF formati</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="748"/>
+ <source>&amp;HTML version (zip file)</source>
+ <translation>&amp;HTML formati (zip dosyasi)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="770"/>
+ <source>Down&amp;load</source>
+ <translation>&amp;Indir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="794"/>
+ <source>Inf&amp;o</source>
+ <translation>&amp;Bilgi</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="800"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Y�klenmis paketler.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Not&lt;/span&gt;: Paketleri kendiniz kurduysaniz, bu bilgiler dogru olmayabilir!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="815"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="837"/>
+ <source>&amp;File</source>
+ <translation>&amp;Dosya</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="930"/>
+ <source>&amp;About</source>
+ <translation>&amp;Hakkinda</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="855"/>
+ <source>Action&amp;s</source>
+ <translation>I&amp;slemler</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="859"/>
+ <source>Installation</source>
+ <translation>Kurulum</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="866"/>
+ <source>Quick Start</source>
+ <translation>Hizli Baslangi�</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="873"/>
+ <source>Extras</source>
+ <translation>Ekstralar</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="881"/>
+ <source>Accessibility</source>
+ <translation>Erisilebilirlik</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="889"/>
+ <source>Uninstallation</source>
+ <translation>Kaldirma</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="907"/>
+ <source>Empty local download cache</source>
+ <translation>Yerel indirme �nbellegi bos</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="912"/>
+ <source>Install Rockbox Utility on player</source>
+ <translation>Rockbox Aracini Kur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="917"/>
+ <source>&amp;Configure</source>
+ <translation>&amp;Yapilandir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="922"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;�ikis</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="925"/>
+ <source>Ctrl+Q</source>
+ <translation>Ctrl+Q</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="935"/>
+ <source>About &amp;Qt</source>
+ <translation>&amp;Qt Hakkinda</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="940"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Yardim</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="945"/>
+ <source>Info</source>
+ <translation>Bilgi</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="985"/>
+ <source>Fonts Package</source>
+ <translation>Yazi Tipi Paketi</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="993"/>
+ <source>Install Themes</source>
+ <translation>Temalari Y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1001"/>
+ <source>Install Game Files</source>
+ <translation>Oyun Dosyalarini Y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1009"/>
+ <source>Install Voice File</source>
+ <translation>Seslendirme Dosyasini Y�kle</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1017"/>
+ <source>Create Talk Files</source>
+ <translation>Konusma Dosyalari Olustur</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1025"/>
+ <source>Remove bootloader</source>
+ <translation>�ny�kleyiciyi Kaldir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1038"/>
+ <source>Read PDF manual</source>
+ <translation> Kilavuzu (PDF) oku</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1043"/>
+ <source>Read HTML manual</source>
+ <translation>Kilavuzu (HTML) oku</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1048"/>
+ <source>Download PDF manual</source>
+ <translation>Kilavuzu (PDF) indir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1053"/>
+ <source>Download HTML manual (zip)</source>
+ <translation>Kilavuzu (HTML zip) indir</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="558"/>
+ <source>Create Voice files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="574"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1061"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1064"/>
+ <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
+e File</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SapiCfgFrm</name>
+ <message>
+ <location filename="sapicfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Yapilandirma</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="62"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="25"/>
+ <source>Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="87"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="107"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="117"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Iptal</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="35"/>
+ <source>Voice</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="45"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExes</name>
+ <message>
+ <location filename="tts.cpp" line="123"/>
+ <source>TTS executable not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExesCfgFrm</name>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">Yapilandirma</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="31"/>
+ <source>Path to TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;G�z At</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="52"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;Tamam</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;Iptal</translation>
+ </message>
+</context>
+<context>
+ <name>TTSSapi</name>
+ <message>
+ <location filename="tts.cpp" line="274"/>
+ <source>Could not copy the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="tts.cpp" line="292"/>
+ <source>Could not start the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TalkFileCreator</name>
+ <message>
+ <location filename="talkfile.cpp" line="31"/>
+ <source>Starting Talk file generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="41"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="52"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="70"/>
+ <source>Talk file creation aborted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="132"/>
+ <source>Voicing of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="135"/>
+ <source>Voicing of %s failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="143"/>
+ <source>Encoding of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="146"/>
+ <source>Encoding of %1 failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="173"/>
+ <source>Finished creating Talk files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemeInstallFrm</name>
+ <message>
+ <location filename="installthemesfrm.ui" line="13"/>
+ <source>Theme Installation</source>
+ <translation>Tema Kurulumu</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="48"/>
+ <source>Selected Theme</source>
+ <translation>Se�ili Tema</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="73"/>
+ <source>Description</source>
+ <translation>A�iklama</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="83"/>
+ <source>Download size:</source>
+ <translation>Indirme boyutu:</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="108"/>
+ <source>&amp;Install</source>
+ <translation>&amp;Y�kle</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="118"/>
+ <source>Install &amp;All</source>
+ <translation>&amp;Hepsini Y�kle</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="128"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Iptal</translation>
+ </message>
+</context>
+<context>
+ <name>ThemesInstallWindow</name>
+ <message>
+ <location filename="installthemes.cpp" line="34"/>
+ <source>no theme selected</source>
+ <translation>tema se�ilmedi</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="117"/>
+ <source>Network error: %1.
+Please check your network and proxy settings.</source>
+ <translation>Ag hatasi: %1.
+L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="128"/>
+ <source>the following error occured:
+%1</source>
+ <translation>olusan hata:
+%1</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="133"/>
+ <source>done.</source>
+ <translation>tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="161"/>
+ <source>fetching details for %1</source>
+ <translation>%1 in bilgileri aliniyor</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="163"/>
+ <source>fetching preview ...</source>
+ <translation>�nizleme getiriliyor ...</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="171"/>
+ <source>Download size %L1 kiB</source>
+ <translation>Indirme boyutu %L1 KB</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="184"/>
+ <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;Sahibi:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>unknown</source>
+ <translation>bilinmiyor</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;S�r�m:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;A�iklama:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>no description</source>
+ <translation>a�iklama yok</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="222"/>
+ <source>no theme preview</source>
+ <translation>tema �nizlemesi yok</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="254"/>
+ <source>getting themes information ...</source>
+ <translation>temalarin bilgileri aliniyor ...</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="312"/>
+ <source>Mount point is wrong!</source>
+ <translation>Baglama noktasi hatali!</translation>
+ </message>
+</context>
+<context>
+ <name>UnZip</name>
+ <message>
+ <location filename="zip/unzip.cpp" line="245"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>ZIP islemi basariyla tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="246"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>zlib k�t�phanesi y�klenemedi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="247"/>
+ <source>zlib library error.</source>
+ <translation>zlib k�t�phane hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="248"/>
+ <source>Unable to create or open file.</source>
+ <translation>Dosya olusturulamadi veya a�ilamadi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="249"/>
+ <source>Partially corrupted archive. Some files might be extracted.</source>
+ <translation>Kismi bozuk arsiv. Bazi dosyalar a�ilmis olabilir.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="250"/>
+ <source>Corrupted archive.</source>
+ <translation>Bozuk arsiv.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="251"/>
+ <source>Wrong password.</source>
+ <translation>Yanlis parola.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="252"/>
+ <source>No archive has been created yet.</source>
+ <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="253"/>
+ <source>File or directory does not exist.</source>
+ <translation>Dosya veya dizin mevcut degil.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="254"/>
+ <source>File read error.</source>
+ <translation>Dosya okuma hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="255"/>
+ <source>File write error.</source>
+ <translation>Dosyaya yazma hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="256"/>
+ <source>File seek error.</source>
+ <translation>Dosya konumlandirma hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="257"/>
+ <source>Unable to create a directory.</source>
+ <translation>Dizin olusturulamadi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="258"/>
+ <source>Invalid device.</source>
+ <translation>Ge�ersiz aygit.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="259"/>
+ <source>Invalid or incompatible zip archive.</source>
+ <translation>Bozuk veya tamamlanmamis arsiv dosyasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="260"/>
+ <source>Inconsistent headers. Archive might be corrupted.</source>
+ <translation>Tutarsiz basliklar. Arsiv bozulmus olabilir.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="264"/>
+ <source>Unknown error.</source>
+ <translation>Bilinmeyen hata.</translation>
+ </message>
+</context>
+<context>
+ <name>UninstallFrm</name>
+ <message>
+ <location filename="uninstallfrm.ui" line="16"/>
+ <source>Uninstall Rockbox</source>
+ <translation>Rockbox&apos;i Kaldir</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="35"/>
+ <source>Please select the Uninstallation Methodl</source>
+ <translation>L�tfen kaldirma y�ntemini se�iniz</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="45"/>
+ <source>Uninstallation Method</source>
+ <translation>Kaldirma Y�ntemi</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="51"/>
+ <source>Complete Uninstallation</source>
+ <translation>T�m�n� Kaldir</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="58"/>
+ <source>Smart Uninstallation</source>
+ <translation>�zel </translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="68"/>
+ <source>Please select what you want to uninstall</source>
+ <translation>L�tfen neyi kaldirmak istediginizi se�iniz</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="78"/>
+ <source>Installed Parts</source>
+ <translation>Kurulmus Bilesenler</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="128"/>
+ <source>&amp;Uninstall</source>
+ <translation>&amp;Kaldir</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Iptal</translation>
+ </message>
+</context>
+<context>
+ <name>Uninstaller</name>
+ <message>
+ <location filename="uninstall.cpp" line="45"/>
+ <source>Starting Uninstallation</source>
+ <translation>Kaldirma Islemi Baslatiliyor</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="37"/>
+ <source>Finished Uninstallation</source>
+ <translation>Kaldirma Islemi Tamamlandi</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="51"/>
+ <source>Uninstalling </source>
+ <translation>Kaldiriliyor </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="81"/>
+ <source>Could not delete: </source>
+ <translation>Silinemedi: </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="108"/>
+ <source>Uninstallation finished</source>
+ <translation>Kaldirma islemi tamamlandi</translation>
+ </message>
+</context>
+<context>
+ <name>VoiceFileCreator</name>
+ <message>
+ <location filename="voicefile.cpp" line="41"/>
+ <source>Starting Voicefile generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="55"/>
+ <source>failed to open rockbox-info.txt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="124"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation type="unfinished">Indirme hatasi: HTTP %1 hatasi.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="128"/>
+ <source>Cached file used.</source>
+ <translation type="unfinished">�nbellekteki dosya kullanildi.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="130"/>
+ <source>Download error: %1</source>
+ <translation type="unfinished">Indirme hatasi: %1</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="134"/>
+ <source>Download finished.</source>
+ <translation type="unfinished">Indirme islemi tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="143"/>
+ <source>failed to open downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="156"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="167"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="209"/>
+ <source>The downloaded file was empty!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="246"/>
+ <source>creating </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="269"/>
+ <source>Error opening downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="277"/>
+ <source>Error opening output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="291"/>
+ <source>successfully created.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Zip</name>
+ <message>
+ <location filename="zip/zip.cpp" line="479"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>ZIP islemi basariyla tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="480"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>zlib k�t�phanesi y�klenemedi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="481"/>
+ <source>zlib library error.</source>
+ <translation>zlib k�t�phane hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="482"/>
+ <source>Unable to create or open file.</source>
+ <translation>Dosya olusturulamadi veya a�ilamadi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="483"/>
+ <source>No archive has been created yet.</source>
+ <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="484"/>
+ <source>File or directory does not exist.</source>
+ <translation>Dosya veya dizin mevcut degil.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="485"/>
+ <source>File read error.</source>
+ <translation>Dosya okuma hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="486"/>
+ <source>File write error.</source>
+ <translation>Dosyaya yazma hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="487"/>
+ <source>File seek error.</source>
+ <translation>Dosya konumlandirma hatasi.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="491"/>
+ <source>Unknown error.</source>
+ <translation>Bilinmeyen hata.</translation>
+ </message>
+</context>
+<context>
+ <name>ZipInstaller</name>
+ <message>
+ <location filename="installzip.cpp" line="54"/>
+ <source>done.</source>
+ <translation>tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="62"/>
+ <source>Installation finished successfully.</source>
+ <translation>Y�kleme basariyla tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="77"/>
+ <source>Downloading file %1.%2</source>
+ <translation>Dosya indiriliyor %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="126"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>Indirme hatasi: HTTP %1 hatasi.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="131"/>
+ <source>Cached file used.</source>
+ <translation>�nbellekteki dosya kullanildi.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="133"/>
+ <source>Download error: %1</source>
+ <translation>Indirme hatasi: %1</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="138"/>
+ <source>Download finished.</source>
+ <translation>Indirme islemi tamamlandi.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="144"/>
+ <source>Extracting file.</source>
+ <translation>Dosya �ikariliyor.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="153"/>
+ <source>Opening archive failed: %1.</source>
+ <translation>Arsiv a�ilamadi: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="162"/>
+ <source>Extracting failed: %1.</source>
+ <translation>Arsivden �ikarma islemi basarisiz: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="172"/>
+ <source>Installing file.</source>
+ <translation>Dosya y�kleniyor.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="183"/>
+ <source>Installing file failed.</source>
+ <translation>Dosya y�kleme islemi basarisiz.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="193"/>
+ <source>Creating installation log</source>
+ <translation>Kurulum kayit dosyasi yaratiliyor</translation>
+ </message>
+</context>
+<context>
+ <name>aboutBox</name>
+ <message>
+ <location filename="aboutbox.ui" line="13"/>
+ <source>About Rockbox Utility</source>
+ <translation>Rockbox Araci Hakkinda</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="34"/>
+ <source>The Rockbox Utility</source>
+ <translation>Rockbox Araci</translation>
+ </message>
+ <message encoding="UTF-8">
+ <location filename="" line="137529492"/>
+ <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
+
+� 2005 - 2007 The Rockbox Team.
+Released under the GNU General Public License v2.</source>
+ <translation type="obsolete">Rockbox a�ik kaynak ses oynaticisi bellenimi (firmware) y�kleme araci.
+
+� 2005 - 2007 Rockbox Takimi.
+GNU Genel Kamu Lisansi v2 altinda dagitilmaktadir.</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="72"/>
+ <source>http://www.rockbox.org</source>
+ <translation>http://www.rockbox.org</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="95"/>
+ <source>&amp;Credits</source>
+ <translation>&amp;Hazirlayanlar</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="124"/>
+ <source>&amp;License</source>
+ <translation>&amp;Lisans</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="157"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;Tamam</translation>
+ </message>
+ <message encoding="UTF-8">
+ <location filename="aboutbox.ui" line="56"/>
+ <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
+
+© 2005 - 2007 The Rockbox Team.
+Released under the GNU General Public License v2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/rbutil/rbutilqt/rbutil_zh_CN.ts b/rbutil/rbutilqt/rbutil_zh_CN.ts
index 6b617b8d73..165d897b03 100644
--- a/rbutil/rbutilqt/rbutil_zh_CN.ts
+++ b/rbutil/rbutilqt/rbutil_zh_CN.ts
@@ -1,2626 +1,2626 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1">
-<context>
- <name>BootloaderInstaller</name>
- <message>
- <location filename="installbootloader.cpp" line="32"/>
- <source>Starting bootloader installation</source>
- <translation>开始安装启动程式</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="122"/>
- <source>unsupported install Method</source>
- <translation>不支持的安装方式</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="85"/>
- <source>Starting bootloader uninstallation</source>
- <translation>开始卸载启动程式</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="116"/>
- <source>No uninstallation possible</source>
- <translation>不可以卸载</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="151"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>下载错误: 接到 HTTP 错误 %1. </translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="157"/>
- <source>Download error: %1</source>
- <translation>下载错误: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="162"/>
- <source>Download finished.</source>
- <translation>完成下载.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="224"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="237"/>
- <source>Creating installation log</source>
- <translation>正在添加安装日志</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="253"/>
- <source>Editing installation log</source>
- <translation>正在写入安装日志</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1093"/>
- <source>Downloading file %1.%2</source>
- <translation>正在下载文件 %1.%2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="323"/>
- <source>Could not find the Original Firmware at: %1</source>
- <translation>找不到厂家固件在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="545"/>
- <source>Could not remove the Firmware at: %1</source>
- <translation>删除不了固件在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="554"/>
- <source>Could not copy the Firmware from: %1 to %2</source>
- <translation>不能复制固件从 %1 到 %2 </translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="360"/>
- <source>Finishing bootloader install</source>
- <translation>启动程式安装完成</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="370"/>
- <source>Could not find the Firmware at: %1</source>
- <translation>找不到固件在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="596"/>
- <source>Could not rename: %1 to %2</source>
- <translation>不能把 %1 重命名为 %2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1207"/>
- <source>Could not copy: %1 to %2</source>
- <translation>不能复制 %1 到 %2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1217"/>
- <source>Bootloader install finished successfully.</source>
- <translation>成功安装启动程序</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1218"/>
- <source>To finish the Bootloader installation, follow the steps below.</source>
- <translation>请按照以下步骤完成启动程序的安装</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1219"/>
- <source>1. Eject/Unmount your Device.</source>
- <translation>1. 弹出/退出你的播放机.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="413"/>
- <source>2. Unplug USB and any Power adapters.</source>
- <translation>2. 拔出USB接线, 断离所有冲电设备.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="414"/>
- <source>3. Hold POWER to turn the Device off.</source>
- <translation>3. 按POWER关机.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="415"/>
- <source>4. Toggle the Battery switch on the Device.</source>
- <translation>4. 先关再开电池开关.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="416"/>
- <source>5. Hold POWER to boot the Rockbox bootloader.</source>
- <translation>5. 按POWER启动 Rockbox 的启动程序.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="471"/>
- <source>2. Turn you Device OFF.</source>
- <translation>2. 关闭你的播放器.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="472"/>
- <source>3. Insert Charger.</source>
- <translation>3. 插入充电器.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="582"/>
- <source>Firmware does not exist: %1</source>
- <translation>固件不存在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="639"/>
- <source>Searching for ipods</source>
- <translation>正在寻找 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="645"/>
- <source>No Ipods found</source>
- <translation>找不到 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="651"/>
- <source>Too many Ipods found</source>
- <translation>找到太多的 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="781"/>
- <source>could not open ipod</source>
- <translation>打开不了 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="996"/>
- <source>could not read partitiontable</source>
- <translation>读不了分区表</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="795"/>
- <source>No partition 0 on disk</source>
- <translation>硬盘上没有0分区</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>[INFO] Part Start Sector End Sector Size (MB) Type</source>
- <translation type="obsolete">[INFO] 分区 开始磁区 结算磁区 大小 (MB) 类别</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="806"/>
- <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
- <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="823"/>
- <source>Failed to read firmware directory</source>
- <translation>读不了固件文件夹</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="829"/>
- <source>Unknown version number in firmware (%1)</source>
- <translation>固件版本不明 (%1)</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
- <translation type="obsolete">警告: 这是苹果格式的iPod, Rockbox 不能在这运行. 请转换成 Windows 格式的iPod.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="847"/>
- <source>Could not open Ipod in RW mode</source>
- <translation>不能以读写方式打开iPod</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="751"/>
- <source>No bootloader detected.</source>
- <translation>找不到启动程序.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="966"/>
- <source>Successfully removed Bootloader</source>
- <translation>成功删除启动程序</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="974"/>
- <source>--delete-bootloader failed.</source>
- <translation>--删除启动程序失败.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1031"/>
- <source>Successfully added Bootloader</source>
- <translation>成功添加启动程序</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1039"/>
- <source>failed to add Bootloader</source>
- <translation>添加启动程序失败</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="882"/>
- <source>Searching for sansas</source>
- <translation>正在寻找 sansas</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="888"/>
- <source>No Sansa found</source>
- <translation>找不到 Sansa</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="894"/>
- <source>Too many Sansas found</source>
- <translation>找到了太多的 sansas</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="989"/>
- <source>could not open Sansa</source>
- <translation>打开不了 sansa</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Disk is not an E200 (%1), aborting.</source>
- <translation type="obsolete">硬盘不是 E200 (%1), 正在取消...</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1017"/>
- <source>********************************************
-OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
-You must reinstall the original Sansa firmware before running
-sansapatcher for the first time.
-See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
-*********************************************
-</source>
- <translation>********************************************
-找到了旧 ROCKBOX, 正在取消...
-你必须重新安装厂家固件才可以第一次
-运行 sansapatcher
-参考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文)
-*********************************************
-</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1024"/>
- <source>Could not open Sansa in RW mode</source>
- <translation>不能以读写方式打开 sansa</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1055"/>
- <source>Could not MD5Sum original firmware</source>
- <translation>不能验证厂家固件的MD5sum</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1085"/>
- <source>Could not detect firmware type</source>
- <translation>找不到固件类别</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1148"/>
- <source>Error in descramble</source>
- <translation>descramble 错误</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1158"/>
- <source>Error in patching</source>
- <translation>补丁过程错误</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1168"/>
- <source>Error in scramble</source>
- <translation>scramble 错误</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1179"/>
- <source>Error in checksumming</source>
- <translation>验证错误</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1220"/>
- <source>2. Boot into the original Firmware.</source>
- <translation>2. 启动到厂家固件.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1221"/>
- <source>3. Use the Firmware flash option in the Original Firmware.</source>
- <translation>3. 在厂家固件里选择快闪记忆体.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1222"/>
- <source>4. Reboot.</source>
- <translation>4. 重新开机.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="533"/>
- <source>Original Firmware does not exist: %1</source>
- <translation>厂家固件不存在 : %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="800"/>
- <source>[INFO] Part Start Sector End Sector Size (MB) Type
-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="839"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
-See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1005"/>
- <source>Disk is not a Sansa (%1), aborting.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>BrowseDirtreeFrm</name>
- <message>
- <location filename="browsedirtreefrm.ui" line="13"/>
- <source>Find Directory</source>
- <translation>寻找文件夹</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="19"/>
- <source>Browse to the destination folder</source>
- <translation>浏览目的地文件夹</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="47"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="57"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>BrowseOFFrm</name>
- <message>
- <location filename="browseoffrm.ui" line="13"/>
- <source>Find original Firmware</source>
- <translation>寻找厂家固件</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="19"/>
- <source>Browse for a downloaded copy of the original firmware</source>
- <translation>寻找已下载的厂家固件</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="32"/>
- <source>Browse</source>
- <translation>浏览</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="54"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="64"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>Config</name>
- <message>
- <location filename="configure.cpp" line="110"/>
- <source>Language changed</source>
- <translation>语言已改变</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="111"/>
- <source>You need to restart the application for the changed language to take effect.</source>
- <translation>你需要重新开启本软件才能使用新语言.</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Current cache size is %1 kiB.</source>
- <translation type="obsolete">现在缓冲的大小是 %1 kiB.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="593"/>
- <source>Autodetection</source>
- <translation>自动识别</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="587"/>
- <source>Could not detect a Mountpoint.
-Select your Mountpoint manually.</source>
- <translation>找不到 mountpoint
-请手动选择你的 mountpoing.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="595"/>
- <source>Could not detect a device.
-Select your device and Mountpoint manually.</source>
- <translation>不能识别你的播放器
-请手动选择.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="603"/>
- <source>Really delete cache?</source>
- <translation>你肯定要删除缓冲吗?</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="606"/>
- <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
- <translation>你真的肯定要删除缓冲吗? 请确认你的设定是正确的因为这会删除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夹 !</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="612"/>
- <source>Path wrong!</source>
- <translation>路径错误!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="613"/>
- <source>The cache path is invalid. Aborting.</source>
- <translation>缓冲路径错误. 正在取消.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="56"/>
- <source> (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="220"/>
- <source>Current cache size is %L1 kiB.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="418"/>
- <source>(system proxy is disabled)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="485"/>
- <source>Select your device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="569"/>
- <source>Sansa e200 in MTP mode found!
-You need to change your player to MSC mode for installation. </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="572"/>
- <source>H10 20GB in MTP mode found!
-You need to change your player to UMS mode for installation. </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="573"/>
- <source>Unless you changed this installation will fail!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="575"/>
- <source>Fatal error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ConfigForm</name>
- <message>
- <location filename="configurefrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>设置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="19"/>
- <source>Configure Rockbox Utility</source>
- <translation>设置 Rockbox 安装程序</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="30"/>
- <source>&amp;Device</source>
- <translation>&amp;播放器</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="39"/>
- <source>Select your device in the &amp;filesystem</source>
- <translation>请选择你的播放器在你的 &amp;文件系统</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="286"/>
- <source>&amp;Browse</source>
- <translation>&amp;浏览</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="66"/>
- <source>&amp;Select your audio player</source>
- <translation>&amp;选择你的音乐播放器</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="77"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="98"/>
- <source>&amp;Autodetect</source>
- <translation>自动识别(&amp;A)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="109"/>
- <source>&amp;Proxy</source>
- <translation>网络代理服务(&amp;P)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="118"/>
- <source>&amp;No Proxy</source>
- <translation>没有网络代理服务(&amp;N)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="128"/>
- <source>Use S&amp;ystem values</source>
- <translation>使用系统值(&amp;S)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="135"/>
- <source>&amp;Manual Proxy settings</source>
- <translation>手动设置代理服务(&amp;M)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="142"/>
- <source>Proxy Values</source>
- <translation>代理服务值</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="148"/>
- <source>&amp;Host:</source>
- <translation>&amp;主机:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="165"/>
- <source>&amp;Port:</source>
- <translation>&amp;接口:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="188"/>
- <source>&amp;Username</source>
- <translation>&amp;用户名</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="198"/>
- <source>Pass&amp;word</source>
- <translation>&amp;密码</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="225"/>
- <source>&amp;Language</source>
- <translation>&amp;语言</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="238"/>
- <source>Cac&amp;he</source>
- <translation>&amp;缓冲</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="244"/>
- <source>Download cache settings</source>
- <translation>下载缓冲设置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="250"/>
- <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
- <translation>Rockbox 安装程序使用本机缓冲来保存网络资料. 你可以改变这个缓冲的路径. 启动下线模式后, 你还可以用路径来保存文件.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="260"/>
- <source>Current cache size is %1</source>
- <translation>现在缓冲大小是 %1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="269"/>
- <source>P&amp;ath</source>
- <translation>&amp;路径</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="279"/>
- <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
- <translation>输入无效地址会重设到系统临时文件夹.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="300"/>
- <source>Disable local &amp;download cache</source>
- <translation>&amp;不使用本机缓冲</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="307"/>
- <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
- <translation>所有资料, 包括更新资料, 将会从本机缓冲里拿取. 不要选择此模式如果你不需要下线安装. 注意: 你需要先用网络做至少一次安装才可以下载到需要的文件.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="310"/>
- <source>O&amp;ffline mode</source>
- <translation>&amp;下线安装</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="345"/>
- <source>Clean cache &amp;now</source>
- <translation>&amp;现在清除缓冲文件夹</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="356"/>
- <source>&amp;TTS &amp;&amp; Encoder</source>
- <translation>&amp;TTS &amp;&amp; 信号转换器</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="365"/>
- <source>TTS Engine</source>
- <translation>TTS 引擎</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>&amp;Select TTS profile</source>
- <translation type="obsolete">&amp; 选择 TTS 个人设置</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>TTS executable</source>
- <translation type="obsolete">TTS 可执行文件</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>TTS Options</source>
- <translation type="obsolete">TTS 设置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="421"/>
- <source>Encoder Engine</source>
- <translation>信号转换器引擎</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Select &amp;encoder profile</source>
- <translation type="obsolete">&amp;选择引擎设置</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Encoder executable</source>
- <translation type="obsolete">引擎可执行文件</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>B&amp;rowse</source>
- <translation type="obsolete">&amp;浏览</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Encoder options</source>
- <translation type="obsolete">信号转换器设置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="507"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="517"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="371"/>
- <source>&amp;Select TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="384"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="447"/>
- <source>Configuration invalid !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="408"/>
- <source>Configure &amp;TTS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="427"/>
- <source>Select &amp;encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="440"/>
- <source>Configure encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="464"/>
- <source> Configure &amp;Enc</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Configure</name>
- <message>
- <location filename="configure.cpp" line="469"/>
- <source>English</source>
- <translation type="unfinished">中文 (Chinese Simplified)</translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceFrm</name>
- <message>
- <location filename="createvoicefrm.ui" line="16"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="41"/>
- <source>Select the Language you want to generate a voicefile for:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="51"/>
- <source>Generation settings</source>
- <translation type="unfinished">语音合成设置</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="57"/>
- <source>Encoder profile:</source>
- <translation type="unfinished">转化器设置:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="64"/>
- <source>TTS profile:</source>
- <translation type="unfinished">TTS 设置:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="77"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="128"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="152"/>
- <source>Wavtrim Threshold</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceWindow</name>
- <message>
- <location filename="createvoicewindow.cpp" line="96"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="98"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="106"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>EncExesCfgFrm</name>
- <message>
- <location filename="encexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">设置</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="19"/>
- <source>Configure Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="31"/>
- <source>Path to Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;浏览</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="52"/>
- <source>Encoder options</source>
- <translation type="unfinished">信号转换器设置</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>Install</name>
- <message>
- <location filename="install.cpp" line="55"/>
- <source>Mount point is wrong!</source>
- <translation>Mountpoint 错误!</translation>
- </message>
- <message>
- <location filename="install.cpp" line="141"/>
- <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
- <translation>这是最新的Rockbox版本. 每一个更改后这版本就会更新. 最新的版本是 r%1 (%2).</translation>
- </message>
- <message>
- <location filename="install.cpp" line="145"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="148"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. </translation>
- </message>
- <message>
- <location filename="install.cpp" line="157"/>
- <source>This is the last released version of Rockbox.</source>
- <translation>这是最新的Rockbox版本.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="163"/>
- <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;这是建议使用的版本.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>These are automatically built each day from the current development source code. This generally has more features than the last release but may be much less stable. Features may change regularly.</source>
- <translation type="obsolete">这是每天自动更新的版本. 这一般来说比发行版本要多功能, 但可能没有那么稳定. 功能可能会随时改变.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="177"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 存档的版本是 r%1 (%2).</translation>
- </message>
- <message>
- <location filename="install.cpp" line="175"/>
- <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallFrm</name>
- <message>
- <location filename="installfrm.ui" line="16"/>
- <source>Install Rockbox</source>
- <translation>安装 Rockbox</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="35"/>
- <source>Please select the Rockbox version you want to install on your player:</source>
- <translation>请选择你要安装在你的播放器上的版本:</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="45"/>
- <source>Version</source>
- <translation>版本</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="51"/>
- <source>Rockbox &amp;stable</source>
- <translation>&amp;稳定的 Rockbox</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="58"/>
- <source>&amp;Archived Build</source>
- <translation>&amp;存档的版本</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="65"/>
- <source>&amp;Current Build</source>
- <translation>&amp;最新的版本</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="75"/>
- <source>Details</source>
- <translation>细节</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="81"/>
- <source>Details about the selected version</source>
- <translation>被选择版本的细节</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="91"/>
- <source>Note</source>
- <translation>注意</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="104"/>
- <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
- <translation>Rockbox安装程序储存以前下载的文件在你的硬盘上以减少网络交通. 如果你的Rockbox不能使用, 选择这项去下载一份新的文件</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="107"/>
- <source>&amp;Don&apos;t use locally cached copy</source>
- <translation>&amp;不使用硬盘上缓冲的文件</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="152"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="142"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallProgressFrm</name>
- <message>
- <location filename="installprogressfrm.ui" line="19"/>
- <source>Progress</source>
- <translation>进程</translation>
- </message>
- <message>
- <location filename="installprogressfrm.ui" line="56"/>
- <source>&amp;Abort</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>InstallTalkFrm</name>
- <message>
- <location filename="installtalkfrm.ui" line="16"/>
- <source>Install Talk Files</source>
- <translation>安装说话文件</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="35"/>
- <source>Select the Folder to generate Talkfiles for.</source>
- <translation>选择需要安装说话文件的文件夹</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="45"/>
- <source>&amp;Browse</source>
- <translation>&amp;浏览</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="55"/>
- <source>Generation settings</source>
- <translation>语音合成设置</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="61"/>
- <source>Encoder profile:</source>
- <translation>转化器设置:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="68"/>
- <source>TTS profile:</source>
- <translation>TTS 设置:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="104"/>
- <source>Generation options</source>
- <translation>语音合成设置</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="110"/>
- <source>Overwrite Wavefiles</source>
- <translation>覆盖已存在的 Wavefiles</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="120"/>
- <source>Remove Wavefiles</source>
- <translation>删除 Wavefiles</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="130"/>
- <source>Run recursive</source>
- <translation>递归寻找</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="140"/>
- <source>Strip Extensions</source>
- <translation>除去后缀</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="150"/>
- <source>Overwrite Talkfiles</source>
- <translation>删除语音文件</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="224"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="81"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="160"/>
- <source>Generate .talk files for Folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="170"/>
- <source>Generate .talk files for Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="214"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallTalkWindow</name>
- <message>
- <location filename="installtalkwindow.cpp" line="84"/>
- <source>The Folder to Talk is wrong!</source>
- <translation>要支持语音的文件夹错误!</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Path to Encoder is wrong!</source>
- <translation type="obsolete">语音生成转换器的路径错误!</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Path to TTS is wrong!</source>
- <translation type="obsolete">TTS引擎的路径错误!</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">TTS 设置: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Invalid TTS profile!</source>
- <translation type="obsolete">无效TTS设置 !</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">转换器设置: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Invalid encoder profile!</source>
- <translation type="obsolete">无效转化器设置!</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="119"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="121"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="129"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>PreviewFrm</name>
- <message>
- <location filename="previewfrm.ui" line="16"/>
- <source>Preview</source>
- <translation>预览</translation>
- </message>
-</context>
-<context>
- <name>ProgressLoggerGui</name>
- <message>
- <location filename="progressloggergui.cpp" line="79"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="progressloggergui.cpp" line="89"/>
- <source>&amp;Abort</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>RbSpeexCfgFrm</name>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">设置</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="19"/>
- <source>Configure RbSpeex Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="38"/>
- <source>Volume</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="45"/>
- <source>Narrowband</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="68"/>
- <source>Quality</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="85"/>
- <source>Complexity</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="115"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="125"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="95"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RbUtilQt</name>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>File</source>
- <translation>文件</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>Version</source>
- <translation>版本</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="210"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="305"/>
- <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
- <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="325"/>
- <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用户手册(英文)&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="327"/>
- <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用户手册(英文,在浏览器打开)&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="330"/>
- <source>Select a device for a link to the correct manual</source>
- <translation>请选择你的播放器</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="332"/>
- <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;用户手册总观&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="695"/>
- <source>Confirm Installation</source>
- <translation>确认安装</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="341"/>
- <source>Do you really want to make a complete Installation?</source>
- <translation>你确认要一个完整的安装?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="877"/>
- <source>Mount point is wrong!</source>
- <translation>Mountpoint 错误!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="393"/>
- <source>Do you really want to make a small Installation?</source>
- <translation>你确认要一个智能的安装?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="533"/>
- <source>Do you really want to install the Bootloader?</source>
- <translation>你确认要安装启动程序?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="800"/>
- <source>Could not get the bootloader info file!</source>
- <translation>找不到启动程序的资料!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="568"/>
- <source>Bootloader Installation</source>
- <translation>安装启动程序</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>It seem your Bootloader is already uptodate.
-Do really want to install it?</source>
- <translation type="obsolete">你的启动程序好象已经是最新版本.
-你确认要再安装?</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Bootloader installation Canceled!</source>
- <translation type="obsolete">启动程序安装被取消!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="593"/>
- <source>Original Firmware Path is wrong!</source>
- <translation>厂家固件路径错误!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="606"/>
- <source>Original Firmware selection Canceled!</source>
- <translation>厂家固件安装被取消!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="621"/>
- <source>Do you really want to install the fonts package?</source>
- <translation>你确认要安装字体包裹吗?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="656"/>
- <source>Do you really want to install the voice file?</source>
- <translation>你确认要安装语音文件吗?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="696"/>
- <source>Do you really want to install the game addon files?</source>
- <translation>你确认要安装游戏附件吗?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="782"/>
- <source>Confirm Uninstallation</source>
- <translation>确认安装</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="783"/>
- <source>Do you really want to uninstall the Bootloader?</source>
- <translation>你确认要卸载启动程序吗?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="813"/>
- <source>Confirm download</source>
- <translation>确认下载</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="815"/>
- <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
- <translation>你确认要下载用户手册吗? 用户手册将会被放在你播放器的主目录里.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="863"/>
- <source>Confirm installation</source>
- <translation>确认安装</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="865"/>
- <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
- <translation>你确认要安装Rockbox安装程序到你的播放器上吗? 安装后你可以从你播放器上运行此程序.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="873"/>
- <source>Installing Rockbox Utility</source>
- <translation>安装 Rockbox安装程序</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="887"/>
- <source>Error installing Rockbox Utility</source>
- <translation>安装 Rockbox安装程序错误!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="891"/>
- <source>Installing user configuration</source>
- <translation>安装用户设置</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="893"/>
- <source>Error installing user configuration</source>
- <translation>安装用户设置错误</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="897"/>
- <source>Successfully installed Rockbox Utility.</source>
- <translation>成功安装 Rockbox安装程序.</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Bootloader installation Skipped!</source>
- <translation type="obsolete">启动程序安装过程被跳过!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1014"/>
- <source>Configuration error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="187"/>
- <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="570"/>
- <source>The bootloader is already installed and up to date.
-Do want to replace the current bootloader?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="574"/>
- <source>Bootloader installation skipped!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1016"/>
- <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RbUtilQtFrm</name>
- <message>
- <location filename="rbutilqtfrm.ui" line="13"/>
- <source>Rockbox Utility</source>
- <translation>Rockbox 安装程序</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="78"/>
- <source>Device</source>
- <translation>播放器</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="90"/>
- <source>Selected device:</source>
- <translation>选择的播放器:</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="97"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;不明&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="120"/>
- <source>&amp;Change</source>
- <translation>&amp;更改</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="137"/>
- <source>&amp;Quick Start</source>
- <translation>&amp;快速开始</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="140"/>
- <source>Welcome</source>
- <translation>欢迎</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>...</source>
- <translation type="obsolete">...</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="162"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;完整安装&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;这将安装启动程序, 最新版本和附加功能. 如果这是你第一次安装, 这是建议的安装.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="192"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;最小安装&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;这将安装启动程序和最新版本.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="236"/>
- <source>&amp;Installation</source>
- <translation>&amp;安装</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="239"/>
- <source>Basic Rockbox installation</source>
- <translation>基本Rockbox安装</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="969"/>
- <source>Install Bootloader</source>
- <translation>安装启动程序</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="261"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装启动程序&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;ROCKBOX 可能需要安装启动程序后才可以运行.你只需要安装启动程序如果这是你的第一次安装.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="977"/>
- <source>Install Rockbox</source>
- <translation>安装 Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="294"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装 Rockbox&lt;/span&gt; 在你的音乐播放器里&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="340"/>
- <source>&amp;Extras</source>
- <translation>&amp;附加功能</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="343"/>
- <source>Install extras for Rockbox</source>
- <translation>安装附加功能</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="349"/>
- <source>Install Fonts package</source>
- <translation>安装字体包裹</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="365"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;字体包裹&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;字体包裹里包含一些常用的字体. 强烈建议安装此包裹.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="379"/>
- <source>Install themes</source>
- <translation>安装主题</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="395"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装主题&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox 的外观可以被个人化. 你可以选择并安装几个官方认证的主题. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="409"/>
- <source>Install game files</source>
- <translation>安装游戏文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="425"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装游戏文件&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom游戏需要wad文件才可以运行.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="466"/>
- <source>&amp;Accessibility</source>
- <translation>&amp;辅助</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="469"/>
- <source>Install accessibility add-ons</source>
- <translation>安装辅助功能</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="475"/>
- <source>Install Voice files</source>
- <translation>安装语音文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="491"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装语音文件&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;如果你需要Rockbox用语音说出用户界面, 你需要安装语音文件. 语音界面将会被自动开启,所以你安装语音文件后Rockbox就会对你说话.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="505"/>
- <source>Install Talk files</source>
- <translation>安装说话文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="521"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;建立说话文件&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;如果你需要Rockbox说出你文件和文件夹的名称, 你要安装说话文件. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="587"/>
- <source>&amp;Uninstallation</source>
- <translation>&amp;卸载</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1033"/>
- <source>Uninstall Rockbox</source>
- <translation>卸载 Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="596"/>
- <source>Uninstall Bootloader</source>
- <translation>卸载启动程序</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="612"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;卸载启动程序&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;卸载启动程序后你就不能启动 Rockbox 了.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="642"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;把 Rockbox&lt;/span&gt; 在你音乐播放器里删除.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;这不会卸载启动程序(你需要手动卸载启动程序).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="689"/>
- <source>&amp;Manual</source>
- <translation>&amp;用户手册</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="692"/>
- <source>View and download the manual</source>
- <translation>查看和下载用户手册</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="698"/>
- <source>Read the manual</source>
- <translation>查看用户手册</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="704"/>
- <source>PDF manual</source>
- <translation>PDF 用户手册</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="717"/>
- <source>HTML manual</source>
- <translation>HTML 用户手册</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="733"/>
- <source>Download the manual</source>
- <translation>下载用户手册</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="741"/>
- <source>&amp;PDF version</source>
- <translation>PDF 版本</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="748"/>
- <source>&amp;HTML version (zip file)</source>
- <translation>HTML 版本 (zip)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="770"/>
- <source>Down&amp;load</source>
- <translation>下载</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="794"/>
- <source>Inf&amp;o</source>
- <translation>&amp;信息</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;???????.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Composants actuellement installés.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;注意&lt;/span&gt;: 如果你手动安装Rockbox, 这可能显示不正确的信息!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="815"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="837"/>
- <source>&amp;File</source>
- <translation>&amp;文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="930"/>
- <source>&amp;About</source>
- <translation>&amp;关于</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="907"/>
- <source>Empty local download cache</source>
- <translation>清除本机下载缓冲</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="912"/>
- <source>Install Rockbox Utility on player</source>
- <translation>安装Rockbox安装程序到你的播放器</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="917"/>
- <source>&amp;Configure</source>
- <translation>&amp;设置</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="922"/>
- <source>E&amp;xit</source>
- <translation>&amp;退出</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="925"/>
- <source>Ctrl+Q</source>
- <translation>Ctrl+Q</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="935"/>
- <source>About &amp;Qt</source>
- <translation>关于&amp;Qt</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="940"/>
- <source>&amp;Help</source>
- <translation>&amp;帮助</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="953"/>
- <source>Complete Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="961"/>
- <source>Small Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="800"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="855"/>
- <source>Action&amp;s</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="859"/>
- <source>Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="866"/>
- <source>Quick Start</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="873"/>
- <source>Extras</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="881"/>
- <source>Accessibility</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="889"/>
- <source>Uninstallation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="945"/>
- <source>Info</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="985"/>
- <source>Fonts Package</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="993"/>
- <source>Install Themes</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1001"/>
- <source>Install Game Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1009"/>
- <source>Install Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1017"/>
- <source>Create Talk Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1025"/>
- <source>Remove bootloader</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1038"/>
- <source>Read PDF manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1043"/>
- <source>Read HTML manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1048"/>
- <source>Download PDF manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1053"/>
- <source>Download HTML manual (zip)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="558"/>
- <source>Create Voice files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="574"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1061"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1064"/>
- <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
-e File</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>SapiCfgFrm</name>
- <message>
- <location filename="sapicfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">设置</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="62"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="25"/>
- <source>Language</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="87"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="107"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="117"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="35"/>
- <source>Voice</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="45"/>
- <source>Speed</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExes</name>
- <message>
- <location filename="tts.cpp" line="123"/>
- <source>TTS executable not found</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExesCfgFrm</name>
- <message>
- <location filename="ttsexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">设置</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="31"/>
- <source>Path to TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;浏览</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="52"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>TTSSapi</name>
- <message>
- <location filename="tts.cpp" line="274"/>
- <source>Could not copy the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="tts.cpp" line="292"/>
- <source>Could not start the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TalkFileCreator</name>
- <message>
- <location filename="talkfile.cpp" line="31"/>
- <source>Starting Talk file generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="41"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="52"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="70"/>
- <source>Talk file creation aborted</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="132"/>
- <source>Voicing of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="135"/>
- <source>Voicing of %s failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="143"/>
- <source>Encoding of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="146"/>
- <source>Encoding of %1 failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="173"/>
- <source>Finished creating Talk files</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ThemeInstallFrm</name>
- <message>
- <location filename="installthemesfrm.ui" line="13"/>
- <source>Theme Installation</source>
- <translation>安装主题</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="48"/>
- <source>Selected Theme</source>
- <translation>被选择的主题</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="73"/>
- <source>Description</source>
- <translation>描述</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="83"/>
- <source>Download size:</source>
- <translation>下载大小:</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="128"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="108"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="118"/>
- <source>Install &amp;All</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ThemesInstallWindow</name>
- <message>
- <location filename="installthemes.cpp" line="34"/>
- <source>no theme selected</source>
- <translation>没有选择主题</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="117"/>
- <source>Network error: %1.
-Please check your network and proxy settings.</source>
- <translation>网络错误: %1.
-请检查你的网络和代理服务的设置.</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>???????:
-%1</source>
- <translation type="obsolete">L&apos;erreur suivante s&apos;est produite :
-%1</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="133"/>
- <source>done.</source>
- <translation>完成.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="161"/>
- <source>fetching details for %1</source>
- <translation>正在拿取 %1 的细节</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="163"/>
- <source>fetching preview ...</source>
- <translation>正在拿取预览...</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>Download size %1 kiB</source>
- <translation type="obsolete">下载大小 %1 kiB</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="184"/>
- <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>unknown</source>
- <translation>不明</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>no description</source>
- <translation>无描述</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="222"/>
- <source>no theme preview</source>
- <translation>无主题预览</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="254"/>
- <source>getting themes information ...</source>
- <translation>正在拿取主题信息...</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="312"/>
- <source>Mount point is wrong!</source>
- <translation>Mountpoint 错误!</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="128"/>
- <source>the following error occured:
-%1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="171"/>
- <source>Download size %L1 kiB</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>UnZip</name>
- <message>
- <location filename="zip/unzip.cpp" line="245"/>
- <source>ZIP operation completed successfully.</source>
- <translation>成功完成 ZIP 程序.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="246"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>初始化zlib失败.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="247"/>
- <source>zlib library error.</source>
- <translation>zlib错误.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="248"/>
- <source>Unable to create or open file.</source>
- <translation>无法建立或打开文件.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="249"/>
- <source>Partially corrupted archive. Some files might be extracted.</source>
- <translation>压缩文件部分损坏. 一些文件可能可以被恢复. </translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="250"/>
- <source>Corrupted archive.</source>
- <translation>压缩文件损坏.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="251"/>
- <source>Wrong password.</source>
- <translation>密码不正确.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="252"/>
- <source>No archive has been created yet.</source>
- <translation>压缩文件还没有被建立.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="253"/>
- <source>File or directory does not exist.</source>
- <translation>文件或文件夹不存在.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="254"/>
- <source>File read error.</source>
- <translation>文件读取错误.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="255"/>
- <source>File write error.</source>
- <translation>文件写入错误.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="256"/>
- <source>File seek error.</source>
- <translation>文件内寻找错误.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="257"/>
- <source>Unable to create a directory.</source>
- <translation>无法建立文件夹.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="258"/>
- <source>Invalid device.</source>
- <translation>无效播放器.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="259"/>
- <source>Invalid or incompatible zip archive.</source>
- <translation>无效或不支持压缩文件.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="260"/>
- <source>Inconsistent headers. Archive might be corrupted.</source>
- <translation>文件头不正常. 压缩文件可能已损坏. </translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="264"/>
- <source>Unknown error.</source>
- <translation>不明错误.</translation>
- </message>
-</context>
-<context>
- <name>UninstallFrm</name>
- <message>
- <location filename="uninstallfrm.ui" line="16"/>
- <source>Uninstall Rockbox</source>
- <translation>卸载 Rockbox</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="35"/>
- <source>Please select the Uninstallation Methodl</source>
- <translation>请选择卸载模式</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="45"/>
- <source>Uninstallation Method</source>
- <translation>卸载模式</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="51"/>
- <source>Complete Uninstallation</source>
- <translation>完全卸载</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="58"/>
- <source>Smart Uninstallation</source>
- <translation>智能卸载</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="68"/>
- <source>Please select what you want to uninstall</source>
- <translation>请选择卸载部分</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="78"/>
- <source>Installed Parts</source>
- <translation>已安装的部分</translation>
- </message>
- <message>
- <location filename="" line="6357100"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="128"/>
- <source>&amp;Uninstall</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Uninstaller</name>
- <message>
- <location filename="uninstall.cpp" line="45"/>
- <source>Starting Uninstallation</source>
- <translation>开始卸载</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="37"/>
- <source>Finished Uninstallation</source>
- <translation>完成卸载</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="51"/>
- <source>Uninstalling </source>
- <translation>正在卸载</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="81"/>
- <source>Could not delete: </source>
- <translation>无法删除: </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="108"/>
- <source>Uninstallation finished</source>
- <translation>完成卸载</translation>
- </message>
-</context>
-<context>
- <name>VoiceFileCreator</name>
- <message>
- <location filename="voicefile.cpp" line="41"/>
- <source>Starting Voicefile generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="55"/>
- <source>failed to open rockbox-info.txt</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="124"/>
- <source>Download error: received HTTP error %1.</source>
- <translation type="unfinished">下载错误: 接到 HTTP 错误 %1. </translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="128"/>
- <source>Cached file used.</source>
- <translation type="unfinished">使用缓冲文件.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="130"/>
- <source>Download error: %1</source>
- <translation type="unfinished">下载错误: %1</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="134"/>
- <source>Download finished.</source>
- <translation type="unfinished">完成下载.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="143"/>
- <source>failed to open downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="156"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="167"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="209"/>
- <source>The downloaded file was empty!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="246"/>
- <source>creating </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="269"/>
- <source>Error opening downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="277"/>
- <source>Error opening output file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="291"/>
- <source>successfully created.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Zip</name>
- <message>
- <location filename="zip/zip.cpp" line="479"/>
- <source>ZIP operation completed successfully.</source>
- <translation>成功完成 ZIP 程序.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="480"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>初始化zlib失败.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="481"/>
- <source>zlib library error.</source>
- <translation>zlib错误.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="482"/>
- <source>Unable to create or open file.</source>
- <translation>无法建立或打开文件.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="483"/>
- <source>No archive has been created yet.</source>
- <translation>压缩文件还没有被建立.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="484"/>
- <source>File or directory does not exist.</source>
- <translation>文件或文件夹不存在.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="485"/>
- <source>File read error.</source>
- <translation>文件读取错误.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="486"/>
- <source>File write error.</source>
- <translation>文件写入错误.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="487"/>
- <source>File seek error.</source>
- <translation>文件内寻找错误.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="491"/>
- <source>Unknown error.</source>
- <translation>不明错误.</translation>
- </message>
-</context>
-<context>
- <name>ZipInstaller</name>
- <message>
- <location filename="installzip.cpp" line="54"/>
- <source>done.</source>
- <translation>完成.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="62"/>
- <source>Installation finished successfully.</source>
- <translation>成功完成安装.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="77"/>
- <source>Downloading file %1.%2</source>
- <translation>正在下载文件 %1.%2</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="126"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>下载错误: 接到 HTTP 错误 %1. </translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="131"/>
- <source>Cached file used.</source>
- <translation>使用缓冲文件.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="133"/>
- <source>Download error: %1</source>
- <translation>下载错误: %1</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="138"/>
- <source>Download finished.</source>
- <translation>完成下载.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="144"/>
- <source>Extracting file.</source>
- <translation>正在解压文件.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="153"/>
- <source>Opening archive failed: %1.</source>
- <translation>打开压缩文件错误: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="162"/>
- <source>Extracting failed: %1.</source>
- <translation>解压错误: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="172"/>
- <source>Installing file.</source>
- <translation>正在安装文件.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="183"/>
- <source>Installing file failed.</source>
- <translation>安装文件失败.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="193"/>
- <source>Creating installation log</source>
- <translation>正在建立安装日志</translation>
- </message>
-</context>
-<context>
- <name>aboutBox</name>
- <message>
- <location filename="aboutbox.ui" line="13"/>
- <source>About Rockbox Utility</source>
- <translation>关于Rockbox安装程序</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="34"/>
- <source>The Rockbox Utility</source>
- <translation>Rockbox安装程序</translation>
- </message>
- <message encoding="UTF-8">
- <location filename="aboutbox.ui" line="56"/>
- <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
-
-© 2005 - 2007 The Rockbox Team.
-Released under the GNU General Public License v2.</source>
- <translation>安装程序和一般管理程序为 Roxkbox 准备. Roxkbox 是一个开源的音乐播放器固件.
-
-© 2005 - 2007 Rockbox 团队.
-授权于 GNU General Public License v2.</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="72"/>
- <source>http://www.rockbox.org</source>
- <translation>http://www.rockbox.org</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="95"/>
- <source>&amp;Credits</source>
- <translation>&amp;特别鸣谢</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="124"/>
- <source>&amp;License</source>
- <translation>&amp;授权</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="157"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
-</context>
-</TS>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+<context>
+ <name>BootloaderInstaller</name>
+ <message>
+ <location filename="installbootloader.cpp" line="32"/>
+ <source>Starting bootloader installation</source>
+ <translation>开始安装启动程式</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="122"/>
+ <source>unsupported install Method</source>
+ <translation>不支持的安装方式</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="85"/>
+ <source>Starting bootloader uninstallation</source>
+ <translation>开始卸载启动程式</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="116"/>
+ <source>No uninstallation possible</source>
+ <translation>不可以卸载</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="151"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>下载错误: 接到 HTTP 错误 %1. </translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="157"/>
+ <source>Download error: %1</source>
+ <translation>下载错误: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="162"/>
+ <source>Download finished.</source>
+ <translation>完成下载.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="224"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="237"/>
+ <source>Creating installation log</source>
+ <translation>正在添加安装日志</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="253"/>
+ <source>Editing installation log</source>
+ <translation>正在写入安装日志</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1093"/>
+ <source>Downloading file %1.%2</source>
+ <translation>正在下载文件 %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="323"/>
+ <source>Could not find the Original Firmware at: %1</source>
+ <translation>找不到厂家固件在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="545"/>
+ <source>Could not remove the Firmware at: %1</source>
+ <translation>删除不了固件在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="554"/>
+ <source>Could not copy the Firmware from: %1 to %2</source>
+ <translation>不能复制固件从 %1 到 %2 </translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="360"/>
+ <source>Finishing bootloader install</source>
+ <translation>启动程式安装完成</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="370"/>
+ <source>Could not find the Firmware at: %1</source>
+ <translation>找不到固件在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="596"/>
+ <source>Could not rename: %1 to %2</source>
+ <translation>不能把 %1 重命名为 %2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1207"/>
+ <source>Could not copy: %1 to %2</source>
+ <translation>不能复制 %1 到 %2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1217"/>
+ <source>Bootloader install finished successfully.</source>
+ <translation>成功安装启动程序</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1218"/>
+ <source>To finish the Bootloader installation, follow the steps below.</source>
+ <translation>请按照以下步骤完成启动程序的安装</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1219"/>
+ <source>1. Eject/Unmount your Device.</source>
+ <translation>1. 弹出/退出你的播放机.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="413"/>
+ <source>2. Unplug USB and any Power adapters.</source>
+ <translation>2. 拔出USB接线, 断离所有冲电设备.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="414"/>
+ <source>3. Hold POWER to turn the Device off.</source>
+ <translation>3. 按POWER关机.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="415"/>
+ <source>4. Toggle the Battery switch on the Device.</source>
+ <translation>4. 先关再开电池开关.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="416"/>
+ <source>5. Hold POWER to boot the Rockbox bootloader.</source>
+ <translation>5. 按POWER启动 Rockbox 的启动程序.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="471"/>
+ <source>2. Turn you Device OFF.</source>
+ <translation>2. 关闭你的播放器.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="472"/>
+ <source>3. Insert Charger.</source>
+ <translation>3. 插入充电器.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="582"/>
+ <source>Firmware does not exist: %1</source>
+ <translation>固件不存在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="639"/>
+ <source>Searching for ipods</source>
+ <translation>正在寻找 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="645"/>
+ <source>No Ipods found</source>
+ <translation>找不到 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="651"/>
+ <source>Too many Ipods found</source>
+ <translation>找到太多的 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="781"/>
+ <source>could not open ipod</source>
+ <translation>打开不了 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="996"/>
+ <source>could not read partitiontable</source>
+ <translation>读不了分区表</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="795"/>
+ <source>No partition 0 on disk</source>
+ <translation>硬盘上没有0分区</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>[INFO] Part Start Sector End Sector Size (MB) Type</source>
+ <translation type="obsolete">[INFO] 分区 开始磁区 结算磁区 大小 (MB) 类别</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="806"/>
+ <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
+ <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="823"/>
+ <source>Failed to read firmware directory</source>
+ <translation>读不了固件文件夹</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="829"/>
+ <source>Unknown version number in firmware (%1)</source>
+ <translation>固件版本不明 (%1)</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
+ <translation type="obsolete">警告: 这是苹果格式的iPod, Rockbox 不能在这运行. 请转换成 Windows 格式的iPod.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="847"/>
+ <source>Could not open Ipod in RW mode</source>
+ <translation>不能以读写方式打开iPod</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="751"/>
+ <source>No bootloader detected.</source>
+ <translation>找不到启动程序.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="966"/>
+ <source>Successfully removed Bootloader</source>
+ <translation>成功删除启动程序</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="974"/>
+ <source>--delete-bootloader failed.</source>
+ <translation>--删除启动程序失败.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1031"/>
+ <source>Successfully added Bootloader</source>
+ <translation>成功添加启动程序</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1039"/>
+ <source>failed to add Bootloader</source>
+ <translation>添加启动程序失败</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="882"/>
+ <source>Searching for sansas</source>
+ <translation>正在寻找 sansas</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="888"/>
+ <source>No Sansa found</source>
+ <translation>找不到 Sansa</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="894"/>
+ <source>Too many Sansas found</source>
+ <translation>找到了太多的 sansas</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="989"/>
+ <source>could not open Sansa</source>
+ <translation>打开不了 sansa</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Disk is not an E200 (%1), aborting.</source>
+ <translation type="obsolete">硬盘不是 E200 (%1), 正在取消...</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1017"/>
+ <source>********************************************
+OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
+You must reinstall the original Sansa firmware before running
+sansapatcher for the first time.
+See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
+*********************************************
+</source>
+ <translation>********************************************
+找到了旧 ROCKBOX, 正在取消...
+你必须重新安装厂家固件才可以第一次
+运行 sansapatcher
+参考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文)
+*********************************************
+</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1024"/>
+ <source>Could not open Sansa in RW mode</source>
+ <translation>不能以读写方式打开 sansa</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1055"/>
+ <source>Could not MD5Sum original firmware</source>
+ <translation>不能验证厂家固件的MD5sum</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1085"/>
+ <source>Could not detect firmware type</source>
+ <translation>找不到固件类别</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1148"/>
+ <source>Error in descramble</source>
+ <translation>descramble 错误</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1158"/>
+ <source>Error in patching</source>
+ <translation>补丁过程错误</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1168"/>
+ <source>Error in scramble</source>
+ <translation>scramble 错误</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1179"/>
+ <source>Error in checksumming</source>
+ <translation>验证错误</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1220"/>
+ <source>2. Boot into the original Firmware.</source>
+ <translation>2. 启动到厂家固件.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1221"/>
+ <source>3. Use the Firmware flash option in the Original Firmware.</source>
+ <translation>3. 在厂家固件里选择快闪记忆体.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1222"/>
+ <source>4. Reboot.</source>
+ <translation>4. 重新开机.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="533"/>
+ <source>Original Firmware does not exist: %1</source>
+ <translation>厂家固件不存在 : %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="800"/>
+ <source>[INFO] Part Start Sector End Sector Size (MB) Type
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="839"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
+See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1005"/>
+ <source>Disk is not a Sansa (%1), aborting.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>BrowseDirtreeFrm</name>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="13"/>
+ <source>Find Directory</source>
+ <translation>寻找文件夹</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="19"/>
+ <source>Browse to the destination folder</source>
+ <translation>浏览目的地文件夹</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="47"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="57"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>BrowseOFFrm</name>
+ <message>
+ <location filename="browseoffrm.ui" line="13"/>
+ <source>Find original Firmware</source>
+ <translation>寻找厂家固件</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="19"/>
+ <source>Browse for a downloaded copy of the original firmware</source>
+ <translation>寻找已下载的厂家固件</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="32"/>
+ <source>Browse</source>
+ <translation>浏览</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="54"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="64"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>Config</name>
+ <message>
+ <location filename="configure.cpp" line="110"/>
+ <source>Language changed</source>
+ <translation>语言已改变</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="111"/>
+ <source>You need to restart the application for the changed language to take effect.</source>
+ <translation>你需要重新开启本软件才能使用新语言.</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Current cache size is %1 kiB.</source>
+ <translation type="obsolete">现在缓冲的大小是 %1 kiB.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="593"/>
+ <source>Autodetection</source>
+ <translation>自动识别</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="587"/>
+ <source>Could not detect a Mountpoint.
+Select your Mountpoint manually.</source>
+ <translation>找不到 mountpoint
+请手动选择你的 mountpoing.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="595"/>
+ <source>Could not detect a device.
+Select your device and Mountpoint manually.</source>
+ <translation>不能识别你的播放器
+请手动选择.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="603"/>
+ <source>Really delete cache?</source>
+ <translation>你肯定要删除缓冲吗?</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="606"/>
+ <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
+ <translation>你真的肯定要删除缓冲吗? 请确认你的设定是正确的因为这会删除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夹 !</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="612"/>
+ <source>Path wrong!</source>
+ <translation>路径错误!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="613"/>
+ <source>The cache path is invalid. Aborting.</source>
+ <translation>缓冲路径错误. 正在取消.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="56"/>
+ <source> (%1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="220"/>
+ <source>Current cache size is %L1 kiB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="418"/>
+ <source>(system proxy is disabled)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="485"/>
+ <source>Select your device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="569"/>
+ <source>Sansa e200 in MTP mode found!
+You need to change your player to MSC mode for installation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="572"/>
+ <source>H10 20GB in MTP mode found!
+You need to change your player to UMS mode for installation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="573"/>
+ <source>Unless you changed this installation will fail!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="575"/>
+ <source>Fatal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ConfigForm</name>
+ <message>
+ <location filename="configurefrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>设置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="19"/>
+ <source>Configure Rockbox Utility</source>
+ <translation>设置 Rockbox 安装程序</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="30"/>
+ <source>&amp;Device</source>
+ <translation>&amp;播放器</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="39"/>
+ <source>Select your device in the &amp;filesystem</source>
+ <translation>请选择你的播放器在你的 &amp;文件系统</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="286"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;浏览</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="66"/>
+ <source>&amp;Select your audio player</source>
+ <translation>&amp;选择你的音乐播放器</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="77"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="98"/>
+ <source>&amp;Autodetect</source>
+ <translation>自动识别(&amp;A)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="109"/>
+ <source>&amp;Proxy</source>
+ <translation>网络代理服务(&amp;P)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="118"/>
+ <source>&amp;No Proxy</source>
+ <translation>没有网络代理服务(&amp;N)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="128"/>
+ <source>Use S&amp;ystem values</source>
+ <translation>使用系统值(&amp;S)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="135"/>
+ <source>&amp;Manual Proxy settings</source>
+ <translation>手动设置代理服务(&amp;M)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="142"/>
+ <source>Proxy Values</source>
+ <translation>代理服务值</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="148"/>
+ <source>&amp;Host:</source>
+ <translation>&amp;主机:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="165"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;接口:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="188"/>
+ <source>&amp;Username</source>
+ <translation>&amp;用户名</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="198"/>
+ <source>Pass&amp;word</source>
+ <translation>&amp;密码</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="225"/>
+ <source>&amp;Language</source>
+ <translation>&amp;语言</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="238"/>
+ <source>Cac&amp;he</source>
+ <translation>&amp;缓冲</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="244"/>
+ <source>Download cache settings</source>
+ <translation>下载缓冲设置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="250"/>
+ <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
+ <translation>Rockbox 安装程序使用本机缓冲来保存网络资料. 你可以改变这个缓冲的路径. 启动下线模式后, 你还可以用路径来保存文件.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="260"/>
+ <source>Current cache size is %1</source>
+ <translation>现在缓冲大小是 %1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="269"/>
+ <source>P&amp;ath</source>
+ <translation>&amp;路径</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="279"/>
+ <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
+ <translation>输入无效地址会重设到系统临时文件夹.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="300"/>
+ <source>Disable local &amp;download cache</source>
+ <translation>&amp;不使用本机缓冲</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="307"/>
+ <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
+ <translation>所有资料, 包括更新资料, 将会从本机缓冲里拿取. 不要选择此模式如果你不需要下线安装. 注意: 你需要先用网络做至少一次安装才可以下载到需要的文件.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="310"/>
+ <source>O&amp;ffline mode</source>
+ <translation>&amp;下线安装</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="345"/>
+ <source>Clean cache &amp;now</source>
+ <translation>&amp;现在清除缓冲文件夹</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="356"/>
+ <source>&amp;TTS &amp;&amp; Encoder</source>
+ <translation>&amp;TTS &amp;&amp; 信号转换器</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="365"/>
+ <source>TTS Engine</source>
+ <translation>TTS 引擎</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>&amp;Select TTS profile</source>
+ <translation type="obsolete">&amp; 选择 TTS 个人设置</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>TTS executable</source>
+ <translation type="obsolete">TTS 可执行文件</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>TTS Options</source>
+ <translation type="obsolete">TTS 设置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="421"/>
+ <source>Encoder Engine</source>
+ <translation>信号转换器引擎</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Select &amp;encoder profile</source>
+ <translation type="obsolete">&amp;选择引擎设置</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Encoder executable</source>
+ <translation type="obsolete">引擎可执行文件</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>B&amp;rowse</source>
+ <translation type="obsolete">&amp;浏览</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Encoder options</source>
+ <translation type="obsolete">信号转换器设置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="507"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="517"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="371"/>
+ <source>&amp;Select TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="384"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="447"/>
+ <source>Configuration invalid !</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="408"/>
+ <source>Configure &amp;TTS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="427"/>
+ <source>Select &amp;encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="440"/>
+ <source>Configure encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="464"/>
+ <source> Configure &amp;Enc</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Configure</name>
+ <message>
+ <location filename="configure.cpp" line="469"/>
+ <source>English</source>
+ <translation type="unfinished">中文 (Chinese Simplified)</translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceFrm</name>
+ <message>
+ <location filename="createvoicefrm.ui" line="16"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="41"/>
+ <source>Select the Language you want to generate a voicefile for:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="51"/>
+ <source>Generation settings</source>
+ <translation type="unfinished">语音合成设置</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="57"/>
+ <source>Encoder profile:</source>
+ <translation type="unfinished">转化器设置:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="64"/>
+ <source>TTS profile:</source>
+ <translation type="unfinished">TTS 设置:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="77"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="128"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="152"/>
+ <source>Wavtrim Threshold</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceWindow</name>
+ <message>
+ <location filename="createvoicewindow.cpp" line="96"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="98"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="106"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EncExesCfgFrm</name>
+ <message>
+ <location filename="encexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">设置</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="19"/>
+ <source>Configure Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="31"/>
+ <source>Path to Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;浏览</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="52"/>
+ <source>Encoder options</source>
+ <translation type="unfinished">信号转换器设置</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>Install</name>
+ <message>
+ <location filename="install.cpp" line="55"/>
+ <source>Mount point is wrong!</source>
+ <translation>Mountpoint 错误!</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="141"/>
+ <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
+ <translation>这是最新的Rockbox版本. 每一个更改后这版本就会更新. 最新的版本是 r%1 (%2).</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="145"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="148"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. </translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="157"/>
+ <source>This is the last released version of Rockbox.</source>
+ <translation>这是最新的Rockbox版本.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="163"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;这是建议使用的版本.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>These are automatically built each day from the current development source code. This generally has more features than the last release but may be much less stable. Features may change regularly.</source>
+ <translation type="obsolete">这是每天自动更新的版本. 这一般来说比发行版本要多功能, 但可能没有那么稳定. 功能可能会随时改变.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="177"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 存档的版本是 r%1 (%2).</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="175"/>
+ <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallFrm</name>
+ <message>
+ <location filename="installfrm.ui" line="16"/>
+ <source>Install Rockbox</source>
+ <translation>安装 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="35"/>
+ <source>Please select the Rockbox version you want to install on your player:</source>
+ <translation>请选择你要安装在你的播放器上的版本:</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="45"/>
+ <source>Version</source>
+ <translation>版本</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="51"/>
+ <source>Rockbox &amp;stable</source>
+ <translation>&amp;稳定的 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="58"/>
+ <source>&amp;Archived Build</source>
+ <translation>&amp;存档的版本</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="65"/>
+ <source>&amp;Current Build</source>
+ <translation>&amp;最新的版本</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="75"/>
+ <source>Details</source>
+ <translation>细节</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="81"/>
+ <source>Details about the selected version</source>
+ <translation>被选择版本的细节</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="91"/>
+ <source>Note</source>
+ <translation>注意</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="104"/>
+ <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
+ <translation>Rockbox安装程序储存以前下载的文件在你的硬盘上以减少网络交通. 如果你的Rockbox不能使用, 选择这项去下载一份新的文件</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="107"/>
+ <source>&amp;Don&apos;t use locally cached copy</source>
+ <translation>&amp;不使用硬盘上缓冲的文件</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="152"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="142"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallProgressFrm</name>
+ <message>
+ <location filename="installprogressfrm.ui" line="19"/>
+ <source>Progress</source>
+ <translation>进程</translation>
+ </message>
+ <message>
+ <location filename="installprogressfrm.ui" line="56"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkFrm</name>
+ <message>
+ <location filename="installtalkfrm.ui" line="16"/>
+ <source>Install Talk Files</source>
+ <translation>安装说话文件</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="35"/>
+ <source>Select the Folder to generate Talkfiles for.</source>
+ <translation>选择需要安装说话文件的文件夹</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="45"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;浏览</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="55"/>
+ <source>Generation settings</source>
+ <translation>语音合成设置</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="61"/>
+ <source>Encoder profile:</source>
+ <translation>转化器设置:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="68"/>
+ <source>TTS profile:</source>
+ <translation>TTS 设置:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="104"/>
+ <source>Generation options</source>
+ <translation>语音合成设置</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="110"/>
+ <source>Overwrite Wavefiles</source>
+ <translation>覆盖已存在的 Wavefiles</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="120"/>
+ <source>Remove Wavefiles</source>
+ <translation>删除 Wavefiles</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="130"/>
+ <source>Run recursive</source>
+ <translation>递归寻找</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="140"/>
+ <source>Strip Extensions</source>
+ <translation>除去后缀</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="150"/>
+ <source>Overwrite Talkfiles</source>
+ <translation>删除语音文件</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="224"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="81"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="160"/>
+ <source>Generate .talk files for Folders</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="170"/>
+ <source>Generate .talk files for Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="214"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkWindow</name>
+ <message>
+ <location filename="installtalkwindow.cpp" line="84"/>
+ <source>The Folder to Talk is wrong!</source>
+ <translation>要支持语音的文件夹错误!</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Path to Encoder is wrong!</source>
+ <translation type="obsolete">语音生成转换器的路径错误!</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Path to TTS is wrong!</source>
+ <translation type="obsolete">TTS引擎的路径错误!</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">TTS 设置: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Invalid TTS profile!</source>
+ <translation type="obsolete">无效TTS设置 !</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">转换器设置: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Invalid encoder profile!</source>
+ <translation type="obsolete">无效转化器设置!</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="119"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="121"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="129"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>PreviewFrm</name>
+ <message>
+ <location filename="previewfrm.ui" line="16"/>
+ <source>Preview</source>
+ <translation>预览</translation>
+ </message>
+</context>
+<context>
+ <name>ProgressLoggerGui</name>
+ <message>
+ <location filename="progressloggergui.cpp" line="79"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="progressloggergui.cpp" line="89"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>RbSpeexCfgFrm</name>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">设置</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="19"/>
+ <source>Configure RbSpeex Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="38"/>
+ <source>Volume</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="45"/>
+ <source>Narrowband</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="68"/>
+ <source>Quality</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="85"/>
+ <source>Complexity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="115"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="125"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQt</name>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>File</source>
+ <translation>文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>Version</source>
+ <translation>版本</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="210"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="305"/>
+ <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
+ <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="325"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用户手册(英文)&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="327"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用户手册(英文,在浏览器打开)&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="330"/>
+ <source>Select a device for a link to the correct manual</source>
+ <translation>请选择你的播放器</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="332"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;用户手册总观&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="695"/>
+ <source>Confirm Installation</source>
+ <translation>确认安装</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="341"/>
+ <source>Do you really want to make a complete Installation?</source>
+ <translation>你确认要一个完整的安装?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="877"/>
+ <source>Mount point is wrong!</source>
+ <translation>Mountpoint 错误!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="393"/>
+ <source>Do you really want to make a small Installation?</source>
+ <translation>你确认要一个智能的安装?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="533"/>
+ <source>Do you really want to install the Bootloader?</source>
+ <translation>你确认要安装启动程序?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="800"/>
+ <source>Could not get the bootloader info file!</source>
+ <translation>找不到启动程序的资料!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="568"/>
+ <source>Bootloader Installation</source>
+ <translation>安装启动程序</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>It seem your Bootloader is already uptodate.
+Do really want to install it?</source>
+ <translation type="obsolete">你的启动程序好象已经是最新版本.
+你确认要再安装?</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Bootloader installation Canceled!</source>
+ <translation type="obsolete">启动程序安装被取消!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="593"/>
+ <source>Original Firmware Path is wrong!</source>
+ <translation>厂家固件路径错误!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="606"/>
+ <source>Original Firmware selection Canceled!</source>
+ <translation>厂家固件安装被取消!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="621"/>
+ <source>Do you really want to install the fonts package?</source>
+ <translation>你确认要安装字体包裹吗?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="656"/>
+ <source>Do you really want to install the voice file?</source>
+ <translation>你确认要安装语音文件吗?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="696"/>
+ <source>Do you really want to install the game addon files?</source>
+ <translation>你确认要安装游戏附件吗?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="782"/>
+ <source>Confirm Uninstallation</source>
+ <translation>确认安装</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="783"/>
+ <source>Do you really want to uninstall the Bootloader?</source>
+ <translation>你确认要卸载启动程序吗?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="813"/>
+ <source>Confirm download</source>
+ <translation>确认下载</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="815"/>
+ <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
+ <translation>你确认要下载用户手册吗? 用户手册将会被放在你播放器的主目录里.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="863"/>
+ <source>Confirm installation</source>
+ <translation>确认安装</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="865"/>
+ <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
+ <translation>你确认要安装Rockbox安装程序到你的播放器上吗? 安装后你可以从你播放器上运行此程序.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="873"/>
+ <source>Installing Rockbox Utility</source>
+ <translation>安装 Rockbox安装程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="887"/>
+ <source>Error installing Rockbox Utility</source>
+ <translation>安装 Rockbox安装程序错误!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="891"/>
+ <source>Installing user configuration</source>
+ <translation>安装用户设置</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="893"/>
+ <source>Error installing user configuration</source>
+ <translation>安装用户设置错误</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="897"/>
+ <source>Successfully installed Rockbox Utility.</source>
+ <translation>成功安装 Rockbox安装程序.</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Bootloader installation Skipped!</source>
+ <translation type="obsolete">启动程序安装过程被跳过!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1014"/>
+ <source>Configuration error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="187"/>
+ <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="570"/>
+ <source>The bootloader is already installed and up to date.
+Do want to replace the current bootloader?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="574"/>
+ <source>Bootloader installation skipped!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1016"/>
+ <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQtFrm</name>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="13"/>
+ <source>Rockbox Utility</source>
+ <translation>Rockbox 安装程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="78"/>
+ <source>Device</source>
+ <translation>播放器</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="90"/>
+ <source>Selected device:</source>
+ <translation>选择的播放器:</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="97"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;不明&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="120"/>
+ <source>&amp;Change</source>
+ <translation>&amp;更改</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="137"/>
+ <source>&amp;Quick Start</source>
+ <translation>&amp;快速开始</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="140"/>
+ <source>Welcome</source>
+ <translation>欢迎</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>...</source>
+ <translation type="obsolete">...</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="162"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;完整安装&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;这将安装启动程序, 最新版本和附加功能. 如果这是你第一次安装, 这是建议的安装.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="192"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;最小安装&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;这将安装启动程序和最新版本.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="236"/>
+ <source>&amp;Installation</source>
+ <translation>&amp;安装</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="239"/>
+ <source>Basic Rockbox installation</source>
+ <translation>基本Rockbox安装</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="969"/>
+ <source>Install Bootloader</source>
+ <translation>安装启动程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="261"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装启动程序&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;ROCKBOX 可能需要安装启动程序后才可以运行.你只需要安装启动程序如果这是你的第一次安装.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="977"/>
+ <source>Install Rockbox</source>
+ <translation>安装 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="294"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装 Rockbox&lt;/span&gt; 在你的音乐播放器里&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="340"/>
+ <source>&amp;Extras</source>
+ <translation>&amp;附加功能</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="343"/>
+ <source>Install extras for Rockbox</source>
+ <translation>安装附加功能</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="349"/>
+ <source>Install Fonts package</source>
+ <translation>安装字体包裹</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="365"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;字体包裹&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;字体包裹里包含一些常用的字体. 强烈建议安装此包裹.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="379"/>
+ <source>Install themes</source>
+ <translation>安装主题</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="395"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装主题&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox 的外观可以被个人化. 你可以选择并安装几个官方认证的主题. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="409"/>
+ <source>Install game files</source>
+ <translation>安装游戏文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="425"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装游戏文件&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom游戏需要wad文件才可以运行.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="466"/>
+ <source>&amp;Accessibility</source>
+ <translation>&amp;辅助</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="469"/>
+ <source>Install accessibility add-ons</source>
+ <translation>安装辅助功能</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="475"/>
+ <source>Install Voice files</source>
+ <translation>安装语音文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="491"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安装语音文件&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;如果你需要Rockbox用语音说出用户界面, 你需要安装语音文件. 语音界面将会被自动开启,所以你安装语音文件后Rockbox就会对你说话.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="505"/>
+ <source>Install Talk files</source>
+ <translation>安装说话文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="521"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;建立说话文件&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;如果你需要Rockbox说出你文件和文件夹的名称, 你要安装说话文件. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="587"/>
+ <source>&amp;Uninstallation</source>
+ <translation>&amp;卸载</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1033"/>
+ <source>Uninstall Rockbox</source>
+ <translation>卸载 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="596"/>
+ <source>Uninstall Bootloader</source>
+ <translation>卸载启动程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="612"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;卸载启动程序&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;卸载启动程序后你就不能启动 Rockbox 了.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="642"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;把 Rockbox&lt;/span&gt; 在你音乐播放器里删除.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;这不会卸载启动程序(你需要手动卸载启动程序).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="689"/>
+ <source>&amp;Manual</source>
+ <translation>&amp;用户手册</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="692"/>
+ <source>View and download the manual</source>
+ <translation>查看和下载用户手册</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="698"/>
+ <source>Read the manual</source>
+ <translation>查看用户手册</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="704"/>
+ <source>PDF manual</source>
+ <translation>PDF 用户手册</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="717"/>
+ <source>HTML manual</source>
+ <translation>HTML 用户手册</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="733"/>
+ <source>Download the manual</source>
+ <translation>下载用户手册</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="741"/>
+ <source>&amp;PDF version</source>
+ <translation>PDF 版本</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="748"/>
+ <source>&amp;HTML version (zip file)</source>
+ <translation>HTML 版本 (zip)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="770"/>
+ <source>Down&amp;load</source>
+ <translation>下载</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="794"/>
+ <source>Inf&amp;o</source>
+ <translation>&amp;信息</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;???????.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Composants actuellement installés.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;注意&lt;/span&gt;: 如果你手动安装Rockbox, 这可能显示不正确的信息!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="815"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="837"/>
+ <source>&amp;File</source>
+ <translation>&amp;文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="930"/>
+ <source>&amp;About</source>
+ <translation>&amp;关于</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="907"/>
+ <source>Empty local download cache</source>
+ <translation>清除本机下载缓冲</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="912"/>
+ <source>Install Rockbox Utility on player</source>
+ <translation>安装Rockbox安装程序到你的播放器</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="917"/>
+ <source>&amp;Configure</source>
+ <translation>&amp;设置</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="922"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;退出</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="925"/>
+ <source>Ctrl+Q</source>
+ <translation>Ctrl+Q</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="935"/>
+ <source>About &amp;Qt</source>
+ <translation>关于&amp;Qt</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="940"/>
+ <source>&amp;Help</source>
+ <translation>&amp;帮助</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="953"/>
+ <source>Complete Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="961"/>
+ <source>Small Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="800"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="855"/>
+ <source>Action&amp;s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="859"/>
+ <source>Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="866"/>
+ <source>Quick Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="873"/>
+ <source>Extras</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="881"/>
+ <source>Accessibility</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="889"/>
+ <source>Uninstallation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="945"/>
+ <source>Info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="985"/>
+ <source>Fonts Package</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="993"/>
+ <source>Install Themes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1001"/>
+ <source>Install Game Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1009"/>
+ <source>Install Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1017"/>
+ <source>Create Talk Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1025"/>
+ <source>Remove bootloader</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1038"/>
+ <source>Read PDF manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1043"/>
+ <source>Read HTML manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1048"/>
+ <source>Download PDF manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1053"/>
+ <source>Download HTML manual (zip)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="558"/>
+ <source>Create Voice files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="574"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1061"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1064"/>
+ <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
+e File</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SapiCfgFrm</name>
+ <message>
+ <location filename="sapicfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">设置</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="62"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="25"/>
+ <source>Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="87"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="107"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="117"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="35"/>
+ <source>Voice</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="45"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExes</name>
+ <message>
+ <location filename="tts.cpp" line="123"/>
+ <source>TTS executable not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExesCfgFrm</name>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">设置</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="31"/>
+ <source>Path to TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;浏览</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="52"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>TTSSapi</name>
+ <message>
+ <location filename="tts.cpp" line="274"/>
+ <source>Could not copy the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="tts.cpp" line="292"/>
+ <source>Could not start the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TalkFileCreator</name>
+ <message>
+ <location filename="talkfile.cpp" line="31"/>
+ <source>Starting Talk file generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="41"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="52"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="70"/>
+ <source>Talk file creation aborted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="132"/>
+ <source>Voicing of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="135"/>
+ <source>Voicing of %s failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="143"/>
+ <source>Encoding of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="146"/>
+ <source>Encoding of %1 failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="173"/>
+ <source>Finished creating Talk files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemeInstallFrm</name>
+ <message>
+ <location filename="installthemesfrm.ui" line="13"/>
+ <source>Theme Installation</source>
+ <translation>安装主题</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="48"/>
+ <source>Selected Theme</source>
+ <translation>被选择的主题</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="73"/>
+ <source>Description</source>
+ <translation>描述</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="83"/>
+ <source>Download size:</source>
+ <translation>下载大小:</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="128"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="108"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="118"/>
+ <source>Install &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesInstallWindow</name>
+ <message>
+ <location filename="installthemes.cpp" line="34"/>
+ <source>no theme selected</source>
+ <translation>没有选择主题</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="117"/>
+ <source>Network error: %1.
+Please check your network and proxy settings.</source>
+ <translation>网络错误: %1.
+请检查你的网络和代理服务的设置.</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>???????:
+%1</source>
+ <translation type="obsolete">L&apos;erreur suivante s&apos;est produite :
+%1</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="133"/>
+ <source>done.</source>
+ <translation>完成.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="161"/>
+ <source>fetching details for %1</source>
+ <translation>正在拿取 %1 的细节</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="163"/>
+ <source>fetching preview ...</source>
+ <translation>正在拿取预览...</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>Download size %1 kiB</source>
+ <translation type="obsolete">下载大小 %1 kiB</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="184"/>
+ <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>unknown</source>
+ <translation>不明</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>no description</source>
+ <translation>无描述</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="222"/>
+ <source>no theme preview</source>
+ <translation>无主题预览</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="254"/>
+ <source>getting themes information ...</source>
+ <translation>正在拿取主题信息...</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="312"/>
+ <source>Mount point is wrong!</source>
+ <translation>Mountpoint 错误!</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="128"/>
+ <source>the following error occured:
+%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="171"/>
+ <source>Download size %L1 kiB</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UnZip</name>
+ <message>
+ <location filename="zip/unzip.cpp" line="245"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>成功完成 ZIP 程序.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="246"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>初始化zlib失败.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="247"/>
+ <source>zlib library error.</source>
+ <translation>zlib错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="248"/>
+ <source>Unable to create or open file.</source>
+ <translation>无法建立或打开文件.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="249"/>
+ <source>Partially corrupted archive. Some files might be extracted.</source>
+ <translation>压缩文件部分损坏. 一些文件可能可以被恢复. </translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="250"/>
+ <source>Corrupted archive.</source>
+ <translation>压缩文件损坏.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="251"/>
+ <source>Wrong password.</source>
+ <translation>密码不正确.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="252"/>
+ <source>No archive has been created yet.</source>
+ <translation>压缩文件还没有被建立.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="253"/>
+ <source>File or directory does not exist.</source>
+ <translation>文件或文件夹不存在.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="254"/>
+ <source>File read error.</source>
+ <translation>文件读取错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="255"/>
+ <source>File write error.</source>
+ <translation>文件写入错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="256"/>
+ <source>File seek error.</source>
+ <translation>文件内寻找错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="257"/>
+ <source>Unable to create a directory.</source>
+ <translation>无法建立文件夹.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="258"/>
+ <source>Invalid device.</source>
+ <translation>无效播放器.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="259"/>
+ <source>Invalid or incompatible zip archive.</source>
+ <translation>无效或不支持压缩文件.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="260"/>
+ <source>Inconsistent headers. Archive might be corrupted.</source>
+ <translation>文件头不正常. 压缩文件可能已损坏. </translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="264"/>
+ <source>Unknown error.</source>
+ <translation>不明错误.</translation>
+ </message>
+</context>
+<context>
+ <name>UninstallFrm</name>
+ <message>
+ <location filename="uninstallfrm.ui" line="16"/>
+ <source>Uninstall Rockbox</source>
+ <translation>卸载 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="35"/>
+ <source>Please select the Uninstallation Methodl</source>
+ <translation>请选择卸载模式</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="45"/>
+ <source>Uninstallation Method</source>
+ <translation>卸载模式</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="51"/>
+ <source>Complete Uninstallation</source>
+ <translation>完全卸载</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="58"/>
+ <source>Smart Uninstallation</source>
+ <translation>智能卸载</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="68"/>
+ <source>Please select what you want to uninstall</source>
+ <translation>请选择卸载部分</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="78"/>
+ <source>Installed Parts</source>
+ <translation>已安装的部分</translation>
+ </message>
+ <message>
+ <location filename="" line="6357100"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="128"/>
+ <source>&amp;Uninstall</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Uninstaller</name>
+ <message>
+ <location filename="uninstall.cpp" line="45"/>
+ <source>Starting Uninstallation</source>
+ <translation>开始卸载</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="37"/>
+ <source>Finished Uninstallation</source>
+ <translation>完成卸载</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="51"/>
+ <source>Uninstalling </source>
+ <translation>正在卸载</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="81"/>
+ <source>Could not delete: </source>
+ <translation>无法删除: </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="108"/>
+ <source>Uninstallation finished</source>
+ <translation>完成卸载</translation>
+ </message>
+</context>
+<context>
+ <name>VoiceFileCreator</name>
+ <message>
+ <location filename="voicefile.cpp" line="41"/>
+ <source>Starting Voicefile generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="55"/>
+ <source>failed to open rockbox-info.txt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="124"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation type="unfinished">下载错误: 接到 HTTP 错误 %1. </translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="128"/>
+ <source>Cached file used.</source>
+ <translation type="unfinished">使用缓冲文件.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="130"/>
+ <source>Download error: %1</source>
+ <translation type="unfinished">下载错误: %1</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="134"/>
+ <source>Download finished.</source>
+ <translation type="unfinished">完成下载.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="143"/>
+ <source>failed to open downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="156"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="167"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="209"/>
+ <source>The downloaded file was empty!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="246"/>
+ <source>creating </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="269"/>
+ <source>Error opening downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="277"/>
+ <source>Error opening output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="291"/>
+ <source>successfully created.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Zip</name>
+ <message>
+ <location filename="zip/zip.cpp" line="479"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>成功完成 ZIP 程序.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="480"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>初始化zlib失败.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="481"/>
+ <source>zlib library error.</source>
+ <translation>zlib错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="482"/>
+ <source>Unable to create or open file.</source>
+ <translation>无法建立或打开文件.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="483"/>
+ <source>No archive has been created yet.</source>
+ <translation>压缩文件还没有被建立.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="484"/>
+ <source>File or directory does not exist.</source>
+ <translation>文件或文件夹不存在.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="485"/>
+ <source>File read error.</source>
+ <translation>文件读取错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="486"/>
+ <source>File write error.</source>
+ <translation>文件写入错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="487"/>
+ <source>File seek error.</source>
+ <translation>文件内寻找错误.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="491"/>
+ <source>Unknown error.</source>
+ <translation>不明错误.</translation>
+ </message>
+</context>
+<context>
+ <name>ZipInstaller</name>
+ <message>
+ <location filename="installzip.cpp" line="54"/>
+ <source>done.</source>
+ <translation>完成.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="62"/>
+ <source>Installation finished successfully.</source>
+ <translation>成功完成安装.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="77"/>
+ <source>Downloading file %1.%2</source>
+ <translation>正在下载文件 %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="126"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>下载错误: 接到 HTTP 错误 %1. </translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="131"/>
+ <source>Cached file used.</source>
+ <translation>使用缓冲文件.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="133"/>
+ <source>Download error: %1</source>
+ <translation>下载错误: %1</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="138"/>
+ <source>Download finished.</source>
+ <translation>完成下载.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="144"/>
+ <source>Extracting file.</source>
+ <translation>正在解压文件.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="153"/>
+ <source>Opening archive failed: %1.</source>
+ <translation>打开压缩文件错误: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="162"/>
+ <source>Extracting failed: %1.</source>
+ <translation>解压错误: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="172"/>
+ <source>Installing file.</source>
+ <translation>正在安装文件.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="183"/>
+ <source>Installing file failed.</source>
+ <translation>安装文件失败.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="193"/>
+ <source>Creating installation log</source>
+ <translation>正在建立安装日志</translation>
+ </message>
+</context>
+<context>
+ <name>aboutBox</name>
+ <message>
+ <location filename="aboutbox.ui" line="13"/>
+ <source>About Rockbox Utility</source>
+ <translation>关于Rockbox安装程序</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="34"/>
+ <source>The Rockbox Utility</source>
+ <translation>Rockbox安装程序</translation>
+ </message>
+ <message encoding="UTF-8">
+ <location filename="aboutbox.ui" line="56"/>
+ <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
+
+© 2005 - 2007 The Rockbox Team.
+Released under the GNU General Public License v2.</source>
+ <translation>安装程序和一般管理程序为 Roxkbox 准备. Roxkbox 是一个开源的音乐播放器固件.
+
+© 2005 - 2007 Rockbox 团队.
+授权于 GNU General Public License v2.</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="72"/>
+ <source>http://www.rockbox.org</source>
+ <translation>http://www.rockbox.org</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="95"/>
+ <source>&amp;Credits</source>
+ <translation>&amp;特别鸣谢</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="124"/>
+ <source>&amp;License</source>
+ <translation>&amp;授权</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="157"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+</context>
+</TS>
diff --git a/rbutil/rbutilqt/rbutil_zh_TW.ts b/rbutil/rbutilqt/rbutil_zh_TW.ts
index 767edf4d31..dfb1cd9417 100644
--- a/rbutil/rbutilqt/rbutil_zh_TW.ts
+++ b/rbutil/rbutilqt/rbutil_zh_TW.ts
@@ -1,2634 +1,2634 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh">
-<context>
- <name>BootloaderInstaller</name>
- <message>
- <location filename="installbootloader.cpp" line="32"/>
- <source>Starting bootloader installation</source>
- <translation>開始安裝啟動程式</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="122"/>
- <source>unsupported install Method</source>
- <translation>不支持的安裝方式</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="85"/>
- <source>Starting bootloader uninstallation</source>
- <translation>開始卸載啟動程式</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="116"/>
- <source>No uninstallation possible</source>
- <translation>不可以卸載</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="151"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="157"/>
- <source>Download error: %1</source>
- <translation>下載錯誤: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="162"/>
- <source>Download finished.</source>
- <translation>完成下載.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="224"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="237"/>
- <source>Creating installation log</source>
- <translation>正在添加安裝日志</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="253"/>
- <source>Editing installation log</source>
- <translation>正在寫入安裝日志</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1093"/>
- <source>Downloading file %1.%2</source>
- <translation>正在下載文件 %1.%2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="323"/>
- <source>Could not find the Original Firmware at: %1</source>
- <translation>找不到厂家固件在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="545"/>
- <source>Could not remove the Firmware at: %1</source>
- <translation>刪除不了固件在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="554"/>
- <source>Could not copy the Firmware from: %1 to %2</source>
- <translation>不能复制固件從 %1 到 %2 </translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="360"/>
- <source>Finishing bootloader install</source>
- <translation>啟動程式安裝完成</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="370"/>
- <source>Could not find the Firmware at: %1</source>
- <translation>找不到固件在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="596"/>
- <source>Could not rename: %1 to %2</source>
- <translation>不能把 %1 重命名為 %2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1207"/>
- <source>Could not copy: %1 to %2</source>
- <translation>不能复制 %1 到 %2</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1217"/>
- <source>Bootloader install finished successfully.</source>
- <translation>成功安裝啟動程序</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1218"/>
- <source>To finish the Bootloader installation, follow the steps below.</source>
- <translation>請按照以下步驟完成啟動程序的安裝</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1219"/>
- <source>1. Eject/Unmount your Device.</source>
- <translation>1. 彈出/退出你的播放机.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="413"/>
- <source>2. Unplug USB and any Power adapters.</source>
- <translation>2. 拔出USB接線, 斷离所有沖電設備.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="414"/>
- <source>3. Hold POWER to turn the Device off.</source>
- <translation>3. 按POWER關机.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="415"/>
- <source>4. Toggle the Battery switch on the Device.</source>
- <translation>4. 先關再開電池開關.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="416"/>
- <source>5. Hold POWER to boot the Rockbox bootloader.</source>
- <translation>5. 按POWER啟動 Rockbox 的啟動程序.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="471"/>
- <source>2. Turn you Device OFF.</source>
- <translation>2. 關閉你的播放器.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="472"/>
- <source>3. Insert Charger.</source>
- <translation>3. 插入充電器.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="582"/>
- <source>Firmware does not exist: %1</source>
- <translation>固件不存在: %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="639"/>
- <source>Searching for ipods</source>
- <translation>正在尋找 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="645"/>
- <source>No Ipods found</source>
- <translation>找不到 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="651"/>
- <source>Too many Ipods found</source>
- <translation>找到太多的 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="781"/>
- <source>could not open ipod</source>
- <translation>打開不了 iPods</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="996"/>
- <source>could not read partitiontable</source>
- <translation>讀不了分區表</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="795"/>
- <source>No partition 0 on disk</source>
- <translation>硬盤上沒有0分區</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>[INFO] Part Start Sector End Sector Size (MB) Type</source>
- <translation type="obsolete">[INFO] 分區 開始磁區 結算磁區 大小 (MB) 類別</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="806"/>
- <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
- <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="823"/>
- <source>Failed to read firmware directory</source>
- <translation>讀不了固件文件夾</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="829"/>
- <source>Unknown version number in firmware (%1)</source>
- <translation>固件版本不明 (%1)</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
- <translation type="obsolete">警告: 這是苹果格式的iPod, Rockbox 不能在這運行. 請轉換成 Windows 格式的iPod.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="847"/>
- <source>Could not open Ipod in RW mode</source>
- <translation>不能以讀寫方式打開iPod</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="751"/>
- <source>No bootloader detected.</source>
- <translation>找不到啟動程序.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="966"/>
- <source>Successfully removed Bootloader</source>
- <translation>成功刪除啟動程序</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="974"/>
- <source>--delete-bootloader failed.</source>
- <translation>--刪除啟動程序失敗.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1031"/>
- <source>Successfully added Bootloader</source>
- <translation>成功添加啟動程序</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1039"/>
- <source>failed to add Bootloader</source>
- <translation>添加啟動程序失敗</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="882"/>
- <source>Searching for sansas</source>
- <translation>正在尋找 sansas</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="888"/>
- <source>No Sansa found</source>
- <translation>找不到 Sansa</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="894"/>
- <source>Too many Sansas found</source>
- <translation>找到了太多的 sansas</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="989"/>
- <source>could not open Sansa</source>
- <translation>打開不了 sansa</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Disk is not an E200 (%1), aborting.</source>
- <translation type="obsolete">硬盤不是 E200 (%1), 正在取消...</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1017"/>
- <source>********************************************
-OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
-You must reinstall the original Sansa firmware before running
-sansapatcher for the first time.
-See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
-*********************************************
-</source>
- <translation>********************************************
-找到了舊 ROCKBOX, 正在取消...
-你必須重新安裝厂家固件才可以第一次
-運行 sansapatcher
-參考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文)
-*********************************************
-</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1024"/>
- <source>Could not open Sansa in RW mode</source>
- <translation>不能以讀寫方式打開 sansa</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1055"/>
- <source>Could not MD5Sum original firmware</source>
- <translation>不能驗證厂家固件的MD5sum</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1085"/>
- <source>Could not detect firmware type</source>
- <translation>找不到固件類別</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1148"/>
- <source>Error in descramble</source>
- <translation>descramble 錯誤</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1158"/>
- <source>Error in patching</source>
- <translation>補丁過程錯誤</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1168"/>
- <source>Error in scramble</source>
- <translation>scramble 錯誤</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1179"/>
- <source>Error in checksumming</source>
- <translation>驗證錯誤</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1220"/>
- <source>2. Boot into the original Firmware.</source>
- <translation>2. 啟動到厂家固件.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1221"/>
- <source>3. Use the Firmware flash option in the Original Firmware.</source>
- <translation>3. 在厂家固件里選擇快閃記憶體.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1222"/>
- <source>4. Reboot.</source>
- <translation>4. 重新開机.</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="533"/>
- <source>Original Firmware does not exist: %1</source>
- <translation>厂家固件不存在 : %1</translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="800"/>
- <source>[INFO] Part Start Sector End Sector Size (MB) Type
-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="839"/>
- <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
-See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installbootloader.cpp" line="1005"/>
- <source>Disk is not a Sansa (%1), aborting.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>BrowseDirtreeFrm</name>
- <message>
- <location filename="browsedirtreefrm.ui" line="13"/>
- <source>Find Directory</source>
- <translation>尋找文件夾</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="19"/>
- <source>Browse to the destination folder</source>
- <translation>瀏覽目的地文件夾</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="47"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="browsedirtreefrm.ui" line="57"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>BrowseOFFrm</name>
- <message>
- <location filename="browseoffrm.ui" line="13"/>
- <source>Find original Firmware</source>
- <translation>尋找厂家固件</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="19"/>
- <source>Browse for a downloaded copy of the original firmware</source>
- <translation>尋找已下載的厂家固件</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="32"/>
- <source>Browse</source>
- <translation>瀏覽</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="54"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="browseoffrm.ui" line="64"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>Config</name>
- <message>
- <location filename="configure.cpp" line="110"/>
- <source>Language changed</source>
- <translation>語言已改變</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="111"/>
- <source>You need to restart the application for the changed language to take effect.</source>
- <translation>你需要重新開啟本軟件才能使用新語言.</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Current cache size is %1 kiB.</source>
- <translation type="obsolete">現在緩沖的大小是 %1 kiB.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="593"/>
- <source>Autodetection</source>
- <translation>自動識別</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="587"/>
- <source>Could not detect a Mountpoint.
-Select your Mountpoint manually.</source>
- <translation>找不到 mountpoint
-請手動選擇你的 mountpoing.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="595"/>
- <source>Could not detect a device.
-Select your device and Mountpoint manually.</source>
- <translation>不能識別你的播放器
-請手動選擇.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="603"/>
- <source>Really delete cache?</source>
- <translation>你肯定要刪除緩沖嗎?</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="606"/>
- <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
- <translation>你真的肯定要刪除緩沖嗎? 請确認你的設定是正确的因為這會刪除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夾 !</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="612"/>
- <source>Path wrong!</source>
- <translation>路徑錯誤!</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="613"/>
- <source>The cache path is invalid. Aborting.</source>
- <translation>緩沖路徑錯誤. 正在取消.</translation>
- </message>
- <message>
- <location filename="configure.cpp" line="56"/>
- <source> (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="220"/>
- <source>Current cache size is %L1 kiB.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="418"/>
- <source>(system proxy is disabled)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="485"/>
- <source>Select your device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="569"/>
- <source>Sansa e200 in MTP mode found!
-You need to change your player to MSC mode for installation. </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="572"/>
- <source>H10 20GB in MTP mode found!
-You need to change your player to UMS mode for installation. </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="573"/>
- <source>Unless you changed this installation will fail!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configure.cpp" line="575"/>
- <source>Fatal error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ConfigForm</name>
- <message>
- <location filename="configurefrm.ui" line="13"/>
- <source>Configuration</source>
- <translation>設置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="19"/>
- <source>Configure Rockbox Utility</source>
- <translation>設置 Rockbox 安裝程序</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="30"/>
- <source>&amp;Device</source>
- <translation>&amp;播放器</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="39"/>
- <source>Select your device in the &amp;filesystem</source>
- <translation>請選擇你的播放器在你的 &amp;文件系統</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="286"/>
- <source>&amp;Browse</source>
- <translation>&amp;瀏覽</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="66"/>
- <source>&amp;Select your audio player</source>
- <translation>&amp;選擇你的音樂播放器</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="77"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="98"/>
- <source>&amp;Autodetect</source>
- <translation>自動識別(&amp;A)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="109"/>
- <source>&amp;Proxy</source>
- <translation>网絡代理服務(&amp;P)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="118"/>
- <source>&amp;No Proxy</source>
- <translation>沒有网絡代理服務(&amp;N)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="128"/>
- <source>Use S&amp;ystem values</source>
- <translation>使用系統值(&amp;S)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="135"/>
- <source>&amp;Manual Proxy settings</source>
- <translation>手動設置代理服務(&amp;M)</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="142"/>
- <source>Proxy Values</source>
- <translation>代理服務值</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="148"/>
- <source>&amp;Host:</source>
- <translation>&amp;主机:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="165"/>
- <source>&amp;Port:</source>
- <translation>&amp;接口:</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="188"/>
- <source>&amp;Username</source>
- <translation>&amp;用戶名</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="198"/>
- <source>Pass&amp;word</source>
- <translation>&amp;密碼</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="225"/>
- <source>&amp;Language</source>
- <translation>&amp;語言</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="238"/>
- <source>Cac&amp;he</source>
- <translation>&amp;緩沖</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="244"/>
- <source>Download cache settings</source>
- <translation>下載緩沖設置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="250"/>
- <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
- <translation>Rockbox 安裝程序使用本机緩沖來保存网絡資料. 你可以改變這個緩沖的路徑. 啟動下線模式后, 你還可以用路徑來保存文件.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="260"/>
- <source>Current cache size is %1</source>
- <translation>現在緩沖大小是 %1</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="269"/>
- <source>P&amp;ath</source>
- <translation>&amp;路徑</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="279"/>
- <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
- <translation>輸入無效地址會重設到系統臨時文件夾.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="300"/>
- <source>Disable local &amp;download cache</source>
- <translation>&amp;不使用本机緩沖</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="307"/>
- <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
- <translation>所有資料, 包括更新資料, 將會從本机緩沖里拿取. 不要選擇此模式如果你不需要下線安裝. 注意: 你需要先用网絡做至少一次安裝才可以下載到需要的文件.</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="310"/>
- <source>O&amp;ffline mode</source>
- <translation>&amp;下線安裝</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="345"/>
- <source>Clean cache &amp;now</source>
- <translation>&amp;現在清除緩沖文件夾</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="356"/>
- <source>&amp;TTS &amp;&amp; Encoder</source>
- <translation>&amp;TTS &amp;&amp; 信號轉換器</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="365"/>
- <source>TTS Engine</source>
- <translation>TTS 引擎</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Select TTS profile</source>
- <translation type="obsolete">&amp; 選擇 TTS 個人設置</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>TTS executable</source>
- <translation type="obsolete">TTS 可執行文件</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>TTS Options</source>
- <translation type="obsolete">TTS 設置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="421"/>
- <source>Encoder Engine</source>
- <translation>信號轉換器引擎</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Select &amp;encoder profile</source>
- <translation type="obsolete">&amp;選擇引擎設置</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Encoder executable</source>
- <translation type="obsolete">引擎可執行文件</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>B&amp;rowse</source>
- <translation type="obsolete">&amp;瀏覽</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Encoder options</source>
- <translation type="obsolete">信號轉換器設置</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="507"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="517"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="371"/>
- <source>&amp;Select TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="384"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="447"/>
- <source>Configuration invalid !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="408"/>
- <source>Configure &amp;TTS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="427"/>
- <source>Select &amp;encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="440"/>
- <source>Configure encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="configurefrm.ui" line="464"/>
- <source> Configure &amp;Enc</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Configure</name>
- <message>
- <location filename="configure.cpp" line="469"/>
- <source>English</source>
- <translation type="unfinished">中文 (Chinese Traditional)</translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceFrm</name>
- <message>
- <location filename="createvoicefrm.ui" line="16"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="41"/>
- <source>Select the Language you want to generate a voicefile for:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="51"/>
- <source>Generation settings</source>
- <translation type="unfinished">語音合成設置</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="57"/>
- <source>Encoder profile:</source>
- <translation type="unfinished">轉化器設置:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="64"/>
- <source>TTS profile:</source>
- <translation type="unfinished">TTS 設置:</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="77"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="128"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
- <message>
- <location filename="createvoicefrm.ui" line="152"/>
- <source>Wavtrim Threshold</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CreateVoiceWindow</name>
- <message>
- <location filename="createvoicewindow.cpp" line="96"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="98"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="createvoicewindow.cpp" line="106"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>EncExesCfgFrm</name>
- <message>
- <location filename="encexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">設置</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="19"/>
- <source>Configure Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="31"/>
- <source>Path to Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;瀏覽</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="52"/>
- <source>Encoder options</source>
- <translation type="unfinished">信號轉換器設置</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="encexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>Install</name>
- <message>
- <location filename="install.cpp" line="55"/>
- <source>Mount point is wrong!</source>
- <translation>Mountpoint 錯誤!</translation>
- </message>
- <message>
- <location filename="install.cpp" line="141"/>
- <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
- <translation>這是最新的Rockbox版本. 每一個更改后這版本就會更新. 最新的版本是 r%1 (%2).</translation>
- </message>
- <message>
- <location filename="install.cpp" line="145"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="install.cpp" line="148"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. </translation>
- </message>
- <message>
- <location filename="install.cpp" line="157"/>
- <source>This is the last released version of Rockbox.</source>
- <translation>這是最新的Rockbox版本.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="163"/>
- <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;這是建議使用的版本.&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>These are automatically built each day from the current development source code. This generally has more features than the last release but may be much less stable. Features may change regularly.</source>
- <translation type="obsolete">這是每天自動更新的版本. 這一般來說比發行版本要多功能, 但可能沒有那么穩定. 功能可能會隨時改變.</translation>
- </message>
- <message>
- <location filename="install.cpp" line="177"/>
- <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
- <translation>&lt;b&gt;注意:&lt;/b&gt; 存檔的版本是 r%1 (%2).</translation>
- </message>
- <message>
- <location filename="install.cpp" line="175"/>
- <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallFrm</name>
- <message>
- <location filename="installfrm.ui" line="16"/>
- <source>Install Rockbox</source>
- <translation>安裝 Rockbox</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="35"/>
- <source>Please select the Rockbox version you want to install on your player:</source>
- <translation>請選擇你要安裝在你的播放器上的版本:</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="45"/>
- <source>Version</source>
- <translation>版本</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="51"/>
- <source>Rockbox &amp;stable</source>
- <translation>&amp;穩定的 Rockbox</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="58"/>
- <source>&amp;Archived Build</source>
- <translation>&amp;存檔的版本</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="65"/>
- <source>&amp;Current Build</source>
- <translation>&amp;最新的版本</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="75"/>
- <source>Details</source>
- <translation>細節</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="81"/>
- <source>Details about the selected version</source>
- <translation>被選擇版本的細節</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="91"/>
- <source>Note</source>
- <translation>注意</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="104"/>
- <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
- <translation>Rockbox安裝程序儲存以前下載的文件在你的硬盤上以減少网絡交通. 如果你的Rockbox不能使用, 選擇這項去下載一份新的文件</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="107"/>
- <source>&amp;Don&apos;t use locally cached copy</source>
- <translation>&amp;不使用硬盤上緩沖的文件</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="152"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="installfrm.ui" line="142"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallProgressFrm</name>
- <message>
- <location filename="installprogressfrm.ui" line="19"/>
- <source>Progress</source>
- <translation>進程</translation>
- </message>
- <message>
- <location filename="installprogressfrm.ui" line="56"/>
- <source>&amp;Abort</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>InstallTalkFrm</name>
- <message>
- <location filename="installtalkfrm.ui" line="16"/>
- <source>Install Talk Files</source>
- <translation>安裝說話文件</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="35"/>
- <source>Select the Folder to generate Talkfiles for.</source>
- <translation>選擇需要安裝說話文件的文件夾</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="45"/>
- <source>&amp;Browse</source>
- <translation>&amp;瀏覽</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="55"/>
- <source>Generation settings</source>
- <translation>語音合成設置</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="61"/>
- <source>Encoder profile:</source>
- <translation>轉化器設置:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="68"/>
- <source>TTS profile:</source>
- <translation>TTS 設置:</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="104"/>
- <source>Generation options</source>
- <translation>語音合成設置</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="110"/>
- <source>Overwrite Wavefiles</source>
- <translation>覆蓋已存在的 Wavefiles</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="120"/>
- <source>Remove Wavefiles</source>
- <translation>刪除 Wavefiles</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="130"/>
- <source>Run recursive</source>
- <translation>遞歸尋找</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="140"/>
- <source>Strip Extensions</source>
- <translation>除去后綴</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="150"/>
- <source>Overwrite Talkfiles</source>
- <translation>刪除語音文件</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="224"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="81"/>
- <source>Change</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="160"/>
- <source>Generate .talk files for Folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="170"/>
- <source>Generate .talk files for Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkfrm.ui" line="214"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>InstallTalkWindow</name>
- <message>
- <location filename="installtalkwindow.cpp" line="84"/>
- <source>The Folder to Talk is wrong!</source>
- <translation>要支持語音的文件夾錯誤!</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Path to Encoder is wrong!</source>
- <translation type="obsolete">語音生成轉換器的路徑錯誤!</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Path to TTS is wrong!</source>
- <translation type="obsolete">TTS引擎的路徑錯誤!</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">TTS 設置: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Invalid TTS profile!</source>
- <translation type="obsolete">無效TTS設置 !</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="obsolete">轉換器設置: &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Invalid encoder profile!</source>
- <translation type="obsolete">無效轉化器設置!</translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="119"/>
- <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="121"/>
- <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installtalkwindow.cpp" line="129"/>
- <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>PreviewFrm</name>
- <message>
- <location filename="previewfrm.ui" line="16"/>
- <source>Preview</source>
- <translation>預覽</translation>
- </message>
-</context>
-<context>
- <name>ProgressLoggerGui</name>
- <message>
- <location filename="progressloggergui.cpp" line="79"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location filename="progressloggergui.cpp" line="89"/>
- <source>&amp;Abort</source>
- <translation>&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>RbSpeexCfgFrm</name>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">設置</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="19"/>
- <source>Configure RbSpeex Encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="38"/>
- <source>Volume</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="45"/>
- <source>Narrowband</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="68"/>
- <source>Quality</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="85"/>
- <source>Complexity</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="115"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="125"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
- <message>
- <location filename="rbspeexcfgfrm.ui" line="95"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RbUtilQt</name>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>File</source>
- <translation>文件</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="78"/>
- <source>Version</source>
- <translation>版本</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="210"/>
- <source>Network error: %1. Please check your network and proxy settings.</source>
- <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="305"/>
- <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
- <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="325"/>
- <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用戶手冊(英文)&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="327"/>
- <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用戶手冊(英文,在瀏覽器打開)&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="330"/>
- <source>Select a device for a link to the correct manual</source>
- <translation>請選擇你的播放器</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="332"/>
- <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
- <translation>&lt;a href=&apos;%1&apos;&gt;用戶手冊總觀&lt;/a&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="695"/>
- <source>Confirm Installation</source>
- <translation>确認安裝</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="341"/>
- <source>Do you really want to make a complete Installation?</source>
- <translation>你确認要一個完整的安裝?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="877"/>
- <source>Mount point is wrong!</source>
- <translation>Mountpoint 錯誤!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="393"/>
- <source>Do you really want to make a small Installation?</source>
- <translation>你确認要一個智能的安裝?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="533"/>
- <source>Do you really want to install the Bootloader?</source>
- <translation>你确認要安裝啟動程序?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="800"/>
- <source>Could not get the bootloader info file!</source>
- <translation>找不到啟動程序的資料!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="568"/>
- <source>Bootloader Installation</source>
- <translation>安裝啟動程序</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>It seem your Bootloader is already uptodate.
-Do really want to install it?</source>
- <translation type="obsolete">你的啟動程序好象已經是最新版本.
-你确認要再安裝?</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Bootloader installation Canceled!</source>
- <translation type="obsolete">啟動程序安裝被取消!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="593"/>
- <source>Original Firmware Path is wrong!</source>
- <translation>厂家固件路徑錯誤!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="606"/>
- <source>Original Firmware selection Canceled!</source>
- <translation>厂家固件安裝被取消!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="621"/>
- <source>Do you really want to install the fonts package?</source>
- <translation>你确認要安裝字體包裹嗎?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="656"/>
- <source>Do you really want to install the voice file?</source>
- <translation>你确認要安裝語音文件嗎?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="696"/>
- <source>Do you really want to install the game addon files?</source>
- <translation>你确認要安裝游戲附件嗎?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="782"/>
- <source>Confirm Uninstallation</source>
- <translation>确認安裝</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="783"/>
- <source>Do you really want to uninstall the Bootloader?</source>
- <translation>你确認要卸載啟動程序嗎?</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="813"/>
- <source>Confirm download</source>
- <translation>确認下載</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="815"/>
- <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
- <translation>你确認要下載用戶手冊嗎? 用戶手冊將會被放在你播放器的主目錄里.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="863"/>
- <source>Confirm installation</source>
- <translation>确認安裝</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="865"/>
- <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
- <translation>你确認要安裝Rockbox安裝程序到你的播放器上嗎? 安裝后你可以從你播放器上運行此程序.</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="873"/>
- <source>Installing Rockbox Utility</source>
- <translation>安裝 Rockbox安裝程序</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="887"/>
- <source>Error installing Rockbox Utility</source>
- <translation>安裝 Rockbox安裝程序錯誤!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="891"/>
- <source>Installing user configuration</source>
- <translation>安裝用戶設置</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="893"/>
- <source>Error installing user configuration</source>
- <translation>安裝用戶設置錯誤</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="897"/>
- <source>Successfully installed Rockbox Utility.</source>
- <translation>成功安裝 Rockbox安裝程序.</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Bootloader installation Skipped!</source>
- <translation type="obsolete">啟動程序安裝過程被跳過!</translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1014"/>
- <source>Configuration error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="187"/>
- <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="570"/>
- <source>The bootloader is already installed and up to date.
-Do want to replace the current bootloader?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="574"/>
- <source>Bootloader installation skipped!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="691"/>
- <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqt.cpp" line="1016"/>
- <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RbUtilQtFrm</name>
- <message>
- <location filename="rbutilqtfrm.ui" line="13"/>
- <source>Rockbox Utility</source>
- <translation>Rockbox 安裝程序</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="78"/>
- <source>Device</source>
- <translation>播放器</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="90"/>
- <source>Selected device:</source>
- <translation>選擇的播放器:</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="97"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;不明&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="120"/>
- <source>&amp;Change</source>
- <translation>&amp;更改</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="137"/>
- <source>&amp;Quick Start</source>
- <translation>&amp;快速開始</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="140"/>
- <source>Welcome</source>
- <translation>歡迎</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>...</source>
- <translation type="obsolete">...</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="162"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;完整安裝&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;這將安裝啟動程序, 最新版本和附加功能. 如果這是你第一次安裝, 這是建議的安裝.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="192"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;最小安裝&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;這將安裝啟動程序和最新版本.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="236"/>
- <source>&amp;Installation</source>
- <translation>&amp;安裝</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="239"/>
- <source>Basic Rockbox installation</source>
- <translation>基本Rockbox安裝</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="969"/>
- <source>Install Bootloader</source>
- <translation>安裝啟動程序</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="261"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝啟動程序&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;ROCKBOX 可能需要安裝啟動程序后才可以運行.你只需要安裝啟動程序如果這是你的第一次安裝.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="977"/>
- <source>Install Rockbox</source>
- <translation>安裝 Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="294"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝 Rockbox&lt;/span&gt; 在你的音樂播放器里&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="340"/>
- <source>&amp;Extras</source>
- <translation>&amp;附加功能</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="343"/>
- <source>Install extras for Rockbox</source>
- <translation>安裝附加功能</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="349"/>
- <source>Install Fonts package</source>
- <translation>安裝字體包裹</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="365"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;字體包裹&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;字體包裹里包含一些常用的字體. 強烈建議安裝此包裹.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="379"/>
- <source>Install themes</source>
- <translation>安裝主題</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="395"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝主題&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox 的外觀可以被個人化. 你可以選擇并安裝几個官方認證的主題. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="409"/>
- <source>Install game files</source>
- <translation>安裝游戲文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="425"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝游戲文件&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom游戲需要wad文件才可以運行.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="466"/>
- <source>&amp;Accessibility</source>
- <translation>&amp;輔助</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="469"/>
- <source>Install accessibility add-ons</source>
- <translation>安裝輔助功能</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="475"/>
- <source>Install Voice files</source>
- <translation>安裝語音文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="491"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝語音文件&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;如果你需要Rockbox用語音說出用戶界面, 你需要安裝語音文件. 語音界面將會被自動開啟,所以你安裝語音文件后Rockbox就會對你說話.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="505"/>
- <source>Install Talk files</source>
- <translation>安裝說話文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="521"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;建立說話文件&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;如果你需要Rockbox說出你文件和文件夾的名稱, 你要安裝說話文件. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="587"/>
- <source>&amp;Uninstallation</source>
- <translation>&amp;卸載</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1033"/>
- <source>Uninstall Rockbox</source>
- <translation>卸載 Rockbox</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="596"/>
- <source>Uninstall Bootloader</source>
- <translation>卸載啟動程序</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="612"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;卸載啟動程序&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;卸載啟動程序后你就不能啟動 Rockbox 了.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="642"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;把 Rockbox&lt;/span&gt; 在你音樂播放器里刪除.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;這不會卸載啟動程序(你需要手動卸載啟動程序).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="689"/>
- <source>&amp;Manual</source>
- <translation>&amp;用戶手冊</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="692"/>
- <source>View and download the manual</source>
- <translation>查看和下載用戶手冊</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="698"/>
- <source>Read the manual</source>
- <translation>查看用戶手冊</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="704"/>
- <source>PDF manual</source>
- <translation>PDF 用戶手冊</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="717"/>
- <source>HTML manual</source>
- <translation>HTML 用戶手冊</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="733"/>
- <source>Download the manual</source>
- <translation>下載用戶手冊</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="741"/>
- <source>&amp;PDF version</source>
- <translation>PDF 版本</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="748"/>
- <source>&amp;HTML version (zip file)</source>
- <translation>HTML 版本 (zip)</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="770"/>
- <source>Down&amp;load</source>
- <translation>下載</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="794"/>
- <source>Inf&amp;o</source>
- <translation>&amp;信息</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;???????.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Composants actuellement installes.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;注意&lt;/span&gt;: 如果你手動安裝Rockbox, 這可能顯示不正确的信息!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="815"/>
- <source>1</source>
- <translation>1</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="837"/>
- <source>&amp;File</source>
- <translation>&amp;文件</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="930"/>
- <source>&amp;About</source>
- <translation>&amp;關于</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="907"/>
- <source>Empty local download cache</source>
- <translation>清除本机下載緩沖</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="912"/>
- <source>Install Rockbox Utility on player</source>
- <translation>安裝Rockbox安裝程序到你的播放器</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="917"/>
- <source>&amp;Configure</source>
- <translation>&amp;設置</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="922"/>
- <source>E&amp;xit</source>
- <translation>&amp;退出</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="925"/>
- <source>Ctrl+Q</source>
- <translation>Ctrl+Q</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="935"/>
- <source>About &amp;Qt</source>
- <translation>關于&amp;Qt</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="940"/>
- <source>&amp;Help</source>
- <translation>&amp;幫助</translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="953"/>
- <source>Complete Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="961"/>
- <source>Small Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="800"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="855"/>
- <source>Action&amp;s</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="859"/>
- <source>Installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="866"/>
- <source>Quick Start</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="873"/>
- <source>Extras</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="881"/>
- <source>Accessibility</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="889"/>
- <source>Uninstallation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="945"/>
- <source>Info</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="985"/>
- <source>Fonts Package</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="993"/>
- <source>Install Themes</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1001"/>
- <source>Install Game Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1009"/>
- <source>Install Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1017"/>
- <source>Create Talk Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1025"/>
- <source>Remove bootloader</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1038"/>
- <source>Read PDF manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1043"/>
- <source>Read HTML manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1048"/>
- <source>Download PDF manual</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1053"/>
- <source>Download HTML manual (zip)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="558"/>
- <source>Create Voice files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="574"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1061"/>
- <source>Create Voice File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="rbutilqtfrm.ui" line="1064"/>
- <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
-e File</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>SapiCfgFrm</name>
- <message>
- <location filename="sapicfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">設置</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="62"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="25"/>
- <source>Language</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="87"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="107"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="117"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="35"/>
- <source>Voice</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="sapicfgfrm.ui" line="45"/>
- <source>Speed</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExes</name>
- <message>
- <location filename="tts.cpp" line="123"/>
- <source>TTS executable not found</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TTSExesCfgFrm</name>
- <message>
- <location filename="ttsexescfgfrm.ui" line="13"/>
- <source>Configuration</source>
- <translation type="unfinished">設置</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="19"/>
- <source>Configure TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="31"/>
- <source>Path to TTS Engine</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="43"/>
- <source>&amp;Browse</source>
- <translation type="unfinished">&amp;瀏覽</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="52"/>
- <source>TTS options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="77"/>
- <source>Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="97"/>
- <source>&amp;Ok</source>
- <translation type="unfinished">&amp;OK</translation>
- </message>
- <message>
- <location filename="ttsexescfgfrm.ui" line="107"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished">&amp;取消</translation>
- </message>
-</context>
-<context>
- <name>TTSSapi</name>
- <message>
- <location filename="tts.cpp" line="274"/>
- <source>Could not copy the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="tts.cpp" line="292"/>
- <source>Could not start the Sapi-script</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TalkFileCreator</name>
- <message>
- <location filename="talkfile.cpp" line="31"/>
- <source>Starting Talk file generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="41"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="52"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="70"/>
- <source>Talk file creation aborted</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="132"/>
- <source>Voicing of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="135"/>
- <source>Voicing of %s failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="143"/>
- <source>Encoding of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="146"/>
- <source>Encoding of %1 failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="talkfile.cpp" line="173"/>
- <source>Finished creating Talk files</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ThemeInstallFrm</name>
- <message>
- <location filename="installthemesfrm.ui" line="13"/>
- <source>Theme Installation</source>
- <translation>安裝主題</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="48"/>
- <source>Selected Theme</source>
- <translation>被選擇的主題</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="73"/>
- <source>Description</source>
- <translation>描述</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="83"/>
- <source>Download size:</source>
- <translation>下載大小:</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="128"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="108"/>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installthemesfrm.ui" line="118"/>
- <source>Install &amp;All</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ThemesInstallWindow</name>
- <message>
- <location filename="installthemes.cpp" line="34"/>
- <source>no theme selected</source>
- <translation>沒有選擇主題</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="117"/>
- <source>Network error: %1.
-Please check your network and proxy settings.</source>
- <translation>网絡錯誤: %1.
-請檢查你的网絡和代理服務的設置.</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>???????:
-%1</source>
- <translation type="obsolete">L&apos;erreur suivante s&apos;est produite :
-%1</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="133"/>
- <source>done.</source>
- <translation>完成.</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="161"/>
- <source>fetching details for %1</source>
- <translation>正在拿取 %1 的細節</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="163"/>
- <source>fetching preview ...</source>
- <translation>正在拿取預覽...</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Download size %1 kiB</source>
- <translation type="obsolete">下載大小 %1 kiB</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="184"/>
- <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>unknown</source>
- <translation>不明</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="185"/>
- <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
- <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="186"/>
- <source>no description</source>
- <translation>無描述</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="222"/>
- <source>no theme preview</source>
- <translation>無主題預覽</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="254"/>
- <source>getting themes information ...</source>
- <translation>正在拿取主題信息...</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="312"/>
- <source>Mount point is wrong!</source>
- <translation>Mountpoint 錯誤!</translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="128"/>
- <source>the following error occured:
-%1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="installthemes.cpp" line="171"/>
- <source>Download size %L1 kiB</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>UnZip</name>
- <message>
- <location filename="zip/unzip.cpp" line="245"/>
- <source>ZIP operation completed successfully.</source>
- <translation>成功完成 ZIP 程序.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="246"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>初始化zlib失敗.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="247"/>
- <source>zlib library error.</source>
- <translation>zlib錯誤.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="248"/>
- <source>Unable to create or open file.</source>
- <translation>無法建立或打開文件.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="249"/>
- <source>Partially corrupted archive. Some files might be extracted.</source>
- <translation>壓縮文件部分損坏. 一些文件可能可以被恢复. </translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="250"/>
- <source>Corrupted archive.</source>
- <translation>壓縮文件損坏.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="251"/>
- <source>Wrong password.</source>
- <translation>密碼不正确.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="252"/>
- <source>No archive has been created yet.</source>
- <translation>壓縮文件還沒有被建立.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="253"/>
- <source>File or directory does not exist.</source>
- <translation>文件或文件夾不存在.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="254"/>
- <source>File read error.</source>
- <translation>文件讀取錯誤.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="255"/>
- <source>File write error.</source>
- <translation>文件寫入錯誤.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="256"/>
- <source>File seek error.</source>
- <translation>文件內尋找錯誤.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="257"/>
- <source>Unable to create a directory.</source>
- <translation>無法建立文件夾.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="258"/>
- <source>Invalid device.</source>
- <translation>無效播放器.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="259"/>
- <source>Invalid or incompatible zip archive.</source>
- <translation>無效或不支持壓縮文件.</translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="260"/>
- <source>Inconsistent headers. Archive might be corrupted.</source>
- <translation>文件頭不正常. 壓縮文件可能已損坏. </translation>
- </message>
- <message>
- <location filename="zip/unzip.cpp" line="264"/>
- <source>Unknown error.</source>
- <translation>不明錯誤.</translation>
- </message>
-</context>
-<context>
- <name>UninstallFrm</name>
- <message>
- <location filename="uninstallfrm.ui" line="16"/>
- <source>Uninstall Rockbox</source>
- <translation>卸載 Rockbox</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="35"/>
- <source>Please select the Uninstallation Methodl</source>
- <translation>請選擇卸載模式</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="45"/>
- <source>Uninstallation Method</source>
- <translation>卸載模式</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="51"/>
- <source>Complete Uninstallation</source>
- <translation>完全卸載</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="58"/>
- <source>Smart Uninstallation</source>
- <translation>智能卸載</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="68"/>
- <source>Please select what you want to uninstall</source>
- <translation>請選擇卸載部分</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="78"/>
- <source>Installed Parts</source>
- <translation>已安裝的部分</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>&amp;Ok</source>
- <translation type="obsolete">&amp;OK</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="138"/>
- <source>&amp;Cancel</source>
- <translation>&amp;取消</translation>
- </message>
- <message>
- <location filename="uninstallfrm.ui" line="128"/>
- <source>&amp;Uninstall</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Uninstaller</name>
- <message>
- <location filename="uninstall.cpp" line="45"/>
- <source>Starting Uninstallation</source>
- <translation>開始卸載</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="37"/>
- <source>Finished Uninstallation</source>
- <translation>完成卸載</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="51"/>
- <source>Uninstalling </source>
- <translation>正在卸載</translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="81"/>
- <source>Could not delete: </source>
- <translation>無法刪除: </translation>
- </message>
- <message>
- <location filename="uninstall.cpp" line="108"/>
- <source>Uninstallation finished</source>
- <translation>完成卸載</translation>
- </message>
-</context>
-<context>
- <name>VoiceFileCreator</name>
- <message>
- <location filename="voicefile.cpp" line="41"/>
- <source>Starting Voicefile generation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="55"/>
- <source>failed to open rockbox-info.txt</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="124"/>
- <source>Download error: received HTTP error %1.</source>
- <translation type="unfinished">下載錯誤: 接到 HTTP 錯誤 %1. </translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="128"/>
- <source>Cached file used.</source>
- <translation type="unfinished">使用緩沖文件.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="130"/>
- <source>Download error: %1</source>
- <translation type="unfinished">下載錯誤: %1</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="134"/>
- <source>Download finished.</source>
- <translation type="unfinished">完成下載.</translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="143"/>
- <source>failed to open downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="156"/>
- <source>Init of TTS engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="167"/>
- <source>Init of Encoder engine failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="209"/>
- <source>The downloaded file was empty!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="246"/>
- <source>creating </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="269"/>
- <source>Error opening downloaded file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="277"/>
- <source>Error opening output file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="voicefile.cpp" line="291"/>
- <source>successfully created.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Zip</name>
- <message>
- <location filename="zip/zip.cpp" line="479"/>
- <source>ZIP operation completed successfully.</source>
- <translation>成功完成 ZIP 程序.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="480"/>
- <source>Failed to initialize or load zlib library.</source>
- <translation>初始化zlib失敗.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="481"/>
- <source>zlib library error.</source>
- <translation>zlib錯誤.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="482"/>
- <source>Unable to create or open file.</source>
- <translation>無法建立或打開文件.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="483"/>
- <source>No archive has been created yet.</source>
- <translation>壓縮文件還沒有被建立.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="484"/>
- <source>File or directory does not exist.</source>
- <translation>文件或文件夾不存在.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="485"/>
- <source>File read error.</source>
- <translation>文件讀取錯誤.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="486"/>
- <source>File write error.</source>
- <translation>文件寫入錯誤.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="487"/>
- <source>File seek error.</source>
- <translation>文件內尋找錯誤.</translation>
- </message>
- <message>
- <location filename="zip/zip.cpp" line="491"/>
- <source>Unknown error.</source>
- <translation>不明錯誤.</translation>
- </message>
-</context>
-<context>
- <name>ZipInstaller</name>
- <message>
- <location filename="installzip.cpp" line="54"/>
- <source>done.</source>
- <translation>完成.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="62"/>
- <source>Installation finished successfully.</source>
- <translation>成功完成安裝.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="77"/>
- <source>Downloading file %1.%2</source>
- <translation>正在下載文件 %1.%2</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="126"/>
- <source>Download error: received HTTP error %1.</source>
- <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="131"/>
- <source>Cached file used.</source>
- <translation>使用緩沖文件.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="133"/>
- <source>Download error: %1</source>
- <translation>下載錯誤: %1</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="138"/>
- <source>Download finished.</source>
- <translation>完成下載.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="144"/>
- <source>Extracting file.</source>
- <translation>正在解壓文件.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="153"/>
- <source>Opening archive failed: %1.</source>
- <translation>打開壓縮文件錯誤: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="162"/>
- <source>Extracting failed: %1.</source>
- <translation>解壓錯誤: %1.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="172"/>
- <source>Installing file.</source>
- <translation>正在安裝文件.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="183"/>
- <source>Installing file failed.</source>
- <translation>安裝文件失敗.</translation>
- </message>
- <message>
- <location filename="installzip.cpp" line="193"/>
- <source>Creating installation log</source>
- <translation>正在建立安裝日志</translation>
- </message>
-</context>
-<context>
- <name>aboutBox</name>
- <message>
- <location filename="aboutbox.ui" line="13"/>
- <source>About Rockbox Utility</source>
- <translation>關于Rockbox安裝程序</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="34"/>
- <source>The Rockbox Utility</source>
- <translation>Rockbox安裝程序</translation>
- </message>
- <message>
- <location filename="" line="0"/>
- <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
-
-c 2005 - 2007 The Rockbox Team.
-Released under the GNU General Public License v2.</source>
- <translation type="obsolete">安裝程序和一般管理程序為 Roxkbox 准備. Roxkbox 是一個開源的音樂播放器固件.
-
-c 2005 - 2007 Rockbox 團隊.
-授權于 GNU General Public License v2.</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="72"/>
- <source>http://www.rockbox.org</source>
- <translation>http://www.rockbox.org</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="95"/>
- <source>&amp;Credits</source>
- <translation>&amp;特別鳴謝</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="124"/>
- <source>&amp;License</source>
- <translation>&amp;授權</translation>
- </message>
- <message>
- <location filename="aboutbox.ui" line="157"/>
- <source>&amp;Ok</source>
- <translation>&amp;OK</translation>
- </message>
- <message encoding="UTF-8">
- <location filename="aboutbox.ui" line="56"/>
- <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
-
-© 2005 - 2007 The Rockbox Team.
-Released under the GNU General Public License v2.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="zh">
+<context>
+ <name>BootloaderInstaller</name>
+ <message>
+ <location filename="installbootloader.cpp" line="32"/>
+ <source>Starting bootloader installation</source>
+ <translation>開始安裝啟動程式</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="122"/>
+ <source>unsupported install Method</source>
+ <translation>不支持的安裝方式</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="85"/>
+ <source>Starting bootloader uninstallation</source>
+ <translation>開始卸載啟動程式</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="116"/>
+ <source>No uninstallation possible</source>
+ <translation>不可以卸載</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="151"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="157"/>
+ <source>Download error: %1</source>
+ <translation>下載錯誤: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="162"/>
+ <source>Download finished.</source>
+ <translation>完成下載.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="224"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="237"/>
+ <source>Creating installation log</source>
+ <translation>正在添加安裝日志</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="253"/>
+ <source>Editing installation log</source>
+ <translation>正在寫入安裝日志</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1093"/>
+ <source>Downloading file %1.%2</source>
+ <translation>正在下載文件 %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="323"/>
+ <source>Could not find the Original Firmware at: %1</source>
+ <translation>找不到厂家固件在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="545"/>
+ <source>Could not remove the Firmware at: %1</source>
+ <translation>刪除不了固件在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="554"/>
+ <source>Could not copy the Firmware from: %1 to %2</source>
+ <translation>不能复制固件從 %1 到 %2 </translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="360"/>
+ <source>Finishing bootloader install</source>
+ <translation>啟動程式安裝完成</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="370"/>
+ <source>Could not find the Firmware at: %1</source>
+ <translation>找不到固件在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="596"/>
+ <source>Could not rename: %1 to %2</source>
+ <translation>不能把 %1 重命名為 %2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1207"/>
+ <source>Could not copy: %1 to %2</source>
+ <translation>不能复制 %1 到 %2</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1217"/>
+ <source>Bootloader install finished successfully.</source>
+ <translation>成功安裝啟動程序</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1218"/>
+ <source>To finish the Bootloader installation, follow the steps below.</source>
+ <translation>請按照以下步驟完成啟動程序的安裝</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1219"/>
+ <source>1. Eject/Unmount your Device.</source>
+ <translation>1. 彈出/退出你的播放机.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="413"/>
+ <source>2. Unplug USB and any Power adapters.</source>
+ <translation>2. 拔出USB接線, 斷离所有沖電設備.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="414"/>
+ <source>3. Hold POWER to turn the Device off.</source>
+ <translation>3. 按POWER關机.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="415"/>
+ <source>4. Toggle the Battery switch on the Device.</source>
+ <translation>4. 先關再開電池開關.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="416"/>
+ <source>5. Hold POWER to boot the Rockbox bootloader.</source>
+ <translation>5. 按POWER啟動 Rockbox 的啟動程序.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="471"/>
+ <source>2. Turn you Device OFF.</source>
+ <translation>2. 關閉你的播放器.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="472"/>
+ <source>3. Insert Charger.</source>
+ <translation>3. 插入充電器.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="582"/>
+ <source>Firmware does not exist: %1</source>
+ <translation>固件不存在: %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="639"/>
+ <source>Searching for ipods</source>
+ <translation>正在尋找 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="645"/>
+ <source>No Ipods found</source>
+ <translation>找不到 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="651"/>
+ <source>Too many Ipods found</source>
+ <translation>找到太多的 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="781"/>
+ <source>could not open ipod</source>
+ <translation>打開不了 iPods</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="996"/>
+ <source>could not read partitiontable</source>
+ <translation>讀不了分區表</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="795"/>
+ <source>No partition 0 on disk</source>
+ <translation>硬盤上沒有0分區</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>[INFO] Part Start Sector End Sector Size (MB) Type</source>
+ <translation type="obsolete">[INFO] 分區 開始磁區 結算磁區 大小 (MB) 類別</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="806"/>
+ <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
+ <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="823"/>
+ <source>Failed to read firmware directory</source>
+ <translation>讀不了固件文件夾</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="829"/>
+ <source>Unknown version number in firmware (%1)</source>
+ <translation>固件版本不明 (%1)</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
+ <translation type="obsolete">警告: 這是苹果格式的iPod, Rockbox 不能在這運行. 請轉換成 Windows 格式的iPod.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="847"/>
+ <source>Could not open Ipod in RW mode</source>
+ <translation>不能以讀寫方式打開iPod</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="751"/>
+ <source>No bootloader detected.</source>
+ <translation>找不到啟動程序.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="966"/>
+ <source>Successfully removed Bootloader</source>
+ <translation>成功刪除啟動程序</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="974"/>
+ <source>--delete-bootloader failed.</source>
+ <translation>--刪除啟動程序失敗.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1031"/>
+ <source>Successfully added Bootloader</source>
+ <translation>成功添加啟動程序</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1039"/>
+ <source>failed to add Bootloader</source>
+ <translation>添加啟動程序失敗</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="882"/>
+ <source>Searching for sansas</source>
+ <translation>正在尋找 sansas</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="888"/>
+ <source>No Sansa found</source>
+ <translation>找不到 Sansa</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="894"/>
+ <source>Too many Sansas found</source>
+ <translation>找到了太多的 sansas</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="989"/>
+ <source>could not open Sansa</source>
+ <translation>打開不了 sansa</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Disk is not an E200 (%1), aborting.</source>
+ <translation type="obsolete">硬盤不是 E200 (%1), 正在取消...</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1017"/>
+ <source>********************************************
+OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
+You must reinstall the original Sansa firmware before running
+sansapatcher for the first time.
+See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
+*********************************************
+</source>
+ <translation>********************************************
+找到了舊 ROCKBOX, 正在取消...
+你必須重新安裝厂家固件才可以第一次
+運行 sansapatcher
+參考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文)
+*********************************************
+</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1024"/>
+ <source>Could not open Sansa in RW mode</source>
+ <translation>不能以讀寫方式打開 sansa</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1055"/>
+ <source>Could not MD5Sum original firmware</source>
+ <translation>不能驗證厂家固件的MD5sum</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1085"/>
+ <source>Could not detect firmware type</source>
+ <translation>找不到固件類別</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1148"/>
+ <source>Error in descramble</source>
+ <translation>descramble 錯誤</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1158"/>
+ <source>Error in patching</source>
+ <translation>補丁過程錯誤</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1168"/>
+ <source>Error in scramble</source>
+ <translation>scramble 錯誤</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1179"/>
+ <source>Error in checksumming</source>
+ <translation>驗證錯誤</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1220"/>
+ <source>2. Boot into the original Firmware.</source>
+ <translation>2. 啟動到厂家固件.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1221"/>
+ <source>3. Use the Firmware flash option in the Original Firmware.</source>
+ <translation>3. 在厂家固件里選擇快閃記憶體.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1222"/>
+ <source>4. Reboot.</source>
+ <translation>4. 重新開机.</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="533"/>
+ <source>Original Firmware does not exist: %1</source>
+ <translation>厂家固件不存在 : %1</translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="800"/>
+ <source>[INFO] Part Start Sector End Sector Size (MB) Type
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="839"/>
+ <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
+See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installbootloader.cpp" line="1005"/>
+ <source>Disk is not a Sansa (%1), aborting.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>BrowseDirtreeFrm</name>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="13"/>
+ <source>Find Directory</source>
+ <translation>尋找文件夾</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="19"/>
+ <source>Browse to the destination folder</source>
+ <translation>瀏覽目的地文件夾</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="47"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="browsedirtreefrm.ui" line="57"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>BrowseOFFrm</name>
+ <message>
+ <location filename="browseoffrm.ui" line="13"/>
+ <source>Find original Firmware</source>
+ <translation>尋找厂家固件</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="19"/>
+ <source>Browse for a downloaded copy of the original firmware</source>
+ <translation>尋找已下載的厂家固件</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="32"/>
+ <source>Browse</source>
+ <translation>瀏覽</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="54"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="browseoffrm.ui" line="64"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>Config</name>
+ <message>
+ <location filename="configure.cpp" line="110"/>
+ <source>Language changed</source>
+ <translation>語言已改變</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="111"/>
+ <source>You need to restart the application for the changed language to take effect.</source>
+ <translation>你需要重新開啟本軟件才能使用新語言.</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Current cache size is %1 kiB.</source>
+ <translation type="obsolete">現在緩沖的大小是 %1 kiB.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="593"/>
+ <source>Autodetection</source>
+ <translation>自動識別</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="587"/>
+ <source>Could not detect a Mountpoint.
+Select your Mountpoint manually.</source>
+ <translation>找不到 mountpoint
+請手動選擇你的 mountpoing.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="595"/>
+ <source>Could not detect a device.
+Select your device and Mountpoint manually.</source>
+ <translation>不能識別你的播放器
+請手動選擇.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="603"/>
+ <source>Really delete cache?</source>
+ <translation>你肯定要刪除緩沖嗎?</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="606"/>
+ <source>Do you really want to delete the cache? Make absolutely sure this setting is correct as it will remove &lt;b&gt;all&lt;/b&gt; files in this folder!</source>
+ <translation>你真的肯定要刪除緩沖嗎? 請确認你的設定是正确的因為這會刪除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夾 !</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="612"/>
+ <source>Path wrong!</source>
+ <translation>路徑錯誤!</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="613"/>
+ <source>The cache path is invalid. Aborting.</source>
+ <translation>緩沖路徑錯誤. 正在取消.</translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="56"/>
+ <source> (%1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="220"/>
+ <source>Current cache size is %L1 kiB.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="418"/>
+ <source>(system proxy is disabled)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="485"/>
+ <source>Select your device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="569"/>
+ <source>Sansa e200 in MTP mode found!
+You need to change your player to MSC mode for installation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="572"/>
+ <source>H10 20GB in MTP mode found!
+You need to change your player to UMS mode for installation. </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="573"/>
+ <source>Unless you changed this installation will fail!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configure.cpp" line="575"/>
+ <source>Fatal error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ConfigForm</name>
+ <message>
+ <location filename="configurefrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation>設置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="19"/>
+ <source>Configure Rockbox Utility</source>
+ <translation>設置 Rockbox 安裝程序</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="30"/>
+ <source>&amp;Device</source>
+ <translation>&amp;播放器</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="39"/>
+ <source>Select your device in the &amp;filesystem</source>
+ <translation>請選擇你的播放器在你的 &amp;文件系統</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="286"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;瀏覽</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="66"/>
+ <source>&amp;Select your audio player</source>
+ <translation>&amp;選擇你的音樂播放器</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="77"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="98"/>
+ <source>&amp;Autodetect</source>
+ <translation>自動識別(&amp;A)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="109"/>
+ <source>&amp;Proxy</source>
+ <translation>网絡代理服務(&amp;P)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="118"/>
+ <source>&amp;No Proxy</source>
+ <translation>沒有网絡代理服務(&amp;N)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="128"/>
+ <source>Use S&amp;ystem values</source>
+ <translation>使用系統值(&amp;S)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="135"/>
+ <source>&amp;Manual Proxy settings</source>
+ <translation>手動設置代理服務(&amp;M)</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="142"/>
+ <source>Proxy Values</source>
+ <translation>代理服務值</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="148"/>
+ <source>&amp;Host:</source>
+ <translation>&amp;主机:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="165"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;接口:</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="188"/>
+ <source>&amp;Username</source>
+ <translation>&amp;用戶名</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="198"/>
+ <source>Pass&amp;word</source>
+ <translation>&amp;密碼</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="225"/>
+ <source>&amp;Language</source>
+ <translation>&amp;語言</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="238"/>
+ <source>Cac&amp;he</source>
+ <translation>&amp;緩沖</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="244"/>
+ <source>Download cache settings</source>
+ <translation>下載緩沖設置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="250"/>
+ <source>Rockbox Utility uses a local download cache to save network traffic. You can change the path to the cache and use it as local repository by enabling Offline mode.</source>
+ <translation>Rockbox 安裝程序使用本机緩沖來保存网絡資料. 你可以改變這個緩沖的路徑. 啟動下線模式后, 你還可以用路徑來保存文件.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="260"/>
+ <source>Current cache size is %1</source>
+ <translation>現在緩沖大小是 %1</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="269"/>
+ <source>P&amp;ath</source>
+ <translation>&amp;路徑</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="279"/>
+ <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
+ <translation>輸入無效地址會重設到系統臨時文件夾.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="300"/>
+ <source>Disable local &amp;download cache</source>
+ <translation>&amp;不使用本机緩沖</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="307"/>
+ <source>This will try to use all information from the cache, even information about updates. Only use this option if you want to install without network connection. Note: you need to do the same install you want to perform later with network access first to download all required files to the cache.</source>
+ <translation>所有資料, 包括更新資料, 將會從本机緩沖里拿取. 不要選擇此模式如果你不需要下線安裝. 注意: 你需要先用网絡做至少一次安裝才可以下載到需要的文件.</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="310"/>
+ <source>O&amp;ffline mode</source>
+ <translation>&amp;下線安裝</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="345"/>
+ <source>Clean cache &amp;now</source>
+ <translation>&amp;現在清除緩沖文件夾</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="356"/>
+ <source>&amp;TTS &amp;&amp; Encoder</source>
+ <translation>&amp;TTS &amp;&amp; 信號轉換器</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="365"/>
+ <source>TTS Engine</source>
+ <translation>TTS 引擎</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Select TTS profile</source>
+ <translation type="obsolete">&amp; 選擇 TTS 個人設置</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>TTS executable</source>
+ <translation type="obsolete">TTS 可執行文件</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>TTS Options</source>
+ <translation type="obsolete">TTS 設置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="421"/>
+ <source>Encoder Engine</source>
+ <translation>信號轉換器引擎</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Select &amp;encoder profile</source>
+ <translation type="obsolete">&amp;選擇引擎設置</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Encoder executable</source>
+ <translation type="obsolete">引擎可執行文件</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>B&amp;rowse</source>
+ <translation type="obsolete">&amp;瀏覽</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Encoder options</source>
+ <translation type="obsolete">信號轉換器設置</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="507"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="517"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="371"/>
+ <source>&amp;Select TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="384"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="447"/>
+ <source>Configuration invalid !</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="408"/>
+ <source>Configure &amp;TTS</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="427"/>
+ <source>Select &amp;encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="440"/>
+ <source>Configure encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="configurefrm.ui" line="464"/>
+ <source> Configure &amp;Enc</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Configure</name>
+ <message>
+ <location filename="configure.cpp" line="469"/>
+ <source>English</source>
+ <translation type="unfinished">中文 (Chinese Traditional)</translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceFrm</name>
+ <message>
+ <location filename="createvoicefrm.ui" line="16"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="41"/>
+ <source>Select the Language you want to generate a voicefile for:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="51"/>
+ <source>Generation settings</source>
+ <translation type="unfinished">語音合成設置</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="57"/>
+ <source>Encoder profile:</source>
+ <translation type="unfinished">轉化器設置:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="64"/>
+ <source>TTS profile:</source>
+ <translation type="unfinished">TTS 設置:</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="77"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="128"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="createvoicefrm.ui" line="152"/>
+ <source>Wavtrim Threshold</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CreateVoiceWindow</name>
+ <message>
+ <location filename="createvoicewindow.cpp" line="96"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="98"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="createvoicewindow.cpp" line="106"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EncExesCfgFrm</name>
+ <message>
+ <location filename="encexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">設置</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="19"/>
+ <source>Configure Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="31"/>
+ <source>Path to Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;瀏覽</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="52"/>
+ <source>Encoder options</source>
+ <translation type="unfinished">信號轉換器設置</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="encexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>Install</name>
+ <message>
+ <location filename="install.cpp" line="55"/>
+ <source>Mount point is wrong!</source>
+ <translation>Mountpoint 錯誤!</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="141"/>
+ <source>This is the absolute up to the minute Rockbox built. A current build will get updated every time a change is made. Latest version is r%1 (%2).</source>
+ <translation>這是最新的Rockbox版本. 每一個更改后這版本就會更新. 最新的版本是 r%1 (%2).</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="145"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="148"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. </translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="157"/>
+ <source>This is the last released version of Rockbox.</source>
+ <translation>這是最新的Rockbox版本.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="163"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt;The lastest released version is %1. &lt;b&gt;This is the recommended version.&lt;/b&gt;</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;這是建議使用的版本.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>These are automatically built each day from the current development source code. This generally has more features than the last release but may be much less stable. Features may change regularly.</source>
+ <translation type="obsolete">這是每天自動更新的版本. 這一般來說比發行版本要多功能, 但可能沒有那么穩定. 功能可能會隨時改變.</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="177"/>
+ <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
+ <translation>&lt;b&gt;注意:&lt;/b&gt; 存檔的版本是 r%1 (%2).</translation>
+ </message>
+ <message>
+ <location filename="install.cpp" line="175"/>
+ <source>These are automatically built each day from the current development source code. This generally has more features than the last stable release but may be much less stable. Features may change regularly.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallFrm</name>
+ <message>
+ <location filename="installfrm.ui" line="16"/>
+ <source>Install Rockbox</source>
+ <translation>安裝 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="35"/>
+ <source>Please select the Rockbox version you want to install on your player:</source>
+ <translation>請選擇你要安裝在你的播放器上的版本:</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="45"/>
+ <source>Version</source>
+ <translation>版本</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="51"/>
+ <source>Rockbox &amp;stable</source>
+ <translation>&amp;穩定的 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="58"/>
+ <source>&amp;Archived Build</source>
+ <translation>&amp;存檔的版本</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="65"/>
+ <source>&amp;Current Build</source>
+ <translation>&amp;最新的版本</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="75"/>
+ <source>Details</source>
+ <translation>細節</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="81"/>
+ <source>Details about the selected version</source>
+ <translation>被選擇版本的細節</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="91"/>
+ <source>Note</source>
+ <translation>注意</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="104"/>
+ <source>Rockbox Utility stores copies of Rockbox it has downloaded on the local hard disk to save network traffic. If your local copy is no longer working, tick this box to download a fresh copy.</source>
+ <translation>Rockbox安裝程序儲存以前下載的文件在你的硬盤上以減少网絡交通. 如果你的Rockbox不能使用, 選擇這項去下載一份新的文件</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="107"/>
+ <source>&amp;Don&apos;t use locally cached copy</source>
+ <translation>&amp;不使用硬盤上緩沖的文件</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="152"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="installfrm.ui" line="142"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallProgressFrm</name>
+ <message>
+ <location filename="installprogressfrm.ui" line="19"/>
+ <source>Progress</source>
+ <translation>進程</translation>
+ </message>
+ <message>
+ <location filename="installprogressfrm.ui" line="56"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkFrm</name>
+ <message>
+ <location filename="installtalkfrm.ui" line="16"/>
+ <source>Install Talk Files</source>
+ <translation>安裝說話文件</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="35"/>
+ <source>Select the Folder to generate Talkfiles for.</source>
+ <translation>選擇需要安裝說話文件的文件夾</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="45"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;瀏覽</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="55"/>
+ <source>Generation settings</source>
+ <translation>語音合成設置</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="61"/>
+ <source>Encoder profile:</source>
+ <translation>轉化器設置:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="68"/>
+ <source>TTS profile:</source>
+ <translation>TTS 設置:</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="104"/>
+ <source>Generation options</source>
+ <translation>語音合成設置</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="110"/>
+ <source>Overwrite Wavefiles</source>
+ <translation>覆蓋已存在的 Wavefiles</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="120"/>
+ <source>Remove Wavefiles</source>
+ <translation>刪除 Wavefiles</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="130"/>
+ <source>Run recursive</source>
+ <translation>遞歸尋找</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="140"/>
+ <source>Strip Extensions</source>
+ <translation>除去后綴</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="150"/>
+ <source>Overwrite Talkfiles</source>
+ <translation>刪除語音文件</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="224"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="81"/>
+ <source>Change</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="160"/>
+ <source>Generate .talk files for Folders</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="170"/>
+ <source>Generate .talk files for Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkfrm.ui" line="214"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallTalkWindow</name>
+ <message>
+ <location filename="installtalkwindow.cpp" line="84"/>
+ <source>The Folder to Talk is wrong!</source>
+ <translation>要支持語音的文件夾錯誤!</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Path to Encoder is wrong!</source>
+ <translation type="obsolete">語音生成轉換器的路徑錯誤!</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Path to TTS is wrong!</source>
+ <translation type="obsolete">TTS引擎的路徑錯誤!</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">TTS 設置: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Invalid TTS profile!</source>
+ <translation type="obsolete">無效TTS設置 !</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="obsolete">轉換器設置: &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Invalid encoder profile!</source>
+ <translation type="obsolete">無效轉化器設置!</translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="119"/>
+ <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="121"/>
+ <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installtalkwindow.cpp" line="129"/>
+ <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>PreviewFrm</name>
+ <message>
+ <location filename="previewfrm.ui" line="16"/>
+ <source>Preview</source>
+ <translation>預覽</translation>
+ </message>
+</context>
+<context>
+ <name>ProgressLoggerGui</name>
+ <message>
+ <location filename="progressloggergui.cpp" line="79"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="progressloggergui.cpp" line="89"/>
+ <source>&amp;Abort</source>
+ <translation>&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>RbSpeexCfgFrm</name>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">設置</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="19"/>
+ <source>Configure RbSpeex Encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="38"/>
+ <source>Volume</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="45"/>
+ <source>Narrowband</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="68"/>
+ <source>Quality</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="85"/>
+ <source>Complexity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="115"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="125"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="rbspeexcfgfrm.ui" line="95"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQt</name>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>File</source>
+ <translation>文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="78"/>
+ <source>Version</source>
+ <translation>版本</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="210"/>
+ <source>Network error: %1. Please check your network and proxy settings.</source>
+ <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="305"/>
+ <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
+ <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="325"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用戶手冊(英文)&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="327"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用戶手冊(英文,在瀏覽器打開)&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="330"/>
+ <source>Select a device for a link to the correct manual</source>
+ <translation>請選擇你的播放器</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="332"/>
+ <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
+ <translation>&lt;a href=&apos;%1&apos;&gt;用戶手冊總觀&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="695"/>
+ <source>Confirm Installation</source>
+ <translation>确認安裝</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="341"/>
+ <source>Do you really want to make a complete Installation?</source>
+ <translation>你确認要一個完整的安裝?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="877"/>
+ <source>Mount point is wrong!</source>
+ <translation>Mountpoint 錯誤!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="393"/>
+ <source>Do you really want to make a small Installation?</source>
+ <translation>你确認要一個智能的安裝?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="533"/>
+ <source>Do you really want to install the Bootloader?</source>
+ <translation>你确認要安裝啟動程序?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="800"/>
+ <source>Could not get the bootloader info file!</source>
+ <translation>找不到啟動程序的資料!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="568"/>
+ <source>Bootloader Installation</source>
+ <translation>安裝啟動程序</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>It seem your Bootloader is already uptodate.
+Do really want to install it?</source>
+ <translation type="obsolete">你的啟動程序好象已經是最新版本.
+你确認要再安裝?</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Bootloader installation Canceled!</source>
+ <translation type="obsolete">啟動程序安裝被取消!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="593"/>
+ <source>Original Firmware Path is wrong!</source>
+ <translation>厂家固件路徑錯誤!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="606"/>
+ <source>Original Firmware selection Canceled!</source>
+ <translation>厂家固件安裝被取消!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="621"/>
+ <source>Do you really want to install the fonts package?</source>
+ <translation>你确認要安裝字體包裹嗎?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="656"/>
+ <source>Do you really want to install the voice file?</source>
+ <translation>你确認要安裝語音文件嗎?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="696"/>
+ <source>Do you really want to install the game addon files?</source>
+ <translation>你确認要安裝游戲附件嗎?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="782"/>
+ <source>Confirm Uninstallation</source>
+ <translation>确認安裝</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="783"/>
+ <source>Do you really want to uninstall the Bootloader?</source>
+ <translation>你确認要卸載啟動程序嗎?</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="813"/>
+ <source>Confirm download</source>
+ <translation>确認下載</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="815"/>
+ <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
+ <translation>你确認要下載用戶手冊嗎? 用戶手冊將會被放在你播放器的主目錄里.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="863"/>
+ <source>Confirm installation</source>
+ <translation>确認安裝</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="865"/>
+ <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
+ <translation>你确認要安裝Rockbox安裝程序到你的播放器上嗎? 安裝后你可以從你播放器上運行此程序.</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="873"/>
+ <source>Installing Rockbox Utility</source>
+ <translation>安裝 Rockbox安裝程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="887"/>
+ <source>Error installing Rockbox Utility</source>
+ <translation>安裝 Rockbox安裝程序錯誤!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="891"/>
+ <source>Installing user configuration</source>
+ <translation>安裝用戶設置</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="893"/>
+ <source>Error installing user configuration</source>
+ <translation>安裝用戶設置錯誤</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="897"/>
+ <source>Successfully installed Rockbox Utility.</source>
+ <translation>成功安裝 Rockbox安裝程序.</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Bootloader installation Skipped!</source>
+ <translation type="obsolete">啟動程序安裝過程被跳過!</translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1014"/>
+ <source>Configuration error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="187"/>
+ <source>Your configuration is invalid. This is most likely due to a new installation of Rockbox Utility or a changed device path. The configuation dialog will now open to allow you correcting the problem.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="570"/>
+ <source>The bootloader is already installed and up to date.
+Do want to replace the current bootloader?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="574"/>
+ <source>Bootloader installation skipped!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="691"/>
+ <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqt.cpp" line="1016"/>
+ <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RbUtilQtFrm</name>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="13"/>
+ <source>Rockbox Utility</source>
+ <translation>Rockbox 安裝程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="78"/>
+ <source>Device</source>
+ <translation>播放器</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="90"/>
+ <source>Selected device:</source>
+ <translation>選擇的播放器:</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="97"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;unknown&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;none&lt;/span&gt; at &lt;span style=&quot; font-weight:600;&quot;&gt;不明&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="120"/>
+ <source>&amp;Change</source>
+ <translation>&amp;更改</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="137"/>
+ <source>&amp;Quick Start</source>
+ <translation>&amp;快速開始</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="140"/>
+ <source>Welcome</source>
+ <translation>歡迎</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>...</source>
+ <translation type="obsolete">...</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="162"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Complete Installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;完整安裝&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;這將安裝啟動程序, 最新版本和附加功能. 如果這是你第一次安裝, 這是建議的安裝.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="192"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Small installation&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This installs bootloader and the current build of Rockbox. If you don&apos;t want the extras package, choose this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;最小安裝&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;這將安裝啟動程序和最新版本.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="236"/>
+ <source>&amp;Installation</source>
+ <translation>&amp;安裝</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="239"/>
+ <source>Basic Rockbox installation</source>
+ <translation>基本Rockbox安裝</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="969"/>
+ <source>Install Bootloader</source>
+ <translation>安裝啟動程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="261"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Before Rockbox can be run on your audio player, you may have to install a bootloader. This is only necessary the first time Rockbox is installed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝啟動程序&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;ROCKBOX 可能需要安裝啟動程序后才可以運行.你只需要安裝啟動程序如果這是你的第一次安裝.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="977"/>
+ <source>Install Rockbox</source>
+ <translation>安裝 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="294"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Rockbox&lt;/span&gt; on your audio player&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝 Rockbox&lt;/span&gt; 在你的音樂播放器里&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="340"/>
+ <source>&amp;Extras</source>
+ <translation>&amp;附加功能</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="343"/>
+ <source>Install extras for Rockbox</source>
+ <translation>安裝附加功能</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="349"/>
+ <source>Install Fonts package</source>
+ <translation>安裝字體包裹</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="365"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Fonts Package&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;字體包裹&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;字體包裹里包含一些常用的字體. 強烈建議安裝此包裹.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="379"/>
+ <source>Install themes</source>
+ <translation>安裝主題</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="395"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Themes&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox&apos; look can be customized by themes. You can choose and install several officially distributed themes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝主題&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Rockbox 的外觀可以被個人化. 你可以選擇并安裝几個官方認證的主題. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="409"/>
+ <source>Install game files</source>
+ <translation>安裝游戲文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="425"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Game Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom needs a base wad file to run.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝游戲文件&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Doom游戲需要wad文件才可以運行.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="466"/>
+ <source>&amp;Accessibility</source>
+ <translation>&amp;輔助</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="469"/>
+ <source>Install accessibility add-ons</source>
+ <translation>安裝輔助功能</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="475"/>
+ <source>Install Voice files</source>
+ <translation>安裝語音文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="491"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Install Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;安裝語音文件&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;如果你需要Rockbox用語音說出用戶界面, 你需要安裝語音文件. 語音界面將會被自動開啟,所以你安裝語音文件后Rockbox就會對你說話.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="505"/>
+ <source>Install Talk files</source>
+ <translation>安裝說話文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="521"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Create Talk Files&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Talkfiles are needed to let Rockbox speak File and Foldernames&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;建立說話文件&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;&quot;&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;如果你需要Rockbox說出你文件和文件夾的名稱, 你要安裝說話文件. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="587"/>
+ <source>&amp;Uninstallation</source>
+ <translation>&amp;卸載</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1033"/>
+ <source>Uninstall Rockbox</source>
+ <translation>卸載 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="596"/>
+ <source>Uninstall Bootloader</source>
+ <translation>卸載啟動程序</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="612"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Remove the bootloader&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;After removing the bootloader you won&apos;t be able to start Rockbox.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;卸載啟動程序&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;卸載啟動程序后你就不能啟動 Rockbox 了.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="642"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Uninstall Rockbox&lt;/span&gt; from your audio player.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This will leave the bootloader in place (you need to remove it manually).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;把 Rockbox&lt;/span&gt; 在你音樂播放器里刪除.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;這不會卸載啟動程序(你需要手動卸載啟動程序).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="689"/>
+ <source>&amp;Manual</source>
+ <translation>&amp;用戶手冊</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="692"/>
+ <source>View and download the manual</source>
+ <translation>查看和下載用戶手冊</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="698"/>
+ <source>Read the manual</source>
+ <translation>查看用戶手冊</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="704"/>
+ <source>PDF manual</source>
+ <translation>PDF 用戶手冊</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="717"/>
+ <source>HTML manual</source>
+ <translation>HTML 用戶手冊</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="733"/>
+ <source>Download the manual</source>
+ <translation>下載用戶手冊</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="741"/>
+ <source>&amp;PDF version</source>
+ <translation>PDF 版本</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="748"/>
+ <source>&amp;HTML version (zip file)</source>
+ <translation>HTML 版本 (zip)</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="770"/>
+ <source>Down&amp;load</source>
+ <translation>下載</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="794"/>
+ <source>Inf&amp;o</source>
+ <translation>&amp;信息</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;???????.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="obsolete">&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Composants actuellement installes.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;注意&lt;/span&gt;: 如果你手動安裝Rockbox, 這可能顯示不正确的信息!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="815"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="837"/>
+ <source>&amp;File</source>
+ <translation>&amp;文件</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="930"/>
+ <source>&amp;About</source>
+ <translation>&amp;關于</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="907"/>
+ <source>Empty local download cache</source>
+ <translation>清除本机下載緩沖</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="912"/>
+ <source>Install Rockbox Utility on player</source>
+ <translation>安裝Rockbox安裝程序到你的播放器</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="917"/>
+ <source>&amp;Configure</source>
+ <translation>&amp;設置</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="922"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;退出</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="925"/>
+ <source>Ctrl+Q</source>
+ <translation>Ctrl+Q</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="935"/>
+ <source>About &amp;Qt</source>
+ <translation>關于&amp;Qt</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="940"/>
+ <source>&amp;Help</source>
+ <translation>&amp;幫助</translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="953"/>
+ <source>Complete Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="961"/>
+ <source>Small Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="800"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Currently installed packages.&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Note&lt;/span&gt;: if you manually installed packages this might not be correct!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="855"/>
+ <source>Action&amp;s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="859"/>
+ <source>Installation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="866"/>
+ <source>Quick Start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="873"/>
+ <source>Extras</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="881"/>
+ <source>Accessibility</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="889"/>
+ <source>Uninstallation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="945"/>
+ <source>Info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="985"/>
+ <source>Fonts Package</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="993"/>
+ <source>Install Themes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1001"/>
+ <source>Install Game Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1009"/>
+ <source>Install Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1017"/>
+ <source>Create Talk Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1025"/>
+ <source>Remove bootloader</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1038"/>
+ <source>Read PDF manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1043"/>
+ <source>Read HTML manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1048"/>
+ <source>Download PDF manual</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1053"/>
+ <source>Download HTML manual (zip)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="558"/>
+ <source>Create Voice files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="574"/>
+ <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;MS Shell Dlg 2&apos;; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Create Voice file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt;Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:&apos;Sans Serif&apos;; font-size:9pt;&quot;&gt; if you installed the voice file Rockbox will speak.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1061"/>
+ <source>Create Voice File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="rbutilqtfrm.ui" line="1064"/>
+ <source>Create Voic&lt;resource type=&quot;image&quot; qrc=&quot;C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc&quot; file=&quot;:/icons/icons/talkfile_btn.png&quot; /&gt;
+e File</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SapiCfgFrm</name>
+ <message>
+ <location filename="sapicfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">設置</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="62"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="25"/>
+ <source>Language</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="87"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="107"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="117"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="35"/>
+ <source>Voice</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="sapicfgfrm.ui" line="45"/>
+ <source>Speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExes</name>
+ <message>
+ <location filename="tts.cpp" line="123"/>
+ <source>TTS executable not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TTSExesCfgFrm</name>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="13"/>
+ <source>Configuration</source>
+ <translation type="unfinished">設置</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="19"/>
+ <source>Configure TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="31"/>
+ <source>Path to TTS Engine</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="43"/>
+ <source>&amp;Browse</source>
+ <translation type="unfinished">&amp;瀏覽</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="52"/>
+ <source>TTS options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="77"/>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="97"/>
+ <source>&amp;Ok</source>
+ <translation type="unfinished">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="ttsexescfgfrm.ui" line="107"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;取消</translation>
+ </message>
+</context>
+<context>
+ <name>TTSSapi</name>
+ <message>
+ <location filename="tts.cpp" line="274"/>
+ <source>Could not copy the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="tts.cpp" line="292"/>
+ <source>Could not start the Sapi-script</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TalkFileCreator</name>
+ <message>
+ <location filename="talkfile.cpp" line="31"/>
+ <source>Starting Talk file generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="41"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="52"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="70"/>
+ <source>Talk file creation aborted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="132"/>
+ <source>Voicing of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="135"/>
+ <source>Voicing of %s failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="143"/>
+ <source>Encoding of %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="146"/>
+ <source>Encoding of %1 failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="talkfile.cpp" line="173"/>
+ <source>Finished creating Talk files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemeInstallFrm</name>
+ <message>
+ <location filename="installthemesfrm.ui" line="13"/>
+ <source>Theme Installation</source>
+ <translation>安裝主題</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="48"/>
+ <source>Selected Theme</source>
+ <translation>被選擇的主題</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="73"/>
+ <source>Description</source>
+ <translation>描述</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="83"/>
+ <source>Download size:</source>
+ <translation>下載大小:</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="128"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="108"/>
+ <source>&amp;Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installthemesfrm.ui" line="118"/>
+ <source>Install &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesInstallWindow</name>
+ <message>
+ <location filename="installthemes.cpp" line="34"/>
+ <source>no theme selected</source>
+ <translation>沒有選擇主題</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="117"/>
+ <source>Network error: %1.
+Please check your network and proxy settings.</source>
+ <translation>网絡錯誤: %1.
+請檢查你的网絡和代理服務的設置.</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>???????:
+%1</source>
+ <translation type="obsolete">L&apos;erreur suivante s&apos;est produite :
+%1</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="133"/>
+ <source>done.</source>
+ <translation>完成.</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="161"/>
+ <source>fetching details for %1</source>
+ <translation>正在拿取 %1 的細節</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="163"/>
+ <source>fetching preview ...</source>
+ <translation>正在拿取預覽...</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Download size %1 kiB</source>
+ <translation type="obsolete">下載大小 %1 kiB</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="184"/>
+ <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>unknown</source>
+ <translation>不明</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="185"/>
+ <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
+ <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="186"/>
+ <source>no description</source>
+ <translation>無描述</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="222"/>
+ <source>no theme preview</source>
+ <translation>無主題預覽</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="254"/>
+ <source>getting themes information ...</source>
+ <translation>正在拿取主題信息...</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="312"/>
+ <source>Mount point is wrong!</source>
+ <translation>Mountpoint 錯誤!</translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="128"/>
+ <source>the following error occured:
+%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="installthemes.cpp" line="171"/>
+ <source>Download size %L1 kiB</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>UnZip</name>
+ <message>
+ <location filename="zip/unzip.cpp" line="245"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>成功完成 ZIP 程序.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="246"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>初始化zlib失敗.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="247"/>
+ <source>zlib library error.</source>
+ <translation>zlib錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="248"/>
+ <source>Unable to create or open file.</source>
+ <translation>無法建立或打開文件.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="249"/>
+ <source>Partially corrupted archive. Some files might be extracted.</source>
+ <translation>壓縮文件部分損坏. 一些文件可能可以被恢复. </translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="250"/>
+ <source>Corrupted archive.</source>
+ <translation>壓縮文件損坏.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="251"/>
+ <source>Wrong password.</source>
+ <translation>密碼不正确.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="252"/>
+ <source>No archive has been created yet.</source>
+ <translation>壓縮文件還沒有被建立.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="253"/>
+ <source>File or directory does not exist.</source>
+ <translation>文件或文件夾不存在.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="254"/>
+ <source>File read error.</source>
+ <translation>文件讀取錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="255"/>
+ <source>File write error.</source>
+ <translation>文件寫入錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="256"/>
+ <source>File seek error.</source>
+ <translation>文件內尋找錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="257"/>
+ <source>Unable to create a directory.</source>
+ <translation>無法建立文件夾.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="258"/>
+ <source>Invalid device.</source>
+ <translation>無效播放器.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="259"/>
+ <source>Invalid or incompatible zip archive.</source>
+ <translation>無效或不支持壓縮文件.</translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="260"/>
+ <source>Inconsistent headers. Archive might be corrupted.</source>
+ <translation>文件頭不正常. 壓縮文件可能已損坏. </translation>
+ </message>
+ <message>
+ <location filename="zip/unzip.cpp" line="264"/>
+ <source>Unknown error.</source>
+ <translation>不明錯誤.</translation>
+ </message>
+</context>
+<context>
+ <name>UninstallFrm</name>
+ <message>
+ <location filename="uninstallfrm.ui" line="16"/>
+ <source>Uninstall Rockbox</source>
+ <translation>卸載 Rockbox</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="35"/>
+ <source>Please select the Uninstallation Methodl</source>
+ <translation>請選擇卸載模式</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="45"/>
+ <source>Uninstallation Method</source>
+ <translation>卸載模式</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="51"/>
+ <source>Complete Uninstallation</source>
+ <translation>完全卸載</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="58"/>
+ <source>Smart Uninstallation</source>
+ <translation>智能卸載</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="68"/>
+ <source>Please select what you want to uninstall</source>
+ <translation>請選擇卸載部分</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="78"/>
+ <source>Installed Parts</source>
+ <translation>已安裝的部分</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>&amp;Ok</source>
+ <translation type="obsolete">&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="138"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
+ </message>
+ <message>
+ <location filename="uninstallfrm.ui" line="128"/>
+ <source>&amp;Uninstall</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Uninstaller</name>
+ <message>
+ <location filename="uninstall.cpp" line="45"/>
+ <source>Starting Uninstallation</source>
+ <translation>開始卸載</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="37"/>
+ <source>Finished Uninstallation</source>
+ <translation>完成卸載</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="51"/>
+ <source>Uninstalling </source>
+ <translation>正在卸載</translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="81"/>
+ <source>Could not delete: </source>
+ <translation>無法刪除: </translation>
+ </message>
+ <message>
+ <location filename="uninstall.cpp" line="108"/>
+ <source>Uninstallation finished</source>
+ <translation>完成卸載</translation>
+ </message>
+</context>
+<context>
+ <name>VoiceFileCreator</name>
+ <message>
+ <location filename="voicefile.cpp" line="41"/>
+ <source>Starting Voicefile generation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="55"/>
+ <source>failed to open rockbox-info.txt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="124"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation type="unfinished">下載錯誤: 接到 HTTP 錯誤 %1. </translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="128"/>
+ <source>Cached file used.</source>
+ <translation type="unfinished">使用緩沖文件.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="130"/>
+ <source>Download error: %1</source>
+ <translation type="unfinished">下載錯誤: %1</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="134"/>
+ <source>Download finished.</source>
+ <translation type="unfinished">完成下載.</translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="143"/>
+ <source>failed to open downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="156"/>
+ <source>Init of TTS engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="167"/>
+ <source>Init of Encoder engine failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="209"/>
+ <source>The downloaded file was empty!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="246"/>
+ <source>creating </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="269"/>
+ <source>Error opening downloaded file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="277"/>
+ <source>Error opening output file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="voicefile.cpp" line="291"/>
+ <source>successfully created.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Zip</name>
+ <message>
+ <location filename="zip/zip.cpp" line="479"/>
+ <source>ZIP operation completed successfully.</source>
+ <translation>成功完成 ZIP 程序.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="480"/>
+ <source>Failed to initialize or load zlib library.</source>
+ <translation>初始化zlib失敗.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="481"/>
+ <source>zlib library error.</source>
+ <translation>zlib錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="482"/>
+ <source>Unable to create or open file.</source>
+ <translation>無法建立或打開文件.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="483"/>
+ <source>No archive has been created yet.</source>
+ <translation>壓縮文件還沒有被建立.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="484"/>
+ <source>File or directory does not exist.</source>
+ <translation>文件或文件夾不存在.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="485"/>
+ <source>File read error.</source>
+ <translation>文件讀取錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="486"/>
+ <source>File write error.</source>
+ <translation>文件寫入錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="487"/>
+ <source>File seek error.</source>
+ <translation>文件內尋找錯誤.</translation>
+ </message>
+ <message>
+ <location filename="zip/zip.cpp" line="491"/>
+ <source>Unknown error.</source>
+ <translation>不明錯誤.</translation>
+ </message>
+</context>
+<context>
+ <name>ZipInstaller</name>
+ <message>
+ <location filename="installzip.cpp" line="54"/>
+ <source>done.</source>
+ <translation>完成.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="62"/>
+ <source>Installation finished successfully.</source>
+ <translation>成功完成安裝.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="77"/>
+ <source>Downloading file %1.%2</source>
+ <translation>正在下載文件 %1.%2</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="126"/>
+ <source>Download error: received HTTP error %1.</source>
+ <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="131"/>
+ <source>Cached file used.</source>
+ <translation>使用緩沖文件.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="133"/>
+ <source>Download error: %1</source>
+ <translation>下載錯誤: %1</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="138"/>
+ <source>Download finished.</source>
+ <translation>完成下載.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="144"/>
+ <source>Extracting file.</source>
+ <translation>正在解壓文件.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="153"/>
+ <source>Opening archive failed: %1.</source>
+ <translation>打開壓縮文件錯誤: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="162"/>
+ <source>Extracting failed: %1.</source>
+ <translation>解壓錯誤: %1.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="172"/>
+ <source>Installing file.</source>
+ <translation>正在安裝文件.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="183"/>
+ <source>Installing file failed.</source>
+ <translation>安裝文件失敗.</translation>
+ </message>
+ <message>
+ <location filename="installzip.cpp" line="193"/>
+ <source>Creating installation log</source>
+ <translation>正在建立安裝日志</translation>
+ </message>
+</context>
+<context>
+ <name>aboutBox</name>
+ <message>
+ <location filename="aboutbox.ui" line="13"/>
+ <source>About Rockbox Utility</source>
+ <translation>關于Rockbox安裝程序</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="34"/>
+ <source>The Rockbox Utility</source>
+ <translation>Rockbox安裝程序</translation>
+ </message>
+ <message>
+ <location filename="" line="0"/>
+ <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
+
+c 2005 - 2007 The Rockbox Team.
+Released under the GNU General Public License v2.</source>
+ <translation type="obsolete">安裝程序和一般管理程序為 Roxkbox 准備. Roxkbox 是一個開源的音樂播放器固件.
+
+c 2005 - 2007 Rockbox 團隊.
+授權于 GNU General Public License v2.</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="72"/>
+ <source>http://www.rockbox.org</source>
+ <translation>http://www.rockbox.org</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="95"/>
+ <source>&amp;Credits</source>
+ <translation>&amp;特別鳴謝</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="124"/>
+ <source>&amp;License</source>
+ <translation>&amp;授權</translation>
+ </message>
+ <message>
+ <location filename="aboutbox.ui" line="157"/>
+ <source>&amp;Ok</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message encoding="UTF-8">
+ <location filename="aboutbox.ui" line="56"/>
+ <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
+
+© 2005 - 2007 The Rockbox Team.
+Released under the GNU General Public License v2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/rbutil/rbutilqt/rbutilqt.rc b/rbutil/rbutilqt/rbutilqt.rc
index 93beece971..8b7938b69c 100644
--- a/rbutil/rbutilqt/rbutilqt.rc
+++ b/rbutil/rbutilqt/rbutilqt.rc
@@ -1,2 +1,2 @@
-1 24 MOVEABLE PURE "rbutilqt.manifest"
-RBUTIL_ICON ICON DISCARDABLE "icons/rockbox.ico"
+1 24 MOVEABLE PURE "rbutilqt.manifest"
+RBUTIL_ICON ICON DISCARDABLE "icons/rockbox.ico"
diff --git a/rbutil/rbutilqt/rbzip.cpp b/rbutil/rbutilqt/rbzip.cpp
index 9a1064d823..23abef89b9 100644
--- a/rbutil/rbutilqt/rbzip.cpp
+++ b/rbutil/rbutilqt/rbzip.cpp
@@ -1,67 +1,67 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- *
- * Copyright (C) 2008 by Dominik Wenger
- * $Id: rbzip.cpp 17129 2008-04-15 21:25:57Z bluebrother $
- *
- * All files in this archive are subject to the GNU General Public License.
- * See the file COPYING in the source tree root for full license agreement.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-
-#include "rbzip.h"
-#include <QtCore>
-
-
-Zip::ErrorCode RbZip::createZip(QString zip,QString dir,ProgressloggerInterface *dp)
-{
- m_logger = dp;
- Zip::ErrorCode error = Ok;
- m_curEntry = 1;
- int numEntrys=0;
-
- m_logger->addItem(tr("Creating Backup: %1").arg(zip),LOGINFO);
- QCoreApplication::processEvents();
-
- // get number of entrys in dir
- QDirIterator it(dir, QDirIterator::Subdirectories);
- while (it.hasNext())
- {
- it.next();
- numEntrys++;
- QCoreApplication::processEvents();
- }
- m_logger->setProgressMax(numEntrys);
-
- //! create zip
- error = Zip::createArchive(zip);
- if(error != Ok)
- return error;
-
- //! add the content
- error = Zip::addDirectory(dir);
- if(error != Ok)
- return error;
-
- //! close zip
- error = Zip::closeArchive();
-
- return error;
-}
-
-void RbZip::progress()
-{
- m_curEntry++;
- m_logger->setProgressValue(m_curEntry);
- QCoreApplication::processEvents(); // update UI
-}
-
-
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2008 by Dominik Wenger
+ * $Id: rbzip.cpp 17129 2008-04-15 21:25:57Z bluebrother $
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "rbzip.h"
+#include <QtCore>
+
+
+Zip::ErrorCode RbZip::createZip(QString zip,QString dir,ProgressloggerInterface *dp)
+{
+ m_logger = dp;
+ Zip::ErrorCode error = Ok;
+ m_curEntry = 1;
+ int numEntrys=0;
+
+ m_logger->addItem(tr("Creating Backup: %1").arg(zip),LOGINFO);
+ QCoreApplication::processEvents();
+
+ // get number of entrys in dir
+ QDirIterator it(dir, QDirIterator::Subdirectories);
+ while (it.hasNext())
+ {
+ it.next();
+ numEntrys++;
+ QCoreApplication::processEvents();
+ }
+ m_logger->setProgressMax(numEntrys);
+
+ //! create zip
+ error = Zip::createArchive(zip);
+ if(error != Ok)
+ return error;
+
+ //! add the content
+ error = Zip::addDirectory(dir);
+ if(error != Ok)
+ return error;
+
+ //! close zip
+ error = Zip::closeArchive();
+
+ return error;
+}
+
+void RbZip::progress()
+{
+ m_curEntry++;
+ m_logger->setProgressValue(m_curEntry);
+ QCoreApplication::processEvents(); // update UI
+}
+
+
diff --git a/rbutil/rbutilqt/rbzip.h b/rbutil/rbutilqt/rbzip.h
index c4f637500b..faf3ce7f4c 100644
--- a/rbutil/rbutilqt/rbzip.h
+++ b/rbutil/rbutilqt/rbzip.h
@@ -15,28 +15,28 @@
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
- ****************************************************************************/
-
-#ifndef RBZIP_H
-#define RBZIP_H
-
-#include <QtCore>
-#include "zip/zip.h"
+ ****************************************************************************/
+
+#ifndef RBZIP_H
+#define RBZIP_H
+
+#include <QtCore>
+#include "zip/zip.h"
#include "progressloggerinterface.h"
-
-class RbZip : public QObject, public Zip
-{
- Q_OBJECT
- public:
- Zip::ErrorCode createZip(QString zip,QString dir,ProgressloggerInterface *dp);
-
- virtual void progress();
-
+
+class RbZip : public QObject, public Zip
+{
+ Q_OBJECT
+ public:
+ Zip::ErrorCode createZip(QString zip,QString dir,ProgressloggerInterface *dp);
+
+ virtual void progress();
+
private:
int m_curEntry;
- ProgressloggerInterface *m_logger;
-};
-
-#endif
-
+ ProgressloggerInterface *m_logger;
+};
+
+#endif
+
diff --git a/rbutil/rbutilqt/zip/unzip.cpp b/rbutil/rbutilqt/zip/unzip.cpp
index 3cc385ab36..d49529bad9 100644
--- a/rbutil/rbutilqt/zip/unzip.cpp
+++ b/rbutil/rbutilqt/zip/unzip.cpp
@@ -1,1360 +1,1360 @@
-/****************************************************************************
-** Filename: unzip.cpp
-** Last updated [dd/mm/yyyy]: 28/01/2007
-**
-** pkzip 2.0 decompression.
-**
-** Some of the code has been inspired by other open source projects,
-** (mainly Info-Zip and Gilles Vollant's minizip).
-** Compression and decompression actually uses the zlib library.
-**
-** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
-**
-** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See the file LICENSE.GPL that came with this software distribution or
-** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
-**
-**********************************************************************/
-
-#include "unzip.h"
-#include "unzip_p.h"
-#include "zipentry_p.h"
-
-#include <QString>
-#include <QStringList>
-#include <QDir>
-#include <QFile>
-#include <QCoreApplication>
-
-// You can remove this #include if you replace the qDebug() statements.
-#include <QtDebug>
-
-/*!
- \class UnZip unzip.h
-
- \brief PKZip 2.0 file decompression.
- Compatibility with later versions is not ensured as they may use
- unsupported compression algorithms.
- Versions after 2.7 may have an incompatible header format and thus be
- completely incompatible.
-*/
-
-/*! \enum UnZip::ErrorCode The result of a decompression operation.
- \value UnZip::Ok No error occurred.
- \value UnZip::ZlibInit Failed to init or load the zlib library.
- \value UnZip::ZlibError The zlib library returned some error.
- \value UnZip::OpenFailed Unable to create or open a device.
- \value UnZip::PartiallyCorrupted Corrupted zip archive - some files could be extracted.
- \value UnZip::Corrupted Corrupted or invalid zip archive.
- \value UnZip::WrongPassword Unable to decrypt a password protected file.
- \value UnZip::NoOpenArchive No archive has been opened yet.
- \value UnZip::FileNotFound Unable to find the requested file in the archive.
- \value UnZip::ReadFailed Reading of a file failed.
- \value UnZip::WriteFailed Writing of a file failed.
- \value UnZip::SeekFailed Seek failed.
- \value UnZip::CreateDirFailed Could not create a directory.
- \value UnZip::InvalidDevice A null device has been passed as parameter.
- \value UnZip::InvalidArchive This is not a valid (or supported) ZIP archive.
- \value UnZip::HeaderConsistencyError Local header record info does not match with the central directory record info. The archive may be corrupted.
-
- \value UnZip::Skip Internal use only.
- \value UnZip::SkipAll Internal use only.
-*/
-
-/*! \enum UnZip::ExtractionOptions Some options for the file extraction methods.
- \value UnZip::ExtractPaths Default. Does not ignore the path of the zipped files.
- \value UnZip::SkipPaths Default. Ignores the path of the zipped files and extracts them all to the same root directory.
-*/
-
-//! Local header size (excluding signature, excluding variable length fields)
-#define UNZIP_LOCAL_HEADER_SIZE 26
-//! Central Directory file entry size (excluding signature, excluding variable length fields)
-#define UNZIP_CD_ENTRY_SIZE_NS 42
-//! Data descriptor size (excluding signature)
-#define UNZIP_DD_SIZE 12
-//! End Of Central Directory size (including signature, excluding variable length fields)
-#define UNZIP_EOCD_SIZE 22
-//! Local header entry encryption header size
-#define UNZIP_LOCAL_ENC_HEADER_SIZE 12
-
-// Some offsets inside a CD record (excluding signature)
-#define UNZIP_CD_OFF_VERSION 0
-#define UNZIP_CD_OFF_GPFLAG 4
-#define UNZIP_CD_OFF_CMETHOD 6
-#define UNZIP_CD_OFF_MODT 8
-#define UNZIP_CD_OFF_MODD 10
-#define UNZIP_CD_OFF_CRC32 12
-#define UNZIP_CD_OFF_CSIZE 16
-#define UNZIP_CD_OFF_USIZE 20
-#define UNZIP_CD_OFF_NAMELEN 24
-#define UNZIP_CD_OFF_XLEN 26
-#define UNZIP_CD_OFF_COMMLEN 28
-#define UNZIP_CD_OFF_LHOFFSET 38
-
-// Some offsets inside a local header record (excluding signature)
-#define UNZIP_LH_OFF_VERSION 0
-#define UNZIP_LH_OFF_GPFLAG 2
-#define UNZIP_LH_OFF_CMETHOD 4
-#define UNZIP_LH_OFF_MODT 6
-#define UNZIP_LH_OFF_MODD 8
-#define UNZIP_LH_OFF_CRC32 10
-#define UNZIP_LH_OFF_CSIZE 14
-#define UNZIP_LH_OFF_USIZE 18
-#define UNZIP_LH_OFF_NAMELEN 22
-#define UNZIP_LH_OFF_XLEN 24
-
-// Some offsets inside a data descriptor record (excluding signature)
-#define UNZIP_DD_OFF_CRC32 0
-#define UNZIP_DD_OFF_CSIZE 4
-#define UNZIP_DD_OFF_USIZE 8
-
-// Some offsets inside a EOCD record
-#define UNZIP_EOCD_OFF_ENTRIES 6
-#define UNZIP_EOCD_OFF_CDOFF 12
-#define UNZIP_EOCD_OFF_COMMLEN 16
-
-/*!
- Max version handled by this API.
- 0x1B = 2.7 --> full compatibility only up to version 2.0 (0x14)
- versions from 2.1 to 2.7 may use unsupported compression methods
- versions after 2.7 may have an incompatible header format
-*/
-#define UNZIP_VERSION 0x1B
-//! Full compatibility granted until this version
-#define UNZIP_VERSION_STRICT 0x14
-
-//! CRC32 routine
-#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8)
-
-//! Checks if some file has been already extracted.
-#define UNZIP_CHECK_FOR_VALID_DATA \
- {\
- if (headers != 0)\
- {\
- qDebug() << "Corrupted zip archive. Some files might be extracted.";\
- ec = headers->size() != 0 ? UnZip::PartiallyCorrupted : UnZip::Corrupted;\
- break;\
- }\
- else\
- {\
- delete device;\
- device = 0;\
- qDebug() << "Corrupted or invalid zip archive";\
- ec = UnZip::Corrupted;\
- break;\
- }\
- }
-
-
-/************************************************************************
- Public interface
-*************************************************************************/
-
-/*!
- Creates a new Zip file decompressor.
-*/
-UnZip::UnZip()
-{
- d = new UnzipPrivate;
-}
-
-/*!
- Closes any open archive and releases used resources.
-*/
-UnZip::~UnZip()
-{
- closeArchive();
- delete d;
-}
-
-/*!
- Returns true if there is an open archive.
-*/
-bool UnZip::isOpen() const
-{
- return d->device != 0;
-}
-
-/*!
- Opens a zip archive and reads the files list. Closes any previously opened archive.
-*/
-UnZip::ErrorCode UnZip::openArchive(const QString& filename)
-{
- QFile* file = new QFile(filename);
-
- if (!file->exists()) {
- delete file;
- return UnZip::FileNotFound;
- }
-
- if (!file->open(QIODevice::ReadOnly)) {
- delete file;
- return UnZip::OpenFailed;
- }
-
- return openArchive(file);
-}
-
-/*!
- Opens a zip archive and reads the entries list.
- Closes any previously opened archive.
- \warning The class takes ownership of the device so don't delete it!
-*/
-UnZip::ErrorCode UnZip::openArchive(QIODevice* device)
-{
- if (device == 0)
- {
- qDebug() << "Invalid device.";
- return UnZip::InvalidDevice;
- }
-
- return d->openArchive(device);
-}
-
-/*!
- Closes the archive and releases all the used resources (like cached passwords).
-*/
-void UnZip::closeArchive()
-{
- d->closeArchive();
-}
-
-QString UnZip::archiveComment() const
-{
- if (d->device == 0)
- return QString();
- return d->comment;
-}
-
-/*!
- Returns a locale translated error string for a given error code.
-*/
-QString UnZip::formatError(UnZip::ErrorCode c) const
-{
- switch (c)
- {
- case Ok: return QCoreApplication::translate("UnZip", "ZIP operation completed successfully."); break;
- case ZlibInit: return QCoreApplication::translate("UnZip", "Failed to initialize or load zlib library."); break;
- case ZlibError: return QCoreApplication::translate("UnZip", "zlib library error."); break;
- case OpenFailed: return QCoreApplication::translate("UnZip", "Unable to create or open file."); break;
- case PartiallyCorrupted: return QCoreApplication::translate("UnZip", "Partially corrupted archive. Some files might be extracted."); break;
- case Corrupted: return QCoreApplication::translate("UnZip", "Corrupted archive."); break;
- case WrongPassword: return QCoreApplication::translate("UnZip", "Wrong password."); break;
- case NoOpenArchive: return QCoreApplication::translate("UnZip", "No archive has been created yet."); break;
- case FileNotFound: return QCoreApplication::translate("UnZip", "File or directory does not exist."); break;
- case ReadFailed: return QCoreApplication::translate("UnZip", "File read error."); break;
- case WriteFailed: return QCoreApplication::translate("UnZip", "File write error."); break;
- case SeekFailed: return QCoreApplication::translate("UnZip", "File seek error."); break;
- case CreateDirFailed: return QCoreApplication::translate("UnZip", "Unable to create a directory."); break;
- case InvalidDevice: return QCoreApplication::translate("UnZip", "Invalid device."); break;
- case InvalidArchive: return QCoreApplication::translate("UnZip", "Invalid or incompatible zip archive."); break;
- case HeaderConsistencyError: return QCoreApplication::translate("UnZip", "Inconsistent headers. Archive might be corrupted."); break;
- default: ;
- }
-
- return QCoreApplication::translate("UnZip", "Unknown error.");
-}
-
-/*!
- Returns true if the archive contains a file with the given path and name.
-*/
-bool UnZip::contains(const QString& file) const
-{
- if (d->headers == 0)
- return false;
-
- return d->headers->contains(file);
-}
-
-/*!
- Returns complete paths of files and directories in this archive.
-*/
-QStringList UnZip::fileList() const
-{
- return d->headers == 0 ? QStringList() : d->headers->keys();
-}
-
-/*!
- Returns information for each (correctly parsed) entry of this archive.
-*/
-QList<UnZip::ZipEntry> UnZip::entryList() const
-{
- QList<UnZip::ZipEntry> list;
-
- if (d->headers != 0)
- {
- for (QMap<QString,ZipEntryP*>::ConstIterator it = d->headers->constBegin(); it != d->headers->constEnd(); ++it)
- {
- const ZipEntryP* entry = it.value();
- Q_ASSERT(entry != 0);
-
- ZipEntry z;
-
- z.filename = it.key();
- if (!entry->comment.isEmpty())
- z.comment = entry->comment;
- z.compressedSize = entry->szComp;
- z.uncompressedSize = entry->szUncomp;
- z.crc32 = entry->crc;
- z.lastModified = d->convertDateTime(entry->modDate, entry->modTime);
-
- z.compression = entry->compMethod == 0 ? NoCompression : entry->compMethod == 8 ? Deflated : UnknownCompression;
- z.type = z.filename.endsWith("/") ? Directory : File;
-
- z.encrypted = entry->isEncrypted();
-
- list.append(z);
- }
- }
-
- return list;
-}
-
-/*!
- Extracts the whole archive to a directory.
-*/
-UnZip::ErrorCode UnZip::extractAll(const QString& dirname, ExtractionOptions options)
-{
- return extractAll(QDir(dirname), options);
-}
-
-/*!
- Extracts the whole archive to a directory.
-*/
-UnZip::ErrorCode UnZip::extractAll(const QDir& dir, ExtractionOptions options)
-{
- // this should only happen if we didn't call openArchive() yet
- if (d->device == 0)
- return NoOpenArchive;
-
- if (d->headers == 0)
- return Ok;
-
- bool end = false;
- for (QMap<QString,ZipEntryP*>::Iterator itr = d->headers->begin(); itr != d->headers->end(); ++itr)
- {
- ZipEntryP* entry = itr.value();
- Q_ASSERT(entry != 0);
-
- if ((entry->isEncrypted()) && d->skipAllEncrypted)
- continue;
-
- switch (d->extractFile(itr.key(), *entry, dir, options))
- {
- case Corrupted:
- qDebug() << "Removing corrupted entry" << itr.key();
- d->headers->erase(itr++);
- if (itr == d->headers->end())
- end = true;
- break;
- case CreateDirFailed:
- break;
- case Skip:
- break;
- case SkipAll:
- d->skipAllEncrypted = true;
- break;
- default:
- ;
- }
-
- if (end)
- break;
- }
-
- return Ok;
-}
-
-/*!
- Extracts a single file to a directory.
-*/
-UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QString& dirname, ExtractionOptions options)
-{
- return extractFile(filename, QDir(dirname), options);
-}
-
-/*!
- Extracts a single file to a directory.
-*/
-UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QDir& dir, ExtractionOptions options)
-{
- QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename);
- if (itr != d->headers->end())
- {
- ZipEntryP* entry = itr.value();
- Q_ASSERT(entry != 0);
- return d->extractFile(itr.key(), *entry, dir, options);
- }
-
- return FileNotFound;
-}
-
-/*!
- Extracts a single file to a directory.
-*/
-UnZip::ErrorCode UnZip::extractFile(const QString& filename, QIODevice* dev, ExtractionOptions options)
-{
- if (dev == 0)
- return InvalidDevice;
-
- QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename);
- if (itr != d->headers->end()) {
- ZipEntryP* entry = itr.value();
- Q_ASSERT(entry != 0);
- return d->extractFile(itr.key(), *entry, dev, options);
- }
-
- return FileNotFound;
-}
-
-/*!
- Extracts a list of files.
- Stops extraction at the first error (but continues if a file does not exist in the archive).
- */
-UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options)
-{
- QDir dir(dirname);
- ErrorCode ec;
-
- for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr)
- {
- ec = extractFile(*itr, dir, options);
- if (ec == FileNotFound)
- continue;
- if (ec != Ok)
- return ec;
- }
-
- return Ok;
-}
-
-/*!
- Extracts a list of files.
- Stops extraction at the first error (but continues if a file does not exist in the archive).
- */
-UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options)
-{
- ErrorCode ec;
-
- for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr)
- {
- ec = extractFile(*itr, dir, options);
- if (ec == FileNotFound)
- continue;
- if (ec != Ok)
- return ec;
- }
-
- return Ok;
-}
-
-/*!
- Remove/replace this method to add your own password retrieval routine.
-*/
-void UnZip::setPassword(const QString& pwd)
-{
- d->password = pwd;
-}
-
-/*!
- ZipEntry constructor - initialize data. Type is set to File.
-*/
-UnZip::ZipEntry::ZipEntry()
-{
- compressedSize = uncompressedSize = crc32 = 0;
- compression = NoCompression;
- type = File;
- encrypted = false;
-}
-
-
-/************************************************************************
- Private interface
-*************************************************************************/
-
-//! \internal
-UnzipPrivate::UnzipPrivate()
-{
- skipAllEncrypted = false;
- headers = 0;
- device = 0;
-
- uBuffer = (unsigned char*) buffer1;
- crcTable = (quint32*) get_crc_table();
-
- cdOffset = eocdOffset = 0;
- cdEntryCount = 0;
- unsupportedEntryCount = 0;
-}
-
-//! \internal Parses a Zip archive.
-UnZip::ErrorCode UnzipPrivate::openArchive(QIODevice* dev)
-{
- Q_ASSERT(dev != 0);
-
- if (device != 0)
- closeArchive();
-
- device = dev;
-
- if (!(device->isOpen() || device->open(QIODevice::ReadOnly)))
- {
- delete device;
- device = 0;
-
- qDebug() << "Unable to open device for reading";
- return UnZip::OpenFailed;
- }
-
- UnZip::ErrorCode ec;
-
- ec = seekToCentralDirectory();
- if (ec != UnZip::Ok)
- {
- closeArchive();
- return ec;
- }
-
- //! \todo Ignore CD entry count? CD may be corrupted.
- if (cdEntryCount == 0)
- {
- return UnZip::Ok;
- }
-
- bool continueParsing = true;
-
- while (continueParsing)
- {
- if (device->read(buffer1, 4) != 4)
- UNZIP_CHECK_FOR_VALID_DATA
-
- if (! (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x01 && buffer1[3] == 0x02) )
- break;
-
- if ( (ec = parseCentralDirectoryRecord()) != UnZip::Ok )
- break;
- }
-
- if (ec != UnZip::Ok)
- closeArchive();
-
- return ec;
-}
-
-/*
- \internal Parses a local header record and makes some consistency check
- with the information stored in the Central Directory record for this entry
- that has been previously parsed.
- \todo Optional consistency check (as a ExtractionOptions flag)
-
- local file header signature 4 bytes (0x04034b50)
- version needed to extract 2 bytes
- general purpose bit flag 2 bytes
- compression method 2 bytes
- last mod file time 2 bytes
- last mod file date 2 bytes
- crc-32 4 bytes
- compressed size 4 bytes
- uncompressed size 4 bytes
- file name length 2 bytes
- extra field length 2 bytes
-
- file name (variable size)
- extra field (variable size)
-*/
-UnZip::ErrorCode UnzipPrivate::parseLocalHeaderRecord(const QString& path, ZipEntryP& entry)
-{
- if (!device->seek(entry.lhOffset))
- return UnZip::SeekFailed;
-
- // Test signature
- if (device->read(buffer1, 4) != 4)
- return UnZip::ReadFailed;
-
- if ((buffer1[0] != 'P') || (buffer1[1] != 'K') || (buffer1[2] != 0x03) || (buffer1[3] != 0x04))
- return UnZip::InvalidArchive;
-
- if (device->read(buffer1, UNZIP_LOCAL_HEADER_SIZE) != UNZIP_LOCAL_HEADER_SIZE)
- return UnZip::ReadFailed;
-
- /*
- Check 3rd general purpose bit flag.
-
- "bit 3: If this bit is set, the fields crc-32, compressed size
- and uncompressed size are set to zero in the local
- header. The correct values are put in the data descriptor
- immediately following the compressed data."
- */
- bool hasDataDescriptor = entry.hasDataDescriptor();
-
- bool checkFailed = false;
-
- if (!checkFailed)
- checkFailed = entry.compMethod != getUShort(uBuffer, UNZIP_LH_OFF_CMETHOD);
- if (!checkFailed)
- checkFailed = entry.gpFlag[0] != uBuffer[UNZIP_LH_OFF_GPFLAG];
- if (!checkFailed)
- checkFailed = entry.gpFlag[1] != uBuffer[UNZIP_LH_OFF_GPFLAG + 1];
- if (!checkFailed)
- checkFailed = entry.modTime[0] != uBuffer[UNZIP_LH_OFF_MODT];
- if (!checkFailed)
- checkFailed = entry.modTime[1] != uBuffer[UNZIP_LH_OFF_MODT + 1];
- if (!checkFailed)
- checkFailed = entry.modDate[0] != uBuffer[UNZIP_LH_OFF_MODD];
- if (!checkFailed)
- checkFailed = entry.modDate[1] != uBuffer[UNZIP_LH_OFF_MODD + 1];
- if (!hasDataDescriptor)
- {
- if (!checkFailed)
- checkFailed = entry.crc != getULong(uBuffer, UNZIP_LH_OFF_CRC32);
- if (!checkFailed)
- checkFailed = entry.szComp != getULong(uBuffer, UNZIP_LH_OFF_CSIZE);
- if (!checkFailed)
- checkFailed = entry.szUncomp != getULong(uBuffer, UNZIP_LH_OFF_USIZE);
- }
-
- if (checkFailed)
- return UnZip::HeaderConsistencyError;
-
- // Check filename
- quint16 szName = getUShort(uBuffer, UNZIP_LH_OFF_NAMELEN);
- if (szName == 0)
- return UnZip::HeaderConsistencyError;
-
- if (device->read(buffer2, szName) != szName)
- return UnZip::ReadFailed;
-
- QString filename = QString::fromAscii(buffer2, szName);
- if (filename != path)
- {
- qDebug() << "Filename in local header mismatches.";
- return UnZip::HeaderConsistencyError;
- }
-
- // Skip extra field
- quint16 szExtra = getUShort(uBuffer, UNZIP_LH_OFF_XLEN);
- if (szExtra != 0)
- {
- if (!device->seek(device->pos() + szExtra))
- return UnZip::SeekFailed;
- }
-
- entry.dataOffset = device->pos();
-
- if (hasDataDescriptor)
- {
- /*
- The data descriptor has this OPTIONAL signature: PK\7\8
- We try to skip the compressed data relying on the size set in the
- Central Directory record.
- */
- if (!device->seek(device->pos() + entry.szComp))
- return UnZip::SeekFailed;
-
- // Read 4 bytes and check if there is a data descriptor signature
- if (device->read(buffer2, 4) != 4)
- return UnZip::ReadFailed;
-
- bool hasSignature = buffer2[0] == 'P' && buffer2[1] == 'K' && buffer2[2] == 0x07 && buffer2[3] == 0x08;
- if (hasSignature)
- {
- if (device->read(buffer2, UNZIP_DD_SIZE) != UNZIP_DD_SIZE)
- return UnZip::ReadFailed;
- }
- else
- {
- if (device->read(buffer2 + 4, UNZIP_DD_SIZE - 4) != UNZIP_DD_SIZE - 4)
- return UnZip::ReadFailed;
- }
-
- // DD: crc, compressed size, uncompressed size
- if (
- entry.crc != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CRC32) ||
- entry.szComp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CSIZE) ||
- entry.szUncomp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_USIZE)
- )
- return UnZip::HeaderConsistencyError;
- }
-
- return UnZip::Ok;
-}
-
-/*! \internal Attempts to find the start of the central directory record.
-
- We seek the file back until we reach the "End Of Central Directory"
- signature PK\5\6.
-
- end of central dir signature 4 bytes (0x06054b50)
- number of this disk 2 bytes
- number of the disk with the
- start of the central directory 2 bytes
- total number of entries in the
- central directory on this disk 2 bytes
- total number of entries in
- the central directory 2 bytes
- size of the central directory 4 bytes
- offset of start of central
- directory with respect to
- the starting disk number 4 bytes
- .ZIP file comment length 2 bytes
- --- SIZE UNTIL HERE: UNZIP_EOCD_SIZE ---
- .ZIP file comment (variable size)
-*/
-UnZip::ErrorCode UnzipPrivate::seekToCentralDirectory()
-{
- qint64 length = device->size();
- qint64 offset = length - UNZIP_EOCD_SIZE;
-
- if (length < UNZIP_EOCD_SIZE)
- return UnZip::InvalidArchive;
-
- if (!device->seek( offset ))
- return UnZip::SeekFailed;
-
- if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE)
- return UnZip::ReadFailed;
-
- bool eocdFound = (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x05 && buffer1[3] == 0x06);
-
- if (eocdFound)
- {
- // Zip file has no comment (the only variable length field in the EOCD record)
- eocdOffset = offset;
- }
- else
- {
- qint64 read;
- char* p = 0;
-
- offset -= UNZIP_EOCD_SIZE;
-
- if (offset <= 0)
- return UnZip::InvalidArchive;
-
- if (!device->seek( offset ))
- return UnZip::SeekFailed;
-
- while ((read = device->read(buffer1, UNZIP_EOCD_SIZE)) >= 0)
- {
- if ( (p = strstr(buffer1, "PK\5\6")) != 0)
- {
- // Seek to the start of the EOCD record so we can read it fully
- // Yes... we could simply read the missing bytes and append them to the buffer
- // but this is far easier so heck it!
- device->seek( offset + (p - buffer1) );
- eocdFound = true;
- eocdOffset = offset + (p - buffer1);
-
- // Read EOCD record
- if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE)
- return UnZip::ReadFailed;
-
- break;
- }
-
- offset -= UNZIP_EOCD_SIZE;
- if (offset <= 0)
- return UnZip::InvalidArchive;
-
- if (!device->seek( offset ))
- return UnZip::SeekFailed;
- }
- }
-
- if (!eocdFound)
- return UnZip::InvalidArchive;
-
- // Parse EOCD to locate CD offset
- offset = getULong((const unsigned char*)buffer1, UNZIP_EOCD_OFF_CDOFF + 4);
-
- cdOffset = offset;
-
- cdEntryCount = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_ENTRIES + 4);
-
- quint16 commentLength = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_COMMLEN + 4);
- if (commentLength != 0)
- {
- QByteArray c = device->read(commentLength);
- if (c.count() != commentLength)
- return UnZip::ReadFailed;
-
- comment = c;
- }
-
- // Seek to the start of the CD record
- if (!device->seek( cdOffset ))
- return UnZip::SeekFailed;
-
- return UnZip::Ok;
-}
-
-/*!
- \internal Parses a central directory record.
-
- Central Directory record structure:
-
- [file header 1]
- .
- .
- .
- [file header n]
- [digital signature] // PKZip 6.2 or later only
-
- File header:
-
- central file header signature 4 bytes (0x02014b50)
- version made by 2 bytes
- version needed to extract 2 bytes
- general purpose bit flag 2 bytes
- compression method 2 bytes
- last mod file time 2 bytes
- last mod file date 2 bytes
- crc-32 4 bytes
- compressed size 4 bytes
- uncompressed size 4 bytes
- file name length 2 bytes
- extra field length 2 bytes
- file comment length 2 bytes
- disk number start 2 bytes
- internal file attributes 2 bytes
- external file attributes 4 bytes
- relative offset of local header 4 bytes
-
- file name (variable size)
- extra field (variable size)
- file comment (variable size)
-*/
-UnZip::ErrorCode UnzipPrivate::parseCentralDirectoryRecord()
-{
- // Read CD record
- if (device->read(buffer1, UNZIP_CD_ENTRY_SIZE_NS) != UNZIP_CD_ENTRY_SIZE_NS)
- return UnZip::ReadFailed;
-
- bool skipEntry = false;
-
- // Get compression type so we can skip non compatible algorithms
- quint16 compMethod = getUShort(uBuffer, UNZIP_CD_OFF_CMETHOD);
-
- // Get variable size fields length so we can skip the whole record
- // if necessary
- quint16 szName = getUShort(uBuffer, UNZIP_CD_OFF_NAMELEN);
- quint16 szExtra = getUShort(uBuffer, UNZIP_CD_OFF_XLEN);
- quint16 szComment = getUShort(uBuffer, UNZIP_CD_OFF_COMMLEN);
-
- quint32 skipLength = szName + szExtra + szComment;
-
- UnZip::ErrorCode ec = UnZip::Ok;
-
- if ((compMethod != 0) && (compMethod != 8))
- {
- qDebug() << "Unsupported compression method. Skipping file.";
- skipEntry = true;
- }
-
- // Header parsing may be a problem if version is bigger than UNZIP_VERSION
- if (!skipEntry && buffer1[UNZIP_CD_OFF_VERSION] > UNZIP_VERSION)
- {
- qDebug() << "Unsupported PKZip version. Skipping file.";
- skipEntry = true;
- }
-
- if (!skipEntry && szName == 0)
- {
- qDebug() << "Skipping file with no name.";
- skipEntry = true;
- }
-
- if (!skipEntry && device->read(buffer2, szName) != szName)
- {
- ec = UnZip::ReadFailed;
- skipEntry = true;
- }
-
- if (skipEntry)
- {
- if (ec == UnZip::Ok)
- {
- if (!device->seek( device->pos() + skipLength ))
- ec = UnZip::SeekFailed;
-
- unsupportedEntryCount++;
- }
-
- return ec;
- }
-
- QString filename = QString::fromAscii(buffer2, szName);
-
- ZipEntryP* h = new ZipEntryP;
- h->compMethod = compMethod;
-
- h->gpFlag[0] = buffer1[UNZIP_CD_OFF_GPFLAG];
- h->gpFlag[1] = buffer1[UNZIP_CD_OFF_GPFLAG + 1];
-
- h->modTime[0] = buffer1[UNZIP_CD_OFF_MODT];
- h->modTime[1] = buffer1[UNZIP_CD_OFF_MODT + 1];
-
- h->modDate[0] = buffer1[UNZIP_CD_OFF_MODD];
- h->modDate[1] = buffer1[UNZIP_CD_OFF_MODD + 1];
-
- h->crc = getULong(uBuffer, UNZIP_CD_OFF_CRC32);
- h->szComp = getULong(uBuffer, UNZIP_CD_OFF_CSIZE);
- h->szUncomp = getULong(uBuffer, UNZIP_CD_OFF_USIZE);
-
- // Skip extra field (if any)
- if (szExtra != 0)
- {
- if (!device->seek( device->pos() + szExtra ))
- {
- delete h;
- return UnZip::SeekFailed;
- }
- }
-
- // Read comment field (if any)
- if (szComment != 0)
- {
- if (device->read(buffer2, szComment) != szComment)
- {
- delete h;
- return UnZip::ReadFailed;
- }
-
- h->comment = QString::fromAscii(buffer2, szComment);
- }
-
- h->lhOffset = getULong(uBuffer, UNZIP_CD_OFF_LHOFFSET);
-
- if (headers == 0)
- headers = new QMap<QString, ZipEntryP*>();
- headers->insert(filename, h);
-
- return UnZip::Ok;
-}
-
-//! \internal Closes the archive and resets the internal status.
-void UnzipPrivate::closeArchive()
-{
- if (device == 0)
- return;
-
- skipAllEncrypted = false;
-
- if (headers != 0)
- {
- qDeleteAll(*headers);
- delete headers;
- headers = 0;
- }
-
- delete device; device = 0;
-
- cdOffset = eocdOffset = 0;
- cdEntryCount = 0;
- unsupportedEntryCount = 0;
-
- comment.clear();
-}
-
-//! \internal
-UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options)
-{
- QString name(path);
- QString dirname;
- QString directory;
-
- int pos = name.lastIndexOf('/');
-
- // This entry is for a directory
- if (pos == name.length() - 1)
- {
- if (options.testFlag(UnZip::SkipPaths))
- return UnZip::Ok;
-
- directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(name));
- if (!createDirectory(directory))
- {
- qDebug() << QString("Unable to create directory: %1").arg(directory);
- return UnZip::CreateDirFailed;
- }
-
- return UnZip::Ok;
- }
-
- // Extract path from entry
- if (pos > 0)
- {
- // get directory part
- dirname = name.left(pos);
- if (options.testFlag(UnZip::SkipPaths))
- {
- directory = dir.absolutePath();
- }
- else
- {
- directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(dirname));
- if (!createDirectory(directory))
- {
- qDebug() << QString("Unable to create directory: %1").arg(directory);
- return UnZip::CreateDirFailed;
- }
- }
- name = name.right(name.length() - pos - 1);
- } else directory = dir.absolutePath();
-
- name = QString("%1/%2").arg(directory).arg(name);
-
- QFile outFile(name);
-
- if (!outFile.open(QIODevice::WriteOnly))
- {
- qDebug() << QString("Unable to open %1 for writing").arg(name);
- return UnZip::OpenFailed;
- }
-
- //! \todo Set creation/last_modified date/time
-
- UnZip::ErrorCode ec = extractFile(path, entry, &outFile, options);
-
- outFile.close();
-
- if (ec != UnZip::Ok)
- {
- if (!outFile.remove())
- qDebug() << QString("Unable to remove corrupted file: %1").arg(name);
- }
-
- return ec;
-}
-
-//! \internal
-UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, QIODevice* dev, UnZip::ExtractionOptions options)
-{
- Q_UNUSED(options);
- Q_ASSERT(dev != 0);
-
- if (!entry.lhEntryChecked)
- {
- UnZip::ErrorCode ec = parseLocalHeaderRecord(path, entry);
- entry.lhEntryChecked = true;
-
- if (ec != UnZip::Ok)
- return ec;
- }
-
- if (!device->seek(entry.dataOffset))
- return UnZip::SeekFailed;
-
- // Encryption keys
- quint32 keys[3];
-
- if (entry.isEncrypted())
- {
- UnZip::ErrorCode e = testPassword(keys, path, entry);
- if (e != UnZip::Ok)
- {
- qDebug() << QString("Unable to decrypt %1").arg(path);
- return e;
- }//! Encryption header size
- entry.szComp -= UNZIP_LOCAL_ENC_HEADER_SIZE; // remove encryption header size
- }
-
- if (entry.szComp == 0)
- {
- if (entry.crc != 0)
- return UnZip::Corrupted;
-
- return UnZip::Ok;
- }
-
- uInt rep = entry.szComp / UNZIP_READ_BUFFER;
- uInt rem = entry.szComp % UNZIP_READ_BUFFER;
- uInt cur = 0;
-
- // extract data
- qint64 read;
- quint64 tot = 0;
-
- quint32 myCRC = crc32(0L, Z_NULL, 0);
-
- if (entry.compMethod == 0)
- {
- while ( (read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem)) > 0 )
- {
- if (entry.isEncrypted())
- decryptBytes(keys, buffer1, read);
-
- myCRC = crc32(myCRC, uBuffer, read);
-
- if (dev->write(buffer1, read) != read)
- return UnZip::WriteFailed;
-
- cur++;
- tot += read;
-
- if (tot == entry.szComp)
- break;
- }
-
- if (read < 0)
- return UnZip::ReadFailed;
- }
- else if (entry.compMethod == 8)
- {
- /* Allocate inflate state */
- z_stream zstr;
- zstr.zalloc = Z_NULL;
- zstr.zfree = Z_NULL;
- zstr.opaque = Z_NULL;
- zstr.next_in = Z_NULL;
- zstr.avail_in = 0;
-
- int zret;
-
- // Use inflateInit2 with negative windowBits to get raw decompression
- if ( (zret = inflateInit2_(&zstr, -MAX_WBITS, ZLIB_VERSION, sizeof(z_stream))) != Z_OK )
- return UnZip::ZlibError;
-
- int szDecomp;
-
- // Decompress until deflate stream ends or end of file
- do
- {
- read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem);
- if (read == 0)
- break;
- if (read < 0)
- {
- (void)inflateEnd(&zstr);
- return UnZip::ReadFailed;
- }
-
- if (entry.isEncrypted())
- decryptBytes(keys, buffer1, read);
-
- cur++;
- tot += read;
-
- zstr.avail_in = (uInt) read;
- zstr.next_in = (Bytef*) buffer1;
-
-
- // Run inflate() on input until output buffer not full
- do {
- zstr.avail_out = UNZIP_READ_BUFFER;
- zstr.next_out = (Bytef*) buffer2;;
-
- zret = inflate(&zstr, Z_NO_FLUSH);
-
- switch (zret) {
- case Z_NEED_DICT:
- case Z_DATA_ERROR:
- case Z_MEM_ERROR:
- inflateEnd(&zstr);
- return UnZip::WriteFailed;
- default:
- ;
- }
-
- szDecomp = UNZIP_READ_BUFFER - zstr.avail_out;
- if (dev->write(buffer2, szDecomp) != szDecomp)
- {
- inflateEnd(&zstr);
- return UnZip::ZlibError;
- }
-
- myCRC = crc32(myCRC, (const Bytef*) buffer2, szDecomp);
-
- } while (zstr.avail_out == 0);
-
- }
- while (zret != Z_STREAM_END);
-
- inflateEnd(&zstr);
- }
-
- if (myCRC != entry.crc)
- return UnZip::Corrupted;
-
- return UnZip::Ok;
-}
-
-//! \internal Creates a new directory and all the needed parent directories.
-bool UnzipPrivate::createDirectory(const QString& path)
-{
- QDir d(path);
- if (!d.exists())
- {
- int sep = path.lastIndexOf("/");
- if (sep <= 0) return true;
-
- if (!createDirectory(path.left(sep)))
- return false;
-
- if (!d.mkdir(path))
- {
- qDebug() << QString("Unable to create directory: %1").arg(path);
- return false;
- }
- }
-
- return true;
-}
-
-/*!
- \internal Reads an quint32 (4 bytes) from a byte array starting at given offset.
-*/
-quint32 UnzipPrivate::getULong(const unsigned char* data, quint32 offset) const
-{
- quint32 res = (quint32) data[offset];
- res |= (((quint32)data[offset+1]) << 8);
- res |= (((quint32)data[offset+2]) << 16);
- res |= (((quint32)data[offset+3]) << 24);
-
- return res;
-}
-
-/*!
- \internal Reads an quint64 (8 bytes) from a byte array starting at given offset.
-*/
-quint64 UnzipPrivate::getULLong(const unsigned char* data, quint32 offset) const
-{
- quint64 res = (quint64) data[offset];
- res |= (((quint64)data[offset+1]) << 8);
- res |= (((quint64)data[offset+2]) << 16);
- res |= (((quint64)data[offset+3]) << 24);
- res |= (((quint64)data[offset+1]) << 32);
- res |= (((quint64)data[offset+2]) << 40);
- res |= (((quint64)data[offset+3]) << 48);
- res |= (((quint64)data[offset+3]) << 56);
-
- return res;
-}
-
-/*!
- \internal Reads an quint16 (2 bytes) from a byte array starting at given offset.
-*/
-quint16 UnzipPrivate::getUShort(const unsigned char* data, quint32 offset) const
-{
- return (quint16) data[offset] | (((quint16)data[offset+1]) << 8);
-}
-
-/*!
- \internal Return the next byte in the pseudo-random sequence
- */
-int UnzipPrivate::decryptByte(quint32 key2) const
-{
- quint16 temp = ((quint16)(key2) & 0xffff) | 2;
- return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
-}
-
-/*!
- \internal Update the encryption keys with the next byte of plain text
- */
-void UnzipPrivate::updateKeys(quint32* keys, int c) const
-{
- keys[0] = CRC32(keys[0], c);
- keys[1] += keys[0] & 0xff;
- keys[1] = keys[1] * 134775813L + 1;
- keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24);
-}
-
-/*!
- \internal Initialize the encryption keys and the random header according to
- the given password.
- */
-void UnzipPrivate::initKeys(const QString& pwd, quint32* keys) const
-{
- keys[0] = 305419896L;
- keys[1] = 591751049L;
- keys[2] = 878082192L;
-
- QByteArray pwdBytes = pwd.toAscii();
- int sz = pwdBytes.size();
- const char* ascii = pwdBytes.data();
-
- for (int i=0; i<sz; ++i)
- updateKeys(keys, (int)ascii[i]);
-}
-
-/*!
- \internal Attempts to test a password without actually extracting a file.
- The \p file parameter can be used in the user interface or for debugging purposes
- as it is the name of the encrypted file for wich the password is being tested.
-*/
-UnZip::ErrorCode UnzipPrivate::testPassword(quint32* keys, const QString& file, const ZipEntryP& header)
-{
- Q_UNUSED(file);
-
- // read encryption keys
- if (device->read(buffer1, 12) != 12)
- return UnZip::Corrupted;
-
- // Replace this code if you want to i.e. call some dialog and ask the user for a password
- initKeys(password, keys);
- if (testKeys(header, keys))
- return UnZip::Ok;
-
- return UnZip::Skip;
-}
-
-/*!
- \internal Tests a set of keys on the encryption header.
-*/
-bool UnzipPrivate::testKeys(const ZipEntryP& header, quint32* keys)
-{
- char lastByte;
-
- // decrypt encryption header
- for (int i=0; i<11; ++i)
- updateKeys(keys, lastByte = buffer1[i] ^ decryptByte(keys[2]));
- updateKeys(keys, lastByte = buffer1[11] ^ decryptByte(keys[2]));
-
- // if there is an extended header (bit in the gp flag) buffer[11] is a byte from the file time
- // with no extended header we have to check the crc high-order byte
- char c = ((header.gpFlag[0] & 0x08) == 8) ? header.modTime[1] : header.crc >> 24;
-
- return (lastByte == c);
-}
-
-/*!
- \internal Decrypts an array of bytes long \p read.
-*/
-void UnzipPrivate::decryptBytes(quint32* keys, char* buffer, qint64 read)
-{
- for (int i=0; i<(int)read; ++i)
- updateKeys(keys, buffer[i] ^= decryptByte(keys[2]));
-}
-
-/*!
- \internal Converts date and time values from ZIP format to a QDateTime object.
-*/
-QDateTime UnzipPrivate::convertDateTime(const unsigned char date[2], const unsigned char time[2]) const
-{
- QDateTime dt;
-
- // Usual PKZip low-byte to high-byte order
-
- // Date: 7 bits = years from 1980, 4 bits = month, 5 bits = day
- quint16 year = (date[1] >> 1) & 127;
- quint16 month = ((date[1] << 3) & 14) | ((date[0] >> 5) & 7);
- quint16 day = date[0] & 31;
-
- // Time: 5 bits hour, 6 bits minutes, 5 bits seconds with a 2sec precision
- quint16 hour = (time[1] >> 3) & 31;
- quint16 minutes = ((time[1] << 3) & 56) | ((time[0] >> 5) & 7);
- quint16 seconds = (time[0] & 31) * 2;
-
- dt.setDate(QDate(1980 + year, month, day));
- dt.setTime(QTime(hour, minutes, seconds));
- return dt;
-}
+/****************************************************************************
+** Filename: unzip.cpp
+** Last updated [dd/mm/yyyy]: 28/01/2007
+**
+** pkzip 2.0 decompression.
+**
+** Some of the code has been inspired by other open source projects,
+** (mainly Info-Zip and Gilles Vollant's minizip).
+** Compression and decompression actually uses the zlib library.
+**
+** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
+**
+** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See the file LICENSE.GPL that came with this software distribution or
+** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
+**
+**********************************************************************/
+
+#include "unzip.h"
+#include "unzip_p.h"
+#include "zipentry_p.h"
+
+#include <QString>
+#include <QStringList>
+#include <QDir>
+#include <QFile>
+#include <QCoreApplication>
+
+// You can remove this #include if you replace the qDebug() statements.
+#include <QtDebug>
+
+/*!
+ \class UnZip unzip.h
+
+ \brief PKZip 2.0 file decompression.
+ Compatibility with later versions is not ensured as they may use
+ unsupported compression algorithms.
+ Versions after 2.7 may have an incompatible header format and thus be
+ completely incompatible.
+*/
+
+/*! \enum UnZip::ErrorCode The result of a decompression operation.
+ \value UnZip::Ok No error occurred.
+ \value UnZip::ZlibInit Failed to init or load the zlib library.
+ \value UnZip::ZlibError The zlib library returned some error.
+ \value UnZip::OpenFailed Unable to create or open a device.
+ \value UnZip::PartiallyCorrupted Corrupted zip archive - some files could be extracted.
+ \value UnZip::Corrupted Corrupted or invalid zip archive.
+ \value UnZip::WrongPassword Unable to decrypt a password protected file.
+ \value UnZip::NoOpenArchive No archive has been opened yet.
+ \value UnZip::FileNotFound Unable to find the requested file in the archive.
+ \value UnZip::ReadFailed Reading of a file failed.
+ \value UnZip::WriteFailed Writing of a file failed.
+ \value UnZip::SeekFailed Seek failed.
+ \value UnZip::CreateDirFailed Could not create a directory.
+ \value UnZip::InvalidDevice A null device has been passed as parameter.
+ \value UnZip::InvalidArchive This is not a valid (or supported) ZIP archive.
+ \value UnZip::HeaderConsistencyError Local header record info does not match with the central directory record info. The archive may be corrupted.
+
+ \value UnZip::Skip Internal use only.
+ \value UnZip::SkipAll Internal use only.
+*/
+
+/*! \enum UnZip::ExtractionOptions Some options for the file extraction methods.
+ \value UnZip::ExtractPaths Default. Does not ignore the path of the zipped files.
+ \value UnZip::SkipPaths Default. Ignores the path of the zipped files and extracts them all to the same root directory.
+*/
+
+//! Local header size (excluding signature, excluding variable length fields)
+#define UNZIP_LOCAL_HEADER_SIZE 26
+//! Central Directory file entry size (excluding signature, excluding variable length fields)
+#define UNZIP_CD_ENTRY_SIZE_NS 42
+//! Data descriptor size (excluding signature)
+#define UNZIP_DD_SIZE 12
+//! End Of Central Directory size (including signature, excluding variable length fields)
+#define UNZIP_EOCD_SIZE 22
+//! Local header entry encryption header size
+#define UNZIP_LOCAL_ENC_HEADER_SIZE 12
+
+// Some offsets inside a CD record (excluding signature)
+#define UNZIP_CD_OFF_VERSION 0
+#define UNZIP_CD_OFF_GPFLAG 4
+#define UNZIP_CD_OFF_CMETHOD 6
+#define UNZIP_CD_OFF_MODT 8
+#define UNZIP_CD_OFF_MODD 10
+#define UNZIP_CD_OFF_CRC32 12
+#define UNZIP_CD_OFF_CSIZE 16
+#define UNZIP_CD_OFF_USIZE 20
+#define UNZIP_CD_OFF_NAMELEN 24
+#define UNZIP_CD_OFF_XLEN 26
+#define UNZIP_CD_OFF_COMMLEN 28
+#define UNZIP_CD_OFF_LHOFFSET 38
+
+// Some offsets inside a local header record (excluding signature)
+#define UNZIP_LH_OFF_VERSION 0
+#define UNZIP_LH_OFF_GPFLAG 2
+#define UNZIP_LH_OFF_CMETHOD 4
+#define UNZIP_LH_OFF_MODT 6
+#define UNZIP_LH_OFF_MODD 8
+#define UNZIP_LH_OFF_CRC32 10
+#define UNZIP_LH_OFF_CSIZE 14
+#define UNZIP_LH_OFF_USIZE 18
+#define UNZIP_LH_OFF_NAMELEN 22
+#define UNZIP_LH_OFF_XLEN 24
+
+// Some offsets inside a data descriptor record (excluding signature)
+#define UNZIP_DD_OFF_CRC32 0
+#define UNZIP_DD_OFF_CSIZE 4
+#define UNZIP_DD_OFF_USIZE 8
+
+// Some offsets inside a EOCD record
+#define UNZIP_EOCD_OFF_ENTRIES 6
+#define UNZIP_EOCD_OFF_CDOFF 12
+#define UNZIP_EOCD_OFF_COMMLEN 16
+
+/*!
+ Max version handled by this API.
+ 0x1B = 2.7 --> full compatibility only up to version 2.0 (0x14)
+ versions from 2.1 to 2.7 may use unsupported compression methods
+ versions after 2.7 may have an incompatible header format
+*/
+#define UNZIP_VERSION 0x1B
+//! Full compatibility granted until this version
+#define UNZIP_VERSION_STRICT 0x14
+
+//! CRC32 routine
+#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8)
+
+//! Checks if some file has been already extracted.
+#define UNZIP_CHECK_FOR_VALID_DATA \
+ {\
+ if (headers != 0)\
+ {\
+ qDebug() << "Corrupted zip archive. Some files might be extracted.";\
+ ec = headers->size() != 0 ? UnZip::PartiallyCorrupted : UnZip::Corrupted;\
+ break;\
+ }\
+ else\
+ {\
+ delete device;\
+ device = 0;\
+ qDebug() << "Corrupted or invalid zip archive";\
+ ec = UnZip::Corrupted;\
+ break;\
+ }\
+ }
+
+
+/************************************************************************
+ Public interface
+*************************************************************************/
+
+/*!
+ Creates a new Zip file decompressor.
+*/
+UnZip::UnZip()
+{
+ d = new UnzipPrivate;
+}
+
+/*!
+ Closes any open archive and releases used resources.
+*/
+UnZip::~UnZip()
+{
+ closeArchive();
+ delete d;
+}
+
+/*!
+ Returns true if there is an open archive.
+*/
+bool UnZip::isOpen() const
+{
+ return d->device != 0;
+}
+
+/*!
+ Opens a zip archive and reads the files list. Closes any previously opened archive.
+*/
+UnZip::ErrorCode UnZip::openArchive(const QString& filename)
+{
+ QFile* file = new QFile(filename);
+
+ if (!file->exists()) {
+ delete file;
+ return UnZip::FileNotFound;
+ }
+
+ if (!file->open(QIODevice::ReadOnly)) {
+ delete file;
+ return UnZip::OpenFailed;
+ }
+
+ return openArchive(file);
+}
+
+/*!
+ Opens a zip archive and reads the entries list.
+ Closes any previously opened archive.
+ \warning The class takes ownership of the device so don't delete it!
+*/
+UnZip::ErrorCode UnZip::openArchive(QIODevice* device)
+{
+ if (device == 0)
+ {
+ qDebug() << "Invalid device.";
+ return UnZip::InvalidDevice;
+ }
+
+ return d->openArchive(device);
+}
+
+/*!
+ Closes the archive and releases all the used resources (like cached passwords).
+*/
+void UnZip::closeArchive()
+{
+ d->closeArchive();
+}
+
+QString UnZip::archiveComment() const
+{
+ if (d->device == 0)
+ return QString();
+ return d->comment;
+}
+
+/*!
+ Returns a locale translated error string for a given error code.
+*/
+QString UnZip::formatError(UnZip::ErrorCode c) const
+{
+ switch (c)
+ {
+ case Ok: return QCoreApplication::translate("UnZip", "ZIP operation completed successfully."); break;
+ case ZlibInit: return QCoreApplication::translate("UnZip", "Failed to initialize or load zlib library."); break;
+ case ZlibError: return QCoreApplication::translate("UnZip", "zlib library error."); break;
+ case OpenFailed: return QCoreApplication::translate("UnZip", "Unable to create or open file."); break;
+ case PartiallyCorrupted: return QCoreApplication::translate("UnZip", "Partially corrupted archive. Some files might be extracted."); break;
+ case Corrupted: return QCoreApplication::translate("UnZip", "Corrupted archive."); break;
+ case WrongPassword: return QCoreApplication::translate("UnZip", "Wrong password."); break;
+ case NoOpenArchive: return QCoreApplication::translate("UnZip", "No archive has been created yet."); break;
+ case FileNotFound: return QCoreApplication::translate("UnZip", "File or directory does not exist."); break;
+ case ReadFailed: return QCoreApplication::translate("UnZip", "File read error."); break;
+ case WriteFailed: return QCoreApplication::translate("UnZip", "File write error."); break;
+ case SeekFailed: return QCoreApplication::translate("UnZip", "File seek error."); break;
+ case CreateDirFailed: return QCoreApplication::translate("UnZip", "Unable to create a directory."); break;
+ case InvalidDevice: return QCoreApplication::translate("UnZip", "Invalid device."); break;
+ case InvalidArchive: return QCoreApplication::translate("UnZip", "Invalid or incompatible zip archive."); break;
+ case HeaderConsistencyError: return QCoreApplication::translate("UnZip", "Inconsistent headers. Archive might be corrupted."); break;
+ default: ;
+ }
+
+ return QCoreApplication::translate("UnZip", "Unknown error.");
+}
+
+/*!
+ Returns true if the archive contains a file with the given path and name.
+*/
+bool UnZip::contains(const QString& file) const
+{
+ if (d->headers == 0)
+ return false;
+
+ return d->headers->contains(file);
+}
+
+/*!
+ Returns complete paths of files and directories in this archive.
+*/
+QStringList UnZip::fileList() const
+{
+ return d->headers == 0 ? QStringList() : d->headers->keys();
+}
+
+/*!
+ Returns information for each (correctly parsed) entry of this archive.
+*/
+QList<UnZip::ZipEntry> UnZip::entryList() const
+{
+ QList<UnZip::ZipEntry> list;
+
+ if (d->headers != 0)
+ {
+ for (QMap<QString,ZipEntryP*>::ConstIterator it = d->headers->constBegin(); it != d->headers->constEnd(); ++it)
+ {
+ const ZipEntryP* entry = it.value();
+ Q_ASSERT(entry != 0);
+
+ ZipEntry z;
+
+ z.filename = it.key();
+ if (!entry->comment.isEmpty())
+ z.comment = entry->comment;
+ z.compressedSize = entry->szComp;
+ z.uncompressedSize = entry->szUncomp;
+ z.crc32 = entry->crc;
+ z.lastModified = d->convertDateTime(entry->modDate, entry->modTime);
+
+ z.compression = entry->compMethod == 0 ? NoCompression : entry->compMethod == 8 ? Deflated : UnknownCompression;
+ z.type = z.filename.endsWith("/") ? Directory : File;
+
+ z.encrypted = entry->isEncrypted();
+
+ list.append(z);
+ }
+ }
+
+ return list;
+}
+
+/*!
+ Extracts the whole archive to a directory.
+*/
+UnZip::ErrorCode UnZip::extractAll(const QString& dirname, ExtractionOptions options)
+{
+ return extractAll(QDir(dirname), options);
+}
+
+/*!
+ Extracts the whole archive to a directory.
+*/
+UnZip::ErrorCode UnZip::extractAll(const QDir& dir, ExtractionOptions options)
+{
+ // this should only happen if we didn't call openArchive() yet
+ if (d->device == 0)
+ return NoOpenArchive;
+
+ if (d->headers == 0)
+ return Ok;
+
+ bool end = false;
+ for (QMap<QString,ZipEntryP*>::Iterator itr = d->headers->begin(); itr != d->headers->end(); ++itr)
+ {
+ ZipEntryP* entry = itr.value();
+ Q_ASSERT(entry != 0);
+
+ if ((entry->isEncrypted()) && d->skipAllEncrypted)
+ continue;
+
+ switch (d->extractFile(itr.key(), *entry, dir, options))
+ {
+ case Corrupted:
+ qDebug() << "Removing corrupted entry" << itr.key();
+ d->headers->erase(itr++);
+ if (itr == d->headers->end())
+ end = true;
+ break;
+ case CreateDirFailed:
+ break;
+ case Skip:
+ break;
+ case SkipAll:
+ d->skipAllEncrypted = true;
+ break;
+ default:
+ ;
+ }
+
+ if (end)
+ break;
+ }
+
+ return Ok;
+}
+
+/*!
+ Extracts a single file to a directory.
+*/
+UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QString& dirname, ExtractionOptions options)
+{
+ return extractFile(filename, QDir(dirname), options);
+}
+
+/*!
+ Extracts a single file to a directory.
+*/
+UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QDir& dir, ExtractionOptions options)
+{
+ QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename);
+ if (itr != d->headers->end())
+ {
+ ZipEntryP* entry = itr.value();
+ Q_ASSERT(entry != 0);
+ return d->extractFile(itr.key(), *entry, dir, options);
+ }
+
+ return FileNotFound;
+}
+
+/*!
+ Extracts a single file to a directory.
+*/
+UnZip::ErrorCode UnZip::extractFile(const QString& filename, QIODevice* dev, ExtractionOptions options)
+{
+ if (dev == 0)
+ return InvalidDevice;
+
+ QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename);
+ if (itr != d->headers->end()) {
+ ZipEntryP* entry = itr.value();
+ Q_ASSERT(entry != 0);
+ return d->extractFile(itr.key(), *entry, dev, options);
+ }
+
+ return FileNotFound;
+}
+
+/*!
+ Extracts a list of files.
+ Stops extraction at the first error (but continues if a file does not exist in the archive).
+ */
+UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options)
+{
+ QDir dir(dirname);
+ ErrorCode ec;
+
+ for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr)
+ {
+ ec = extractFile(*itr, dir, options);
+ if (ec == FileNotFound)
+ continue;
+ if (ec != Ok)
+ return ec;
+ }
+
+ return Ok;
+}
+
+/*!
+ Extracts a list of files.
+ Stops extraction at the first error (but continues if a file does not exist in the archive).
+ */
+UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options)
+{
+ ErrorCode ec;
+
+ for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr)
+ {
+ ec = extractFile(*itr, dir, options);
+ if (ec == FileNotFound)
+ continue;
+ if (ec != Ok)
+ return ec;
+ }
+
+ return Ok;
+}
+
+/*!
+ Remove/replace this method to add your own password retrieval routine.
+*/
+void UnZip::setPassword(const QString& pwd)
+{
+ d->password = pwd;
+}
+
+/*!
+ ZipEntry constructor - initialize data. Type is set to File.
+*/
+UnZip::ZipEntry::ZipEntry()
+{
+ compressedSize = uncompressedSize = crc32 = 0;
+ compression = NoCompression;
+ type = File;
+ encrypted = false;
+}
+
+
+/************************************************************************
+ Private interface
+*************************************************************************/
+
+//! \internal
+UnzipPrivate::UnzipPrivate()
+{
+ skipAllEncrypted = false;
+ headers = 0;
+ device = 0;
+
+ uBuffer = (unsigned char*) buffer1;
+ crcTable = (quint32*) get_crc_table();
+
+ cdOffset = eocdOffset = 0;
+ cdEntryCount = 0;
+ unsupportedEntryCount = 0;
+}
+
+//! \internal Parses a Zip archive.
+UnZip::ErrorCode UnzipPrivate::openArchive(QIODevice* dev)
+{
+ Q_ASSERT(dev != 0);
+
+ if (device != 0)
+ closeArchive();
+
+ device = dev;
+
+ if (!(device->isOpen() || device->open(QIODevice::ReadOnly)))
+ {
+ delete device;
+ device = 0;
+
+ qDebug() << "Unable to open device for reading";
+ return UnZip::OpenFailed;
+ }
+
+ UnZip::ErrorCode ec;
+
+ ec = seekToCentralDirectory();
+ if (ec != UnZip::Ok)
+ {
+ closeArchive();
+ return ec;
+ }
+
+ //! \todo Ignore CD entry count? CD may be corrupted.
+ if (cdEntryCount == 0)
+ {
+ return UnZip::Ok;
+ }
+
+ bool continueParsing = true;
+
+ while (continueParsing)
+ {
+ if (device->read(buffer1, 4) != 4)
+ UNZIP_CHECK_FOR_VALID_DATA
+
+ if (! (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x01 && buffer1[3] == 0x02) )
+ break;
+
+ if ( (ec = parseCentralDirectoryRecord()) != UnZip::Ok )
+ break;
+ }
+
+ if (ec != UnZip::Ok)
+ closeArchive();
+
+ return ec;
+}
+
+/*
+ \internal Parses a local header record and makes some consistency check
+ with the information stored in the Central Directory record for this entry
+ that has been previously parsed.
+ \todo Optional consistency check (as a ExtractionOptions flag)
+
+ local file header signature 4 bytes (0x04034b50)
+ version needed to extract 2 bytes
+ general purpose bit flag 2 bytes
+ compression method 2 bytes
+ last mod file time 2 bytes
+ last mod file date 2 bytes
+ crc-32 4 bytes
+ compressed size 4 bytes
+ uncompressed size 4 bytes
+ file name length 2 bytes
+ extra field length 2 bytes
+
+ file name (variable size)
+ extra field (variable size)
+*/
+UnZip::ErrorCode UnzipPrivate::parseLocalHeaderRecord(const QString& path, ZipEntryP& entry)
+{
+ if (!device->seek(entry.lhOffset))
+ return UnZip::SeekFailed;
+
+ // Test signature
+ if (device->read(buffer1, 4) != 4)
+ return UnZip::ReadFailed;
+
+ if ((buffer1[0] != 'P') || (buffer1[1] != 'K') || (buffer1[2] != 0x03) || (buffer1[3] != 0x04))
+ return UnZip::InvalidArchive;
+
+ if (device->read(buffer1, UNZIP_LOCAL_HEADER_SIZE) != UNZIP_LOCAL_HEADER_SIZE)
+ return UnZip::ReadFailed;
+
+ /*
+ Check 3rd general purpose bit flag.
+
+ "bit 3: If this bit is set, the fields crc-32, compressed size
+ and uncompressed size are set to zero in the local
+ header. The correct values are put in the data descriptor
+ immediately following the compressed data."
+ */
+ bool hasDataDescriptor = entry.hasDataDescriptor();
+
+ bool checkFailed = false;
+
+ if (!checkFailed)
+ checkFailed = entry.compMethod != getUShort(uBuffer, UNZIP_LH_OFF_CMETHOD);
+ if (!checkFailed)
+ checkFailed = entry.gpFlag[0] != uBuffer[UNZIP_LH_OFF_GPFLAG];
+ if (!checkFailed)
+ checkFailed = entry.gpFlag[1] != uBuffer[UNZIP_LH_OFF_GPFLAG + 1];
+ if (!checkFailed)
+ checkFailed = entry.modTime[0] != uBuffer[UNZIP_LH_OFF_MODT];
+ if (!checkFailed)
+ checkFailed = entry.modTime[1] != uBuffer[UNZIP_LH_OFF_MODT + 1];
+ if (!checkFailed)
+ checkFailed = entry.modDate[0] != uBuffer[UNZIP_LH_OFF_MODD];
+ if (!checkFailed)
+ checkFailed = entry.modDate[1] != uBuffer[UNZIP_LH_OFF_MODD + 1];
+ if (!hasDataDescriptor)
+ {
+ if (!checkFailed)
+ checkFailed = entry.crc != getULong(uBuffer, UNZIP_LH_OFF_CRC32);
+ if (!checkFailed)
+ checkFailed = entry.szComp != getULong(uBuffer, UNZIP_LH_OFF_CSIZE);
+ if (!checkFailed)
+ checkFailed = entry.szUncomp != getULong(uBuffer, UNZIP_LH_OFF_USIZE);
+ }
+
+ if (checkFailed)
+ return UnZip::HeaderConsistencyError;
+
+ // Check filename
+ quint16 szName = getUShort(uBuffer, UNZIP_LH_OFF_NAMELEN);
+ if (szName == 0)
+ return UnZip::HeaderConsistencyError;
+
+ if (device->read(buffer2, szName) != szName)
+ return UnZip::ReadFailed;
+
+ QString filename = QString::fromAscii(buffer2, szName);
+ if (filename != path)
+ {
+ qDebug() << "Filename in local header mismatches.";
+ return UnZip::HeaderConsistencyError;
+ }
+
+ // Skip extra field
+ quint16 szExtra = getUShort(uBuffer, UNZIP_LH_OFF_XLEN);
+ if (szExtra != 0)
+ {
+ if (!device->seek(device->pos() + szExtra))
+ return UnZip::SeekFailed;
+ }
+
+ entry.dataOffset = device->pos();
+
+ if (hasDataDescriptor)
+ {
+ /*
+ The data descriptor has this OPTIONAL signature: PK\7\8
+ We try to skip the compressed data relying on the size set in the
+ Central Directory record.
+ */
+ if (!device->seek(device->pos() + entry.szComp))
+ return UnZip::SeekFailed;
+
+ // Read 4 bytes and check if there is a data descriptor signature
+ if (device->read(buffer2, 4) != 4)
+ return UnZip::ReadFailed;
+
+ bool hasSignature = buffer2[0] == 'P' && buffer2[1] == 'K' && buffer2[2] == 0x07 && buffer2[3] == 0x08;
+ if (hasSignature)
+ {
+ if (device->read(buffer2, UNZIP_DD_SIZE) != UNZIP_DD_SIZE)
+ return UnZip::ReadFailed;
+ }
+ else
+ {
+ if (device->read(buffer2 + 4, UNZIP_DD_SIZE - 4) != UNZIP_DD_SIZE - 4)
+ return UnZip::ReadFailed;
+ }
+
+ // DD: crc, compressed size, uncompressed size
+ if (
+ entry.crc != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CRC32) ||
+ entry.szComp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CSIZE) ||
+ entry.szUncomp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_USIZE)
+ )
+ return UnZip::HeaderConsistencyError;
+ }
+
+ return UnZip::Ok;
+}
+
+/*! \internal Attempts to find the start of the central directory record.
+
+ We seek the file back until we reach the "End Of Central Directory"
+ signature PK\5\6.
+
+ end of central dir signature 4 bytes (0x06054b50)
+ number of this disk 2 bytes
+ number of the disk with the
+ start of the central directory 2 bytes
+ total number of entries in the
+ central directory on this disk 2 bytes
+ total number of entries in
+ the central directory 2 bytes
+ size of the central directory 4 bytes
+ offset of start of central
+ directory with respect to
+ the starting disk number 4 bytes
+ .ZIP file comment length 2 bytes
+ --- SIZE UNTIL HERE: UNZIP_EOCD_SIZE ---
+ .ZIP file comment (variable size)
+*/
+UnZip::ErrorCode UnzipPrivate::seekToCentralDirectory()
+{
+ qint64 length = device->size();
+ qint64 offset = length - UNZIP_EOCD_SIZE;
+
+ if (length < UNZIP_EOCD_SIZE)
+ return UnZip::InvalidArchive;
+
+ if (!device->seek( offset ))
+ return UnZip::SeekFailed;
+
+ if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE)
+ return UnZip::ReadFailed;
+
+ bool eocdFound = (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x05 && buffer1[3] == 0x06);
+
+ if (eocdFound)
+ {
+ // Zip file has no comment (the only variable length field in the EOCD record)
+ eocdOffset = offset;
+ }
+ else
+ {
+ qint64 read;
+ char* p = 0;
+
+ offset -= UNZIP_EOCD_SIZE;
+
+ if (offset <= 0)
+ return UnZip::InvalidArchive;
+
+ if (!device->seek( offset ))
+ return UnZip::SeekFailed;
+
+ while ((read = device->read(buffer1, UNZIP_EOCD_SIZE)) >= 0)
+ {
+ if ( (p = strstr(buffer1, "PK\5\6")) != 0)
+ {
+ // Seek to the start of the EOCD record so we can read it fully
+ // Yes... we could simply read the missing bytes and append them to the buffer
+ // but this is far easier so heck it!
+ device->seek( offset + (p - buffer1) );
+ eocdFound = true;
+ eocdOffset = offset + (p - buffer1);
+
+ // Read EOCD record
+ if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE)
+ return UnZip::ReadFailed;
+
+ break;
+ }
+
+ offset -= UNZIP_EOCD_SIZE;
+ if (offset <= 0)
+ return UnZip::InvalidArchive;
+
+ if (!device->seek( offset ))
+ return UnZip::SeekFailed;
+ }
+ }
+
+ if (!eocdFound)
+ return UnZip::InvalidArchive;
+
+ // Parse EOCD to locate CD offset
+ offset = getULong((const unsigned char*)buffer1, UNZIP_EOCD_OFF_CDOFF + 4);
+
+ cdOffset = offset;
+
+ cdEntryCount = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_ENTRIES + 4);
+
+ quint16 commentLength = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_COMMLEN + 4);
+ if (commentLength != 0)
+ {
+ QByteArray c = device->read(commentLength);
+ if (c.count() != commentLength)
+ return UnZip::ReadFailed;
+
+ comment = c;
+ }
+
+ // Seek to the start of the CD record
+ if (!device->seek( cdOffset ))
+ return UnZip::SeekFailed;
+
+ return UnZip::Ok;
+}
+
+/*!
+ \internal Parses a central directory record.
+
+ Central Directory record structure:
+
+ [file header 1]
+ .
+ .
+ .
+ [file header n]
+ [digital signature] // PKZip 6.2 or later only
+
+ File header:
+
+ central file header signature 4 bytes (0x02014b50)
+ version made by 2 bytes
+ version needed to extract 2 bytes
+ general purpose bit flag 2 bytes
+ compression method 2 bytes
+ last mod file time 2 bytes
+ last mod file date 2 bytes
+ crc-32 4 bytes
+ compressed size 4 bytes
+ uncompressed size 4 bytes
+ file name length 2 bytes
+ extra field length 2 bytes
+ file comment length 2 bytes
+ disk number start 2 bytes
+ internal file attributes 2 bytes
+ external file attributes 4 bytes
+ relative offset of local header 4 bytes
+
+ file name (variable size)
+ extra field (variable size)
+ file comment (variable size)
+*/
+UnZip::ErrorCode UnzipPrivate::parseCentralDirectoryRecord()
+{
+ // Read CD record
+ if (device->read(buffer1, UNZIP_CD_ENTRY_SIZE_NS) != UNZIP_CD_ENTRY_SIZE_NS)
+ return UnZip::ReadFailed;
+
+ bool skipEntry = false;
+
+ // Get compression type so we can skip non compatible algorithms
+ quint16 compMethod = getUShort(uBuffer, UNZIP_CD_OFF_CMETHOD);
+
+ // Get variable size fields length so we can skip the whole record
+ // if necessary
+ quint16 szName = getUShort(uBuffer, UNZIP_CD_OFF_NAMELEN);
+ quint16 szExtra = getUShort(uBuffer, UNZIP_CD_OFF_XLEN);
+ quint16 szComment = getUShort(uBuffer, UNZIP_CD_OFF_COMMLEN);
+
+ quint32 skipLength = szName + szExtra + szComment;
+
+ UnZip::ErrorCode ec = UnZip::Ok;
+
+ if ((compMethod != 0) && (compMethod != 8))
+ {
+ qDebug() << "Unsupported compression method. Skipping file.";
+ skipEntry = true;
+ }
+
+ // Header parsing may be a problem if version is bigger than UNZIP_VERSION
+ if (!skipEntry && buffer1[UNZIP_CD_OFF_VERSION] > UNZIP_VERSION)
+ {
+ qDebug() << "Unsupported PKZip version. Skipping file.";
+ skipEntry = true;
+ }
+
+ if (!skipEntry && szName == 0)
+ {
+ qDebug() << "Skipping file with no name.";
+ skipEntry = true;
+ }
+
+ if (!skipEntry && device->read(buffer2, szName) != szName)
+ {
+ ec = UnZip::ReadFailed;
+ skipEntry = true;
+ }
+
+ if (skipEntry)
+ {
+ if (ec == UnZip::Ok)
+ {
+ if (!device->seek( device->pos() + skipLength ))
+ ec = UnZip::SeekFailed;
+
+ unsupportedEntryCount++;
+ }
+
+ return ec;
+ }
+
+ QString filename = QString::fromAscii(buffer2, szName);
+
+ ZipEntryP* h = new ZipEntryP;
+ h->compMethod = compMethod;
+
+ h->gpFlag[0] = buffer1[UNZIP_CD_OFF_GPFLAG];
+ h->gpFlag[1] = buffer1[UNZIP_CD_OFF_GPFLAG + 1];
+
+ h->modTime[0] = buffer1[UNZIP_CD_OFF_MODT];
+ h->modTime[1] = buffer1[UNZIP_CD_OFF_MODT + 1];
+
+ h->modDate[0] = buffer1[UNZIP_CD_OFF_MODD];
+ h->modDate[1] = buffer1[UNZIP_CD_OFF_MODD + 1];
+
+ h->crc = getULong(uBuffer, UNZIP_CD_OFF_CRC32);
+ h->szComp = getULong(uBuffer, UNZIP_CD_OFF_CSIZE);
+ h->szUncomp = getULong(uBuffer, UNZIP_CD_OFF_USIZE);
+
+ // Skip extra field (if any)
+ if (szExtra != 0)
+ {
+ if (!device->seek( device->pos() + szExtra ))
+ {
+ delete h;
+ return UnZip::SeekFailed;
+ }
+ }
+
+ // Read comment field (if any)
+ if (szComment != 0)
+ {
+ if (device->read(buffer2, szComment) != szComment)
+ {
+ delete h;
+ return UnZip::ReadFailed;
+ }
+
+ h->comment = QString::fromAscii(buffer2, szComment);
+ }
+
+ h->lhOffset = getULong(uBuffer, UNZIP_CD_OFF_LHOFFSET);
+
+ if (headers == 0)
+ headers = new QMap<QString, ZipEntryP*>();
+ headers->insert(filename, h);
+
+ return UnZip::Ok;
+}
+
+//! \internal Closes the archive and resets the internal status.
+void UnzipPrivate::closeArchive()
+{
+ if (device == 0)
+ return;
+
+ skipAllEncrypted = false;
+
+ if (headers != 0)
+ {
+ qDeleteAll(*headers);
+ delete headers;
+ headers = 0;
+ }
+
+ delete device; device = 0;
+
+ cdOffset = eocdOffset = 0;
+ cdEntryCount = 0;
+ unsupportedEntryCount = 0;
+
+ comment.clear();
+}
+
+//! \internal
+UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options)
+{
+ QString name(path);
+ QString dirname;
+ QString directory;
+
+ int pos = name.lastIndexOf('/');
+
+ // This entry is for a directory
+ if (pos == name.length() - 1)
+ {
+ if (options.testFlag(UnZip::SkipPaths))
+ return UnZip::Ok;
+
+ directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(name));
+ if (!createDirectory(directory))
+ {
+ qDebug() << QString("Unable to create directory: %1").arg(directory);
+ return UnZip::CreateDirFailed;
+ }
+
+ return UnZip::Ok;
+ }
+
+ // Extract path from entry
+ if (pos > 0)
+ {
+ // get directory part
+ dirname = name.left(pos);
+ if (options.testFlag(UnZip::SkipPaths))
+ {
+ directory = dir.absolutePath();
+ }
+ else
+ {
+ directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(dirname));
+ if (!createDirectory(directory))
+ {
+ qDebug() << QString("Unable to create directory: %1").arg(directory);
+ return UnZip::CreateDirFailed;
+ }
+ }
+ name = name.right(name.length() - pos - 1);
+ } else directory = dir.absolutePath();
+
+ name = QString("%1/%2").arg(directory).arg(name);
+
+ QFile outFile(name);
+
+ if (!outFile.open(QIODevice::WriteOnly))
+ {
+ qDebug() << QString("Unable to open %1 for writing").arg(name);
+ return UnZip::OpenFailed;
+ }
+
+ //! \todo Set creation/last_modified date/time
+
+ UnZip::ErrorCode ec = extractFile(path, entry, &outFile, options);
+
+ outFile.close();
+
+ if (ec != UnZip::Ok)
+ {
+ if (!outFile.remove())
+ qDebug() << QString("Unable to remove corrupted file: %1").arg(name);
+ }
+
+ return ec;
+}
+
+//! \internal
+UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, QIODevice* dev, UnZip::ExtractionOptions options)
+{
+ Q_UNUSED(options);
+ Q_ASSERT(dev != 0);
+
+ if (!entry.lhEntryChecked)
+ {
+ UnZip::ErrorCode ec = parseLocalHeaderRecord(path, entry);
+ entry.lhEntryChecked = true;
+
+ if (ec != UnZip::Ok)
+ return ec;
+ }
+
+ if (!device->seek(entry.dataOffset))
+ return UnZip::SeekFailed;
+
+ // Encryption keys
+ quint32 keys[3];
+
+ if (entry.isEncrypted())
+ {
+ UnZip::ErrorCode e = testPassword(keys, path, entry);
+ if (e != UnZip::Ok)
+ {
+ qDebug() << QString("Unable to decrypt %1").arg(path);
+ return e;
+ }//! Encryption header size
+ entry.szComp -= UNZIP_LOCAL_ENC_HEADER_SIZE; // remove encryption header size
+ }
+
+ if (entry.szComp == 0)
+ {
+ if (entry.crc != 0)
+ return UnZip::Corrupted;
+
+ return UnZip::Ok;
+ }
+
+ uInt rep = entry.szComp / UNZIP_READ_BUFFER;
+ uInt rem = entry.szComp % UNZIP_READ_BUFFER;
+ uInt cur = 0;
+
+ // extract data
+ qint64 read;
+ quint64 tot = 0;
+
+ quint32 myCRC = crc32(0L, Z_NULL, 0);
+
+ if (entry.compMethod == 0)
+ {
+ while ( (read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem)) > 0 )
+ {
+ if (entry.isEncrypted())
+ decryptBytes(keys, buffer1, read);
+
+ myCRC = crc32(myCRC, uBuffer, read);
+
+ if (dev->write(buffer1, read) != read)
+ return UnZip::WriteFailed;
+
+ cur++;
+ tot += read;
+
+ if (tot == entry.szComp)
+ break;
+ }
+
+ if (read < 0)
+ return UnZip::ReadFailed;
+ }
+ else if (entry.compMethod == 8)
+ {
+ /* Allocate inflate state */
+ z_stream zstr;
+ zstr.zalloc = Z_NULL;
+ zstr.zfree = Z_NULL;
+ zstr.opaque = Z_NULL;
+ zstr.next_in = Z_NULL;
+ zstr.avail_in = 0;
+
+ int zret;
+
+ // Use inflateInit2 with negative windowBits to get raw decompression
+ if ( (zret = inflateInit2_(&zstr, -MAX_WBITS, ZLIB_VERSION, sizeof(z_stream))) != Z_OK )
+ return UnZip::ZlibError;
+
+ int szDecomp;
+
+ // Decompress until deflate stream ends or end of file
+ do
+ {
+ read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem);
+ if (read == 0)
+ break;
+ if (read < 0)
+ {
+ (void)inflateEnd(&zstr);
+ return UnZip::ReadFailed;
+ }
+
+ if (entry.isEncrypted())
+ decryptBytes(keys, buffer1, read);
+
+ cur++;
+ tot += read;
+
+ zstr.avail_in = (uInt) read;
+ zstr.next_in = (Bytef*) buffer1;
+
+
+ // Run inflate() on input until output buffer not full
+ do {
+ zstr.avail_out = UNZIP_READ_BUFFER;
+ zstr.next_out = (Bytef*) buffer2;;
+
+ zret = inflate(&zstr, Z_NO_FLUSH);
+
+ switch (zret) {
+ case Z_NEED_DICT:
+ case Z_DATA_ERROR:
+ case Z_MEM_ERROR:
+ inflateEnd(&zstr);
+ return UnZip::WriteFailed;
+ default:
+ ;
+ }
+
+ szDecomp = UNZIP_READ_BUFFER - zstr.avail_out;
+ if (dev->write(buffer2, szDecomp) != szDecomp)
+ {
+ inflateEnd(&zstr);
+ return UnZip::ZlibError;
+ }
+
+ myCRC = crc32(myCRC, (const Bytef*) buffer2, szDecomp);
+
+ } while (zstr.avail_out == 0);
+
+ }
+ while (zret != Z_STREAM_END);
+
+ inflateEnd(&zstr);
+ }
+
+ if (myCRC != entry.crc)
+ return UnZip::Corrupted;
+
+ return UnZip::Ok;
+}
+
+//! \internal Creates a new directory and all the needed parent directories.
+bool UnzipPrivate::createDirectory(const QString& path)
+{
+ QDir d(path);
+ if (!d.exists())
+ {
+ int sep = path.lastIndexOf("/");
+ if (sep <= 0) return true;
+
+ if (!createDirectory(path.left(sep)))
+ return false;
+
+ if (!d.mkdir(path))
+ {
+ qDebug() << QString("Unable to create directory: %1").arg(path);
+ return false;
+ }
+ }
+
+ return true;
+}
+
+/*!
+ \internal Reads an quint32 (4 bytes) from a byte array starting at given offset.
+*/
+quint32 UnzipPrivate::getULong(const unsigned char* data, quint32 offset) const
+{
+ quint32 res = (quint32) data[offset];
+ res |= (((quint32)data[offset+1]) << 8);
+ res |= (((quint32)data[offset+2]) << 16);
+ res |= (((quint32)data[offset+3]) << 24);
+
+ return res;
+}
+
+/*!
+ \internal Reads an quint64 (8 bytes) from a byte array starting at given offset.
+*/
+quint64 UnzipPrivate::getULLong(const unsigned char* data, quint32 offset) const
+{
+ quint64 res = (quint64) data[offset];
+ res |= (((quint64)data[offset+1]) << 8);
+ res |= (((quint64)data[offset+2]) << 16);
+ res |= (((quint64)data[offset+3]) << 24);
+ res |= (((quint64)data[offset+1]) << 32);
+ res |= (((quint64)data[offset+2]) << 40);
+ res |= (((quint64)data[offset+3]) << 48);
+ res |= (((quint64)data[offset+3]) << 56);
+
+ return res;
+}
+
+/*!
+ \internal Reads an quint16 (2 bytes) from a byte array starting at given offset.
+*/
+quint16 UnzipPrivate::getUShort(const unsigned char* data, quint32 offset) const
+{
+ return (quint16) data[offset] | (((quint16)data[offset+1]) << 8);
+}
+
+/*!
+ \internal Return the next byte in the pseudo-random sequence
+ */
+int UnzipPrivate::decryptByte(quint32 key2) const
+{
+ quint16 temp = ((quint16)(key2) & 0xffff) | 2;
+ return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
+}
+
+/*!
+ \internal Update the encryption keys with the next byte of plain text
+ */
+void UnzipPrivate::updateKeys(quint32* keys, int c) const
+{
+ keys[0] = CRC32(keys[0], c);
+ keys[1] += keys[0] & 0xff;
+ keys[1] = keys[1] * 134775813L + 1;
+ keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24);
+}
+
+/*!
+ \internal Initialize the encryption keys and the random header according to
+ the given password.
+ */
+void UnzipPrivate::initKeys(const QString& pwd, quint32* keys) const
+{
+ keys[0] = 305419896L;
+ keys[1] = 591751049L;
+ keys[2] = 878082192L;
+
+ QByteArray pwdBytes = pwd.toAscii();
+ int sz = pwdBytes.size();
+ const char* ascii = pwdBytes.data();
+
+ for (int i=0; i<sz; ++i)
+ updateKeys(keys, (int)ascii[i]);
+}
+
+/*!
+ \internal Attempts to test a password without actually extracting a file.
+ The \p file parameter can be used in the user interface or for debugging purposes
+ as it is the name of the encrypted file for wich the password is being tested.
+*/
+UnZip::ErrorCode UnzipPrivate::testPassword(quint32* keys, const QString& file, const ZipEntryP& header)
+{
+ Q_UNUSED(file);
+
+ // read encryption keys
+ if (device->read(buffer1, 12) != 12)
+ return UnZip::Corrupted;
+
+ // Replace this code if you want to i.e. call some dialog and ask the user for a password
+ initKeys(password, keys);
+ if (testKeys(header, keys))
+ return UnZip::Ok;
+
+ return UnZip::Skip;
+}
+
+/*!
+ \internal Tests a set of keys on the encryption header.
+*/
+bool UnzipPrivate::testKeys(const ZipEntryP& header, quint32* keys)
+{
+ char lastByte;
+
+ // decrypt encryption header
+ for (int i=0; i<11; ++i)
+ updateKeys(keys, lastByte = buffer1[i] ^ decryptByte(keys[2]));
+ updateKeys(keys, lastByte = buffer1[11] ^ decryptByte(keys[2]));
+
+ // if there is an extended header (bit in the gp flag) buffer[11] is a byte from the file time
+ // with no extended header we have to check the crc high-order byte
+ char c = ((header.gpFlag[0] & 0x08) == 8) ? header.modTime[1] : header.crc >> 24;
+
+ return (lastByte == c);
+}
+
+/*!
+ \internal Decrypts an array of bytes long \p read.
+*/
+void UnzipPrivate::decryptBytes(quint32* keys, char* buffer, qint64 read)
+{
+ for (int i=0; i<(int)read; ++i)
+ updateKeys(keys, buffer[i] ^= decryptByte(keys[2]));
+}
+
+/*!
+ \internal Converts date and time values from ZIP format to a QDateTime object.
+*/
+QDateTime UnzipPrivate::convertDateTime(const unsigned char date[2], const unsigned char time[2]) const
+{
+ QDateTime dt;
+
+ // Usual PKZip low-byte to high-byte order
+
+ // Date: 7 bits = years from 1980, 4 bits = month, 5 bits = day
+ quint16 year = (date[1] >> 1) & 127;
+ quint16 month = ((date[1] << 3) & 14) | ((date[0] >> 5) & 7);
+ quint16 day = date[0] & 31;
+
+ // Time: 5 bits hour, 6 bits minutes, 5 bits seconds with a 2sec precision
+ quint16 hour = (time[1] >> 3) & 31;
+ quint16 minutes = ((time[1] << 3) & 56) | ((time[0] >> 5) & 7);
+ quint16 seconds = (time[0] & 31) * 2;
+
+ dt.setDate(QDate(1980 + year, month, day));
+ dt.setTime(QTime(hour, minutes, seconds));
+ return dt;
+}
diff --git a/rbutil/rbutilqt/zip/unzip.h b/rbutil/rbutilqt/zip/unzip.h
index a48fbe8724..e480541716 100644
--- a/rbutil/rbutilqt/zip/unzip.h
+++ b/rbutil/rbutilqt/zip/unzip.h
@@ -1,144 +1,144 @@
-/****************************************************************************
-** Filename: unzip.h
-** Last updated [dd/mm/yyyy]: 28/01/2007
-**
-** pkzip 2.0 decompression.
-**
-** Some of the code has been inspired by other open source projects,
-** (mainly Info-Zip and Gilles Vollant's minizip).
-** Compression and decompression actually uses the zlib library.
-**
-** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
-**
-** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See the file LICENSE.GPL that came with this software distribution or
-** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
-**
-**********************************************************************/
-
-#ifndef OSDAB_UNZIP__H
-#define OSDAB_UNZIP__H
-
-#include <QtGlobal>
-#include <QMap>
-#include <QDateTime>
-
-#include <zlib/zlib.h>
-
-class UnzipPrivate;
-class QIODevice;
-class QFile;
-class QDir;
-class QStringList;
-class QString;
-
-
-class UnZip
-{
-public:
- enum ErrorCode
- {
- Ok,
- ZlibInit,
- ZlibError,
- OpenFailed,
- PartiallyCorrupted,
- Corrupted,
- WrongPassword,
- NoOpenArchive,
- FileNotFound,
- ReadFailed,
- WriteFailed,
- SeekFailed,
- CreateDirFailed,
- InvalidDevice,
- InvalidArchive,
- HeaderConsistencyError,
-
- Skip, SkipAll // internal use only
- };
-
- enum ExtractionOption
- {
- //! Extracts paths (default)
- ExtractPaths = 0x0001,
- //! Ignores paths and extracts all the files to the same directory
- SkipPaths = 0x0002
- };
- Q_DECLARE_FLAGS(ExtractionOptions, ExtractionOption)
-
- enum CompressionMethod
- {
- NoCompression, Deflated, UnknownCompression
- };
-
- enum FileType
- {
- File, Directory
- };
-
- typedef struct ZipEntry
- {
- ZipEntry();
-
- QString filename;
- QString comment;
-
- quint32 compressedSize;
- quint32 uncompressedSize;
- quint32 crc32;
-
- QDateTime lastModified;
-
- CompressionMethod compression;
- FileType type;
-
- bool encrypted;
- };
-
- UnZip();
- virtual ~UnZip();
-
- bool isOpen() const;
-
- ErrorCode openArchive(const QString& filename);
- ErrorCode openArchive(QIODevice* device);
- void closeArchive();
-
- QString archiveComment() const;
-
- QString formatError(UnZip::ErrorCode c) const;
-
- bool contains(const QString& file) const;
-
- QStringList fileList() const;
- QList<ZipEntry> entryList() const;
-
- ErrorCode extractAll(const QString& dirname, ExtractionOptions options = ExtractPaths);
- ErrorCode extractAll(const QDir& dir, ExtractionOptions options = ExtractPaths);
-
- ErrorCode extractFile(const QString& filename, const QString& dirname, ExtractionOptions options = ExtractPaths);
- ErrorCode extractFile(const QString& filename, const QDir& dir, ExtractionOptions options = ExtractPaths);
- ErrorCode extractFile(const QString& filename, QIODevice* device, ExtractionOptions options = ExtractPaths);
-
- ErrorCode extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options = ExtractPaths);
- ErrorCode extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options = ExtractPaths);
-
- void setPassword(const QString& pwd);
-
-private:
- UnzipPrivate* d;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(UnZip::ExtractionOptions)
-
-#endif // OSDAB_UNZIP__H
+/****************************************************************************
+** Filename: unzip.h
+** Last updated [dd/mm/yyyy]: 28/01/2007
+**
+** pkzip 2.0 decompression.
+**
+** Some of the code has been inspired by other open source projects,
+** (mainly Info-Zip and Gilles Vollant's minizip).
+** Compression and decompression actually uses the zlib library.
+**
+** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
+**
+** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See the file LICENSE.GPL that came with this software distribution or
+** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
+**
+**********************************************************************/
+
+#ifndef OSDAB_UNZIP__H
+#define OSDAB_UNZIP__H
+
+#include <QtGlobal>
+#include <QMap>
+#include <QDateTime>
+
+#include <zlib/zlib.h>
+
+class UnzipPrivate;
+class QIODevice;
+class QFile;
+class QDir;
+class QStringList;
+class QString;
+
+
+class UnZip
+{
+public:
+ enum ErrorCode
+ {
+ Ok,
+ ZlibInit,
+ ZlibError,
+ OpenFailed,
+ PartiallyCorrupted,
+ Corrupted,
+ WrongPassword,
+ NoOpenArchive,
+ FileNotFound,
+ ReadFailed,
+ WriteFailed,
+ SeekFailed,
+ CreateDirFailed,
+ InvalidDevice,
+ InvalidArchive,
+ HeaderConsistencyError,
+
+ Skip, SkipAll // internal use only
+ };
+
+ enum ExtractionOption
+ {
+ //! Extracts paths (default)
+ ExtractPaths = 0x0001,
+ //! Ignores paths and extracts all the files to the same directory
+ SkipPaths = 0x0002
+ };
+ Q_DECLARE_FLAGS(ExtractionOptions, ExtractionOption)
+
+ enum CompressionMethod
+ {
+ NoCompression, Deflated, UnknownCompression
+ };
+
+ enum FileType
+ {
+ File, Directory
+ };
+
+ typedef struct ZipEntry
+ {
+ ZipEntry();
+
+ QString filename;
+ QString comment;
+
+ quint32 compressedSize;
+ quint32 uncompressedSize;
+ quint32 crc32;
+
+ QDateTime lastModified;
+
+ CompressionMethod compression;
+ FileType type;
+
+ bool encrypted;
+ };
+
+ UnZip();
+ virtual ~UnZip();
+
+ bool isOpen() const;
+
+ ErrorCode openArchive(const QString& filename);
+ ErrorCode openArchive(QIODevice* device);
+ void closeArchive();
+
+ QString archiveComment() const;
+
+ QString formatError(UnZip::ErrorCode c) const;
+
+ bool contains(const QString& file) const;
+
+ QStringList fileList() const;
+ QList<ZipEntry> entryList() const;
+
+ ErrorCode extractAll(const QString& dirname, ExtractionOptions options = ExtractPaths);
+ ErrorCode extractAll(const QDir& dir, ExtractionOptions options = ExtractPaths);
+
+ ErrorCode extractFile(const QString& filename, const QString& dirname, ExtractionOptions options = ExtractPaths);
+ ErrorCode extractFile(const QString& filename, const QDir& dir, ExtractionOptions options = ExtractPaths);
+ ErrorCode extractFile(const QString& filename, QIODevice* device, ExtractionOptions options = ExtractPaths);
+
+ ErrorCode extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options = ExtractPaths);
+ ErrorCode extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options = ExtractPaths);
+
+ void setPassword(const QString& pwd);
+
+private:
+ UnzipPrivate* d;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(UnZip::ExtractionOptions)
+
+#endif // OSDAB_UNZIP__H
diff --git a/rbutil/rbutilqt/zip/unzip_p.h b/rbutil/rbutilqt/zip/unzip_p.h
index c05ac67b47..c0ea11b7bf 100644
--- a/rbutil/rbutilqt/zip/unzip_p.h
+++ b/rbutil/rbutilqt/zip/unzip_p.h
@@ -1,112 +1,112 @@
-/****************************************************************************
-** Filename: unzip_p.h
-** Last updated [dd/mm/yyyy]: 28/01/2007
-**
-** pkzip 2.0 decompression.
-**
-** Some of the code has been inspired by other open source projects,
-** (mainly Info-Zip and Gilles Vollant's minizip).
-** Compression and decompression actually uses the zlib library.
-**
-** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
-**
-** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See the file LICENSE.GPL that came with this software distribution or
-** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
-**
-**********************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Zip/UnZip API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef OSDAB_UNZIP_P__H
-#define OSDAB_UNZIP_P__H
-
-#include "unzip.h"
-#include "zipentry_p.h"
-
-#include <QtGlobal>
-
-// zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate())
-// we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;)
-#define UNZIP_READ_BUFFER (256*1024)
-
-class UnzipPrivate
-{
-public:
- UnzipPrivate();
-
- // Replace this with whatever else you use to store/retrieve the password.
- QString password;
-
- bool skipAllEncrypted;
-
- QMap<QString,ZipEntryP*>* headers;
-
- QIODevice* device;
-
- char buffer1[UNZIP_READ_BUFFER];
- char buffer2[UNZIP_READ_BUFFER];
-
- unsigned char* uBuffer;
- const quint32* crcTable;
-
- // Central Directory (CD) offset
- quint32 cdOffset;
- // End of Central Directory (EOCD) offset
- quint32 eocdOffset;
-
- // Number of entries in the Central Directory (as to the EOCD record)
- quint16 cdEntryCount;
-
- // The number of detected entries that have been skipped because of a non compatible format
- quint16 unsupportedEntryCount;
-
- QString comment;
-
- UnZip::ErrorCode openArchive(QIODevice* device);
-
- UnZip::ErrorCode seekToCentralDirectory();
- UnZip::ErrorCode parseCentralDirectoryRecord();
- UnZip::ErrorCode parseLocalHeaderRecord(const QString& path, ZipEntryP& entry);
-
- void closeArchive();
-
- UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options);
- UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, QIODevice* device, UnZip::ExtractionOptions options);
-
- UnZip::ErrorCode testPassword(quint32* keys, const QString& file, const ZipEntryP& header);
- bool testKeys(const ZipEntryP& header, quint32* keys);
-
- bool createDirectory(const QString& path);
-
- inline void decryptBytes(quint32* keys, char* buffer, qint64 read);
-
- inline quint32 getULong(const unsigned char* data, quint32 offset) const;
- inline quint64 getULLong(const unsigned char* data, quint32 offset) const;
- inline quint16 getUShort(const unsigned char* data, quint32 offset) const;
- inline int decryptByte(quint32 key2) const;
- inline void updateKeys(quint32* keys, int c) const;
- inline void initKeys(const QString& pwd, quint32* keys) const;
-
- inline QDateTime convertDateTime(const unsigned char date[2], const unsigned char time[2]) const;
-};
-
-#endif // OSDAB_UNZIP_P__H
+/****************************************************************************
+** Filename: unzip_p.h
+** Last updated [dd/mm/yyyy]: 28/01/2007
+**
+** pkzip 2.0 decompression.
+**
+** Some of the code has been inspired by other open source projects,
+** (mainly Info-Zip and Gilles Vollant's minizip).
+** Compression and decompression actually uses the zlib library.
+**
+** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
+**
+** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See the file LICENSE.GPL that came with this software distribution or
+** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
+**
+**********************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Zip/UnZip API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef OSDAB_UNZIP_P__H
+#define OSDAB_UNZIP_P__H
+
+#include "unzip.h"
+#include "zipentry_p.h"
+
+#include <QtGlobal>
+
+// zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate())
+// we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;)
+#define UNZIP_READ_BUFFER (256*1024)
+
+class UnzipPrivate
+{
+public:
+ UnzipPrivate();
+
+ // Replace this with whatever else you use to store/retrieve the password.
+ QString password;
+
+ bool skipAllEncrypted;
+
+ QMap<QString,ZipEntryP*>* headers;
+
+ QIODevice* device;
+
+ char buffer1[UNZIP_READ_BUFFER];
+ char buffer2[UNZIP_READ_BUFFER];
+
+ unsigned char* uBuffer;
+ const quint32* crcTable;
+
+ // Central Directory (CD) offset
+ quint32 cdOffset;
+ // End of Central Directory (EOCD) offset
+ quint32 eocdOffset;
+
+ // Number of entries in the Central Directory (as to the EOCD record)
+ quint16 cdEntryCount;
+
+ // The number of detected entries that have been skipped because of a non compatible format
+ quint16 unsupportedEntryCount;
+
+ QString comment;
+
+ UnZip::ErrorCode openArchive(QIODevice* device);
+
+ UnZip::ErrorCode seekToCentralDirectory();
+ UnZip::ErrorCode parseCentralDirectoryRecord();
+ UnZip::ErrorCode parseLocalHeaderRecord(const QString& path, ZipEntryP& entry);
+
+ void closeArchive();
+
+ UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options);
+ UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, QIODevice* device, UnZip::ExtractionOptions options);
+
+ UnZip::ErrorCode testPassword(quint32* keys, const QString& file, const ZipEntryP& header);
+ bool testKeys(const ZipEntryP& header, quint32* keys);
+
+ bool createDirectory(const QString& path);
+
+ inline void decryptBytes(quint32* keys, char* buffer, qint64 read);
+
+ inline quint32 getULong(const unsigned char* data, quint32 offset) const;
+ inline quint64 getULLong(const unsigned char* data, quint32 offset) const;
+ inline quint16 getUShort(const unsigned char* data, quint32 offset) const;
+ inline int decryptByte(quint32 key2) const;
+ inline void updateKeys(quint32* keys, int c) const;
+ inline void initKeys(const QString& pwd, quint32* keys) const;
+
+ inline QDateTime convertDateTime(const unsigned char date[2], const unsigned char time[2]) const;
+};
+
+#endif // OSDAB_UNZIP_P__H
diff --git a/rbutil/rbutilqt/zip/zip.cpp b/rbutil/rbutilqt/zip/zip.cpp
index ac1eaaea0b..6732278fe6 100644
--- a/rbutil/rbutilqt/zip/zip.cpp
+++ b/rbutil/rbutilqt/zip/zip.cpp
@@ -1,1221 +1,1221 @@
-/****************************************************************************
-** Filename: zip.cpp
-** Last updated [dd/mm/yyyy]: 01/02/2007
-**
-** pkzip 2.0 file compression.
-**
-** Some of the code has been inspired by other open source projects,
-** (mainly Info-Zip and Gilles Vollant's minizip).
-** Compression and decompression actually uses the zlib library.
-**
-** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
-**
-** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See the file LICENSE.GPL that came with this software distribution or
-** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
-**
-**********************************************************************/
-
-#include "zip.h"
-#include "zip_p.h"
-#include "zipentry_p.h"
-
-// we only use this to seed the random number generator
-#include <time.h>
-
-#include <QMap>
-#include <QString>
-#include <QStringList>
-#include <QDir>
-#include <QFile>
-#include <QDateTime>
-#include <QCoreApplication>
-
-// You can remove this #include if you replace the qDebug() statements.
-#include <QtDebug>
-
-//! Local header size (including signature, excluding variable length fields)
-#define ZIP_LOCAL_HEADER_SIZE 30
-//! Encryption header size
-#define ZIP_LOCAL_ENC_HEADER_SIZE 12
-//! Data descriptor size (signature included)
-#define ZIP_DD_SIZE_WS 16
-//! Central Directory record size (signature included)
-#define ZIP_CD_SIZE 46
-//! End of Central Directory record size (signature included)
-#define ZIP_EOCD_SIZE 22
-
-// Some offsets inside a local header record (signature included)
-#define ZIP_LH_OFF_VERS 4
-#define ZIP_LH_OFF_GPFLAG 6
-#define ZIP_LH_OFF_CMET 8
-#define ZIP_LH_OFF_MODT 10
-#define ZIP_LH_OFF_MODD 12
-#define ZIP_LH_OFF_CRC 14
-#define ZIP_LH_OFF_CSIZE 18
-#define ZIP_LH_OFF_USIZE 22
-#define ZIP_LH_OFF_NAMELEN 26
-#define ZIP_LH_OFF_XLEN 28
-
-// Some offsets inside a data descriptor record (including signature)
-#define ZIP_DD_OFF_CRC32 4
-#define ZIP_DD_OFF_CSIZE 8
-#define ZIP_DD_OFF_USIZE 12
-
-// Some offsets inside a Central Directory record (including signature)
-#define ZIP_CD_OFF_MADEBY 4
-#define ZIP_CD_OFF_VERSION 6
-#define ZIP_CD_OFF_GPFLAG 8
-#define ZIP_CD_OFF_CMET 10
-#define ZIP_CD_OFF_MODT 12
-#define ZIP_CD_OFF_MODD 14
-#define ZIP_CD_OFF_CRC 16
-#define ZIP_CD_OFF_CSIZE 20
-#define ZIP_CD_OFF_USIZE 24
-#define ZIP_CD_OFF_NAMELEN 28
-#define ZIP_CD_OFF_XLEN 30
-#define ZIP_CD_OFF_COMMLEN 32
-#define ZIP_CD_OFF_DISKSTART 34
-#define ZIP_CD_OFF_IATTR 36
-#define ZIP_CD_OFF_EATTR 38
-#define ZIP_CD_OFF_LHOFF 42
-
-// Some offsets inside a EOCD record (including signature)
-#define ZIP_EOCD_OFF_DISKNUM 4
-#define ZIP_EOCD_OFF_CDDISKNUM 6
-#define ZIP_EOCD_OFF_ENTRIES 8
-#define ZIP_EOCD_OFF_CDENTRIES 10
-#define ZIP_EOCD_OFF_CDSIZE 12
-#define ZIP_EOCD_OFF_CDOFF 16
-#define ZIP_EOCD_OFF_COMMLEN 20
-
-//! PKZip version for archives created by this API
-#define ZIP_VERSION 0x14
-
-//! Do not store very small files as the compression headers overhead would be to big
-#define ZIP_COMPRESSION_THRESHOLD 60
-
-//! This macro updates a one-char-only CRC; it's the Info-Zip macro re-adapted
-#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8)
-
-/*!
- \class Zip zip.h
-
- \brief Zip file compression.
-
- Some quick usage examples.
-
- \verbatim
- Suppose you have this directory structure:
-
- /root/dir1/
- /root/dir1/file1.1
- /root/dir1/file1.2
- /root/dir1/dir1.1/
- /root/dir1/dir1.2/file1.2.1
-
- EXAMPLE 1:
- myZipInstance.addDirectory("/root/dir1");
-
- RESULT:
- Beheaves like any common zip software and creates a zip file with this structure:
-
- dir1/
- dir1/file1.1
- dir1/file1.2
- dir1/dir1.1/
- dir1/dir1.2/file1.2.1
-
- EXAMPLE 2:
- myZipInstance.addDirectory("/root/dir1", "myRoot/myFolder");
-
- RESULT:
- Adds a custom root to the paths and creates a zip file with this structure:
-
- myRoot/myFolder/dir1/
- myRoot/myFolder/dir1/file1.1
- myRoot/myFolder/dir1/file1.2
- myRoot/myFolder/dir1/dir1.1/
- myRoot/myFolder/dir1/dir1.2/file1.2.1
-
- EXAMPLE 3:
- myZipInstance.addDirectory("/root/dir1", Zip::AbsolutePaths);
-
- NOTE:
- Same as calling addDirectory(SOME_PATH, PARENT_PATH_of_SOME_PATH).
-
- RESULT:
- Preserves absolute paths and creates a zip file with this structure:
-
- /root/dir1/
- /root/dir1/file1.1
- /root/dir1/file1.2
- /root/dir1/dir1.1/
- /root/dir1/dir1.2/file1.2.1
-
- EXAMPLE 4:
- myZipInstance.setPassword("hellopass");
- myZipInstance.addDirectory("/root/dir1", "/");
-
- RESULT:
- Adds and encrypts the files in /root/dir1, creating the following zip structure:
-
- /dir1/
- /dir1/file1.1
- /dir1/file1.2
- /dir1/dir1.1/
- /dir1/dir1.2/file1.2.1
-
- \endverbatim
-*/
-
-/*! \enum Zip::ErrorCode The result of a compression operation.
- \value Zip::Ok No error occurred.
- \value Zip::ZlibInit Failed to init or load the zlib library.
- \value Zip::ZlibError The zlib library returned some error.
- \value Zip::FileExists The file already exists and will not be overwritten.
- \value Zip::OpenFailed Unable to create or open a device.
- \value Zip::NoOpenArchive CreateArchive() has not been called yet.
- \value Zip::FileNotFound File or directory does not exist.
- \value Zip::ReadFailed Reading of a file failed.
- \value Zip::WriteFailed Writing of a file failed.
- \value Zip::SeekFailed Seek failed.
-*/
-
-/*! \enum Zip::CompressionLevel Returns the result of a decompression operation.
- \value Zip::Store No compression.
- \value Zip::Deflate1 Deflate compression level 1(lowest compression).
- \value Zip::Deflate1 Deflate compression level 2.
- \value Zip::Deflate1 Deflate compression level 3.
- \value Zip::Deflate1 Deflate compression level 4.
- \value Zip::Deflate1 Deflate compression level 5.
- \value Zip::Deflate1 Deflate compression level 6.
- \value Zip::Deflate1 Deflate compression level 7.
- \value Zip::Deflate1 Deflate compression level 8.
- \value Zip::Deflate1 Deflate compression level 9 (maximum compression).
- \value Zip::AutoCPU Adapt compression level to CPU speed (faster CPU => better compression).
- \value Zip::AutoMIME Adapt compression level to MIME type of the file being compressed.
- \value Zip::AutoFull Use both CPU and MIME type detection.
-*/
-
-
-/************************************************************************
- Public interface
-*************************************************************************/
-
-/*!
- Creates a new Zip file compressor.
-*/
-Zip::Zip()
-{
- d = new ZipPrivate;
-}
-
-/*!
- Closes any open archive and releases used resources.
-*/
-Zip::~Zip()
-{
- closeArchive();
- delete d;
-}
-
-/*!
- Returns true if there is an open archive.
-*/
-bool Zip::isOpen() const
-{
- return d->device != 0;
-}
-
-/*!
- Sets the password to be used for the next files being added!
- Files added before calling this method will use the previously
- set password (if any).
- Closing the archive won't clear the password!
-*/
-void Zip::setPassword(const QString& pwd)
-{
- d->password = pwd;
-}
-
-//! Convenience method, clears the current password.
-void Zip::clearPassword()
-{
- d->password.clear();
-}
-
-//! Returns the currently used password.
-QString Zip::password() const
-{
- return d->password;
-}
-
-/*!
- Attempts to create a new Zip archive. If \p overwrite is true and the file
- already exist it will be overwritten.
- Any open archive will be closed.
- */
-Zip::ErrorCode Zip::createArchive(const QString& filename, bool overwrite)
-{
- QFile* file = new QFile(filename);
-
- if (file->exists() && !overwrite) {
- delete file;
- return Zip::FileExists;
- }
-
- if (!file->open(QIODevice::WriteOnly)) {
- delete file;
- return Zip::OpenFailed;
- }
-
- Zip::ErrorCode ec = createArchive(file);
- if (ec != Zip::Ok) {
- file->remove();
- }
-
- return ec;
-}
-
-/*!
- Attempts to create a new Zip archive. If there is another open archive this will be closed.
- \warning The class takes ownership of the device!
- */
-Zip::ErrorCode Zip::createArchive(QIODevice* device)
-{
- if (device == 0)
- {
- qDebug() << "Invalid device.";
- return Zip::OpenFailed;
- }
-
- return d->createArchive(device);
-}
-
-/*!
- Returns the current archive comment.
-*/
-QString Zip::archiveComment() const
-{
- return d->comment;
-}
-
-/*!
- Sets the comment for this archive. Note: createArchive() should have been
- called before.
-*/
-void Zip::setArchiveComment(const QString& comment)
-{
- if (d->device != 0)
- d->comment = comment;
-}
-
-/*!
- Convenience method, same as calling
- Zip::addDirectory(const QString&,const QString&,CompressionLevel)
- with an empty \p root parameter (or with the parent directory of \p path if the
- AbsolutePaths options is set).
-
- The ExtractionOptions are checked in the order they are defined in the zip.h heaser file.
- This means that the last one overwrites the previous one (if some conflict occurs), i.e.
- Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths.
- */
-Zip::ErrorCode Zip::addDirectory(const QString& path, CompressionOptions options, CompressionLevel level)
-{
- return addDirectory(path, QString(), options, level);
-}
-
-/*!
- Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
- with the Zip::RelativePaths flag as compression option.
- */
-Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionLevel level)
-{
- return addDirectory(path, root, Zip::RelativePaths, level);
-}
-
-/*!
- Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
- with the Zip::IgnorePaths flag as compression option and an empty \p root parameter.
-*/
-Zip::ErrorCode Zip::addDirectoryContents(const QString& path, CompressionLevel level)
-{
- return addDirectory(path, QString(), IgnorePaths, level);
-}
-
-/*!
- Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
- with the Zip::IgnorePaths flag as compression option.
-*/
-Zip::ErrorCode Zip::addDirectoryContents(const QString& path, const QString& root, CompressionLevel level)
-{
- return addDirectory(path, root, IgnorePaths, level);
-}
-
-/*!
- Recursively adds files contained in \p dir to the archive, using \p root as name for the root folder.
- Stops adding files if some error occurs.
-
- The ExtractionOptions are checked in the order they are defined in the zip.h heaser file.
- This means that the last one overwrites the previous one (if some conflict occurs), i.e.
- Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths.
-
- The \p root parameter is ignored with the Zip::IgnorePaths parameter and used as path prefix (a trailing /
- is always added as directory separator!) otherwise (even with Zip::AbsolutePaths set!).
-*/
-Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionOptions options, CompressionLevel level)
-{
- // qDebug() << QString("addDir(path=%1, root=%2)").arg(path, root);
-
- // Bad boy didn't call createArchive() yet :)
- if (d->device == 0)
- return Zip::NoOpenArchive;
-
- QDir dir(path);
- if (!dir.exists())
- return Zip::FileNotFound;
-
- // Remove any trailing separator
- QString actualRoot = root.trimmed();
-
- // Preserve Unix root
- if (actualRoot != "/")
- {
- while (actualRoot.endsWith("/") || actualRoot.endsWith("\\"))
- actualRoot.truncate(actualRoot.length() - 1);
- }
-
- // QDir::cleanPath() fixes some issues with QDir::dirName()
- QFileInfo current(QDir::cleanPath(path));
-
- if (!actualRoot.isEmpty() && actualRoot != "/")
- actualRoot.append("/");
-
- /* This part is quite confusing and needs some test or check */
- /* An attempt to compress the / root directory evtl. using a root prefix should be a good test */
- if (options.testFlag(AbsolutePaths) && !options.testFlag(IgnorePaths))
- {
- QString absolutePath = d->extractRoot(path);
- if (!absolutePath.isEmpty() && absolutePath != "/")
- absolutePath.append("/");
- actualRoot.append(absolutePath);
- }
-
- if (!options.testFlag(IgnorePaths))
- {
- actualRoot = actualRoot.append(QDir(current.absoluteFilePath()).dirName());
- actualRoot.append("/");
- }
-
- // actualRoot now contains the path of the file relative to the zip archive
- // with a trailing /
-
- QFileInfoList list = dir.entryInfoList(
- QDir::Files |
- QDir::Dirs |
- QDir::NoDotAndDotDot |
- QDir::NoSymLinks);
-
- ErrorCode ec = Zip::Ok;
- bool filesAdded = false;
-
- CompressionOptions recursionOptions;
- if (options.testFlag(IgnorePaths))
- recursionOptions |= IgnorePaths;
- else recursionOptions |= RelativePaths;
-
- for (int i = 0; i < list.size() && ec == Zip::Ok; ++i)
- {
- QFileInfo info = list.at(i);
-
- if (info.isDir())
- {
- // Recursion :)
- progress();
- ec = addDirectory(info.absoluteFilePath(), actualRoot, recursionOptions, level);
- }
- else
- {
- progress();
- ec = d->createEntry(info, actualRoot, level);
- filesAdded = true;
- }
- }
-
-
- // We need an explicit record for this dir
- // Non-empty directories don't need it because they have a path component in the filename
- if (!filesAdded && !options.testFlag(IgnorePaths))
- ec = d->createEntry(current, actualRoot, level);
-
- return ec;
-}
-
-/*!
- Closes the archive and writes any pending data.
-*/
-Zip::ErrorCode Zip::closeArchive()
-{
- Zip::ErrorCode ec = d->closeArchive();
- d->reset();
- return ec;
-}
-
-/*!
- Returns a locale translated error string for a given error code.
-*/
-QString Zip::formatError(Zip::ErrorCode c) const
-{
- switch (c)
- {
- case Ok: return QCoreApplication::translate("Zip", "ZIP operation completed successfully."); break;
- case ZlibInit: return QCoreApplication::translate("Zip", "Failed to initialize or load zlib library."); break;
- case ZlibError: return QCoreApplication::translate("Zip", "zlib library error."); break;
- case OpenFailed: return QCoreApplication::translate("Zip", "Unable to create or open file."); break;
- case NoOpenArchive: return QCoreApplication::translate("Zip", "No archive has been created yet."); break;
- case FileNotFound: return QCoreApplication::translate("Zip", "File or directory does not exist."); break;
- case ReadFailed: return QCoreApplication::translate("Zip", "File read error."); break;
- case WriteFailed: return QCoreApplication::translate("Zip", "File write error."); break;
- case SeekFailed: return QCoreApplication::translate("Zip", "File seek error."); break;
- default: ;
- }
-
- return QCoreApplication::translate("Zip", "Unknown error.");
-}
-
-
-/************************************************************************
- Private interface
-*************************************************************************/
-
-//! \internal
-ZipPrivate::ZipPrivate()
-{
- headers = 0;
- device = 0;
-
- // keep an unsigned pointer so we avoid to over bloat the code with casts
- uBuffer = (unsigned char*) buffer1;
- crcTable = (quint32*) get_crc_table();
-}
-
-//! \internal
-ZipPrivate::~ZipPrivate()
-{
- closeArchive();
-}
-
-//! \internal
-Zip::ErrorCode ZipPrivate::createArchive(QIODevice* dev)
-{
- Q_ASSERT(dev != 0);
-
- if (device != 0)
- closeArchive();
-
- device = dev;
-
- if (!device->isOpen())
- {
- if (!device->open(QIODevice::ReadOnly)) {
- delete device;
- device = 0;
- qDebug() << "Unable to open device for writing.";
- return Zip::OpenFailed;
- }
- }
-
- headers = new QMap<QString,ZipEntryP*>;
- return Zip::Ok;
-}
-
-//! \internal Writes a new entry in the zip file.
-Zip::ErrorCode ZipPrivate::createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level)
-{
- //! \todo Automatic level detection (cpu, extension & file size)
-
- // Directories and very small files are always stored
- // (small files would get bigger due to the compression headers overhead)
-
- // Need this for zlib
- bool isPNGFile = false;
- bool dirOnly = file.isDir();
-
- QString entryName = root;
-
- // Directory entry
- if (dirOnly)
- level = Zip::Store;
- else
- {
- entryName.append(file.fileName());
-
- QString ext = file.completeSuffix().toLower();
- isPNGFile = ext == "png";
-
- if (file.size() < ZIP_COMPRESSION_THRESHOLD)
- level = Zip::Store;
- else
- switch (level)
- {
- case Zip::AutoCPU:
- level = Zip::Deflate5;
- break;
- case Zip::AutoMIME:
- level = detectCompressionByMime(ext);
- break;
- case Zip::AutoFull:
- level = detectCompressionByMime(ext);
- break;
- default:
- ;
- }
- }
-
- // entryName contains the path as it should be written
- // in the zip file records
- // qDebug() << QString("addDir(file=%1, root=%2, entry=%3)").arg(file.absoluteFilePath(), root, entryName);
-
- // create header and store it to write a central directory later
- ZipEntryP* h = new ZipEntryP;
-
- h->compMethod = (level == Zip::Store) ? 0 : 0x0008;
-
- // Set encryption bit and set the data descriptor bit
- // so we can use mod time instead of crc for password check
- bool encrypt = !dirOnly && !password.isEmpty();
- if (encrypt)
- h->gpFlag[0] |= 9;
-
- QDateTime dt = file.lastModified();
- QDate d = dt.date();
- h->modDate[1] = ((d.year() - 1980) << 1) & 254;
- h->modDate[1] |= ((d.month() >> 3) & 1);
- h->modDate[0] = ((d.month() & 7) << 5) & 224;
- h->modDate[0] |= d.day();
-
- QTime t = dt.time();
- h->modTime[1] = (t.hour() << 3) & 248;
- h->modTime[1] |= ((t.minute() >> 3) & 7);
- h->modTime[0] = ((t.minute() & 7) << 5) & 224;
- h->modTime[0] |= t.second() / 2;
-
- h->szUncomp = dirOnly ? 0 : file.size();
-
- // **** Write local file header ****
-
- // signature
- buffer1[0] = 'P'; buffer1[1] = 'K';
- buffer1[2] = 0x3; buffer1[3] = 0x4;
-
- // version needed to extract
- buffer1[ZIP_LH_OFF_VERS] = ZIP_VERSION;
- buffer1[ZIP_LH_OFF_VERS + 1] = 0;
-
- // general purpose flag
- buffer1[ZIP_LH_OFF_GPFLAG] = h->gpFlag[0];
- buffer1[ZIP_LH_OFF_GPFLAG + 1] = h->gpFlag[1];
-
- // compression method
- buffer1[ZIP_LH_OFF_CMET] = h->compMethod & 0xFF;
- buffer1[ZIP_LH_OFF_CMET + 1] = (h->compMethod>>8) & 0xFF;
-
- // last mod file time
- buffer1[ZIP_LH_OFF_MODT] = h->modTime[0];
- buffer1[ZIP_LH_OFF_MODT + 1] = h->modTime[1];
-
- // last mod file date
- buffer1[ZIP_LH_OFF_MODD] = h->modDate[0];
- buffer1[ZIP_LH_OFF_MODD + 1] = h->modDate[1];
-
- // skip crc (4bytes) [14,15,16,17]
-
- // skip compressed size but include evtl. encryption header (4bytes: [18,19,20,21])
- buffer1[ZIP_LH_OFF_CSIZE] =
- buffer1[ZIP_LH_OFF_CSIZE + 1] =
- buffer1[ZIP_LH_OFF_CSIZE + 2] =
- buffer1[ZIP_LH_OFF_CSIZE + 3] = 0;
-
- h->szComp = encrypt ? ZIP_LOCAL_ENC_HEADER_SIZE : 0;
-
- // uncompressed size [22,23,24,25]
- setULong(h->szUncomp, buffer1, ZIP_LH_OFF_USIZE);
-
- // filename length
- QByteArray entryNameBytes = entryName.toAscii();
- int sz = entryNameBytes.size();
-
- buffer1[ZIP_LH_OFF_NAMELEN] = sz & 0xFF;
- buffer1[ZIP_LH_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF;
-
- // extra field length
- buffer1[ZIP_LH_OFF_XLEN] = buffer1[ZIP_LH_OFF_XLEN + 1] = 0;
-
- // Store offset to write crc and compressed size
- h->lhOffset = device->pos();
- quint32 crcOffset = h->lhOffset + ZIP_LH_OFF_CRC;
-
- if (device->write(buffer1, ZIP_LOCAL_HEADER_SIZE) != ZIP_LOCAL_HEADER_SIZE)
- {
- delete h;
- return Zip::WriteFailed;
- }
-
- // Write out filename
- if (device->write(entryNameBytes) != sz)
- {
- delete h;
- return Zip::WriteFailed;
- }
-
- // Encryption keys
- quint32 keys[3] = { 0, 0, 0 };
-
- if (encrypt)
- {
- // **** encryption header ****
-
- // XOR with PI to ensure better random numbers
- // with poorly implemented rand() as suggested by Info-Zip
- srand(time(NULL) ^ 3141592654UL);
- int randByte;
-
- initKeys(keys);
- for (int i=0; i<10; ++i)
- {
- randByte = (rand() >> 7) & 0xff;
- buffer1[i] = decryptByte(keys[2]) ^ randByte;
- updateKeys(keys, randByte);
- }
-
- // Encrypt encryption header
- initKeys(keys);
- for (int i=0; i<10; ++i)
- {
- randByte = decryptByte(keys[2]);
- updateKeys(keys, buffer1[i]);
- buffer1[i] ^= randByte;
- }
-
- // We don't know the CRC at this time, so we use the modification time
- // as the last two bytes
- randByte = decryptByte(keys[2]);
- updateKeys(keys, h->modTime[0]);
- buffer1[10] ^= randByte;
-
- randByte = decryptByte(keys[2]);
- updateKeys(keys, h->modTime[1]);
- buffer1[11] ^= randByte;
-
- // Write out encryption header
- if (device->write(buffer1, ZIP_LOCAL_ENC_HEADER_SIZE) != ZIP_LOCAL_ENC_HEADER_SIZE)
- {
- delete h;
- return Zip::WriteFailed;
- }
- }
-
- qint64 written = 0;
- quint32 crc = crc32(0L, Z_NULL, 0);
-
- if (!dirOnly)
- {
- QFile actualFile(file.absoluteFilePath());
- if (!actualFile.open(QIODevice::ReadOnly))
- {
- qDebug() << QString("An error occurred while opening %1").arg(file.absoluteFilePath());
- return Zip::OpenFailed;
- }
-
- // Write file data
- qint64 read = 0;
- qint64 totRead = 0;
- qint64 toRead = actualFile.size();
-
- if (level == Zip::Store)
- {
- while ( (read = actualFile.read(buffer1, ZIP_READ_BUFFER)) > 0 )
- {
- crc = crc32(crc, uBuffer, read);
-
- if (password != 0)
- encryptBytes(keys, buffer1, read);
-
- if ( (written = device->write(buffer1, read)) != read )
- {
- actualFile.close();
- delete h;
- return Zip::WriteFailed;
- }
- }
- }
- else
- {
- z_stream zstr;
-
- // Initialize zalloc, zfree and opaque before calling the init function
- zstr.zalloc = Z_NULL;
- zstr.zfree = Z_NULL;
- zstr.opaque = Z_NULL;
-
- int zret;
-
- // Use deflateInit2 with negative windowBits to get raw compression
- if ((zret = deflateInit2_(
- &zstr,
- (int)level,
- Z_DEFLATED,
- -MAX_WBITS,
- 8,
- isPNGFile ? Z_RLE : Z_DEFAULT_STRATEGY,
- ZLIB_VERSION,
- sizeof(z_stream)
- )) != Z_OK )
- {
- actualFile.close();
- qDebug() << "Could not initialize zlib for compression";
- delete h;
- return Zip::ZlibError;
- }
-
- qint64 compressed;
-
- int flush = Z_NO_FLUSH;
-
- do
- {
- read = actualFile.read(buffer1, ZIP_READ_BUFFER);
- totRead += read;
-
- if (read == 0)
- break;
- if (read < 0)
- {
- actualFile.close();
- deflateEnd(&zstr);
- qDebug() << QString("Error while reading %1").arg(file.absoluteFilePath());
- delete h;
- return Zip::ReadFailed;
- }
-
- crc = crc32(crc, uBuffer, read);
-
- zstr.next_in = (Bytef*) buffer1;
- zstr.avail_in = (uInt)read;
-
- // Tell zlib if this is the last chunk we want to encode
- // by setting the flush parameter to Z_FINISH
- flush = (totRead == toRead) ? Z_FINISH : Z_NO_FLUSH;
-
- // Run deflate() on input until output buffer not full
- // finish compression if all of source has been read in
- do
- {
- zstr.next_out = (Bytef*) buffer2;
- zstr.avail_out = ZIP_READ_BUFFER;
-
- zret = deflate(&zstr, flush);
- // State not clobbered
- Q_ASSERT(zret != Z_STREAM_ERROR);
-
- // Write compressed data to file and empty buffer
- compressed = ZIP_READ_BUFFER - zstr.avail_out;
-
- if (password != 0)
- encryptBytes(keys, buffer2, compressed);
-
- if (device->write(buffer2, compressed) != compressed)
- {
- deflateEnd(&zstr);
- actualFile.close();
- qDebug() << QString("Error while writing %1").arg(file.absoluteFilePath());
- delete h;
- return Zip::WriteFailed;
- }
-
- written += compressed;
-
- } while (zstr.avail_out == 0);
-
- // All input will be used
- Q_ASSERT(zstr.avail_in == 0);
-
- } while (flush != Z_FINISH);
-
- // Stream will be complete
- Q_ASSERT(zret == Z_STREAM_END);
-
- deflateEnd(&zstr);
-
- } // if (level != STORE)
-
- actualFile.close();
- }
-
- // Store end of entry offset
- quint32 current = device->pos();
-
- // Update crc and compressed size in local header
- if (!device->seek(crcOffset))
- {
- delete h;
- return Zip::SeekFailed;
- }
-
- h->crc = dirOnly ? 0 : crc;
- h->szComp += written;
-
- setULong(h->crc, buffer1, 0);
- setULong(h->szComp, buffer1, 4);
- if ( device->write(buffer1, 8) != 8)
- {
- delete h;
- return Zip::WriteFailed;
- }
-
- // Seek to end of entry
- if (!device->seek(current))
- {
- delete h;
- return Zip::SeekFailed;
- }
-
- if ((h->gpFlag[0] & 8) == 8)
- {
- // Write data descriptor
-
- // Signature: PK\7\8
- buffer1[0] = 'P';
- buffer1[1] = 'K';
- buffer1[2] = 0x07;
- buffer1[3] = 0x08;
-
- // CRC
- setULong(h->crc, buffer1, ZIP_DD_OFF_CRC32);
-
- // Compressed size
- setULong(h->szComp, buffer1, ZIP_DD_OFF_CSIZE);
-
- // Uncompressed size
- setULong(h->szUncomp, buffer1, ZIP_DD_OFF_USIZE);
-
- if (device->write(buffer1, ZIP_DD_SIZE_WS) != ZIP_DD_SIZE_WS)
- {
- delete h;
- return Zip::WriteFailed;
- }
- }
-
- headers->insert(entryName, h);
- return Zip::Ok;
-}
-
-//! \internal
-int ZipPrivate::decryptByte(quint32 key2) const
-{
- quint16 temp = ((quint16)(key2) & 0xffff) | 2;
- return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
-}
-
-//! \internal Writes an quint32 (4 bytes) to a byte array at given offset.
-void ZipPrivate::setULong(quint32 v, char* buffer, unsigned int offset)
-{
- buffer[offset+3] = ((v >> 24) & 0xFF);
- buffer[offset+2] = ((v >> 16) & 0xFF);
- buffer[offset+1] = ((v >> 8) & 0xFF);
- buffer[offset] = (v & 0xFF);
-}
-
-//! \internal Initializes decryption keys using a password.
-void ZipPrivate::initKeys(quint32* keys) const
-{
- // Encryption keys initialization constants are taken from the
- // PKZip file format specification docs
- keys[0] = 305419896L;
- keys[1] = 591751049L;
- keys[2] = 878082192L;
-
- QByteArray pwdBytes = password.toAscii();
- int sz = pwdBytes.size();
- const char* ascii = pwdBytes.data();
-
- for (int i=0; i<sz; ++i)
- updateKeys(keys, (int)ascii[i]);
-}
-
-//! \internal Updates encryption keys.
-void ZipPrivate::updateKeys(quint32* keys, int c) const
-{
- keys[0] = CRC32(keys[0], c);
- keys[1] += keys[0] & 0xff;
- keys[1] = keys[1] * 134775813L + 1;
- keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24);
-}
-
-//! \internal Encrypts a byte array.
-void ZipPrivate::encryptBytes(quint32* keys, char* buffer, qint64 read)
-{
- char t;
-
- for (int i=0; i<(int)read; ++i)
- {
- t = buffer[i];
- buffer[i] ^= decryptByte(keys[2]);
- updateKeys(keys, t);
- }
-}
-
-//! \internal Detects the best compression level for a given file extension.
-Zip::CompressionLevel ZipPrivate::detectCompressionByMime(const QString& ext)
-{
- // files really hard to compress
- if ((ext == "png") ||
- (ext == "jpg") ||
- (ext == "jpeg") ||
- (ext == "mp3") ||
- (ext == "ogg") ||
- (ext == "ogm") ||
- (ext == "avi") ||
- (ext == "mov") ||
- (ext == "rm") ||
- (ext == "ra") ||
- (ext == "zip") ||
- (ext == "rar") ||
- (ext == "bz2") ||
- (ext == "gz") ||
- (ext == "7z") ||
- (ext == "z") ||
- (ext == "jar")
- ) return Zip::Store;
-
- // files slow and hard to compress
- if ((ext == "exe") ||
- (ext == "bin") ||
- (ext == "rpm") ||
- (ext == "deb")
- ) return Zip::Deflate2;
-
- return Zip::Deflate9;
-}
-
-/*!
- Closes the current archive and writes out pending data.
-*/
-Zip::ErrorCode ZipPrivate::closeArchive()
-{
- // Close current archive by writing out central directory
- // and free up resources
-
- if (device == 0)
- return Zip::Ok;
-
- if (headers == 0)
- return Zip::Ok;
-
- const ZipEntryP* h;
-
- unsigned int sz;
- quint32 szCentralDir = 0;
- quint32 offCentralDir = device->pos();
-
- for (QMap<QString,ZipEntryP*>::ConstIterator itr = headers->constBegin(); itr != headers->constEnd(); ++itr)
- {
- h = itr.value();
-
- // signature
- buffer1[0] = 'P';
- buffer1[1] = 'K';
- buffer1[2] = 0x01;
- buffer1[3] = 0x02;
-
- // version made by (currently only MS-DOS/FAT - no symlinks or other stuff supported)
- buffer1[ZIP_CD_OFF_MADEBY] = buffer1[ZIP_CD_OFF_MADEBY + 1] = 0;
-
- // version needed to extract
- buffer1[ZIP_CD_OFF_VERSION] = ZIP_VERSION;
- buffer1[ZIP_CD_OFF_VERSION + 1] = 0;
-
- // general purpose flag
- buffer1[ZIP_CD_OFF_GPFLAG] = h->gpFlag[0];
- buffer1[ZIP_CD_OFF_GPFLAG + 1] = h->gpFlag[1];
-
- // compression method
- buffer1[ZIP_CD_OFF_CMET] = h->compMethod & 0xFF;
- buffer1[ZIP_CD_OFF_CMET + 1] = (h->compMethod >> 8) & 0xFF;
-
- // last mod file time
- buffer1[ZIP_CD_OFF_MODT] = h->modTime[0];
- buffer1[ZIP_CD_OFF_MODT + 1] = h->modTime[1];
-
- // last mod file date
- buffer1[ZIP_CD_OFF_MODD] = h->modDate[0];
- buffer1[ZIP_CD_OFF_MODD + 1] = h->modDate[1];
-
- // crc (4bytes) [16,17,18,19]
- setULong(h->crc, buffer1, ZIP_CD_OFF_CRC);
-
- // compressed size (4bytes: [20,21,22,23])
- setULong(h->szComp, buffer1, ZIP_CD_OFF_CSIZE);
-
- // uncompressed size [24,25,26,27]
- setULong(h->szUncomp, buffer1, ZIP_CD_OFF_USIZE);
-
- // filename
- QByteArray fileNameBytes = itr.key().toAscii();
- sz = fileNameBytes.size();
- buffer1[ZIP_CD_OFF_NAMELEN] = sz & 0xFF;
- buffer1[ZIP_CD_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF;
-
- // extra field length
- buffer1[ZIP_CD_OFF_XLEN] = buffer1[ZIP_CD_OFF_XLEN + 1] = 0;
-
- // file comment length
- buffer1[ZIP_CD_OFF_COMMLEN] = buffer1[ZIP_CD_OFF_COMMLEN + 1] = 0;
-
- // disk number start
- buffer1[ZIP_CD_OFF_DISKSTART] = buffer1[ZIP_CD_OFF_DISKSTART + 1] = 0;
-
- // internal file attributes
- buffer1[ZIP_CD_OFF_IATTR] = buffer1[ZIP_CD_OFF_IATTR + 1] = 0;
-
- // external file attributes
- buffer1[ZIP_CD_OFF_EATTR] =
- buffer1[ZIP_CD_OFF_EATTR + 1] =
- buffer1[ZIP_CD_OFF_EATTR + 2] =
- buffer1[ZIP_CD_OFF_EATTR + 3] = 0;
-
- // relative offset of local header [42->45]
- setULong(h->lhOffset, buffer1, ZIP_CD_OFF_LHOFF);
-
- if (device->write(buffer1, ZIP_CD_SIZE) != ZIP_CD_SIZE)
- {
- //! \todo See if we can detect QFile objects using the Qt Meta Object System
- /*
- if (!device->remove())
- qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
- */
- return Zip::WriteFailed;
- }
-
- // Write out filename
- if ((unsigned int)device->write(fileNameBytes) != sz)
- {
- //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
- /*
- if (!device->remove())
- qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
- */
- return Zip::WriteFailed;
- }
-
- szCentralDir += (ZIP_CD_SIZE + sz);
-
- } // central dir headers loop
-
-
- // Write end of central directory
-
- // signature
- buffer1[0] = 'P';
- buffer1[1] = 'K';
- buffer1[2] = 0x05;
- buffer1[3] = 0x06;
-
- // number of this disk
- buffer1[ZIP_EOCD_OFF_DISKNUM] = buffer1[ZIP_EOCD_OFF_DISKNUM + 1] = 0;
-
- // number of disk with central directory
- buffer1[ZIP_EOCD_OFF_CDDISKNUM] = buffer1[ZIP_EOCD_OFF_CDDISKNUM + 1] = 0;
-
- // number of entries in this disk
- sz = headers->count();
- buffer1[ZIP_EOCD_OFF_ENTRIES] = sz & 0xFF;
- buffer1[ZIP_EOCD_OFF_ENTRIES + 1] = (sz >> 8) & 0xFF;
-
- // total number of entries
- buffer1[ZIP_EOCD_OFF_CDENTRIES] = buffer1[ZIP_EOCD_OFF_ENTRIES];
- buffer1[ZIP_EOCD_OFF_CDENTRIES + 1] = buffer1[ZIP_EOCD_OFF_ENTRIES + 1];
-
- // size of central directory [12->15]
- setULong(szCentralDir, buffer1, ZIP_EOCD_OFF_CDSIZE);
-
- // central dir offset [16->19]
- setULong(offCentralDir, buffer1, ZIP_EOCD_OFF_CDOFF);
-
- // ZIP file comment length
- QByteArray commentBytes = comment.toAscii();
- quint16 commentLength = commentBytes.size();
-
- if (commentLength == 0)
- {
- buffer1[ZIP_EOCD_OFF_COMMLEN] = buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = 0;
- }
- else
- {
- buffer1[ZIP_EOCD_OFF_COMMLEN] = commentLength & 0xFF;
- buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = (commentLength >> 8) & 0xFF;
- }
-
- if (device->write(buffer1, ZIP_EOCD_SIZE) != ZIP_EOCD_SIZE)
- {
- //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
- /*
- if (!device->remove())
- qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
- */
- return Zip::WriteFailed;
- }
-
- if (commentLength != 0)
- {
- if ((unsigned int)device->write(commentBytes) != commentLength)
- {
- //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
- /*
- if (!device->remove())
- qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
- */
- return Zip::WriteFailed;
- }
- }
-
- return Zip::Ok;
-}
-
-//! \internal
-void ZipPrivate::reset()
-{
- comment.clear();
-
- if (headers != 0)
- {
- qDeleteAll(*headers);
- delete headers;
- headers = 0;
- }
-
- delete device; device = 0;
-}
-
-//! \internal Returns the path of the parent directory
-QString ZipPrivate::extractRoot(const QString& p)
-{
- QDir d(QDir::cleanPath(p));
- if (!d.exists())
- return QString();
-
- if (!d.cdUp())
- return QString();
-
- return d.absolutePath();
-}
+/****************************************************************************
+** Filename: zip.cpp
+** Last updated [dd/mm/yyyy]: 01/02/2007
+**
+** pkzip 2.0 file compression.
+**
+** Some of the code has been inspired by other open source projects,
+** (mainly Info-Zip and Gilles Vollant's minizip).
+** Compression and decompression actually uses the zlib library.
+**
+** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
+**
+** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See the file LICENSE.GPL that came with this software distribution or
+** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
+**
+**********************************************************************/
+
+#include "zip.h"
+#include "zip_p.h"
+#include "zipentry_p.h"
+
+// we only use this to seed the random number generator
+#include <time.h>
+
+#include <QMap>
+#include <QString>
+#include <QStringList>
+#include <QDir>
+#include <QFile>
+#include <QDateTime>
+#include <QCoreApplication>
+
+// You can remove this #include if you replace the qDebug() statements.
+#include <QtDebug>
+
+//! Local header size (including signature, excluding variable length fields)
+#define ZIP_LOCAL_HEADER_SIZE 30
+//! Encryption header size
+#define ZIP_LOCAL_ENC_HEADER_SIZE 12
+//! Data descriptor size (signature included)
+#define ZIP_DD_SIZE_WS 16
+//! Central Directory record size (signature included)
+#define ZIP_CD_SIZE 46
+//! End of Central Directory record size (signature included)
+#define ZIP_EOCD_SIZE 22
+
+// Some offsets inside a local header record (signature included)
+#define ZIP_LH_OFF_VERS 4
+#define ZIP_LH_OFF_GPFLAG 6
+#define ZIP_LH_OFF_CMET 8
+#define ZIP_LH_OFF_MODT 10
+#define ZIP_LH_OFF_MODD 12
+#define ZIP_LH_OFF_CRC 14
+#define ZIP_LH_OFF_CSIZE 18
+#define ZIP_LH_OFF_USIZE 22
+#define ZIP_LH_OFF_NAMELEN 26
+#define ZIP_LH_OFF_XLEN 28
+
+// Some offsets inside a data descriptor record (including signature)
+#define ZIP_DD_OFF_CRC32 4
+#define ZIP_DD_OFF_CSIZE 8
+#define ZIP_DD_OFF_USIZE 12
+
+// Some offsets inside a Central Directory record (including signature)
+#define ZIP_CD_OFF_MADEBY 4
+#define ZIP_CD_OFF_VERSION 6
+#define ZIP_CD_OFF_GPFLAG 8
+#define ZIP_CD_OFF_CMET 10
+#define ZIP_CD_OFF_MODT 12
+#define ZIP_CD_OFF_MODD 14
+#define ZIP_CD_OFF_CRC 16
+#define ZIP_CD_OFF_CSIZE 20
+#define ZIP_CD_OFF_USIZE 24
+#define ZIP_CD_OFF_NAMELEN 28
+#define ZIP_CD_OFF_XLEN 30
+#define ZIP_CD_OFF_COMMLEN 32
+#define ZIP_CD_OFF_DISKSTART 34
+#define ZIP_CD_OFF_IATTR 36
+#define ZIP_CD_OFF_EATTR 38
+#define ZIP_CD_OFF_LHOFF 42
+
+// Some offsets inside a EOCD record (including signature)
+#define ZIP_EOCD_OFF_DISKNUM 4
+#define ZIP_EOCD_OFF_CDDISKNUM 6
+#define ZIP_EOCD_OFF_ENTRIES 8
+#define ZIP_EOCD_OFF_CDENTRIES 10
+#define ZIP_EOCD_OFF_CDSIZE 12
+#define ZIP_EOCD_OFF_CDOFF 16
+#define ZIP_EOCD_OFF_COMMLEN 20
+
+//! PKZip version for archives created by this API
+#define ZIP_VERSION 0x14
+
+//! Do not store very small files as the compression headers overhead would be to big
+#define ZIP_COMPRESSION_THRESHOLD 60
+
+//! This macro updates a one-char-only CRC; it's the Info-Zip macro re-adapted
+#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8)
+
+/*!
+ \class Zip zip.h
+
+ \brief Zip file compression.
+
+ Some quick usage examples.
+
+ \verbatim
+ Suppose you have this directory structure:
+
+ /root/dir1/
+ /root/dir1/file1.1
+ /root/dir1/file1.2
+ /root/dir1/dir1.1/
+ /root/dir1/dir1.2/file1.2.1
+
+ EXAMPLE 1:
+ myZipInstance.addDirectory("/root/dir1");
+
+ RESULT:
+ Beheaves like any common zip software and creates a zip file with this structure:
+
+ dir1/
+ dir1/file1.1
+ dir1/file1.2
+ dir1/dir1.1/
+ dir1/dir1.2/file1.2.1
+
+ EXAMPLE 2:
+ myZipInstance.addDirectory("/root/dir1", "myRoot/myFolder");
+
+ RESULT:
+ Adds a custom root to the paths and creates a zip file with this structure:
+
+ myRoot/myFolder/dir1/
+ myRoot/myFolder/dir1/file1.1
+ myRoot/myFolder/dir1/file1.2
+ myRoot/myFolder/dir1/dir1.1/
+ myRoot/myFolder/dir1/dir1.2/file1.2.1
+
+ EXAMPLE 3:
+ myZipInstance.addDirectory("/root/dir1", Zip::AbsolutePaths);
+
+ NOTE:
+ Same as calling addDirectory(SOME_PATH, PARENT_PATH_of_SOME_PATH).
+
+ RESULT:
+ Preserves absolute paths and creates a zip file with this structure:
+
+ /root/dir1/
+ /root/dir1/file1.1
+ /root/dir1/file1.2
+ /root/dir1/dir1.1/
+ /root/dir1/dir1.2/file1.2.1
+
+ EXAMPLE 4:
+ myZipInstance.setPassword("hellopass");
+ myZipInstance.addDirectory("/root/dir1", "/");
+
+ RESULT:
+ Adds and encrypts the files in /root/dir1, creating the following zip structure:
+
+ /dir1/
+ /dir1/file1.1
+ /dir1/file1.2
+ /dir1/dir1.1/
+ /dir1/dir1.2/file1.2.1
+
+ \endverbatim
+*/
+
+/*! \enum Zip::ErrorCode The result of a compression operation.
+ \value Zip::Ok No error occurred.
+ \value Zip::ZlibInit Failed to init or load the zlib library.
+ \value Zip::ZlibError The zlib library returned some error.
+ \value Zip::FileExists The file already exists and will not be overwritten.
+ \value Zip::OpenFailed Unable to create or open a device.
+ \value Zip::NoOpenArchive CreateArchive() has not been called yet.
+ \value Zip::FileNotFound File or directory does not exist.
+ \value Zip::ReadFailed Reading of a file failed.
+ \value Zip::WriteFailed Writing of a file failed.
+ \value Zip::SeekFailed Seek failed.
+*/
+
+/*! \enum Zip::CompressionLevel Returns the result of a decompression operation.
+ \value Zip::Store No compression.
+ \value Zip::Deflate1 Deflate compression level 1(lowest compression).
+ \value Zip::Deflate1 Deflate compression level 2.
+ \value Zip::Deflate1 Deflate compression level 3.
+ \value Zip::Deflate1 Deflate compression level 4.
+ \value Zip::Deflate1 Deflate compression level 5.
+ \value Zip::Deflate1 Deflate compression level 6.
+ \value Zip::Deflate1 Deflate compression level 7.
+ \value Zip::Deflate1 Deflate compression level 8.
+ \value Zip::Deflate1 Deflate compression level 9 (maximum compression).
+ \value Zip::AutoCPU Adapt compression level to CPU speed (faster CPU => better compression).
+ \value Zip::AutoMIME Adapt compression level to MIME type of the file being compressed.
+ \value Zip::AutoFull Use both CPU and MIME type detection.
+*/
+
+
+/************************************************************************
+ Public interface
+*************************************************************************/
+
+/*!
+ Creates a new Zip file compressor.
+*/
+Zip::Zip()
+{
+ d = new ZipPrivate;
+}
+
+/*!
+ Closes any open archive and releases used resources.
+*/
+Zip::~Zip()
+{
+ closeArchive();
+ delete d;
+}
+
+/*!
+ Returns true if there is an open archive.
+*/
+bool Zip::isOpen() const
+{
+ return d->device != 0;
+}
+
+/*!
+ Sets the password to be used for the next files being added!
+ Files added before calling this method will use the previously
+ set password (if any).
+ Closing the archive won't clear the password!
+*/
+void Zip::setPassword(const QString& pwd)
+{
+ d->password = pwd;
+}
+
+//! Convenience method, clears the current password.
+void Zip::clearPassword()
+{
+ d->password.clear();
+}
+
+//! Returns the currently used password.
+QString Zip::password() const
+{
+ return d->password;
+}
+
+/*!
+ Attempts to create a new Zip archive. If \p overwrite is true and the file
+ already exist it will be overwritten.
+ Any open archive will be closed.
+ */
+Zip::ErrorCode Zip::createArchive(const QString& filename, bool overwrite)
+{
+ QFile* file = new QFile(filename);
+
+ if (file->exists() && !overwrite) {
+ delete file;
+ return Zip::FileExists;
+ }
+
+ if (!file->open(QIODevice::WriteOnly)) {
+ delete file;
+ return Zip::OpenFailed;
+ }
+
+ Zip::ErrorCode ec = createArchive(file);
+ if (ec != Zip::Ok) {
+ file->remove();
+ }
+
+ return ec;
+}
+
+/*!
+ Attempts to create a new Zip archive. If there is another open archive this will be closed.
+ \warning The class takes ownership of the device!
+ */
+Zip::ErrorCode Zip::createArchive(QIODevice* device)
+{
+ if (device == 0)
+ {
+ qDebug() << "Invalid device.";
+ return Zip::OpenFailed;
+ }
+
+ return d->createArchive(device);
+}
+
+/*!
+ Returns the current archive comment.
+*/
+QString Zip::archiveComment() const
+{
+ return d->comment;
+}
+
+/*!
+ Sets the comment for this archive. Note: createArchive() should have been
+ called before.
+*/
+void Zip::setArchiveComment(const QString& comment)
+{
+ if (d->device != 0)
+ d->comment = comment;
+}
+
+/*!
+ Convenience method, same as calling
+ Zip::addDirectory(const QString&,const QString&,CompressionLevel)
+ with an empty \p root parameter (or with the parent directory of \p path if the
+ AbsolutePaths options is set).
+
+ The ExtractionOptions are checked in the order they are defined in the zip.h heaser file.
+ This means that the last one overwrites the previous one (if some conflict occurs), i.e.
+ Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths.
+ */
+Zip::ErrorCode Zip::addDirectory(const QString& path, CompressionOptions options, CompressionLevel level)
+{
+ return addDirectory(path, QString(), options, level);
+}
+
+/*!
+ Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
+ with the Zip::RelativePaths flag as compression option.
+ */
+Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionLevel level)
+{
+ return addDirectory(path, root, Zip::RelativePaths, level);
+}
+
+/*!
+ Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
+ with the Zip::IgnorePaths flag as compression option and an empty \p root parameter.
+*/
+Zip::ErrorCode Zip::addDirectoryContents(const QString& path, CompressionLevel level)
+{
+ return addDirectory(path, QString(), IgnorePaths, level);
+}
+
+/*!
+ Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
+ with the Zip::IgnorePaths flag as compression option.
+*/
+Zip::ErrorCode Zip::addDirectoryContents(const QString& path, const QString& root, CompressionLevel level)
+{
+ return addDirectory(path, root, IgnorePaths, level);
+}
+
+/*!
+ Recursively adds files contained in \p dir to the archive, using \p root as name for the root folder.
+ Stops adding files if some error occurs.
+
+ The ExtractionOptions are checked in the order they are defined in the zip.h heaser file.
+ This means that the last one overwrites the previous one (if some conflict occurs), i.e.
+ Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths.
+
+ The \p root parameter is ignored with the Zip::IgnorePaths parameter and used as path prefix (a trailing /
+ is always added as directory separator!) otherwise (even with Zip::AbsolutePaths set!).
+*/
+Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionOptions options, CompressionLevel level)
+{
+ // qDebug() << QString("addDir(path=%1, root=%2)").arg(path, root);
+
+ // Bad boy didn't call createArchive() yet :)
+ if (d->device == 0)
+ return Zip::NoOpenArchive;
+
+ QDir dir(path);
+ if (!dir.exists())
+ return Zip::FileNotFound;
+
+ // Remove any trailing separator
+ QString actualRoot = root.trimmed();
+
+ // Preserve Unix root
+ if (actualRoot != "/")
+ {
+ while (actualRoot.endsWith("/") || actualRoot.endsWith("\\"))
+ actualRoot.truncate(actualRoot.length() - 1);
+ }
+
+ // QDir::cleanPath() fixes some issues with QDir::dirName()
+ QFileInfo current(QDir::cleanPath(path));
+
+ if (!actualRoot.isEmpty() && actualRoot != "/")
+ actualRoot.append("/");
+
+ /* This part is quite confusing and needs some test or check */
+ /* An attempt to compress the / root directory evtl. using a root prefix should be a good test */
+ if (options.testFlag(AbsolutePaths) && !options.testFlag(IgnorePaths))
+ {
+ QString absolutePath = d->extractRoot(path);
+ if (!absolutePath.isEmpty() && absolutePath != "/")
+ absolutePath.append("/");
+ actualRoot.append(absolutePath);
+ }
+
+ if (!options.testFlag(IgnorePaths))
+ {
+ actualRoot = actualRoot.append(QDir(current.absoluteFilePath()).dirName());
+ actualRoot.append("/");
+ }
+
+ // actualRoot now contains the path of the file relative to the zip archive
+ // with a trailing /
+
+ QFileInfoList list = dir.entryInfoList(
+ QDir::Files |
+ QDir::Dirs |
+ QDir::NoDotAndDotDot |
+ QDir::NoSymLinks);
+
+ ErrorCode ec = Zip::Ok;
+ bool filesAdded = false;
+
+ CompressionOptions recursionOptions;
+ if (options.testFlag(IgnorePaths))
+ recursionOptions |= IgnorePaths;
+ else recursionOptions |= RelativePaths;
+
+ for (int i = 0; i < list.size() && ec == Zip::Ok; ++i)
+ {
+ QFileInfo info = list.at(i);
+
+ if (info.isDir())
+ {
+ // Recursion :)
+ progress();
+ ec = addDirectory(info.absoluteFilePath(), actualRoot, recursionOptions, level);
+ }
+ else
+ {
+ progress();
+ ec = d->createEntry(info, actualRoot, level);
+ filesAdded = true;
+ }
+ }
+
+
+ // We need an explicit record for this dir
+ // Non-empty directories don't need it because they have a path component in the filename
+ if (!filesAdded && !options.testFlag(IgnorePaths))
+ ec = d->createEntry(current, actualRoot, level);
+
+ return ec;
+}
+
+/*!
+ Closes the archive and writes any pending data.
+*/
+Zip::ErrorCode Zip::closeArchive()
+{
+ Zip::ErrorCode ec = d->closeArchive();
+ d->reset();
+ return ec;
+}
+
+/*!
+ Returns a locale translated error string for a given error code.
+*/
+QString Zip::formatError(Zip::ErrorCode c) const
+{
+ switch (c)
+ {
+ case Ok: return QCoreApplication::translate("Zip", "ZIP operation completed successfully."); break;
+ case ZlibInit: return QCoreApplication::translate("Zip", "Failed to initialize or load zlib library."); break;
+ case ZlibError: return QCoreApplication::translate("Zip", "zlib library error."); break;
+ case OpenFailed: return QCoreApplication::translate("Zip", "Unable to create or open file."); break;
+ case NoOpenArchive: return QCoreApplication::translate("Zip", "No archive has been created yet."); break;
+ case FileNotFound: return QCoreApplication::translate("Zip", "File or directory does not exist."); break;
+ case ReadFailed: return QCoreApplication::translate("Zip", "File read error."); break;
+ case WriteFailed: return QCoreApplication::translate("Zip", "File write error."); break;
+ case SeekFailed: return QCoreApplication::translate("Zip", "File seek error."); break;
+ default: ;
+ }
+
+ return QCoreApplication::translate("Zip", "Unknown error.");
+}
+
+
+/************************************************************************
+ Private interface
+*************************************************************************/
+
+//! \internal
+ZipPrivate::ZipPrivate()
+{
+ headers = 0;
+ device = 0;
+
+ // keep an unsigned pointer so we avoid to over bloat the code with casts
+ uBuffer = (unsigned char*) buffer1;
+ crcTable = (quint32*) get_crc_table();
+}
+
+//! \internal
+ZipPrivate::~ZipPrivate()
+{
+ closeArchive();
+}
+
+//! \internal
+Zip::ErrorCode ZipPrivate::createArchive(QIODevice* dev)
+{
+ Q_ASSERT(dev != 0);
+
+ if (device != 0)
+ closeArchive();
+
+ device = dev;
+
+ if (!device->isOpen())
+ {
+ if (!device->open(QIODevice::ReadOnly)) {
+ delete device;
+ device = 0;
+ qDebug() << "Unable to open device for writing.";
+ return Zip::OpenFailed;
+ }
+ }
+
+ headers = new QMap<QString,ZipEntryP*>;
+ return Zip::Ok;
+}
+
+//! \internal Writes a new entry in the zip file.
+Zip::ErrorCode ZipPrivate::createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level)
+{
+ //! \todo Automatic level detection (cpu, extension & file size)
+
+ // Directories and very small files are always stored
+ // (small files would get bigger due to the compression headers overhead)
+
+ // Need this for zlib
+ bool isPNGFile = false;
+ bool dirOnly = file.isDir();
+
+ QString entryName = root;
+
+ // Directory entry
+ if (dirOnly)
+ level = Zip::Store;
+ else
+ {
+ entryName.append(file.fileName());
+
+ QString ext = file.completeSuffix().toLower();
+ isPNGFile = ext == "png";
+
+ if (file.size() < ZIP_COMPRESSION_THRESHOLD)
+ level = Zip::Store;
+ else
+ switch (level)
+ {
+ case Zip::AutoCPU:
+ level = Zip::Deflate5;
+ break;
+ case Zip::AutoMIME:
+ level = detectCompressionByMime(ext);
+ break;
+ case Zip::AutoFull:
+ level = detectCompressionByMime(ext);
+ break;
+ default:
+ ;
+ }
+ }
+
+ // entryName contains the path as it should be written
+ // in the zip file records
+ // qDebug() << QString("addDir(file=%1, root=%2, entry=%3)").arg(file.absoluteFilePath(), root, entryName);
+
+ // create header and store it to write a central directory later
+ ZipEntryP* h = new ZipEntryP;
+
+ h->compMethod = (level == Zip::Store) ? 0 : 0x0008;
+
+ // Set encryption bit and set the data descriptor bit
+ // so we can use mod time instead of crc for password check
+ bool encrypt = !dirOnly && !password.isEmpty();
+ if (encrypt)
+ h->gpFlag[0] |= 9;
+
+ QDateTime dt = file.lastModified();
+ QDate d = dt.date();
+ h->modDate[1] = ((d.year() - 1980) << 1) & 254;
+ h->modDate[1] |= ((d.month() >> 3) & 1);
+ h->modDate[0] = ((d.month() & 7) << 5) & 224;
+ h->modDate[0] |= d.day();
+
+ QTime t = dt.time();
+ h->modTime[1] = (t.hour() << 3) & 248;
+ h->modTime[1] |= ((t.minute() >> 3) & 7);
+ h->modTime[0] = ((t.minute() & 7) << 5) & 224;
+ h->modTime[0] |= t.second() / 2;
+
+ h->szUncomp = dirOnly ? 0 : file.size();
+
+ // **** Write local file header ****
+
+ // signature
+ buffer1[0] = 'P'; buffer1[1] = 'K';
+ buffer1[2] = 0x3; buffer1[3] = 0x4;
+
+ // version needed to extract
+ buffer1[ZIP_LH_OFF_VERS] = ZIP_VERSION;
+ buffer1[ZIP_LH_OFF_VERS + 1] = 0;
+
+ // general purpose flag
+ buffer1[ZIP_LH_OFF_GPFLAG] = h->gpFlag[0];
+ buffer1[ZIP_LH_OFF_GPFLAG + 1] = h->gpFlag[1];
+
+ // compression method
+ buffer1[ZIP_LH_OFF_CMET] = h->compMethod & 0xFF;
+ buffer1[ZIP_LH_OFF_CMET + 1] = (h->compMethod>>8) & 0xFF;
+
+ // last mod file time
+ buffer1[ZIP_LH_OFF_MODT] = h->modTime[0];
+ buffer1[ZIP_LH_OFF_MODT + 1] = h->modTime[1];
+
+ // last mod file date
+ buffer1[ZIP_LH_OFF_MODD] = h->modDate[0];
+ buffer1[ZIP_LH_OFF_MODD + 1] = h->modDate[1];
+
+ // skip crc (4bytes) [14,15,16,17]
+
+ // skip compressed size but include evtl. encryption header (4bytes: [18,19,20,21])
+ buffer1[ZIP_LH_OFF_CSIZE] =
+ buffer1[ZIP_LH_OFF_CSIZE + 1] =
+ buffer1[ZIP_LH_OFF_CSIZE + 2] =
+ buffer1[ZIP_LH_OFF_CSIZE + 3] = 0;
+
+ h->szComp = encrypt ? ZIP_LOCAL_ENC_HEADER_SIZE : 0;
+
+ // uncompressed size [22,23,24,25]
+ setULong(h->szUncomp, buffer1, ZIP_LH_OFF_USIZE);
+
+ // filename length
+ QByteArray entryNameBytes = entryName.toAscii();
+ int sz = entryNameBytes.size();
+
+ buffer1[ZIP_LH_OFF_NAMELEN] = sz & 0xFF;
+ buffer1[ZIP_LH_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF;
+
+ // extra field length
+ buffer1[ZIP_LH_OFF_XLEN] = buffer1[ZIP_LH_OFF_XLEN + 1] = 0;
+
+ // Store offset to write crc and compressed size
+ h->lhOffset = device->pos();
+ quint32 crcOffset = h->lhOffset + ZIP_LH_OFF_CRC;
+
+ if (device->write(buffer1, ZIP_LOCAL_HEADER_SIZE) != ZIP_LOCAL_HEADER_SIZE)
+ {
+ delete h;
+ return Zip::WriteFailed;
+ }
+
+ // Write out filename
+ if (device->write(entryNameBytes) != sz)
+ {
+ delete h;
+ return Zip::WriteFailed;
+ }
+
+ // Encryption keys
+ quint32 keys[3] = { 0, 0, 0 };
+
+ if (encrypt)
+ {
+ // **** encryption header ****
+
+ // XOR with PI to ensure better random numbers
+ // with poorly implemented rand() as suggested by Info-Zip
+ srand(time(NULL) ^ 3141592654UL);
+ int randByte;
+
+ initKeys(keys);
+ for (int i=0; i<10; ++i)
+ {
+ randByte = (rand() >> 7) & 0xff;
+ buffer1[i] = decryptByte(keys[2]) ^ randByte;
+ updateKeys(keys, randByte);
+ }
+
+ // Encrypt encryption header
+ initKeys(keys);
+ for (int i=0; i<10; ++i)
+ {
+ randByte = decryptByte(keys[2]);
+ updateKeys(keys, buffer1[i]);
+ buffer1[i] ^= randByte;
+ }
+
+ // We don't know the CRC at this time, so we use the modification time
+ // as the last two bytes
+ randByte = decryptByte(keys[2]);
+ updateKeys(keys, h->modTime[0]);
+ buffer1[10] ^= randByte;
+
+ randByte = decryptByte(keys[2]);
+ updateKeys(keys, h->modTime[1]);
+ buffer1[11] ^= randByte;
+
+ // Write out encryption header
+ if (device->write(buffer1, ZIP_LOCAL_ENC_HEADER_SIZE) != ZIP_LOCAL_ENC_HEADER_SIZE)
+ {
+ delete h;
+ return Zip::WriteFailed;
+ }
+ }
+
+ qint64 written = 0;
+ quint32 crc = crc32(0L, Z_NULL, 0);
+
+ if (!dirOnly)
+ {
+ QFile actualFile(file.absoluteFilePath());
+ if (!actualFile.open(QIODevice::ReadOnly))
+ {
+ qDebug() << QString("An error occurred while opening %1").arg(file.absoluteFilePath());
+ return Zip::OpenFailed;
+ }
+
+ // Write file data
+ qint64 read = 0;
+ qint64 totRead = 0;
+ qint64 toRead = actualFile.size();
+
+ if (level == Zip::Store)
+ {
+ while ( (read = actualFile.read(buffer1, ZIP_READ_BUFFER)) > 0 )
+ {
+ crc = crc32(crc, uBuffer, read);
+
+ if (password != 0)
+ encryptBytes(keys, buffer1, read);
+
+ if ( (written = device->write(buffer1, read)) != read )
+ {
+ actualFile.close();
+ delete h;
+ return Zip::WriteFailed;
+ }
+ }
+ }
+ else
+ {
+ z_stream zstr;
+
+ // Initialize zalloc, zfree and opaque before calling the init function
+ zstr.zalloc = Z_NULL;
+ zstr.zfree = Z_NULL;
+ zstr.opaque = Z_NULL;
+
+ int zret;
+
+ // Use deflateInit2 with negative windowBits to get raw compression
+ if ((zret = deflateInit2_(
+ &zstr,
+ (int)level,
+ Z_DEFLATED,
+ -MAX_WBITS,
+ 8,
+ isPNGFile ? Z_RLE : Z_DEFAULT_STRATEGY,
+ ZLIB_VERSION,
+ sizeof(z_stream)
+ )) != Z_OK )
+ {
+ actualFile.close();
+ qDebug() << "Could not initialize zlib for compression";
+ delete h;
+ return Zip::ZlibError;
+ }
+
+ qint64 compressed;
+
+ int flush = Z_NO_FLUSH;
+
+ do
+ {
+ read = actualFile.read(buffer1, ZIP_READ_BUFFER);
+ totRead += read;
+
+ if (read == 0)
+ break;
+ if (read < 0)
+ {
+ actualFile.close();
+ deflateEnd(&zstr);
+ qDebug() << QString("Error while reading %1").arg(file.absoluteFilePath());
+ delete h;
+ return Zip::ReadFailed;
+ }
+
+ crc = crc32(crc, uBuffer, read);
+
+ zstr.next_in = (Bytef*) buffer1;
+ zstr.avail_in = (uInt)read;
+
+ // Tell zlib if this is the last chunk we want to encode
+ // by setting the flush parameter to Z_FINISH
+ flush = (totRead == toRead) ? Z_FINISH : Z_NO_FLUSH;
+
+ // Run deflate() on input until output buffer not full
+ // finish compression if all of source has been read in
+ do
+ {
+ zstr.next_out = (Bytef*) buffer2;
+ zstr.avail_out = ZIP_READ_BUFFER;
+
+ zret = deflate(&zstr, flush);
+ // State not clobbered
+ Q_ASSERT(zret != Z_STREAM_ERROR);
+
+ // Write compressed data to file and empty buffer
+ compressed = ZIP_READ_BUFFER - zstr.avail_out;
+
+ if (password != 0)
+ encryptBytes(keys, buffer2, compressed);
+
+ if (device->write(buffer2, compressed) != compressed)
+ {
+ deflateEnd(&zstr);
+ actualFile.close();
+ qDebug() << QString("Error while writing %1").arg(file.absoluteFilePath());
+ delete h;
+ return Zip::WriteFailed;
+ }
+
+ written += compressed;
+
+ } while (zstr.avail_out == 0);
+
+ // All input will be used
+ Q_ASSERT(zstr.avail_in == 0);
+
+ } while (flush != Z_FINISH);
+
+ // Stream will be complete
+ Q_ASSERT(zret == Z_STREAM_END);
+
+ deflateEnd(&zstr);
+
+ } // if (level != STORE)
+
+ actualFile.close();
+ }
+
+ // Store end of entry offset
+ quint32 current = device->pos();
+
+ // Update crc and compressed size in local header
+ if (!device->seek(crcOffset))
+ {
+ delete h;
+ return Zip::SeekFailed;
+ }
+
+ h->crc = dirOnly ? 0 : crc;
+ h->szComp += written;
+
+ setULong(h->crc, buffer1, 0);
+ setULong(h->szComp, buffer1, 4);
+ if ( device->write(buffer1, 8) != 8)
+ {
+ delete h;
+ return Zip::WriteFailed;
+ }
+
+ // Seek to end of entry
+ if (!device->seek(current))
+ {
+ delete h;
+ return Zip::SeekFailed;
+ }
+
+ if ((h->gpFlag[0] & 8) == 8)
+ {
+ // Write data descriptor
+
+ // Signature: PK\7\8
+ buffer1[0] = 'P';
+ buffer1[1] = 'K';
+ buffer1[2] = 0x07;
+ buffer1[3] = 0x08;
+
+ // CRC
+ setULong(h->crc, buffer1, ZIP_DD_OFF_CRC32);
+
+ // Compressed size
+ setULong(h->szComp, buffer1, ZIP_DD_OFF_CSIZE);
+
+ // Uncompressed size
+ setULong(h->szUncomp, buffer1, ZIP_DD_OFF_USIZE);
+
+ if (device->write(buffer1, ZIP_DD_SIZE_WS) != ZIP_DD_SIZE_WS)
+ {
+ delete h;
+ return Zip::WriteFailed;
+ }
+ }
+
+ headers->insert(entryName, h);
+ return Zip::Ok;
+}
+
+//! \internal
+int ZipPrivate::decryptByte(quint32 key2) const
+{
+ quint16 temp = ((quint16)(key2) & 0xffff) | 2;
+ return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
+}
+
+//! \internal Writes an quint32 (4 bytes) to a byte array at given offset.
+void ZipPrivate::setULong(quint32 v, char* buffer, unsigned int offset)
+{
+ buffer[offset+3] = ((v >> 24) & 0xFF);
+ buffer[offset+2] = ((v >> 16) & 0xFF);
+ buffer[offset+1] = ((v >> 8) & 0xFF);
+ buffer[offset] = (v & 0xFF);
+}
+
+//! \internal Initializes decryption keys using a password.
+void ZipPrivate::initKeys(quint32* keys) const
+{
+ // Encryption keys initialization constants are taken from the
+ // PKZip file format specification docs
+ keys[0] = 305419896L;
+ keys[1] = 591751049L;
+ keys[2] = 878082192L;
+
+ QByteArray pwdBytes = password.toAscii();
+ int sz = pwdBytes.size();
+ const char* ascii = pwdBytes.data();
+
+ for (int i=0; i<sz; ++i)
+ updateKeys(keys, (int)ascii[i]);
+}
+
+//! \internal Updates encryption keys.
+void ZipPrivate::updateKeys(quint32* keys, int c) const
+{
+ keys[0] = CRC32(keys[0], c);
+ keys[1] += keys[0] & 0xff;
+ keys[1] = keys[1] * 134775813L + 1;
+ keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24);
+}
+
+//! \internal Encrypts a byte array.
+void ZipPrivate::encryptBytes(quint32* keys, char* buffer, qint64 read)
+{
+ char t;
+
+ for (int i=0; i<(int)read; ++i)
+ {
+ t = buffer[i];
+ buffer[i] ^= decryptByte(keys[2]);
+ updateKeys(keys, t);
+ }
+}
+
+//! \internal Detects the best compression level for a given file extension.
+Zip::CompressionLevel ZipPrivate::detectCompressionByMime(const QString& ext)
+{
+ // files really hard to compress
+ if ((ext == "png") ||
+ (ext == "jpg") ||
+ (ext == "jpeg") ||
+ (ext == "mp3") ||
+ (ext == "ogg") ||
+ (ext == "ogm") ||
+ (ext == "avi") ||
+ (ext == "mov") ||
+ (ext == "rm") ||
+ (ext == "ra") ||
+ (ext == "zip") ||
+ (ext == "rar") ||
+ (ext == "bz2") ||
+ (ext == "gz") ||
+ (ext == "7z") ||
+ (ext == "z") ||
+ (ext == "jar")
+ ) return Zip::Store;
+
+ // files slow and hard to compress
+ if ((ext == "exe") ||
+ (ext == "bin") ||
+ (ext == "rpm") ||
+ (ext == "deb")
+ ) return Zip::Deflate2;
+
+ return Zip::Deflate9;
+}
+
+/*!
+ Closes the current archive and writes out pending data.
+*/
+Zip::ErrorCode ZipPrivate::closeArchive()
+{
+ // Close current archive by writing out central directory
+ // and free up resources
+
+ if (device == 0)
+ return Zip::Ok;
+
+ if (headers == 0)
+ return Zip::Ok;
+
+ const ZipEntryP* h;
+
+ unsigned int sz;
+ quint32 szCentralDir = 0;
+ quint32 offCentralDir = device->pos();
+
+ for (QMap<QString,ZipEntryP*>::ConstIterator itr = headers->constBegin(); itr != headers->constEnd(); ++itr)
+ {
+ h = itr.value();
+
+ // signature
+ buffer1[0] = 'P';
+ buffer1[1] = 'K';
+ buffer1[2] = 0x01;
+ buffer1[3] = 0x02;
+
+ // version made by (currently only MS-DOS/FAT - no symlinks or other stuff supported)
+ buffer1[ZIP_CD_OFF_MADEBY] = buffer1[ZIP_CD_OFF_MADEBY + 1] = 0;
+
+ // version needed to extract
+ buffer1[ZIP_CD_OFF_VERSION] = ZIP_VERSION;
+ buffer1[ZIP_CD_OFF_VERSION + 1] = 0;
+
+ // general purpose flag
+ buffer1[ZIP_CD_OFF_GPFLAG] = h->gpFlag[0];
+ buffer1[ZIP_CD_OFF_GPFLAG + 1] = h->gpFlag[1];
+
+ // compression method
+ buffer1[ZIP_CD_OFF_CMET] = h->compMethod & 0xFF;
+ buffer1[ZIP_CD_OFF_CMET + 1] = (h->compMethod >> 8) & 0xFF;
+
+ // last mod file time
+ buffer1[ZIP_CD_OFF_MODT] = h->modTime[0];
+ buffer1[ZIP_CD_OFF_MODT + 1] = h->modTime[1];
+
+ // last mod file date
+ buffer1[ZIP_CD_OFF_MODD] = h->modDate[0];
+ buffer1[ZIP_CD_OFF_MODD + 1] = h->modDate[1];
+
+ // crc (4bytes) [16,17,18,19]
+ setULong(h->crc, buffer1, ZIP_CD_OFF_CRC);
+
+ // compressed size (4bytes: [20,21,22,23])
+ setULong(h->szComp, buffer1, ZIP_CD_OFF_CSIZE);
+
+ // uncompressed size [24,25,26,27]
+ setULong(h->szUncomp, buffer1, ZIP_CD_OFF_USIZE);
+
+ // filename
+ QByteArray fileNameBytes = itr.key().toAscii();
+ sz = fileNameBytes.size();
+ buffer1[ZIP_CD_OFF_NAMELEN] = sz & 0xFF;
+ buffer1[ZIP_CD_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF;
+
+ // extra field length
+ buffer1[ZIP_CD_OFF_XLEN] = buffer1[ZIP_CD_OFF_XLEN + 1] = 0;
+
+ // file comment length
+ buffer1[ZIP_CD_OFF_COMMLEN] = buffer1[ZIP_CD_OFF_COMMLEN + 1] = 0;
+
+ // disk number start
+ buffer1[ZIP_CD_OFF_DISKSTART] = buffer1[ZIP_CD_OFF_DISKSTART + 1] = 0;
+
+ // internal file attributes
+ buffer1[ZIP_CD_OFF_IATTR] = buffer1[ZIP_CD_OFF_IATTR + 1] = 0;
+
+ // external file attributes
+ buffer1[ZIP_CD_OFF_EATTR] =
+ buffer1[ZIP_CD_OFF_EATTR + 1] =
+ buffer1[ZIP_CD_OFF_EATTR + 2] =
+ buffer1[ZIP_CD_OFF_EATTR + 3] = 0;
+
+ // relative offset of local header [42->45]
+ setULong(h->lhOffset, buffer1, ZIP_CD_OFF_LHOFF);
+
+ if (device->write(buffer1, ZIP_CD_SIZE) != ZIP_CD_SIZE)
+ {
+ //! \todo See if we can detect QFile objects using the Qt Meta Object System
+ /*
+ if (!device->remove())
+ qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
+ */
+ return Zip::WriteFailed;
+ }
+
+ // Write out filename
+ if ((unsigned int)device->write(fileNameBytes) != sz)
+ {
+ //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
+ /*
+ if (!device->remove())
+ qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
+ */
+ return Zip::WriteFailed;
+ }
+
+ szCentralDir += (ZIP_CD_SIZE + sz);
+
+ } // central dir headers loop
+
+
+ // Write end of central directory
+
+ // signature
+ buffer1[0] = 'P';
+ buffer1[1] = 'K';
+ buffer1[2] = 0x05;
+ buffer1[3] = 0x06;
+
+ // number of this disk
+ buffer1[ZIP_EOCD_OFF_DISKNUM] = buffer1[ZIP_EOCD_OFF_DISKNUM + 1] = 0;
+
+ // number of disk with central directory
+ buffer1[ZIP_EOCD_OFF_CDDISKNUM] = buffer1[ZIP_EOCD_OFF_CDDISKNUM + 1] = 0;
+
+ // number of entries in this disk
+ sz = headers->count();
+ buffer1[ZIP_EOCD_OFF_ENTRIES] = sz & 0xFF;
+ buffer1[ZIP_EOCD_OFF_ENTRIES + 1] = (sz >> 8) & 0xFF;
+
+ // total number of entries
+ buffer1[ZIP_EOCD_OFF_CDENTRIES] = buffer1[ZIP_EOCD_OFF_ENTRIES];
+ buffer1[ZIP_EOCD_OFF_CDENTRIES + 1] = buffer1[ZIP_EOCD_OFF_ENTRIES + 1];
+
+ // size of central directory [12->15]
+ setULong(szCentralDir, buffer1, ZIP_EOCD_OFF_CDSIZE);
+
+ // central dir offset [16->19]
+ setULong(offCentralDir, buffer1, ZIP_EOCD_OFF_CDOFF);
+
+ // ZIP file comment length
+ QByteArray commentBytes = comment.toAscii();
+ quint16 commentLength = commentBytes.size();
+
+ if (commentLength == 0)
+ {
+ buffer1[ZIP_EOCD_OFF_COMMLEN] = buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = 0;
+ }
+ else
+ {
+ buffer1[ZIP_EOCD_OFF_COMMLEN] = commentLength & 0xFF;
+ buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = (commentLength >> 8) & 0xFF;
+ }
+
+ if (device->write(buffer1, ZIP_EOCD_SIZE) != ZIP_EOCD_SIZE)
+ {
+ //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
+ /*
+ if (!device->remove())
+ qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
+ */
+ return Zip::WriteFailed;
+ }
+
+ if (commentLength != 0)
+ {
+ if ((unsigned int)device->write(commentBytes) != commentLength)
+ {
+ //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
+ /*
+ if (!device->remove())
+ qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
+ */
+ return Zip::WriteFailed;
+ }
+ }
+
+ return Zip::Ok;
+}
+
+//! \internal
+void ZipPrivate::reset()
+{
+ comment.clear();
+
+ if (headers != 0)
+ {
+ qDeleteAll(*headers);
+ delete headers;
+ headers = 0;
+ }
+
+ delete device; device = 0;
+}
+
+//! \internal Returns the path of the parent directory
+QString ZipPrivate::extractRoot(const QString& p)
+{
+ QDir d(QDir::cleanPath(p));
+ if (!d.exists())
+ return QString();
+
+ if (!d.cdUp())
+ return QString();
+
+ return d.absolutePath();
+}
diff --git a/rbutil/rbutilqt/zip/zip.h b/rbutil/rbutilqt/zip/zip.h
index 44fdd08b5f..8f82f1738a 100644
--- a/rbutil/rbutilqt/zip/zip.h
+++ b/rbutil/rbutilqt/zip/zip.h
@@ -1,115 +1,115 @@
-/****************************************************************************
-** Filename: zip.h
-** Last updated [dd/mm/yyyy]: 01/02/2007
-**
-** pkzip 2.0 file compression.
-**
-** Some of the code has been inspired by other open source projects,
-** (mainly Info-Zip and Gilles Vollant's minizip).
-** Compression and decompression actually uses the zlib library.
-**
-** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
-**
-** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See the file LICENSE.GPL that came with this software distribution or
-** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
-**
-**********************************************************************/
-
-#ifndef OSDAB_ZIP__H
-#define OSDAB_ZIP__H
-
-#include <QtGlobal>
-#include <QMap>
-
-#include <zlib/zlib.h>
-
-class ZipPrivate;
-
-class QIODevice;
-class QFile;
-class QDir;
-class QStringList;
-class QString;
-
-
-class Zip
-{
-public:
- enum ErrorCode
- {
- Ok,
- ZlibInit,
- ZlibError,
- FileExists,
- OpenFailed,
- NoOpenArchive,
- FileNotFound,
- ReadFailed,
- WriteFailed,
- SeekFailed
- };
-
- enum CompressionLevel
- {
- Store,
- Deflate1 = 1, Deflate2, Deflate3, Deflate4,
- Deflate5, Deflate6, Deflate7, Deflate8, Deflate9,
- AutoCPU, AutoMIME, AutoFull
- };
-
- enum CompressionOption
- {
- //! Does not preserve absolute paths in the zip file when adding a file/directory (default)
- RelativePaths = 0x0001,
- //! Preserve absolute paths
- AbsolutePaths = 0x0002,
- //! Do not store paths. All the files are put in the (evtl. user defined) root of the zip file
- IgnorePaths = 0x0004
- };
- Q_DECLARE_FLAGS(CompressionOptions, CompressionOption)
-
- Zip();
- virtual ~Zip();
-
- bool isOpen() const;
-
- void setPassword(const QString& pwd);
- void clearPassword();
- QString password() const;
-
- ErrorCode createArchive(const QString& file, bool overwrite = true);
- ErrorCode createArchive(QIODevice* device);
-
- QString archiveComment() const;
- void setArchiveComment(const QString& comment);
-
- ErrorCode addDirectoryContents(const QString& path, CompressionLevel level = AutoFull);
- ErrorCode addDirectoryContents(const QString& path, const QString& root, CompressionLevel level = AutoFull);
-
- ErrorCode addDirectory(const QString& path, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull);
- ErrorCode addDirectory(const QString& path, const QString& root, CompressionLevel level = AutoFull);
- ErrorCode addDirectory(const QString& path, const QString& root, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull);
-
- ErrorCode closeArchive();
-
- QString formatError(ErrorCode c) const;
-
- virtual void progress() {}
-
-private:
- ZipPrivate* d;
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(Zip::CompressionOptions)
-
-#endif // OSDAB_ZIP__H
+/****************************************************************************
+** Filename: zip.h
+** Last updated [dd/mm/yyyy]: 01/02/2007
+**
+** pkzip 2.0 file compression.
+**
+** Some of the code has been inspired by other open source projects,
+** (mainly Info-Zip and Gilles Vollant's minizip).
+** Compression and decompression actually uses the zlib library.
+**
+** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
+**
+** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See the file LICENSE.GPL that came with this software distribution or
+** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
+**
+**********************************************************************/
+
+#ifndef OSDAB_ZIP__H
+#define OSDAB_ZIP__H
+
+#include <QtGlobal>
+#include <QMap>
+
+#include <zlib/zlib.h>
+
+class ZipPrivate;
+
+class QIODevice;
+class QFile;
+class QDir;
+class QStringList;
+class QString;
+
+
+class Zip
+{
+public:
+ enum ErrorCode
+ {
+ Ok,
+ ZlibInit,
+ ZlibError,
+ FileExists,
+ OpenFailed,
+ NoOpenArchive,
+ FileNotFound,
+ ReadFailed,
+ WriteFailed,
+ SeekFailed
+ };
+
+ enum CompressionLevel
+ {
+ Store,
+ Deflate1 = 1, Deflate2, Deflate3, Deflate4,
+ Deflate5, Deflate6, Deflate7, Deflate8, Deflate9,
+ AutoCPU, AutoMIME, AutoFull
+ };
+
+ enum CompressionOption
+ {
+ //! Does not preserve absolute paths in the zip file when adding a file/directory (default)
+ RelativePaths = 0x0001,
+ //! Preserve absolute paths
+ AbsolutePaths = 0x0002,
+ //! Do not store paths. All the files are put in the (evtl. user defined) root of the zip file
+ IgnorePaths = 0x0004
+ };
+ Q_DECLARE_FLAGS(CompressionOptions, CompressionOption)
+
+ Zip();
+ virtual ~Zip();
+
+ bool isOpen() const;
+
+ void setPassword(const QString& pwd);
+ void clearPassword();
+ QString password() const;
+
+ ErrorCode createArchive(const QString& file, bool overwrite = true);
+ ErrorCode createArchive(QIODevice* device);
+
+ QString archiveComment() const;
+ void setArchiveComment(const QString& comment);
+
+ ErrorCode addDirectoryContents(const QString& path, CompressionLevel level = AutoFull);
+ ErrorCode addDirectoryContents(const QString& path, const QString& root, CompressionLevel level = AutoFull);
+
+ ErrorCode addDirectory(const QString& path, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull);
+ ErrorCode addDirectory(const QString& path, const QString& root, CompressionLevel level = AutoFull);
+ ErrorCode addDirectory(const QString& path, const QString& root, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull);
+
+ ErrorCode closeArchive();
+
+ QString formatError(ErrorCode c) const;
+
+ virtual void progress() {}
+
+private:
+ ZipPrivate* d;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(Zip::CompressionOptions)
+
+#endif // OSDAB_ZIP__H
diff --git a/rbutil/rbutilqt/zip/zip_p.h b/rbutil/rbutilqt/zip/zip_p.h
index b3c45ac7b8..8c57f99225 100644
--- a/rbutil/rbutilqt/zip/zip_p.h
+++ b/rbutil/rbutilqt/zip/zip_p.h
@@ -1,93 +1,93 @@
-/****************************************************************************
-** Filename: zip_p.h
-** Last updated [dd/mm/yyyy]: 28/01/2007
-**
-** pkzip 2.0 file compression.
-**
-** Some of the code has been inspired by other open source projects,
-** (mainly Info-Zip and Gilles Vollant's minizip).
-** Compression and decompression actually uses the zlib library.
-**
-** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
-**
-** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See the file LICENSE.GPL that came with this software distribution or
-** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
-**
-**********************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Zip/UnZip API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef OSDAB_ZIP_P__H
-#define OSDAB_ZIP_P__H
-
-#include "zip.h"
-#include "zipentry_p.h"
-
-#include <QtGlobal>
-#include <QFileInfo>
-
-/*!
- zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate())
- we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;)
-*/
-#define ZIP_READ_BUFFER (256*1024)
-
-class ZipPrivate
-{
-public:
- ZipPrivate();
- virtual ~ZipPrivate();
-
- QMap<QString,ZipEntryP*>* headers;
-
- QIODevice* device;
-
- char buffer1[ZIP_READ_BUFFER];
- char buffer2[ZIP_READ_BUFFER];
-
- unsigned char* uBuffer;
-
- const quint32* crcTable;
-
- QString comment;
- QString password;
-
- Zip::ErrorCode createArchive(QIODevice* device);
- Zip::ErrorCode closeArchive();
- void reset();
-
- bool zLibInit();
-
- Zip::ErrorCode createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level);
- Zip::CompressionLevel detectCompressionByMime(const QString& ext);
-
- inline void encryptBytes(quint32* keys, char* buffer, qint64 read);
-
- inline void setULong(quint32 v, char* buffer, unsigned int offset);
- inline void updateKeys(quint32* keys, int c) const;
- inline void initKeys(quint32* keys) const;
- inline int decryptByte(quint32 key2) const;
-
- inline QString extractRoot(const QString& p);
-};
-
-#endif // OSDAB_ZIP_P__H
+/****************************************************************************
+** Filename: zip_p.h
+** Last updated [dd/mm/yyyy]: 28/01/2007
+**
+** pkzip 2.0 file compression.
+**
+** Some of the code has been inspired by other open source projects,
+** (mainly Info-Zip and Gilles Vollant's minizip).
+** Compression and decompression actually uses the zlib library.
+**
+** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
+**
+** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See the file LICENSE.GPL that came with this software distribution or
+** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
+**
+**********************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Zip/UnZip API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef OSDAB_ZIP_P__H
+#define OSDAB_ZIP_P__H
+
+#include "zip.h"
+#include "zipentry_p.h"
+
+#include <QtGlobal>
+#include <QFileInfo>
+
+/*!
+ zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate())
+ we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;)
+*/
+#define ZIP_READ_BUFFER (256*1024)
+
+class ZipPrivate
+{
+public:
+ ZipPrivate();
+ virtual ~ZipPrivate();
+
+ QMap<QString,ZipEntryP*>* headers;
+
+ QIODevice* device;
+
+ char buffer1[ZIP_READ_BUFFER];
+ char buffer2[ZIP_READ_BUFFER];
+
+ unsigned char* uBuffer;
+
+ const quint32* crcTable;
+
+ QString comment;
+ QString password;
+
+ Zip::ErrorCode createArchive(QIODevice* device);
+ Zip::ErrorCode closeArchive();
+ void reset();
+
+ bool zLibInit();
+
+ Zip::ErrorCode createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level);
+ Zip::CompressionLevel detectCompressionByMime(const QString& ext);
+
+ inline void encryptBytes(quint32* keys, char* buffer, qint64 read);
+
+ inline void setULong(quint32 v, char* buffer, unsigned int offset);
+ inline void updateKeys(quint32* keys, int c) const;
+ inline void initKeys(quint32* keys) const;
+ inline int decryptByte(quint32 key2) const;
+
+ inline QString extractRoot(const QString& p);
+};
+
+#endif // OSDAB_ZIP_P__H
diff --git a/rbutil/rbutilqt/zip/zipentry_p.h b/rbutil/rbutilqt/zip/zipentry_p.h
index a201d0ac6e..dfdcf174d0 100644
--- a/rbutil/rbutilqt/zip/zipentry_p.h
+++ b/rbutil/rbutilqt/zip/zipentry_p.h
@@ -1,78 +1,78 @@
-/****************************************************************************
-** Filename: ZipEntryP.h
-** Last updated [dd/mm/yyyy]: 28/01/2007
-**
-** Wrapper for a ZIP local header.
-**
-** Some of the code has been inspired by other open source projects,
-** (mainly Info-Zip and Gilles Vollant's minizip).
-** Compression and decompression actually uses the zlib library.
-**
-** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
-**
-** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See the file LICENSE.GPL that came with this software distribution or
-** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
-**
-**********************************************************************/
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Zip/UnZip API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#ifndef OSDAB_ZIPENTRY_P__H
-#define OSDAB_ZIPENTRY_P__H
-
-#include <QtGlobal>
-#include <QString>
-
-class ZipEntryP
-{
-public:
- ZipEntryP()
- {
- lhOffset = 0;
- dataOffset = 0;
- gpFlag[0] = gpFlag[1] = 0;
- compMethod = 0;
- modTime[0] = modTime[1] = 0;
- modDate[0] = modDate[1] = 0;
- crc = 0;
- szComp = szUncomp = 0;
- lhEntryChecked = false;
- }
-
- quint32 lhOffset; // Offset of the local header record for this entry
- quint32 dataOffset; // Offset of the file data for this entry
- unsigned char gpFlag[2]; // General purpose flag
- quint16 compMethod; // Compression method
- unsigned char modTime[2]; // Last modified time
- unsigned char modDate[2]; // Last modified date
- quint32 crc; // CRC32
- quint32 szComp; // Compressed file size
- quint32 szUncomp; // Uncompressed file size
- QString comment; // File comment
-
- bool lhEntryChecked; // Is true if the local header record for this entry has been parsed
-
- inline bool isEncrypted() const { return gpFlag[0] & 0x01; }
- inline bool hasDataDescriptor() const { return gpFlag[0] & 0x08; }
-};
-
-#endif // OSDAB_ZIPENTRY_P__H
+/****************************************************************************
+** Filename: ZipEntryP.h
+** Last updated [dd/mm/yyyy]: 28/01/2007
+**
+** Wrapper for a ZIP local header.
+**
+** Some of the code has been inspired by other open source projects,
+** (mainly Info-Zip and Gilles Vollant's minizip).
+** Compression and decompression actually uses the zlib library.
+**
+** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
+**
+** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See the file LICENSE.GPL that came with this software distribution or
+** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
+**
+**********************************************************************/
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Zip/UnZip API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#ifndef OSDAB_ZIPENTRY_P__H
+#define OSDAB_ZIPENTRY_P__H
+
+#include <QtGlobal>
+#include <QString>
+
+class ZipEntryP
+{
+public:
+ ZipEntryP()
+ {
+ lhOffset = 0;
+ dataOffset = 0;
+ gpFlag[0] = gpFlag[1] = 0;
+ compMethod = 0;
+ modTime[0] = modTime[1] = 0;
+ modDate[0] = modDate[1] = 0;
+ crc = 0;
+ szComp = szUncomp = 0;
+ lhEntryChecked = false;
+ }
+
+ quint32 lhOffset; // Offset of the local header record for this entry
+ quint32 dataOffset; // Offset of the file data for this entry
+ unsigned char gpFlag[2]; // General purpose flag
+ quint16 compMethod; // Compression method
+ unsigned char modTime[2]; // Last modified time
+ unsigned char modDate[2]; // Last modified date
+ quint32 crc; // CRC32
+ quint32 szComp; // Compressed file size
+ quint32 szUncomp; // Uncompressed file size
+ QString comment; // File comment
+
+ bool lhEntryChecked; // Is true if the local header record for this entry has been parsed
+
+ inline bool isEncrypted() const { return gpFlag[0] & 0x01; }
+ inline bool hasDataDescriptor() const { return gpFlag[0] & 0x08; }
+};
+
+#endif // OSDAB_ZIPENTRY_P__H
diff --git a/rbutil/rbutilqt/zlib/zconf.h b/rbutil/rbutilqt/zlib/zconf.h
index b849dbb63c..3c21403fce 100644
--- a/rbutil/rbutilqt/zlib/zconf.h
+++ b/rbutil/rbutilqt/zlib/zconf.h
@@ -1,326 +1,326 @@
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2004 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef ZCONF_H
-#define ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- */
-#ifdef Z_PREFIX
-# define deflateInit_ z_deflateInit_
-# define deflate z_deflate
-# define deflateEnd z_deflateEnd
-# define inflateInit_ z_inflateInit_
-# define inflate z_inflate
-# define inflateEnd z_inflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateCopy z_deflateCopy
-# define deflateReset z_deflateReset
-# define deflateParams z_deflateParams
-# define deflateBound z_deflateBound
-# define deflatePrime z_deflatePrime
-# define inflateInit2_ z_inflateInit2_
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateSyncPoint z_inflateSyncPoint
-# define inflateCopy z_inflateCopy
-# define inflateReset z_inflateReset
-# define inflateBack z_inflateBack
-# define inflateBackEnd z_inflateBackEnd
-# define compress z_compress
-# define compress2 z_compress2
-# define compressBound z_compressBound
-# define uncompress z_uncompress
-# define adler32 z_adler32
-# define crc32 z_crc32
-# define get_crc_table z_get_crc_table
-# define zError z_zError
-
-# define Byte z_Byte
-# define uInt z_uInt
-# define uLong z_uLong
-# define Bytef z_Bytef
-# define charf z_charf
-# define intf z_intf
-# define uIntf z_uIntf
-# define uLongf z_uLongf
-# define voidpf z_voidpf
-# define voidp z_voidp
-#endif
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
-# define OS2
-#endif
-#if defined(_WINDOWS) && !defined(WINDOWS)
-# define WINDOWS
-#endif
-#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
-# define WIN32
-#endif
-#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
-# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
-# ifndef SYS16BIT
-# define SYS16BIT
-# endif
-# endif
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#ifdef SYS16BIT
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#ifdef __STDC_VERSION__
-# ifndef STDC
-# define STDC
-# endif
-# if __STDC_VERSION__ >= 199901L
-# ifndef STDC99
-# define STDC99
-# endif
-# endif
-#endif
-#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
-# define STDC
-#endif
-
-#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
-# define STDC
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const /* note: need a more gentle solution here */
-# endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- (1 << (windowBits+2)) + (1 << (memLevel+9))
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#ifdef SYS16BIT
-# if defined(M_I86SM) || defined(M_I86MM)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-# if (defined(__SMALL__) || defined(__MEDIUM__))
- /* Turbo C small or medium model */
-# define SMALL_MEDIUM
-# ifdef __BORLANDC__
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-#endif
-
-#if defined(WINDOWS) || defined(WIN32)
- /* If building or using zlib as a DLL, define ZLIB_DLL.
- * This is not mandatory, but it offers a little performance increase.
- */
-# ifdef ZLIB_DLL
-# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
-# ifdef ZLIB_INTERNAL
-# define ZEXTERN extern __declspec(dllexport)
-# else
-# define ZEXTERN extern __declspec(dllimport)
-# endif
-# endif
-# endif /* ZLIB_DLL */
- /* If building or using zlib with the WINAPI/WINAPIV calling convention,
- * define ZLIB_WINAPI.
- * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
- */
-# ifdef ZLIB_WINAPI
-# ifdef FAR
-# undef FAR
-# endif
-# include <windows.h>
- /* No need for _export, use ZLIB.DEF instead. */
- /* For complete Windows compatibility, use WINAPI, not __stdcall. */
-# define ZEXPORT WINAPI
-# ifdef WIN32
-# define ZEXPORTVA WINAPIV
-# else
-# define ZEXPORTVA FAR CDECL
-# endif
-# endif
-#endif
-
-#if defined (__BEOS__)
-# ifdef ZLIB_DLL
-# ifdef ZLIB_INTERNAL
-# define ZEXPORT __declspec(dllexport)
-# define ZEXPORTVA __declspec(dllexport)
-# else
-# define ZEXPORT __declspec(dllimport)
-# define ZEXPORTVA __declspec(dllimport)
-# endif
-# endif
-#endif
-
-#ifndef ZEXTERN
-# define ZEXTERN extern
-#endif
-#ifndef ZEXPORT
-# define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-# define ZEXPORTVA
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-#if !defined(__MACTYPES__)
-typedef unsigned char Byte; /* 8 bits */
-#endif
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
- /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void const *voidpc;
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte const *voidpc;
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
-# include <sys/types.h> /* for off_t */
-# include <unistd.h> /* for SEEK_* and off_t */
-# ifdef VMS
-# include <unixio.h> /* for off_t */
-# endif
-# define z_off_t off_t
-#endif
-#ifndef SEEK_SET
-# define SEEK_SET 0 /* Seek from beginning of file. */
-# define SEEK_CUR 1 /* Seek from current position. */
-# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
-#endif
-#ifndef z_off_t
-# define z_off_t long
-#endif
-
-#if defined(__OS400__)
-# define NO_vsnprintf
-#endif
-
-#if defined(__MVS__)
-# define NO_vsnprintf
-# ifdef FAR
-# undef FAR
-# endif
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
-# pragma map(deflateInit_,"DEIN")
-# pragma map(deflateInit2_,"DEIN2")
-# pragma map(deflateEnd,"DEEND")
-# pragma map(deflateBound,"DEBND")
-# pragma map(inflateInit_,"ININ")
-# pragma map(inflateInit2_,"ININ2")
-# pragma map(inflateEnd,"INEND")
-# pragma map(inflateSync,"INSY")
-# pragma map(inflateSetDictionary,"INSEDI")
-# pragma map(compressBound,"CMBND")
-# pragma map(inflate_table,"INTABL")
-# pragma map(inflate_fast,"INFA")
-# pragma map(inflate_copyright,"INCOPY")
-#endif
-
-#endif /* ZCONF_H */
+/* zconf.h -- configuration of the zlib compression library
+ * Copyright (C) 1995-2004 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#ifndef ZCONF_H
+#define ZCONF_H
+
+/*
+ * If you *really* need a unique prefix for all types and library functions,
+ * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
+ */
+#ifdef Z_PREFIX
+# define deflateInit_ z_deflateInit_
+# define deflate z_deflate
+# define deflateEnd z_deflateEnd
+# define inflateInit_ z_inflateInit_
+# define inflate z_inflate
+# define inflateEnd z_inflateEnd
+# define deflateInit2_ z_deflateInit2_
+# define deflateSetDictionary z_deflateSetDictionary
+# define deflateCopy z_deflateCopy
+# define deflateReset z_deflateReset
+# define deflateParams z_deflateParams
+# define deflateBound z_deflateBound
+# define deflatePrime z_deflatePrime
+# define inflateInit2_ z_inflateInit2_
+# define inflateSetDictionary z_inflateSetDictionary
+# define inflateSync z_inflateSync
+# define inflateSyncPoint z_inflateSyncPoint
+# define inflateCopy z_inflateCopy
+# define inflateReset z_inflateReset
+# define inflateBack z_inflateBack
+# define inflateBackEnd z_inflateBackEnd
+# define compress z_compress
+# define compress2 z_compress2
+# define compressBound z_compressBound
+# define uncompress z_uncompress
+# define adler32 z_adler32
+# define crc32 z_crc32
+# define get_crc_table z_get_crc_table
+# define zError z_zError
+
+# define Byte z_Byte
+# define uInt z_uInt
+# define uLong z_uLong
+# define Bytef z_Bytef
+# define charf z_charf
+# define intf z_intf
+# define uIntf z_uIntf
+# define uLongf z_uLongf
+# define voidpf z_voidpf
+# define voidp z_voidp
+#endif
+
+#if defined(__MSDOS__) && !defined(MSDOS)
+# define MSDOS
+#endif
+#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
+# define OS2
+#endif
+#if defined(_WINDOWS) && !defined(WINDOWS)
+# define WINDOWS
+#endif
+#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
+# define WIN32
+#endif
+#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
+# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
+# ifndef SYS16BIT
+# define SYS16BIT
+# endif
+# endif
+#endif
+
+/*
+ * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
+ * than 64k bytes at a time (needed on systems with 16-bit int).
+ */
+#ifdef SYS16BIT
+# define MAXSEG_64K
+#endif
+#ifdef MSDOS
+# define UNALIGNED_OK
+#endif
+
+#ifdef __STDC_VERSION__
+# ifndef STDC
+# define STDC
+# endif
+# if __STDC_VERSION__ >= 199901L
+# ifndef STDC99
+# define STDC99
+# endif
+# endif
+#endif
+#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
+# define STDC
+#endif
+
+#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
+# define STDC
+#endif
+
+#ifndef STDC
+# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
+# define const /* note: need a more gentle solution here */
+# endif
+#endif
+
+/* Some Mac compilers merge all .h files incorrectly: */
+#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
+# define NO_DUMMY_DECL
+#endif
+
+/* Maximum value for memLevel in deflateInit2 */
+#ifndef MAX_MEM_LEVEL
+# ifdef MAXSEG_64K
+# define MAX_MEM_LEVEL 8
+# else
+# define MAX_MEM_LEVEL 9
+# endif
+#endif
+
+/* Maximum value for windowBits in deflateInit2 and inflateInit2.
+ * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
+ * created by gzip. (Files created by minigzip can still be extracted by
+ * gzip.)
+ */
+#ifndef MAX_WBITS
+# define MAX_WBITS 15 /* 32K LZ77 window */
+#endif
+
+/* The memory requirements for deflate are (in bytes):
+ (1 << (windowBits+2)) + (1 << (memLevel+9))
+ that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
+ plus a few kilobytes for small objects. For example, if you want to reduce
+ the default memory requirements from 256K to 128K, compile with
+ make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
+ Of course this will generally degrade compression (there's no free lunch).
+
+ The memory requirements for inflate are (in bytes) 1 << windowBits
+ that is, 32K for windowBits=15 (default value) plus a few kilobytes
+ for small objects.
+*/
+
+ /* Type declarations */
+
+#ifndef OF /* function prototypes */
+# ifdef STDC
+# define OF(args) args
+# else
+# define OF(args) ()
+# endif
+#endif
+
+/* The following definitions for FAR are needed only for MSDOS mixed
+ * model programming (small or medium model with some far allocations).
+ * This was tested only with MSC; for other MSDOS compilers you may have
+ * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
+ * just define FAR to be empty.
+ */
+#ifdef SYS16BIT
+# if defined(M_I86SM) || defined(M_I86MM)
+ /* MSC small or medium model */
+# define SMALL_MEDIUM
+# ifdef _MSC_VER
+# define FAR _far
+# else
+# define FAR far
+# endif
+# endif
+# if (defined(__SMALL__) || defined(__MEDIUM__))
+ /* Turbo C small or medium model */
+# define SMALL_MEDIUM
+# ifdef __BORLANDC__
+# define FAR _far
+# else
+# define FAR far
+# endif
+# endif
+#endif
+
+#if defined(WINDOWS) || defined(WIN32)
+ /* If building or using zlib as a DLL, define ZLIB_DLL.
+ * This is not mandatory, but it offers a little performance increase.
+ */
+# ifdef ZLIB_DLL
+# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
+# ifdef ZLIB_INTERNAL
+# define ZEXTERN extern __declspec(dllexport)
+# else
+# define ZEXTERN extern __declspec(dllimport)
+# endif
+# endif
+# endif /* ZLIB_DLL */
+ /* If building or using zlib with the WINAPI/WINAPIV calling convention,
+ * define ZLIB_WINAPI.
+ * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
+ */
+# ifdef ZLIB_WINAPI
+# ifdef FAR
+# undef FAR
+# endif
+# include <windows.h>
+ /* No need for _export, use ZLIB.DEF instead. */
+ /* For complete Windows compatibility, use WINAPI, not __stdcall. */
+# define ZEXPORT WINAPI
+# ifdef WIN32
+# define ZEXPORTVA WINAPIV
+# else
+# define ZEXPORTVA FAR CDECL
+# endif
+# endif
+#endif
+
+#if defined (__BEOS__)
+# ifdef ZLIB_DLL
+# ifdef ZLIB_INTERNAL
+# define ZEXPORT __declspec(dllexport)
+# define ZEXPORTVA __declspec(dllexport)
+# else
+# define ZEXPORT __declspec(dllimport)
+# define ZEXPORTVA __declspec(dllimport)
+# endif
+# endif
+#endif
+
+#ifndef ZEXTERN
+# define ZEXTERN extern
+#endif
+#ifndef ZEXPORT
+# define ZEXPORT
+#endif
+#ifndef ZEXPORTVA
+# define ZEXPORTVA
+#endif
+
+#ifndef FAR
+# define FAR
+#endif
+
+#if !defined(__MACTYPES__)
+typedef unsigned char Byte; /* 8 bits */
+#endif
+typedef unsigned int uInt; /* 16 bits or more */
+typedef unsigned long uLong; /* 32 bits or more */
+
+#ifdef SMALL_MEDIUM
+ /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
+# define Bytef Byte FAR
+#else
+ typedef Byte FAR Bytef;
+#endif
+typedef char FAR charf;
+typedef int FAR intf;
+typedef uInt FAR uIntf;
+typedef uLong FAR uLongf;
+
+#ifdef STDC
+ typedef void const *voidpc;
+ typedef void FAR *voidpf;
+ typedef void *voidp;
+#else
+ typedef Byte const *voidpc;
+ typedef Byte FAR *voidpf;
+ typedef Byte *voidp;
+#endif
+
+#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
+# include <sys/types.h> /* for off_t */
+# include <unistd.h> /* for SEEK_* and off_t */
+# ifdef VMS
+# include <unixio.h> /* for off_t */
+# endif
+# define z_off_t off_t
+#endif
+#ifndef SEEK_SET
+# define SEEK_SET 0 /* Seek from beginning of file. */
+# define SEEK_CUR 1 /* Seek from current position. */
+# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
+#endif
+#ifndef z_off_t
+# define z_off_t long
+#endif
+
+#if defined(__OS400__)
+# define NO_vsnprintf
+#endif
+
+#if defined(__MVS__)
+# define NO_vsnprintf
+# ifdef FAR
+# undef FAR
+# endif
+#endif
+
+/* MVS linker does not support external names larger than 8 bytes */
+#if defined(__MVS__)
+# pragma map(deflateInit_,"DEIN")
+# pragma map(deflateInit2_,"DEIN2")
+# pragma map(deflateEnd,"DEEND")
+# pragma map(deflateBound,"DEBND")
+# pragma map(inflateInit_,"ININ")
+# pragma map(inflateInit2_,"ININ2")
+# pragma map(inflateEnd,"INEND")
+# pragma map(inflateSync,"INSY")
+# pragma map(inflateSetDictionary,"INSEDI")
+# pragma map(compressBound,"CMBND")
+# pragma map(inflate_table,"INTABL")
+# pragma map(inflate_fast,"INFA")
+# pragma map(inflate_copyright,"INCOPY")
+#endif
+
+#endif /* ZCONF_H */
diff --git a/rbutil/rbutilqt/zlib/zlib.h b/rbutil/rbutilqt/zlib/zlib.h
index e067b127bf..b4ddd34395 100644
--- a/rbutil/rbutilqt/zlib/zlib.h
+++ b/rbutil/rbutilqt/zlib/zlib.h
@@ -1,1200 +1,1200 @@
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.2.2, October 3rd, 2004
-
- Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef ZLIB_H
-#define ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.2.2"
-#define ZLIB_VERNUM 0x1220
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms will be added later and will have the same
- stream interface.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The compressed data format used by default by the in-memory functions is
- the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
- around a deflate stream, which is itself documented in RFC 1951.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio using the functions that start
- with "gz". The gzip format is different from the zlib format. gzip is a
- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
-
- This library can optionally read and write gzip streams in memory as well.
-
- The zlib format was designed to be compact and fast for use in memory
- and on communications channels. The gzip format was designed for single-
- file compression on file systems, has a larger header than zlib to maintain
- directory information, and uses a different, slower check method than zlib.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never
- crash even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: ascii or binary */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-#define Z_BLOCK 5
-/* Allowed flush values; see deflate() and inflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative
- * values are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_RLE 3
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field (though see inflate()) */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- This check is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at
- all (the input data is simply copied a block at a time).
- Z_DEFAULT_COMPRESSION requests a default compromise between speed and
- compression (currently equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level,
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION).
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce some
- output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
- and with zero avail_out, it must be called again after making room in the
- output buffer because there might be more output pending.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In particular
- avail_in is zero after the call if enough output space has been provided
- before the call.) Flushing may degrade compression for some compression
- algorithms and so it should be used only when necessary.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- the compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
- avail_out is greater than six to avoid repeated flush markers due to
- avail_out == 0 on return.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- the value returned by deflateBound (see below). If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
- fatal, and deflate() can be called again with more input and more output
- space to continue compressing.
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case,
- msg may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the exact
- value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller. msg is set to null if there is no error
- message. inflateInit does not perform any decompression apart from reading
- the zlib header if present: this will be done by inflate(). (So next_in and
- avail_in may be modified, but next_out and avail_out are unchanged.)
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there
- is no more input data or no more space in the output buffer (see below
- about the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate(). If inflate returns Z_OK and with zero avail_out, it
- must be called again after making room in the output buffer because there
- might be more output pending.
-
- The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH,
- Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much
- output as possible to the output buffer. Z_BLOCK requests that inflate() stop
- if and when it get to the next deflate block boundary. When decoding the zlib
- or gzip format, this will cause inflate() to return immediately after the
- header and before the first block. When doing a raw inflate, inflate() will
- go ahead and process the first block, and will return when it gets to the end
- of that block, or when it runs out of data.
-
- The Z_BLOCK option assists in appending to or combining deflate streams.
- Also to assist in this, on return inflate() will set strm->data_type to the
- number of unused bits in the last byte taken from strm->next_in, plus 64
- if inflate() is currently decoding the last block in the deflate stream,
- plus 128 if inflate() returned immediately after decoding an end-of-block
- code or decoding the complete header up to just before the first byte of the
- deflate stream. The end-of-block will not be indicated until all of the
- uncompressed data from that block has been written to strm->next_out. The
- number of unused bits may in general be greater than seven, except when
- bit 7 of data_type is set, in which case the number of unused bits will be
- less than eight.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster approach
- may be used for the single inflate() call.
-
- In this implementation, inflate() always flushes as much output as
- possible to the output buffer, and always uses the faster approach on the
- first call. So the only effect of the flush parameter in this implementation
- is on the return value of inflate(), as noted below, or when it returns early
- because Z_BLOCK is used.
-
- If a preset dictionary is needed after this call (see inflateSetDictionary
- below), inflate sets strm->adler to the adler32 checksum of the dictionary
- chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
- strm->adler to the adler32 checksum of all output produced so far (that is,
- total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
- below. At the end of the stream, inflate() checks that its computed adler32
- checksum is equal to that saved by the compressor and returns Z_STREAM_END
- only if the checksum is correct.
-
- inflate() will decompress and check either zlib-wrapped or gzip-wrapped
- deflate data. The header type is detected automatically. Any information
- contained in the gzip header is not retained, so applications that need that
- information should instead use raw inflate, see inflateInit2() below, or
- inflateBack() and perform their own processing of the gzip header and
- trailer.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect check
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
- if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
- inflate() can be called again with more input and more output space to
- continue decompressing. If Z_DATA_ERROR is returned, the application may then
- call inflateSync() to look for a good compression block if a partial recovery
- of the data is desired.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
- determines the window size. deflate() will then generate raw deflate data
- with no zlib header or trailer, and will not compute an adler32 check value.
-
- windowBits can also be greater than 15 for optional gzip encoding. Add
- 16 to windowBits to write a simple gzip header and trailer around the
- compressed data instead of a zlib wrapper. The gzip header will have no
- file name, no extra data, no comment, no modification time (set to zero),
- no header crc, and the operating system will be set to 255 (unknown). If a
- gzip stream is being written, strm->adler is a crc32 instead of an adler32.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match), or Z_RLE to limit match distances to one (run-length
- encoding). Filtered data consists mostly of small values with a somewhat
- random distribution. In this case, the compression algorithm is tuned to
- compress them better. The effect of Z_FILTERED is to force more Huffman
- coding and less string matching; it is somewhat intermediate between
- Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as
- Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy
- parameter only affects the compression ratio but not the correctness of the
- compressed output even if it is not set appropriately.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
- method). msg is set to null if there is no error message. deflateInit2 does
- not perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. This function must be called
- immediately after deflateInit, deflateInit2 or deflateReset, before any
- call of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size in
- deflate or deflate2. Thus the strings most likely to be useful should be
- put at the end of the dictionary, not at the front.
-
- Upon return of this function, strm->adler is set to the adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.) If a raw deflate was requested, then the
- adler32 value is not computed and strm->adler is not set.
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if the compression method is bsort). deflateSetDictionary does not
- perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different
- strategy. If the compression level is changed, the input available so far
- is compressed with the old level (and may be flushed); the new level will
- take effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to
- be compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
- if strm->avail_out was zero.
-*/
-
-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
- uLong sourceLen));
-/*
- deflateBound() returns an upper bound on the compressed size after
- deflation of sourceLen bytes. It must be called after deflateInit()
- or deflateInit2(). This would be used to allocate an output buffer
- for deflation in a single pass, and so would be called before deflate().
-*/
-
-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- deflatePrime() inserts bits in the deflate output stream. The intent
- is that this function is used to start off the deflate output with the
- bits leftover from a previous deflate stream when appending to it. As such,
- this function can only be used for raw deflate, and must be used before the
- first deflate() call after a deflateInit2() or deflateReset(). bits must be
- less than or equal to 16, and that many of the least significant bits of
- value will be inserted in the output.
-
- deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. windowBits must be greater than or equal to the windowBits value
- provided to deflateInit2() while compressing, or it must be equal to 15 if
- deflateInit2() was not used. If a compressed stream with a larger window
- size is given as input, inflate() will return with the error code
- Z_DATA_ERROR instead of trying to allocate a larger window.
-
- windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
- determines the window size. inflate() will then process raw deflate data,
- not looking for a zlib or gzip header, not generating a check value, and not
- looking for any check values for comparison at the end of the stream. This
- is for use with other formats that use the deflate compressed data format
- such as zip. Those formats provide their own check values. If a custom
- format is developed using the raw deflate format for compressed data, it is
- recommended that a check value such as an adler32 or a crc32 be applied to
- the uncompressed data as is done in the zlib, gzip, and zip formats. For
- most applications, the zlib format should be used as is. Note that comments
- above on the use in deflateInit2() applies to the magnitude of windowBits.
-
- windowBits can also be greater than 15 for optional gzip decoding. Add
- 32 to windowBits to enable zlib and gzip decoding with automatic header
- detection, or add 16 to decode only the gzip format (the zlib format will
- return a Z_DATA_ERROR. If a gzip stream is being decoded, strm->adler is
- a crc32 instead of an adler32.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
- memLevel). msg is set to null if there is no error message. inflateInit2
- does not perform any decompression apart from reading the zlib header if
- present: this will be done by inflate(). (So next_in and avail_in may be
- modified, but next_out and avail_out are unchanged.)
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate
- if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the adler32 value returned by this call of
- inflate. The compressor and decompressor must use exactly the same
- dictionary (see deflateSetDictionary).
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a full flush point (see above the
- description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no flush point has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when randomly accessing a large stream. The
- first pass through the stream can periodically record the inflate state,
- allowing restarting inflate at those points when randomly accessing the
- stream.
-
- inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits,
- unsigned char FAR *window));
-
- Initialize the internal stream state for decompression using inflateBack()
- calls. The fields zalloc, zfree and opaque in strm must be initialized
- before the call. If zalloc and zfree are Z_NULL, then the default library-
- derived memory allocation routines are used. windowBits is the base two
- logarithm of the window size, in the range 8..15. window is a caller
- supplied buffer of that size. Except for special applications where it is
- assured that deflate was used with small window sizes, windowBits must be 15
- and a 32K byte window must be supplied to be able to decompress general
- deflate streams.
-
- See inflateBack() for the usage of these routines.
-
- inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
- the paramaters are invalid, Z_MEM_ERROR if the internal state could not
- be allocated, or Z_VERSION_ERROR if the version of the library does not
- match the version of the header file.
-*/
-
-typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
-typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
-
-ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-/*
- inflateBack() does a raw inflate with a single call using a call-back
- interface for input and output. This is more efficient than inflate() for
- file i/o applications in that it avoids copying between the output and the
- sliding window by simply making the window itself the output buffer. This
- function trusts the application to not change the output buffer passed by
- the output function, at least until inflateBack() returns.
-
- inflateBackInit() must be called first to allocate the internal state
- and to initialize the state with the user-provided window buffer.
- inflateBack() may then be used multiple times to inflate a complete, raw
- deflate stream with each call. inflateBackEnd() is then called to free
- the allocated state.
-
- A raw deflate stream is one with no zlib or gzip header or trailer.
- This routine would normally be used in a utility that reads zip or gzip
- files and writes out uncompressed files. The utility would decode the
- header and process the trailer on its own, hence this routine expects
- only the raw deflate stream to decompress. This is different from the
- normal behavior of inflate(), which expects either a zlib or gzip header and
- trailer around the deflate stream.
-
- inflateBack() uses two subroutines supplied by the caller that are then
- called by inflateBack() for input and output. inflateBack() calls those
- routines until it reads a complete deflate stream and writes out all of the
- uncompressed data, or until it encounters an error. The function's
- parameters and return types are defined above in the in_func and out_func
- typedefs. inflateBack() will call in(in_desc, &buf) which should return the
- number of bytes of provided input, and a pointer to that input in buf. If
- there is no input available, in() must return zero--buf is ignored in that
- case--and inflateBack() will return a buffer error. inflateBack() will call
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
- should return zero on success, or non-zero on failure. If out() returns
- non-zero, inflateBack() will return with an error. Neither in() nor out()
- are permitted to change the contents of the window provided to
- inflateBackInit(), which is also the buffer that out() uses to write from.
- The length written by out() will be at most the window size. Any non-zero
- amount of input may be provided by in().
-
- For convenience, inflateBack() can be provided input on the first call by
- setting strm->next_in and strm->avail_in. If that input is exhausted, then
- in() will be called. Therefore strm->next_in must be initialized before
- calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
- immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
- must also be initialized, and then if strm->avail_in is not zero, input will
- initially be taken from strm->next_in[0 .. strm->avail_in - 1].
-
- The in_desc and out_desc parameters of inflateBack() is passed as the
- first parameter of in() and out() respectively when they are called. These
- descriptors can be optionally used to pass any information that the caller-
- supplied in() and out() functions need to do their job.
-
- On return, inflateBack() will set strm->next_in and strm->avail_in to
- pass back any unused input that was provided by the last in() call. The
- return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
- if in() or out() returned an error, Z_DATA_ERROR if there was a format
- error in the deflate stream (in which case strm->msg is set to indicate the
- nature of the error), or Z_STREAM_ERROR if the stream was not properly
- initialized. In the case of Z_BUF_ERROR, an input or output error can be
- distinguished using strm->next_in which will be Z_NULL only if in() returned
- an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to
- out() returning non-zero. (in() will always be called before out(), so
- strm->next_in is assured to be defined if out() returns non-zero.) Note
- that inflateBack() cannot return Z_OK.
-*/
-
-ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm));
-/*
- All memory allocated by inflateBackInit() is freed.
-
- inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
- state was inconsistent.
-*/
-
-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
-/* Return flags indicating compile-time options.
-
- Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
- 1.0: size of uInt
- 3.2: size of uLong
- 5.4: size of voidpf (pointer)
- 7.6: size of z_off_t
-
- Compiler, assembler, and debug options:
- 8: DEBUG
- 9: ASMV or ASMINF -- use ASM code
- 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
- 11: 0 (reserved)
-
- One-time table building (smaller code, but not thread-safe if true):
- 12: BUILDFIXED -- build static block decoding tables when needed
- 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
- 14,15: 0 (reserved)
-
- Library content (indicates missing functionality):
- 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
- deflate code when not needed)
- 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
- and decode gzip streams (to avoid linking crc code)
- 18-19: 0 (reserved)
-
- Operation variations (changes in library functionality):
- 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
- 21: FASTEST -- deflate algorithm with only one, lowest compression level
- 22,23: 0 (reserved)
-
- The sprintf variant used by gzprintf (zero is best):
- 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
- 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
- 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
-
- Remainder:
- 27-31: 0 (reserved)
- */
-
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the
- basic stream-oriented functions. To simplify the interface, some
- default options are assumed (compression level and memory usage,
- standard memory allocation functions). The source code of these
- utility functions can easily be modified if you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be at least the value returned
- by compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
- This function can be used to compress a whole file at once if the
- input file is mmap'ed.
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
-/*
- compressBound() returns an upper bound on the compressed size after
- compress() or compress2() on sourceLen bytes. It would be used before
- a compress() or compress2() call to allocate the destination buffer.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
-*/
-
-
-typedef voidp gzFile;
-
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-/*
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb") but can also include a compression level
- ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
- Huffman only compression as in "wb1h", or 'R' for run-length encoding
- as in "wb1R". (See the description of deflateInit2 for more information
- about the strategy parameter.)
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression.
-
- gzopen returns NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR). */
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen() associates a gzFile with the file descriptor fd. File
- descriptors are obtained from calls like open, dup, creat, pipe or
- fileno (in the file has been previously opened with fopen).
- The mode parameter is as in gzopen.
- The next call of gzclose on the returned gzFile will also close the
- file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
- descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
- gzdopen returns NULL if there was insufficient memory to allocate
- the (de)compression state.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file.
- If the input file was not in gzip format, gzread copies the given number
- of bytes into the buffer.
- gzread returns the number of uncompressed bytes actually read (0 for
- end of file, -1 for error). */
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- voidpc buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes actually written
- (0 in case of error).
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the args to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written (0 in case of error). The number of
- uncompressed bytes written is limited to 4095. The caller should assure that
- this limit is not exceeded. If it is exceeded, then gzprintf() will return
- return an error (0) with nothing written. In this case, there may also be a
- buffer overflow with unpredictable consequences, which is possible only if
- zlib was compiled with the insecure functions sprintf() or vsprintf()
- because the secure snprintf() or vsnprintf() functions were not available.
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or
- a newline character is read and transferred to buf, or an end-of-file
- condition is encountered. The string is then terminated with a null
- character.
- gzgets returns buf, or Z_NULL in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file.
- gzputc returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte
- or -1 in case of end of file or error.
-*/
-
-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
-/*
- Push one character back onto the stream to be read again later.
- Only one character of push-back is allowed. gzungetc() returns the
- character pushed, or -1 on failure. gzungetc() will fail if a
- character has been pushed but not read yet, or if c is -1. The pushed
- character will be discarded if the stream is repositioned with gzseek()
- or gzrewind().
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function. The return value is the zlib
- error number (see function gzerror below). gzflush returns Z_OK if
- the flush parameter is Z_FINISH and all output could be flushed.
- gzflush should be called only when strictly necessary because it can
- degrade compression.
-*/
-
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-/*
- Sets the starting position for the next gzread or gzwrite on the
- given compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-/*
- Returns the starting position for the next gzread or gzwrite on the
- given compressed file. This position represents a number of bytes in the
- uncompressed data stream.
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns 1 when EOF has previously been detected reading the given
- input stream, otherwise zero.
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state. The return value is the zlib
- error number (see function gzerror below).
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the
- given compressed file. errnum is set to zlib error number. If an
- error occurred in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-
-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
-/*
- Clears the error and end-of-file flags for file. This is analogous to the
- clearerr() function in stdio. This is useful for continuing to read a gzip
- file that is being written concurrently.
-*/
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the
- compression library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running crc with the bytes buf[0..len-1] and return the updated
- crc. If buf is NULL, this function returns the required initial value
- for the crc. Pre- and post-conditioning (one's complement) is performed
- within this function so it shouldn't be done by the application.
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits,
- unsigned char FAR *window,
- const char *version,
- int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
- inflateBackInit_((strm), (windowBits), (window), \
- ZLIB_VERSION, sizeof(z_stream))
-
-
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-ZEXTERN const char * ZEXPORT zError OF((int));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ZLIB_H */
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.2, October 3rd, 2004
+
+ Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+
+ The data format used by the zlib library is described by RFCs (Request for
+ Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
+ (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
+*/
+
+#ifndef ZLIB_H
+#define ZLIB_H
+
+#include "zconf.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define ZLIB_VERSION "1.2.2"
+#define ZLIB_VERNUM 0x1220
+
+/*
+ The 'zlib' compression library provides in-memory compression and
+ decompression functions, including integrity checks of the uncompressed
+ data. This version of the library supports only one compression method
+ (deflation) but other algorithms will be added later and will have the same
+ stream interface.
+
+ Compression can be done in a single step if the buffers are large
+ enough (for example if an input file is mmap'ed), or can be done by
+ repeated calls of the compression function. In the latter case, the
+ application must provide more input and/or consume the output
+ (providing more output space) before each call.
+
+ The compressed data format used by default by the in-memory functions is
+ the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
+ around a deflate stream, which is itself documented in RFC 1951.
+
+ The library also supports reading and writing files in gzip (.gz) format
+ with an interface similar to that of stdio using the functions that start
+ with "gz". The gzip format is different from the zlib format. gzip is a
+ gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
+
+ This library can optionally read and write gzip streams in memory as well.
+
+ The zlib format was designed to be compact and fast for use in memory
+ and on communications channels. The gzip format was designed for single-
+ file compression on file systems, has a larger header than zlib to maintain
+ directory information, and uses a different, slower check method than zlib.
+
+ The library does not install any signal handler. The decoder checks
+ the consistency of the compressed data, so the library should never
+ crash even in case of corrupted input.
+*/
+
+typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
+typedef void (*free_func) OF((voidpf opaque, voidpf address));
+
+struct internal_state;
+
+typedef struct z_stream_s {
+ Bytef *next_in; /* next input byte */
+ uInt avail_in; /* number of bytes available at next_in */
+ uLong total_in; /* total nb of input bytes read so far */
+
+ Bytef *next_out; /* next output byte should be put there */
+ uInt avail_out; /* remaining free space at next_out */
+ uLong total_out; /* total nb of bytes output so far */
+
+ char *msg; /* last error message, NULL if no error */
+ struct internal_state FAR *state; /* not visible by applications */
+
+ alloc_func zalloc; /* used to allocate the internal state */
+ free_func zfree; /* used to free the internal state */
+ voidpf opaque; /* private data object passed to zalloc and zfree */
+
+ int data_type; /* best guess about the data type: ascii or binary */
+ uLong adler; /* adler32 value of the uncompressed data */
+ uLong reserved; /* reserved for future use */
+} z_stream;
+
+typedef z_stream FAR *z_streamp;
+
+/*
+ The application must update next_in and avail_in when avail_in has
+ dropped to zero. It must update next_out and avail_out when avail_out
+ has dropped to zero. The application must initialize zalloc, zfree and
+ opaque before calling the init function. All other fields are set by the
+ compression library and must not be updated by the application.
+
+ The opaque value provided by the application will be passed as the first
+ parameter for calls of zalloc and zfree. This can be useful for custom
+ memory management. The compression library attaches no meaning to the
+ opaque value.
+
+ zalloc must return Z_NULL if there is not enough memory for the object.
+ If zlib is used in a multi-threaded application, zalloc and zfree must be
+ thread safe.
+
+ On 16-bit systems, the functions zalloc and zfree must be able to allocate
+ exactly 65536 bytes, but will not be required to allocate more than this
+ if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
+ pointers returned by zalloc for objects of exactly 65536 bytes *must*
+ have their offset normalized to zero. The default allocation function
+ provided by this library ensures this (see zutil.c). To reduce memory
+ requirements and avoid any allocation of 64K objects, at the expense of
+ compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
+
+ The fields total_in and total_out can be used for statistics or
+ progress reports. After compression, total_in holds the total size of
+ the uncompressed data and may be saved for use in the decompressor
+ (particularly if the decompressor wants to decompress everything in
+ a single step).
+*/
+
+ /* constants */
+
+#define Z_NO_FLUSH 0
+#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */
+#define Z_SYNC_FLUSH 2
+#define Z_FULL_FLUSH 3
+#define Z_FINISH 4
+#define Z_BLOCK 5
+/* Allowed flush values; see deflate() and inflate() below for details */
+
+#define Z_OK 0
+#define Z_STREAM_END 1
+#define Z_NEED_DICT 2
+#define Z_ERRNO (-1)
+#define Z_STREAM_ERROR (-2)
+#define Z_DATA_ERROR (-3)
+#define Z_MEM_ERROR (-4)
+#define Z_BUF_ERROR (-5)
+#define Z_VERSION_ERROR (-6)
+/* Return codes for the compression/decompression functions. Negative
+ * values are errors, positive values are used for special but normal events.
+ */
+
+#define Z_NO_COMPRESSION 0
+#define Z_BEST_SPEED 1
+#define Z_BEST_COMPRESSION 9
+#define Z_DEFAULT_COMPRESSION (-1)
+/* compression levels */
+
+#define Z_FILTERED 1
+#define Z_HUFFMAN_ONLY 2
+#define Z_RLE 3
+#define Z_DEFAULT_STRATEGY 0
+/* compression strategy; see deflateInit2() below for details */
+
+#define Z_BINARY 0
+#define Z_ASCII 1
+#define Z_UNKNOWN 2
+/* Possible values of the data_type field (though see inflate()) */
+
+#define Z_DEFLATED 8
+/* The deflate compression method (the only one supported in this version) */
+
+#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
+
+#define zlib_version zlibVersion()
+/* for compatibility with versions < 1.0.2 */
+
+ /* basic functions */
+
+ZEXTERN const char * ZEXPORT zlibVersion OF((void));
+/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is
+ not compatible with the zlib.h header file used by the application.
+ This check is automatically made by deflateInit and inflateInit.
+ */
+
+/*
+ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
+
+ Initializes the internal stream state for compression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller.
+ If zalloc and zfree are set to Z_NULL, deflateInit updates them to
+ use default allocation functions.
+
+ The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
+ 1 gives best speed, 9 gives best compression, 0 gives no compression at
+ all (the input data is simply copied a block at a time).
+ Z_DEFAULT_COMPRESSION requests a default compromise between speed and
+ compression (currently equivalent to level 6).
+
+ deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if level is not a valid compression level,
+ Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
+ with the version assumed by the caller (ZLIB_VERSION).
+ msg is set to null if there is no error message. deflateInit does not
+ perform any compression: this will be done by deflate().
+*/
+
+
+ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
+/*
+ deflate compresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce some
+ output latency (reading input without producing any output) except when
+ forced to flush.
+
+ The detailed semantics are as follows. deflate performs one or both of the
+ following actions:
+
+ - Compress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in and avail_in are updated and
+ processing will resume at this point for the next call of deflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. This action is forced if the parameter flush is non zero.
+ Forcing flush frequently degrades the compression ratio, so this parameter
+ should be set only when necessary (in interactive applications).
+ Some output may be provided even if flush is not set.
+
+ Before the call of deflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming
+ more output, and updating avail_in or avail_out accordingly; avail_out
+ should never be zero before the call. The application can consume the
+ compressed output when it wants, for example when the output buffer is full
+ (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
+ and with zero avail_out, it must be called again after making room in the
+ output buffer because there might be more output pending.
+
+ If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
+ flushed to the output buffer and the output is aligned on a byte boundary, so
+ that the decompressor can get all input data available so far. (In particular
+ avail_in is zero after the call if enough output space has been provided
+ before the call.) Flushing may degrade compression for some compression
+ algorithms and so it should be used only when necessary.
+
+ If flush is set to Z_FULL_FLUSH, all output is flushed as with
+ Z_SYNC_FLUSH, and the compression state is reset so that decompression can
+ restart from this point if previous compressed data has been damaged or if
+ random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
+ the compression.
+
+ If deflate returns with avail_out == 0, this function must be called again
+ with the same value of the flush parameter and more output space (updated
+ avail_out), until the flush is complete (deflate returns with non-zero
+ avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
+ avail_out is greater than six to avoid repeated flush markers due to
+ avail_out == 0 on return.
+
+ If the parameter flush is set to Z_FINISH, pending input is processed,
+ pending output is flushed and deflate returns with Z_STREAM_END if there
+ was enough output space; if deflate returns with Z_OK, this function must be
+ called again with Z_FINISH and more output space (updated avail_out) but no
+ more input data, until it returns with Z_STREAM_END or an error. After
+ deflate has returned Z_STREAM_END, the only possible operations on the
+ stream are deflateReset or deflateEnd.
+
+ Z_FINISH can be used immediately after deflateInit if all the compression
+ is to be done in a single step. In this case, avail_out must be at least
+ the value returned by deflateBound (see below). If deflate does not return
+ Z_STREAM_END, then it must be called again as described above.
+
+ deflate() sets strm->adler to the adler32 checksum of all input read
+ so far (that is, total_in bytes).
+
+ deflate() may update data_type if it can make a good guess about
+ the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
+ binary. This field is only for information purposes and does not affect
+ the compression algorithm in any manner.
+
+ deflate() returns Z_OK if some progress has been made (more input
+ processed or more output produced), Z_STREAM_END if all input has been
+ consumed and all output has been produced (only when flush is set to
+ Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
+ if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
+ (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
+ fatal, and deflate() can be called again with more input and more output
+ space to continue compressing.
+*/
+
+
+ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+ pending output.
+
+ deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
+ stream state was inconsistent, Z_DATA_ERROR if the stream was freed
+ prematurely (some input or output was discarded). In the error case,
+ msg may be set but then points to a static string (which must not be
+ deallocated).
+*/
+
+
+/*
+ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
+
+ Initializes the internal stream state for decompression. The fields
+ next_in, avail_in, zalloc, zfree and opaque must be initialized before by
+ the caller. If next_in is not Z_NULL and avail_in is large enough (the exact
+ value depends on the compression method), inflateInit determines the
+ compression method from the zlib header and allocates all data structures
+ accordingly; otherwise the allocation will be deferred to the first call of
+ inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
+ use default allocation functions.
+
+ inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
+ version assumed by the caller. msg is set to null if there is no error
+ message. inflateInit does not perform any decompression apart from reading
+ the zlib header if present: this will be done by inflate(). (So next_in and
+ avail_in may be modified, but next_out and avail_out are unchanged.)
+*/
+
+
+ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
+/*
+ inflate decompresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce
+ some output latency (reading input without producing any output) except when
+ forced to flush.
+
+ The detailed semantics are as follows. inflate performs one or both of the
+ following actions:
+
+ - Decompress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in is updated and processing
+ will resume at this point for the next call of inflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. inflate() provides as much output as possible, until there
+ is no more input data or no more space in the output buffer (see below
+ about the flush parameter).
+
+ Before the call of inflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming
+ more output, and updating the next_* and avail_* values accordingly.
+ The application can consume the uncompressed output when it wants, for
+ example when the output buffer is full (avail_out == 0), or after each
+ call of inflate(). If inflate returns Z_OK and with zero avail_out, it
+ must be called again after making room in the output buffer because there
+ might be more output pending.
+
+ The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH,
+ Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much
+ output as possible to the output buffer. Z_BLOCK requests that inflate() stop
+ if and when it get to the next deflate block boundary. When decoding the zlib
+ or gzip format, this will cause inflate() to return immediately after the
+ header and before the first block. When doing a raw inflate, inflate() will
+ go ahead and process the first block, and will return when it gets to the end
+ of that block, or when it runs out of data.
+
+ The Z_BLOCK option assists in appending to or combining deflate streams.
+ Also to assist in this, on return inflate() will set strm->data_type to the
+ number of unused bits in the last byte taken from strm->next_in, plus 64
+ if inflate() is currently decoding the last block in the deflate stream,
+ plus 128 if inflate() returned immediately after decoding an end-of-block
+ code or decoding the complete header up to just before the first byte of the
+ deflate stream. The end-of-block will not be indicated until all of the
+ uncompressed data from that block has been written to strm->next_out. The
+ number of unused bits may in general be greater than seven, except when
+ bit 7 of data_type is set, in which case the number of unused bits will be
+ less than eight.
+
+ inflate() should normally be called until it returns Z_STREAM_END or an
+ error. However if all decompression is to be performed in a single step
+ (a single call of inflate), the parameter flush should be set to
+ Z_FINISH. In this case all pending input is processed and all pending
+ output is flushed; avail_out must be large enough to hold all the
+ uncompressed data. (The size of the uncompressed data may have been saved
+ by the compressor for this purpose.) The next operation on this stream must
+ be inflateEnd to deallocate the decompression state. The use of Z_FINISH
+ is never required, but can be used to inform inflate that a faster approach
+ may be used for the single inflate() call.
+
+ In this implementation, inflate() always flushes as much output as
+ possible to the output buffer, and always uses the faster approach on the
+ first call. So the only effect of the flush parameter in this implementation
+ is on the return value of inflate(), as noted below, or when it returns early
+ because Z_BLOCK is used.
+
+ If a preset dictionary is needed after this call (see inflateSetDictionary
+ below), inflate sets strm->adler to the adler32 checksum of the dictionary
+ chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
+ strm->adler to the adler32 checksum of all output produced so far (that is,
+ total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
+ below. At the end of the stream, inflate() checks that its computed adler32
+ checksum is equal to that saved by the compressor and returns Z_STREAM_END
+ only if the checksum is correct.
+
+ inflate() will decompress and check either zlib-wrapped or gzip-wrapped
+ deflate data. The header type is detected automatically. Any information
+ contained in the gzip header is not retained, so applications that need that
+ information should instead use raw inflate, see inflateInit2() below, or
+ inflateBack() and perform their own processing of the gzip header and
+ trailer.
+
+ inflate() returns Z_OK if some progress has been made (more input processed
+ or more output produced), Z_STREAM_END if the end of the compressed data has
+ been reached and all uncompressed output has been produced, Z_NEED_DICT if a
+ preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
+ corrupted (input stream not conforming to the zlib format or incorrect check
+ value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
+ if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
+ Z_BUF_ERROR if no progress is possible or if there was not enough room in the
+ output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
+ inflate() can be called again with more input and more output space to
+ continue decompressing. If Z_DATA_ERROR is returned, the application may then
+ call inflateSync() to look for a good compression block if a partial recovery
+ of the data is desired.
+*/
+
+
+ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+ pending output.
+
+ inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
+ was inconsistent. In the error case, msg may be set but then points to a
+ static string (which must not be deallocated).
+*/
+
+ /* Advanced functions */
+
+/*
+ The following functions are needed only in some special applications.
+*/
+
+/*
+ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
+ int level,
+ int method,
+ int windowBits,
+ int memLevel,
+ int strategy));
+
+ This is another version of deflateInit with more compression options. The
+ fields next_in, zalloc, zfree and opaque must be initialized before by
+ the caller.
+
+ The method parameter is the compression method. It must be Z_DEFLATED in
+ this version of the library.
+
+ The windowBits parameter is the base two logarithm of the window size
+ (the size of the history buffer). It should be in the range 8..15 for this
+ version of the library. Larger values of this parameter result in better
+ compression at the expense of memory usage. The default value is 15 if
+ deflateInit is used instead.
+
+ windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
+ determines the window size. deflate() will then generate raw deflate data
+ with no zlib header or trailer, and will not compute an adler32 check value.
+
+ windowBits can also be greater than 15 for optional gzip encoding. Add
+ 16 to windowBits to write a simple gzip header and trailer around the
+ compressed data instead of a zlib wrapper. The gzip header will have no
+ file name, no extra data, no comment, no modification time (set to zero),
+ no header crc, and the operating system will be set to 255 (unknown). If a
+ gzip stream is being written, strm->adler is a crc32 instead of an adler32.
+
+ The memLevel parameter specifies how much memory should be allocated
+ for the internal compression state. memLevel=1 uses minimum memory but
+ is slow and reduces compression ratio; memLevel=9 uses maximum memory
+ for optimal speed. The default value is 8. See zconf.h for total memory
+ usage as a function of windowBits and memLevel.
+
+ The strategy parameter is used to tune the compression algorithm. Use the
+ value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
+ filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
+ string match), or Z_RLE to limit match distances to one (run-length
+ encoding). Filtered data consists mostly of small values with a somewhat
+ random distribution. In this case, the compression algorithm is tuned to
+ compress them better. The effect of Z_FILTERED is to force more Huffman
+ coding and less string matching; it is somewhat intermediate between
+ Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as
+ Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy
+ parameter only affects the compression ratio but not the correctness of the
+ compressed output even if it is not set appropriately.
+
+ deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
+ method). msg is set to null if there is no error message. deflateInit2 does
+ not perform any compression: this will be done by deflate().
+*/
+
+ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the compression dictionary from the given byte sequence
+ without producing any compressed output. This function must be called
+ immediately after deflateInit, deflateInit2 or deflateReset, before any
+ call of deflate. The compressor and decompressor must use exactly the same
+ dictionary (see inflateSetDictionary).
+
+ The dictionary should consist of strings (byte sequences) that are likely
+ to be encountered later in the data to be compressed, with the most commonly
+ used strings preferably put towards the end of the dictionary. Using a
+ dictionary is most useful when the data to be compressed is short and can be
+ predicted with good accuracy; the data can then be compressed better than
+ with the default empty dictionary.
+
+ Depending on the size of the compression data structures selected by
+ deflateInit or deflateInit2, a part of the dictionary may in effect be
+ discarded, for example if the dictionary is larger than the window size in
+ deflate or deflate2. Thus the strings most likely to be useful should be
+ put at the end of the dictionary, not at the front.
+
+ Upon return of this function, strm->adler is set to the adler32 value
+ of the dictionary; the decompressor may later use this value to determine
+ which dictionary has been used by the compressor. (The adler32 value
+ applies to the whole dictionary even if only a subset of the dictionary is
+ actually used by the compressor.) If a raw deflate was requested, then the
+ adler32 value is not computed and strm->adler is not set.
+
+ deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
+ parameter is invalid (such as NULL dictionary) or the stream state is
+ inconsistent (for example if deflate has already been called for this stream
+ or if the compression method is bsort). deflateSetDictionary does not
+ perform any compression: this will be done by deflate().
+*/
+
+ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
+ z_streamp source));
+/*
+ Sets the destination stream as a complete copy of the source stream.
+
+ This function can be useful when several compression strategies will be
+ tried, for example when there are several ways of pre-processing the input
+ data with a filter. The streams that will be discarded should then be freed
+ by calling deflateEnd. Note that deflateCopy duplicates the internal
+ compression state which can be quite large, so this strategy is slow and
+ can consume lots of memory.
+
+ deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to deflateEnd followed by deflateInit,
+ but does not free and reallocate all the internal compression state.
+ The stream will keep the same compression level and any other attributes
+ that may have been set by deflateInit2.
+
+ deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being NULL).
+*/
+
+ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
+ int level,
+ int strategy));
+/*
+ Dynamically update the compression level and compression strategy. The
+ interpretation of level and strategy is as in deflateInit2. This can be
+ used to switch between compression and straight copy of the input data, or
+ to switch to a different kind of input data requiring a different
+ strategy. If the compression level is changed, the input available so far
+ is compressed with the old level (and may be flushed); the new level will
+ take effect only at the next call of deflate().
+
+ Before the call of deflateParams, the stream state must be set as for
+ a call of deflate(), since the currently available input may have to
+ be compressed and flushed. In particular, strm->avail_out must be non-zero.
+
+ deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
+ stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
+ if strm->avail_out was zero.
+*/
+
+ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
+ uLong sourceLen));
+/*
+ deflateBound() returns an upper bound on the compressed size after
+ deflation of sourceLen bytes. It must be called after deflateInit()
+ or deflateInit2(). This would be used to allocate an output buffer
+ for deflation in a single pass, and so would be called before deflate().
+*/
+
+ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
+ int bits,
+ int value));
+/*
+ deflatePrime() inserts bits in the deflate output stream. The intent
+ is that this function is used to start off the deflate output with the
+ bits leftover from a previous deflate stream when appending to it. As such,
+ this function can only be used for raw deflate, and must be used before the
+ first deflate() call after a deflateInit2() or deflateReset(). bits must be
+ less than or equal to 16, and that many of the least significant bits of
+ value will be inserted in the output.
+
+ deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+/*
+ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
+ int windowBits));
+
+ This is another version of inflateInit with an extra parameter. The
+ fields next_in, avail_in, zalloc, zfree and opaque must be initialized
+ before by the caller.
+
+ The windowBits parameter is the base two logarithm of the maximum window
+ size (the size of the history buffer). It should be in the range 8..15 for
+ this version of the library. The default value is 15 if inflateInit is used
+ instead. windowBits must be greater than or equal to the windowBits value
+ provided to deflateInit2() while compressing, or it must be equal to 15 if
+ deflateInit2() was not used. If a compressed stream with a larger window
+ size is given as input, inflate() will return with the error code
+ Z_DATA_ERROR instead of trying to allocate a larger window.
+
+ windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
+ determines the window size. inflate() will then process raw deflate data,
+ not looking for a zlib or gzip header, not generating a check value, and not
+ looking for any check values for comparison at the end of the stream. This
+ is for use with other formats that use the deflate compressed data format
+ such as zip. Those formats provide their own check values. If a custom
+ format is developed using the raw deflate format for compressed data, it is
+ recommended that a check value such as an adler32 or a crc32 be applied to
+ the uncompressed data as is done in the zlib, gzip, and zip formats. For
+ most applications, the zlib format should be used as is. Note that comments
+ above on the use in deflateInit2() applies to the magnitude of windowBits.
+
+ windowBits can also be greater than 15 for optional gzip decoding. Add
+ 32 to windowBits to enable zlib and gzip decoding with automatic header
+ detection, or add 16 to decode only the gzip format (the zlib format will
+ return a Z_DATA_ERROR. If a gzip stream is being decoded, strm->adler is
+ a crc32 instead of an adler32.
+
+ inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
+ memLevel). msg is set to null if there is no error message. inflateInit2
+ does not perform any decompression apart from reading the zlib header if
+ present: this will be done by inflate(). (So next_in and avail_in may be
+ modified, but next_out and avail_out are unchanged.)
+*/
+
+ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the decompression dictionary from the given uncompressed byte
+ sequence. This function must be called immediately after a call of inflate
+ if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
+ can be determined from the adler32 value returned by this call of
+ inflate. The compressor and decompressor must use exactly the same
+ dictionary (see deflateSetDictionary).
+
+ inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
+ parameter is invalid (such as NULL dictionary) or the stream state is
+ inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
+ expected one (incorrect adler32 value). inflateSetDictionary does not
+ perform any decompression: this will be done by subsequent calls of
+ inflate().
+*/
+
+ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
+/*
+ Skips invalid compressed data until a full flush point (see above the
+ description of deflate with Z_FULL_FLUSH) can be found, or until all
+ available input is skipped. No output is provided.
+
+ inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
+ if no more input was provided, Z_DATA_ERROR if no flush point has been found,
+ or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
+ case, the application may save the current current value of total_in which
+ indicates where valid compressed data was found. In the error case, the
+ application may repeatedly call inflateSync, providing more input each time,
+ until success or end of the input data.
+*/
+
+ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
+ z_streamp source));
+/*
+ Sets the destination stream as a complete copy of the source stream.
+
+ This function can be useful when randomly accessing a large stream. The
+ first pass through the stream can periodically record the inflate state,
+ allowing restarting inflate at those points when randomly accessing the
+ stream.
+
+ inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to inflateEnd followed by inflateInit,
+ but does not free and reallocate all the internal decompression state.
+ The stream will keep attributes that may have been set by inflateInit2.
+
+ inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being NULL).
+*/
+
+/*
+ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits,
+ unsigned char FAR *window));
+
+ Initialize the internal stream state for decompression using inflateBack()
+ calls. The fields zalloc, zfree and opaque in strm must be initialized
+ before the call. If zalloc and zfree are Z_NULL, then the default library-
+ derived memory allocation routines are used. windowBits is the base two
+ logarithm of the window size, in the range 8..15. window is a caller
+ supplied buffer of that size. Except for special applications where it is
+ assured that deflate was used with small window sizes, windowBits must be 15
+ and a 32K byte window must be supplied to be able to decompress general
+ deflate streams.
+
+ See inflateBack() for the usage of these routines.
+
+ inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
+ the paramaters are invalid, Z_MEM_ERROR if the internal state could not
+ be allocated, or Z_VERSION_ERROR if the version of the library does not
+ match the version of the header file.
+*/
+
+typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
+typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
+
+ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm,
+ in_func in, void FAR *in_desc,
+ out_func out, void FAR *out_desc));
+/*
+ inflateBack() does a raw inflate with a single call using a call-back
+ interface for input and output. This is more efficient than inflate() for
+ file i/o applications in that it avoids copying between the output and the
+ sliding window by simply making the window itself the output buffer. This
+ function trusts the application to not change the output buffer passed by
+ the output function, at least until inflateBack() returns.
+
+ inflateBackInit() must be called first to allocate the internal state
+ and to initialize the state with the user-provided window buffer.
+ inflateBack() may then be used multiple times to inflate a complete, raw
+ deflate stream with each call. inflateBackEnd() is then called to free
+ the allocated state.
+
+ A raw deflate stream is one with no zlib or gzip header or trailer.
+ This routine would normally be used in a utility that reads zip or gzip
+ files and writes out uncompressed files. The utility would decode the
+ header and process the trailer on its own, hence this routine expects
+ only the raw deflate stream to decompress. This is different from the
+ normal behavior of inflate(), which expects either a zlib or gzip header and
+ trailer around the deflate stream.
+
+ inflateBack() uses two subroutines supplied by the caller that are then
+ called by inflateBack() for input and output. inflateBack() calls those
+ routines until it reads a complete deflate stream and writes out all of the
+ uncompressed data, or until it encounters an error. The function's
+ parameters and return types are defined above in the in_func and out_func
+ typedefs. inflateBack() will call in(in_desc, &buf) which should return the
+ number of bytes of provided input, and a pointer to that input in buf. If
+ there is no input available, in() must return zero--buf is ignored in that
+ case--and inflateBack() will return a buffer error. inflateBack() will call
+ out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
+ should return zero on success, or non-zero on failure. If out() returns
+ non-zero, inflateBack() will return with an error. Neither in() nor out()
+ are permitted to change the contents of the window provided to
+ inflateBackInit(), which is also the buffer that out() uses to write from.
+ The length written by out() will be at most the window size. Any non-zero
+ amount of input may be provided by in().
+
+ For convenience, inflateBack() can be provided input on the first call by
+ setting strm->next_in and strm->avail_in. If that input is exhausted, then
+ in() will be called. Therefore strm->next_in must be initialized before
+ calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
+ immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
+ must also be initialized, and then if strm->avail_in is not zero, input will
+ initially be taken from strm->next_in[0 .. strm->avail_in - 1].
+
+ The in_desc and out_desc parameters of inflateBack() is passed as the
+ first parameter of in() and out() respectively when they are called. These
+ descriptors can be optionally used to pass any information that the caller-
+ supplied in() and out() functions need to do their job.
+
+ On return, inflateBack() will set strm->next_in and strm->avail_in to
+ pass back any unused input that was provided by the last in() call. The
+ return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
+ if in() or out() returned an error, Z_DATA_ERROR if there was a format
+ error in the deflate stream (in which case strm->msg is set to indicate the
+ nature of the error), or Z_STREAM_ERROR if the stream was not properly
+ initialized. In the case of Z_BUF_ERROR, an input or output error can be
+ distinguished using strm->next_in which will be Z_NULL only if in() returned
+ an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to
+ out() returning non-zero. (in() will always be called before out(), so
+ strm->next_in is assured to be defined if out() returns non-zero.) Note
+ that inflateBack() cannot return Z_OK.
+*/
+
+ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm));
+/*
+ All memory allocated by inflateBackInit() is freed.
+
+ inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
+ state was inconsistent.
+*/
+
+ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
+/* Return flags indicating compile-time options.
+
+ Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
+ 1.0: size of uInt
+ 3.2: size of uLong
+ 5.4: size of voidpf (pointer)
+ 7.6: size of z_off_t
+
+ Compiler, assembler, and debug options:
+ 8: DEBUG
+ 9: ASMV or ASMINF -- use ASM code
+ 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
+ 11: 0 (reserved)
+
+ One-time table building (smaller code, but not thread-safe if true):
+ 12: BUILDFIXED -- build static block decoding tables when needed
+ 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
+ 14,15: 0 (reserved)
+
+ Library content (indicates missing functionality):
+ 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
+ deflate code when not needed)
+ 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
+ and decode gzip streams (to avoid linking crc code)
+ 18-19: 0 (reserved)
+
+ Operation variations (changes in library functionality):
+ 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
+ 21: FASTEST -- deflate algorithm with only one, lowest compression level
+ 22,23: 0 (reserved)
+
+ The sprintf variant used by gzprintf (zero is best):
+ 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
+ 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
+ 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
+
+ Remainder:
+ 27-31: 0 (reserved)
+ */
+
+
+ /* utility functions */
+
+/*
+ The following utility functions are implemented on top of the
+ basic stream-oriented functions. To simplify the interface, some
+ default options are assumed (compression level and memory usage,
+ standard memory allocation functions). The source code of these
+ utility functions can easily be modified if you need special options.
+*/
+
+ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Compresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total
+ size of the destination buffer, which must be at least the value returned
+ by compressBound(sourceLen). Upon exit, destLen is the actual size of the
+ compressed buffer.
+ This function can be used to compress a whole file at once if the
+ input file is mmap'ed.
+ compress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer.
+*/
+
+ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int level));
+/*
+ Compresses the source buffer into the destination buffer. The level
+ parameter has the same meaning as in deflateInit. sourceLen is the byte
+ length of the source buffer. Upon entry, destLen is the total size of the
+ destination buffer, which must be at least the value returned by
+ compressBound(sourceLen). Upon exit, destLen is the actual size of the
+ compressed buffer.
+
+ compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer,
+ Z_STREAM_ERROR if the level parameter is invalid.
+*/
+
+ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
+/*
+ compressBound() returns an upper bound on the compressed size after
+ compress() or compress2() on sourceLen bytes. It would be used before
+ a compress() or compress2() call to allocate the destination buffer.
+*/
+
+ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Decompresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total
+ size of the destination buffer, which must be large enough to hold the
+ entire uncompressed data. (The size of the uncompressed data must have
+ been saved previously by the compressor and transmitted to the decompressor
+ by some mechanism outside the scope of this compression library.)
+ Upon exit, destLen is the actual size of the compressed buffer.
+ This function can be used to decompress a whole file at once if the
+ input file is mmap'ed.
+
+ uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
+*/
+
+
+typedef voidp gzFile;
+
+ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
+/*
+ Opens a gzip (.gz) file for reading or writing. The mode parameter
+ is as in fopen ("rb" or "wb") but can also include a compression level
+ ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
+ Huffman only compression as in "wb1h", or 'R' for run-length encoding
+ as in "wb1R". (See the description of deflateInit2 for more information
+ about the strategy parameter.)
+
+ gzopen can be used to read a file which is not in gzip format; in this
+ case gzread will directly read from the file without decompression.
+
+ gzopen returns NULL if the file could not be opened or if there was
+ insufficient memory to allocate the (de)compression state; errno
+ can be checked to distinguish the two cases (if errno is zero, the
+ zlib error is Z_MEM_ERROR). */
+
+ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
+/*
+ gzdopen() associates a gzFile with the file descriptor fd. File
+ descriptors are obtained from calls like open, dup, creat, pipe or
+ fileno (in the file has been previously opened with fopen).
+ The mode parameter is as in gzopen.
+ The next call of gzclose on the returned gzFile will also close the
+ file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
+ descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
+ gzdopen returns NULL if there was insufficient memory to allocate
+ the (de)compression state.
+*/
+
+ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
+/*
+ Dynamically update the compression level or strategy. See the description
+ of deflateInit2 for the meaning of these parameters.
+ gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
+ opened for writing.
+*/
+
+ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
+/*
+ Reads the given number of uncompressed bytes from the compressed file.
+ If the input file was not in gzip format, gzread copies the given number
+ of bytes into the buffer.
+ gzread returns the number of uncompressed bytes actually read (0 for
+ end of file, -1 for error). */
+
+ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
+ voidpc buf, unsigned len));
+/*
+ Writes the given number of uncompressed bytes into the compressed file.
+ gzwrite returns the number of uncompressed bytes actually written
+ (0 in case of error).
+*/
+
+ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
+/*
+ Converts, formats, and writes the args to the compressed file under
+ control of the format string, as in fprintf. gzprintf returns the number of
+ uncompressed bytes actually written (0 in case of error). The number of
+ uncompressed bytes written is limited to 4095. The caller should assure that
+ this limit is not exceeded. If it is exceeded, then gzprintf() will return
+ return an error (0) with nothing written. In this case, there may also be a
+ buffer overflow with unpredictable consequences, which is possible only if
+ zlib was compiled with the insecure functions sprintf() or vsprintf()
+ because the secure snprintf() or vsnprintf() functions were not available.
+*/
+
+ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
+/*
+ Writes the given null-terminated string to the compressed file, excluding
+ the terminating null character.
+ gzputs returns the number of characters written, or -1 in case of error.
+*/
+
+ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
+/*
+ Reads bytes from the compressed file until len-1 characters are read, or
+ a newline character is read and transferred to buf, or an end-of-file
+ condition is encountered. The string is then terminated with a null
+ character.
+ gzgets returns buf, or Z_NULL in case of error.
+*/
+
+ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
+/*
+ Writes c, converted to an unsigned char, into the compressed file.
+ gzputc returns the value that was written, or -1 in case of error.
+*/
+
+ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
+/*
+ Reads one byte from the compressed file. gzgetc returns this byte
+ or -1 in case of end of file or error.
+*/
+
+ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
+/*
+ Push one character back onto the stream to be read again later.
+ Only one character of push-back is allowed. gzungetc() returns the
+ character pushed, or -1 on failure. gzungetc() will fail if a
+ character has been pushed but not read yet, or if c is -1. The pushed
+ character will be discarded if the stream is repositioned with gzseek()
+ or gzrewind().
+*/
+
+ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
+/*
+ Flushes all pending output into the compressed file. The parameter
+ flush is as in the deflate() function. The return value is the zlib
+ error number (see function gzerror below). gzflush returns Z_OK if
+ the flush parameter is Z_FINISH and all output could be flushed.
+ gzflush should be called only when strictly necessary because it can
+ degrade compression.
+*/
+
+ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
+ z_off_t offset, int whence));
+/*
+ Sets the starting position for the next gzread or gzwrite on the
+ given compressed file. The offset represents a number of bytes in the
+ uncompressed data stream. The whence parameter is defined as in lseek(2);
+ the value SEEK_END is not supported.
+ If the file is opened for reading, this function is emulated but can be
+ extremely slow. If the file is opened for writing, only forward seeks are
+ supported; gzseek then compresses a sequence of zeroes up to the new
+ starting position.
+
+ gzseek returns the resulting offset location as measured in bytes from
+ the beginning of the uncompressed stream, or -1 in case of error, in
+ particular if the file is opened for writing and the new starting position
+ would be before the current position.
+*/
+
+ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
+/*
+ Rewinds the given file. This function is supported only for reading.
+
+ gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
+*/
+
+ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
+/*
+ Returns the starting position for the next gzread or gzwrite on the
+ given compressed file. This position represents a number of bytes in the
+ uncompressed data stream.
+
+ gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
+*/
+
+ZEXTERN int ZEXPORT gzeof OF((gzFile file));
+/*
+ Returns 1 when EOF has previously been detected reading the given
+ input stream, otherwise zero.
+*/
+
+ZEXTERN int ZEXPORT gzclose OF((gzFile file));
+/*
+ Flushes all pending output if necessary, closes the compressed file
+ and deallocates all the (de)compression state. The return value is the zlib
+ error number (see function gzerror below).
+*/
+
+ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
+/*
+ Returns the error message for the last error which occurred on the
+ given compressed file. errnum is set to zlib error number. If an
+ error occurred in the file system and not in the compression library,
+ errnum is set to Z_ERRNO and the application may consult errno
+ to get the exact error code.
+*/
+
+ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
+/*
+ Clears the error and end-of-file flags for file. This is analogous to the
+ clearerr() function in stdio. This is useful for continuing to read a gzip
+ file that is being written concurrently.
+*/
+
+ /* checksum functions */
+
+/*
+ These functions are not related to compression but are exported
+ anyway because they might be useful in applications using the
+ compression library.
+*/
+
+ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
+
+/*
+ Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+ return the updated checksum. If buf is NULL, this function returns
+ the required initial value for the checksum.
+ An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
+ much faster. Usage example:
+
+ uLong adler = adler32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ adler = adler32(adler, buffer, length);
+ }
+ if (adler != original_adler) error();
+*/
+
+ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
+/*
+ Update a running crc with the bytes buf[0..len-1] and return the updated
+ crc. If buf is NULL, this function returns the required initial value
+ for the crc. Pre- and post-conditioning (one's complement) is performed
+ within this function so it shouldn't be done by the application.
+ Usage example:
+
+ uLong crc = crc32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ crc = crc32(crc, buffer, length);
+ }
+ if (crc != original_crc) error();
+*/
+
+
+ /* various hacks, don't look :) */
+
+/* deflateInit and inflateInit are macros to allow checking the zlib version
+ * and the compiler's view of z_stream:
+ */
+ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
+ int windowBits, int memLevel,
+ int strategy, const char *version,
+ int stream_size));
+ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits,
+ unsigned char FAR *window,
+ const char *version,
+ int stream_size));
+#define deflateInit(strm, level) \
+ deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
+#define inflateInit(strm) \
+ inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
+#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+ deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+ (strategy), ZLIB_VERSION, sizeof(z_stream))
+#define inflateInit2(strm, windowBits) \
+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
+#define inflateBackInit(strm, windowBits, window) \
+ inflateBackInit_((strm), (windowBits), (window), \
+ ZLIB_VERSION, sizeof(z_stream))
+
+
+#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
+ struct internal_state {int dummy;}; /* hack for buggy compilers */
+#endif
+
+ZEXTERN const char * ZEXPORT zError OF((int));
+ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
+ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZLIB_H */