summaryrefslogtreecommitdiff
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 @@
1/*************************************************************************** 1/***************************************************************************
2 * __________ __ ___. 2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/ 7 * \/ \/ \/ \/ \/
8 * 8 *
9 * Copyright (C) 2008 by Dominik Riebeling 9 * Copyright (C) 2008 by Dominik Riebeling
10 * $Id$ 10 * $Id$
11 * 11 *
12 * All files in this archive are subject to the GNU General Public License. 12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement. 13 * See the file COPYING in the source tree root for full license agreement.
14 * 14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied. 16 * KIND, either express or implied.
17 * 17 *
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20#include "rbunzip.h" 20#include "rbunzip.h"
21#include <QtCore> 21#include <QtCore>
22 22
23 23
24UnZip::ErrorCode RbUnZip::extractArchive(const QString& dest) 24UnZip::ErrorCode RbUnZip::extractArchive(const QString& dest)
25{ 25{
26 QStringList files = this->fileList(); 26 QStringList files = this->fileList();
27 UnZip::ErrorCode error = Ok; 27 UnZip::ErrorCode error = Ok;
28 m_abortunzip = false; 28 m_abortunzip = false;
29 29
30 int total = files.size(); 30 int total = files.size();
31 for(int i = 0; i < total; i++) { 31 for(int i = 0; i < total; i++) {
32 qDebug() << __func__ << files.at(i); 32 qDebug() << __func__ << files.at(i);
33 error = this->extractFile(files.at(i), dest, UnZip::ExtractPaths); 33 error = this->extractFile(files.at(i), dest, UnZip::ExtractPaths);
34 emit unzipProgress(i + 1, total); 34 emit unzipProgress(i + 1, total);
35 QCoreApplication::processEvents(); // update UI 35 QCoreApplication::processEvents(); // update UI
36 if(m_abortunzip) 36 if(m_abortunzip)
37 error = SkipAll; 37 error = SkipAll;
38 if(error != Ok) 38 if(error != Ok)
39 break; 39 break;
40 } 40 }
41 return error; 41 return error;
42} 42}
43 43
44void RbUnZip::abortUnzip(void) 44void RbUnZip::abortUnzip(void)
45{ 45{
46 m_abortunzip = true; 46 m_abortunzip = true;
47} 47}
48 48
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 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE TS><TS version="1.1" language="de"> 2<!DOCTYPE TS><TS version="1.1" language="de">
3<defaultcodec></defaultcodec> 3<defaultcodec></defaultcodec>
4<context> 4<context>
5 <name>BootloaderInstaller</name> 5 <name>BootloaderInstaller</name>
6 <message> 6 <message>
7 <location filename="installbootloader.cpp" line="32"/> 7 <location filename="installbootloader.cpp" line="32"/>
8 <source>Starting bootloader installation</source> 8 <source>Starting bootloader installation</source>
9 <translation>Beginne Bootloader-Installation</translation> 9 <translation>Beginne Bootloader-Installation</translation>
10 </message> 10 </message>
11 <message> 11 <message>
12 <location filename="installbootloader.cpp" line="122"/> 12 <location filename="installbootloader.cpp" line="122"/>
13 <source>unsupported install Method</source> 13 <source>unsupported install Method</source>
14 <translation>Nicht unterstützte Installationsmethode</translation> 14 <translation>Nicht unterstützte Installationsmethode</translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <location filename="installbootloader.cpp" line="85"/> 17 <location filename="installbootloader.cpp" line="85"/>
18 <source>Starting bootloader uninstallation</source> 18 <source>Starting bootloader uninstallation</source>
19 <translation>Beginne Bootloader-Deinstallation</translation> 19 <translation>Beginne Bootloader-Deinstallation</translation>
20 </message> 20 </message>
21 <message> 21 <message>
22 <location filename="installbootloader.cpp" line="116"/> 22 <location filename="installbootloader.cpp" line="116"/>
23 <source>No uninstallation possible</source> 23 <source>No uninstallation possible</source>
24 <translation>Deinstallation nicht möglich</translation> 24 <translation>Deinstallation nicht möglich</translation>
25 </message> 25 </message>
26 <message> 26 <message>
27 <location filename="installbootloader.cpp" line="151"/> 27 <location filename="installbootloader.cpp" line="151"/>
28 <source>Download error: received HTTP error %1.</source> 28 <source>Download error: received HTTP error %1.</source>
29 <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation> 29 <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
30 </message> 30 </message>
31 <message> 31 <message>
32 <location filename="installbootloader.cpp" line="157"/> 32 <location filename="installbootloader.cpp" line="157"/>
33 <source>Download error: %1</source> 33 <source>Download error: %1</source>
34 <translation>Downloadfehler: %1</translation> 34 <translation>Downloadfehler: %1</translation>
35 </message> 35 </message>
36 <message> 36 <message>
37 <location filename="installbootloader.cpp" line="162"/> 37 <location filename="installbootloader.cpp" line="162"/>
38 <source>Download finished.</source> 38 <source>Download finished.</source>
39 <translation>Download abgeschlossen.</translation> 39 <translation>Download abgeschlossen.</translation>
40 </message> 40 </message>
41 <message> 41 <message>
42 <location filename="installbootloader.cpp" line="1093"/> 42 <location filename="installbootloader.cpp" line="1093"/>
43 <source>Downloading file %1.%2</source> 43 <source>Downloading file %1.%2</source>
44 <translation>Herunterladen von Datei %1.%2</translation> 44 <translation>Herunterladen von Datei %1.%2</translation>
45 </message> 45 </message>
46 <message> 46 <message>
47 <location filename="installbootloader.cpp" line="323"/> 47 <location filename="installbootloader.cpp" line="323"/>
48 <source>Could not find the Original Firmware at: %1</source> 48 <source>Could not find the Original Firmware at: %1</source>
49 <translation>Konnte Original-Firmware nicht finden: %1</translation> 49 <translation>Konnte Original-Firmware nicht finden: %1</translation>
50 </message> 50 </message>
51 <message> 51 <message>
52 <location filename="installbootloader.cpp" line="545"/> 52 <location filename="installbootloader.cpp" line="545"/>
53 <source>Could not remove the Firmware at: %1</source> 53 <source>Could not remove the Firmware at: %1</source>
54 <translation>Konnte die Firmware nicht entfernen: %1</translation> 54 <translation>Konnte die Firmware nicht entfernen: %1</translation>
55 </message> 55 </message>
56 <message> 56 <message>
57 <location filename="installbootloader.cpp" line="554"/> 57 <location filename="installbootloader.cpp" line="554"/>
58 <source>Could not copy the Firmware from: %1 to %2</source> 58 <source>Could not copy the Firmware from: %1 to %2</source>
59 <translation>Konnte die Firmware nicht von %1 nach %2 kopieren</translation> 59 <translation>Konnte die Firmware nicht von %1 nach %2 kopieren</translation>
60 </message> 60 </message>
61 <message> 61 <message>
62 <location filename="installbootloader.cpp" line="360"/> 62 <location filename="installbootloader.cpp" line="360"/>
63 <source>Finishing bootloader install</source> 63 <source>Finishing bootloader install</source>
64 <translation>Bootloader-Installation beendet</translation> 64 <translation>Bootloader-Installation beendet</translation>
65 </message> 65 </message>
66 <message> 66 <message>
67 <location filename="installbootloader.cpp" line="370"/> 67 <location filename="installbootloader.cpp" line="370"/>
68 <source>Could not find the Firmware at: %1</source> 68 <source>Could not find the Firmware at: %1</source>
69 <translation>Konnte die Firmware nicht finden: %1</translation> 69 <translation>Konnte die Firmware nicht finden: %1</translation>
70 </message> 70 </message>
71 <message> 71 <message>
72 <location filename="installbootloader.cpp" line="596"/> 72 <location filename="installbootloader.cpp" line="596"/>
73 <source>Could not rename: %1 to %2</source> 73 <source>Could not rename: %1 to %2</source>
74 <translation>Konnte %1 nicht nach %2 umbenennen</translation> 74 <translation>Konnte %1 nicht nach %2 umbenennen</translation>
75 </message> 75 </message>
76 <message> 76 <message>
77 <location filename="installbootloader.cpp" line="1207"/> 77 <location filename="installbootloader.cpp" line="1207"/>
78 <source>Could not copy: %1 to %2</source> 78 <source>Could not copy: %1 to %2</source>
79 <translation>Konnte nicht %1 nach %2 kopieren</translation> 79 <translation>Konnte nicht %1 nach %2 kopieren</translation>
80 </message> 80 </message>
81 <message> 81 <message>
82 <location filename="installbootloader.cpp" line="1217"/> 82 <location filename="installbootloader.cpp" line="1217"/>
83 <source>Bootloader install finished successfully.</source> 83 <source>Bootloader install finished successfully.</source>
84 <translation>Bootloader-Installation erfolgreich beendet.</translation> 84 <translation>Bootloader-Installation erfolgreich beendet.</translation>
85 </message> 85 </message>
86 <message> 86 <message>
87 <location filename="installbootloader.cpp" line="1218"/> 87 <location filename="installbootloader.cpp" line="1218"/>
88 <source>To finish the Bootloader installation, follow the steps below.</source> 88 <source>To finish the Bootloader installation, follow the steps below.</source>
89 <translation>Um die Bootloader-Installation zu beenden, folge den nachfolgenden Schritten.</translation> 89 <translation>Um die Bootloader-Installation zu beenden, folge den nachfolgenden Schritten.</translation>
90 </message> 90 </message>
91 <message> 91 <message>
92 <location filename="installbootloader.cpp" line="1219"/> 92 <location filename="installbootloader.cpp" line="1219"/>
93 <source>1. Eject/Unmount your Device.</source> 93 <source>1. Eject/Unmount your Device.</source>
94 <translation>1. Gerät &quot;sicher&quot; entfernen.</translation> 94 <translation>1. Gerät &quot;sicher&quot; entfernen.</translation>
95 </message> 95 </message>
96 <message> 96 <message>
97 <location filename="installbootloader.cpp" line="413"/> 97 <location filename="installbootloader.cpp" line="413"/>
98 <source>2. Unplug USB and any Power adapters.</source> 98 <source>2. Unplug USB and any Power adapters.</source>
99 <translation>2. Entferne USB- und Stromkabel.</translation> 99 <translation>2. Entferne USB- und Stromkabel.</translation>
100 </message> 100 </message>
101 <message> 101 <message>
102 <location filename="installbootloader.cpp" line="414"/> 102 <location filename="installbootloader.cpp" line="414"/>
103 <source>3. Hold POWER to turn the Device off.</source> 103 <source>3. Hold POWER to turn the Device off.</source>
104 <translation>3. Halte POWER um das Gerät auszuschalten.</translation> 104 <translation>3. Halte POWER um das Gerät auszuschalten.</translation>
105 </message> 105 </message>
106 <message> 106 <message>
107 <location filename="installbootloader.cpp" line="415"/> 107 <location filename="installbootloader.cpp" line="415"/>
108 <source>4. Toggle the Battery switch on the Device.</source> 108 <source>4. Toggle the Battery switch on the Device.</source>
109 <translation>4. Schalte den Akku an und wieder aus.</translation> 109 <translation>4. Schalte den Akku an und wieder aus.</translation>
110 </message> 110 </message>
111 <message> 111 <message>
112 <location filename="installbootloader.cpp" line="416"/> 112 <location filename="installbootloader.cpp" line="416"/>
113 <source>5. Hold POWER to boot the Rockbox bootloader.</source> 113 <source>5. Hold POWER to boot the Rockbox bootloader.</source>
114 <translation>5. Benutze den POWER-Knopf um den Rockbox-Bootloader zu booten.</translation> 114 <translation>5. Benutze den POWER-Knopf um den Rockbox-Bootloader zu booten.</translation>
115 </message> 115 </message>
116 <message> 116 <message>
117 <location filename="installbootloader.cpp" line="471"/> 117 <location filename="installbootloader.cpp" line="471"/>
118 <source>2. Turn you Device OFF.</source> 118 <source>2. Turn you Device OFF.</source>
119 <translation>2. Schalte das Gerät aus.</translation> 119 <translation>2. Schalte das Gerät aus.</translation>
120 </message> 120 </message>
121 <message> 121 <message>
122 <location filename="installbootloader.cpp" line="472"/> 122 <location filename="installbootloader.cpp" line="472"/>
123 <source>3. Insert Charger.</source> 123 <source>3. Insert Charger.</source>
124 <translation>3. Stecke das Ladegerät ein.</translation> 124 <translation>3. Stecke das Ladegerät ein.</translation>
125 </message> 125 </message>
126 <message> 126 <message>
127 <location filename="installbootloader.cpp" line="582"/> 127 <location filename="installbootloader.cpp" line="582"/>
128 <source>Firmware does not exist: %1</source> 128 <source>Firmware does not exist: %1</source>
129 <translation>Firmware existiert nicht: %1</translation> 129 <translation>Firmware existiert nicht: %1</translation>
130 </message> 130 </message>
131 <message> 131 <message>
132 <location filename="installbootloader.cpp" line="639"/> 132 <location filename="installbootloader.cpp" line="639"/>
133 <source>Searching for ipods</source> 133 <source>Searching for ipods</source>
134 <translation>Suche Ipods</translation> 134 <translation>Suche Ipods</translation>
135 </message> 135 </message>
136 <message> 136 <message>
137 <location filename="installbootloader.cpp" line="645"/> 137 <location filename="installbootloader.cpp" line="645"/>
138 <source>No Ipods found</source> 138 <source>No Ipods found</source>
139 <translation>Keine Ipods gefunden</translation> 139 <translation>Keine Ipods gefunden</translation>
140 </message> 140 </message>
141 <message> 141 <message>
142 <location filename="installbootloader.cpp" line="651"/> 142 <location filename="installbootloader.cpp" line="651"/>
143 <source>Too many Ipods found</source> 143 <source>Too many Ipods found</source>
144 <translation>Zu viele Ipods gefunden</translation> 144 <translation>Zu viele Ipods gefunden</translation>
145 </message> 145 </message>
146 <message> 146 <message>
147 <location filename="installbootloader.cpp" line="781"/> 147 <location filename="installbootloader.cpp" line="781"/>
148 <source>could not open ipod</source> 148 <source>could not open ipod</source>
149 <translation>Konnte Ipod nicht öffnen</translation> 149 <translation>Konnte Ipod nicht öffnen</translation>
150 </message> 150 </message>
151 <message> 151 <message>
152 <location filename="installbootloader.cpp" line="996"/> 152 <location filename="installbootloader.cpp" line="996"/>
153 <source>could not read partitiontable</source> 153 <source>could not read partitiontable</source>
154 <translation>Konnte die Partitionstabelle nicht lesen</translation> 154 <translation>Konnte die Partitionstabelle nicht lesen</translation>
155 </message> 155 </message>
156 <message> 156 <message>
157 <location filename="installbootloader.cpp" line="795"/> 157 <location filename="installbootloader.cpp" line="795"/>
158 <source>No partition 0 on disk</source> 158 <source>No partition 0 on disk</source>
159 <translation>Keine Partition 0 auf Laufwerk</translation> 159 <translation>Keine Partition 0 auf Laufwerk</translation>
160 </message> 160 </message>
161 <message> 161 <message>
162 <location filename="installbootloader.cpp" line="800"/> 162 <location filename="installbootloader.cpp" line="800"/>
163 <source>[INFO] Part Start Sector End Sector Size (MB) Type 163 <source>[INFO] Part Start Sector End Sector Size (MB) Type
164</source> 164</source>
165 <translation>[INFO] Part Start Sector End Sector Size (MB) Type</translation> 165 <translation>[INFO] Part Start Sector End Sector Size (MB) Type</translation>
166 </message> 166 </message>
167 <message> 167 <message>
168 <location filename="installbootloader.cpp" line="806"/> 168 <location filename="installbootloader.cpp" line="806"/>
169 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source> 169 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
170 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation> 170 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
171 </message> 171 </message>
172 <message> 172 <message>
173 <location filename="installbootloader.cpp" line="823"/> 173 <location filename="installbootloader.cpp" line="823"/>
174 <source>Failed to read firmware directory</source> 174 <source>Failed to read firmware directory</source>
175 <translation>Konnte das Firmwareverzeichniss nicht lesen</translation> 175 <translation>Konnte das Firmwareverzeichniss nicht lesen</translation>
176 </message> 176 </message>
177 <message> 177 <message>
178 <location filename="installbootloader.cpp" line="829"/> 178 <location filename="installbootloader.cpp" line="829"/>
179 <source>Unknown version number in firmware (%1)</source> 179 <source>Unknown version number in firmware (%1)</source>
180 <translation>Unbekannte Versionsnummer in Firmware (%1)</translation> 180 <translation>Unbekannte Versionsnummer in Firmware (%1)</translation>
181 </message> 181 </message>
182 <message> 182 <message>
183 <location filename="" line="0"/> 183 <location filename="" line="0"/>
184 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source> 184 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
185 <translation type="obsolete">Warnung, dies ist ein MacPod, Rockbox funktioniert damit nicht. Konvertiere das Gerät zu einem WinPod</translation> 185 <translation type="obsolete">Warnung, dies ist ein MacPod, Rockbox funktioniert damit nicht. Konvertiere das Gerät zu einem WinPod</translation>
186 </message> 186 </message>
187 <message> 187 <message>
188 <location filename="installbootloader.cpp" line="847"/> 188 <location filename="installbootloader.cpp" line="847"/>
189 <source>Could not open Ipod in RW mode</source> 189 <source>Could not open Ipod in RW mode</source>
190 <translation>Konnte den Ipod nicht im RW-Modus öffnen</translation> 190 <translation>Konnte den Ipod nicht im RW-Modus öffnen</translation>
191 </message> 191 </message>
192 <message> 192 <message>
193 <location filename="installbootloader.cpp" line="751"/> 193 <location filename="installbootloader.cpp" line="751"/>
194 <source>No bootloader detected.</source> 194 <source>No bootloader detected.</source>
195 <translation>Kein Bootloader erkannt.</translation> 195 <translation>Kein Bootloader erkannt.</translation>
196 </message> 196 </message>
197 <message> 197 <message>
198 <location filename="installbootloader.cpp" line="966"/> 198 <location filename="installbootloader.cpp" line="966"/>
199 <source>Successfully removed Bootloader</source> 199 <source>Successfully removed Bootloader</source>
200 <translation>Der Bootloader wurde erfolgreich entfernt</translation> 200 <translation>Der Bootloader wurde erfolgreich entfernt</translation>
201 </message> 201 </message>
202 <message> 202 <message>
203 <location filename="installbootloader.cpp" line="974"/> 203 <location filename="installbootloader.cpp" line="974"/>
204 <source>--delete-bootloader failed.</source> 204 <source>--delete-bootloader failed.</source>
205 <translation>--delete-bootloader fehlgeschlagen.</translation> 205 <translation>--delete-bootloader fehlgeschlagen.</translation>
206 </message> 206 </message>
207 <message> 207 <message>
208 <location filename="installbootloader.cpp" line="1031"/> 208 <location filename="installbootloader.cpp" line="1031"/>
209 <source>Successfully added Bootloader</source> 209 <source>Successfully added Bootloader</source>
210 <translation>Bootloader wurde erfolgreich installiert</translation> 210 <translation>Bootloader wurde erfolgreich installiert</translation>
211 </message> 211 </message>
212 <message> 212 <message>
213 <location filename="installbootloader.cpp" line="1039"/> 213 <location filename="installbootloader.cpp" line="1039"/>
214 <source>failed to add Bootloader</source> 214 <source>failed to add Bootloader</source>
215 <translation>Konnte Bootloader nicht installieren</translation> 215 <translation>Konnte Bootloader nicht installieren</translation>
216 </message> 216 </message>
217 <message> 217 <message>
218 <location filename="installbootloader.cpp" line="882"/> 218 <location filename="installbootloader.cpp" line="882"/>
219 <source>Searching for sansas</source> 219 <source>Searching for sansas</source>
220 <translation>Suche Sansas</translation> 220 <translation>Suche Sansas</translation>
221 </message> 221 </message>
222 <message> 222 <message>
223 <location filename="installbootloader.cpp" line="888"/> 223 <location filename="installbootloader.cpp" line="888"/>
224 <source>No Sansa found</source> 224 <source>No Sansa found</source>
225 <translation>Keine Sansa gefunden</translation> 225 <translation>Keine Sansa gefunden</translation>
226 </message> 226 </message>
227 <message> 227 <message>
228 <location filename="installbootloader.cpp" line="894"/> 228 <location filename="installbootloader.cpp" line="894"/>
229 <source>Too many Sansas found</source> 229 <source>Too many Sansas found</source>
230 <translation>Zuviele Sansas gefunden</translation> 230 <translation>Zuviele Sansas gefunden</translation>
231 </message> 231 </message>
232 <message> 232 <message>
233 <location filename="installbootloader.cpp" line="989"/> 233 <location filename="installbootloader.cpp" line="989"/>
234 <source>could not open Sansa</source> 234 <source>could not open Sansa</source>
235 <translation>Konnte Sansa nicht öffnen </translation> 235 <translation>Konnte Sansa nicht öffnen </translation>
236 </message> 236 </message>
237 <message> 237 <message>
238 <location filename="" line="0"/> 238 <location filename="" line="0"/>
239 <source>Disk is not an E200 (%1), aborting.</source> 239 <source>Disk is not an E200 (%1), aborting.</source>
240 <translation type="obsolete">Dies ist kein E200 (%1), Fehler.</translation> 240 <translation type="obsolete">Dies ist kein E200 (%1), Fehler.</translation>
241 </message> 241 </message>
242 <message> 242 <message>
243 <location filename="installbootloader.cpp" line="1017"/> 243 <location filename="installbootloader.cpp" line="1017"/>
244 <source>******************************************** 244 <source>********************************************
245OLD ROCKBOX INSTALLATION DETECTED, ABORTING. 245OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
246You must reinstall the original Sansa firmware before running 246You must reinstall the original Sansa firmware before running
247sansapatcher for the first time. 247sansapatcher for the first time.
248See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install 248See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
249********************************************* 249*********************************************
250</source> 250</source>
251 <translation>******************************************** 251 <translation>********************************************
252ALTE 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> 252ALTE 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>
253 </message> 253 </message>
254 <message> 254 <message>
255 <location filename="installbootloader.cpp" line="1024"/> 255 <location filename="installbootloader.cpp" line="1024"/>
256 <source>Could not open Sansa in RW mode</source> 256 <source>Could not open Sansa in RW mode</source>
257 <translation>Konnte Sansa nicht im RW-Modus öffnen</translation> 257 <translation>Konnte Sansa nicht im RW-Modus öffnen</translation>
258 </message> 258 </message>
259 <message> 259 <message>
260 <location filename="installbootloader.cpp" line="1055"/> 260 <location filename="installbootloader.cpp" line="1055"/>
261 <source>Could not MD5Sum original firmware</source> 261 <source>Could not MD5Sum original firmware</source>
262 <translation>Konnte MD5-Summe der Originalfirmware nicht berechnen</translation> 262 <translation>Konnte MD5-Summe der Originalfirmware nicht berechnen</translation>
263 </message> 263 </message>
264 <message> 264 <message>
265 <location filename="installbootloader.cpp" line="1085"/> 265 <location filename="installbootloader.cpp" line="1085"/>
266 <source>Could not detect firmware type</source> 266 <source>Could not detect firmware type</source>
267 <translation>Konnte Firmwaretyp nicht erkennen</translation> 267 <translation>Konnte Firmwaretyp nicht erkennen</translation>
268 </message> 268 </message>
269 <message> 269 <message>
270 <location filename="installbootloader.cpp" line="1148"/> 270 <location filename="installbootloader.cpp" line="1148"/>
271 <source>Error in descramble</source> 271 <source>Error in descramble</source>
272 <translation>Fehler bei descramble</translation> 272 <translation>Fehler bei descramble</translation>
273 </message> 273 </message>
274 <message> 274 <message>
275 <location filename="installbootloader.cpp" line="1158"/> 275 <location filename="installbootloader.cpp" line="1158"/>
276 <source>Error in patching</source> 276 <source>Error in patching</source>
277 <translation>Fehler beim Patchen</translation> 277 <translation>Fehler beim Patchen</translation>
278 </message> 278 </message>
279 <message> 279 <message>
280 <location filename="installbootloader.cpp" line="1168"/> 280 <location filename="installbootloader.cpp" line="1168"/>
281 <source>Error in scramble</source> 281 <source>Error in scramble</source>
282 <translation>Fehler beim scramblen</translation> 282 <translation>Fehler beim scramblen</translation>
283 </message> 283 </message>
284 <message> 284 <message>
285 <location filename="installbootloader.cpp" line="1179"/> 285 <location filename="installbootloader.cpp" line="1179"/>
286 <source>Error in checksumming</source> 286 <source>Error in checksumming</source>
287 <translation>Fehler bei der Prüfsummenbildung</translation> 287 <translation>Fehler bei der Prüfsummenbildung</translation>
288 </message> 288 </message>
289 <message> 289 <message>
290 <location filename="installbootloader.cpp" line="1220"/> 290 <location filename="installbootloader.cpp" line="1220"/>
291 <source>2. Boot into the original Firmware.</source> 291 <source>2. Boot into the original Firmware.</source>
292 <translation>2. Boote die Original-Firmware.</translation> 292 <translation>2. Boote die Original-Firmware.</translation>
293 </message> 293 </message>
294 <message> 294 <message>
295 <location filename="installbootloader.cpp" line="1221"/> 295 <location filename="installbootloader.cpp" line="1221"/>
296 <source>3. Use the Firmware flash option in the Original Firmware.</source> 296 <source>3. Use the Firmware flash option in the Original Firmware.</source>
297 <translation>3. Flashe die Firmware entsprechend der Originalanleitung.</translation> 297 <translation>3. Flashe die Firmware entsprechend der Originalanleitung.</translation>
298 </message> 298 </message>
299 <message> 299 <message>
300 <location filename="installbootloader.cpp" line="1222"/> 300 <location filename="installbootloader.cpp" line="1222"/>
301 <source>4. Reboot.</source> 301 <source>4. Reboot.</source>
302 <translation>4. Boote neu.</translation> 302 <translation>4. Boote neu.</translation>
303 </message> 303 </message>
304 <message> 304 <message>
305 <location filename="installbootloader.cpp" line="224"/> 305 <location filename="installbootloader.cpp" line="224"/>
306 <source>Network error: %1. Please check your network and proxy settings.</source> 306 <source>Network error: %1. Please check your network and proxy settings.</source>
307 <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation> 307 <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
308 </message> 308 </message>
309 <message> 309 <message>
310 <location filename="installbootloader.cpp" line="237"/> 310 <location filename="installbootloader.cpp" line="237"/>
311 <source>Creating installation log</source> 311 <source>Creating installation log</source>
312 <translation>Erzeuge Installationslog</translation> 312 <translation>Erzeuge Installationslog</translation>
313 </message> 313 </message>
314 <message> 314 <message>
315 <location filename="installbootloader.cpp" line="253"/> 315 <location filename="installbootloader.cpp" line="253"/>
316 <source>Editing installation log</source> 316 <source>Editing installation log</source>
317 <translation>Verändere Installationslog</translation> 317 <translation>Verändere Installationslog</translation>
318 </message> 318 </message>
319 <message> 319 <message>
320 <location filename="installbootloader.cpp" line="533"/> 320 <location filename="installbootloader.cpp" line="533"/>
321 <source>Original Firmware does not exist: %1</source> 321 <source>Original Firmware does not exist: %1</source>
322 <translation>Original-Firmware %1 existiert nicht</translation> 322 <translation>Original-Firmware %1 existiert nicht</translation>
323 </message> 323 </message>
324 <message> 324 <message>
325 <location filename="installbootloader.cpp" line="839"/> 325 <location filename="installbootloader.cpp" line="839"/>
326 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod 326 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
327See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> 327See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
328 <translation>Achtung dies ist ein MacPod. Rockbox funktioniert so nicht. Konvertiere es zu einem WinPod 328 <translation>Achtung dies ist ein MacPod. Rockbox funktioniert so nicht. Konvertiere es zu einem WinPod
329Siehe http://www.rockbox.org/wiki/IpodConversionToFAT32</translation> 329Siehe http://www.rockbox.org/wiki/IpodConversionToFAT32</translation>
330 </message> 330 </message>
331 <message> 331 <message>
332 <location filename="installbootloader.cpp" line="1005"/> 332 <location filename="installbootloader.cpp" line="1005"/>
333 <source>Disk is not a Sansa (%1), aborting.</source> 333 <source>Disk is not a Sansa (%1), aborting.</source>
334 <translation>Gerät ist kein Sansa (%1), stoppe.</translation> 334 <translation>Gerät ist kein Sansa (%1), stoppe.</translation>
335 </message> 335 </message>
336</context> 336</context>
337<context> 337<context>
338 <name>BrowseDirtreeFrm</name> 338 <name>BrowseDirtreeFrm</name>
339 <message> 339 <message>
340 <location filename="browsedirtreefrm.ui" line="13"/> 340 <location filename="browsedirtreefrm.ui" line="13"/>
341 <source>Find Directory</source> 341 <source>Find Directory</source>
342 <translation>Suche Verzeichnis</translation> 342 <translation>Suche Verzeichnis</translation>
343 </message> 343 </message>
344 <message> 344 <message>
345 <location filename="browsedirtreefrm.ui" line="19"/> 345 <location filename="browsedirtreefrm.ui" line="19"/>
346 <source>Browse to the destination folder</source> 346 <source>Browse to the destination folder</source>
347 <translation>Suche Zielordner</translation> 347 <translation>Suche Zielordner</translation>
348 </message> 348 </message>
349 <message> 349 <message>
350 <location filename="browsedirtreefrm.ui" line="47"/> 350 <location filename="browsedirtreefrm.ui" line="47"/>
351 <source>&amp;Ok</source> 351 <source>&amp;Ok</source>
352 <translation>&amp;Ok</translation> 352 <translation>&amp;Ok</translation>
353 </message> 353 </message>
354 <message> 354 <message>
355 <location filename="browsedirtreefrm.ui" line="57"/> 355 <location filename="browsedirtreefrm.ui" line="57"/>
356 <source>&amp;Cancel</source> 356 <source>&amp;Cancel</source>
357 <translation>&amp;Abbrechen</translation> 357 <translation>&amp;Abbrechen</translation>
358 </message> 358 </message>
359</context> 359</context>
360<context> 360<context>
361 <name>BrowseOFFrm</name> 361 <name>BrowseOFFrm</name>
362 <message> 362 <message>
363 <location filename="browseoffrm.ui" line="13"/> 363 <location filename="browseoffrm.ui" line="13"/>
364 <source>Find original Firmware</source> 364 <source>Find original Firmware</source>
365 <translation>Finde Original-Firmware</translation> 365 <translation>Finde Original-Firmware</translation>
366 </message> 366 </message>
367 <message> 367 <message>
368 <location filename="browseoffrm.ui" line="19"/> 368 <location filename="browseoffrm.ui" line="19"/>
369 <source>Browse for a downloaded copy of the original firmware</source> 369 <source>Browse for a downloaded copy of the original firmware</source>
370 <translation>Browse nach einer heruntergeladenen Kopie der Original-Firmware</translation> 370 <translation>Browse nach einer heruntergeladenen Kopie der Original-Firmware</translation>
371 </message> 371 </message>
372 <message> 372 <message>
373 <location filename="browseoffrm.ui" line="32"/> 373 <location filename="browseoffrm.ui" line="32"/>
374 <source>Browse</source> 374 <source>Browse</source>
375 <translation>Browser</translation> 375 <translation>Browser</translation>
376 </message> 376 </message>
377 <message> 377 <message>
378 <location filename="browseoffrm.ui" line="54"/> 378 <location filename="browseoffrm.ui" line="54"/>
379 <source>&amp;Ok</source> 379 <source>&amp;Ok</source>
380 <translation>&amp;Ok</translation> 380 <translation>&amp;Ok</translation>
381 </message> 381 </message>
382 <message> 382 <message>
383 <location filename="browseoffrm.ui" line="64"/> 383 <location filename="browseoffrm.ui" line="64"/>
384 <source>&amp;Cancel</source> 384 <source>&amp;Cancel</source>
385 <translation>&amp;Abbrechen</translation> 385 <translation>&amp;Abbrechen</translation>
386 </message> 386 </message>
387</context> 387</context>
388<context> 388<context>
389 <name>Config</name> 389 <name>Config</name>
390 <message> 390 <message>
391 <location filename="configure.cpp" line="110"/> 391 <location filename="configure.cpp" line="110"/>
392 <source>Language changed</source> 392 <source>Language changed</source>
393 <translation>Sprache geändert</translation> 393 <translation>Sprache geändert</translation>
394 </message> 394 </message>
395 <message> 395 <message>
396 <location filename="configure.cpp" line="111"/> 396 <location filename="configure.cpp" line="111"/>
397 <source>You need to restart the application for the changed language to take effect.</source> 397 <source>You need to restart the application for the changed language to take effect.</source>
398 <translation>Die Anwendung muss neu gestartet werden um die geänderten Spracheinstallungen anzuwenden.</translation> 398 <translation>Die Anwendung muss neu gestartet werden um die geänderten Spracheinstallungen anzuwenden.</translation>
399 </message> 399 </message>
400 <message> 400 <message>
401 <location filename="configure.cpp" line="593"/> 401 <location filename="configure.cpp" line="593"/>
402 <source>Autodetection</source> 402 <source>Autodetection</source>
403 <translation>Autoerkennung</translation> 403 <translation>Autoerkennung</translation>
404 </message> 404 </message>
405 <message> 405 <message>
406 <location filename="configure.cpp" line="587"/> 406 <location filename="configure.cpp" line="587"/>
407 <source>Could not detect a Mountpoint. 407 <source>Could not detect a Mountpoint.
408Select your Mountpoint manually.</source> 408Select your Mountpoint manually.</source>
409 <translation>Konnte Einhängepunkt nicht erkennen. 409 <translation>Konnte Einhängepunkt nicht erkennen.
410Bitte manuell auswählen.</translation> 410Bitte manuell auswählen.</translation>
411 </message> 411 </message>
412 <message> 412 <message>
413 <location filename="configure.cpp" line="595"/> 413 <location filename="configure.cpp" line="595"/>
414 <source>Could not detect a device. 414 <source>Could not detect a device.
415Select your device and Mountpoint manually.</source> 415Select your device and Mountpoint manually.</source>
416 <translation>Konnte kein Gerät erkennen. 416 <translation>Konnte kein Gerät erkennen.
417Bitte Gerät und den Einhängepunt manuell auswählen.</translation> 417Bitte Gerät und den Einhängepunt manuell auswählen.</translation>
418 </message> 418 </message>
419 <message> 419 <message>
420 <location filename="" line="0"/> 420 <location filename="" line="0"/>
421 <source>Current cache size is %1 kiB.</source> 421 <source>Current cache size is %1 kiB.</source>
422 <translation type="obsolete">Aktuelle Cachegröße ist %1 kiB.</translation> 422 <translation type="obsolete">Aktuelle Cachegröße ist %1 kiB.</translation>
423 </message> 423 </message>
424 <message> 424 <message>
425 <location filename="configure.cpp" line="603"/> 425 <location filename="configure.cpp" line="603"/>
426 <source>Really delete cache?</source> 426 <source>Really delete cache?</source>
427 <translation>Cache wirklich löschen?</translation> 427 <translation>Cache wirklich löschen?</translation>
428 </message> 428 </message>
429 <message> 429 <message>
430 <location filename="configure.cpp" line="606"/> 430 <location filename="configure.cpp" line="606"/>
431 <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> 431 <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>
432 <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> 432 <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>
433 </message> 433 </message>
434 <message> 434 <message>
435 <location filename="configure.cpp" line="612"/> 435 <location filename="configure.cpp" line="612"/>
436 <source>Path wrong!</source> 436 <source>Path wrong!</source>
437 <translation>Pfad fehlerhaft!</translation> 437 <translation>Pfad fehlerhaft!</translation>
438 </message> 438 </message>
439 <message> 439 <message>
440 <location filename="configure.cpp" line="613"/> 440 <location filename="configure.cpp" line="613"/>
441 <source>The cache path is invalid. Aborting.</source> 441 <source>The cache path is invalid. Aborting.</source>
442 <translation>Cachepfad ist ungültig. Abbruch.</translation> 442 <translation>Cachepfad ist ungültig. Abbruch.</translation>
443 </message> 443 </message>
444 <message> 444 <message>
445 <location filename="configure.cpp" line="56"/> 445 <location filename="configure.cpp" line="56"/>
446 <source> (%1)</source> 446 <source> (%1)</source>
447 <translation>(%1)</translation> 447 <translation>(%1)</translation>
448 </message> 448 </message>
449 <message> 449 <message>
450 <location filename="configure.cpp" line="220"/> 450 <location filename="configure.cpp" line="220"/>
451 <source>Current cache size is %L1 kiB.</source> 451 <source>Current cache size is %L1 kiB.</source>
452 <translation>Momentane Cachegröße ist %L1 kiB. </translation> 452 <translation>Momentane Cachegröße ist %L1 kiB. </translation>
453 </message> 453 </message>
454 <message> 454 <message>
455 <location filename="configure.cpp" line="418"/> 455 <location filename="configure.cpp" line="418"/>
456 <source>(system proxy is disabled)</source> 456 <source>(system proxy is disabled)</source>
457 <translation>(system proxy ist deaktiviert)</translation> 457 <translation>(system proxy ist deaktiviert)</translation>
458 </message> 458 </message>
459 <message> 459 <message>
460 <location filename="configure.cpp" line="485"/> 460 <location filename="configure.cpp" line="485"/>
461 <source>Select your device</source> 461 <source>Select your device</source>
462 <translation>Wähle dein Gerät</translation> 462 <translation>Wähle dein Gerät</translation>
463 </message> 463 </message>
464 <message> 464 <message>
465 <location filename="configure.cpp" line="569"/> 465 <location filename="configure.cpp" line="569"/>
466 <source>Sansa e200 in MTP mode found! 466 <source>Sansa e200 in MTP mode found!
467You need to change your player to MSC mode for installation. </source> 467You need to change your player to MSC mode for installation. </source>
468 <translation>Sansa e200 in MTP Modus gefunden! 468 <translation>Sansa e200 in MTP Modus gefunden!
469Stellen sie ihren Player auf MSC Mode um.</translation> 469Stellen sie ihren Player auf MSC Mode um.</translation>
470 </message> 470 </message>
471 <message> 471 <message>
472 <location filename="configure.cpp" line="572"/> 472 <location filename="configure.cpp" line="572"/>
473 <source>H10 20GB in MTP mode found! 473 <source>H10 20GB in MTP mode found!
474You need to change your player to UMS mode for installation. </source> 474You need to change your player to UMS mode for installation. </source>
475 <translation>H10 20GB in MTP Modus gefunden! 475 <translation>H10 20GB in MTP Modus gefunden!
476Ändern sie den Modus auf UMS.</translation> 476Ändern sie den Modus auf UMS.</translation>
477 </message> 477 </message>
478 <message> 478 <message>
479 <location filename="configure.cpp" line="573"/> 479 <location filename="configure.cpp" line="573"/>
480 <source>Unless you changed this installation will fail!</source> 480 <source>Unless you changed this installation will fail!</source>
481 <translation>Solange sie dies nicht ändern, wird die Installation fehlschlagen!</translation> 481 <translation>Solange sie dies nicht ändern, wird die Installation fehlschlagen!</translation>
482 </message> 482 </message>
483 <message> 483 <message>
484 <location filename="configure.cpp" line="575"/> 484 <location filename="configure.cpp" line="575"/>
485 <source>Fatal error</source> 485 <source>Fatal error</source>
486 <translation>Fataler Fehler</translation> 486 <translation>Fataler Fehler</translation>
487 </message> 487 </message>
488</context> 488</context>
489<context> 489<context>
490 <name>ConfigForm</name> 490 <name>ConfigForm</name>
491 <message> 491 <message>
492 <location filename="configurefrm.ui" line="13"/> 492 <location filename="configurefrm.ui" line="13"/>
493 <source>Configuration</source> 493 <source>Configuration</source>
494 <translation>Konfiguration</translation> 494 <translation>Konfiguration</translation>
495 </message> 495 </message>
496 <message> 496 <message>
497 <location filename="configurefrm.ui" line="19"/> 497 <location filename="configurefrm.ui" line="19"/>
498 <source>Configure Rockbox Utility</source> 498 <source>Configure Rockbox Utility</source>
499 <translation>Rockbox Utility konfigurieren</translation> 499 <translation>Rockbox Utility konfigurieren</translation>
500 </message> 500 </message>
501 <message> 501 <message>
502 <location filename="configurefrm.ui" line="507"/> 502 <location filename="configurefrm.ui" line="507"/>
503 <source>&amp;Ok</source> 503 <source>&amp;Ok</source>
504 <translation>&amp;Ok</translation> 504 <translation>&amp;Ok</translation>
505 </message> 505 </message>
506 <message> 506 <message>
507 <location filename="configurefrm.ui" line="517"/> 507 <location filename="configurefrm.ui" line="517"/>
508 <source>&amp;Cancel</source> 508 <source>&amp;Cancel</source>
509 <translation>&amp;Abbrechen</translation> 509 <translation>&amp;Abbrechen</translation>
510 </message> 510 </message>
511 <message> 511 <message>
512 <location filename="configurefrm.ui" line="109"/> 512 <location filename="configurefrm.ui" line="109"/>
513 <source>&amp;Proxy</source> 513 <source>&amp;Proxy</source>
514 <translation>&amp;Proxy</translation> 514 <translation>&amp;Proxy</translation>
515 </message> 515 </message>
516 <message> 516 <message>
517 <location filename="configurefrm.ui" line="118"/> 517 <location filename="configurefrm.ui" line="118"/>
518 <source>&amp;No Proxy</source> 518 <source>&amp;No Proxy</source>
519 <translation>&amp;kein Proxy</translation> 519 <translation>&amp;kein Proxy</translation>
520 </message> 520 </message>
521 <message> 521 <message>
522 <location filename="configurefrm.ui" line="135"/> 522 <location filename="configurefrm.ui" line="135"/>
523 <source>&amp;Manual Proxy settings</source> 523 <source>&amp;Manual Proxy settings</source>
524 <translation>&amp;Manuelle Proxyeinstellungen</translation> 524 <translation>&amp;Manuelle Proxyeinstellungen</translation>
525 </message> 525 </message>
526 <message> 526 <message>
527 <location filename="configurefrm.ui" line="142"/> 527 <location filename="configurefrm.ui" line="142"/>
528 <source>Proxy Values</source> 528 <source>Proxy Values</source>
529 <translation>Proxyeinstellungen</translation> 529 <translation>Proxyeinstellungen</translation>
530 </message> 530 </message>
531 <message> 531 <message>
532 <location filename="configurefrm.ui" line="148"/> 532 <location filename="configurefrm.ui" line="148"/>
533 <source>&amp;Host:</source> 533 <source>&amp;Host:</source>
534 <translation>&amp;Host:</translation> 534 <translation>&amp;Host:</translation>
535 </message> 535 </message>
536 <message> 536 <message>
537 <location filename="configurefrm.ui" line="165"/> 537 <location filename="configurefrm.ui" line="165"/>
538 <source>&amp;Port:</source> 538 <source>&amp;Port:</source>
539 <translation>&amp;Port:</translation> 539 <translation>&amp;Port:</translation>
540 </message> 540 </message>
541 <message> 541 <message>
542 <location filename="configurefrm.ui" line="188"/> 542 <location filename="configurefrm.ui" line="188"/>
543 <source>&amp;Username</source> 543 <source>&amp;Username</source>
544 <translation>&amp;Benutzername</translation> 544 <translation>&amp;Benutzername</translation>
545 </message> 545 </message>
546 <message> 546 <message>
547 <location filename="configurefrm.ui" line="225"/> 547 <location filename="configurefrm.ui" line="225"/>
548 <source>&amp;Language</source> 548 <source>&amp;Language</source>
549 <translation>&amp;Sprache</translation> 549 <translation>&amp;Sprache</translation>
550 </message> 550 </message>
551 <message> 551 <message>
552 <location filename="configurefrm.ui" line="30"/> 552 <location filename="configurefrm.ui" line="30"/>
553 <source>&amp;Device</source> 553 <source>&amp;Device</source>
554 <translation>&amp;Gerät</translation> 554 <translation>&amp;Gerät</translation>
555 </message> 555 </message>
556 <message> 556 <message>
557 <location filename="configurefrm.ui" line="39"/> 557 <location filename="configurefrm.ui" line="39"/>
558 <source>Select your device in the &amp;filesystem</source> 558 <source>Select your device in the &amp;filesystem</source>
559 <translation>Gerät im &amp;Dateisystem auswählen</translation> 559 <translation>Gerät im &amp;Dateisystem auswählen</translation>
560 </message> 560 </message>
561 <message> 561 <message>
562 <location filename="configurefrm.ui" line="286"/> 562 <location filename="configurefrm.ui" line="286"/>
563 <source>&amp;Browse</source> 563 <source>&amp;Browse</source>
564 <translation>D&amp;urchsuchen</translation> 564 <translation>D&amp;urchsuchen</translation>
565 </message> 565 </message>
566 <message> 566 <message>
567 <location filename="configurefrm.ui" line="66"/> 567 <location filename="configurefrm.ui" line="66"/>
568 <source>&amp;Select your audio player</source> 568 <source>&amp;Select your audio player</source>
569 <translation>Audio-Player au&amp;swählen</translation> 569 <translation>Audio-Player au&amp;swählen</translation>
570 </message> 570 </message>
571 <message> 571 <message>
572 <location filename="configurefrm.ui" line="77"/> 572 <location filename="configurefrm.ui" line="77"/>
573 <source>1</source> 573 <source>1</source>
574 <translation>1</translation> 574 <translation>1</translation>
575 </message> 575 </message>
576 <message> 576 <message>
577 <location filename="configurefrm.ui" line="98"/> 577 <location filename="configurefrm.ui" line="98"/>
578 <source>&amp;Autodetect</source> 578 <source>&amp;Autodetect</source>
579 <translation>&amp;Autoerkennung</translation> 579 <translation>&amp;Autoerkennung</translation>
580 </message> 580 </message>
581 <message> 581 <message>
582 <location filename="configurefrm.ui" line="128"/> 582 <location filename="configurefrm.ui" line="128"/>
583 <source>Use S&amp;ystem values</source> 583 <source>Use S&amp;ystem values</source>
584 <translation>S&amp;ystemwerte verwenden</translation> 584 <translation>S&amp;ystemwerte verwenden</translation>
585 </message> 585 </message>
586 <message> 586 <message>
587 <location filename="configurefrm.ui" line="198"/> 587 <location filename="configurefrm.ui" line="198"/>
588 <source>Pass&amp;word</source> 588 <source>Pass&amp;word</source>
589 <translation>Pass&amp;wort</translation> 589 <translation>Pass&amp;wort</translation>
590 </message> 590 </message>
591 <message> 591 <message>
592 <location filename="configurefrm.ui" line="238"/> 592 <location filename="configurefrm.ui" line="238"/>
593 <source>Cac&amp;he</source> 593 <source>Cac&amp;he</source>
594 <translation>Cac&amp;he</translation> 594 <translation>Cac&amp;he</translation>
595 </message> 595 </message>
596 <message> 596 <message>
597 <location filename="configurefrm.ui" line="244"/> 597 <location filename="configurefrm.ui" line="244"/>
598 <source>Download cache settings</source> 598 <source>Download cache settings</source>
599 <translation>Einstellungen Downloadcache</translation> 599 <translation>Einstellungen Downloadcache</translation>
600 </message> 600 </message>
601 <message> 601 <message>
602 <location filename="configurefrm.ui" line="250"/> 602 <location filename="configurefrm.ui" line="250"/>
603 <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> 603 <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>
604 <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> 604 <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>
605 </message> 605 </message>
606 <message> 606 <message>
607 <location filename="configurefrm.ui" line="260"/> 607 <location filename="configurefrm.ui" line="260"/>
608 <source>Current cache size is %1</source> 608 <source>Current cache size is %1</source>
609 <translation>Aktuelle Cachegröße ist %1</translation> 609 <translation>Aktuelle Cachegröße ist %1</translation>
610 </message> 610 </message>
611 <message> 611 <message>
612 <location filename="configurefrm.ui" line="269"/> 612 <location filename="configurefrm.ui" line="269"/>
613 <source>P&amp;ath</source> 613 <source>P&amp;ath</source>
614 <translation>P&amp;fad</translation> 614 <translation>P&amp;fad</translation>
615 </message> 615 </message>
616 <message> 616 <message>
617 <location filename="configurefrm.ui" line="300"/> 617 <location filename="configurefrm.ui" line="300"/>
618 <source>Disable local &amp;download cache</source> 618 <source>Disable local &amp;download cache</source>
619 <translation>lokalen &amp;Downloadcache ausschalten</translation> 619 <translation>lokalen &amp;Downloadcache ausschalten</translation>
620 </message> 620 </message>
621 <message> 621 <message>
622 <location filename="configurefrm.ui" line="310"/> 622 <location filename="configurefrm.ui" line="310"/>
623 <source>O&amp;ffline mode</source> 623 <source>O&amp;ffline mode</source>
624 <translation>O&amp;ffline-Modus</translation> 624 <translation>O&amp;ffline-Modus</translation>
625 </message> 625 </message>
626 <message> 626 <message>
627 <location filename="configurefrm.ui" line="345"/> 627 <location filename="configurefrm.ui" line="345"/>
628 <source>Clean cache &amp;now</source> 628 <source>Clean cache &amp;now</source>
629 <translation>C&amp;ache löschen</translation> 629 <translation>C&amp;ache löschen</translation>
630 </message> 630 </message>
631 <message> 631 <message>
632 <location filename="configurefrm.ui" line="279"/> 632 <location filename="configurefrm.ui" line="279"/>
633 <source>Entering an invalid folder will reset the path to the systems temporary path.</source> 633 <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
634 <translation>Ein ungültiger Ordner setzt den Pfad auf den temporären Pfad des Betriebssystems zurück.</translation> 634 <translation>Ein ungültiger Ordner setzt den Pfad auf den temporären Pfad des Betriebssystems zurück.</translation>
635 </message> 635 </message>
636 <message> 636 <message>
637 <location filename="configurefrm.ui" line="307"/> 637 <location filename="configurefrm.ui" line="307"/>
638 <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> 638 <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>
639 <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> 639 <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>
640 </message> 640 </message>
641 <message> 641 <message>
642 <location filename="configurefrm.ui" line="356"/> 642 <location filename="configurefrm.ui" line="356"/>
643 <source>&amp;TTS &amp;&amp; Encoder</source> 643 <source>&amp;TTS &amp;&amp; Encoder</source>
644 <translation>&amp;TTS &amp;&amp; Encoder</translation> 644 <translation>&amp;TTS &amp;&amp; Encoder</translation>
645 </message> 645 </message>
646 <message> 646 <message>
647 <location filename="configurefrm.ui" line="365"/> 647 <location filename="configurefrm.ui" line="365"/>
648 <source>TTS Engine</source> 648 <source>TTS Engine</source>
649 <translation>TTS Engine</translation> 649 <translation>TTS Engine</translation>
650 </message> 650 </message>
651 <message> 651 <message>
652 <location filename="" line="0"/> 652 <location filename="" line="0"/>
653 <source>&amp;Select TTS profile</source> 653 <source>&amp;Select TTS profile</source>
654 <translation type="obsolete">TTS-Profil au&amp;swählen</translation> 654 <translation type="obsolete">TTS-Profil au&amp;swählen</translation>
655 </message> 655 </message>
656 <message> 656 <message>
657 <location filename="" line="0"/> 657 <location filename="" line="0"/>
658 <source>TTS Options</source> 658 <source>TTS Options</source>
659 <translation type="obsolete">TTS-Optionen</translation> 659 <translation type="obsolete">TTS-Optionen</translation>
660 </message> 660 </message>
661 <message> 661 <message>
662 <location filename="configurefrm.ui" line="421"/> 662 <location filename="configurefrm.ui" line="421"/>
663 <source>Encoder Engine</source> 663 <source>Encoder Engine</source>
664 <translation>Encoder</translation> 664 <translation>Encoder</translation>
665 </message> 665 </message>
666 <message> 666 <message>
667 <location filename="" line="0"/> 667 <location filename="" line="0"/>
668 <source>Select &amp;encoder profile</source> 668 <source>Select &amp;encoder profile</source>
669 <translation type="obsolete">&amp;Encoder-Profil auswählen</translation> 669 <translation type="obsolete">&amp;Encoder-Profil auswählen</translation>
670 </message> 670 </message>
671 <message> 671 <message>
672 <location filename="" line="0"/> 672 <location filename="" line="0"/>
673 <source>B&amp;rowse</source> 673 <source>B&amp;rowse</source>
674 <translation type="obsolete">&amp;Durchsuchen</translation> 674 <translation type="obsolete">&amp;Durchsuchen</translation>
675 </message> 675 </message>
676 <message> 676 <message>
677 <location filename="configurefrm.ui" line="371"/> 677 <location filename="configurefrm.ui" line="371"/>
678 <source>&amp;Select TTS Engine</source> 678 <source>&amp;Select TTS Engine</source>
679 <translation>&amp;Wähle TTS Engine</translation> 679 <translation>&amp;Wähle TTS Engine</translation>
680 </message> 680 </message>
681 <message> 681 <message>
682 <location filename="configurefrm.ui" line="384"/> 682 <location filename="configurefrm.ui" line="384"/>
683 <source>Configure TTS Engine</source> 683 <source>Configure TTS Engine</source>
684 <translation>Konfiguriere TTS Engine</translation> 684 <translation>Konfiguriere TTS Engine</translation>
685 </message> 685 </message>
686 <message> 686 <message>
687 <location filename="configurefrm.ui" line="447"/> 687 <location filename="configurefrm.ui" line="447"/>
688 <source>Configuration invalid !</source> 688 <source>Configuration invalid !</source>
689 <translation>Konfiguration ungültig!</translation> 689 <translation>Konfiguration ungültig!</translation>
690 </message> 690 </message>
691 <message> 691 <message>
692 <location filename="configurefrm.ui" line="408"/> 692 <location filename="configurefrm.ui" line="408"/>
693 <source>Configure &amp;TTS</source> 693 <source>Configure &amp;TTS</source>
694 <translation>Konfiguriere &amp;TTS</translation> 694 <translation>Konfiguriere &amp;TTS</translation>
695 </message> 695 </message>
696 <message> 696 <message>
697 <location filename="configurefrm.ui" line="427"/> 697 <location filename="configurefrm.ui" line="427"/>
698 <source>Select &amp;encoder</source> 698 <source>Select &amp;encoder</source>
699 <translation>Wähle &amp;encoder</translation> 699 <translation>Wähle &amp;encoder</translation>
700 </message> 700 </message>
701 <message> 701 <message>
702 <location filename="configurefrm.ui" line="440"/> 702 <location filename="configurefrm.ui" line="440"/>
703 <source>Configure encoder</source> 703 <source>Configure encoder</source>
704 <translation>Konfiguriere Encoder</translation> 704 <translation>Konfiguriere Encoder</translation>
705 </message> 705 </message>
706 <message> 706 <message>
707 <location filename="configurefrm.ui" line="464"/> 707 <location filename="configurefrm.ui" line="464"/>
708 <source> Configure &amp;Enc</source> 708 <source> Configure &amp;Enc</source>
709 <translation>Konfiguriere &amp;Encoder</translation> 709 <translation>Konfiguriere &amp;Encoder</translation>
710 </message> 710 </message>
711</context> 711</context>
712<context> 712<context>
713 <name>Configure</name> 713 <name>Configure</name>
714 <message> 714 <message>
715 <location filename="configure.cpp" line="469"/> 715 <location filename="configure.cpp" line="469"/>
716 <source>English</source> 716 <source>English</source>
717 <translation>Deutsch</translation> 717 <translation>Deutsch</translation>
718 </message> 718 </message>
719</context> 719</context>
720<context> 720<context>
721 <name>CreateVoiceFrm</name> 721 <name>CreateVoiceFrm</name>
722 <message> 722 <message>
723 <location filename="createvoicefrm.ui" line="16"/> 723 <location filename="createvoicefrm.ui" line="16"/>
724 <source>Create Voice File</source> 724 <source>Create Voice File</source>
725 <translation>Erstelle Voicefile</translation> 725 <translation>Erstelle Voicefile</translation>
726 </message> 726 </message>
727 <message> 727 <message>
728 <location filename="createvoicefrm.ui" line="41"/> 728 <location filename="createvoicefrm.ui" line="41"/>
729 <source>Select the Language you want to generate a voicefile for:</source> 729 <source>Select the Language you want to generate a voicefile for:</source>
730 <translation>Wähle die Sprache für die das Voicefile generiert werden soll:</translation> 730 <translation>Wähle die Sprache für die das Voicefile generiert werden soll:</translation>
731 </message> 731 </message>
732 <message> 732 <message>
733 <location filename="createvoicefrm.ui" line="51"/> 733 <location filename="createvoicefrm.ui" line="51"/>
734 <source>Generation settings</source> 734 <source>Generation settings</source>
735 <translation>Allgemeine Einstellungen</translation> 735 <translation>Allgemeine Einstellungen</translation>
736 </message> 736 </message>
737 <message> 737 <message>
738 <location filename="createvoicefrm.ui" line="57"/> 738 <location filename="createvoicefrm.ui" line="57"/>
739 <source>Encoder profile:</source> 739 <source>Encoder profile:</source>
740 <translation>Encoder-Profil:</translation> 740 <translation>Encoder-Profil:</translation>
741 </message> 741 </message>
742 <message> 742 <message>
743 <location filename="createvoicefrm.ui" line="64"/> 743 <location filename="createvoicefrm.ui" line="64"/>
744 <source>TTS profile:</source> 744 <source>TTS profile:</source>
745 <translation>TTS-Profil:</translation> 745 <translation>TTS-Profil:</translation>
746 </message> 746 </message>
747 <message> 747 <message>
748 <location filename="createvoicefrm.ui" line="77"/> 748 <location filename="createvoicefrm.ui" line="77"/>
749 <source>Change</source> 749 <source>Change</source>
750 <translation>Ändere</translation> 750 <translation>Ändere</translation>
751 </message> 751 </message>
752 <message> 752 <message>
753 <location filename="createvoicefrm.ui" line="128"/> 753 <location filename="createvoicefrm.ui" line="128"/>
754 <source>&amp;Install</source> 754 <source>&amp;Install</source>
755 <translation>&amp;Installiere</translation> 755 <translation>&amp;Installiere</translation>
756 </message> 756 </message>
757 <message> 757 <message>
758 <location filename="createvoicefrm.ui" line="138"/> 758 <location filename="createvoicefrm.ui" line="138"/>
759 <source>&amp;Cancel</source> 759 <source>&amp;Cancel</source>
760 <translation>&amp;Abbrechen</translation> 760 <translation>&amp;Abbrechen</translation>
761 </message> 761 </message>
762 <message> 762 <message>
763 <location filename="createvoicefrm.ui" line="152"/> 763 <location filename="createvoicefrm.ui" line="152"/>
764 <source>Wavtrim Threshold</source> 764 <source>Wavtrim Threshold</source>
765 <translation>Wavtrim Schwellenwert</translation> 765 <translation>Wavtrim Schwellenwert</translation>
766 </message> 766 </message>
767</context> 767</context>
768<context> 768<context>
769 <name>CreateVoiceWindow</name> 769 <name>CreateVoiceWindow</name>
770 <message> 770 <message>
771 <location filename="createvoicewindow.cpp" line="96"/> 771 <location filename="createvoicewindow.cpp" line="96"/>
772 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 772 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
773 <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation> 773 <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation>
774 </message> 774 </message>
775 <message> 775 <message>
776 <location filename="createvoicewindow.cpp" line="98"/> 776 <location filename="createvoicewindow.cpp" line="98"/>
777 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 777 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
778 <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation> 778 <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation>
779 </message> 779 </message>
780 <message> 780 <message>
781 <location filename="createvoicewindow.cpp" line="106"/> 781 <location filename="createvoicewindow.cpp" line="106"/>
782 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 782 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
783 <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation> 783 <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation>
784 </message> 784 </message>
785</context> 785</context>
786<context> 786<context>
787 <name>EncExesCfgFrm</name> 787 <name>EncExesCfgFrm</name>
788 <message> 788 <message>
789 <location filename="encexescfgfrm.ui" line="13"/> 789 <location filename="encexescfgfrm.ui" line="13"/>
790 <source>Configuration</source> 790 <source>Configuration</source>
791 <translation>Konfiguration</translation> 791 <translation>Konfiguration</translation>
792 </message> 792 </message>
793 <message> 793 <message>
794 <location filename="encexescfgfrm.ui" line="19"/> 794 <location filename="encexescfgfrm.ui" line="19"/>
795 <source>Configure Encoder</source> 795 <source>Configure Encoder</source>
796 <translation>Konfiguriere Encoder</translation> 796 <translation>Konfiguriere Encoder</translation>
797 </message> 797 </message>
798 <message> 798 <message>
799 <location filename="encexescfgfrm.ui" line="31"/> 799 <location filename="encexescfgfrm.ui" line="31"/>
800 <source>Path to Encoder</source> 800 <source>Path to Encoder</source>
801 <translation>Pfad zum Encoder</translation> 801 <translation>Pfad zum Encoder</translation>
802 </message> 802 </message>
803 <message> 803 <message>
804 <location filename="encexescfgfrm.ui" line="43"/> 804 <location filename="encexescfgfrm.ui" line="43"/>
805 <source>&amp;Browse</source> 805 <source>&amp;Browse</source>
806 <translation>D&amp;urchsuchen</translation> 806 <translation>D&amp;urchsuchen</translation>
807 </message> 807 </message>
808 <message> 808 <message>
809 <location filename="encexescfgfrm.ui" line="52"/> 809 <location filename="encexescfgfrm.ui" line="52"/>
810 <source>Encoder options</source> 810 <source>Encoder options</source>
811 <translation>Encoder optionen</translation> 811 <translation>Encoder optionen</translation>
812 </message> 812 </message>
813 <message> 813 <message>
814 <location filename="encexescfgfrm.ui" line="77"/> 814 <location filename="encexescfgfrm.ui" line="77"/>
815 <source>Reset</source> 815 <source>Reset</source>
816 <translation>Reset</translation> 816 <translation>Reset</translation>
817 </message> 817 </message>
818 <message> 818 <message>
819 <location filename="encexescfgfrm.ui" line="97"/> 819 <location filename="encexescfgfrm.ui" line="97"/>
820 <source>&amp;Ok</source> 820 <source>&amp;Ok</source>
821 <translation>&amp;Ok</translation> 821 <translation>&amp;Ok</translation>
822 </message> 822 </message>
823 <message> 823 <message>
824 <location filename="encexescfgfrm.ui" line="107"/> 824 <location filename="encexescfgfrm.ui" line="107"/>
825 <source>&amp;Cancel</source> 825 <source>&amp;Cancel</source>
826 <translation>&amp;Abbrechen</translation> 826 <translation>&amp;Abbrechen</translation>
827 </message> 827 </message>
828</context> 828</context>
829<context> 829<context>
830 <name>Install</name> 830 <name>Install</name>
831 <message> 831 <message>
832 <location filename="install.cpp" line="55"/> 832 <location filename="install.cpp" line="55"/>
833 <source>Mount point is wrong!</source> 833 <source>Mount point is wrong!</source>
834 <translation>Falscher Einhängepunkt!</translation> 834 <translation>Falscher Einhängepunkt!</translation>
835 </message> 835 </message>
836 <message> 836 <message>
837 <location filename="install.cpp" line="145"/> 837 <location filename="install.cpp" line="145"/>
838 <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> 838 <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>
839 <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> 839 <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>
840 </message> 840 </message>
841 <message> 841 <message>
842 <location filename="install.cpp" line="148"/> 842 <location filename="install.cpp" line="148"/>
843 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source> 843 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
844 <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Dies lädt immer eine aktuelle Kopie herunter. </translation> 844 <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Dies lädt immer eine aktuelle Kopie herunter. </translation>
845 </message> 845 </message>
846 <message> 846 <message>
847 <location filename="install.cpp" line="157"/> 847 <location filename="install.cpp" line="157"/>
848 <source>This is the last released version of Rockbox.</source> 848 <source>This is the last released version of Rockbox.</source>
849 <translation>Dies ist die letzte veröffentlichte Version von Rockbox.</translation> 849 <translation>Dies ist die letzte veröffentlichte Version von Rockbox.</translation>
850 </message> 850 </message>
851 <message> 851 <message>
852 <location filename="install.cpp" line="163"/> 852 <location filename="install.cpp" line="163"/>
853 <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> 853 <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>
854 <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> 854 <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>
855 </message> 855 </message>
856 <message> 856 <message>
857 <location filename="install.cpp" line="141"/> 857 <location filename="install.cpp" line="141"/>
858 <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> 858 <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>
859 <translation>Dies ist das aktuellste Rockbox build. Es wird bei jeder Änderung upgedated. Letzte Version ist r%1 (%2).</translation> 859 <translation>Dies ist das aktuellste Rockbox build. Es wird bei jeder Änderung upgedated. Letzte Version ist r%1 (%2).</translation>
860 </message> 860 </message>
861 <message> 861 <message>
862 <location filename="install.cpp" line="177"/> 862 <location filename="install.cpp" line="177"/>
863 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source> 863 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
864 <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Archivierte Version ist r%1 (%2).</translation> 864 <translation>&lt;b&gt;Hinweis:&lt;/b&gt; Archivierte Version ist r%1 (%2).</translation>
865 </message> 865 </message>
866 <message> 866 <message>
867 <location filename="install.cpp" line="175"/> 867 <location filename="install.cpp" line="175"/>
868 <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> 868 <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>
869 <translation type="unfinished"></translation> 869 <translation type="unfinished"></translation>
870 </message> 870 </message>
871</context> 871</context>
872<context> 872<context>
873 <name>InstallFrm</name> 873 <name>InstallFrm</name>
874 <message> 874 <message>
875 <location filename="installfrm.ui" line="16"/> 875 <location filename="installfrm.ui" line="16"/>
876 <source>Install Rockbox</source> 876 <source>Install Rockbox</source>
877 <translation>Rockbox installieren</translation> 877 <translation>Rockbox installieren</translation>
878 </message> 878 </message>
879 <message> 879 <message>
880 <location filename="installfrm.ui" line="35"/> 880 <location filename="installfrm.ui" line="35"/>
881 <source>Please select the Rockbox version you want to install on your player:</source> 881 <source>Please select the Rockbox version you want to install on your player:</source>
882 <translation>Bitte die zu installierende Version von Rockbox auswählen:</translation> 882 <translation>Bitte die zu installierende Version von Rockbox auswählen:</translation>
883 </message> 883 </message>
884 <message> 884 <message>
885 <location filename="installfrm.ui" line="45"/> 885 <location filename="installfrm.ui" line="45"/>
886 <source>Version</source> 886 <source>Version</source>
887 <translation>Version</translation> 887 <translation>Version</translation>
888 </message> 888 </message>
889 <message> 889 <message>
890 <location filename="installfrm.ui" line="51"/> 890 <location filename="installfrm.ui" line="51"/>
891 <source>Rockbox &amp;stable</source> 891 <source>Rockbox &amp;stable</source>
892 <translation>&amp;Stabile Rockbox-Version</translation> 892 <translation>&amp;Stabile Rockbox-Version</translation>
893 </message> 893 </message>
894 <message> 894 <message>
895 <location filename="installfrm.ui" line="58"/> 895 <location filename="installfrm.ui" line="58"/>
896 <source>&amp;Archived Build</source> 896 <source>&amp;Archived Build</source>
897 <translation>&amp;Archivierte Version</translation> 897 <translation>&amp;Archivierte Version</translation>
898 </message> 898 </message>
899 <message> 899 <message>
900 <location filename="installfrm.ui" line="65"/> 900 <location filename="installfrm.ui" line="65"/>
901 <source>&amp;Current Build</source> 901 <source>&amp;Current Build</source>
902 <translation>Aktuelle &amp;Version</translation> 902 <translation>Aktuelle &amp;Version</translation>
903 </message> 903 </message>
904 <message> 904 <message>
905 <location filename="installfrm.ui" line="75"/> 905 <location filename="installfrm.ui" line="75"/>
906 <source>Details</source> 906 <source>Details</source>
907 <translation>Details</translation> 907 <translation>Details</translation>
908 </message> 908 </message>
909 <message> 909 <message>
910 <location filename="installfrm.ui" line="81"/> 910 <location filename="installfrm.ui" line="81"/>
911 <source>Details about the selected version</source> 911 <source>Details about the selected version</source>
912 <translation>Details über die ausgewählte Version</translation> 912 <translation>Details über die ausgewählte Version</translation>
913 </message> 913 </message>
914 <message> 914 <message>
915 <location filename="installfrm.ui" line="91"/> 915 <location filename="installfrm.ui" line="91"/>
916 <source>Note</source> 916 <source>Note</source>
917 <translation>Hinweis</translation> 917 <translation>Hinweis</translation>
918 </message> 918 </message>
919 <message> 919 <message>
920 <location filename="installfrm.ui" line="104"/> 920 <location filename="installfrm.ui" line="104"/>
921 <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> 921 <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>
922 <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> 922 <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>
923 </message> 923 </message>
924 <message> 924 <message>
925 <location filename="installfrm.ui" line="107"/> 925 <location filename="installfrm.ui" line="107"/>
926 <source>&amp;Don&apos;t use locally cached copy</source> 926 <source>&amp;Don&apos;t use locally cached copy</source>
927 <translation>&amp;keine lokale Zwischenkopie verwenden</translation> 927 <translation>&amp;keine lokale Zwischenkopie verwenden</translation>
928 </message> 928 </message>
929 <message> 929 <message>
930 <location filename="" line="0"/> 930 <location filename="" line="0"/>
931 <source>&amp;Ok</source> 931 <source>&amp;Ok</source>
932 <translation type="obsolete">&amp;Ok</translation> 932 <translation type="obsolete">&amp;Ok</translation>
933 </message> 933 </message>
934 <message> 934 <message>
935 <location filename="installfrm.ui" line="152"/> 935 <location filename="installfrm.ui" line="152"/>
936 <source>&amp;Cancel</source> 936 <source>&amp;Cancel</source>
937 <translation>&amp;Abbrechen</translation> 937 <translation>&amp;Abbrechen</translation>
938 </message> 938 </message>
939 <message> 939 <message>
940 <location filename="installfrm.ui" line="142"/> 940 <location filename="installfrm.ui" line="142"/>
941 <source>&amp;Install</source> 941 <source>&amp;Install</source>
942 <translation>&amp;Installiere</translation> 942 <translation>&amp;Installiere</translation>
943 </message> 943 </message>
944</context> 944</context>
945<context> 945<context>
946 <name>InstallProgressFrm</name> 946 <name>InstallProgressFrm</name>
947 <message> 947 <message>
948 <location filename="installprogressfrm.ui" line="19"/> 948 <location filename="installprogressfrm.ui" line="19"/>
949 <source>Progress</source> 949 <source>Progress</source>
950 <translation>Fortschritt</translation> 950 <translation>Fortschritt</translation>
951 </message> 951 </message>
952 <message> 952 <message>
953 <location filename="installprogressfrm.ui" line="56"/> 953 <location filename="installprogressfrm.ui" line="56"/>
954 <source>&amp;Abort</source> 954 <source>&amp;Abort</source>
955 <translation>&amp;Abbrechen</translation> 955 <translation>&amp;Abbrechen</translation>
956 </message> 956 </message>
957</context> 957</context>
958<context> 958<context>
959 <name>InstallTalkFrm</name> 959 <name>InstallTalkFrm</name>
960 <message> 960 <message>
961 <location filename="installtalkfrm.ui" line="16"/> 961 <location filename="installtalkfrm.ui" line="16"/>
962 <source>Install Talk Files</source> 962 <source>Install Talk Files</source>
963 <translation>Talk-Dateien installieren</translation> 963 <translation>Talk-Dateien installieren</translation>
964 </message> 964 </message>
965 <message> 965 <message>
966 <location filename="installtalkfrm.ui" line="35"/> 966 <location filename="installtalkfrm.ui" line="35"/>
967 <source>Select the Folder to generate Talkfiles for.</source> 967 <source>Select the Folder to generate Talkfiles for.</source>
968 <translation>Wähle den Ordner für den Talk-Dateien erstellt werden sollen.</translation> 968 <translation>Wähle den Ordner für den Talk-Dateien erstellt werden sollen.</translation>
969 </message> 969 </message>
970 <message> 970 <message>
971 <location filename="installtalkfrm.ui" line="45"/> 971 <location filename="installtalkfrm.ui" line="45"/>
972 <source>&amp;Browse</source> 972 <source>&amp;Browse</source>
973 <translation>&amp;Durchsuchen</translation> 973 <translation>&amp;Durchsuchen</translation>
974 </message> 974 </message>
975 <message> 975 <message>
976 <location filename="installtalkfrm.ui" line="110"/> 976 <location filename="installtalkfrm.ui" line="110"/>
977 <source>Overwrite Wavefiles</source> 977 <source>Overwrite Wavefiles</source>
978 <translation>Wavedateien überschreiben</translation> 978 <translation>Wavedateien überschreiben</translation>
979 </message> 979 </message>
980 <message> 980 <message>
981 <location filename="installtalkfrm.ui" line="120"/> 981 <location filename="installtalkfrm.ui" line="120"/>
982 <source>Remove Wavefiles</source> 982 <source>Remove Wavefiles</source>
983 <translation>Wavedateien entfernen</translation> 983 <translation>Wavedateien entfernen</translation>
984 </message> 984 </message>
985 <message> 985 <message>
986 <location filename="installtalkfrm.ui" line="130"/> 986 <location filename="installtalkfrm.ui" line="130"/>
987 <source>Run recursive</source> 987 <source>Run recursive</source>
988 <translation>Rekursiv durchlaufen</translation> 988 <translation>Rekursiv durchlaufen</translation>
989 </message> 989 </message>
990 <message> 990 <message>
991 <location filename="installtalkfrm.ui" line="150"/> 991 <location filename="installtalkfrm.ui" line="150"/>
992 <source>Overwrite Talkfiles</source> 992 <source>Overwrite Talkfiles</source>
993 <translation>Talk-Dateien überschreiben</translation> 993 <translation>Talk-Dateien überschreiben</translation>
994 </message> 994 </message>
995 <message> 995 <message>
996 <location filename="installtalkfrm.ui" line="140"/> 996 <location filename="installtalkfrm.ui" line="140"/>
997 <source>Strip Extensions</source> 997 <source>Strip Extensions</source>
998 <translation>Dateiendungen entfernen</translation> 998 <translation>Dateiendungen entfernen</translation>
999 </message> 999 </message>
1000 <message> 1000 <message>
1001 <location filename="" line="0"/> 1001 <location filename="" line="0"/>
1002 <source>&amp;Ok</source> 1002 <source>&amp;Ok</source>
1003 <translation type="obsolete">&amp;Ok</translation> 1003 <translation type="obsolete">&amp;Ok</translation>
1004 </message> 1004 </message>
1005 <message> 1005 <message>
1006 <location filename="installtalkfrm.ui" line="224"/> 1006 <location filename="installtalkfrm.ui" line="224"/>
1007 <source>&amp;Cancel</source> 1007 <source>&amp;Cancel</source>
1008 <translation>&amp;Abbrechen</translation> 1008 <translation>&amp;Abbrechen</translation>
1009 </message> 1009 </message>
1010 <message> 1010 <message>
1011 <location filename="installtalkfrm.ui" line="55"/> 1011 <location filename="installtalkfrm.ui" line="55"/>
1012 <source>Generation settings</source> 1012 <source>Generation settings</source>
1013 <translation>Allgemeine Einstellungen</translation> 1013 <translation>Allgemeine Einstellungen</translation>
1014 </message> 1014 </message>
1015 <message> 1015 <message>
1016 <location filename="installtalkfrm.ui" line="61"/> 1016 <location filename="installtalkfrm.ui" line="61"/>
1017 <source>Encoder profile:</source> 1017 <source>Encoder profile:</source>
1018 <translation>Encoder-Profil:</translation> 1018 <translation>Encoder-Profil:</translation>
1019 </message> 1019 </message>
1020 <message> 1020 <message>
1021 <location filename="installtalkfrm.ui" line="68"/> 1021 <location filename="installtalkfrm.ui" line="68"/>
1022 <source>TTS profile:</source> 1022 <source>TTS profile:</source>
1023 <translation>TTS-Profil:</translation> 1023 <translation>TTS-Profil:</translation>
1024 </message> 1024 </message>
1025 <message> 1025 <message>
1026 <location filename="installtalkfrm.ui" line="104"/> 1026 <location filename="installtalkfrm.ui" line="104"/>
1027 <source>Generation options</source> 1027 <source>Generation options</source>
1028 <translation>Generier optionen</translation> 1028 <translation>Generier optionen</translation>
1029 </message> 1029 </message>
1030 <message> 1030 <message>
1031 <location filename="installtalkfrm.ui" line="81"/> 1031 <location filename="installtalkfrm.ui" line="81"/>
1032 <source>Change</source> 1032 <source>Change</source>
1033 <translation>Ändere</translation> 1033 <translation>Ändere</translation>
1034 </message> 1034 </message>
1035 <message> 1035 <message>
1036 <location filename="installtalkfrm.ui" line="160"/> 1036 <location filename="installtalkfrm.ui" line="160"/>
1037 <source>Generate .talk files for Folders</source> 1037 <source>Generate .talk files for Folders</source>
1038 <translation>Generiere .talk Dateien für Ordner</translation> 1038 <translation>Generiere .talk Dateien für Ordner</translation>
1039 </message> 1039 </message>
1040 <message> 1040 <message>
1041 <location filename="installtalkfrm.ui" line="170"/> 1041 <location filename="installtalkfrm.ui" line="170"/>
1042 <source>Generate .talk files for Files</source> 1042 <source>Generate .talk files for Files</source>
1043 <translation>Generiere .talk Dateien für Dateien</translation> 1043 <translation>Generiere .talk Dateien für Dateien</translation>
1044 </message> 1044 </message>
1045 <message> 1045 <message>
1046 <location filename="installtalkfrm.ui" line="214"/> 1046 <location filename="installtalkfrm.ui" line="214"/>
1047 <source>&amp;Install</source> 1047 <source>&amp;Install</source>
1048 <translation>&amp;Installiere</translation> 1048 <translation>&amp;Installiere</translation>
1049 </message> 1049 </message>
1050</context> 1050</context>
1051<context> 1051<context>
1052 <name>InstallTalkWindow</name> 1052 <name>InstallTalkWindow</name>
1053 <message> 1053 <message>
1054 <location filename="installtalkwindow.cpp" line="84"/> 1054 <location filename="installtalkwindow.cpp" line="84"/>
1055 <source>The Folder to Talk is wrong!</source> 1055 <source>The Folder to Talk is wrong!</source>
1056 <translation>Der Ordner für den Talk Dateien erzeugt werden sollen ist falsch!</translation> 1056 <translation>Der Ordner für den Talk Dateien erzeugt werden sollen ist falsch!</translation>
1057 </message> 1057 </message>
1058 <message> 1058 <message>
1059 <location filename="" line="0"/> 1059 <location filename="" line="0"/>
1060 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1060 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1061 <translation type="obsolete">TTS-Profil: &lt;b&gt;%1&lt;/b&gt;</translation> 1061 <translation type="obsolete">TTS-Profil: &lt;b&gt;%1&lt;/b&gt;</translation>
1062 </message> 1062 </message>
1063 <message> 1063 <message>
1064 <location filename="" line="0"/> 1064 <location filename="" line="0"/>
1065 <source>Invalid TTS profile!</source> 1065 <source>Invalid TTS profile!</source>
1066 <translation type="obsolete">Ungültiges TTS-Profil!</translation> 1066 <translation type="obsolete">Ungültiges TTS-Profil!</translation>
1067 </message> 1067 </message>
1068 <message> 1068 <message>
1069 <location filename="" line="0"/> 1069 <location filename="" line="0"/>
1070 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1070 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1071 <translation type="obsolete">Encoder-Profil: &lt;b&gt;%1&lt;/b&gt;</translation> 1071 <translation type="obsolete">Encoder-Profil: &lt;b&gt;%1&lt;/b&gt;</translation>
1072 </message> 1072 </message>
1073 <message> 1073 <message>
1074 <location filename="" line="0"/> 1074 <location filename="" line="0"/>
1075 <source>Invalid encoder profile!</source> 1075 <source>Invalid encoder profile!</source>
1076 <translation type="obsolete">Ungültiges Encoder-Profil!</translation> 1076 <translation type="obsolete">Ungültiges Encoder-Profil!</translation>
1077 </message> 1077 </message>
1078 <message> 1078 <message>
1079 <location filename="installtalkwindow.cpp" line="119"/> 1079 <location filename="installtalkwindow.cpp" line="119"/>
1080 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 1080 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
1081 <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation> 1081 <translation>Gewählte TTS engine : &lt;b&gt;%1&lt;/b&gt;</translation>
1082 </message> 1082 </message>
1083 <message> 1083 <message>
1084 <location filename="installtalkwindow.cpp" line="121"/> 1084 <location filename="installtalkwindow.cpp" line="121"/>
1085 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 1085 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
1086 <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation> 1086 <translation>Gewählte TTS Engine: &lt;b&gt;%1&lt;/b&gt;</translation>
1087 </message> 1087 </message>
1088 <message> 1088 <message>
1089 <location filename="installtalkwindow.cpp" line="129"/> 1089 <location filename="installtalkwindow.cpp" line="129"/>
1090 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 1090 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
1091 <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation> 1091 <translation>Gewählter Encoder: &lt;b&gt;%1&lt;/b&gt;</translation>
1092 </message> 1092 </message>
1093</context> 1093</context>
1094<context> 1094<context>
1095 <name>PreviewFrm</name> 1095 <name>PreviewFrm</name>
1096 <message> 1096 <message>
1097 <location filename="previewfrm.ui" line="16"/> 1097 <location filename="previewfrm.ui" line="16"/>
1098 <source>Preview</source> 1098 <source>Preview</source>
1099 <translation>Vorschau</translation> 1099 <translation>Vorschau</translation>
1100 </message> 1100 </message>
1101</context> 1101</context>
1102<context> 1102<context>
1103 <name>ProgressLoggerGui</name> 1103 <name>ProgressLoggerGui</name>
1104 <message> 1104 <message>
1105 <location filename="progressloggergui.cpp" line="79"/> 1105 <location filename="progressloggergui.cpp" line="79"/>
1106 <source>&amp;Ok</source> 1106 <source>&amp;Ok</source>
1107 <translation>&amp;Ok</translation> 1107 <translation>&amp;Ok</translation>
1108 </message> 1108 </message>
1109 <message> 1109 <message>
1110 <location filename="progressloggergui.cpp" line="89"/> 1110 <location filename="progressloggergui.cpp" line="89"/>
1111 <source>&amp;Abort</source> 1111 <source>&amp;Abort</source>
1112 <translation>&amp;Abbrechen</translation> 1112 <translation>&amp;Abbrechen</translation>
1113 </message> 1113 </message>
1114</context> 1114</context>
1115<context> 1115<context>
1116 <name>RbSpeexCfgFrm</name> 1116 <name>RbSpeexCfgFrm</name>
1117 <message> 1117 <message>
1118 <location filename="rbspeexcfgfrm.ui" line="13"/> 1118 <location filename="rbspeexcfgfrm.ui" line="13"/>
1119 <source>Configuration</source> 1119 <source>Configuration</source>
1120 <translation>Konfiguration</translation> 1120 <translation>Konfiguration</translation>
1121 </message> 1121 </message>
1122 <message> 1122 <message>
1123 <location filename="rbspeexcfgfrm.ui" line="19"/> 1123 <location filename="rbspeexcfgfrm.ui" line="19"/>
1124 <source>Configure RbSpeex Encoder</source> 1124 <source>Configure RbSpeex Encoder</source>
1125 <translation>Konfiguriere RbSpeex Encoder</translation> 1125 <translation>Konfiguriere RbSpeex Encoder</translation>
1126 </message> 1126 </message>
1127 <message> 1127 <message>
1128 <location filename="rbspeexcfgfrm.ui" line="38"/> 1128 <location filename="rbspeexcfgfrm.ui" line="38"/>
1129 <source>Volume</source> 1129 <source>Volume</source>
1130 <translation>Lautstärke</translation> 1130 <translation>Lautstärke</translation>
1131 </message> 1131 </message>
1132 <message> 1132 <message>
1133 <location filename="rbspeexcfgfrm.ui" line="45"/> 1133 <location filename="rbspeexcfgfrm.ui" line="45"/>
1134 <source>Narrowband</source> 1134 <source>Narrowband</source>
1135 <translation>Schmalband</translation> 1135 <translation>Schmalband</translation>
1136 </message> 1136 </message>
1137 <message> 1137 <message>
1138 <location filename="rbspeexcfgfrm.ui" line="68"/> 1138 <location filename="rbspeexcfgfrm.ui" line="68"/>
1139 <source>Quality</source> 1139 <source>Quality</source>
1140 <translation>Qualität</translation> 1140 <translation>Qualität</translation>
1141 </message> 1141 </message>
1142 <message> 1142 <message>
1143 <location filename="rbspeexcfgfrm.ui" line="85"/> 1143 <location filename="rbspeexcfgfrm.ui" line="85"/>
1144 <source>Complexity</source> 1144 <source>Complexity</source>
1145 <translation>Komplexität</translation> 1145 <translation>Komplexität</translation>
1146 </message> 1146 </message>
1147 <message> 1147 <message>
1148 <location filename="rbspeexcfgfrm.ui" line="115"/> 1148 <location filename="rbspeexcfgfrm.ui" line="115"/>
1149 <source>&amp;Ok</source> 1149 <source>&amp;Ok</source>
1150 <translation>&amp;Ok</translation> 1150 <translation>&amp;Ok</translation>
1151 </message> 1151 </message>
1152 <message> 1152 <message>
1153 <location filename="rbspeexcfgfrm.ui" line="125"/> 1153 <location filename="rbspeexcfgfrm.ui" line="125"/>
1154 <source>&amp;Cancel</source> 1154 <source>&amp;Cancel</source>
1155 <translation>&amp;Abbrechen</translation> 1155 <translation>&amp;Abbrechen</translation>
1156 </message> 1156 </message>
1157 <message> 1157 <message>
1158 <location filename="rbspeexcfgfrm.ui" line="95"/> 1158 <location filename="rbspeexcfgfrm.ui" line="95"/>
1159 <source>Reset</source> 1159 <source>Reset</source>
1160 <translation>Reset</translation> 1160 <translation>Reset</translation>
1161 </message> 1161 </message>
1162</context> 1162</context>
1163<context> 1163<context>
1164 <name>RbUtilQt</name> 1164 <name>RbUtilQt</name>
1165 <message> 1165 <message>
1166 <location filename="rbutilqt.cpp" line="210"/> 1166 <location filename="rbutilqt.cpp" line="210"/>
1167 <source>Network error: %1. Please check your network and proxy settings.</source> 1167 <source>Network error: %1. Please check your network and proxy settings.</source>
1168 <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation> 1168 <translation>Netzwerkfehler: %1. Bitte Netzwerk und Proxyeinstellungen überprüfen.</translation>
1169 </message> 1169 </message>
1170 <message> 1170 <message>
1171 <location filename="rbutilqt.cpp" line="305"/> 1171 <location filename="rbutilqt.cpp" line="305"/>
1172 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source> 1172 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
1173 <translation>&lt;b&gt;%1 %2&lt;/b&gt; an &lt;b&gt;%3&lt;/b&gt;</translation> 1173 <translation>&lt;b&gt;%1 %2&lt;/b&gt; an &lt;b&gt;%3&lt;/b&gt;</translation>
1174 </message> 1174 </message>
1175 <message> 1175 <message>
1176 <location filename="rbutilqt.cpp" line="325"/> 1176 <location filename="rbutilqt.cpp" line="325"/>
1177 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source> 1177 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
1178 <translation>&lt;a href=&apos;%1&apos;&gt;PDF-Handbuch&lt;/a&gt;</translation> 1178 <translation>&lt;a href=&apos;%1&apos;&gt;PDF-Handbuch&lt;/a&gt;</translation>
1179 </message> 1179 </message>
1180 <message> 1180 <message>
1181 <location filename="rbutilqt.cpp" line="327"/> 1181 <location filename="rbutilqt.cpp" line="327"/>
1182 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source> 1182 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
1183 <translation>&lt;a href=&apos;%1&apos;&gt;HTML-Handbuch (öffnet im Browser)&lt;/a&gt;</translation> 1183 <translation>&lt;a href=&apos;%1&apos;&gt;HTML-Handbuch (öffnet im Browser)&lt;/a&gt;</translation>
1184 </message> 1184 </message>
1185 <message> 1185 <message>
1186 <location filename="rbutilqt.cpp" line="330"/> 1186 <location filename="rbutilqt.cpp" line="330"/>
1187 <source>Select a device for a link to the correct manual</source> 1187 <source>Select a device for a link to the correct manual</source>
1188 <translation>Wähle Gerät aus um einen Link zum entsprechenden Handbuch zu bekommen</translation> 1188 <translation>Wähle Gerät aus um einen Link zum entsprechenden Handbuch zu bekommen</translation>
1189 </message> 1189 </message>
1190 <message> 1190 <message>
1191 <location filename="rbutilqt.cpp" line="332"/> 1191 <location filename="rbutilqt.cpp" line="332"/>
1192 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source> 1192 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
1193 <translation>&lt;a href=&apos;%1&apos;&gt;Anleitungen-Übersicht&lt;/a&gt;</translation> 1193 <translation>&lt;a href=&apos;%1&apos;&gt;Anleitungen-Übersicht&lt;/a&gt;</translation>
1194 </message> 1194 </message>
1195 <message> 1195 <message>
1196 <location filename="rbutilqt.cpp" line="695"/> 1196 <location filename="rbutilqt.cpp" line="695"/>
1197 <source>Confirm Installation</source> 1197 <source>Confirm Installation</source>
1198 <translation>Installation bestätigen</translation> 1198 <translation>Installation bestätigen</translation>
1199 </message> 1199 </message>
1200 <message> 1200 <message>
1201 <location filename="rbutilqt.cpp" line="533"/> 1201 <location filename="rbutilqt.cpp" line="533"/>
1202 <source>Do you really want to install the Bootloader?</source> 1202 <source>Do you really want to install the Bootloader?</source>
1203 <translation>Bootloader wirklich installieren?</translation> 1203 <translation>Bootloader wirklich installieren?</translation>
1204 </message> 1204 </message>
1205 <message> 1205 <message>
1206 <location filename="rbutilqt.cpp" line="593"/> 1206 <location filename="rbutilqt.cpp" line="593"/>
1207 <source>Original Firmware Path is wrong!</source> 1207 <source>Original Firmware Path is wrong!</source>
1208 <translation>Pfad zur Original-Firmware ist falsch!</translation> 1208 <translation>Pfad zur Original-Firmware ist falsch!</translation>
1209 </message> 1209 </message>
1210 <message> 1210 <message>
1211 <location filename="rbutilqt.cpp" line="606"/> 1211 <location filename="rbutilqt.cpp" line="606"/>
1212 <source>Original Firmware selection Canceled!</source> 1212 <source>Original Firmware selection Canceled!</source>
1213 <translation>Auswahl der Original-Firmware abgebrochen!</translation> 1213 <translation>Auswahl der Original-Firmware abgebrochen!</translation>
1214 </message> 1214 </message>
1215 <message> 1215 <message>
1216 <location filename="rbutilqt.cpp" line="621"/> 1216 <location filename="rbutilqt.cpp" line="621"/>
1217 <source>Do you really want to install the fonts package?</source> 1217 <source>Do you really want to install the fonts package?</source>
1218 <translation>Schriftarten-Paket wirklich installieren?</translation> 1218 <translation>Schriftarten-Paket wirklich installieren?</translation>
1219 </message> 1219 </message>
1220 <message> 1220 <message>
1221 <location filename="rbutilqt.cpp" line="656"/> 1221 <location filename="rbutilqt.cpp" line="656"/>
1222 <source>Do you really want to install the voice file?</source> 1222 <source>Do you really want to install the voice file?</source>
1223 <translation>Sprachdateien wirklich installieren?</translation> 1223 <translation>Sprachdateien wirklich installieren?</translation>
1224 </message> 1224 </message>
1225 <message> 1225 <message>
1226 <location filename="rbutilqt.cpp" line="696"/> 1226 <location filename="rbutilqt.cpp" line="696"/>
1227 <source>Do you really want to install the game addon files?</source> 1227 <source>Do you really want to install the game addon files?</source>
1228 <translation>Zusatzdateien für Spiele wirklich installieren?</translation> 1228 <translation>Zusatzdateien für Spiele wirklich installieren?</translation>
1229 </message> 1229 </message>
1230 <message> 1230 <message>
1231 <location filename="rbutilqt.cpp" line="782"/> 1231 <location filename="rbutilqt.cpp" line="782"/>
1232 <source>Confirm Uninstallation</source> 1232 <source>Confirm Uninstallation</source>
1233 <translation>Deinstallation bestätigen</translation> 1233 <translation>Deinstallation bestätigen</translation>
1234 </message> 1234 </message>
1235 <message> 1235 <message>
1236 <location filename="rbutilqt.cpp" line="783"/> 1236 <location filename="rbutilqt.cpp" line="783"/>
1237 <source>Do you really want to uninstall the Bootloader?</source> 1237 <source>Do you really want to uninstall the Bootloader?</source>
1238 <translation>Bootloader wirklich deinstallieren?</translation> 1238 <translation>Bootloader wirklich deinstallieren?</translation>
1239 </message> 1239 </message>
1240 <message> 1240 <message>
1241 <location filename="rbutilqt.cpp" line="813"/> 1241 <location filename="rbutilqt.cpp" line="813"/>
1242 <source>Confirm download</source> 1242 <source>Confirm download</source>
1243 <translation>Download bestätigen</translation> 1243 <translation>Download bestätigen</translation>
1244 </message> 1244 </message>
1245 <message> 1245 <message>
1246 <location filename="rbutilqt.cpp" line="815"/> 1246 <location filename="rbutilqt.cpp" line="815"/>
1247 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source> 1247 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
1248 <translation>Handbuch wirklich herunterladen? Das Handbuch wird im Wurzelordner des Geräts gespeichert.</translation> 1248 <translation>Handbuch wirklich herunterladen? Das Handbuch wird im Wurzelordner des Geräts gespeichert.</translation>
1249 </message> 1249 </message>
1250 <message> 1250 <message>
1251 <location filename="rbutilqt.cpp" line="863"/> 1251 <location filename="rbutilqt.cpp" line="863"/>
1252 <source>Confirm installation</source> 1252 <source>Confirm installation</source>
1253 <translation>Installation bestätigen</translation> 1253 <translation>Installation bestätigen</translation>
1254 </message> 1254 </message>
1255 <message> 1255 <message>
1256 <location filename="rbutilqt.cpp" line="865"/> 1256 <location filename="rbutilqt.cpp" line="865"/>
1257 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source> 1257 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
1258 <translation>Rockbox Utility wirklich auf dem Gerät installieren? Nach der Installation kann es von dem Laufwerk des Geräts ausgeführt werden.</translation> 1258 <translation>Rockbox Utility wirklich auf dem Gerät installieren? Nach der Installation kann es von dem Laufwerk des Geräts ausgeführt werden.</translation>
1259 </message> 1259 </message>
1260 <message> 1260 <message>
1261 <location filename="rbutilqt.cpp" line="873"/> 1261 <location filename="rbutilqt.cpp" line="873"/>
1262 <source>Installing Rockbox Utility</source> 1262 <source>Installing Rockbox Utility</source>
1263 <translation>Installiere Rockbox Utility</translation> 1263 <translation>Installiere Rockbox Utility</translation>
1264 </message> 1264 </message>
1265 <message> 1265 <message>
1266 <location filename="rbutilqt.cpp" line="877"/> 1266 <location filename="rbutilqt.cpp" line="877"/>
1267 <source>Mount point is wrong!</source> 1267 <source>Mount point is wrong!</source>
1268 <translation>Falscher Einhängepunkt!</translation> 1268 <translation>Falscher Einhängepunkt!</translation>
1269 </message> 1269 </message>
1270 <message> 1270 <message>
1271 <location filename="rbutilqt.cpp" line="887"/> 1271 <location filename="rbutilqt.cpp" line="887"/>
1272 <source>Error installing Rockbox Utility</source> 1272 <source>Error installing Rockbox Utility</source>
1273 <translation>Fehler beim installieren von Rockbox Utility</translation> 1273 <translation>Fehler beim installieren von Rockbox Utility</translation>
1274 </message> 1274 </message>
1275 <message> 1275 <message>
1276 <location filename="rbutilqt.cpp" line="891"/> 1276 <location filename="rbutilqt.cpp" line="891"/>
1277 <source>Installing user configuration</source> 1277 <source>Installing user configuration</source>
1278 <translation>Installiere Benutzerkonfiguration</translation> 1278 <translation>Installiere Benutzerkonfiguration</translation>
1279 </message> 1279 </message>
1280 <message> 1280 <message>
1281 <location filename="rbutilqt.cpp" line="893"/> 1281 <location filename="rbutilqt.cpp" line="893"/>
1282 <source>Error installing user configuration</source> 1282 <source>Error installing user configuration</source>
1283 <translation>Fehler beim installieren der Benutzerkonfiguration</translation> 1283 <translation>Fehler beim installieren der Benutzerkonfiguration</translation>
1284 </message> 1284 </message>
1285 <message> 1285 <message>
1286 <location filename="rbutilqt.cpp" line="897"/> 1286 <location filename="rbutilqt.cpp" line="897"/>
1287 <source>Successfully installed Rockbox Utility.</source> 1287 <source>Successfully installed Rockbox Utility.</source>
1288 <translation>Rockbox Utility erfolgreich installiert.</translation> 1288 <translation>Rockbox Utility erfolgreich installiert.</translation>
1289 </message> 1289 </message>
1290 <message> 1290 <message>
1291 <location filename="rbutilqt.cpp" line="78"/> 1291 <location filename="rbutilqt.cpp" line="78"/>
1292 <source>File</source> 1292 <source>File</source>
1293 <translation>Datei</translation> 1293 <translation>Datei</translation>
1294 </message> 1294 </message>
1295 <message> 1295 <message>
1296 <location filename="rbutilqt.cpp" line="78"/> 1296 <location filename="rbutilqt.cpp" line="78"/>
1297 <source>Version</source> 1297 <source>Version</source>
1298 <translation>Version</translation> 1298 <translation>Version</translation>
1299 </message> 1299 </message>
1300 <message> 1300 <message>
1301 <location filename="rbutilqt.cpp" line="341"/> 1301 <location filename="rbutilqt.cpp" line="341"/>
1302 <source>Do you really want to make a complete Installation?</source> 1302 <source>Do you really want to make a complete Installation?</source>
1303 <translation>Wirklich eine vollständige Installation durchführen?</translation> 1303 <translation>Wirklich eine vollständige Installation durchführen?</translation>
1304 </message> 1304 </message>
1305 <message> 1305 <message>
1306 <location filename="rbutilqt.cpp" line="393"/> 1306 <location filename="rbutilqt.cpp" line="393"/>
1307 <source>Do you really want to make a small Installation?</source> 1307 <source>Do you really want to make a small Installation?</source>
1308 <translation>Wirklich eine kleine Installation durchführen?</translation> 1308 <translation>Wirklich eine kleine Installation durchführen?</translation>
1309 </message> 1309 </message>
1310 <message> 1310 <message>
1311 <location filename="rbutilqt.cpp" line="800"/> 1311 <location filename="rbutilqt.cpp" line="800"/>
1312 <source>Could not get the bootloader info file!</source> 1312 <source>Could not get the bootloader info file!</source>
1313 <translation>Konnte Bootloader-Informationsdatei nicht herunterladen!</translation> 1313 <translation>Konnte Bootloader-Informationsdatei nicht herunterladen!</translation>
1314 </message> 1314 </message>
1315 <message> 1315 <message>
1316 <location filename="rbutilqt.cpp" line="568"/> 1316 <location filename="rbutilqt.cpp" line="568"/>
1317 <source>Bootloader Installation</source> 1317 <source>Bootloader Installation</source>
1318 <translation>Bootloader-Installation</translation> 1318 <translation>Bootloader-Installation</translation>
1319 </message> 1319 </message>
1320 <message> 1320 <message>
1321 <location filename="" line="0"/> 1321 <location filename="" line="0"/>
1322 <source>It seem your Bootloader is already uptodate. 1322 <source>It seem your Bootloader is already uptodate.
1323Do really want to install it?</source> 1323Do really want to install it?</source>
1324 <translation type="obsolete">Der Bootloader scheint aktuell zu sein 1324 <translation type="obsolete">Der Bootloader scheint aktuell zu sein
1325Trotzdem installieren?</translation> 1325Trotzdem installieren?</translation>
1326 </message> 1326 </message>
1327 <message> 1327 <message>
1328 <location filename="" line="0"/> 1328 <location filename="" line="0"/>
1329 <source>Bootloader installation Canceled!</source> 1329 <source>Bootloader installation Canceled!</source>
1330 <translation type="obsolete">Bootloader-Installation abgebrochen!</translation> 1330 <translation type="obsolete">Bootloader-Installation abgebrochen!</translation>
1331 </message> 1331 </message>
1332 <message> 1332 <message>
1333 <location filename="" line="0"/> 1333 <location filename="" line="0"/>
1334 <source>Bootloader installation Skipped!</source> 1334 <source>Bootloader installation Skipped!</source>
1335 <translation type="obsolete">Bootloader-Installation übersprungen!</translation> 1335 <translation type="obsolete">Bootloader-Installation übersprungen!</translation>
1336 </message> 1336 </message>
1337 <message> 1337 <message>
1338 <location filename="rbutilqt.cpp" line="1014"/> 1338 <location filename="rbutilqt.cpp" line="1014"/>
1339 <source>Configuration error</source> 1339 <source>Configuration error</source>
1340 <translation>Konfigurationsfehler</translation> 1340 <translation>Konfigurationsfehler</translation>
1341 </message> 1341 </message>
1342 <message> 1342 <message>
1343 <location filename="rbutilqt.cpp" line="187"/> 1343 <location filename="rbutilqt.cpp" line="187"/>
1344 <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> 1344 <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>
1345 <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> 1345 <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>
1346 </message> 1346 </message>
1347 <message> 1347 <message>
1348 <location filename="rbutilqt.cpp" line="570"/> 1348 <location filename="rbutilqt.cpp" line="570"/>
1349 <source>The bootloader is already installed and up to date. 1349 <source>The bootloader is already installed and up to date.
1350Do want to replace the current bootloader?</source> 1350Do want to replace the current bootloader?</source>
1351 <translation>Der Bootloader ist schon installiert und aktuell. 1351 <translation>Der Bootloader ist schon installiert und aktuell.
1352Wollen sie wircklich den Bootloader ersetzen ?</translation> 1352Wollen sie wircklich den Bootloader ersetzen ?</translation>
1353 </message> 1353 </message>
1354 <message> 1354 <message>
1355 <location filename="rbutilqt.cpp" line="574"/> 1355 <location filename="rbutilqt.cpp" line="574"/>
1356 <source>Bootloader installation skipped!</source> 1356 <source>Bootloader installation skipped!</source>
1357 <translation>Bootloader installation übersprungen!</translation> 1357 <translation>Bootloader installation übersprungen!</translation>
1358 </message> 1358 </message>
1359 <message> 1359 <message>
1360 <location filename="rbutilqt.cpp" line="691"/> 1360 <location filename="rbutilqt.cpp" line="691"/>
1361 <source>Error</source> 1361 <source>Error</source>
1362 <translation>Fehler</translation> 1362 <translation>Fehler</translation>
1363 </message> 1363 </message>
1364 <message> 1364 <message>
1365 <location filename="rbutilqt.cpp" line="691"/> 1365 <location filename="rbutilqt.cpp" line="691"/>
1366 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source> 1366 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
1367 <translation>Für dein Gerät existiert kein Doom plugin. Breche Installation ab.</translation> 1367 <translation>Für dein Gerät existiert kein Doom plugin. Breche Installation ab.</translation>
1368 </message> 1368 </message>
1369 <message> 1369 <message>
1370 <location filename="rbutilqt.cpp" line="1016"/> 1370 <location filename="rbutilqt.cpp" line="1016"/>
1371 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source> 1371 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
1372 <translation>Deine Konfiguration ist ungültig. Bitte gehe in den Konfigurationsdialog und stelle sicher das die Einstellungen korrekt sind.</translation> 1372 <translation>Deine Konfiguration ist ungültig. Bitte gehe in den Konfigurationsdialog und stelle sicher das die Einstellungen korrekt sind.</translation>
1373 </message> 1373 </message>
1374</context> 1374</context>
1375<context> 1375<context>
1376 <name>RbUtilQtFrm</name> 1376 <name>RbUtilQtFrm</name>
1377 <message> 1377 <message>
1378 <location filename="rbutilqtfrm.ui" line="13"/> 1378 <location filename="rbutilqtfrm.ui" line="13"/>
1379 <source>Rockbox Utility</source> 1379 <source>Rockbox Utility</source>
1380 <translation>Rockbox Utility</translation> 1380 <translation>Rockbox Utility</translation>
1381 </message> 1381 </message>
1382 <message> 1382 <message>
1383 <location filename="rbutilqtfrm.ui" line="137"/> 1383 <location filename="rbutilqtfrm.ui" line="137"/>
1384 <source>&amp;Quick Start</source> 1384 <source>&amp;Quick Start</source>
1385 <translation>&amp;Schnellstart</translation> 1385 <translation>&amp;Schnellstart</translation>
1386 </message> 1386 </message>
1387 <message> 1387 <message>
1388 <location filename="" line="0"/> 1388 <location filename="" line="0"/>
1389 <source>...</source> 1389 <source>...</source>
1390 <translation type="obsolete">...</translation> 1390 <translation type="obsolete">...</translation>
1391 </message> 1391 </message>
1392 <message> 1392 <message>
1393 <location filename="rbutilqtfrm.ui" line="162"/> 1393 <location filename="rbutilqtfrm.ui" line="162"/>
1394 <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; 1394 <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;
1395p, li { white-space: pre-wrap; } 1395p, li { white-space: pre-wrap; }
1396&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; 1396&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;
1397&lt;p 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; 1397&lt;p 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;
1398&lt;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> 1398&lt;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>
1399 <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; 1399 <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;
1400p, li { white-space: pre-wrap; } 1400p, li { white-space: pre-wrap; }
1401&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; 1401&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;
1402&lt;p 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; 1402&lt;p 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;
1403&lt;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> 1403&lt;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>
1404 </message> 1404 </message>
1405 <message> 1405 <message>
1406 <location filename="rbutilqtfrm.ui" line="192"/> 1406 <location filename="rbutilqtfrm.ui" line="192"/>
1407 <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; 1407 <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;
1408p, li { white-space: pre-wrap; } 1408p, li { white-space: pre-wrap; }
1409&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; 1409&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;
1410&lt;p 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; 1410&lt;p 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;
1411&lt;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> 1411&lt;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>
1412 <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; 1412 <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;
1413p, li { white-space: pre-wrap; } 1413p, li { white-space: pre-wrap; }
1414&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; 1414&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;
1415&lt;p 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; 1415&lt;p 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;
1416&lt;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> 1416&lt;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>
1417 </message> 1417 </message>
1418 <message> 1418 <message>
1419 <location filename="rbutilqtfrm.ui" line="236"/> 1419 <location filename="rbutilqtfrm.ui" line="236"/>
1420 <source>&amp;Installation</source> 1420 <source>&amp;Installation</source>
1421 <translation>&amp;Installation</translation> 1421 <translation>&amp;Installation</translation>
1422 </message> 1422 </message>
1423 <message> 1423 <message>
1424 <location filename="rbutilqtfrm.ui" line="261"/> 1424 <location filename="rbutilqtfrm.ui" line="261"/>
1425 <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; 1425 <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;
1426p, li { white-space: pre-wrap; } 1426p, li { white-space: pre-wrap; }
1427&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; 1427&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;
1428&lt;p 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; 1428&lt;p 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;
1429&lt;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> 1429&lt;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>
1430 <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; 1430 <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;
1431p, li { white-space: pre-wrap; } 1431p, li { white-space: pre-wrap; }
1432&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; 1432&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;
1433&lt;p 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; 1433&lt;p 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;
1434&lt;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> 1434&lt;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>
1435 </message> 1435 </message>
1436 <message> 1436 <message>
1437 <location filename="rbutilqtfrm.ui" line="294"/> 1437 <location filename="rbutilqtfrm.ui" line="294"/>
1438 <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; 1438 <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;
1439p, li { white-space: pre-wrap; } 1439p, li { white-space: pre-wrap; }
1440&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; 1440&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;
1441&lt;p 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> 1441&lt;p 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>
1442 <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; 1442 <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;
1443p, li { white-space: pre-wrap; } 1443p, li { white-space: pre-wrap; }
1444&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; 1444&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;
1445&lt;p 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> 1445&lt;p 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>
1446 </message> 1446 </message>
1447 <message> 1447 <message>
1448 <location filename="rbutilqtfrm.ui" line="340"/> 1448 <location filename="rbutilqtfrm.ui" line="340"/>
1449 <source>&amp;Extras</source> 1449 <source>&amp;Extras</source>
1450 <translation>&amp;Extras</translation> 1450 <translation>&amp;Extras</translation>
1451 </message> 1451 </message>
1452 <message> 1452 <message>
1453 <location filename="rbutilqtfrm.ui" line="365"/> 1453 <location filename="rbutilqtfrm.ui" line="365"/>
1454 <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; 1454 <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;
1455p, li { white-space: pre-wrap; } 1455p, li { white-space: pre-wrap; }
1456&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; 1456&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;
1457&lt;p 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; 1457&lt;p 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;
1458&lt;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> 1458&lt;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>
1459 <translation type="unfinished"></translation> 1459 <translation type="unfinished"></translation>
1460 </message> 1460 </message>
1461 <message> 1461 <message>
1462 <location filename="rbutilqtfrm.ui" line="395"/> 1462 <location filename="rbutilqtfrm.ui" line="395"/>
1463 <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; 1463 <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;
1464p, li { white-space: pre-wrap; } 1464p, li { white-space: pre-wrap; }
1465&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; 1465&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;
1466&lt;p 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; 1466&lt;p 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;
1467&lt;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> 1467&lt;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>
1468 <translation type="unfinished"></translation> 1468 <translation type="unfinished"></translation>
1469 </message> 1469 </message>
1470 <message> 1470 <message>
1471 <location filename="rbutilqtfrm.ui" line="425"/> 1471 <location filename="rbutilqtfrm.ui" line="425"/>
1472 <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; 1472 <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;
1473p, li { white-space: pre-wrap; } 1473p, li { white-space: pre-wrap; }
1474&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; 1474&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;
1475&lt;p 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; 1475&lt;p 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;
1476&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> 1476&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>
1477 <translation type="unfinished"></translation> 1477 <translation type="unfinished"></translation>
1478 </message> 1478 </message>
1479 <message> 1479 <message>
1480 <location filename="rbutilqtfrm.ui" line="587"/> 1480 <location filename="rbutilqtfrm.ui" line="587"/>
1481 <source>&amp;Uninstallation</source> 1481 <source>&amp;Uninstallation</source>
1482 <translation>&amp;Deinstallation</translation> 1482 <translation>&amp;Deinstallation</translation>
1483 </message> 1483 </message>
1484 <message> 1484 <message>
1485 <location filename="rbutilqtfrm.ui" line="642"/> 1485 <location filename="rbutilqtfrm.ui" line="642"/>
1486 <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; 1486 <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;
1487p, li { white-space: pre-wrap; } 1487p, li { white-space: pre-wrap; }
1488&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; 1488&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;
1489&lt;p 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; 1489&lt;p 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;
1490&lt;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> 1490&lt;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>
1491 <translation type="unfinished"></translation> 1491 <translation type="unfinished"></translation>
1492 </message> 1492 </message>
1493 <message> 1493 <message>
1494 <location filename="rbutilqtfrm.ui" line="689"/> 1494 <location filename="rbutilqtfrm.ui" line="689"/>
1495 <source>&amp;Manual</source> 1495 <source>&amp;Manual</source>
1496 <translation>&amp;Anleitung</translation> 1496 <translation>&amp;Anleitung</translation>
1497 </message> 1497 </message>
1498 <message> 1498 <message>
1499 <location filename="rbutilqtfrm.ui" line="837"/> 1499 <location filename="rbutilqtfrm.ui" line="837"/>
1500 <source>&amp;File</source> 1500 <source>&amp;File</source>
1501 <translation>&amp;Datei</translation> 1501 <translation>&amp;Datei</translation>
1502 </message> 1502 </message>
1503 <message> 1503 <message>
1504 <location filename="rbutilqtfrm.ui" line="930"/> 1504 <location filename="rbutilqtfrm.ui" line="930"/>
1505 <source>&amp;About</source> 1505 <source>&amp;About</source>
1506 <translation>Ü&amp;ber</translation> 1506 <translation>Ü&amp;ber</translation>
1507 </message> 1507 </message>
1508 <message> 1508 <message>
1509 <location filename="rbutilqtfrm.ui" line="907"/> 1509 <location filename="rbutilqtfrm.ui" line="907"/>
1510 <source>Empty local download cache</source> 1510 <source>Empty local download cache</source>
1511 <translation>Download-Cache löschen</translation> 1511 <translation>Download-Cache löschen</translation>
1512 </message> 1512 </message>
1513 <message> 1513 <message>
1514 <location filename="rbutilqtfrm.ui" line="912"/> 1514 <location filename="rbutilqtfrm.ui" line="912"/>
1515 <source>Install Rockbox Utility on player</source> 1515 <source>Install Rockbox Utility on player</source>
1516 <translation>Rockbox Utility auf dem Gerät installieren</translation> 1516 <translation>Rockbox Utility auf dem Gerät installieren</translation>
1517 </message> 1517 </message>
1518 <message> 1518 <message>
1519 <location filename="rbutilqtfrm.ui" line="917"/> 1519 <location filename="rbutilqtfrm.ui" line="917"/>
1520 <source>&amp;Configure</source> 1520 <source>&amp;Configure</source>
1521 <translation>&amp;Konfigurieren</translation> 1521 <translation>&amp;Konfigurieren</translation>
1522 </message> 1522 </message>
1523 <message> 1523 <message>
1524 <location filename="rbutilqtfrm.ui" line="922"/> 1524 <location filename="rbutilqtfrm.ui" line="922"/>
1525 <source>E&amp;xit</source> 1525 <source>E&amp;xit</source>
1526 <translation>&amp;Beenden</translation> 1526 <translation>&amp;Beenden</translation>
1527 </message> 1527 </message>
1528 <message> 1528 <message>
1529 <location filename="rbutilqtfrm.ui" line="925"/> 1529 <location filename="rbutilqtfrm.ui" line="925"/>
1530 <source>Ctrl+Q</source> 1530 <source>Ctrl+Q</source>
1531 <translation>Ctrl+Q</translation> 1531 <translation>Ctrl+Q</translation>
1532 </message> 1532 </message>
1533 <message> 1533 <message>
1534 <location filename="rbutilqtfrm.ui" line="935"/> 1534 <location filename="rbutilqtfrm.ui" line="935"/>
1535 <source>About &amp;Qt</source> 1535 <source>About &amp;Qt</source>
1536 <translation>Über &amp;Qt</translation> 1536 <translation>Über &amp;Qt</translation>
1537 </message> 1537 </message>
1538 <message> 1538 <message>
1539 <location filename="rbutilqtfrm.ui" line="977"/> 1539 <location filename="rbutilqtfrm.ui" line="977"/>
1540 <source>Install Rockbox</source> 1540 <source>Install Rockbox</source>
1541 <translation>Rockbox installieren</translation> 1541 <translation>Rockbox installieren</translation>
1542 </message> 1542 </message>
1543 <message> 1543 <message>
1544 <location filename="rbutilqtfrm.ui" line="969"/> 1544 <location filename="rbutilqtfrm.ui" line="969"/>
1545 <source>Install Bootloader</source> 1545 <source>Install Bootloader</source>
1546 <translation>Bootloader installieren</translation> 1546 <translation>Bootloader installieren</translation>
1547 </message> 1547 </message>
1548 <message> 1548 <message>
1549 <location filename="rbutilqtfrm.ui" line="349"/> 1549 <location filename="rbutilqtfrm.ui" line="349"/>
1550 <source>Install Fonts package</source> 1550 <source>Install Fonts package</source>
1551 <translation>Schriftarten-Paket installieren</translation> 1551 <translation>Schriftarten-Paket installieren</translation>
1552 </message> 1552 </message>
1553 <message> 1553 <message>
1554 <location filename="rbutilqtfrm.ui" line="379"/> 1554 <location filename="rbutilqtfrm.ui" line="379"/>
1555 <source>Install themes</source> 1555 <source>Install themes</source>
1556 <translation>Themes Installieren</translation> 1556 <translation>Themes Installieren</translation>
1557 </message> 1557 </message>
1558 <message> 1558 <message>
1559 <location filename="rbutilqtfrm.ui" line="409"/> 1559 <location filename="rbutilqtfrm.ui" line="409"/>
1560 <source>Install game files</source> 1560 <source>Install game files</source>
1561 <translation>Game dateien Installieren</translation> 1561 <translation>Game dateien Installieren</translation>
1562 </message> 1562 </message>
1563 <message> 1563 <message>
1564 <location filename="rbutilqtfrm.ui" line="596"/> 1564 <location filename="rbutilqtfrm.ui" line="596"/>
1565 <source>Uninstall Bootloader</source> 1565 <source>Uninstall Bootloader</source>
1566 <translation>Bootloader entfernen</translation> 1566 <translation>Bootloader entfernen</translation>
1567 </message> 1567 </message>
1568 <message> 1568 <message>
1569 <location filename="rbutilqtfrm.ui" line="1033"/> 1569 <location filename="rbutilqtfrm.ui" line="1033"/>
1570 <source>Uninstall Rockbox</source> 1570 <source>Uninstall Rockbox</source>
1571 <translation>Rockbox entfernen</translation> 1571 <translation>Rockbox entfernen</translation>
1572 </message> 1572 </message>
1573 <message> 1573 <message>
1574 <location filename="rbutilqtfrm.ui" line="78"/> 1574 <location filename="rbutilqtfrm.ui" line="78"/>
1575 <source>Device</source> 1575 <source>Device</source>
1576 <translation>Gerät</translation> 1576 <translation>Gerät</translation>
1577 </message> 1577 </message>
1578 <message> 1578 <message>
1579 <location filename="rbutilqtfrm.ui" line="90"/> 1579 <location filename="rbutilqtfrm.ui" line="90"/>
1580 <source>Selected device:</source> 1580 <source>Selected device:</source>
1581 <translation>Ausgewähltes Gerät:</translation> 1581 <translation>Ausgewähltes Gerät:</translation>
1582 </message> 1582 </message>
1583 <message> 1583 <message>
1584 <location filename="rbutilqtfrm.ui" line="97"/> 1584 <location filename="rbutilqtfrm.ui" line="97"/>
1585 <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; 1585 <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;
1586p, li { white-space: pre-wrap; } 1586p, li { white-space: pre-wrap; }
1587&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; 1587&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;
1588&lt;p 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> 1588&lt;p 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>
1589 <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> 1589 <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>
1590 </message> 1590 </message>
1591 <message> 1591 <message>
1592 <location filename="rbutilqtfrm.ui" line="120"/> 1592 <location filename="rbutilqtfrm.ui" line="120"/>
1593 <source>&amp;Change</source> 1593 <source>&amp;Change</source>
1594 <translation>Än&amp;dern</translation> 1594 <translation>Än&amp;dern</translation>
1595 </message> 1595 </message>
1596 <message> 1596 <message>
1597 <location filename="rbutilqtfrm.ui" line="140"/> 1597 <location filename="rbutilqtfrm.ui" line="140"/>
1598 <source>Welcome</source> 1598 <source>Welcome</source>
1599 <translation>Willkommen</translation> 1599 <translation>Willkommen</translation>
1600 </message> 1600 </message>
1601 <message> 1601 <message>
1602 <location filename="rbutilqtfrm.ui" line="239"/> 1602 <location filename="rbutilqtfrm.ui" line="239"/>
1603 <source>Basic Rockbox installation</source> 1603 <source>Basic Rockbox installation</source>
1604 <translation>Einfache Rockbox-Installation</translation> 1604 <translation>Einfache Rockbox-Installation</translation>
1605 </message> 1605 </message>
1606 <message> 1606 <message>
1607 <location filename="rbutilqtfrm.ui" line="343"/> 1607 <location filename="rbutilqtfrm.ui" line="343"/>
1608 <source>Install extras for Rockbox</source> 1608 <source>Install extras for Rockbox</source>
1609 <translation>Installiere Extras für Rockbox</translation> 1609 <translation>Installiere Extras für Rockbox</translation>
1610 </message> 1610 </message>
1611 <message> 1611 <message>
1612 <location filename="rbutilqtfrm.ui" line="466"/> 1612 <location filename="rbutilqtfrm.ui" line="466"/>
1613 <source>&amp;Accessibility</source> 1613 <source>&amp;Accessibility</source>
1614 <translation>&amp;Accessibility</translation> 1614 <translation>&amp;Accessibility</translation>
1615 </message> 1615 </message>
1616 <message> 1616 <message>
1617 <location filename="rbutilqtfrm.ui" line="469"/> 1617 <location filename="rbutilqtfrm.ui" line="469"/>
1618 <source>Install accessibility add-ons</source> 1618 <source>Install accessibility add-ons</source>
1619 <translation>Installiere accessibility add-ons</translation> 1619 <translation>Installiere accessibility add-ons</translation>
1620 </message> 1620 </message>
1621 <message> 1621 <message>
1622 <location filename="rbutilqtfrm.ui" line="475"/> 1622 <location filename="rbutilqtfrm.ui" line="475"/>
1623 <source>Install Voice files</source> 1623 <source>Install Voice files</source>
1624 <translation>Sprachdateien installieren</translation> 1624 <translation>Sprachdateien installieren</translation>
1625 </message> 1625 </message>
1626 <message> 1626 <message>
1627 <location filename="rbutilqtfrm.ui" line="491"/> 1627 <location filename="rbutilqtfrm.ui" line="491"/>
1628 <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; 1628 <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;
1629p, li { white-space: pre-wrap; } 1629p, li { white-space: pre-wrap; }
1630&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; 1630&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;
1631&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; 1631&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;
1632&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> 1632&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>
1633 <translation type="unfinished"></translation> 1633 <translation type="unfinished"></translation>
1634 </message> 1634 </message>
1635 <message> 1635 <message>
1636 <location filename="rbutilqtfrm.ui" line="505"/> 1636 <location filename="rbutilqtfrm.ui" line="505"/>
1637 <source>Install Talk files</source> 1637 <source>Install Talk files</source>
1638 <translation>Talk-Dateien installieren</translation> 1638 <translation>Talk-Dateien installieren</translation>
1639 </message> 1639 </message>
1640 <message> 1640 <message>
1641 <location filename="rbutilqtfrm.ui" line="521"/> 1641 <location filename="rbutilqtfrm.ui" line="521"/>
1642 <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; 1642 <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;
1643p, li { white-space: pre-wrap; } 1643p, li { white-space: pre-wrap; }
1644&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; 1644&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;
1645&lt;p 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; 1645&lt;p 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;
1646&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> 1646&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>
1647 <translation type="unfinished"></translation> 1647 <translation type="unfinished"></translation>
1648 </message> 1648 </message>
1649 <message> 1649 <message>
1650 <location filename="rbutilqtfrm.ui" line="612"/> 1650 <location filename="rbutilqtfrm.ui" line="612"/>
1651 <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; 1651 <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;
1652p, li { white-space: pre-wrap; } 1652p, li { white-space: pre-wrap; }
1653&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; 1653&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;
1654&lt;p 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; 1654&lt;p 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;
1655&lt;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> 1655&lt;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>
1656 <translation type="unfinished"></translation> 1656 <translation type="unfinished"></translation>
1657 </message> 1657 </message>
1658 <message> 1658 <message>
1659 <location filename="rbutilqtfrm.ui" line="692"/> 1659 <location filename="rbutilqtfrm.ui" line="692"/>
1660 <source>View and download the manual</source> 1660 <source>View and download the manual</source>
1661 <translation>Anleitung herunterladen und lesen</translation> 1661 <translation>Anleitung herunterladen und lesen</translation>
1662 </message> 1662 </message>
1663 <message> 1663 <message>
1664 <location filename="rbutilqtfrm.ui" line="698"/> 1664 <location filename="rbutilqtfrm.ui" line="698"/>
1665 <source>Read the manual</source> 1665 <source>Read the manual</source>
1666 <translation>Anleitung lesen</translation> 1666 <translation>Anleitung lesen</translation>
1667 </message> 1667 </message>
1668 <message> 1668 <message>
1669 <location filename="rbutilqtfrm.ui" line="704"/> 1669 <location filename="rbutilqtfrm.ui" line="704"/>
1670 <source>PDF manual</source> 1670 <source>PDF manual</source>
1671 <translation>PDF-Anleitung</translation> 1671 <translation>PDF-Anleitung</translation>
1672 </message> 1672 </message>
1673 <message> 1673 <message>
1674 <location filename="rbutilqtfrm.ui" line="717"/> 1674 <location filename="rbutilqtfrm.ui" line="717"/>
1675 <source>HTML manual</source> 1675 <source>HTML manual</source>
1676 <translation>HTML-Anleitung</translation> 1676 <translation>HTML-Anleitung</translation>
1677 </message> 1677 </message>
1678 <message> 1678 <message>
1679 <location filename="rbutilqtfrm.ui" line="733"/> 1679 <location filename="rbutilqtfrm.ui" line="733"/>
1680 <source>Download the manual</source> 1680 <source>Download the manual</source>
1681 <translation>Anleitung herunterladen</translation> 1681 <translation>Anleitung herunterladen</translation>
1682 </message> 1682 </message>
1683 <message> 1683 <message>
1684 <location filename="rbutilqtfrm.ui" line="741"/> 1684 <location filename="rbutilqtfrm.ui" line="741"/>
1685 <source>&amp;PDF version</source> 1685 <source>&amp;PDF version</source>
1686 <translation>&amp;PDF-Version</translation> 1686 <translation>&amp;PDF-Version</translation>
1687 </message> 1687 </message>
1688 <message> 1688 <message>
1689 <location filename="rbutilqtfrm.ui" line="748"/> 1689 <location filename="rbutilqtfrm.ui" line="748"/>
1690 <source>&amp;HTML version (zip file)</source> 1690 <source>&amp;HTML version (zip file)</source>
1691 <translation>&amp;HTML-Version (Zip-Datei)</translation> 1691 <translation>&amp;HTML-Version (Zip-Datei)</translation>
1692 </message> 1692 </message>
1693 <message> 1693 <message>
1694 <location filename="rbutilqtfrm.ui" line="770"/> 1694 <location filename="rbutilqtfrm.ui" line="770"/>
1695 <source>Down&amp;load</source> 1695 <source>Down&amp;load</source>
1696 <translation>Herunter&amp;laden</translation> 1696 <translation>Herunter&amp;laden</translation>
1697 </message> 1697 </message>
1698 <message> 1698 <message>
1699 <location filename="rbutilqtfrm.ui" line="794"/> 1699 <location filename="rbutilqtfrm.ui" line="794"/>
1700 <source>Inf&amp;o</source> 1700 <source>Inf&amp;o</source>
1701 <translation>Inf&amp;o</translation> 1701 <translation>Inf&amp;o</translation>
1702 </message> 1702 </message>
1703 <message> 1703 <message>
1704 <location filename="rbutilqtfrm.ui" line="800"/> 1704 <location filename="rbutilqtfrm.ui" line="800"/>
1705 <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; 1705 <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;
1706p, li { white-space: pre-wrap; } 1706p, li { white-space: pre-wrap; }
1707&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; 1707&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;
1708&lt;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; 1708&lt;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;
1709&lt;p 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> 1709&lt;p 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>
1710 <translation type="unfinished"></translation> 1710 <translation type="unfinished"></translation>
1711 </message> 1711 </message>
1712 <message> 1712 <message>
1713 <location filename="rbutilqtfrm.ui" line="815"/> 1713 <location filename="rbutilqtfrm.ui" line="815"/>
1714 <source>1</source> 1714 <source>1</source>
1715 <translation>1</translation> 1715 <translation>1</translation>
1716 </message> 1716 </message>
1717 <message> 1717 <message>
1718 <location filename="rbutilqtfrm.ui" line="940"/> 1718 <location filename="rbutilqtfrm.ui" line="940"/>
1719 <source>&amp;Help</source> 1719 <source>&amp;Help</source>
1720 <translation>&amp;Hilfe</translation> 1720 <translation>&amp;Hilfe</translation>
1721 </message> 1721 </message>
1722 <message> 1722 <message>
1723 <location filename="rbutilqtfrm.ui" line="953"/> 1723 <location filename="rbutilqtfrm.ui" line="953"/>
1724 <source>Complete Installation</source> 1724 <source>Complete Installation</source>
1725 <translation>Komplette Installation</translation> 1725 <translation>Komplette Installation</translation>
1726 </message> 1726 </message>
1727 <message> 1727 <message>
1728 <location filename="rbutilqtfrm.ui" line="961"/> 1728 <location filename="rbutilqtfrm.ui" line="961"/>
1729 <source>Small Installation</source> 1729 <source>Small Installation</source>
1730 <translation>Kleine Installation</translation> 1730 <translation>Kleine Installation</translation>
1731 </message> 1731 </message>
1732 <message> 1732 <message>
1733 <location filename="rbutilqtfrm.ui" line="855"/> 1733 <location filename="rbutilqtfrm.ui" line="855"/>
1734 <source>Action&amp;s</source> 1734 <source>Action&amp;s</source>
1735 <translation>Action&amp;s</translation> 1735 <translation>Action&amp;s</translation>
1736 </message> 1736 </message>
1737 <message> 1737 <message>
1738 <location filename="rbutilqtfrm.ui" line="859"/> 1738 <location filename="rbutilqtfrm.ui" line="859"/>
1739 <source>Installation</source> 1739 <source>Installation</source>
1740 <translation>Installation</translation> 1740 <translation>Installation</translation>
1741 </message> 1741 </message>
1742 <message> 1742 <message>
1743 <location filename="rbutilqtfrm.ui" line="866"/> 1743 <location filename="rbutilqtfrm.ui" line="866"/>
1744 <source>Quick Start</source> 1744 <source>Quick Start</source>
1745 <translation>Schnellstart</translation> 1745 <translation>Schnellstart</translation>
1746 </message> 1746 </message>
1747 <message> 1747 <message>
1748 <location filename="rbutilqtfrm.ui" line="873"/> 1748 <location filename="rbutilqtfrm.ui" line="873"/>
1749 <source>Extras</source> 1749 <source>Extras</source>
1750 <translation>Extras</translation> 1750 <translation>Extras</translation>
1751 </message> 1751 </message>
1752 <message> 1752 <message>
1753 <location filename="rbutilqtfrm.ui" line="881"/> 1753 <location filename="rbutilqtfrm.ui" line="881"/>
1754 <source>Accessibility</source> 1754 <source>Accessibility</source>
1755 <translation>Accessibility</translation> 1755 <translation>Accessibility</translation>
1756 </message> 1756 </message>
1757 <message> 1757 <message>
1758 <location filename="rbutilqtfrm.ui" line="889"/> 1758 <location filename="rbutilqtfrm.ui" line="889"/>
1759 <source>Uninstallation</source> 1759 <source>Uninstallation</source>
1760 <translation>Deinstallation</translation> 1760 <translation>Deinstallation</translation>
1761 </message> 1761 </message>
1762 <message> 1762 <message>
1763 <location filename="rbutilqtfrm.ui" line="945"/> 1763 <location filename="rbutilqtfrm.ui" line="945"/>
1764 <source>Info</source> 1764 <source>Info</source>
1765 <translation>Info</translation> 1765 <translation>Info</translation>
1766 </message> 1766 </message>
1767 <message> 1767 <message>
1768 <location filename="rbutilqtfrm.ui" line="985"/> 1768 <location filename="rbutilqtfrm.ui" line="985"/>
1769 <source>Fonts Package</source> 1769 <source>Fonts Package</source>
1770 <translation>Schriftarten Paket</translation> 1770 <translation>Schriftarten Paket</translation>
1771 </message> 1771 </message>
1772 <message> 1772 <message>
1773 <location filename="rbutilqtfrm.ui" line="993"/> 1773 <location filename="rbutilqtfrm.ui" line="993"/>
1774 <source>Install Themes</source> 1774 <source>Install Themes</source>
1775 <translation>Installiere Themes</translation> 1775 <translation>Installiere Themes</translation>
1776 </message> 1776 </message>
1777 <message> 1777 <message>
1778 <location filename="rbutilqtfrm.ui" line="1001"/> 1778 <location filename="rbutilqtfrm.ui" line="1001"/>
1779 <source>Install Game Files</source> 1779 <source>Install Game Files</source>
1780 <translation>Installiere Game Dateien</translation> 1780 <translation>Installiere Game Dateien</translation>
1781 </message> 1781 </message>
1782 <message> 1782 <message>
1783 <location filename="rbutilqtfrm.ui" line="1009"/> 1783 <location filename="rbutilqtfrm.ui" line="1009"/>
1784 <source>Install Voice File</source> 1784 <source>Install Voice File</source>
1785 <translation>Installiere Sprachfiles</translation> 1785 <translation>Installiere Sprachfiles</translation>
1786 </message> 1786 </message>
1787 <message> 1787 <message>
1788 <location filename="rbutilqtfrm.ui" line="1017"/> 1788 <location filename="rbutilqtfrm.ui" line="1017"/>
1789 <source>Create Talk Files</source> 1789 <source>Create Talk Files</source>
1790 <translation>Erstelle Talk files</translation> 1790 <translation>Erstelle Talk files</translation>
1791 </message> 1791 </message>
1792 <message> 1792 <message>
1793 <location filename="rbutilqtfrm.ui" line="1025"/> 1793 <location filename="rbutilqtfrm.ui" line="1025"/>
1794 <source>Remove bootloader</source> 1794 <source>Remove bootloader</source>
1795 <translation>Entferne Bootloader</translation> 1795 <translation>Entferne Bootloader</translation>
1796 </message> 1796 </message>
1797 <message> 1797 <message>
1798 <location filename="rbutilqtfrm.ui" line="1038"/> 1798 <location filename="rbutilqtfrm.ui" line="1038"/>
1799 <source>Read PDF manual</source> 1799 <source>Read PDF manual</source>
1800 <translation>Lese PDF Manual</translation> 1800 <translation>Lese PDF Manual</translation>
1801 </message> 1801 </message>
1802 <message> 1802 <message>
1803 <location filename="rbutilqtfrm.ui" line="1043"/> 1803 <location filename="rbutilqtfrm.ui" line="1043"/>
1804 <source>Read HTML manual</source> 1804 <source>Read HTML manual</source>
1805 <translation>Lese HTML Manual</translation> 1805 <translation>Lese HTML Manual</translation>
1806 </message> 1806 </message>
1807 <message> 1807 <message>
1808 <location filename="rbutilqtfrm.ui" line="1048"/> 1808 <location filename="rbutilqtfrm.ui" line="1048"/>
1809 <source>Download PDF manual</source> 1809 <source>Download PDF manual</source>
1810 <translation>Downloade PDF manual</translation> 1810 <translation>Downloade PDF manual</translation>
1811 </message> 1811 </message>
1812 <message> 1812 <message>
1813 <location filename="rbutilqtfrm.ui" line="1053"/> 1813 <location filename="rbutilqtfrm.ui" line="1053"/>
1814 <source>Download HTML manual (zip)</source> 1814 <source>Download HTML manual (zip)</source>
1815 <translation>Downloade HTML manual (zip)</translation> 1815 <translation>Downloade HTML manual (zip)</translation>
1816 </message> 1816 </message>
1817 <message> 1817 <message>
1818 <location filename="rbutilqtfrm.ui" line="558"/> 1818 <location filename="rbutilqtfrm.ui" line="558"/>
1819 <source>Create Voice files</source> 1819 <source>Create Voice files</source>
1820 <translation>Erstelle Voicefile</translation> 1820 <translation>Erstelle Voicefile</translation>
1821 </message> 1821 </message>
1822 <message> 1822 <message>
1823 <location filename="rbutilqtfrm.ui" line="574"/> 1823 <location filename="rbutilqtfrm.ui" line="574"/>
1824 <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; 1824 <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;
1825p, li { white-space: pre-wrap; } 1825p, li { white-space: pre-wrap; }
1826&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; 1826&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;
1827&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; 1827&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;
1828&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; 1828&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;
1829&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> 1829&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>
1830 <translation type="unfinished"></translation> 1830 <translation type="unfinished"></translation>
1831 </message> 1831 </message>
1832 <message> 1832 <message>
1833 <location filename="rbutilqtfrm.ui" line="1061"/> 1833 <location filename="rbutilqtfrm.ui" line="1061"/>
1834 <source>Create Voice File</source> 1834 <source>Create Voice File</source>
1835 <translation>Erstelle Voicefile</translation> 1835 <translation>Erstelle Voicefile</translation>
1836 </message> 1836 </message>
1837 <message> 1837 <message>
1838 <location filename="rbutilqtfrm.ui" line="1064"/> 1838 <location filename="rbutilqtfrm.ui" line="1064"/>
1839 <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; 1839 <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;
1840e File</source> 1840e File</source>
1841 <translation type="unfinished"></translation> 1841 <translation type="unfinished"></translation>
1842 </message> 1842 </message>
1843</context> 1843</context>
1844<context> 1844<context>
1845 <name>SapiCfgFrm</name> 1845 <name>SapiCfgFrm</name>
1846 <message> 1846 <message>
1847 <location filename="sapicfgfrm.ui" line="13"/> 1847 <location filename="sapicfgfrm.ui" line="13"/>
1848 <source>Configuration</source> 1848 <source>Configuration</source>
1849 <translation>Konfiguration</translation> 1849 <translation>Konfiguration</translation>
1850 </message> 1850 </message>
1851 <message> 1851 <message>
1852 <location filename="sapicfgfrm.ui" line="19"/> 1852 <location filename="sapicfgfrm.ui" line="19"/>
1853 <source>Configure TTS Engine</source> 1853 <source>Configure TTS Engine</source>
1854 <translation>Konfiguriere TTS Engine</translation> 1854 <translation>Konfiguriere TTS Engine</translation>
1855 </message> 1855 </message>
1856 <message> 1856 <message>
1857 <location filename="sapicfgfrm.ui" line="62"/> 1857 <location filename="sapicfgfrm.ui" line="62"/>
1858 <source>TTS options</source> 1858 <source>TTS options</source>
1859 <translation>TTS-Optionen</translation> 1859 <translation>TTS-Optionen</translation>
1860 </message> 1860 </message>
1861 <message> 1861 <message>
1862 <location filename="sapicfgfrm.ui" line="25"/> 1862 <location filename="sapicfgfrm.ui" line="25"/>
1863 <source>Language</source> 1863 <source>Language</source>
1864 <translation>Sprache</translation> 1864 <translation>Sprache</translation>
1865 </message> 1865 </message>
1866 <message> 1866 <message>
1867 <location filename="sapicfgfrm.ui" line="87"/> 1867 <location filename="sapicfgfrm.ui" line="87"/>
1868 <source>Reset</source> 1868 <source>Reset</source>
1869 <translation>Reset</translation> 1869 <translation>Reset</translation>
1870 </message> 1870 </message>
1871 <message> 1871 <message>
1872 <location filename="sapicfgfrm.ui" line="107"/> 1872 <location filename="sapicfgfrm.ui" line="107"/>
1873 <source>&amp;Ok</source> 1873 <source>&amp;Ok</source>
1874 <translation>&amp;Ok</translation> 1874 <translation>&amp;Ok</translation>
1875 </message> 1875 </message>
1876 <message> 1876 <message>
1877 <location filename="sapicfgfrm.ui" line="117"/> 1877 <location filename="sapicfgfrm.ui" line="117"/>
1878 <source>&amp;Cancel</source> 1878 <source>&amp;Cancel</source>
1879 <translation>&amp;Abbrechen</translation> 1879 <translation>&amp;Abbrechen</translation>
1880 </message> 1880 </message>
1881 <message> 1881 <message>
1882 <location filename="sapicfgfrm.ui" line="35"/> 1882 <location filename="sapicfgfrm.ui" line="35"/>
1883 <source>Voice</source> 1883 <source>Voice</source>
1884 <translation>Stimme</translation> 1884 <translation>Stimme</translation>
1885 </message> 1885 </message>
1886 <message> 1886 <message>
1887 <location filename="sapicfgfrm.ui" line="45"/> 1887 <location filename="sapicfgfrm.ui" line="45"/>
1888 <source>Speed</source> 1888 <source>Speed</source>
1889 <translation>Geschwindigkeit</translation> 1889 <translation>Geschwindigkeit</translation>
1890 </message> 1890 </message>
1891</context> 1891</context>
1892<context> 1892<context>
1893 <name>TTSExes</name> 1893 <name>TTSExes</name>
1894 <message> 1894 <message>
1895 <location filename="tts.cpp" line="123"/> 1895 <location filename="tts.cpp" line="123"/>
1896 <source>TTS executable not found</source> 1896 <source>TTS executable not found</source>
1897 <translation>TTS programm nicht gefunden</translation> 1897 <translation>TTS programm nicht gefunden</translation>
1898 </message> 1898 </message>
1899</context> 1899</context>
1900<context> 1900<context>
1901 <name>TTSExesCfgFrm</name> 1901 <name>TTSExesCfgFrm</name>
1902 <message> 1902 <message>
1903 <location filename="ttsexescfgfrm.ui" line="13"/> 1903 <location filename="ttsexescfgfrm.ui" line="13"/>
1904 <source>Configuration</source> 1904 <source>Configuration</source>
1905 <translation>Konfiguration</translation> 1905 <translation>Konfiguration</translation>
1906 </message> 1906 </message>
1907 <message> 1907 <message>
1908 <location filename="ttsexescfgfrm.ui" line="19"/> 1908 <location filename="ttsexescfgfrm.ui" line="19"/>
1909 <source>Configure TTS Engine</source> 1909 <source>Configure TTS Engine</source>
1910 <translation>Konfiguriere TTS Engine</translation> 1910 <translation>Konfiguriere TTS Engine</translation>
1911 </message> 1911 </message>
1912 <message> 1912 <message>
1913 <location filename="ttsexescfgfrm.ui" line="31"/> 1913 <location filename="ttsexescfgfrm.ui" line="31"/>
1914 <source>Path to TTS Engine</source> 1914 <source>Path to TTS Engine</source>
1915 <translation>Pfad zur TTS Engine</translation> 1915 <translation>Pfad zur TTS Engine</translation>
1916 </message> 1916 </message>
1917 <message> 1917 <message>
1918 <location filename="ttsexescfgfrm.ui" line="43"/> 1918 <location filename="ttsexescfgfrm.ui" line="43"/>
1919 <source>&amp;Browse</source> 1919 <source>&amp;Browse</source>
1920 <translation>D&amp;urchsuchen</translation> 1920 <translation>D&amp;urchsuchen</translation>
1921 </message> 1921 </message>
1922 <message> 1922 <message>
1923 <location filename="ttsexescfgfrm.ui" line="52"/> 1923 <location filename="ttsexescfgfrm.ui" line="52"/>
1924 <source>TTS options</source> 1924 <source>TTS options</source>
1925 <translation>TTS Optionen</translation> 1925 <translation>TTS Optionen</translation>
1926 </message> 1926 </message>
1927 <message> 1927 <message>
1928 <location filename="ttsexescfgfrm.ui" line="77"/> 1928 <location filename="ttsexescfgfrm.ui" line="77"/>
1929 <source>Reset</source> 1929 <source>Reset</source>
1930 <translation>Reset</translation> 1930 <translation>Reset</translation>
1931 </message> 1931 </message>
1932 <message> 1932 <message>
1933 <location filename="ttsexescfgfrm.ui" line="97"/> 1933 <location filename="ttsexescfgfrm.ui" line="97"/>
1934 <source>&amp;Ok</source> 1934 <source>&amp;Ok</source>
1935 <translation>&amp;Ok</translation> 1935 <translation>&amp;Ok</translation>
1936 </message> 1936 </message>
1937 <message> 1937 <message>
1938 <location filename="ttsexescfgfrm.ui" line="107"/> 1938 <location filename="ttsexescfgfrm.ui" line="107"/>
1939 <source>&amp;Cancel</source> 1939 <source>&amp;Cancel</source>
1940 <translation>&amp;Abbrechen</translation> 1940 <translation>&amp;Abbrechen</translation>
1941 </message> 1941 </message>
1942</context> 1942</context>
1943<context> 1943<context>
1944 <name>TTSSapi</name> 1944 <name>TTSSapi</name>
1945 <message> 1945 <message>
1946 <location filename="tts.cpp" line="274"/> 1946 <location filename="tts.cpp" line="274"/>
1947 <source>Could not copy the Sapi-script</source> 1947 <source>Could not copy the Sapi-script</source>
1948 <translation>Konnte das Sapi-script nicht kopieren</translation> 1948 <translation>Konnte das Sapi-script nicht kopieren</translation>
1949 </message> 1949 </message>
1950 <message> 1950 <message>
1951 <location filename="tts.cpp" line="292"/> 1951 <location filename="tts.cpp" line="292"/>
1952 <source>Could not start the Sapi-script</source> 1952 <source>Could not start the Sapi-script</source>
1953 <translation>Konnte das Sapi-script nicht starten</translation> 1953 <translation>Konnte das Sapi-script nicht starten</translation>
1954 </message> 1954 </message>
1955</context> 1955</context>
1956<context> 1956<context>
1957 <name>TalkFileCreator</name> 1957 <name>TalkFileCreator</name>
1958 <message> 1958 <message>
1959 <location filename="talkfile.cpp" line="31"/> 1959 <location filename="talkfile.cpp" line="31"/>
1960 <source>Starting Talk file generation</source> 1960 <source>Starting Talk file generation</source>
1961 <translation>Beginne Talkfile generation</translation> 1961 <translation>Beginne Talkfile generation</translation>
1962 </message> 1962 </message>
1963 <message> 1963 <message>
1964 <location filename="talkfile.cpp" line="41"/> 1964 <location filename="talkfile.cpp" line="41"/>
1965 <source>Init of TTS engine failed</source> 1965 <source>Init of TTS engine failed</source>
1966 <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation> 1966 <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
1967 </message> 1967 </message>
1968 <message> 1968 <message>
1969 <location filename="talkfile.cpp" line="52"/> 1969 <location filename="talkfile.cpp" line="52"/>
1970 <source>Init of Encoder engine failed</source> 1970 <source>Init of Encoder engine failed</source>
1971 <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation> 1971 <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
1972 </message> 1972 </message>
1973 <message> 1973 <message>
1974 <location filename="talkfile.cpp" line="70"/> 1974 <location filename="talkfile.cpp" line="70"/>
1975 <source>Talk file creation aborted</source> 1975 <source>Talk file creation aborted</source>
1976 <translation>Talkfile generation abgebrochen</translation> 1976 <translation>Talkfile generation abgebrochen</translation>
1977 </message> 1977 </message>
1978 <message> 1978 <message>
1979 <location filename="talkfile.cpp" line="132"/> 1979 <location filename="talkfile.cpp" line="132"/>
1980 <source>Voicing of %1</source> 1980 <source>Voicing of %1</source>
1981 <translation>Spreche %1</translation> 1981 <translation>Spreche %1</translation>
1982 </message> 1982 </message>
1983 <message> 1983 <message>
1984 <location filename="talkfile.cpp" line="135"/> 1984 <location filename="talkfile.cpp" line="135"/>
1985 <source>Voicing of %s failed</source> 1985 <source>Voicing of %s failed</source>
1986 <translation>Sprechen von % ist fehlgeschlagen</translation> 1986 <translation>Sprechen von % ist fehlgeschlagen</translation>
1987 </message> 1987 </message>
1988 <message> 1988 <message>
1989 <location filename="talkfile.cpp" line="143"/> 1989 <location filename="talkfile.cpp" line="143"/>
1990 <source>Encoding of %1</source> 1990 <source>Encoding of %1</source>
1991 <translation>Enkodiere %1</translation> 1991 <translation>Enkodiere %1</translation>
1992 </message> 1992 </message>
1993 <message> 1993 <message>
1994 <location filename="talkfile.cpp" line="146"/> 1994 <location filename="talkfile.cpp" line="146"/>
1995 <source>Encoding of %1 failed</source> 1995 <source>Encoding of %1 failed</source>
1996 <translation>Enkodieren of %1 ist fehlgeschlagen</translation> 1996 <translation>Enkodieren of %1 ist fehlgeschlagen</translation>
1997 </message> 1997 </message>
1998 <message> 1998 <message>
1999 <location filename="talkfile.cpp" line="173"/> 1999 <location filename="talkfile.cpp" line="173"/>
2000 <source>Finished creating Talk files</source> 2000 <source>Finished creating Talk files</source>
2001 <translation>Erstellen der Talkfiles beendet</translation> 2001 <translation>Erstellen der Talkfiles beendet</translation>
2002 </message> 2002 </message>
2003</context> 2003</context>
2004<context> 2004<context>
2005 <name>ThemeInstallFrm</name> 2005 <name>ThemeInstallFrm</name>
2006 <message> 2006 <message>
2007 <location filename="installthemesfrm.ui" line="13"/> 2007 <location filename="installthemesfrm.ui" line="13"/>
2008 <source>Theme Installation</source> 2008 <source>Theme Installation</source>
2009 <translation>Theme-Installation</translation> 2009 <translation>Theme-Installation</translation>
2010 </message> 2010 </message>
2011 <message> 2011 <message>
2012 <location filename="installthemesfrm.ui" line="48"/> 2012 <location filename="installthemesfrm.ui" line="48"/>
2013 <source>Selected Theme</source> 2013 <source>Selected Theme</source>
2014 <translation>Ausgewähltes Theme</translation> 2014 <translation>Ausgewähltes Theme</translation>
2015 </message> 2015 </message>
2016 <message> 2016 <message>
2017 <location filename="installthemesfrm.ui" line="73"/> 2017 <location filename="installthemesfrm.ui" line="73"/>
2018 <source>Description</source> 2018 <source>Description</source>
2019 <translation>Beschreibung</translation> 2019 <translation>Beschreibung</translation>
2020 </message> 2020 </message>
2021 <message> 2021 <message>
2022 <location filename="installthemesfrm.ui" line="83"/> 2022 <location filename="installthemesfrm.ui" line="83"/>
2023 <source>Download size:</source> 2023 <source>Download size:</source>
2024 <translation>Downloadgröße:</translation> 2024 <translation>Downloadgröße:</translation>
2025 </message> 2025 </message>
2026 <message> 2026 <message>
2027 <location filename="" line="0"/> 2027 <location filename="" line="0"/>
2028 <source>&amp;Ok</source> 2028 <source>&amp;Ok</source>
2029 <translation type="obsolete">&amp;Ok</translation> 2029 <translation type="obsolete">&amp;Ok</translation>
2030 </message> 2030 </message>
2031 <message> 2031 <message>
2032 <location filename="installthemesfrm.ui" line="128"/> 2032 <location filename="installthemesfrm.ui" line="128"/>
2033 <source>&amp;Cancel</source> 2033 <source>&amp;Cancel</source>
2034 <translation>&amp;Abbrechen</translation> 2034 <translation>&amp;Abbrechen</translation>
2035 </message> 2035 </message>
2036 <message> 2036 <message>
2037 <location filename="installthemesfrm.ui" line="108"/> 2037 <location filename="installthemesfrm.ui" line="108"/>
2038 <source>&amp;Install</source> 2038 <source>&amp;Install</source>
2039 <translation>&amp;Installiere</translation> 2039 <translation>&amp;Installiere</translation>
2040 </message> 2040 </message>
2041 <message> 2041 <message>
2042 <location filename="installthemesfrm.ui" line="118"/> 2042 <location filename="installthemesfrm.ui" line="118"/>
2043 <source>Install &amp;All</source> 2043 <source>Install &amp;All</source>
2044 <translation>Installiere &amp;Alles</translation> 2044 <translation>Installiere &amp;Alles</translation>
2045 </message> 2045 </message>
2046</context> 2046</context>
2047<context> 2047<context>
2048 <name>ThemesInstallWindow</name> 2048 <name>ThemesInstallWindow</name>
2049 <message> 2049 <message>
2050 <location filename="installthemes.cpp" line="34"/> 2050 <location filename="installthemes.cpp" line="34"/>
2051 <source>no theme selected</source> 2051 <source>no theme selected</source>
2052 <translation>Kein Theme ausgewählt</translation> 2052 <translation>Kein Theme ausgewählt</translation>
2053 </message> 2053 </message>
2054 <message> 2054 <message>
2055 <location filename="installthemes.cpp" line="117"/> 2055 <location filename="installthemes.cpp" line="117"/>
2056 <source>Network error: %1. 2056 <source>Network error: %1.
2057Please check your network and proxy settings.</source> 2057Please check your network and proxy settings.</source>
2058 <translation>Netzwerkfehler: %1 2058 <translation>Netzwerkfehler: %1
2059Bitte Netzwerk- und Proxyeinstellungen überprüfen.</translation> 2059Bitte Netzwerk- und Proxyeinstellungen überprüfen.</translation>
2060 </message> 2060 </message>
2061 <message> 2061 <message>
2062 <location filename="installthemes.cpp" line="128"/> 2062 <location filename="installthemes.cpp" line="128"/>
2063 <source>the following error occured: 2063 <source>the following error occured:
2064%1</source> 2064%1</source>
2065 <translation>Der folgende Fehler ist aufgetreten: 2065 <translation>Der folgende Fehler ist aufgetreten:
2066%1</translation> 2066%1</translation>
2067 </message> 2067 </message>
2068 <message> 2068 <message>
2069 <location filename="installthemes.cpp" line="133"/> 2069 <location filename="installthemes.cpp" line="133"/>
2070 <source>done.</source> 2070 <source>done.</source>
2071 <translation>Abgeschlossen.</translation> 2071 <translation>Abgeschlossen.</translation>
2072 </message> 2072 </message>
2073 <message> 2073 <message>
2074 <location filename="installthemes.cpp" line="161"/> 2074 <location filename="installthemes.cpp" line="161"/>
2075 <source>fetching details for %1</source> 2075 <source>fetching details for %1</source>
2076 <translation>hole Details für %1</translation> 2076 <translation>hole Details für %1</translation>
2077 </message> 2077 </message>
2078 <message> 2078 <message>
2079 <location filename="installthemes.cpp" line="163"/> 2079 <location filename="installthemes.cpp" line="163"/>
2080 <source>fetching preview ...</source> 2080 <source>fetching preview ...</source>
2081 <translation>hole Vorschau ...</translation> 2081 <translation>hole Vorschau ...</translation>
2082 </message> 2082 </message>
2083 <message> 2083 <message>
2084 <location filename="" line="0"/> 2084 <location filename="" line="0"/>
2085 <source>Download size %1 kiB</source> 2085 <source>Download size %1 kiB</source>
2086 <translation type="obsolete">Downloadgröße: %1 kiB</translation> 2086 <translation type="obsolete">Downloadgröße: %1 kiB</translation>
2087 </message> 2087 </message>
2088 <message> 2088 <message>
2089 <location filename="installthemes.cpp" line="184"/> 2089 <location filename="installthemes.cpp" line="184"/>
2090 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source> 2090 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
2091 <translation>&lt;b&gt;Autor:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2091 <translation>&lt;b&gt;Autor:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2092 </message> 2092 </message>
2093 <message> 2093 <message>
2094 <location filename="installthemes.cpp" line="185"/> 2094 <location filename="installthemes.cpp" line="185"/>
2095 <source>unknown</source> 2095 <source>unknown</source>
2096 <translation>unbekannt</translation> 2096 <translation>unbekannt</translation>
2097 </message> 2097 </message>
2098 <message> 2098 <message>
2099 <location filename="installthemes.cpp" line="185"/> 2099 <location filename="installthemes.cpp" line="185"/>
2100 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source> 2100 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
2101 <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2101 <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2102 </message> 2102 </message>
2103 <message> 2103 <message>
2104 <location filename="installthemes.cpp" line="186"/> 2104 <location filename="installthemes.cpp" line="186"/>
2105 <source>no description</source> 2105 <source>no description</source>
2106 <translation>Keine Beschreibung vorhanden</translation> 2106 <translation>Keine Beschreibung vorhanden</translation>
2107 </message> 2107 </message>
2108 <message> 2108 <message>
2109 <location filename="installthemes.cpp" line="222"/> 2109 <location filename="installthemes.cpp" line="222"/>
2110 <source>no theme preview</source> 2110 <source>no theme preview</source>
2111 <translation>Keine Themevorschau vorhanden</translation> 2111 <translation>Keine Themevorschau vorhanden</translation>
2112 </message> 2112 </message>
2113 <message> 2113 <message>
2114 <location filename="installthemes.cpp" line="254"/> 2114 <location filename="installthemes.cpp" line="254"/>
2115 <source>getting themes information ...</source> 2115 <source>getting themes information ...</source>
2116 <translation>hole Theme-Informationen ...</translation> 2116 <translation>hole Theme-Informationen ...</translation>
2117 </message> 2117 </message>
2118 <message> 2118 <message>
2119 <location filename="installthemes.cpp" line="312"/> 2119 <location filename="installthemes.cpp" line="312"/>
2120 <source>Mount point is wrong!</source> 2120 <source>Mount point is wrong!</source>
2121 <translation>Einhängepunkt ungültig!</translation> 2121 <translation>Einhängepunkt ungültig!</translation>
2122 </message> 2122 </message>
2123 <message> 2123 <message>
2124 <location filename="installthemes.cpp" line="186"/> 2124 <location filename="installthemes.cpp" line="186"/>
2125 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source> 2125 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
2126 <translation>&lt;b&gt;Beschreibung:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2126 <translation>&lt;b&gt;Beschreibung:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2127 </message> 2127 </message>
2128 <message> 2128 <message>
2129 <location filename="installthemes.cpp" line="171"/> 2129 <location filename="installthemes.cpp" line="171"/>
2130 <source>Download size %L1 kiB</source> 2130 <source>Download size %L1 kiB</source>
2131 <translation>Download größe %L1 kiB</translation> 2131 <translation>Download größe %L1 kiB</translation>
2132 </message> 2132 </message>
2133</context> 2133</context>
2134<context> 2134<context>
2135 <name>UnZip</name> 2135 <name>UnZip</name>
2136 <message> 2136 <message>
2137 <location filename="zip/unzip.cpp" line="245"/> 2137 <location filename="zip/unzip.cpp" line="245"/>
2138 <source>ZIP operation completed successfully.</source> 2138 <source>ZIP operation completed successfully.</source>
2139 <translation>ZIP-Operation erfolgreich abgeschlossen.</translation> 2139 <translation>ZIP-Operation erfolgreich abgeschlossen.</translation>
2140 </message> 2140 </message>
2141 <message> 2141 <message>
2142 <location filename="zip/unzip.cpp" line="246"/> 2142 <location filename="zip/unzip.cpp" line="246"/>
2143 <source>Failed to initialize or load zlib library.</source> 2143 <source>Failed to initialize or load zlib library.</source>
2144 <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation> 2144 <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
2145 </message> 2145 </message>
2146 <message> 2146 <message>
2147 <location filename="zip/unzip.cpp" line="247"/> 2147 <location filename="zip/unzip.cpp" line="247"/>
2148 <source>zlib library error.</source> 2148 <source>zlib library error.</source>
2149 <translation>Fehler in zlib-Bibliothek.</translation> 2149 <translation>Fehler in zlib-Bibliothek.</translation>
2150 </message> 2150 </message>
2151 <message> 2151 <message>
2152 <location filename="zip/unzip.cpp" line="248"/> 2152 <location filename="zip/unzip.cpp" line="248"/>
2153 <source>Unable to create or open file.</source> 2153 <source>Unable to create or open file.</source>
2154 <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation> 2154 <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
2155 </message> 2155 </message>
2156 <message> 2156 <message>
2157 <location filename="zip/unzip.cpp" line="249"/> 2157 <location filename="zip/unzip.cpp" line="249"/>
2158 <source>Partially corrupted archive. Some files might be extracted.</source> 2158 <source>Partially corrupted archive. Some files might be extracted.</source>
2159 <translation>Teilweise korruptes Archiv. Einige Dateien wurden möglicherweise extrahiert.</translation> 2159 <translation>Teilweise korruptes Archiv. Einige Dateien wurden möglicherweise extrahiert.</translation>
2160 </message> 2160 </message>
2161 <message> 2161 <message>
2162 <location filename="zip/unzip.cpp" line="250"/> 2162 <location filename="zip/unzip.cpp" line="250"/>
2163 <source>Corrupted archive.</source> 2163 <source>Corrupted archive.</source>
2164 <translation>Korruptes Archiv.</translation> 2164 <translation>Korruptes Archiv.</translation>
2165 </message> 2165 </message>
2166 <message> 2166 <message>
2167 <location filename="zip/unzip.cpp" line="251"/> 2167 <location filename="zip/unzip.cpp" line="251"/>
2168 <source>Wrong password.</source> 2168 <source>Wrong password.</source>
2169 <translation>Falsches Passwort.</translation> 2169 <translation>Falsches Passwort.</translation>
2170 </message> 2170 </message>
2171 <message> 2171 <message>
2172 <location filename="zip/unzip.cpp" line="252"/> 2172 <location filename="zip/unzip.cpp" line="252"/>
2173 <source>No archive has been created yet.</source> 2173 <source>No archive has been created yet.</source>
2174 <translation>Momentan kein Archiv verfügbar.</translation> 2174 <translation>Momentan kein Archiv verfügbar.</translation>
2175 </message> 2175 </message>
2176 <message> 2176 <message>
2177 <location filename="zip/unzip.cpp" line="253"/> 2177 <location filename="zip/unzip.cpp" line="253"/>
2178 <source>File or directory does not exist.</source> 2178 <source>File or directory does not exist.</source>
2179 <translation>Datei oder Ordner existiert nicht.</translation> 2179 <translation>Datei oder Ordner existiert nicht.</translation>
2180 </message> 2180 </message>
2181 <message> 2181 <message>
2182 <location filename="zip/unzip.cpp" line="254"/> 2182 <location filename="zip/unzip.cpp" line="254"/>
2183 <source>File read error.</source> 2183 <source>File read error.</source>
2184 <translation>Fehler beim Lesen der Datei.</translation> 2184 <translation>Fehler beim Lesen der Datei.</translation>
2185 </message> 2185 </message>
2186 <message> 2186 <message>
2187 <location filename="zip/unzip.cpp" line="255"/> 2187 <location filename="zip/unzip.cpp" line="255"/>
2188 <source>File write error.</source> 2188 <source>File write error.</source>
2189 <translation>Fehler beim Schreiben der Datei.</translation> 2189 <translation>Fehler beim Schreiben der Datei.</translation>
2190 </message> 2190 </message>
2191 <message> 2191 <message>
2192 <location filename="zip/unzip.cpp" line="256"/> 2192 <location filename="zip/unzip.cpp" line="256"/>
2193 <source>File seek error.</source> 2193 <source>File seek error.</source>
2194 <translation>Fehler beim Durchsuchen der Datei.</translation> 2194 <translation>Fehler beim Durchsuchen der Datei.</translation>
2195 </message> 2195 </message>
2196 <message> 2196 <message>
2197 <location filename="zip/unzip.cpp" line="257"/> 2197 <location filename="zip/unzip.cpp" line="257"/>
2198 <source>Unable to create a directory.</source> 2198 <source>Unable to create a directory.</source>
2199 <translation>Kann Verzeichnis nicht erstellen.</translation> 2199 <translation>Kann Verzeichnis nicht erstellen.</translation>
2200 </message> 2200 </message>
2201 <message> 2201 <message>
2202 <location filename="zip/unzip.cpp" line="258"/> 2202 <location filename="zip/unzip.cpp" line="258"/>
2203 <source>Invalid device.</source> 2203 <source>Invalid device.</source>
2204 <translation>Ungültiges Gerät.</translation> 2204 <translation>Ungültiges Gerät.</translation>
2205 </message> 2205 </message>
2206 <message> 2206 <message>
2207 <location filename="zip/unzip.cpp" line="259"/> 2207 <location filename="zip/unzip.cpp" line="259"/>
2208 <source>Invalid or incompatible zip archive.</source> 2208 <source>Invalid or incompatible zip archive.</source>
2209 <translation>Ungültiges oder inkompatibles Zip-Archiv.</translation> 2209 <translation>Ungültiges oder inkompatibles Zip-Archiv.</translation>
2210 </message> 2210 </message>
2211 <message> 2211 <message>
2212 <location filename="zip/unzip.cpp" line="260"/> 2212 <location filename="zip/unzip.cpp" line="260"/>
2213 <source>Inconsistent headers. Archive might be corrupted.</source> 2213 <source>Inconsistent headers. Archive might be corrupted.</source>
2214 <translation>Inkonsistente Header. Archiv ist möglicherweise beschädigt.</translation> 2214 <translation>Inkonsistente Header. Archiv ist möglicherweise beschädigt.</translation>
2215 </message> 2215 </message>
2216 <message> 2216 <message>
2217 <location filename="zip/unzip.cpp" line="264"/> 2217 <location filename="zip/unzip.cpp" line="264"/>
2218 <source>Unknown error.</source> 2218 <source>Unknown error.</source>
2219 <translation>Unbekannter Fehler.</translation> 2219 <translation>Unbekannter Fehler.</translation>
2220 </message> 2220 </message>
2221</context> 2221</context>
2222<context> 2222<context>
2223 <name>UninstallFrm</name> 2223 <name>UninstallFrm</name>
2224 <message> 2224 <message>
2225 <location filename="uninstallfrm.ui" line="16"/> 2225 <location filename="uninstallfrm.ui" line="16"/>
2226 <source>Uninstall Rockbox</source> 2226 <source>Uninstall Rockbox</source>
2227 <translation>Rockbox deinstallieren</translation> 2227 <translation>Rockbox deinstallieren</translation>
2228 </message> 2228 </message>
2229 <message> 2229 <message>
2230 <location filename="uninstallfrm.ui" line="35"/> 2230 <location filename="uninstallfrm.ui" line="35"/>
2231 <source>Please select the Uninstallation Methodl</source> 2231 <source>Please select the Uninstallation Methodl</source>
2232 <translation>Bitte Deinstallationsmethode auswählen</translation> 2232 <translation>Bitte Deinstallationsmethode auswählen</translation>
2233 </message> 2233 </message>
2234 <message> 2234 <message>
2235 <location filename="uninstallfrm.ui" line="45"/> 2235 <location filename="uninstallfrm.ui" line="45"/>
2236 <source>Uninstallation Method</source> 2236 <source>Uninstallation Method</source>
2237 <translation>Deinstallationsmethode</translation> 2237 <translation>Deinstallationsmethode</translation>
2238 </message> 2238 </message>
2239 <message> 2239 <message>
2240 <location filename="uninstallfrm.ui" line="51"/> 2240 <location filename="uninstallfrm.ui" line="51"/>
2241 <source>Complete Uninstallation</source> 2241 <source>Complete Uninstallation</source>
2242 <translation>Vollständige Deinstallation</translation> 2242 <translation>Vollständige Deinstallation</translation>
2243 </message> 2243 </message>
2244 <message> 2244 <message>
2245 <location filename="uninstallfrm.ui" line="58"/> 2245 <location filename="uninstallfrm.ui" line="58"/>
2246 <source>Smart Uninstallation</source> 2246 <source>Smart Uninstallation</source>
2247 <translation>Intelligente Deinstallation</translation> 2247 <translation>Intelligente Deinstallation</translation>
2248 </message> 2248 </message>
2249 <message> 2249 <message>
2250 <location filename="uninstallfrm.ui" line="68"/> 2250 <location filename="uninstallfrm.ui" line="68"/>
2251 <source>Please select what you want to uninstall</source> 2251 <source>Please select what you want to uninstall</source>
2252 <translation>Bitte die zu deinstallierenden Teile auswählen</translation> 2252 <translation>Bitte die zu deinstallierenden Teile auswählen</translation>
2253 </message> 2253 </message>
2254 <message> 2254 <message>
2255 <location filename="uninstallfrm.ui" line="78"/> 2255 <location filename="uninstallfrm.ui" line="78"/>
2256 <source>Installed Parts</source> 2256 <source>Installed Parts</source>
2257 <translation>Installierte Teile</translation> 2257 <translation>Installierte Teile</translation>
2258 </message> 2258 </message>
2259 <message> 2259 <message>
2260 <location filename="" line="0"/> 2260 <location filename="" line="0"/>
2261 <source>&amp;Ok</source> 2261 <source>&amp;Ok</source>
2262 <translation type="obsolete">&amp;Ok</translation> 2262 <translation type="obsolete">&amp;Ok</translation>
2263 </message> 2263 </message>
2264 <message> 2264 <message>
2265 <location filename="uninstallfrm.ui" line="138"/> 2265 <location filename="uninstallfrm.ui" line="138"/>
2266 <source>&amp;Cancel</source> 2266 <source>&amp;Cancel</source>
2267 <translation>&amp;Abbrechen</translation> 2267 <translation>&amp;Abbrechen</translation>
2268 </message> 2268 </message>
2269 <message> 2269 <message>
2270 <location filename="uninstallfrm.ui" line="128"/> 2270 <location filename="uninstallfrm.ui" line="128"/>
2271 <source>&amp;Uninstall</source> 2271 <source>&amp;Uninstall</source>
2272 <translation>&amp;Deinstallation</translation> 2272 <translation>&amp;Deinstallation</translation>
2273 </message> 2273 </message>
2274</context> 2274</context>
2275<context> 2275<context>
2276 <name>Uninstaller</name> 2276 <name>Uninstaller</name>
2277 <message> 2277 <message>
2278 <location filename="uninstall.cpp" line="45"/> 2278 <location filename="uninstall.cpp" line="45"/>
2279 <source>Starting Uninstallation</source> 2279 <source>Starting Uninstallation</source>
2280 <translation>Beginne Deinstallation</translation> 2280 <translation>Beginne Deinstallation</translation>
2281 </message> 2281 </message>
2282 <message> 2282 <message>
2283 <location filename="uninstall.cpp" line="37"/> 2283 <location filename="uninstall.cpp" line="37"/>
2284 <source>Finished Uninstallation</source> 2284 <source>Finished Uninstallation</source>
2285 <translation>Deinstallation erfolgreich</translation> 2285 <translation>Deinstallation erfolgreich</translation>
2286 </message> 2286 </message>
2287 <message> 2287 <message>
2288 <location filename="uninstall.cpp" line="51"/> 2288 <location filename="uninstall.cpp" line="51"/>
2289 <source>Uninstalling </source> 2289 <source>Uninstalling </source>
2290 <translation>Deinstalliere </translation> 2290 <translation>Deinstalliere </translation>
2291 </message> 2291 </message>
2292 <message> 2292 <message>
2293 <location filename="uninstall.cpp" line="81"/> 2293 <location filename="uninstall.cpp" line="81"/>
2294 <source>Could not delete: </source> 2294 <source>Could not delete: </source>
2295 <translation>Konnte Datei nicht löschen: </translation> 2295 <translation>Konnte Datei nicht löschen: </translation>
2296 </message> 2296 </message>
2297 <message> 2297 <message>
2298 <location filename="uninstall.cpp" line="108"/> 2298 <location filename="uninstall.cpp" line="108"/>
2299 <source>Uninstallation finished</source> 2299 <source>Uninstallation finished</source>
2300 <translation>Deinstallation erfolgreich</translation> 2300 <translation>Deinstallation erfolgreich</translation>
2301 </message> 2301 </message>
2302</context> 2302</context>
2303<context> 2303<context>
2304 <name>VoiceFileCreator</name> 2304 <name>VoiceFileCreator</name>
2305 <message> 2305 <message>
2306 <location filename="voicefile.cpp" line="41"/> 2306 <location filename="voicefile.cpp" line="41"/>
2307 <source>Starting Voicefile generation</source> 2307 <source>Starting Voicefile generation</source>
2308 <translation>Beginne Voicefile generation</translation> 2308 <translation>Beginne Voicefile generation</translation>
2309 </message> 2309 </message>
2310 <message> 2310 <message>
2311 <location filename="voicefile.cpp" line="55"/> 2311 <location filename="voicefile.cpp" line="55"/>
2312 <source>failed to open rockbox-info.txt</source> 2312 <source>failed to open rockbox-info.txt</source>
2313 <translation>Öffnen von rockbox-info.txt ist fehlgeschlagen</translation> 2313 <translation>Öffnen von rockbox-info.txt ist fehlgeschlagen</translation>
2314 </message> 2314 </message>
2315 <message> 2315 <message>
2316 <location filename="voicefile.cpp" line="124"/> 2316 <location filename="voicefile.cpp" line="124"/>
2317 <source>Download error: received HTTP error %1.</source> 2317 <source>Download error: received HTTP error %1.</source>
2318 <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation> 2318 <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
2319 </message> 2319 </message>
2320 <message> 2320 <message>
2321 <location filename="voicefile.cpp" line="128"/> 2321 <location filename="voicefile.cpp" line="128"/>
2322 <source>Cached file used.</source> 2322 <source>Cached file used.</source>
2323 <translation>Datei aus Cache verwendet.</translation> 2323 <translation>Datei aus Cache verwendet.</translation>
2324 </message> 2324 </message>
2325 <message> 2325 <message>
2326 <location filename="voicefile.cpp" line="130"/> 2326 <location filename="voicefile.cpp" line="130"/>
2327 <source>Download error: %1</source> 2327 <source>Download error: %1</source>
2328 <translation>Downloadfehler: %1</translation> 2328 <translation>Downloadfehler: %1</translation>
2329 </message> 2329 </message>
2330 <message> 2330 <message>
2331 <location filename="voicefile.cpp" line="134"/> 2331 <location filename="voicefile.cpp" line="134"/>
2332 <source>Download finished.</source> 2332 <source>Download finished.</source>
2333 <translation>Download abgeschlossen.</translation> 2333 <translation>Download abgeschlossen.</translation>
2334 </message> 2334 </message>
2335 <message> 2335 <message>
2336 <location filename="voicefile.cpp" line="143"/> 2336 <location filename="voicefile.cpp" line="143"/>
2337 <source>failed to open downloaded file</source> 2337 <source>failed to open downloaded file</source>
2338 <translation>Konnte das heruntergladene File nicht öffnen</translation> 2338 <translation>Konnte das heruntergladene File nicht öffnen</translation>
2339 </message> 2339 </message>
2340 <message> 2340 <message>
2341 <location filename="voicefile.cpp" line="156"/> 2341 <location filename="voicefile.cpp" line="156"/>
2342 <source>Init of TTS engine failed</source> 2342 <source>Init of TTS engine failed</source>
2343 <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation> 2343 <translation>Initalisierung der TTS engine ist fehlgeschlagen</translation>
2344 </message> 2344 </message>
2345 <message> 2345 <message>
2346 <location filename="voicefile.cpp" line="167"/> 2346 <location filename="voicefile.cpp" line="167"/>
2347 <source>Init of Encoder engine failed</source> 2347 <source>Init of Encoder engine failed</source>
2348 <translation>Initalisierung der Encoder engine ist fehlgeschlagen</translation> 2348 <translation>Initalisierung der Encoder engine ist fehlgeschlagen</translation>
2349 </message> 2349 </message>
2350 <message> 2350 <message>
2351 <location filename="voicefile.cpp" line="209"/> 2351 <location filename="voicefile.cpp" line="209"/>
2352 <source>The downloaded file was empty!</source> 2352 <source>The downloaded file was empty!</source>
2353 <translation>Das heruntergeladene File was leer!</translation> 2353 <translation>Das heruntergeladene File was leer!</translation>
2354 </message> 2354 </message>
2355 <message> 2355 <message>
2356 <location filename="voicefile.cpp" line="246"/> 2356 <location filename="voicefile.cpp" line="246"/>
2357 <source>creating </source> 2357 <source>creating </source>
2358 <translation>erstelle</translation> 2358 <translation>erstelle</translation>
2359 </message> 2359 </message>
2360 <message> 2360 <message>
2361 <location filename="voicefile.cpp" line="269"/> 2361 <location filename="voicefile.cpp" line="269"/>
2362 <source>Error opening downloaded file</source> 2362 <source>Error opening downloaded file</source>
2363 <translation>Konnte das heruntergladene File nicht öffnen</translation> 2363 <translation>Konnte das heruntergladene File nicht öffnen</translation>
2364 </message> 2364 </message>
2365 <message> 2365 <message>
2366 <location filename="voicefile.cpp" line="277"/> 2366 <location filename="voicefile.cpp" line="277"/>
2367 <source>Error opening output file</source> 2367 <source>Error opening output file</source>
2368 <translation>Konnte das output File nicht öffnen</translation> 2368 <translation>Konnte das output File nicht öffnen</translation>
2369 </message> 2369 </message>
2370 <message> 2370 <message>
2371 <location filename="voicefile.cpp" line="291"/> 2371 <location filename="voicefile.cpp" line="291"/>
2372 <source>successfully created.</source> 2372 <source>successfully created.</source>
2373 <translation>erfolgreich erstellt.</translation> 2373 <translation>erfolgreich erstellt.</translation>
2374 </message> 2374 </message>
2375</context> 2375</context>
2376<context> 2376<context>
2377 <name>Zip</name> 2377 <name>Zip</name>
2378 <message> 2378 <message>
2379 <location filename="zip/zip.cpp" line="479"/> 2379 <location filename="zip/zip.cpp" line="479"/>
2380 <source>ZIP operation completed successfully.</source> 2380 <source>ZIP operation completed successfully.</source>
2381 <translation>ZIP operation erfolgreich abgeschlossen.</translation> 2381 <translation>ZIP operation erfolgreich abgeschlossen.</translation>
2382 </message> 2382 </message>
2383 <message> 2383 <message>
2384 <location filename="zip/zip.cpp" line="480"/> 2384 <location filename="zip/zip.cpp" line="480"/>
2385 <source>Failed to initialize or load zlib library.</source> 2385 <source>Failed to initialize or load zlib library.</source>
2386 <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation> 2386 <translation>Initialisieren oder Laden der zlib-Bibliothek fehlgeschlagen.</translation>
2387 </message> 2387 </message>
2388 <message> 2388 <message>
2389 <location filename="zip/zip.cpp" line="481"/> 2389 <location filename="zip/zip.cpp" line="481"/>
2390 <source>zlib library error.</source> 2390 <source>zlib library error.</source>
2391 <translation>Fehler in zlib-Bibliothek.</translation> 2391 <translation>Fehler in zlib-Bibliothek.</translation>
2392 </message> 2392 </message>
2393 <message> 2393 <message>
2394 <location filename="zip/zip.cpp" line="482"/> 2394 <location filename="zip/zip.cpp" line="482"/>
2395 <source>Unable to create or open file.</source> 2395 <source>Unable to create or open file.</source>
2396 <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation> 2396 <translation>Erzeugen oder Öffnen der Datei fehlgeschlagen.</translation>
2397 </message> 2397 </message>
2398 <message> 2398 <message>
2399 <location filename="zip/zip.cpp" line="483"/> 2399 <location filename="zip/zip.cpp" line="483"/>
2400 <source>No archive has been created yet.</source> 2400 <source>No archive has been created yet.</source>
2401 <translation>Noch kein Archiv erzeugt.</translation> 2401 <translation>Noch kein Archiv erzeugt.</translation>
2402 </message> 2402 </message>
2403 <message> 2403 <message>
2404 <location filename="zip/zip.cpp" line="484"/> 2404 <location filename="zip/zip.cpp" line="484"/>
2405 <source>File or directory does not exist.</source> 2405 <source>File or directory does not exist.</source>
2406 <translation>Datei oder Ordner existiert nicht.</translation> 2406 <translation>Datei oder Ordner existiert nicht.</translation>
2407 </message> 2407 </message>
2408 <message> 2408 <message>
2409 <location filename="zip/zip.cpp" line="485"/> 2409 <location filename="zip/zip.cpp" line="485"/>
2410 <source>File read error.</source> 2410 <source>File read error.</source>
2411 <translation>Fehler beim Lesen der Datei.</translation> 2411 <translation>Fehler beim Lesen der Datei.</translation>
2412 </message> 2412 </message>
2413 <message> 2413 <message>
2414 <location filename="zip/zip.cpp" line="486"/> 2414 <location filename="zip/zip.cpp" line="486"/>
2415 <source>File write error.</source> 2415 <source>File write error.</source>
2416 <translation>Fehler beim Schreiben der Datei.</translation> 2416 <translation>Fehler beim Schreiben der Datei.</translation>
2417 </message> 2417 </message>
2418 <message> 2418 <message>
2419 <location filename="zip/zip.cpp" line="487"/> 2419 <location filename="zip/zip.cpp" line="487"/>
2420 <source>File seek error.</source> 2420 <source>File seek error.</source>
2421 <translation>Fehler beim Durchsuchen der Datei.</translation> 2421 <translation>Fehler beim Durchsuchen der Datei.</translation>
2422 </message> 2422 </message>
2423 <message> 2423 <message>
2424 <location filename="zip/zip.cpp" line="491"/> 2424 <location filename="zip/zip.cpp" line="491"/>
2425 <source>Unknown error.</source> 2425 <source>Unknown error.</source>
2426 <translation>Unbekannter Fehler.</translation> 2426 <translation>Unbekannter Fehler.</translation>
2427 </message> 2427 </message>
2428</context> 2428</context>
2429<context> 2429<context>
2430 <name>ZipInstaller</name> 2430 <name>ZipInstaller</name>
2431 <message> 2431 <message>
2432 <location filename="installzip.cpp" line="54"/> 2432 <location filename="installzip.cpp" line="54"/>
2433 <source>done.</source> 2433 <source>done.</source>
2434 <translation>Abgeschlossen.</translation> 2434 <translation>Abgeschlossen.</translation>
2435 </message> 2435 </message>
2436 <message> 2436 <message>
2437 <location filename="installzip.cpp" line="62"/> 2437 <location filename="installzip.cpp" line="62"/>
2438 <source>Installation finished successfully.</source> 2438 <source>Installation finished successfully.</source>
2439 <translation>Installation erfolgreich abgeschlossen.</translation> 2439 <translation>Installation erfolgreich abgeschlossen.</translation>
2440 </message> 2440 </message>
2441 <message> 2441 <message>
2442 <location filename="installzip.cpp" line="77"/> 2442 <location filename="installzip.cpp" line="77"/>
2443 <source>Downloading file %1.%2</source> 2443 <source>Downloading file %1.%2</source>
2444 <translation>Herunterladen von Datei %1.%2</translation> 2444 <translation>Herunterladen von Datei %1.%2</translation>
2445 </message> 2445 </message>
2446 <message> 2446 <message>
2447 <location filename="installzip.cpp" line="126"/> 2447 <location filename="installzip.cpp" line="126"/>
2448 <source>Download error: received HTTP error %1.</source> 2448 <source>Download error: received HTTP error %1.</source>
2449 <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation> 2449 <translation>Fehler beim Herunterladen: HTTP Fehler %1.</translation>
2450 </message> 2450 </message>
2451 <message> 2451 <message>
2452 <location filename="installzip.cpp" line="133"/> 2452 <location filename="installzip.cpp" line="133"/>
2453 <source>Download error: %1</source> 2453 <source>Download error: %1</source>
2454 <translation>Downloadfehler: %1</translation> 2454 <translation>Downloadfehler: %1</translation>
2455 </message> 2455 </message>
2456 <message> 2456 <message>
2457 <location filename="installzip.cpp" line="138"/> 2457 <location filename="installzip.cpp" line="138"/>
2458 <source>Download finished.</source> 2458 <source>Download finished.</source>
2459 <translation>Download abgeschlossen.</translation> 2459 <translation>Download abgeschlossen.</translation>
2460 </message> 2460 </message>
2461 <message> 2461 <message>
2462 <location filename="installzip.cpp" line="144"/> 2462 <location filename="installzip.cpp" line="144"/>
2463 <source>Extracting file.</source> 2463 <source>Extracting file.</source>
2464 <translation>Extrahiere Datei.</translation> 2464 <translation>Extrahiere Datei.</translation>
2465 </message> 2465 </message>
2466 <message> 2466 <message>
2467 <location filename="installzip.cpp" line="153"/> 2467 <location filename="installzip.cpp" line="153"/>
2468 <source>Opening archive failed: %1.</source> 2468 <source>Opening archive failed: %1.</source>
2469 <translation>Öffnen des Archives fehlgeschlagen: %1.</translation> 2469 <translation>Öffnen des Archives fehlgeschlagen: %1.</translation>
2470 </message> 2470 </message>
2471 <message> 2471 <message>
2472 <location filename="installzip.cpp" line="162"/> 2472 <location filename="installzip.cpp" line="162"/>
2473 <source>Extracting failed: %1.</source> 2473 <source>Extracting failed: %1.</source>
2474 <translation>Extrahieren fehlgeschlagen: %1.</translation> 2474 <translation>Extrahieren fehlgeschlagen: %1.</translation>
2475 </message> 2475 </message>
2476 <message> 2476 <message>
2477 <location filename="installzip.cpp" line="172"/> 2477 <location filename="installzip.cpp" line="172"/>
2478 <source>Installing file.</source> 2478 <source>Installing file.</source>
2479 <translation>Installiere Datei.</translation> 2479 <translation>Installiere Datei.</translation>
2480 </message> 2480 </message>
2481 <message> 2481 <message>
2482 <location filename="installzip.cpp" line="183"/> 2482 <location filename="installzip.cpp" line="183"/>
2483 <source>Installing file failed.</source> 2483 <source>Installing file failed.</source>
2484 <translation>Dateiinstallation fehlgeschlagen.</translation> 2484 <translation>Dateiinstallation fehlgeschlagen.</translation>
2485 </message> 2485 </message>
2486 <message> 2486 <message>
2487 <location filename="installzip.cpp" line="193"/> 2487 <location filename="installzip.cpp" line="193"/>
2488 <source>Creating installation log</source> 2488 <source>Creating installation log</source>
2489 <translation>Erstelle Installationslog</translation> 2489 <translation>Erstelle Installationslog</translation>
2490 </message> 2490 </message>
2491 <message> 2491 <message>
2492 <location filename="installzip.cpp" line="131"/> 2492 <location filename="installzip.cpp" line="131"/>
2493 <source>Cached file used.</source> 2493 <source>Cached file used.</source>
2494 <translation>Datei aus Cache verwendet.</translation> 2494 <translation>Datei aus Cache verwendet.</translation>
2495 </message> 2495 </message>
2496</context> 2496</context>
2497<context> 2497<context>
2498 <name>aboutBox</name> 2498 <name>aboutBox</name>
2499 <message> 2499 <message>
2500 <location filename="aboutbox.ui" line="13"/> 2500 <location filename="aboutbox.ui" line="13"/>
2501 <source>About Rockbox Utility</source> 2501 <source>About Rockbox Utility</source>
2502 <translation>Über Rockbox Utility</translation> 2502 <translation>Über Rockbox Utility</translation>
2503 </message> 2503 </message>
2504 <message> 2504 <message>
2505 <location filename="aboutbox.ui" line="95"/> 2505 <location filename="aboutbox.ui" line="95"/>
2506 <source>&amp;Credits</source> 2506 <source>&amp;Credits</source>
2507 <translation>&amp;Credits</translation> 2507 <translation>&amp;Credits</translation>
2508 </message> 2508 </message>
2509 <message> 2509 <message>
2510 <location filename="aboutbox.ui" line="124"/> 2510 <location filename="aboutbox.ui" line="124"/>
2511 <source>&amp;License</source> 2511 <source>&amp;License</source>
2512 <translation>&amp;Lizenz</translation> 2512 <translation>&amp;Lizenz</translation>
2513 </message> 2513 </message>
2514 <message> 2514 <message>
2515 <location filename="aboutbox.ui" line="157"/> 2515 <location filename="aboutbox.ui" line="157"/>
2516 <source>&amp;Ok</source> 2516 <source>&amp;Ok</source>
2517 <translation>&amp;Ok</translation> 2517 <translation>&amp;Ok</translation>
2518 </message> 2518 </message>
2519 <message> 2519 <message>
2520 <location filename="aboutbox.ui" line="34"/> 2520 <location filename="aboutbox.ui" line="34"/>
2521 <source>The Rockbox Utility</source> 2521 <source>The Rockbox Utility</source>
2522 <translation>Rockbox Utility</translation> 2522 <translation>Rockbox Utility</translation>
2523 </message> 2523 </message>
2524 <message encoding="UTF-8"> 2524 <message encoding="UTF-8">
2525 <location filename="aboutbox.ui" line="56"/> 2525 <location filename="aboutbox.ui" line="56"/>
2526 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware. 2526 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
2527 2527
2528© 2005 - 2007 The Rockbox Team. 2528© 2005 - 2007 The Rockbox Team.
2529Released under the GNU General Public License v2.</source> 2529Released under the GNU General Public License v2.</source>
2530 <translation type="unfinished"></translation> 2530 <translation type="unfinished"></translation>
2531 </message> 2531 </message>
2532 <message> 2532 <message>
2533 <location filename="aboutbox.ui" line="72"/> 2533 <location filename="aboutbox.ui" line="72"/>
2534 <source>http://www.rockbox.org</source> 2534 <source>http://www.rockbox.org</source>
2535 <translation>http://www.rockbox.org</translation> 2535 <translation>http://www.rockbox.org</translation>
2536 </message> 2536 </message>
2537</context> 2537</context>
2538</TS> 2538</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 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE TS><TS version="1.1" language="fr"> 2<!DOCTYPE TS><TS version="1.1" language="fr">
3<context> 3<context>
4 <name>BootloaderInstaller</name> 4 <name>BootloaderInstaller</name>
5 <message> 5 <message>
6 <location filename="installbootloader.cpp" line="32"/> 6 <location filename="installbootloader.cpp" line="32"/>
7 <source>Starting bootloader installation</source> 7 <source>Starting bootloader installation</source>
8 <translation>Démarrage de l&apos;installation du bootloader</translation> 8 <translation>Démarrage de l&apos;installation du bootloader</translation>
9 </message> 9 </message>
10 <message> 10 <message>
11 <location filename="installbootloader.cpp" line="122"/> 11 <location filename="installbootloader.cpp" line="122"/>
12 <source>unsupported install Method</source> 12 <source>unsupported install Method</source>
13 <translation>Méthode d&apos;installation non supportée</translation> 13 <translation>Méthode d&apos;installation non supportée</translation>
14 </message> 14 </message>
15 <message> 15 <message>
16 <location filename="installbootloader.cpp" line="85"/> 16 <location filename="installbootloader.cpp" line="85"/>
17 <source>Starting bootloader uninstallation</source> 17 <source>Starting bootloader uninstallation</source>
18 <translation>Démarrage de l&apos;installation du bootloader</translation> 18 <translation>Démarrage de l&apos;installation du bootloader</translation>
19 </message> 19 </message>
20 <message> 20 <message>
21 <location filename="installbootloader.cpp" line="116"/> 21 <location filename="installbootloader.cpp" line="116"/>
22 <source>No uninstallation possible</source> 22 <source>No uninstallation possible</source>
23 <translation>Désinstallation impossible</translation> 23 <translation>Désinstallation impossible</translation>
24 </message> 24 </message>
25 <message> 25 <message>
26 <location filename="installbootloader.cpp" line="151"/> 26 <location filename="installbootloader.cpp" line="151"/>
27 <source>Download error: received HTTP error %1.</source> 27 <source>Download error: received HTTP error %1.</source>
28 <translation>Erreur de téléchargement. Erreur HTTP %1.</translation> 28 <translation>Erreur de téléchargement. Erreur HTTP %1.</translation>
29 </message> 29 </message>
30 <message> 30 <message>
31 <location filename="installbootloader.cpp" line="157"/> 31 <location filename="installbootloader.cpp" line="157"/>
32 <source>Download error: %1</source> 32 <source>Download error: %1</source>
33 <translation>Erreur de téléchargement : %1</translation> 33 <translation>Erreur de téléchargement : %1</translation>
34 </message> 34 </message>
35 <message> 35 <message>
36 <location filename="installbootloader.cpp" line="162"/> 36 <location filename="installbootloader.cpp" line="162"/>
37 <source>Download finished.</source> 37 <source>Download finished.</source>
38 <translation>Téléchargement terminé.</translation> 38 <translation>Téléchargement terminé.</translation>
39 </message> 39 </message>
40 <message> 40 <message>
41 <location filename="installbootloader.cpp" line="224"/> 41 <location filename="installbootloader.cpp" line="224"/>
42 <source>Network error: %1. Please check your network and proxy settings.</source> 42 <source>Network error: %1. Please check your network and proxy settings.</source>
43 <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation> 43 <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation>
44 </message> 44 </message>
45 <message> 45 <message>
46 <location filename="installbootloader.cpp" line="237"/> 46 <location filename="installbootloader.cpp" line="237"/>
47 <source>Creating installation log</source> 47 <source>Creating installation log</source>
48 <translation>Création du journal d&apos;installation</translation> 48 <translation>Création du journal d&apos;installation</translation>
49 </message> 49 </message>
50 <message> 50 <message>
51 <location filename="installbootloader.cpp" line="253"/> 51 <location filename="installbootloader.cpp" line="253"/>
52 <source>Editing installation log</source> 52 <source>Editing installation log</source>
53 <translation>Edition du journal d&apos;installation</translation> 53 <translation>Edition du journal d&apos;installation</translation>
54 </message> 54 </message>
55 <message> 55 <message>
56 <location filename="installbootloader.cpp" line="1093"/> 56 <location filename="installbootloader.cpp" line="1093"/>
57 <source>Downloading file %1.%2</source> 57 <source>Downloading file %1.%2</source>
58 <translation>Téléchargement du fichier %1.%2</translation> 58 <translation>Téléchargement du fichier %1.%2</translation>
59 </message> 59 </message>
60 <message> 60 <message>
61 <location filename="installbootloader.cpp" line="323"/> 61 <location filename="installbootloader.cpp" line="323"/>
62 <source>Could not find the Original Firmware at: %1</source> 62 <source>Could not find the Original Firmware at: %1</source>
63 <translation>Impossible de trouver le firmware original dans %1</translation> 63 <translation>Impossible de trouver le firmware original dans %1</translation>
64 </message> 64 </message>
65 <message> 65 <message>
66 <location filename="installbootloader.cpp" line="545"/> 66 <location filename="installbootloader.cpp" line="545"/>
67 <source>Could not remove the Firmware at: %1</source> 67 <source>Could not remove the Firmware at: %1</source>
68 <translation>Impossible de supprimer le firmware de %1</translation> 68 <translation>Impossible de supprimer le firmware de %1</translation>
69 </message> 69 </message>
70 <message> 70 <message>
71 <location filename="installbootloader.cpp" line="554"/> 71 <location filename="installbootloader.cpp" line="554"/>
72 <source>Could not copy the Firmware from: %1 to %2</source> 72 <source>Could not copy the Firmware from: %1 to %2</source>
73 <translation>Impossible de copier le firmware de %1 à %2</translation> 73 <translation>Impossible de copier le firmware de %1 à %2</translation>
74 </message> 74 </message>
75 <message> 75 <message>
76 <location filename="installbootloader.cpp" line="360"/> 76 <location filename="installbootloader.cpp" line="360"/>
77 <source>Finishing bootloader install</source> 77 <source>Finishing bootloader install</source>
78 <translation>Achèvement de l&apos;installation du bootloader</translation> 78 <translation>Achèvement de l&apos;installation du bootloader</translation>
79 </message> 79 </message>
80 <message> 80 <message>
81 <location filename="installbootloader.cpp" line="370"/> 81 <location filename="installbootloader.cpp" line="370"/>
82 <source>Could not find the Firmware at: %1</source> 82 <source>Could not find the Firmware at: %1</source>
83 <translation>Impossible de trouver le firmware dans %1</translation> 83 <translation>Impossible de trouver le firmware dans %1</translation>
84 </message> 84 </message>
85 <message> 85 <message>
86 <location filename="installbootloader.cpp" line="596"/> 86 <location filename="installbootloader.cpp" line="596"/>
87 <source>Could not rename: %1 to %2</source> 87 <source>Could not rename: %1 to %2</source>
88 <translation>Impossible de renommer %1 vers %2</translation> 88 <translation>Impossible de renommer %1 vers %2</translation>
89 </message> 89 </message>
90 <message> 90 <message>
91 <location filename="installbootloader.cpp" line="1207"/> 91 <location filename="installbootloader.cpp" line="1207"/>
92 <source>Could not copy: %1 to %2</source> 92 <source>Could not copy: %1 to %2</source>
93 <translation>Impossible de copier %1 vers %2</translation> 93 <translation>Impossible de copier %1 vers %2</translation>
94 </message> 94 </message>
95 <message> 95 <message>
96 <location filename="installbootloader.cpp" line="1217"/> 96 <location filename="installbootloader.cpp" line="1217"/>
97 <source>Bootloader install finished successfully.</source> 97 <source>Bootloader install finished successfully.</source>
98 <translation>Installation du bootloader terminée avec succès.</translation> 98 <translation>Installation du bootloader terminée avec succès.</translation>
99 </message> 99 </message>
100 <message> 100 <message>
101 <location filename="installbootloader.cpp" line="1218"/> 101 <location filename="installbootloader.cpp" line="1218"/>
102 <source>To finish the Bootloader installation, follow the steps below.</source> 102 <source>To finish the Bootloader installation, follow the steps below.</source>
103 <translation>Pour terminer l&apos;installation du bootloader, veuillez suivre les étapes ce-dessous.</translation> 103 <translation>Pour terminer l&apos;installation du bootloader, veuillez suivre les étapes ce-dessous.</translation>
104 </message> 104 </message>
105 <message> 105 <message>
106 <location filename="installbootloader.cpp" line="1219"/> 106 <location filename="installbootloader.cpp" line="1219"/>
107 <source>1. Eject/Unmount your Device.</source> 107 <source>1. Eject/Unmount your Device.</source>
108 <translation>1. Ejectez/Demontez votre périphérique.</translation> 108 <translation>1. Ejectez/Demontez votre périphérique.</translation>
109 </message> 109 </message>
110 <message> 110 <message>
111 <location filename="installbootloader.cpp" line="413"/> 111 <location filename="installbootloader.cpp" line="413"/>
112 <source>2. Unplug USB and any Power adapters.</source> 112 <source>2. Unplug USB and any Power adapters.</source>
113 <translation>2. Débranchez le câble USB et le câble d&apos;alimentation.</translation> 113 <translation>2. Débranchez le câble USB et le câble d&apos;alimentation.</translation>
114 </message> 114 </message>
115 <message> 115 <message>
116 <location filename="installbootloader.cpp" line="414"/> 116 <location filename="installbootloader.cpp" line="414"/>
117 <source>3. Hold POWER to turn the Device off.</source> 117 <source>3. Hold POWER to turn the Device off.</source>
118 <translation>3. Maintenez appuyée la touche POWER pour éteindre l&apos;appareil.</translation> 118 <translation>3. Maintenez appuyée la touche POWER pour éteindre l&apos;appareil.</translation>
119 </message> 119 </message>
120 <message> 120 <message>
121 <location filename="installbootloader.cpp" line="415"/> 121 <location filename="installbootloader.cpp" line="415"/>
122 <source>4. Toggle the Battery switch on the Device.</source> 122 <source>4. Toggle the Battery switch on the Device.</source>
123 <translation>4. Changez de position l&apos;interrupteur de batterie de l&apos;appareil.</translation> 123 <translation>4. Changez de position l&apos;interrupteur de batterie de l&apos;appareil.</translation>
124 </message> 124 </message>
125 <message> 125 <message>
126 <location filename="installbootloader.cpp" line="416"/> 126 <location filename="installbootloader.cpp" line="416"/>
127 <source>5. Hold POWER to boot the Rockbox bootloader.</source> 127 <source>5. Hold POWER to boot the Rockbox bootloader.</source>
128 <translation>5. Maintenez appuyée la touche POWER pour démarrer le bootloader de Rockbox.</translation> 128 <translation>5. Maintenez appuyée la touche POWER pour démarrer le bootloader de Rockbox.</translation>
129 </message> 129 </message>
130 <message> 130 <message>
131 <location filename="installbootloader.cpp" line="471"/> 131 <location filename="installbootloader.cpp" line="471"/>
132 <source>2. Turn you Device OFF.</source> 132 <source>2. Turn you Device OFF.</source>
133 <translation>2. Eteignez l&apos;appareil.</translation> 133 <translation>2. Eteignez l&apos;appareil.</translation>
134 </message> 134 </message>
135 <message> 135 <message>
136 <location filename="installbootloader.cpp" line="472"/> 136 <location filename="installbootloader.cpp" line="472"/>
137 <source>3. Insert Charger.</source> 137 <source>3. Insert Charger.</source>
138 <translation>3. Insérez le câble d&apos;alimentation.</translation> 138 <translation>3. Insérez le câble d&apos;alimentation.</translation>
139 </message> 139 </message>
140 <message> 140 <message>
141 <location filename="installbootloader.cpp" line="582"/> 141 <location filename="installbootloader.cpp" line="582"/>
142 <source>Firmware does not exist: %1</source> 142 <source>Firmware does not exist: %1</source>
143 <translation>Le firmware n&apos;existe pas : %1</translation> 143 <translation>Le firmware n&apos;existe pas : %1</translation>
144 </message> 144 </message>
145 <message> 145 <message>
146 <location filename="installbootloader.cpp" line="639"/> 146 <location filename="installbootloader.cpp" line="639"/>
147 <source>Searching for ipods</source> 147 <source>Searching for ipods</source>
148 <translation>Recherche d&apos;iPods</translation> 148 <translation>Recherche d&apos;iPods</translation>
149 </message> 149 </message>
150 <message> 150 <message>
151 <location filename="installbootloader.cpp" line="645"/> 151 <location filename="installbootloader.cpp" line="645"/>
152 <source>No Ipods found</source> 152 <source>No Ipods found</source>
153 <translation>Aucun iPod trouvé</translation> 153 <translation>Aucun iPod trouvé</translation>
154 </message> 154 </message>
155 <message> 155 <message>
156 <location filename="installbootloader.cpp" line="651"/> 156 <location filename="installbootloader.cpp" line="651"/>
157 <source>Too many Ipods found</source> 157 <source>Too many Ipods found</source>
158 <translation>Trop d&apos;iPods trouvés</translation> 158 <translation>Trop d&apos;iPods trouvés</translation>
159 </message> 159 </message>
160 <message> 160 <message>
161 <location filename="installbootloader.cpp" line="781"/> 161 <location filename="installbootloader.cpp" line="781"/>
162 <source>could not open ipod</source> 162 <source>could not open ipod</source>
163 <translation>impossible d&apos;ouvrir l&apos;iPod</translation> 163 <translation>impossible d&apos;ouvrir l&apos;iPod</translation>
164 </message> 164 </message>
165 <message> 165 <message>
166 <location filename="installbootloader.cpp" line="996"/> 166 <location filename="installbootloader.cpp" line="996"/>
167 <source>could not read partitiontable</source> 167 <source>could not read partitiontable</source>
168 <translation>impossible de lire la table des partitions</translation> 168 <translation>impossible de lire la table des partitions</translation>
169 </message> 169 </message>
170 <message> 170 <message>
171 <location filename="installbootloader.cpp" line="795"/> 171 <location filename="installbootloader.cpp" line="795"/>
172 <source>No partition 0 on disk</source> 172 <source>No partition 0 on disk</source>
173 <translation>Pas de partition 0 sur le disque</translation> 173 <translation>Pas de partition 0 sur le disque</translation>
174 </message> 174 </message>
175 <message> 175 <message>
176 <location filename="installbootloader.cpp" line="800"/> 176 <location filename="installbootloader.cpp" line="800"/>
177 <source>[INFO] Part Start Sector End Sector Size (MB) Type 177 <source>[INFO] Part Start Sector End Sector Size (MB) Type
178</source> 178</source>
179 <translation>[INFO] Part Premier secteur Dernier Secteur Taille (Mo) Type 179 <translation>[INFO] Part Premier secteur Dernier Secteur Taille (Mo) Type
180</translation> 180</translation>
181 </message> 181 </message>
182 <message> 182 <message>
183 <location filename="installbootloader.cpp" line="806"/> 183 <location filename="installbootloader.cpp" line="806"/>
184 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source> 184 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
185 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation> 185 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
186 </message> 186 </message>
187 <message> 187 <message>
188 <location filename="installbootloader.cpp" line="823"/> 188 <location filename="installbootloader.cpp" line="823"/>
189 <source>Failed to read firmware directory</source> 189 <source>Failed to read firmware directory</source>
190 <translation>La lecture du dossier du firmware a échoué</translation> 190 <translation>La lecture du dossier du firmware a échoué</translation>
191 </message> 191 </message>
192 <message> 192 <message>
193 <location filename="installbootloader.cpp" line="829"/> 193 <location filename="installbootloader.cpp" line="829"/>
194 <source>Unknown version number in firmware (%1)</source> 194 <source>Unknown version number in firmware (%1)</source>
195 <translation>Numéro de version inconnu dans le firmware (%1)</translation> 195 <translation>Numéro de version inconnu dans le firmware (%1)</translation>
196 </message> 196 </message>
197 <message> 197 <message>
198 <location filename="installbootloader.cpp" line="832"/> 198 <location filename="installbootloader.cpp" line="832"/>
199 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source> 199 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
200 <translation type="obsolete">Avertissement : Ceci est un MacPod, Rockbox ne fonctionne pas dessus. Convertissez-le en un WinPod</translation> 200 <translation type="obsolete">Avertissement : Ceci est un MacPod, Rockbox ne fonctionne pas dessus. Convertissez-le en un WinPod</translation>
201 </message> 201 </message>
202 <message> 202 <message>
203 <location filename="installbootloader.cpp" line="847"/> 203 <location filename="installbootloader.cpp" line="847"/>
204 <source>Could not open Ipod in RW mode</source> 204 <source>Could not open Ipod in RW mode</source>
205 <translation>Impossible d&apos;ouvir l&apos;iPod en mode Lecture-Ecriture</translation> 205 <translation>Impossible d&apos;ouvir l&apos;iPod en mode Lecture-Ecriture</translation>
206 </message> 206 </message>
207 <message> 207 <message>
208 <location filename="installbootloader.cpp" line="751"/> 208 <location filename="installbootloader.cpp" line="751"/>
209 <source>No bootloader detected.</source> 209 <source>No bootloader detected.</source>
210 <translation>Aucun bootloader détecté.</translation> 210 <translation>Aucun bootloader détecté.</translation>
211 </message> 211 </message>
212 <message> 212 <message>
213 <location filename="installbootloader.cpp" line="966"/> 213 <location filename="installbootloader.cpp" line="966"/>
214 <source>Successfully removed Bootloader</source> 214 <source>Successfully removed Bootloader</source>
215 <translation>Bootloader supprimé avec succès</translation> 215 <translation>Bootloader supprimé avec succès</translation>
216 </message> 216 </message>
217 <message> 217 <message>
218 <location filename="installbootloader.cpp" line="974"/> 218 <location filename="installbootloader.cpp" line="974"/>
219 <source>--delete-bootloader failed.</source> 219 <source>--delete-bootloader failed.</source>
220 <translation>--delete-bootloader a échoué.</translation> 220 <translation>--delete-bootloader a échoué.</translation>
221 </message> 221 </message>
222 <message> 222 <message>
223 <location filename="installbootloader.cpp" line="1031"/> 223 <location filename="installbootloader.cpp" line="1031"/>
224 <source>Successfully added Bootloader</source> 224 <source>Successfully added Bootloader</source>
225 <translation>Bootloader ajouté avec succès</translation> 225 <translation>Bootloader ajouté avec succès</translation>
226 </message> 226 </message>
227 <message> 227 <message>
228 <location filename="installbootloader.cpp" line="1039"/> 228 <location filename="installbootloader.cpp" line="1039"/>
229 <source>failed to add Bootloader</source> 229 <source>failed to add Bootloader</source>
230 <translation>échec de l&apos;ajout du bootloader</translation> 230 <translation>échec de l&apos;ajout du bootloader</translation>
231 </message> 231 </message>
232 <message> 232 <message>
233 <location filename="installbootloader.cpp" line="882"/> 233 <location filename="installbootloader.cpp" line="882"/>
234 <source>Searching for sansas</source> 234 <source>Searching for sansas</source>
235 <translation>Recherche de sansas</translation> 235 <translation>Recherche de sansas</translation>
236 </message> 236 </message>
237 <message> 237 <message>
238 <location filename="installbootloader.cpp" line="888"/> 238 <location filename="installbootloader.cpp" line="888"/>
239 <source>No Sansa found</source> 239 <source>No Sansa found</source>
240 <translation>Aucun sansa trouvé</translation> 240 <translation>Aucun sansa trouvé</translation>
241 </message> 241 </message>
242 <message> 242 <message>
243 <location filename="installbootloader.cpp" line="894"/> 243 <location filename="installbootloader.cpp" line="894"/>
244 <source>Too many Sansas found</source> 244 <source>Too many Sansas found</source>
245 <translation>Trop de sansas trouvés</translation> 245 <translation>Trop de sansas trouvés</translation>
246 </message> 246 </message>
247 <message> 247 <message>
248 <location filename="installbootloader.cpp" line="989"/> 248 <location filename="installbootloader.cpp" line="989"/>
249 <source>could not open Sansa</source> 249 <source>could not open Sansa</source>
250 <translation>impossible d&apos;ouvrir le sansa</translation> 250 <translation>impossible d&apos;ouvrir le sansa</translation>
251 </message> 251 </message>
252 <message> 252 <message>
253 <location filename="installbootloader.cpp" line="1017"/> 253 <location filename="installbootloader.cpp" line="1017"/>
254 <source>******************************************** 254 <source>********************************************
255OLD ROCKBOX INSTALLATION DETECTED, ABORTING. 255OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
256You must reinstall the original Sansa firmware before running 256You must reinstall the original Sansa firmware before running
257sansapatcher for the first time. 257sansapatcher for the first time.
258See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install 258See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
259********************************************* 259*********************************************
260</source> 260</source>
261 <translation>******************************************** 261 <translation>********************************************
262ANCIENNE INSTALLATION DE ROCKBOX DETECTEE, ANNULATION. 262ANCIENNE INSTALLATION DE ROCKBOX DETECTEE, ANNULATION.
263Vous devez réinstaller le firmware original du Sansa avant d&apos;exécuter 263Vous devez réinstaller le firmware original du Sansa avant d&apos;exécuter
264sansapatcher pour la première fois. 264sansapatcher pour la première fois.
265Voir http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (en anglais) 265Voir http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (en anglais)
266********************************************* 266*********************************************
267</translation> 267</translation>
268 </message> 268 </message>
269 <message> 269 <message>
270 <location filename="installbootloader.cpp" line="1024"/> 270 <location filename="installbootloader.cpp" line="1024"/>
271 <source>Could not open Sansa in RW mode</source> 271 <source>Could not open Sansa in RW mode</source>
272 <translation>Impossible d&apos;ouvir le sansa en mode Lecture-Ecriture</translation> 272 <translation>Impossible d&apos;ouvir le sansa en mode Lecture-Ecriture</translation>
273 </message> 273 </message>
274 <message> 274 <message>
275 <location filename="installbootloader.cpp" line="1055"/> 275 <location filename="installbootloader.cpp" line="1055"/>
276 <source>Could not MD5Sum original firmware</source> 276 <source>Could not MD5Sum original firmware</source>
277 <translation>Impossible de calculer la somme de contrôle MD5 du firmware original</translation> 277 <translation>Impossible de calculer la somme de contrôle MD5 du firmware original</translation>
278 </message> 278 </message>
279 <message> 279 <message>
280 <location filename="installbootloader.cpp" line="1085"/> 280 <location filename="installbootloader.cpp" line="1085"/>
281 <source>Could not detect firmware type</source> 281 <source>Could not detect firmware type</source>
282 <translation>Impossible de détecter le type de firmware</translation> 282 <translation>Impossible de détecter le type de firmware</translation>
283 </message> 283 </message>
284 <message> 284 <message>
285 <location filename="installbootloader.cpp" line="1148"/> 285 <location filename="installbootloader.cpp" line="1148"/>
286 <source>Error in descramble</source> 286 <source>Error in descramble</source>
287 <translation>Erreur dans descramble</translation> 287 <translation>Erreur dans descramble</translation>
288 </message> 288 </message>
289 <message> 289 <message>
290 <location filename="installbootloader.cpp" line="1158"/> 290 <location filename="installbootloader.cpp" line="1158"/>
291 <source>Error in patching</source> 291 <source>Error in patching</source>
292 <translation>Erreur dans la modification</translation> 292 <translation>Erreur dans la modification</translation>
293 </message> 293 </message>
294 <message> 294 <message>
295 <location filename="installbootloader.cpp" line="1168"/> 295 <location filename="installbootloader.cpp" line="1168"/>
296 <source>Error in scramble</source> 296 <source>Error in scramble</source>
297 <translation>Erreur dans scramble</translation> 297 <translation>Erreur dans scramble</translation>
298 </message> 298 </message>
299 <message> 299 <message>
300 <location filename="installbootloader.cpp" line="1179"/> 300 <location filename="installbootloader.cpp" line="1179"/>
301 <source>Error in checksumming</source> 301 <source>Error in checksumming</source>
302 <translation>Erreur dans le calcul de la somme de contrôle</translation> 302 <translation>Erreur dans le calcul de la somme de contrôle</translation>
303 </message> 303 </message>
304 <message> 304 <message>
305 <location filename="installbootloader.cpp" line="1220"/> 305 <location filename="installbootloader.cpp" line="1220"/>
306 <source>2. Boot into the original Firmware.</source> 306 <source>2. Boot into the original Firmware.</source>
307 <translation>2. Démarrez le firmware original.</translation> 307 <translation>2. Démarrez le firmware original.</translation>
308 </message> 308 </message>
309 <message> 309 <message>
310 <location filename="installbootloader.cpp" line="1221"/> 310 <location filename="installbootloader.cpp" line="1221"/>
311 <source>3. Use the Firmware flash option in the Original Firmware.</source> 311 <source>3. Use the Firmware flash option in the Original Firmware.</source>
312 <translation>3. Utilisez l&apos;option &quot;Firmware flash&quot; du firmware original.</translation> 312 <translation>3. Utilisez l&apos;option &quot;Firmware flash&quot; du firmware original.</translation>
313 </message> 313 </message>
314 <message> 314 <message>
315 <location filename="installbootloader.cpp" line="1222"/> 315 <location filename="installbootloader.cpp" line="1222"/>
316 <source>4. Reboot.</source> 316 <source>4. Reboot.</source>
317 <translation>4. Redémarrez.</translation> 317 <translation>4. Redémarrez.</translation>
318 </message> 318 </message>
319 <message> 319 <message>
320 <location filename="installbootloader.cpp" line="533"/> 320 <location filename="installbootloader.cpp" line="533"/>
321 <source>Original Firmware does not exist: %1</source> 321 <source>Original Firmware does not exist: %1</source>
322 <translation>Le firmware original n&apos;existe pas : %1</translation> 322 <translation>Le firmware original n&apos;existe pas : %1</translation>
323 </message> 323 </message>
324 <message> 324 <message>
325 <location filename="installbootloader.cpp" line="1005"/> 325 <location filename="installbootloader.cpp" line="1005"/>
326 <source>Disk is not a Sansa (%1), aborting.</source> 326 <source>Disk is not a Sansa (%1), aborting.</source>
327 <translation>Ce disque n&apos;est pas un Sansa (%1), annulation.</translation> 327 <translation>Ce disque n&apos;est pas un Sansa (%1), annulation.</translation>
328 </message> 328 </message>
329 <message> 329 <message>
330 <location filename="installbootloader.cpp" line="839"/> 330 <location filename="installbootloader.cpp" line="839"/>
331 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod 331 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
332See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> 332See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
333 <translation type="unfinished"></translation> 333 <translation type="unfinished"></translation>
334 </message> 334 </message>
335</context> 335</context>
336<context> 336<context>
337 <name>BrowseDirtreeFrm</name> 337 <name>BrowseDirtreeFrm</name>
338 <message> 338 <message>
339 <location filename="browsedirtreefrm.ui" line="13"/> 339 <location filename="browsedirtreefrm.ui" line="13"/>
340 <source>Find Directory</source> 340 <source>Find Directory</source>
341 <translation>Ouverture du répertoire</translation> 341 <translation>Ouverture du répertoire</translation>
342 </message> 342 </message>
343 <message> 343 <message>
344 <location filename="browsedirtreefrm.ui" line="19"/> 344 <location filename="browsedirtreefrm.ui" line="19"/>
345 <source>Browse to the destination folder</source> 345 <source>Browse to the destination folder</source>
346 <translation>Indiquez le répertoire de destination</translation> 346 <translation>Indiquez le répertoire de destination</translation>
347 </message> 347 </message>
348 <message> 348 <message>
349 <location filename="browsedirtreefrm.ui" line="47"/> 349 <location filename="browsedirtreefrm.ui" line="47"/>
350 <source>&amp;Ok</source> 350 <source>&amp;Ok</source>
351 <translation>&amp;OK</translation> 351 <translation>&amp;OK</translation>
352 </message> 352 </message>
353 <message> 353 <message>
354 <location filename="browsedirtreefrm.ui" line="57"/> 354 <location filename="browsedirtreefrm.ui" line="57"/>
355 <source>&amp;Cancel</source> 355 <source>&amp;Cancel</source>
356 <translation>&amp;Annuler</translation> 356 <translation>&amp;Annuler</translation>
357 </message> 357 </message>
358</context> 358</context>
359<context> 359<context>
360 <name>BrowseOFFrm</name> 360 <name>BrowseOFFrm</name>
361 <message> 361 <message>
362 <location filename="browseoffrm.ui" line="13"/> 362 <location filename="browseoffrm.ui" line="13"/>
363 <source>Find original Firmware</source> 363 <source>Find original Firmware</source>
364 <translation>Ouverture du firmware original</translation> 364 <translation>Ouverture du firmware original</translation>
365 </message> 365 </message>
366 <message> 366 <message>
367 <location filename="browseoffrm.ui" line="19"/> 367 <location filename="browseoffrm.ui" line="19"/>
368 <source>Browse for a downloaded copy of the original firmware</source> 368 <source>Browse for a downloaded copy of the original firmware</source>
369 <translation>Indiquez l&apos;emplacement de la copie téléchargée du firmware original</translation> 369 <translation>Indiquez l&apos;emplacement de la copie téléchargée du firmware original</translation>
370 </message> 370 </message>
371 <message> 371 <message>
372 <location filename="browseoffrm.ui" line="32"/> 372 <location filename="browseoffrm.ui" line="32"/>
373 <source>Browse</source> 373 <source>Browse</source>
374 <translation>Parcourir</translation> 374 <translation>Parcourir</translation>
375 </message> 375 </message>
376 <message> 376 <message>
377 <location filename="browseoffrm.ui" line="54"/> 377 <location filename="browseoffrm.ui" line="54"/>
378 <source>&amp;Ok</source> 378 <source>&amp;Ok</source>
379 <translation>&amp;OK</translation> 379 <translation>&amp;OK</translation>
380 </message> 380 </message>
381 <message> 381 <message>
382 <location filename="browseoffrm.ui" line="64"/> 382 <location filename="browseoffrm.ui" line="64"/>
383 <source>&amp;Cancel</source> 383 <source>&amp;Cancel</source>
384 <translation>&amp;Annuler</translation> 384 <translation>&amp;Annuler</translation>
385 </message> 385 </message>
386</context> 386</context>
387<context> 387<context>
388 <name>Config</name> 388 <name>Config</name>
389 <message> 389 <message>
390 <location filename="configure.cpp" line="110"/> 390 <location filename="configure.cpp" line="110"/>
391 <source>Language changed</source> 391 <source>Language changed</source>
392 <translation>Changement de langue</translation> 392 <translation>Changement de langue</translation>
393 </message> 393 </message>
394 <message> 394 <message>
395 <location filename="configure.cpp" line="111"/> 395 <location filename="configure.cpp" line="111"/>
396 <source>You need to restart the application for the changed language to take effect.</source> 396 <source>You need to restart the application for the changed language to take effect.</source>
397 <translation>Vous devez redémarrer l&apos;application pour que le changement de langue prenne effet.</translation> 397 <translation>Vous devez redémarrer l&apos;application pour que le changement de langue prenne effet.</translation>
398 </message> 398 </message>
399 <message> 399 <message>
400 <location filename="configure.cpp" line="227"/> 400 <location filename="configure.cpp" line="227"/>
401 <source>Current cache size is %1 kiB.</source> 401 <source>Current cache size is %1 kiB.</source>
402 <translation type="obsolete">La taille actuelle du cache est %1 Ko.</translation> 402 <translation type="obsolete">La taille actuelle du cache est %1 Ko.</translation>
403 </message> 403 </message>
404 <message> 404 <message>
405 <location filename="configure.cpp" line="593"/> 405 <location filename="configure.cpp" line="593"/>
406 <source>Autodetection</source> 406 <source>Autodetection</source>
407 <translation>Autodétection</translation> 407 <translation>Autodétection</translation>
408 </message> 408 </message>
409 <message> 409 <message>
410 <location filename="configure.cpp" line="587"/> 410 <location filename="configure.cpp" line="587"/>
411 <source>Could not detect a Mountpoint. 411 <source>Could not detect a Mountpoint.
412Select your Mountpoint manually.</source> 412Select your Mountpoint manually.</source>
413 <translation>Impossible de détecter un point de montage. 413 <translation>Impossible de détecter un point de montage.
414Veuillez sélectionner manuellement le point de montage.</translation> 414Veuillez sélectionner manuellement le point de montage.</translation>
415 </message> 415 </message>
416 <message> 416 <message>
417 <location filename="configure.cpp" line="595"/> 417 <location filename="configure.cpp" line="595"/>
418 <source>Could not detect a device. 418 <source>Could not detect a device.
419Select your device and Mountpoint manually.</source> 419Select your device and Mountpoint manually.</source>
420 <translation>Impossible de détecter le périphérique. 420 <translation>Impossible de détecter le périphérique.
421Veuillez sélectionner manuellement le type de périphérique et le point de montage.</translation> 421Veuillez sélectionner manuellement le type de périphérique et le point de montage.</translation>
422 </message> 422 </message>
423 <message> 423 <message>
424 <location filename="configure.cpp" line="603"/> 424 <location filename="configure.cpp" line="603"/>
425 <source>Really delete cache?</source> 425 <source>Really delete cache?</source>
426 <translation>Supprimer le cache ?</translation> 426 <translation>Supprimer le cache ?</translation>
427 </message> 427 </message>
428 <message> 428 <message>
429 <location filename="configure.cpp" line="606"/> 429 <location filename="configure.cpp" line="606"/>
430 <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> 430 <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>
431 <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> 431 <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>
432 </message> 432 </message>
433 <message> 433 <message>
434 <location filename="configure.cpp" line="612"/> 434 <location filename="configure.cpp" line="612"/>
435 <source>Path wrong!</source> 435 <source>Path wrong!</source>
436 <translation>Chemin incorrect !</translation> 436 <translation>Chemin incorrect !</translation>
437 </message> 437 </message>
438 <message> 438 <message>
439 <location filename="configure.cpp" line="613"/> 439 <location filename="configure.cpp" line="613"/>
440 <source>The cache path is invalid. Aborting.</source> 440 <source>The cache path is invalid. Aborting.</source>
441 <translation>Le chemin du cache est invalide. Annulation.</translation> 441 <translation>Le chemin du cache est invalide. Annulation.</translation>
442 </message> 442 </message>
443 <message> 443 <message>
444 <location filename="configure.cpp" line="56"/> 444 <location filename="configure.cpp" line="56"/>
445 <source> (%1)</source> 445 <source> (%1)</source>
446 <translation> (%1)</translation> 446 <translation> (%1)</translation>
447 </message> 447 </message>
448 <message> 448 <message>
449 <location filename="configure.cpp" line="485"/> 449 <location filename="configure.cpp" line="485"/>
450 <source>Select your device</source> 450 <source>Select your device</source>
451 <translation>Sélectionnez votre périphérique</translation> 451 <translation>Sélectionnez votre périphérique</translation>
452 </message> 452 </message>
453 <message> 453 <message>
454 <location filename="configure.cpp" line="569"/> 454 <location filename="configure.cpp" line="569"/>
455 <source>Sansa e200 in MTP mode found! 455 <source>Sansa e200 in MTP mode found!
456You need to change your player to MSC mode for installation. </source> 456You need to change your player to MSC mode for installation. </source>
457 <translation>Sansa e200 en mode MTP trouvé ! 457 <translation>Sansa e200 en mode MTP trouvé !
458Vous devez mettre votre lecteur audio en mode MSC pour l&apos;installation. </translation> 458Vous devez mettre votre lecteur audio en mode MSC pour l&apos;installation. </translation>
459 </message> 459 </message>
460 <message> 460 <message>
461 <location filename="configure.cpp" line="572"/> 461 <location filename="configure.cpp" line="572"/>
462 <source>H10 20GB in MTP mode found! 462 <source>H10 20GB in MTP mode found!
463You need to change your player to UMS mode for installation. </source> 463You need to change your player to UMS mode for installation. </source>
464 <translation>H10 20 Go en mode MTP trouvé ! 464 <translation>H10 20 Go en mode MTP trouvé !
465Vous devez mettre votre lecteur en mode UMS pour l&apos;installation. </translation> 465Vous devez mettre votre lecteur en mode UMS pour l&apos;installation. </translation>
466 </message> 466 </message>
467 <message> 467 <message>
468 <location filename="configure.cpp" line="573"/> 468 <location filename="configure.cpp" line="573"/>
469 <source>Unless you changed this installation will fail!</source> 469 <source>Unless you changed this installation will fail!</source>
470 <translation>Si vous n&apos;avez pas changé ceci, l&apos;installation échouera !</translation> 470 <translation>Si vous n&apos;avez pas changé ceci, l&apos;installation échouera !</translation>
471 </message> 471 </message>
472 <message> 472 <message>
473 <location filename="configure.cpp" line="575"/> 473 <location filename="configure.cpp" line="575"/>
474 <source>Fatal error</source> 474 <source>Fatal error</source>
475 <translation>Erreur fatale</translation> 475 <translation>Erreur fatale</translation>
476 </message> 476 </message>
477 <message> 477 <message>
478 <location filename="configure.cpp" line="220"/> 478 <location filename="configure.cpp" line="220"/>
479 <source>Current cache size is %L1 kiB.</source> 479 <source>Current cache size is %L1 kiB.</source>
480 <translation type="unfinished"></translation> 480 <translation type="unfinished"></translation>
481 </message> 481 </message>
482 <message> 482 <message>
483 <location filename="configure.cpp" line="418"/> 483 <location filename="configure.cpp" line="418"/>
484 <source>(system proxy is disabled)</source> 484 <source>(system proxy is disabled)</source>
485 <translation type="unfinished"></translation> 485 <translation type="unfinished"></translation>
486 </message> 486 </message>
487</context> 487</context>
488<context> 488<context>
489 <name>ConfigForm</name> 489 <name>ConfigForm</name>
490 <message> 490 <message>
491 <location filename="configurefrm.ui" line="13"/> 491 <location filename="configurefrm.ui" line="13"/>
492 <source>Configuration</source> 492 <source>Configuration</source>
493 <translation>Configuration</translation> 493 <translation>Configuration</translation>
494 </message> 494 </message>
495 <message> 495 <message>
496 <location filename="configurefrm.ui" line="19"/> 496 <location filename="configurefrm.ui" line="19"/>
497 <source>Configure Rockbox Utility</source> 497 <source>Configure Rockbox Utility</source>
498 <translation>Configuration de l&apos;utilitaire Rockbox</translation> 498 <translation>Configuration de l&apos;utilitaire Rockbox</translation>
499 </message> 499 </message>
500 <message> 500 <message>
501 <location filename="configurefrm.ui" line="30"/> 501 <location filename="configurefrm.ui" line="30"/>
502 <source>&amp;Device</source> 502 <source>&amp;Device</source>
503 <translation>&amp;Périphérique</translation> 503 <translation>&amp;Périphérique</translation>
504 </message> 504 </message>
505 <message> 505 <message>
506 <location filename="configurefrm.ui" line="39"/> 506 <location filename="configurefrm.ui" line="39"/>
507 <source>Select your device in the &amp;filesystem</source> 507 <source>Select your device in the &amp;filesystem</source>
508 <translation>Sélectionnez votre périphérique dans le &amp;Système de fichiers</translation> 508 <translation>Sélectionnez votre périphérique dans le &amp;Système de fichiers</translation>
509 </message> 509 </message>
510 <message> 510 <message>
511 <location filename="configurefrm.ui" line="286"/> 511 <location filename="configurefrm.ui" line="286"/>
512 <source>&amp;Browse</source> 512 <source>&amp;Browse</source>
513 <translation>&amp;Parcourir</translation> 513 <translation>&amp;Parcourir</translation>
514 </message> 514 </message>
515 <message> 515 <message>
516 <location filename="configurefrm.ui" line="66"/> 516 <location filename="configurefrm.ui" line="66"/>
517 <source>&amp;Select your audio player</source> 517 <source>&amp;Select your audio player</source>
518 <translation>&amp;Sélectionnez votre lecteur audio</translation> 518 <translation>&amp;Sélectionnez votre lecteur audio</translation>
519 </message> 519 </message>
520 <message> 520 <message>
521 <location filename="configurefrm.ui" line="77"/> 521 <location filename="configurefrm.ui" line="77"/>
522 <source>1</source> 522 <source>1</source>
523 <translation>1</translation> 523 <translation>1</translation>
524 </message> 524 </message>
525 <message> 525 <message>
526 <location filename="configurefrm.ui" line="98"/> 526 <location filename="configurefrm.ui" line="98"/>
527 <source>&amp;Autodetect</source> 527 <source>&amp;Autodetect</source>
528 <translation>&amp;Autodétection</translation> 528 <translation>&amp;Autodétection</translation>
529 </message> 529 </message>
530 <message> 530 <message>
531 <location filename="configurefrm.ui" line="109"/> 531 <location filename="configurefrm.ui" line="109"/>
532 <source>&amp;Proxy</source> 532 <source>&amp;Proxy</source>
533 <translation>&amp;Proxy</translation> 533 <translation>&amp;Proxy</translation>
534 </message> 534 </message>
535 <message> 535 <message>
536 <location filename="configurefrm.ui" line="118"/> 536 <location filename="configurefrm.ui" line="118"/>
537 <source>&amp;No Proxy</source> 537 <source>&amp;No Proxy</source>
538 <translation>P&amp;as de proxy</translation> 538 <translation>P&amp;as de proxy</translation>
539 </message> 539 </message>
540 <message> 540 <message>
541 <location filename="configurefrm.ui" line="128"/> 541 <location filename="configurefrm.ui" line="128"/>
542 <source>Use S&amp;ystem values</source> 542 <source>Use S&amp;ystem values</source>
543 <translation>Utilier les valeurs du s&amp;ystème</translation> 543 <translation>Utilier les valeurs du s&amp;ystème</translation>
544 </message> 544 </message>
545 <message> 545 <message>
546 <location filename="configurefrm.ui" line="135"/> 546 <location filename="configurefrm.ui" line="135"/>
547 <source>&amp;Manual Proxy settings</source> 547 <source>&amp;Manual Proxy settings</source>
548 <translation>Paramètres &amp;manuels pour le proxy</translation> 548 <translation>Paramètres &amp;manuels pour le proxy</translation>
549 </message> 549 </message>
550 <message> 550 <message>
551 <location filename="configurefrm.ui" line="142"/> 551 <location filename="configurefrm.ui" line="142"/>
552 <source>Proxy Values</source> 552 <source>Proxy Values</source>
553 <translation>Valeurs du proxy</translation> 553 <translation>Valeurs du proxy</translation>
554 </message> 554 </message>
555 <message> 555 <message>
556 <location filename="configurefrm.ui" line="148"/> 556 <location filename="configurefrm.ui" line="148"/>
557 <source>&amp;Host:</source> 557 <source>&amp;Host:</source>
558 <translation>&amp;Hôte:</translation> 558 <translation>&amp;Hôte:</translation>
559 </message> 559 </message>
560 <message> 560 <message>
561 <location filename="configurefrm.ui" line="165"/> 561 <location filename="configurefrm.ui" line="165"/>
562 <source>&amp;Port:</source> 562 <source>&amp;Port:</source>
563 <translation>&amp;Port:</translation> 563 <translation>&amp;Port:</translation>
564 </message> 564 </message>
565 <message> 565 <message>
566 <location filename="configurefrm.ui" line="188"/> 566 <location filename="configurefrm.ui" line="188"/>
567 <source>&amp;Username</source> 567 <source>&amp;Username</source>
568 <translation>&amp;Nom d&apos;utilisateur</translation> 568 <translation>&amp;Nom d&apos;utilisateur</translation>
569 </message> 569 </message>
570 <message> 570 <message>
571 <location filename="configurefrm.ui" line="198"/> 571 <location filename="configurefrm.ui" line="198"/>
572 <source>Pass&amp;word</source> 572 <source>Pass&amp;word</source>
573 <translation>&amp;Mot de passe</translation> 573 <translation>&amp;Mot de passe</translation>
574 </message> 574 </message>
575 <message> 575 <message>
576 <location filename="configurefrm.ui" line="225"/> 576 <location filename="configurefrm.ui" line="225"/>
577 <source>&amp;Language</source> 577 <source>&amp;Language</source>
578 <translation>&amp;Langue</translation> 578 <translation>&amp;Langue</translation>
579 </message> 579 </message>
580 <message> 580 <message>
581 <location filename="configurefrm.ui" line="238"/> 581 <location filename="configurefrm.ui" line="238"/>
582 <source>Cac&amp;he</source> 582 <source>Cac&amp;he</source>
583 <translation>Cac&amp;he</translation> 583 <translation>Cac&amp;he</translation>
584 </message> 584 </message>
585 <message> 585 <message>
586 <location filename="configurefrm.ui" line="244"/> 586 <location filename="configurefrm.ui" line="244"/>
587 <source>Download cache settings</source> 587 <source>Download cache settings</source>
588 <translation>Paramètres du cache de téléchargement</translation> 588 <translation>Paramètres du cache de téléchargement</translation>
589 </message> 589 </message>
590 <message> 590 <message>
591 <location filename="configurefrm.ui" line="250"/> 591 <location filename="configurefrm.ui" line="250"/>
592 <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> 592 <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>
593 <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> 593 <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>
594 </message> 594 </message>
595 <message> 595 <message>
596 <location filename="configurefrm.ui" line="260"/> 596 <location filename="configurefrm.ui" line="260"/>
597 <source>Current cache size is %1</source> 597 <source>Current cache size is %1</source>
598 <translation>La taille actuelle du cache est %1</translation> 598 <translation>La taille actuelle du cache est %1</translation>
599 </message> 599 </message>
600 <message> 600 <message>
601 <location filename="configurefrm.ui" line="269"/> 601 <location filename="configurefrm.ui" line="269"/>
602 <source>P&amp;ath</source> 602 <source>P&amp;ath</source>
603 <translation>&amp;Chemin</translation> 603 <translation>&amp;Chemin</translation>
604 </message> 604 </message>
605 <message> 605 <message>
606 <location filename="configurefrm.ui" line="279"/> 606 <location filename="configurefrm.ui" line="279"/>
607 <source>Entering an invalid folder will reset the path to the systems temporary path.</source> 607 <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
608 <translation>Entrer un répertoire invalide remettra la valeur du chemin à celle du répertoire temporaire du système.</translation> 608 <translation>Entrer un répertoire invalide remettra la valeur du chemin à celle du répertoire temporaire du système.</translation>
609 </message> 609 </message>
610 <message> 610 <message>
611 <location filename="configurefrm.ui" line="300"/> 611 <location filename="configurefrm.ui" line="300"/>
612 <source>Disable local &amp;download cache</source> 612 <source>Disable local &amp;download cache</source>
613 <translation>Désactiver le cache local de &amp;téléchargement</translation> 613 <translation>Désactiver le cache local de &amp;téléchargement</translation>
614 </message> 614 </message>
615 <message> 615 <message>
616 <location filename="configurefrm.ui" line="307"/> 616 <location filename="configurefrm.ui" line="307"/>
617 <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> 617 <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>
618 <translation>Ceci essaiera d&apos;utiliser toutes les informations du cache, même les informations de mise à jour. 618 <translation>Ceci essaiera d&apos;utiliser toutes les informations du cache, même les informations de mise à jour.
619Utilisez cette option si vous voulez installer sans connexion réseau. 619Utilisez cette option si vous voulez installer sans connexion réseau.
620Note : l&apos;installation que vous voudrez réaliser plus tard doit d&apos;abord être faite avec un accès réseau 620Note : l&apos;installation que vous voudrez réaliser plus tard doit d&apos;abord être faite avec un accès réseau
621pour télécharger tous les fichiers néecessaires dans le cache.</translation> 621pour télécharger tous les fichiers néecessaires dans le cache.</translation>
622 </message> 622 </message>
623 <message> 623 <message>
624 <location filename="configurefrm.ui" line="310"/> 624 <location filename="configurefrm.ui" line="310"/>
625 <source>O&amp;ffline mode</source> 625 <source>O&amp;ffline mode</source>
626 <translation>Mode &amp;hors-ligne</translation> 626 <translation>Mode &amp;hors-ligne</translation>
627 </message> 627 </message>
628 <message> 628 <message>
629 <location filename="configurefrm.ui" line="345"/> 629 <location filename="configurefrm.ui" line="345"/>
630 <source>Clean cache &amp;now</source> 630 <source>Clean cache &amp;now</source>
631 <translation>Nettoyer le cache &amp;maintenant</translation> 631 <translation>Nettoyer le cache &amp;maintenant</translation>
632 </message> 632 </message>
633 <message> 633 <message>
634 <location filename="configurefrm.ui" line="356"/> 634 <location filename="configurefrm.ui" line="356"/>
635 <source>&amp;TTS &amp;&amp; Encoder</source> 635 <source>&amp;TTS &amp;&amp; Encoder</source>
636 <translation>&amp;TTS &amp;&amp; Encodeur</translation> 636 <translation>&amp;TTS &amp;&amp; Encodeur</translation>
637 </message> 637 </message>
638 <message> 638 <message>
639 <location filename="configurefrm.ui" line="365"/> 639 <location filename="configurefrm.ui" line="365"/>
640 <source>TTS Engine</source> 640 <source>TTS Engine</source>
641 <translation>Moteur TTS</translation> 641 <translation>Moteur TTS</translation>
642 </message> 642 </message>
643 <message> 643 <message>
644 <location filename="configurefrm.ui" line="371"/> 644 <location filename="configurefrm.ui" line="371"/>
645 <source>&amp;Select TTS Engine</source> 645 <source>&amp;Select TTS Engine</source>
646 <translation type="unfinished">Profil &amp;TTS</translation> 646 <translation type="unfinished">Profil &amp;TTS</translation>
647 </message> 647 </message>
648 <message> 648 <message>
649 <location filename="configurefrm.ui" line="384"/> 649 <location filename="configurefrm.ui" line="384"/>
650 <source>TTS executable</source> 650 <source>TTS executable</source>
651 <translation type="obsolete">Exécutable TTS</translation> 651 <translation type="obsolete">Exécutable TTS</translation>
652 </message> 652 </message>
653 <message> 653 <message>
654 <location filename="configurefrm.ui" line="407"/> 654 <location filename="configurefrm.ui" line="407"/>
655 <source>TTS Options</source> 655 <source>TTS Options</source>
656 <translation type="obsolete">Options TTS</translation> 656 <translation type="obsolete">Options TTS</translation>
657 </message> 657 </message>
658 <message> 658 <message>
659 <location filename="configurefrm.ui" line="421"/> 659 <location filename="configurefrm.ui" line="421"/>
660 <source>Encoder Engine</source> 660 <source>Encoder Engine</source>
661 <translation>Moteur d&apos;encodage</translation> 661 <translation>Moteur d&apos;encodage</translation>
662 </message> 662 </message>
663 <message> 663 <message>
664 <location filename="configurefrm.ui" line="439"/> 664 <location filename="configurefrm.ui" line="439"/>
665 <source>Select &amp;encoder profile</source> 665 <source>Select &amp;encoder profile</source>
666 <translation type="obsolete">Profil d&apos;&amp;encodage</translation> 666 <translation type="obsolete">Profil d&apos;&amp;encodage</translation>
667 </message> 667 </message>
668 <message> 668 <message>
669 <location filename="configurefrm.ui" line="452"/> 669 <location filename="configurefrm.ui" line="452"/>
670 <source>Encoder executable</source> 670 <source>Encoder executable</source>
671 <translation type="obsolete">Exécutable de l&apos;encodeur</translation> 671 <translation type="obsolete">Exécutable de l&apos;encodeur</translation>
672 </message> 672 </message>
673 <message> 673 <message>
674 <location filename="configurefrm.ui" line="465"/> 674 <location filename="configurefrm.ui" line="465"/>
675 <source>B&amp;rowse</source> 675 <source>B&amp;rowse</source>
676 <translation type="obsolete">&amp;Parcourir</translation> 676 <translation type="obsolete">&amp;Parcourir</translation>
677 </message> 677 </message>
678 <message> 678 <message>
679 <location filename="configurefrm.ui" line="475"/> 679 <location filename="configurefrm.ui" line="475"/>
680 <source>Encoder options</source> 680 <source>Encoder options</source>
681 <translation type="obsolete">Options de l&apos;encodeur</translation> 681 <translation type="obsolete">Options de l&apos;encodeur</translation>
682 </message> 682 </message>
683 <message> 683 <message>
684 <location filename="configurefrm.ui" line="507"/> 684 <location filename="configurefrm.ui" line="507"/>
685 <source>&amp;Ok</source> 685 <source>&amp;Ok</source>
686 <translation>&amp;OK</translation> 686 <translation>&amp;OK</translation>
687 </message> 687 </message>
688 <message> 688 <message>
689 <location filename="configurefrm.ui" line="517"/> 689 <location filename="configurefrm.ui" line="517"/>
690 <source>&amp;Cancel</source> 690 <source>&amp;Cancel</source>
691 <translation>&amp;Annuler</translation> 691 <translation>&amp;Annuler</translation>
692 </message> 692 </message>
693 <message> 693 <message>
694 <location filename="configurefrm.ui" line="420"/> 694 <location filename="configurefrm.ui" line="420"/>
695 <source>TTS Language</source> 695 <source>TTS Language</source>
696 <translation type="obsolete">Langue TTS</translation> 696 <translation type="obsolete">Langue TTS</translation>
697 </message> 697 </message>
698 <message> 698 <message>
699 <location filename="configurefrm.ui" line="384"/> 699 <location filename="configurefrm.ui" line="384"/>
700 <source>Configure TTS Engine</source> 700 <source>Configure TTS Engine</source>
701 <translation type="unfinished"></translation> 701 <translation type="unfinished"></translation>
702 </message> 702 </message>
703 <message> 703 <message>
704 <location filename="configurefrm.ui" line="447"/> 704 <location filename="configurefrm.ui" line="447"/>
705 <source>Configuration invalid !</source> 705 <source>Configuration invalid !</source>
706 <translation type="unfinished"></translation> 706 <translation type="unfinished"></translation>
707 </message> 707 </message>
708 <message> 708 <message>
709 <location filename="configurefrm.ui" line="408"/> 709 <location filename="configurefrm.ui" line="408"/>
710 <source>Configure &amp;TTS</source> 710 <source>Configure &amp;TTS</source>
711 <translation type="unfinished"></translation> 711 <translation type="unfinished"></translation>
712 </message> 712 </message>
713 <message> 713 <message>
714 <location filename="configurefrm.ui" line="427"/> 714 <location filename="configurefrm.ui" line="427"/>
715 <source>Select &amp;encoder</source> 715 <source>Select &amp;encoder</source>
716 <translation type="unfinished"></translation> 716 <translation type="unfinished"></translation>
717 </message> 717 </message>
718 <message> 718 <message>
719 <location filename="configurefrm.ui" line="440"/> 719 <location filename="configurefrm.ui" line="440"/>
720 <source>Configure encoder</source> 720 <source>Configure encoder</source>
721 <translation type="unfinished"></translation> 721 <translation type="unfinished"></translation>
722 </message> 722 </message>
723 <message> 723 <message>
724 <location filename="configurefrm.ui" line="464"/> 724 <location filename="configurefrm.ui" line="464"/>
725 <source> Configure &amp;Enc</source> 725 <source> Configure &amp;Enc</source>
726 <translation type="unfinished"></translation> 726 <translation type="unfinished"></translation>
727 </message> 727 </message>
728</context> 728</context>
729<context> 729<context>
730 <name>Configure</name> 730 <name>Configure</name>
731 <message> 731 <message>
732 <location filename="configure.cpp" line="469"/> 732 <location filename="configure.cpp" line="469"/>
733 <source>English</source> 733 <source>English</source>
734 <translation>Français</translation> 734 <translation>Français</translation>
735 </message> 735 </message>
736</context> 736</context>
737<context> 737<context>
738 <name>CreateVoiceFrm</name> 738 <name>CreateVoiceFrm</name>
739 <message> 739 <message>
740 <location filename="createvoicefrm.ui" line="16"/> 740 <location filename="createvoicefrm.ui" line="16"/>
741 <source>Create Voice File</source> 741 <source>Create Voice File</source>
742 <translation type="unfinished"></translation> 742 <translation type="unfinished"></translation>
743 </message> 743 </message>
744 <message> 744 <message>
745 <location filename="createvoicefrm.ui" line="41"/> 745 <location filename="createvoicefrm.ui" line="41"/>
746 <source>Select the Language you want to generate a voicefile for:</source> 746 <source>Select the Language you want to generate a voicefile for:</source>
747 <translation type="unfinished"></translation> 747 <translation type="unfinished"></translation>
748 </message> 748 </message>
749 <message> 749 <message>
750 <location filename="createvoicefrm.ui" line="51"/> 750 <location filename="createvoicefrm.ui" line="51"/>
751 <source>Generation settings</source> 751 <source>Generation settings</source>
752 <translation type="unfinished">Paramètres de génération</translation> 752 <translation type="unfinished">Paramètres de génération</translation>
753 </message> 753 </message>
754 <message> 754 <message>
755 <location filename="createvoicefrm.ui" line="57"/> 755 <location filename="createvoicefrm.ui" line="57"/>
756 <source>Encoder profile:</source> 756 <source>Encoder profile:</source>
757 <translation type="unfinished">Profil d&apos;encodage :</translation> 757 <translation type="unfinished">Profil d&apos;encodage :</translation>
758 </message> 758 </message>
759 <message> 759 <message>
760 <location filename="createvoicefrm.ui" line="64"/> 760 <location filename="createvoicefrm.ui" line="64"/>
761 <source>TTS profile:</source> 761 <source>TTS profile:</source>
762 <translation type="unfinished">Profil TTS :</translation> 762 <translation type="unfinished">Profil TTS :</translation>
763 </message> 763 </message>
764 <message> 764 <message>
765 <location filename="createvoicefrm.ui" line="77"/> 765 <location filename="createvoicefrm.ui" line="77"/>
766 <source>Change</source> 766 <source>Change</source>
767 <translation type="unfinished"></translation> 767 <translation type="unfinished"></translation>
768 </message> 768 </message>
769 <message> 769 <message>
770 <location filename="createvoicefrm.ui" line="128"/> 770 <location filename="createvoicefrm.ui" line="128"/>
771 <source>&amp;Install</source> 771 <source>&amp;Install</source>
772 <translation type="unfinished">&amp;Installer</translation> 772 <translation type="unfinished">&amp;Installer</translation>
773 </message> 773 </message>
774 <message> 774 <message>
775 <location filename="createvoicefrm.ui" line="138"/> 775 <location filename="createvoicefrm.ui" line="138"/>
776 <source>&amp;Cancel</source> 776 <source>&amp;Cancel</source>
777 <translation type="unfinished">&amp;Annuler</translation> 777 <translation type="unfinished">&amp;Annuler</translation>
778 </message> 778 </message>
779 <message> 779 <message>
780 <location filename="createvoicefrm.ui" line="152"/> 780 <location filename="createvoicefrm.ui" line="152"/>
781 <source>Wavtrim Threshold</source> 781 <source>Wavtrim Threshold</source>
782 <translation type="unfinished"></translation> 782 <translation type="unfinished"></translation>
783 </message> 783 </message>
784</context> 784</context>
785<context> 785<context>
786 <name>CreateVoiceWindow</name> 786 <name>CreateVoiceWindow</name>
787 <message> 787 <message>
788 <location filename="createvoicewindow.cpp" line="96"/> 788 <location filename="createvoicewindow.cpp" line="96"/>
789 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 789 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
790 <translation type="unfinished"></translation> 790 <translation type="unfinished"></translation>
791 </message> 791 </message>
792 <message> 792 <message>
793 <location filename="createvoicewindow.cpp" line="98"/> 793 <location filename="createvoicewindow.cpp" line="98"/>
794 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 794 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
795 <translation type="unfinished"></translation> 795 <translation type="unfinished"></translation>
796 </message> 796 </message>
797 <message> 797 <message>
798 <location filename="createvoicewindow.cpp" line="106"/> 798 <location filename="createvoicewindow.cpp" line="106"/>
799 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 799 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
800 <translation type="unfinished"></translation> 800 <translation type="unfinished"></translation>
801 </message> 801 </message>
802</context> 802</context>
803<context> 803<context>
804 <name>EncExesCfgFrm</name> 804 <name>EncExesCfgFrm</name>
805 <message> 805 <message>
806 <location filename="encexescfgfrm.ui" line="13"/> 806 <location filename="encexescfgfrm.ui" line="13"/>
807 <source>Configuration</source> 807 <source>Configuration</source>
808 <translation type="unfinished">Configuration</translation> 808 <translation type="unfinished">Configuration</translation>
809 </message> 809 </message>
810 <message> 810 <message>
811 <location filename="encexescfgfrm.ui" line="19"/> 811 <location filename="encexescfgfrm.ui" line="19"/>
812 <source>Configure Encoder</source> 812 <source>Configure Encoder</source>
813 <translation type="unfinished"></translation> 813 <translation type="unfinished"></translation>
814 </message> 814 </message>
815 <message> 815 <message>
816 <location filename="encexescfgfrm.ui" line="31"/> 816 <location filename="encexescfgfrm.ui" line="31"/>
817 <source>Path to Encoder</source> 817 <source>Path to Encoder</source>
818 <translation type="unfinished"></translation> 818 <translation type="unfinished"></translation>
819 </message> 819 </message>
820 <message> 820 <message>
821 <location filename="encexescfgfrm.ui" line="43"/> 821 <location filename="encexescfgfrm.ui" line="43"/>
822 <source>&amp;Browse</source> 822 <source>&amp;Browse</source>
823 <translation type="unfinished">&amp;Parcourir</translation> 823 <translation type="unfinished">&amp;Parcourir</translation>
824 </message> 824 </message>
825 <message> 825 <message>
826 <location filename="encexescfgfrm.ui" line="52"/> 826 <location filename="encexescfgfrm.ui" line="52"/>
827 <source>Encoder options</source> 827 <source>Encoder options</source>
828 <translation type="unfinished">Options de l&apos;encodeur</translation> 828 <translation type="unfinished">Options de l&apos;encodeur</translation>
829 </message> 829 </message>
830 <message> 830 <message>
831 <location filename="encexescfgfrm.ui" line="77"/> 831 <location filename="encexescfgfrm.ui" line="77"/>
832 <source>Reset</source> 832 <source>Reset</source>
833 <translation type="unfinished"></translation> 833 <translation type="unfinished"></translation>
834 </message> 834 </message>
835 <message> 835 <message>
836 <location filename="encexescfgfrm.ui" line="97"/> 836 <location filename="encexescfgfrm.ui" line="97"/>
837 <source>&amp;Ok</source> 837 <source>&amp;Ok</source>
838 <translation type="unfinished">&amp;OK</translation> 838 <translation type="unfinished">&amp;OK</translation>
839 </message> 839 </message>
840 <message> 840 <message>
841 <location filename="encexescfgfrm.ui" line="107"/> 841 <location filename="encexescfgfrm.ui" line="107"/>
842 <source>&amp;Cancel</source> 842 <source>&amp;Cancel</source>
843 <translation type="unfinished">&amp;Annuler</translation> 843 <translation type="unfinished">&amp;Annuler</translation>
844 </message> 844 </message>
845</context> 845</context>
846<context> 846<context>
847 <name>Install</name> 847 <name>Install</name>
848 <message> 848 <message>
849 <location filename="install.cpp" line="55"/> 849 <location filename="install.cpp" line="55"/>
850 <source>Mount point is wrong!</source> 850 <source>Mount point is wrong!</source>
851 <translation>Le point de montage est incorrect !</translation> 851 <translation>Le point de montage est incorrect !</translation>
852 </message> 852 </message>
853 <message> 853 <message>
854 <location filename="install.cpp" line="141"/> 854 <location filename="install.cpp" line="141"/>
855 <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> 855 <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>
856 <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> 856 <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>
857 </message> 857 </message>
858 <message> 858 <message>
859 <location filename="install.cpp" line="145"/> 859 <location filename="install.cpp" line="145"/>
860 <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> 860 <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>
861 <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> 861 <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>
862 </message> 862 </message>
863 <message> 863 <message>
864 <location filename="install.cpp" line="148"/> 864 <location filename="install.cpp" line="148"/>
865 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source> 865 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
866 <translation>&lt;b&gt;Note :&lt;/b&gt; Cette option téléchargera toujours une nouvelle copie.</translation> 866 <translation>&lt;b&gt;Note :&lt;/b&gt; Cette option téléchargera toujours une nouvelle copie.</translation>
867 </message> 867 </message>
868 <message> 868 <message>
869 <location filename="install.cpp" line="157"/> 869 <location filename="install.cpp" line="157"/>
870 <source>This is the last released version of Rockbox.</source> 870 <source>This is the last released version of Rockbox.</source>
871 <translation>C&apos;est la dernière version publique officielle de Rockbox.</translation> 871 <translation>C&apos;est la dernière version publique officielle de Rockbox.</translation>
872 </message> 872 </message>
873 <message> 873 <message>
874 <location filename="install.cpp" line="163"/> 874 <location filename="install.cpp" line="163"/>
875 <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> 875 <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>
876 <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> 876 <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>
877 </message> 877 </message>
878 <message> 878 <message>
879 <location filename="install.cpp" line="175"/> 879 <location filename="install.cpp" line="175"/>
880 <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> 880 <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>
881 <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> 881 <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>
882 </message> 882 </message>
883 <message> 883 <message>
884 <location filename="install.cpp" line="177"/> 884 <location filename="install.cpp" line="177"/>
885 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source> 885 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
886 <translation>&lt;b&gt;Note :&lt;/b&gt; la version archivée est r%1 (%2).</translation> 886 <translation>&lt;b&gt;Note :&lt;/b&gt; la version archivée est r%1 (%2).</translation>
887 </message> 887 </message>
888</context> 888</context>
889<context> 889<context>
890 <name>InstallFrm</name> 890 <name>InstallFrm</name>
891 <message> 891 <message>
892 <location filename="installfrm.ui" line="16"/> 892 <location filename="installfrm.ui" line="16"/>
893 <source>Install Rockbox</source> 893 <source>Install Rockbox</source>
894 <translation>Installer Rockbox</translation> 894 <translation>Installer Rockbox</translation>
895 </message> 895 </message>
896 <message> 896 <message>
897 <location filename="installfrm.ui" line="35"/> 897 <location filename="installfrm.ui" line="35"/>
898 <source>Please select the Rockbox version you want to install on your player:</source> 898 <source>Please select the Rockbox version you want to install on your player:</source>
899 <translation>Veuillez sélectionner la version de Rockbox que vous souhaitez installer sur votre lecteur audio :</translation> 899 <translation>Veuillez sélectionner la version de Rockbox que vous souhaitez installer sur votre lecteur audio :</translation>
900 </message> 900 </message>
901 <message> 901 <message>
902 <location filename="installfrm.ui" line="45"/> 902 <location filename="installfrm.ui" line="45"/>
903 <source>Version</source> 903 <source>Version</source>
904 <translation>Version</translation> 904 <translation>Version</translation>
905 </message> 905 </message>
906 <message> 906 <message>
907 <location filename="installfrm.ui" line="51"/> 907 <location filename="installfrm.ui" line="51"/>
908 <source>Rockbox &amp;stable</source> 908 <source>Rockbox &amp;stable</source>
909 <translation>Rockbox &amp;stable</translation> 909 <translation>Rockbox &amp;stable</translation>
910 </message> 910 </message>
911 <message> 911 <message>
912 <location filename="installfrm.ui" line="58"/> 912 <location filename="installfrm.ui" line="58"/>
913 <source>&amp;Archived Build</source> 913 <source>&amp;Archived Build</source>
914 <translation>Version &amp;archivée</translation> 914 <translation>Version &amp;archivée</translation>
915 </message> 915 </message>
916 <message> 916 <message>
917 <location filename="installfrm.ui" line="65"/> 917 <location filename="installfrm.ui" line="65"/>
918 <source>&amp;Current Build</source> 918 <source>&amp;Current Build</source>
919 <translation>Version a&amp;ctuelle</translation> 919 <translation>Version a&amp;ctuelle</translation>
920 </message> 920 </message>
921 <message> 921 <message>
922 <location filename="installfrm.ui" line="75"/> 922 <location filename="installfrm.ui" line="75"/>
923 <source>Details</source> 923 <source>Details</source>
924 <translation>Détails</translation> 924 <translation>Détails</translation>
925 </message> 925 </message>
926 <message> 926 <message>
927 <location filename="installfrm.ui" line="81"/> 927 <location filename="installfrm.ui" line="81"/>
928 <source>Details about the selected version</source> 928 <source>Details about the selected version</source>
929 <translation>Détails à propos de la version sélectionnée</translation> 929 <translation>Détails à propos de la version sélectionnée</translation>
930 </message> 930 </message>
931 <message> 931 <message>
932 <location filename="installfrm.ui" line="91"/> 932 <location filename="installfrm.ui" line="91"/>
933 <source>Note</source> 933 <source>Note</source>
934 <translation>Note</translation> 934 <translation>Note</translation>
935 </message> 935 </message>
936 <message> 936 <message>
937 <location filename="installfrm.ui" line="104"/> 937 <location filename="installfrm.ui" line="104"/>
938 <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> 938 <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>
939 <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> 939 <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>
940 </message> 940 </message>
941 <message> 941 <message>
942 <location filename="installfrm.ui" line="107"/> 942 <location filename="installfrm.ui" line="107"/>
943 <source>&amp;Don&apos;t use locally cached copy</source> 943 <source>&amp;Don&apos;t use locally cached copy</source>
944 <translation>&amp;Ne pas utiliser la version en cache</translation> 944 <translation>&amp;Ne pas utiliser la version en cache</translation>
945 </message> 945 </message>
946 <message> 946 <message>
947 <location filename="installfrm.ui" line="152"/> 947 <location filename="installfrm.ui" line="152"/>
948 <source>&amp;Cancel</source> 948 <source>&amp;Cancel</source>
949 <translation>&amp;Annuler</translation> 949 <translation>&amp;Annuler</translation>
950 </message> 950 </message>
951 <message> 951 <message>
952 <location filename="installfrm.ui" line="142"/> 952 <location filename="installfrm.ui" line="142"/>
953 <source>&amp;Install</source> 953 <source>&amp;Install</source>
954 <translation>&amp;Installer</translation> 954 <translation>&amp;Installer</translation>
955 </message> 955 </message>
956</context> 956</context>
957<context> 957<context>
958 <name>InstallProgressFrm</name> 958 <name>InstallProgressFrm</name>
959 <message> 959 <message>
960 <location filename="installprogressfrm.ui" line="19"/> 960 <location filename="installprogressfrm.ui" line="19"/>
961 <source>Progress</source> 961 <source>Progress</source>
962 <translation>Avancement</translation> 962 <translation>Avancement</translation>
963 </message> 963 </message>
964 <message> 964 <message>
965 <location filename="installprogressfrm.ui" line="56"/> 965 <location filename="installprogressfrm.ui" line="56"/>
966 <source>&amp;Abort</source> 966 <source>&amp;Abort</source>
967 <translation>&amp;Annuler</translation> 967 <translation>&amp;Annuler</translation>
968 </message> 968 </message>
969</context> 969</context>
970<context> 970<context>
971 <name>InstallTalkFrm</name> 971 <name>InstallTalkFrm</name>
972 <message> 972 <message>
973 <location filename="installtalkfrm.ui" line="16"/> 973 <location filename="installtalkfrm.ui" line="16"/>
974 <source>Install Talk Files</source> 974 <source>Install Talk Files</source>
975 <translation>Installation des fichiers de voix</translation> 975 <translation>Installation des fichiers de voix</translation>
976 </message> 976 </message>
977 <message> 977 <message>
978 <location filename="installtalkfrm.ui" line="35"/> 978 <location filename="installtalkfrm.ui" line="35"/>
979 <source>Select the Folder to generate Talkfiles for.</source> 979 <source>Select the Folder to generate Talkfiles for.</source>
980 <translation>Sélectionnez le dossier pour lequel générer des fichiser de voix.</translation> 980 <translation>Sélectionnez le dossier pour lequel générer des fichiser de voix.</translation>
981 </message> 981 </message>
982 <message> 982 <message>
983 <location filename="installtalkfrm.ui" line="45"/> 983 <location filename="installtalkfrm.ui" line="45"/>
984 <source>&amp;Browse</source> 984 <source>&amp;Browse</source>
985 <translation>&amp;Parcourir</translation> 985 <translation>&amp;Parcourir</translation>
986 </message> 986 </message>
987 <message> 987 <message>
988 <location filename="installtalkfrm.ui" line="55"/> 988 <location filename="installtalkfrm.ui" line="55"/>
989 <source>Generation settings</source> 989 <source>Generation settings</source>
990 <translation>Paramètres de génération</translation> 990 <translation>Paramètres de génération</translation>
991 </message> 991 </message>
992 <message> 992 <message>
993 <location filename="installtalkfrm.ui" line="61"/> 993 <location filename="installtalkfrm.ui" line="61"/>
994 <source>Encoder profile:</source> 994 <source>Encoder profile:</source>
995 <translation>Profil d&apos;encodage :</translation> 995 <translation>Profil d&apos;encodage :</translation>
996 </message> 996 </message>
997 <message> 997 <message>
998 <location filename="installtalkfrm.ui" line="68"/> 998 <location filename="installtalkfrm.ui" line="68"/>
999 <source>TTS profile:</source> 999 <source>TTS profile:</source>
1000 <translation>Profil TTS :</translation> 1000 <translation>Profil TTS :</translation>
1001 </message> 1001 </message>
1002 <message> 1002 <message>
1003 <location filename="installtalkfrm.ui" line="104"/> 1003 <location filename="installtalkfrm.ui" line="104"/>
1004 <source>Generation options</source> 1004 <source>Generation options</source>
1005 <translation>Options de génération</translation> 1005 <translation>Options de génération</translation>
1006 </message> 1006 </message>
1007 <message> 1007 <message>
1008 <location filename="installtalkfrm.ui" line="110"/> 1008 <location filename="installtalkfrm.ui" line="110"/>
1009 <source>Overwrite Wavefiles</source> 1009 <source>Overwrite Wavefiles</source>
1010 <translation>Ecraser les fichiers WAV</translation> 1010 <translation>Ecraser les fichiers WAV</translation>
1011 </message> 1011 </message>
1012 <message> 1012 <message>
1013 <location filename="installtalkfrm.ui" line="120"/> 1013 <location filename="installtalkfrm.ui" line="120"/>
1014 <source>Remove Wavefiles</source> 1014 <source>Remove Wavefiles</source>
1015 <translation>Supprimer les fichiers WAV</translation> 1015 <translation>Supprimer les fichiers WAV</translation>
1016 </message> 1016 </message>
1017 <message> 1017 <message>
1018 <location filename="installtalkfrm.ui" line="130"/> 1018 <location filename="installtalkfrm.ui" line="130"/>
1019 <source>Run recursive</source> 1019 <source>Run recursive</source>
1020 <translation>Parcours récursif</translation> 1020 <translation>Parcours récursif</translation>
1021 </message> 1021 </message>
1022 <message> 1022 <message>
1023 <location filename="installtalkfrm.ui" line="140"/> 1023 <location filename="installtalkfrm.ui" line="140"/>
1024 <source>Strip Extensions</source> 1024 <source>Strip Extensions</source>
1025 <translation>Suppression des extensions</translation> 1025 <translation>Suppression des extensions</translation>
1026 </message> 1026 </message>
1027 <message> 1027 <message>
1028 <location filename="installtalkfrm.ui" line="150"/> 1028 <location filename="installtalkfrm.ui" line="150"/>
1029 <source>Overwrite Talkfiles</source> 1029 <source>Overwrite Talkfiles</source>
1030 <translation>Ecraser les fichiers de voix</translation> 1030 <translation>Ecraser les fichiers de voix</translation>
1031 </message> 1031 </message>
1032 <message> 1032 <message>
1033 <location filename="installtalkfrm.ui" line="224"/> 1033 <location filename="installtalkfrm.ui" line="224"/>
1034 <source>&amp;Cancel</source> 1034 <source>&amp;Cancel</source>
1035 <translation>&amp;Annuler</translation> 1035 <translation>&amp;Annuler</translation>
1036 </message> 1036 </message>
1037 <message> 1037 <message>
1038 <location filename="installtalkfrm.ui" line="214"/> 1038 <location filename="installtalkfrm.ui" line="214"/>
1039 <source>&amp;Install</source> 1039 <source>&amp;Install</source>
1040 <translation>&amp;Installer</translation> 1040 <translation>&amp;Installer</translation>
1041 </message> 1041 </message>
1042 <message> 1042 <message>
1043 <location filename="installtalkfrm.ui" line="81"/> 1043 <location filename="installtalkfrm.ui" line="81"/>
1044 <source>Change</source> 1044 <source>Change</source>
1045 <translation type="unfinished"></translation> 1045 <translation type="unfinished"></translation>
1046 </message> 1046 </message>
1047 <message> 1047 <message>
1048 <location filename="installtalkfrm.ui" line="160"/> 1048 <location filename="installtalkfrm.ui" line="160"/>
1049 <source>Generate .talk files for Folders</source> 1049 <source>Generate .talk files for Folders</source>
1050 <translation type="unfinished"></translation> 1050 <translation type="unfinished"></translation>
1051 </message> 1051 </message>
1052 <message> 1052 <message>
1053 <location filename="installtalkfrm.ui" line="170"/> 1053 <location filename="installtalkfrm.ui" line="170"/>
1054 <source>Generate .talk files for Files</source> 1054 <source>Generate .talk files for Files</source>
1055 <translation type="unfinished"></translation> 1055 <translation type="unfinished"></translation>
1056 </message> 1056 </message>
1057</context> 1057</context>
1058<context> 1058<context>
1059 <name>InstallTalkWindow</name> 1059 <name>InstallTalkWindow</name>
1060 <message> 1060 <message>
1061 <location filename="installtalkwindow.cpp" line="84"/> 1061 <location filename="installtalkwindow.cpp" line="84"/>
1062 <source>The Folder to Talk is wrong!</source> 1062 <source>The Folder to Talk is wrong!</source>
1063 <translation>Le dossier à dire est faux !</translation> 1063 <translation>Le dossier à dire est faux !</translation>
1064 </message> 1064 </message>
1065 <message> 1065 <message>
1066 <location filename="installtalkwindow.cpp" line="101"/> 1066 <location filename="installtalkwindow.cpp" line="101"/>
1067 <source>Path to Encoder is wrong!</source> 1067 <source>Path to Encoder is wrong!</source>
1068 <translation type="obsolete">Le chemin vers l&apos;encodeur est faux !</translation> 1068 <translation type="obsolete">Le chemin vers l&apos;encodeur est faux !</translation>
1069 </message> 1069 </message>
1070 <message> 1070 <message>
1071 <location filename="installtalkwindow.cpp" line="108"/> 1071 <location filename="installtalkwindow.cpp" line="108"/>
1072 <source>Path to TTS is wrong!</source> 1072 <source>Path to TTS is wrong!</source>
1073 <translation type="obsolete">Le chemin vers le TTS est faux !</translation> 1073 <translation type="obsolete">Le chemin vers le TTS est faux !</translation>
1074 </message> 1074 </message>
1075 <message> 1075 <message>
1076 <location filename="installtalkwindow.cpp" line="149"/> 1076 <location filename="installtalkwindow.cpp" line="149"/>
1077 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1077 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1078 <translation type="obsolete">Profil TTS : &lt;b&gt;%1&lt;/b&gt;</translation> 1078 <translation type="obsolete">Profil TTS : &lt;b&gt;%1&lt;/b&gt;</translation>
1079 </message> 1079 </message>
1080 <message> 1080 <message>
1081 <location filename="installtalkwindow.cpp" line="149"/> 1081 <location filename="installtalkwindow.cpp" line="149"/>
1082 <source>Invalid TTS profile!</source> 1082 <source>Invalid TTS profile!</source>
1083 <translation type="obsolete">Profil TTS invalide !</translation> 1083 <translation type="obsolete">Profil TTS invalide !</translation>
1084 </message> 1084 </message>
1085 <message> 1085 <message>
1086 <location filename="installtalkwindow.cpp" line="155"/> 1086 <location filename="installtalkwindow.cpp" line="155"/>
1087 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1087 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1088 <translation type="obsolete">Profil d&apos;encodage : &lt;b&gt;%1&lt;/b&gt;</translation> 1088 <translation type="obsolete">Profil d&apos;encodage : &lt;b&gt;%1&lt;/b&gt;</translation>
1089 </message> 1089 </message>
1090 <message> 1090 <message>
1091 <location filename="installtalkwindow.cpp" line="155"/> 1091 <location filename="installtalkwindow.cpp" line="155"/>
1092 <source>Invalid encoder profile!</source> 1092 <source>Invalid encoder profile!</source>
1093 <translation type="obsolete">Profil d&apos;encodage invalide !</translation> 1093 <translation type="obsolete">Profil d&apos;encodage invalide !</translation>
1094 </message> 1094 </message>
1095 <message> 1095 <message>
1096 <location filename="installtalkwindow.cpp" line="119"/> 1096 <location filename="installtalkwindow.cpp" line="119"/>
1097 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 1097 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
1098 <translation type="unfinished"></translation> 1098 <translation type="unfinished"></translation>
1099 </message> 1099 </message>
1100 <message> 1100 <message>
1101 <location filename="installtalkwindow.cpp" line="121"/> 1101 <location filename="installtalkwindow.cpp" line="121"/>
1102 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 1102 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
1103 <translation type="unfinished"></translation> 1103 <translation type="unfinished"></translation>
1104 </message> 1104 </message>
1105 <message> 1105 <message>
1106 <location filename="installtalkwindow.cpp" line="129"/> 1106 <location filename="installtalkwindow.cpp" line="129"/>
1107 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 1107 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
1108 <translation type="unfinished"></translation> 1108 <translation type="unfinished"></translation>
1109 </message> 1109 </message>
1110</context> 1110</context>
1111<context> 1111<context>
1112 <name>PreviewFrm</name> 1112 <name>PreviewFrm</name>
1113 <message> 1113 <message>
1114 <location filename="previewfrm.ui" line="16"/> 1114 <location filename="previewfrm.ui" line="16"/>
1115 <source>Preview</source> 1115 <source>Preview</source>
1116 <translation>Prévisualisation</translation> 1116 <translation>Prévisualisation</translation>
1117 </message> 1117 </message>
1118</context> 1118</context>
1119<context> 1119<context>
1120 <name>ProgressLoggerGui</name> 1120 <name>ProgressLoggerGui</name>
1121 <message> 1121 <message>
1122 <location filename="progressloggergui.cpp" line="79"/> 1122 <location filename="progressloggergui.cpp" line="79"/>
1123 <source>&amp;Ok</source> 1123 <source>&amp;Ok</source>
1124 <translation>&amp;OK</translation> 1124 <translation>&amp;OK</translation>
1125 </message> 1125 </message>
1126 <message> 1126 <message>
1127 <location filename="progressloggergui.cpp" line="89"/> 1127 <location filename="progressloggergui.cpp" line="89"/>
1128 <source>&amp;Abort</source> 1128 <source>&amp;Abort</source>
1129 <translation>&amp;Annuler</translation> 1129 <translation>&amp;Annuler</translation>
1130 </message> 1130 </message>
1131</context> 1131</context>
1132<context> 1132<context>
1133 <name>RbSpeexCfgFrm</name> 1133 <name>RbSpeexCfgFrm</name>
1134 <message> 1134 <message>
1135 <location filename="rbspeexcfgfrm.ui" line="13"/> 1135 <location filename="rbspeexcfgfrm.ui" line="13"/>
1136 <source>Configuration</source> 1136 <source>Configuration</source>
1137 <translation type="unfinished">Configuration</translation> 1137 <translation type="unfinished">Configuration</translation>
1138 </message> 1138 </message>
1139 <message> 1139 <message>
1140 <location filename="rbspeexcfgfrm.ui" line="19"/> 1140 <location filename="rbspeexcfgfrm.ui" line="19"/>
1141 <source>Configure RbSpeex Encoder</source> 1141 <source>Configure RbSpeex Encoder</source>
1142 <translation type="unfinished"></translation> 1142 <translation type="unfinished"></translation>
1143 </message> 1143 </message>
1144 <message> 1144 <message>
1145 <location filename="rbspeexcfgfrm.ui" line="38"/> 1145 <location filename="rbspeexcfgfrm.ui" line="38"/>
1146 <source>Volume</source> 1146 <source>Volume</source>
1147 <translation type="unfinished"></translation> 1147 <translation type="unfinished"></translation>
1148 </message> 1148 </message>
1149 <message> 1149 <message>
1150 <location filename="rbspeexcfgfrm.ui" line="45"/> 1150 <location filename="rbspeexcfgfrm.ui" line="45"/>
1151 <source>Narrowband</source> 1151 <source>Narrowband</source>
1152 <translation type="unfinished"></translation> 1152 <translation type="unfinished"></translation>
1153 </message> 1153 </message>
1154 <message> 1154 <message>
1155 <location filename="rbspeexcfgfrm.ui" line="68"/> 1155 <location filename="rbspeexcfgfrm.ui" line="68"/>
1156 <source>Quality</source> 1156 <source>Quality</source>
1157 <translation type="unfinished"></translation> 1157 <translation type="unfinished"></translation>
1158 </message> 1158 </message>
1159 <message> 1159 <message>
1160 <location filename="rbspeexcfgfrm.ui" line="85"/> 1160 <location filename="rbspeexcfgfrm.ui" line="85"/>
1161 <source>Complexity</source> 1161 <source>Complexity</source>
1162 <translation type="unfinished"></translation> 1162 <translation type="unfinished"></translation>
1163 </message> 1163 </message>
1164 <message> 1164 <message>
1165 <location filename="rbspeexcfgfrm.ui" line="115"/> 1165 <location filename="rbspeexcfgfrm.ui" line="115"/>
1166 <source>&amp;Ok</source> 1166 <source>&amp;Ok</source>
1167 <translation type="unfinished">&amp;OK</translation> 1167 <translation type="unfinished">&amp;OK</translation>
1168 </message> 1168 </message>
1169 <message> 1169 <message>
1170 <location filename="rbspeexcfgfrm.ui" line="125"/> 1170 <location filename="rbspeexcfgfrm.ui" line="125"/>
1171 <source>&amp;Cancel</source> 1171 <source>&amp;Cancel</source>
1172 <translation type="unfinished">&amp;Annuler</translation> 1172 <translation type="unfinished">&amp;Annuler</translation>
1173 </message> 1173 </message>
1174 <message> 1174 <message>
1175 <location filename="rbspeexcfgfrm.ui" line="95"/> 1175 <location filename="rbspeexcfgfrm.ui" line="95"/>
1176 <source>Reset</source> 1176 <source>Reset</source>
1177 <translation type="unfinished"></translation> 1177 <translation type="unfinished"></translation>
1178 </message> 1178 </message>
1179</context> 1179</context>
1180<context> 1180<context>
1181 <name>RbUtilQt</name> 1181 <name>RbUtilQt</name>
1182 <message> 1182 <message>
1183 <location filename="rbutilqt.cpp" line="78"/> 1183 <location filename="rbutilqt.cpp" line="78"/>
1184 <source>File</source> 1184 <source>File</source>
1185 <translation>Fichier</translation> 1185 <translation>Fichier</translation>
1186 </message> 1186 </message>
1187 <message> 1187 <message>
1188 <location filename="rbutilqt.cpp" line="78"/> 1188 <location filename="rbutilqt.cpp" line="78"/>
1189 <source>Version</source> 1189 <source>Version</source>
1190 <translation>Version</translation> 1190 <translation>Version</translation>
1191 </message> 1191 </message>
1192 <message> 1192 <message>
1193 <location filename="rbutilqt.cpp" line="210"/> 1193 <location filename="rbutilqt.cpp" line="210"/>
1194 <source>Network error: %1. Please check your network and proxy settings.</source> 1194 <source>Network error: %1. Please check your network and proxy settings.</source>
1195 <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation> 1195 <translation>Erreur réseau: %1. Veuillez vérifier vos paramètres réseau et proxy.</translation>
1196 </message> 1196 </message>
1197 <message> 1197 <message>
1198 <location filename="rbutilqt.cpp" line="305"/> 1198 <location filename="rbutilqt.cpp" line="305"/>
1199 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source> 1199 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
1200 <translation>&lt;b&gt;%1 %2&lt;/b&gt; sur &lt;b&gt;%3&lt;/b&gt;</translation> 1200 <translation>&lt;b&gt;%1 %2&lt;/b&gt; sur &lt;b&gt;%3&lt;/b&gt;</translation>
1201 </message> 1201 </message>
1202 <message> 1202 <message>
1203 <location filename="rbutilqt.cpp" line="325"/> 1203 <location filename="rbutilqt.cpp" line="325"/>
1204 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source> 1204 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
1205 <translation>&lt;a href=&apos;%1&apos;&gt;Manuel PDF&lt;/a&gt;</translation> 1205 <translation>&lt;a href=&apos;%1&apos;&gt;Manuel PDF&lt;/a&gt;</translation>
1206 </message> 1206 </message>
1207 <message> 1207 <message>
1208 <location filename="rbutilqt.cpp" line="327"/> 1208 <location filename="rbutilqt.cpp" line="327"/>
1209 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source> 1209 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
1210 <translation>&lt;a href=&apos;%1&apos;&gt;Manuel HTML (ouvre un navigateur)&lt;/a&gt;</translation> 1210 <translation>&lt;a href=&apos;%1&apos;&gt;Manuel HTML (ouvre un navigateur)&lt;/a&gt;</translation>
1211 </message> 1211 </message>
1212 <message> 1212 <message>
1213 <location filename="rbutilqt.cpp" line="330"/> 1213 <location filename="rbutilqt.cpp" line="330"/>
1214 <source>Select a device for a link to the correct manual</source> 1214 <source>Select a device for a link to the correct manual</source>
1215 <translation>Sélectionnez un périphérique pour obtenir un lien vers le manuel approprié</translation> 1215 <translation>Sélectionnez un périphérique pour obtenir un lien vers le manuel approprié</translation>
1216 </message> 1216 </message>
1217 <message> 1217 <message>
1218 <location filename="rbutilqt.cpp" line="332"/> 1218 <location filename="rbutilqt.cpp" line="332"/>
1219 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source> 1219 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
1220 <translation>&lt;a href=&apos;%1&apos;&gt;Tous les manuels&lt;/a&gt;</translation> 1220 <translation>&lt;a href=&apos;%1&apos;&gt;Tous les manuels&lt;/a&gt;</translation>
1221 </message> 1221 </message>
1222 <message> 1222 <message>
1223 <location filename="rbutilqt.cpp" line="695"/> 1223 <location filename="rbutilqt.cpp" line="695"/>
1224 <source>Confirm Installation</source> 1224 <source>Confirm Installation</source>
1225 <translation>Confirmation de l&apos;installation</translation> 1225 <translation>Confirmation de l&apos;installation</translation>
1226 </message> 1226 </message>
1227 <message> 1227 <message>
1228 <location filename="rbutilqt.cpp" line="341"/> 1228 <location filename="rbutilqt.cpp" line="341"/>
1229 <source>Do you really want to make a complete Installation?</source> 1229 <source>Do you really want to make a complete Installation?</source>
1230 <translation>Etes-vous sûr de vouloir faire une installation complète ?</translation> 1230 <translation>Etes-vous sûr de vouloir faire une installation complète ?</translation>
1231 </message> 1231 </message>
1232 <message> 1232 <message>
1233 <location filename="rbutilqt.cpp" line="877"/> 1233 <location filename="rbutilqt.cpp" line="877"/>
1234 <source>Mount point is wrong!</source> 1234 <source>Mount point is wrong!</source>
1235 <translation>Le point de montage est erroné !</translation> 1235 <translation>Le point de montage est erroné !</translation>
1236 </message> 1236 </message>
1237 <message> 1237 <message>
1238 <location filename="rbutilqt.cpp" line="393"/> 1238 <location filename="rbutilqt.cpp" line="393"/>
1239 <source>Do you really want to make a small Installation?</source> 1239 <source>Do you really want to make a small Installation?</source>
1240 <translation>Etes-vous sûr de vouloir faire une installation légère ?</translation> 1240 <translation>Etes-vous sûr de vouloir faire une installation légère ?</translation>
1241 </message> 1241 </message>
1242 <message> 1242 <message>
1243 <location filename="rbutilqt.cpp" line="533"/> 1243 <location filename="rbutilqt.cpp" line="533"/>
1244 <source>Do you really want to install the Bootloader?</source> 1244 <source>Do you really want to install the Bootloader?</source>
1245 <translation>Etes-vous sûr de vouloir installer le bootloader ?</translation> 1245 <translation>Etes-vous sûr de vouloir installer le bootloader ?</translation>
1246 </message> 1246 </message>
1247 <message> 1247 <message>
1248 <location filename="rbutilqt.cpp" line="800"/> 1248 <location filename="rbutilqt.cpp" line="800"/>
1249 <source>Could not get the bootloader info file!</source> 1249 <source>Could not get the bootloader info file!</source>
1250 <translation>Impossible de trouver le fichier d&apos;informations du bootloader !</translation> 1250 <translation>Impossible de trouver le fichier d&apos;informations du bootloader !</translation>
1251 </message> 1251 </message>
1252 <message> 1252 <message>
1253 <location filename="rbutilqt.cpp" line="568"/> 1253 <location filename="rbutilqt.cpp" line="568"/>
1254 <source>Bootloader Installation</source> 1254 <source>Bootloader Installation</source>
1255 <translation type="unfinished">Installation du bootloader annulée !</translation> 1255 <translation type="unfinished">Installation du bootloader annulée !</translation>
1256 </message> 1256 </message>
1257 <message> 1257 <message>
1258 <location filename="rbutilqt.cpp" line="561"/> 1258 <location filename="rbutilqt.cpp" line="561"/>
1259 <source>It seem your Bootloader is already uptodate. 1259 <source>It seem your Bootloader is already uptodate.
1260Do really want to install it?</source> 1260Do really want to install it?</source>
1261 <translation type="obsolete">Il semble que le bootloader soit déjà à jour. 1261 <translation type="obsolete">Il semble que le bootloader soit déjà à jour.
1262Voulez-vous vraiment l&apos;installer ?</translation> 1262Voulez-vous vraiment l&apos;installer ?</translation>
1263 </message> 1263 </message>
1264 <message> 1264 <message>
1265 <location filename="rbutilqt.cpp" line="593"/> 1265 <location filename="rbutilqt.cpp" line="593"/>
1266 <source>Original Firmware Path is wrong!</source> 1266 <source>Original Firmware Path is wrong!</source>
1267 <translation>Le chemin du firmware original est invalide !</translation> 1267 <translation>Le chemin du firmware original est invalide !</translation>
1268 </message> 1268 </message>
1269 <message> 1269 <message>
1270 <location filename="rbutilqt.cpp" line="606"/> 1270 <location filename="rbutilqt.cpp" line="606"/>
1271 <source>Original Firmware selection Canceled!</source> 1271 <source>Original Firmware selection Canceled!</source>
1272 <translation>Installation du firmware original annulée !</translation> 1272 <translation>Installation du firmware original annulée !</translation>
1273 </message> 1273 </message>
1274 <message> 1274 <message>
1275 <location filename="rbutilqt.cpp" line="621"/> 1275 <location filename="rbutilqt.cpp" line="621"/>
1276 <source>Do you really want to install the fonts package?</source> 1276 <source>Do you really want to install the fonts package?</source>
1277 <translation>Etes-vous sûr de vouloir installer le pack de polices de caractères ?</translation> 1277 <translation>Etes-vous sûr de vouloir installer le pack de polices de caractères ?</translation>
1278 </message> 1278 </message>
1279 <message> 1279 <message>
1280 <location filename="rbutilqt.cpp" line="656"/> 1280 <location filename="rbutilqt.cpp" line="656"/>
1281 <source>Do you really want to install the voice file?</source> 1281 <source>Do you really want to install the voice file?</source>
1282 <translation>Etes-vous sûr de vouloir installer le fichier de voix ?</translation> 1282 <translation>Etes-vous sûr de vouloir installer le fichier de voix ?</translation>
1283 </message> 1283 </message>
1284 <message> 1284 <message>
1285 <location filename="rbutilqt.cpp" line="696"/> 1285 <location filename="rbutilqt.cpp" line="696"/>
1286 <source>Do you really want to install the game addon files?</source> 1286 <source>Do you really want to install the game addon files?</source>
1287 <translation>Etes-vous sûr de vouloir installer les fichiers additionnels de jeu ?</translation> 1287 <translation>Etes-vous sûr de vouloir installer les fichiers additionnels de jeu ?</translation>
1288 </message> 1288 </message>
1289 <message> 1289 <message>
1290 <location filename="rbutilqt.cpp" line="782"/> 1290 <location filename="rbutilqt.cpp" line="782"/>
1291 <source>Confirm Uninstallation</source> 1291 <source>Confirm Uninstallation</source>
1292 <translation>Confirmation de la désinstallation</translation> 1292 <translation>Confirmation de la désinstallation</translation>
1293 </message> 1293 </message>
1294 <message> 1294 <message>
1295 <location filename="rbutilqt.cpp" line="783"/> 1295 <location filename="rbutilqt.cpp" line="783"/>
1296 <source>Do you really want to uninstall the Bootloader?</source> 1296 <source>Do you really want to uninstall the Bootloader?</source>
1297 <translation>Etes-vous sûr de vouloir désinstaller le bootloader ?</translation> 1297 <translation>Etes-vous sûr de vouloir désinstaller le bootloader ?</translation>
1298 </message> 1298 </message>
1299 <message> 1299 <message>
1300 <location filename="rbutilqt.cpp" line="813"/> 1300 <location filename="rbutilqt.cpp" line="813"/>
1301 <source>Confirm download</source> 1301 <source>Confirm download</source>
1302 <translation>Confirmation du téléchargement</translation> 1302 <translation>Confirmation du téléchargement</translation>
1303 </message> 1303 </message>
1304 <message> 1304 <message>
1305 <location filename="rbutilqt.cpp" line="815"/> 1305 <location filename="rbutilqt.cpp" line="815"/>
1306 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source> 1306 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
1307 <translation>Etes-vous sûr de vouloir télécharger le manuel ? Il sera sauvegardé dans le dossier racine de votre lecteur audio.</translation> 1307 <translation>Etes-vous sûr de vouloir télécharger le manuel ? Il sera sauvegardé dans le dossier racine de votre lecteur audio.</translation>
1308 </message> 1308 </message>
1309 <message> 1309 <message>
1310 <location filename="rbutilqt.cpp" line="863"/> 1310 <location filename="rbutilqt.cpp" line="863"/>
1311 <source>Confirm installation</source> 1311 <source>Confirm installation</source>
1312 <translation>Confirmation de l&apos;installation</translation> 1312 <translation>Confirmation de l&apos;installation</translation>
1313 </message> 1313 </message>
1314 <message> 1314 <message>
1315 <location filename="rbutilqt.cpp" line="865"/> 1315 <location filename="rbutilqt.cpp" line="865"/>
1316 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source> 1316 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
1317 <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> 1317 <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>
1318 </message> 1318 </message>
1319 <message> 1319 <message>
1320 <location filename="rbutilqt.cpp" line="873"/> 1320 <location filename="rbutilqt.cpp" line="873"/>
1321 <source>Installing Rockbox Utility</source> 1321 <source>Installing Rockbox Utility</source>
1322 <translation>Installation de l&apos;utilitaire Rockbox</translation> 1322 <translation>Installation de l&apos;utilitaire Rockbox</translation>
1323 </message> 1323 </message>
1324 <message> 1324 <message>
1325 <location filename="rbutilqt.cpp" line="887"/> 1325 <location filename="rbutilqt.cpp" line="887"/>
1326 <source>Error installing Rockbox Utility</source> 1326 <source>Error installing Rockbox Utility</source>
1327 <translation>Erreur pendant l&apos;installation de l&apos;utilitaire Rockbox</translation> 1327 <translation>Erreur pendant l&apos;installation de l&apos;utilitaire Rockbox</translation>
1328 </message> 1328 </message>
1329 <message> 1329 <message>
1330 <location filename="rbutilqt.cpp" line="891"/> 1330 <location filename="rbutilqt.cpp" line="891"/>
1331 <source>Installing user configuration</source> 1331 <source>Installing user configuration</source>
1332 <translation>Installation de la configuration utilisateur</translation> 1332 <translation>Installation de la configuration utilisateur</translation>
1333 </message> 1333 </message>
1334 <message> 1334 <message>
1335 <location filename="rbutilqt.cpp" line="893"/> 1335 <location filename="rbutilqt.cpp" line="893"/>
1336 <source>Error installing user configuration</source> 1336 <source>Error installing user configuration</source>
1337 <translation>Erreur pendant l&apos;installation de la configuration utilisateur</translation> 1337 <translation>Erreur pendant l&apos;installation de la configuration utilisateur</translation>
1338 </message> 1338 </message>
1339 <message> 1339 <message>
1340 <location filename="rbutilqt.cpp" line="897"/> 1340 <location filename="rbutilqt.cpp" line="897"/>
1341 <source>Successfully installed Rockbox Utility.</source> 1341 <source>Successfully installed Rockbox Utility.</source>
1342 <translation>Installation de l&apos;utilitaire Rockbox terminée avec succès.</translation> 1342 <translation>Installation de l&apos;utilitaire Rockbox terminée avec succès.</translation>
1343 </message> 1343 </message>
1344 <message> 1344 <message>
1345 <location filename="rbutilqt.cpp" line="573"/> 1345 <location filename="rbutilqt.cpp" line="573"/>
1346 <source>Bootloader installation Skipped!</source> 1346 <source>Bootloader installation Skipped!</source>
1347 <translation type="obsolete">Etape d&apos;instllation du bootloader sautée !</translation> 1347 <translation type="obsolete">Etape d&apos;instllation du bootloader sautée !</translation>
1348 </message> 1348 </message>
1349 <message> 1349 <message>
1350 <location filename="rbutilqt.cpp" line="1014"/> 1350 <location filename="rbutilqt.cpp" line="1014"/>
1351 <source>Configuration error</source> 1351 <source>Configuration error</source>
1352 <translation>Erreur de configuration</translation> 1352 <translation>Erreur de configuration</translation>
1353 </message> 1353 </message>
1354 <message> 1354 <message>
1355 <location filename="rbutilqt.cpp" line="187"/> 1355 <location filename="rbutilqt.cpp" line="187"/>
1356 <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> 1356 <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>
1357 <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> 1357 <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>
1358 </message> 1358 </message>
1359 <message> 1359 <message>
1360 <location filename="rbutilqt.cpp" line="691"/> 1360 <location filename="rbutilqt.cpp" line="691"/>
1361 <source>Error</source> 1361 <source>Error</source>
1362 <translation>Erreur</translation> 1362 <translation>Erreur</translation>
1363 </message> 1363 </message>
1364 <message> 1364 <message>
1365 <location filename="rbutilqt.cpp" line="691"/> 1365 <location filename="rbutilqt.cpp" line="691"/>
1366 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source> 1366 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
1367 <translation>Votre périphérique n&apos;a pas de le plugin Doom. Annulation.</translation> 1367 <translation>Votre périphérique n&apos;a pas de le plugin Doom. Annulation.</translation>
1368 </message> 1368 </message>
1369 <message> 1369 <message>
1370 <location filename="rbutilqt.cpp" line="1016"/> 1370 <location filename="rbutilqt.cpp" line="1016"/>
1371 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source> 1371 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
1372 <translation>Votre configuration est invalide. Veuillez vérifier que les valeurs sélectionnées sont correctes dans la fenêtre de configuration.</translation> 1372 <translation>Votre configuration est invalide. Veuillez vérifier que les valeurs sélectionnées sont correctes dans la fenêtre de configuration.</translation>
1373 </message> 1373 </message>
1374 <message> 1374 <message>
1375 <location filename="rbutilqt.cpp" line="570"/> 1375 <location filename="rbutilqt.cpp" line="570"/>
1376 <source>The bootloader is already installed and up to date. 1376 <source>The bootloader is already installed and up to date.
1377Do want to replace the current bootloader?</source> 1377Do want to replace the current bootloader?</source>
1378 <translation type="unfinished"></translation> 1378 <translation type="unfinished"></translation>
1379 </message> 1379 </message>
1380 <message> 1380 <message>
1381 <location filename="rbutilqt.cpp" line="574"/> 1381 <location filename="rbutilqt.cpp" line="574"/>
1382 <source>Bootloader installation skipped!</source> 1382 <source>Bootloader installation skipped!</source>
1383 <translation type="unfinished"></translation> 1383 <translation type="unfinished"></translation>
1384 </message> 1384 </message>
1385</context> 1385</context>
1386<context> 1386<context>
1387 <name>RbUtilQtFrm</name> 1387 <name>RbUtilQtFrm</name>
1388 <message> 1388 <message>
1389 <location filename="rbutilqtfrm.ui" line="13"/> 1389 <location filename="rbutilqtfrm.ui" line="13"/>
1390 <source>Rockbox Utility</source> 1390 <source>Rockbox Utility</source>
1391 <translation>Utilitaire Rockbox</translation> 1391 <translation>Utilitaire Rockbox</translation>
1392 </message> 1392 </message>
1393 <message> 1393 <message>
1394 <location filename="rbutilqtfrm.ui" line="78"/> 1394 <location filename="rbutilqtfrm.ui" line="78"/>
1395 <source>Device</source> 1395 <source>Device</source>
1396 <translation>Périphérique</translation> 1396 <translation>Périphérique</translation>
1397 </message> 1397 </message>
1398 <message> 1398 <message>
1399 <location filename="rbutilqtfrm.ui" line="90"/> 1399 <location filename="rbutilqtfrm.ui" line="90"/>
1400 <source>Selected device:</source> 1400 <source>Selected device:</source>
1401 <translation>Périphérique sélectionné :</translation> 1401 <translation>Périphérique sélectionné :</translation>
1402 </message> 1402 </message>
1403 <message> 1403 <message>
1404 <location filename="rbutilqtfrm.ui" line="97"/> 1404 <location filename="rbutilqtfrm.ui" line="97"/>
1405 <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; 1405 <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;
1406p, li { white-space: pre-wrap; } 1406p, li { white-space: pre-wrap; }
1407&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; 1407&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;
1408&lt;p 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> 1408&lt;p 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>
1409 <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; 1409 <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;
1410p, li { white-space: pre-wrap; } 1410p, li { white-space: pre-wrap; }
1411&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; 1411&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;
1412&lt;p 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> 1412&lt;p 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>
1413 </message> 1413 </message>
1414 <message> 1414 <message>
1415 <location filename="rbutilqtfrm.ui" line="120"/> 1415 <location filename="rbutilqtfrm.ui" line="120"/>
1416 <source>&amp;Change</source> 1416 <source>&amp;Change</source>
1417 <translation>&amp;Modifier</translation> 1417 <translation>&amp;Modifier</translation>
1418 </message> 1418 </message>
1419 <message> 1419 <message>
1420 <location filename="rbutilqtfrm.ui" line="137"/> 1420 <location filename="rbutilqtfrm.ui" line="137"/>
1421 <source>&amp;Quick Start</source> 1421 <source>&amp;Quick Start</source>
1422 <translation>&amp;Démarrage rapide</translation> 1422 <translation>&amp;Démarrage rapide</translation>
1423 </message> 1423 </message>
1424 <message> 1424 <message>
1425 <location filename="rbutilqtfrm.ui" line="140"/> 1425 <location filename="rbutilqtfrm.ui" line="140"/>
1426 <source>Welcome</source> 1426 <source>Welcome</source>
1427 <translation>Bienvenue</translation> 1427 <translation>Bienvenue</translation>
1428 </message> 1428 </message>
1429 <message> 1429 <message>
1430 <location filename="rbutilqtfrm.ui" line="176"/> 1430 <location filename="rbutilqtfrm.ui" line="176"/>
1431 <source>...</source> 1431 <source>...</source>
1432 <translation type="obsolete">...</translation> 1432 <translation type="obsolete">...</translation>
1433 </message> 1433 </message>
1434 <message> 1434 <message>
1435 <location filename="rbutilqtfrm.ui" line="162"/> 1435 <location filename="rbutilqtfrm.ui" line="162"/>
1436 <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; 1436 <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;
1437p, li { white-space: pre-wrap; } 1437p, li { white-space: pre-wrap; }
1438&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; 1438&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;
1439&lt;p 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; 1439&lt;p 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;
1440&lt;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> 1440&lt;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>
1441 <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; 1441 <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;
1442p, li { white-space: pre-wrap; } 1442p, li { white-space: pre-wrap; }
1443&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; 1443&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;
1444&lt;p 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; 1444&lt;p 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;
1445&lt;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> 1445&lt;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>
1446 </message> 1446 </message>
1447 <message> 1447 <message>
1448 <location filename="rbutilqtfrm.ui" line="192"/> 1448 <location filename="rbutilqtfrm.ui" line="192"/>
1449 <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; 1449 <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;
1450p, li { white-space: pre-wrap; } 1450p, li { white-space: pre-wrap; }
1451&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; 1451&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;
1452&lt;p 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; 1452&lt;p 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;
1453&lt;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> 1453&lt;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>
1454 <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; 1454 <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;
1455p, li { white-space: pre-wrap; } 1455p, li { white-space: pre-wrap; }
1456&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; 1456&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;
1457&lt;p 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; 1457&lt;p 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;
1458&lt;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> 1458&lt;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>
1459 </message> 1459 </message>
1460 <message> 1460 <message>
1461 <location filename="rbutilqtfrm.ui" line="236"/> 1461 <location filename="rbutilqtfrm.ui" line="236"/>
1462 <source>&amp;Installation</source> 1462 <source>&amp;Installation</source>
1463 <translation>&amp;Installation</translation> 1463 <translation>&amp;Installation</translation>
1464 </message> 1464 </message>
1465 <message> 1465 <message>
1466 <location filename="rbutilqtfrm.ui" line="239"/> 1466 <location filename="rbutilqtfrm.ui" line="239"/>
1467 <source>Basic Rockbox installation</source> 1467 <source>Basic Rockbox installation</source>
1468 <translation>Installation basique de Rockbox</translation> 1468 <translation>Installation basique de Rockbox</translation>
1469 </message> 1469 </message>
1470 <message> 1470 <message>
1471 <location filename="rbutilqtfrm.ui" line="969"/> 1471 <location filename="rbutilqtfrm.ui" line="969"/>
1472 <source>Install Bootloader</source> 1472 <source>Install Bootloader</source>
1473 <translation>Installation du bootloader</translation> 1473 <translation>Installation du bootloader</translation>
1474 </message> 1474 </message>
1475 <message> 1475 <message>
1476 <location filename="rbutilqtfrm.ui" line="261"/> 1476 <location filename="rbutilqtfrm.ui" line="261"/>
1477 <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; 1477 <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;
1478p, li { white-space: pre-wrap; } 1478p, li { white-space: pre-wrap; }
1479&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; 1479&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;
1480&lt;p 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; 1480&lt;p 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;
1481&lt;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> 1481&lt;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>
1482 <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; 1482 <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;
1483p, li { white-space: pre-wrap; } 1483p, li { white-space: pre-wrap; }
1484&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; 1484&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;
1485&lt;p 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; 1485&lt;p 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;
1486&lt;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> 1486&lt;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>
1487 </message> 1487 </message>
1488 <message> 1488 <message>
1489 <location filename="rbutilqtfrm.ui" line="977"/> 1489 <location filename="rbutilqtfrm.ui" line="977"/>
1490 <source>Install Rockbox</source> 1490 <source>Install Rockbox</source>
1491 <translation>Installer Rockbox</translation> 1491 <translation>Installer Rockbox</translation>
1492 </message> 1492 </message>
1493 <message> 1493 <message>
1494 <location filename="rbutilqtfrm.ui" line="294"/> 1494 <location filename="rbutilqtfrm.ui" line="294"/>
1495 <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; 1495 <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;
1496p, li { white-space: pre-wrap; } 1496p, li { white-space: pre-wrap; }
1497&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; 1497&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;
1498&lt;p 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> 1498&lt;p 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>
1499 <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; 1499 <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;
1500p, li { white-space: pre-wrap; } 1500p, li { white-space: pre-wrap; }
1501&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; 1501&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;
1502&lt;p 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> 1502&lt;p 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>
1503 </message> 1503 </message>
1504 <message> 1504 <message>
1505 <location filename="rbutilqtfrm.ui" line="340"/> 1505 <location filename="rbutilqtfrm.ui" line="340"/>
1506 <source>&amp;Extras</source> 1506 <source>&amp;Extras</source>
1507 <translation>&amp;Extras</translation> 1507 <translation>&amp;Extras</translation>
1508 </message> 1508 </message>
1509 <message> 1509 <message>
1510 <location filename="rbutilqtfrm.ui" line="343"/> 1510 <location filename="rbutilqtfrm.ui" line="343"/>
1511 <source>Install extras for Rockbox</source> 1511 <source>Install extras for Rockbox</source>
1512 <translation>Installer des extras pour Rockbox</translation> 1512 <translation>Installer des extras pour Rockbox</translation>
1513 </message> 1513 </message>
1514 <message> 1514 <message>
1515 <location filename="rbutilqtfrm.ui" line="349"/> 1515 <location filename="rbutilqtfrm.ui" line="349"/>
1516 <source>Install Fonts package</source> 1516 <source>Install Fonts package</source>
1517 <translation>Installer le pack des polices de caractères</translation> 1517 <translation>Installer le pack des polices de caractères</translation>
1518 </message> 1518 </message>
1519 <message> 1519 <message>
1520 <location filename="rbutilqtfrm.ui" line="365"/> 1520 <location filename="rbutilqtfrm.ui" line="365"/>
1521 <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; 1521 <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;
1522p, li { white-space: pre-wrap; } 1522p, li { white-space: pre-wrap; }
1523&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; 1523&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;
1524&lt;p 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; 1524&lt;p 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;
1525&lt;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> 1525&lt;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>
1526 <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; 1526 <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;
1527p, li { white-space: pre-wrap; } 1527p, li { white-space: pre-wrap; }
1528&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; 1528&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;
1529&lt;p 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; 1529&lt;p 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;
1530&lt;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> 1530&lt;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>
1531 </message> 1531 </message>
1532 <message> 1532 <message>
1533 <location filename="rbutilqtfrm.ui" line="379"/> 1533 <location filename="rbutilqtfrm.ui" line="379"/>
1534 <source>Install themes</source> 1534 <source>Install themes</source>
1535 <translation>Installer des thèmes</translation> 1535 <translation>Installer des thèmes</translation>
1536 </message> 1536 </message>
1537 <message> 1537 <message>
1538 <location filename="rbutilqtfrm.ui" line="395"/> 1538 <location filename="rbutilqtfrm.ui" line="395"/>
1539 <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; 1539 <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;
1540p, li { white-space: pre-wrap; } 1540p, li { white-space: pre-wrap; }
1541&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; 1541&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;
1542&lt;p 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; 1542&lt;p 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;
1543&lt;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> 1543&lt;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>
1544 <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; 1544 <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;
1545p, li { white-space: pre-wrap; } 1545p, li { white-space: pre-wrap; }
1546&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; 1546&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;
1547&lt;p 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; 1547&lt;p 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;
1548&lt;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> 1548&lt;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>
1549 </message> 1549 </message>
1550 <message> 1550 <message>
1551 <location filename="rbutilqtfrm.ui" line="409"/> 1551 <location filename="rbutilqtfrm.ui" line="409"/>
1552 <source>Install game files</source> 1552 <source>Install game files</source>
1553 <translation>Installer des fichier de jeu</translation> 1553 <translation>Installer des fichier de jeu</translation>
1554 </message> 1554 </message>
1555 <message> 1555 <message>
1556 <location filename="rbutilqtfrm.ui" line="425"/> 1556 <location filename="rbutilqtfrm.ui" line="425"/>
1557 <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; 1557 <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;
1558p, li { white-space: pre-wrap; } 1558p, li { white-space: pre-wrap; }
1559&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; 1559&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;
1560&lt;p 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; 1560&lt;p 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;
1561&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> 1561&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>
1562 <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; 1562 <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;
1563p, li { white-space: pre-wrap; } 1563p, li { white-space: pre-wrap; }
1564&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; 1564&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;
1565&lt;p 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; 1565&lt;p 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;
1566&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> 1566&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>
1567 </message> 1567 </message>
1568 <message> 1568 <message>
1569 <location filename="rbutilqtfrm.ui" line="466"/> 1569 <location filename="rbutilqtfrm.ui" line="466"/>
1570 <source>&amp;Accessibility</source> 1570 <source>&amp;Accessibility</source>
1571 <translation>&amp;Accessibilité</translation> 1571 <translation>&amp;Accessibilité</translation>
1572 </message> 1572 </message>
1573 <message> 1573 <message>
1574 <location filename="rbutilqtfrm.ui" line="469"/> 1574 <location filename="rbutilqtfrm.ui" line="469"/>
1575 <source>Install accessibility add-ons</source> 1575 <source>Install accessibility add-ons</source>
1576 <translation>Installer des add-ons pour l&apos;accessibilité</translation> 1576 <translation>Installer des add-ons pour l&apos;accessibilité</translation>
1577 </message> 1577 </message>
1578 <message> 1578 <message>
1579 <location filename="rbutilqtfrm.ui" line="475"/> 1579 <location filename="rbutilqtfrm.ui" line="475"/>
1580 <source>Install Voice files</source> 1580 <source>Install Voice files</source>
1581 <translation>Installer des fichiers de voix</translation> 1581 <translation>Installer des fichiers de voix</translation>
1582 </message> 1582 </message>
1583 <message> 1583 <message>
1584 <location filename="rbutilqtfrm.ui" line="491"/> 1584 <location filename="rbutilqtfrm.ui" line="491"/>
1585 <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; 1585 <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;
1586p, li { white-space: pre-wrap; } 1586p, li { white-space: pre-wrap; }
1587&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; 1587&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;
1588&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; 1588&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;
1589&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> 1589&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>
1590 <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; 1590 <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;
1591p, li { white-space: pre-wrap; } 1591p, li { white-space: pre-wrap; }
1592&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; 1592&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;
1593&lt;p 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; 1593&lt;p 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;
1594&lt;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> 1594&lt;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>
1595 </message> 1595 </message>
1596 <message> 1596 <message>
1597 <location filename="rbutilqtfrm.ui" line="505"/> 1597 <location filename="rbutilqtfrm.ui" line="505"/>
1598 <source>Install Talk files</source> 1598 <source>Install Talk files</source>
1599 <translation>Installer des fichiers de voix</translation> 1599 <translation>Installer des fichiers de voix</translation>
1600 </message> 1600 </message>
1601 <message> 1601 <message>
1602 <location filename="rbutilqtfrm.ui" line="521"/> 1602 <location filename="rbutilqtfrm.ui" line="521"/>
1603 <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; 1603 <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;
1604p, li { white-space: pre-wrap; } 1604p, li { white-space: pre-wrap; }
1605&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; 1605&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;
1606&lt;p 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; 1606&lt;p 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;
1607&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> 1607&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>
1608 <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; 1608 <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;
1609p, li { white-space: pre-wrap; } 1609p, li { white-space: pre-wrap; }
1610&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; 1610&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;
1611&lt;p 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; 1611&lt;p 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;
1612&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> 1612&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>
1613 </message> 1613 </message>
1614 <message> 1614 <message>
1615 <location filename="rbutilqtfrm.ui" line="587"/> 1615 <location filename="rbutilqtfrm.ui" line="587"/>
1616 <source>&amp;Uninstallation</source> 1616 <source>&amp;Uninstallation</source>
1617 <translation>&amp;Désinstallation</translation> 1617 <translation>&amp;Désinstallation</translation>
1618 </message> 1618 </message>
1619 <message> 1619 <message>
1620 <location filename="rbutilqtfrm.ui" line="1033"/> 1620 <location filename="rbutilqtfrm.ui" line="1033"/>
1621 <source>Uninstall Rockbox</source> 1621 <source>Uninstall Rockbox</source>
1622 <translation>Désinstaller Rockbox</translation> 1622 <translation>Désinstaller Rockbox</translation>
1623 </message> 1623 </message>
1624 <message> 1624 <message>
1625 <location filename="rbutilqtfrm.ui" line="596"/> 1625 <location filename="rbutilqtfrm.ui" line="596"/>
1626 <source>Uninstall Bootloader</source> 1626 <source>Uninstall Bootloader</source>
1627 <translation>Désinstaller le bootloader</translation> 1627 <translation>Désinstaller le bootloader</translation>
1628 </message> 1628 </message>
1629 <message> 1629 <message>
1630 <location filename="rbutilqtfrm.ui" line="612"/> 1630 <location filename="rbutilqtfrm.ui" line="612"/>
1631 <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; 1631 <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;
1632p, li { white-space: pre-wrap; } 1632p, li { white-space: pre-wrap; }
1633&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; 1633&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;
1634&lt;p 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; 1634&lt;p 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;
1635&lt;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> 1635&lt;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>
1636 <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; 1636 <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;
1637p, li { white-space: pre-wrap; } 1637p, li { white-space: pre-wrap; }
1638&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; 1638&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;
1639&lt;p 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; 1639&lt;p 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;
1640&lt;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> 1640&lt;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>
1641 </message> 1641 </message>
1642 <message> 1642 <message>
1643 <location filename="rbutilqtfrm.ui" line="642"/> 1643 <location filename="rbutilqtfrm.ui" line="642"/>
1644 <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; 1644 <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;
1645p, li { white-space: pre-wrap; } 1645p, li { white-space: pre-wrap; }
1646&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; 1646&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;
1647&lt;p 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; 1647&lt;p 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;
1648&lt;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> 1648&lt;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>
1649 <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; 1649 <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;
1650p, li { white-space: pre-wrap; } 1650p, li { white-space: pre-wrap; }
1651&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; 1651&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;
1652&lt;p 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; 1652&lt;p 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;
1653&lt;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> 1653&lt;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>
1654 </message> 1654 </message>
1655 <message> 1655 <message>
1656 <location filename="rbutilqtfrm.ui" line="689"/> 1656 <location filename="rbutilqtfrm.ui" line="689"/>
1657 <source>&amp;Manual</source> 1657 <source>&amp;Manual</source>
1658 <translation>&amp;Manuel</translation> 1658 <translation>&amp;Manuel</translation>
1659 </message> 1659 </message>
1660 <message> 1660 <message>
1661 <location filename="rbutilqtfrm.ui" line="692"/> 1661 <location filename="rbutilqtfrm.ui" line="692"/>
1662 <source>View and download the manual</source> 1662 <source>View and download the manual</source>
1663 <translation>Voir et télécharger le manuel</translation> 1663 <translation>Voir et télécharger le manuel</translation>
1664 </message> 1664 </message>
1665 <message> 1665 <message>
1666 <location filename="rbutilqtfrm.ui" line="698"/> 1666 <location filename="rbutilqtfrm.ui" line="698"/>
1667 <source>Read the manual</source> 1667 <source>Read the manual</source>
1668 <translation>Lire le manuel</translation> 1668 <translation>Lire le manuel</translation>
1669 </message> 1669 </message>
1670 <message> 1670 <message>
1671 <location filename="rbutilqtfrm.ui" line="704"/> 1671 <location filename="rbutilqtfrm.ui" line="704"/>
1672 <source>PDF manual</source> 1672 <source>PDF manual</source>
1673 <translation>Manuel PDF</translation> 1673 <translation>Manuel PDF</translation>
1674 </message> 1674 </message>
1675 <message> 1675 <message>
1676 <location filename="rbutilqtfrm.ui" line="717"/> 1676 <location filename="rbutilqtfrm.ui" line="717"/>
1677 <source>HTML manual</source> 1677 <source>HTML manual</source>
1678 <translation>Manuel HTML</translation> 1678 <translation>Manuel HTML</translation>
1679 </message> 1679 </message>
1680 <message> 1680 <message>
1681 <location filename="rbutilqtfrm.ui" line="733"/> 1681 <location filename="rbutilqtfrm.ui" line="733"/>
1682 <source>Download the manual</source> 1682 <source>Download the manual</source>
1683 <translation>Télécharger le manuel</translation> 1683 <translation>Télécharger le manuel</translation>
1684 </message> 1684 </message>
1685 <message> 1685 <message>
1686 <location filename="rbutilqtfrm.ui" line="741"/> 1686 <location filename="rbutilqtfrm.ui" line="741"/>
1687 <source>&amp;PDF version</source> 1687 <source>&amp;PDF version</source>
1688 <translation>Version &amp;PDF</translation> 1688 <translation>Version &amp;PDF</translation>
1689 </message> 1689 </message>
1690 <message> 1690 <message>
1691 <location filename="rbutilqtfrm.ui" line="748"/> 1691 <location filename="rbutilqtfrm.ui" line="748"/>
1692 <source>&amp;HTML version (zip file)</source> 1692 <source>&amp;HTML version (zip file)</source>
1693 <translation>Version &amp;HTML (fichier zip)</translation> 1693 <translation>Version &amp;HTML (fichier zip)</translation>
1694 </message> 1694 </message>
1695 <message> 1695 <message>
1696 <location filename="rbutilqtfrm.ui" line="770"/> 1696 <location filename="rbutilqtfrm.ui" line="770"/>
1697 <source>Down&amp;load</source> 1697 <source>Down&amp;load</source>
1698 <translation>Télé&amp;charger</translation> 1698 <translation>Télé&amp;charger</translation>
1699 </message> 1699 </message>
1700 <message> 1700 <message>
1701 <location filename="rbutilqtfrm.ui" line="794"/> 1701 <location filename="rbutilqtfrm.ui" line="794"/>
1702 <source>Inf&amp;o</source> 1702 <source>Inf&amp;o</source>
1703 <translation>Inf&amp;o</translation> 1703 <translation>Inf&amp;o</translation>
1704 </message> 1704 </message>
1705 <message> 1705 <message>
1706 <location filename="rbutilqtfrm.ui" line="800"/> 1706 <location filename="rbutilqtfrm.ui" line="800"/>
1707 <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; 1707 <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;
1708p, li { white-space: pre-wrap; } 1708p, li { white-space: pre-wrap; }
1709&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; 1709&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;
1710&lt;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; 1710&lt;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;
1711&lt;p 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> 1711&lt;p 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>
1712 <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; 1712 <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;
1713p, li { white-space: pre-wrap; } 1713p, li { white-space: pre-wrap; }
1714&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; 1714&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;
1715&lt;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; 1715&lt;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;
1716&lt;p 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> 1716&lt;p 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>
1717 </message> 1717 </message>
1718 <message> 1718 <message>
1719 <location filename="rbutilqtfrm.ui" line="815"/> 1719 <location filename="rbutilqtfrm.ui" line="815"/>
1720 <source>1</source> 1720 <source>1</source>
1721 <translation>1</translation> 1721 <translation>1</translation>
1722 </message> 1722 </message>
1723 <message> 1723 <message>
1724 <location filename="rbutilqtfrm.ui" line="837"/> 1724 <location filename="rbutilqtfrm.ui" line="837"/>
1725 <source>&amp;File</source> 1725 <source>&amp;File</source>
1726 <translation>&amp;Fichier</translation> 1726 <translation>&amp;Fichier</translation>
1727 </message> 1727 </message>
1728 <message> 1728 <message>
1729 <location filename="rbutilqtfrm.ui" line="930"/> 1729 <location filename="rbutilqtfrm.ui" line="930"/>
1730 <source>&amp;About</source> 1730 <source>&amp;About</source>
1731 <translation>&amp;A propos</translation> 1731 <translation>&amp;A propos</translation>
1732 </message> 1732 </message>
1733 <message> 1733 <message>
1734 <location filename="rbutilqtfrm.ui" line="907"/> 1734 <location filename="rbutilqtfrm.ui" line="907"/>
1735 <source>Empty local download cache</source> 1735 <source>Empty local download cache</source>
1736 <translation>Vider le cache local de téléchargement</translation> 1736 <translation>Vider le cache local de téléchargement</translation>
1737 </message> 1737 </message>
1738 <message> 1738 <message>
1739 <location filename="rbutilqtfrm.ui" line="912"/> 1739 <location filename="rbutilqtfrm.ui" line="912"/>
1740 <source>Install Rockbox Utility on player</source> 1740 <source>Install Rockbox Utility on player</source>
1741 <translation>Installer l&apos;utilitaire Rockbox sur le lecteur</translation> 1741 <translation>Installer l&apos;utilitaire Rockbox sur le lecteur</translation>
1742 </message> 1742 </message>
1743 <message> 1743 <message>
1744 <location filename="rbutilqtfrm.ui" line="917"/> 1744 <location filename="rbutilqtfrm.ui" line="917"/>
1745 <source>&amp;Configure</source> 1745 <source>&amp;Configure</source>
1746 <translation>&amp;Configuration</translation> 1746 <translation>&amp;Configuration</translation>
1747 </message> 1747 </message>
1748 <message> 1748 <message>
1749 <location filename="rbutilqtfrm.ui" line="922"/> 1749 <location filename="rbutilqtfrm.ui" line="922"/>
1750 <source>E&amp;xit</source> 1750 <source>E&amp;xit</source>
1751 <translation>&amp;Quitter</translation> 1751 <translation>&amp;Quitter</translation>
1752 </message> 1752 </message>
1753 <message> 1753 <message>
1754 <location filename="rbutilqtfrm.ui" line="925"/> 1754 <location filename="rbutilqtfrm.ui" line="925"/>
1755 <source>Ctrl+Q</source> 1755 <source>Ctrl+Q</source>
1756 <translation>Ctrl+Q</translation> 1756 <translation>Ctrl+Q</translation>
1757 </message> 1757 </message>
1758 <message> 1758 <message>
1759 <location filename="rbutilqtfrm.ui" line="935"/> 1759 <location filename="rbutilqtfrm.ui" line="935"/>
1760 <source>About &amp;Qt</source> 1760 <source>About &amp;Qt</source>
1761 <translation>A propos de &amp;Qt</translation> 1761 <translation>A propos de &amp;Qt</translation>
1762 </message> 1762 </message>
1763 <message> 1763 <message>
1764 <location filename="rbutilqtfrm.ui" line="940"/> 1764 <location filename="rbutilqtfrm.ui" line="940"/>
1765 <source>&amp;Help</source> 1765 <source>&amp;Help</source>
1766 <translation>&amp;Aide</translation> 1766 <translation>&amp;Aide</translation>
1767 </message> 1767 </message>
1768 <message> 1768 <message>
1769 <location filename="rbutilqtfrm.ui" line="953"/> 1769 <location filename="rbutilqtfrm.ui" line="953"/>
1770 <source>Complete Installation</source> 1770 <source>Complete Installation</source>
1771 <translation type="unfinished"></translation> 1771 <translation type="unfinished"></translation>
1772 </message> 1772 </message>
1773 <message> 1773 <message>
1774 <location filename="rbutilqtfrm.ui" line="961"/> 1774 <location filename="rbutilqtfrm.ui" line="961"/>
1775 <source>Small Installation</source> 1775 <source>Small Installation</source>
1776 <translation type="unfinished"></translation> 1776 <translation type="unfinished"></translation>
1777 </message> 1777 </message>
1778 <message> 1778 <message>
1779 <location filename="rbutilqtfrm.ui" line="855"/> 1779 <location filename="rbutilqtfrm.ui" line="855"/>
1780 <source>Action&amp;s</source> 1780 <source>Action&amp;s</source>
1781 <translation type="unfinished"></translation> 1781 <translation type="unfinished"></translation>
1782 </message> 1782 </message>
1783 <message> 1783 <message>
1784 <location filename="rbutilqtfrm.ui" line="859"/> 1784 <location filename="rbutilqtfrm.ui" line="859"/>
1785 <source>Installation</source> 1785 <source>Installation</source>
1786 <translation type="unfinished"></translation> 1786 <translation type="unfinished"></translation>
1787 </message> 1787 </message>
1788 <message> 1788 <message>
1789 <location filename="rbutilqtfrm.ui" line="866"/> 1789 <location filename="rbutilqtfrm.ui" line="866"/>
1790 <source>Quick Start</source> 1790 <source>Quick Start</source>
1791 <translation type="unfinished"></translation> 1791 <translation type="unfinished"></translation>
1792 </message> 1792 </message>
1793 <message> 1793 <message>
1794 <location filename="rbutilqtfrm.ui" line="873"/> 1794 <location filename="rbutilqtfrm.ui" line="873"/>
1795 <source>Extras</source> 1795 <source>Extras</source>
1796 <translation type="unfinished"></translation> 1796 <translation type="unfinished"></translation>
1797 </message> 1797 </message>
1798 <message> 1798 <message>
1799 <location filename="rbutilqtfrm.ui" line="881"/> 1799 <location filename="rbutilqtfrm.ui" line="881"/>
1800 <source>Accessibility</source> 1800 <source>Accessibility</source>
1801 <translation type="unfinished"></translation> 1801 <translation type="unfinished"></translation>
1802 </message> 1802 </message>
1803 <message> 1803 <message>
1804 <location filename="rbutilqtfrm.ui" line="889"/> 1804 <location filename="rbutilqtfrm.ui" line="889"/>
1805 <source>Uninstallation</source> 1805 <source>Uninstallation</source>
1806 <translation type="unfinished"></translation> 1806 <translation type="unfinished"></translation>
1807 </message> 1807 </message>
1808 <message> 1808 <message>
1809 <location filename="rbutilqtfrm.ui" line="945"/> 1809 <location filename="rbutilqtfrm.ui" line="945"/>
1810 <source>Info</source> 1810 <source>Info</source>
1811 <translation type="unfinished"></translation> 1811 <translation type="unfinished"></translation>
1812 </message> 1812 </message>
1813 <message> 1813 <message>
1814 <location filename="rbutilqtfrm.ui" line="985"/> 1814 <location filename="rbutilqtfrm.ui" line="985"/>
1815 <source>Fonts Package</source> 1815 <source>Fonts Package</source>
1816 <translation type="unfinished"></translation> 1816 <translation type="unfinished"></translation>
1817 </message> 1817 </message>
1818 <message> 1818 <message>
1819 <location filename="rbutilqtfrm.ui" line="993"/> 1819 <location filename="rbutilqtfrm.ui" line="993"/>
1820 <source>Install Themes</source> 1820 <source>Install Themes</source>
1821 <translation type="unfinished"></translation> 1821 <translation type="unfinished"></translation>
1822 </message> 1822 </message>
1823 <message> 1823 <message>
1824 <location filename="rbutilqtfrm.ui" line="1001"/> 1824 <location filename="rbutilqtfrm.ui" line="1001"/>
1825 <source>Install Game Files</source> 1825 <source>Install Game Files</source>
1826 <translation type="unfinished"></translation> 1826 <translation type="unfinished"></translation>
1827 </message> 1827 </message>
1828 <message> 1828 <message>
1829 <location filename="rbutilqtfrm.ui" line="1009"/> 1829 <location filename="rbutilqtfrm.ui" line="1009"/>
1830 <source>Install Voice File</source> 1830 <source>Install Voice File</source>
1831 <translation type="unfinished"></translation> 1831 <translation type="unfinished"></translation>
1832 </message> 1832 </message>
1833 <message> 1833 <message>
1834 <location filename="rbutilqtfrm.ui" line="1017"/> 1834 <location filename="rbutilqtfrm.ui" line="1017"/>
1835 <source>Create Talk Files</source> 1835 <source>Create Talk Files</source>
1836 <translation type="unfinished"></translation> 1836 <translation type="unfinished"></translation>
1837 </message> 1837 </message>
1838 <message> 1838 <message>
1839 <location filename="rbutilqtfrm.ui" line="1025"/> 1839 <location filename="rbutilqtfrm.ui" line="1025"/>
1840 <source>Remove bootloader</source> 1840 <source>Remove bootloader</source>
1841 <translation type="unfinished"></translation> 1841 <translation type="unfinished"></translation>
1842 </message> 1842 </message>
1843 <message> 1843 <message>
1844 <location filename="rbutilqtfrm.ui" line="1038"/> 1844 <location filename="rbutilqtfrm.ui" line="1038"/>
1845 <source>Read PDF manual</source> 1845 <source>Read PDF manual</source>
1846 <translation type="unfinished"></translation> 1846 <translation type="unfinished"></translation>
1847 </message> 1847 </message>
1848 <message> 1848 <message>
1849 <location filename="rbutilqtfrm.ui" line="1043"/> 1849 <location filename="rbutilqtfrm.ui" line="1043"/>
1850 <source>Read HTML manual</source> 1850 <source>Read HTML manual</source>
1851 <translation type="unfinished"></translation> 1851 <translation type="unfinished"></translation>
1852 </message> 1852 </message>
1853 <message> 1853 <message>
1854 <location filename="rbutilqtfrm.ui" line="1048"/> 1854 <location filename="rbutilqtfrm.ui" line="1048"/>
1855 <source>Download PDF manual</source> 1855 <source>Download PDF manual</source>
1856 <translation type="unfinished"></translation> 1856 <translation type="unfinished"></translation>
1857 </message> 1857 </message>
1858 <message> 1858 <message>
1859 <location filename="rbutilqtfrm.ui" line="1053"/> 1859 <location filename="rbutilqtfrm.ui" line="1053"/>
1860 <source>Download HTML manual (zip)</source> 1860 <source>Download HTML manual (zip)</source>
1861 <translation type="unfinished"></translation> 1861 <translation type="unfinished"></translation>
1862 </message> 1862 </message>
1863 <message> 1863 <message>
1864 <location filename="rbutilqtfrm.ui" line="558"/> 1864 <location filename="rbutilqtfrm.ui" line="558"/>
1865 <source>Create Voice files</source> 1865 <source>Create Voice files</source>
1866 <translation type="unfinished"></translation> 1866 <translation type="unfinished"></translation>
1867 </message> 1867 </message>
1868 <message> 1868 <message>
1869 <location filename="rbutilqtfrm.ui" line="574"/> 1869 <location filename="rbutilqtfrm.ui" line="574"/>
1870 <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; 1870 <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;
1871p, li { white-space: pre-wrap; } 1871p, li { white-space: pre-wrap; }
1872&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; 1872&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;
1873&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; 1873&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;
1874&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; 1874&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;
1875&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> 1875&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>
1876 <translation type="unfinished"></translation> 1876 <translation type="unfinished"></translation>
1877 </message> 1877 </message>
1878 <message> 1878 <message>
1879 <location filename="rbutilqtfrm.ui" line="1061"/> 1879 <location filename="rbutilqtfrm.ui" line="1061"/>
1880 <source>Create Voice File</source> 1880 <source>Create Voice File</source>
1881 <translation type="unfinished"></translation> 1881 <translation type="unfinished"></translation>
1882 </message> 1882 </message>
1883 <message> 1883 <message>
1884 <location filename="rbutilqtfrm.ui" line="1064"/> 1884 <location filename="rbutilqtfrm.ui" line="1064"/>
1885 <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; 1885 <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;
1886e File</source> 1886e File</source>
1887 <translation type="unfinished"></translation> 1887 <translation type="unfinished"></translation>
1888 </message> 1888 </message>
1889</context> 1889</context>
1890<context> 1890<context>
1891 <name>SapiCfgFrm</name> 1891 <name>SapiCfgFrm</name>
1892 <message> 1892 <message>
1893 <location filename="sapicfgfrm.ui" line="13"/> 1893 <location filename="sapicfgfrm.ui" line="13"/>
1894 <source>Configuration</source> 1894 <source>Configuration</source>
1895 <translation type="unfinished">Configuration</translation> 1895 <translation type="unfinished">Configuration</translation>
1896 </message> 1896 </message>
1897 <message> 1897 <message>
1898 <location filename="sapicfgfrm.ui" line="19"/> 1898 <location filename="sapicfgfrm.ui" line="19"/>
1899 <source>Configure TTS Engine</source> 1899 <source>Configure TTS Engine</source>
1900 <translation type="unfinished"></translation> 1900 <translation type="unfinished"></translation>
1901 </message> 1901 </message>
1902 <message> 1902 <message>
1903 <location filename="sapicfgfrm.ui" line="62"/> 1903 <location filename="sapicfgfrm.ui" line="62"/>
1904 <source>TTS options</source> 1904 <source>TTS options</source>
1905 <translation type="unfinished"></translation> 1905 <translation type="unfinished"></translation>
1906 </message> 1906 </message>
1907 <message> 1907 <message>
1908 <location filename="sapicfgfrm.ui" line="25"/> 1908 <location filename="sapicfgfrm.ui" line="25"/>
1909 <source>Language</source> 1909 <source>Language</source>
1910 <translation type="unfinished"></translation> 1910 <translation type="unfinished"></translation>
1911 </message> 1911 </message>
1912 <message> 1912 <message>
1913 <location filename="sapicfgfrm.ui" line="87"/> 1913 <location filename="sapicfgfrm.ui" line="87"/>
1914 <source>Reset</source> 1914 <source>Reset</source>
1915 <translation type="unfinished"></translation> 1915 <translation type="unfinished"></translation>
1916 </message> 1916 </message>
1917 <message> 1917 <message>
1918 <location filename="sapicfgfrm.ui" line="107"/> 1918 <location filename="sapicfgfrm.ui" line="107"/>
1919 <source>&amp;Ok</source> 1919 <source>&amp;Ok</source>
1920 <translation type="unfinished">&amp;OK</translation> 1920 <translation type="unfinished">&amp;OK</translation>
1921 </message> 1921 </message>
1922 <message> 1922 <message>
1923 <location filename="sapicfgfrm.ui" line="117"/> 1923 <location filename="sapicfgfrm.ui" line="117"/>
1924 <source>&amp;Cancel</source> 1924 <source>&amp;Cancel</source>
1925 <translation type="unfinished">&amp;Annuler</translation> 1925 <translation type="unfinished">&amp;Annuler</translation>
1926 </message> 1926 </message>
1927 <message> 1927 <message>
1928 <location filename="sapicfgfrm.ui" line="35"/> 1928 <location filename="sapicfgfrm.ui" line="35"/>
1929 <source>Voice</source> 1929 <source>Voice</source>
1930 <translation type="unfinished"></translation> 1930 <translation type="unfinished"></translation>
1931 </message> 1931 </message>
1932 <message> 1932 <message>
1933 <location filename="sapicfgfrm.ui" line="45"/> 1933 <location filename="sapicfgfrm.ui" line="45"/>
1934 <source>Speed</source> 1934 <source>Speed</source>
1935 <translation type="unfinished"></translation> 1935 <translation type="unfinished"></translation>
1936 </message> 1936 </message>
1937</context> 1937</context>
1938<context> 1938<context>
1939 <name>TTSExes</name> 1939 <name>TTSExes</name>
1940 <message> 1940 <message>
1941 <location filename="tts.cpp" line="123"/> 1941 <location filename="tts.cpp" line="123"/>
1942 <source>TTS executable not found</source> 1942 <source>TTS executable not found</source>
1943 <translation type="unfinished"></translation> 1943 <translation type="unfinished"></translation>
1944 </message> 1944 </message>
1945</context> 1945</context>
1946<context> 1946<context>
1947 <name>TTSExesCfgFrm</name> 1947 <name>TTSExesCfgFrm</name>
1948 <message> 1948 <message>
1949 <location filename="ttsexescfgfrm.ui" line="13"/> 1949 <location filename="ttsexescfgfrm.ui" line="13"/>
1950 <source>Configuration</source> 1950 <source>Configuration</source>
1951 <translation type="unfinished">Configuration</translation> 1951 <translation type="unfinished">Configuration</translation>
1952 </message> 1952 </message>
1953 <message> 1953 <message>
1954 <location filename="ttsexescfgfrm.ui" line="19"/> 1954 <location filename="ttsexescfgfrm.ui" line="19"/>
1955 <source>Configure TTS Engine</source> 1955 <source>Configure TTS Engine</source>
1956 <translation type="unfinished"></translation> 1956 <translation type="unfinished"></translation>
1957 </message> 1957 </message>
1958 <message> 1958 <message>
1959 <location filename="ttsexescfgfrm.ui" line="31"/> 1959 <location filename="ttsexescfgfrm.ui" line="31"/>
1960 <source>Path to TTS Engine</source> 1960 <source>Path to TTS Engine</source>
1961 <translation type="unfinished"></translation> 1961 <translation type="unfinished"></translation>
1962 </message> 1962 </message>
1963 <message> 1963 <message>
1964 <location filename="ttsexescfgfrm.ui" line="43"/> 1964 <location filename="ttsexescfgfrm.ui" line="43"/>
1965 <source>&amp;Browse</source> 1965 <source>&amp;Browse</source>
1966 <translation type="unfinished">&amp;Parcourir</translation> 1966 <translation type="unfinished">&amp;Parcourir</translation>
1967 </message> 1967 </message>
1968 <message> 1968 <message>
1969 <location filename="ttsexescfgfrm.ui" line="52"/> 1969 <location filename="ttsexescfgfrm.ui" line="52"/>
1970 <source>TTS options</source> 1970 <source>TTS options</source>
1971 <translation type="unfinished"></translation> 1971 <translation type="unfinished"></translation>
1972 </message> 1972 </message>
1973 <message> 1973 <message>
1974 <location filename="ttsexescfgfrm.ui" line="77"/> 1974 <location filename="ttsexescfgfrm.ui" line="77"/>
1975 <source>Reset</source> 1975 <source>Reset</source>
1976 <translation type="unfinished"></translation> 1976 <translation type="unfinished"></translation>
1977 </message> 1977 </message>
1978 <message> 1978 <message>
1979 <location filename="ttsexescfgfrm.ui" line="97"/> 1979 <location filename="ttsexescfgfrm.ui" line="97"/>
1980 <source>&amp;Ok</source> 1980 <source>&amp;Ok</source>
1981 <translation type="unfinished">&amp;OK</translation> 1981 <translation type="unfinished">&amp;OK</translation>
1982 </message> 1982 </message>
1983 <message> 1983 <message>
1984 <location filename="ttsexescfgfrm.ui" line="107"/> 1984 <location filename="ttsexescfgfrm.ui" line="107"/>
1985 <source>&amp;Cancel</source> 1985 <source>&amp;Cancel</source>
1986 <translation type="unfinished">&amp;Annuler</translation> 1986 <translation type="unfinished">&amp;Annuler</translation>
1987 </message> 1987 </message>
1988</context> 1988</context>
1989<context> 1989<context>
1990 <name>TTSSapi</name> 1990 <name>TTSSapi</name>
1991 <message> 1991 <message>
1992 <location filename="tts.cpp" line="274"/> 1992 <location filename="tts.cpp" line="274"/>
1993 <source>Could not copy the Sapi-script</source> 1993 <source>Could not copy the Sapi-script</source>
1994 <translation type="unfinished"></translation> 1994 <translation type="unfinished"></translation>
1995 </message> 1995 </message>
1996 <message> 1996 <message>
1997 <location filename="tts.cpp" line="292"/> 1997 <location filename="tts.cpp" line="292"/>
1998 <source>Could not start the Sapi-script</source> 1998 <source>Could not start the Sapi-script</source>
1999 <translation type="unfinished"></translation> 1999 <translation type="unfinished"></translation>
2000 </message> 2000 </message>
2001</context> 2001</context>
2002<context> 2002<context>
2003 <name>TalkFileCreator</name> 2003 <name>TalkFileCreator</name>
2004 <message> 2004 <message>
2005 <location filename="talkfile.cpp" line="31"/> 2005 <location filename="talkfile.cpp" line="31"/>
2006 <source>Starting Talk file generation</source> 2006 <source>Starting Talk file generation</source>
2007 <translation type="unfinished"></translation> 2007 <translation type="unfinished"></translation>
2008 </message> 2008 </message>
2009 <message> 2009 <message>
2010 <location filename="talkfile.cpp" line="41"/> 2010 <location filename="talkfile.cpp" line="41"/>
2011 <source>Init of TTS engine failed</source> 2011 <source>Init of TTS engine failed</source>
2012 <translation type="unfinished"></translation> 2012 <translation type="unfinished"></translation>
2013 </message> 2013 </message>
2014 <message> 2014 <message>
2015 <location filename="talkfile.cpp" line="52"/> 2015 <location filename="talkfile.cpp" line="52"/>
2016 <source>Init of Encoder engine failed</source> 2016 <source>Init of Encoder engine failed</source>
2017 <translation type="unfinished"></translation> 2017 <translation type="unfinished"></translation>
2018 </message> 2018 </message>
2019 <message> 2019 <message>
2020 <location filename="talkfile.cpp" line="70"/> 2020 <location filename="talkfile.cpp" line="70"/>
2021 <source>Talk file creation aborted</source> 2021 <source>Talk file creation aborted</source>
2022 <translation type="unfinished"></translation> 2022 <translation type="unfinished"></translation>
2023 </message> 2023 </message>
2024 <message> 2024 <message>
2025 <location filename="talkfile.cpp" line="132"/> 2025 <location filename="talkfile.cpp" line="132"/>
2026 <source>Voicing of %1</source> 2026 <source>Voicing of %1</source>
2027 <translation type="unfinished"></translation> 2027 <translation type="unfinished"></translation>
2028 </message> 2028 </message>
2029 <message> 2029 <message>
2030 <location filename="talkfile.cpp" line="135"/> 2030 <location filename="talkfile.cpp" line="135"/>
2031 <source>Voicing of %s failed</source> 2031 <source>Voicing of %s failed</source>
2032 <translation type="unfinished"></translation> 2032 <translation type="unfinished"></translation>
2033 </message> 2033 </message>
2034 <message> 2034 <message>
2035 <location filename="talkfile.cpp" line="143"/> 2035 <location filename="talkfile.cpp" line="143"/>
2036 <source>Encoding of %1</source> 2036 <source>Encoding of %1</source>
2037 <translation type="unfinished"></translation> 2037 <translation type="unfinished"></translation>
2038 </message> 2038 </message>
2039 <message> 2039 <message>
2040 <location filename="talkfile.cpp" line="146"/> 2040 <location filename="talkfile.cpp" line="146"/>
2041 <source>Encoding of %1 failed</source> 2041 <source>Encoding of %1 failed</source>
2042 <translation type="unfinished"></translation> 2042 <translation type="unfinished"></translation>
2043 </message> 2043 </message>
2044 <message> 2044 <message>
2045 <location filename="talkfile.cpp" line="173"/> 2045 <location filename="talkfile.cpp" line="173"/>
2046 <source>Finished creating Talk files</source> 2046 <source>Finished creating Talk files</source>
2047 <translation type="unfinished"></translation> 2047 <translation type="unfinished"></translation>
2048 </message> 2048 </message>
2049</context> 2049</context>
2050<context> 2050<context>
2051 <name>ThemeInstallFrm</name> 2051 <name>ThemeInstallFrm</name>
2052 <message> 2052 <message>
2053 <location filename="installthemesfrm.ui" line="13"/> 2053 <location filename="installthemesfrm.ui" line="13"/>
2054 <source>Theme Installation</source> 2054 <source>Theme Installation</source>
2055 <translation>Installation de thèmes</translation> 2055 <translation>Installation de thèmes</translation>
2056 </message> 2056 </message>
2057 <message> 2057 <message>
2058 <location filename="installthemesfrm.ui" line="48"/> 2058 <location filename="installthemesfrm.ui" line="48"/>
2059 <source>Selected Theme</source> 2059 <source>Selected Theme</source>
2060 <translation>Thème sélectionné</translation> 2060 <translation>Thème sélectionné</translation>
2061 </message> 2061 </message>
2062 <message> 2062 <message>
2063 <location filename="installthemesfrm.ui" line="73"/> 2063 <location filename="installthemesfrm.ui" line="73"/>
2064 <source>Description</source> 2064 <source>Description</source>
2065 <translation>Description</translation> 2065 <translation>Description</translation>
2066 </message> 2066 </message>
2067 <message> 2067 <message>
2068 <location filename="installthemesfrm.ui" line="83"/> 2068 <location filename="installthemesfrm.ui" line="83"/>
2069 <source>Download size:</source> 2069 <source>Download size:</source>
2070 <translation>Taille du téléchargement :</translation> 2070 <translation>Taille du téléchargement :</translation>
2071 </message> 2071 </message>
2072 <message> 2072 <message>
2073 <location filename="installthemesfrm.ui" line="128"/> 2073 <location filename="installthemesfrm.ui" line="128"/>
2074 <source>&amp;Cancel</source> 2074 <source>&amp;Cancel</source>
2075 <translation>&amp;Annuler</translation> 2075 <translation>&amp;Annuler</translation>
2076 </message> 2076 </message>
2077 <message> 2077 <message>
2078 <location filename="installthemesfrm.ui" line="108"/> 2078 <location filename="installthemesfrm.ui" line="108"/>
2079 <source>&amp;Install</source> 2079 <source>&amp;Install</source>
2080 <translation>&amp;Installer</translation> 2080 <translation>&amp;Installer</translation>
2081 </message> 2081 </message>
2082 <message> 2082 <message>
2083 <location filename="installthemesfrm.ui" line="118"/> 2083 <location filename="installthemesfrm.ui" line="118"/>
2084 <source>Install &amp;All</source> 2084 <source>Install &amp;All</source>
2085 <translation>&amp;Tout installer</translation> 2085 <translation>&amp;Tout installer</translation>
2086 </message> 2086 </message>
2087</context> 2087</context>
2088<context> 2088<context>
2089 <name>ThemesInstallWindow</name> 2089 <name>ThemesInstallWindow</name>
2090 <message> 2090 <message>
2091 <location filename="installthemes.cpp" line="34"/> 2091 <location filename="installthemes.cpp" line="34"/>
2092 <source>no theme selected</source> 2092 <source>no theme selected</source>
2093 <translation>pas de thème sélectionné</translation> 2093 <translation>pas de thème sélectionné</translation>
2094 </message> 2094 </message>
2095 <message> 2095 <message>
2096 <location filename="installthemes.cpp" line="117"/> 2096 <location filename="installthemes.cpp" line="117"/>
2097 <source>Network error: %1. 2097 <source>Network error: %1.
2098Please check your network and proxy settings.</source> 2098Please check your network and proxy settings.</source>
2099 <translation>Erreur réseau: %1. 2099 <translation>Erreur réseau: %1.
2100Veuillez vérifier vos paramètres réseau et proxy.</translation> 2100Veuillez vérifier vos paramètres réseau et proxy.</translation>
2101 </message> 2101 </message>
2102 <message> 2102 <message>
2103 <location filename="installthemes.cpp" line="128"/> 2103 <location filename="installthemes.cpp" line="128"/>
2104 <source>the following error occured: 2104 <source>the following error occured:
2105%1</source> 2105%1</source>
2106 <translation>L&apos;erreur suivante s&apos;est produite : 2106 <translation>L&apos;erreur suivante s&apos;est produite :
2107%1</translation> 2107%1</translation>
2108 </message> 2108 </message>
2109 <message> 2109 <message>
2110 <location filename="installthemes.cpp" line="133"/> 2110 <location filename="installthemes.cpp" line="133"/>
2111 <source>done.</source> 2111 <source>done.</source>
2112 <translation>terminé.</translation> 2112 <translation>terminé.</translation>
2113 </message> 2113 </message>
2114 <message> 2114 <message>
2115 <location filename="installthemes.cpp" line="161"/> 2115 <location filename="installthemes.cpp" line="161"/>
2116 <source>fetching details for %1</source> 2116 <source>fetching details for %1</source>
2117 <translation>récupération des détails pour %1</translation> 2117 <translation>récupération des détails pour %1</translation>
2118 </message> 2118 </message>
2119 <message> 2119 <message>
2120 <location filename="installthemes.cpp" line="163"/> 2120 <location filename="installthemes.cpp" line="163"/>
2121 <source>fetching preview ...</source> 2121 <source>fetching preview ...</source>
2122 <translation>récupération de l&apos;aperçu ...</translation> 2122 <translation>récupération de l&apos;aperçu ...</translation>
2123 </message> 2123 </message>
2124 <message> 2124 <message>
2125 <location filename="installthemes.cpp" line="171"/> 2125 <location filename="installthemes.cpp" line="171"/>
2126 <source>Download size %L1 kiB</source> 2126 <source>Download size %L1 kiB</source>
2127 <translation type="unfinished">Taille du téléchargement %1 ko</translation> 2127 <translation type="unfinished">Taille du téléchargement %1 ko</translation>
2128 </message> 2128 </message>
2129 <message> 2129 <message>
2130 <location filename="installthemes.cpp" line="184"/> 2130 <location filename="installthemes.cpp" line="184"/>
2131 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source> 2131 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
2132 <translation>&lt;b&gt;Auteur :&lt;/b&gt; %1&lt;hr/&gt;</translation> 2132 <translation>&lt;b&gt;Auteur :&lt;/b&gt; %1&lt;hr/&gt;</translation>
2133 </message> 2133 </message>
2134 <message> 2134 <message>
2135 <location filename="installthemes.cpp" line="185"/> 2135 <location filename="installthemes.cpp" line="185"/>
2136 <source>unknown</source> 2136 <source>unknown</source>
2137 <translation>inconnu</translation> 2137 <translation>inconnu</translation>
2138 </message> 2138 </message>
2139 <message> 2139 <message>
2140 <location filename="installthemes.cpp" line="185"/> 2140 <location filename="installthemes.cpp" line="185"/>
2141 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source> 2141 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
2142 <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2142 <translation>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2143 </message> 2143 </message>
2144 <message> 2144 <message>
2145 <location filename="installthemes.cpp" line="186"/> 2145 <location filename="installthemes.cpp" line="186"/>
2146 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source> 2146 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
2147 <translation>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2147 <translation>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2148 </message> 2148 </message>
2149 <message> 2149 <message>
2150 <location filename="installthemes.cpp" line="186"/> 2150 <location filename="installthemes.cpp" line="186"/>
2151 <source>no description</source> 2151 <source>no description</source>
2152 <translation>pas de description</translation> 2152 <translation>pas de description</translation>
2153 </message> 2153 </message>
2154 <message> 2154 <message>
2155 <location filename="installthemes.cpp" line="222"/> 2155 <location filename="installthemes.cpp" line="222"/>
2156 <source>no theme preview</source> 2156 <source>no theme preview</source>
2157 <translation>pas d&apos;aperçu du thème</translation> 2157 <translation>pas d&apos;aperçu du thème</translation>
2158 </message> 2158 </message>
2159 <message> 2159 <message>
2160 <location filename="installthemes.cpp" line="254"/> 2160 <location filename="installthemes.cpp" line="254"/>
2161 <source>getting themes information ...</source> 2161 <source>getting themes information ...</source>
2162 <translation>récupération des informations sur le thème ...</translation> 2162 <translation>récupération des informations sur le thème ...</translation>
2163 </message> 2163 </message>
2164 <message> 2164 <message>
2165 <location filename="installthemes.cpp" line="312"/> 2165 <location filename="installthemes.cpp" line="312"/>
2166 <source>Mount point is wrong!</source> 2166 <source>Mount point is wrong!</source>
2167 <translation>Le point de montage est incorrect !</translation> 2167 <translation>Le point de montage est incorrect !</translation>
2168 </message> 2168 </message>
2169</context> 2169</context>
2170<context> 2170<context>
2171 <name>UnZip</name> 2171 <name>UnZip</name>
2172 <message> 2172 <message>
2173 <location filename="zip/unzip.cpp" line="245"/> 2173 <location filename="zip/unzip.cpp" line="245"/>
2174 <source>ZIP operation completed successfully.</source> 2174 <source>ZIP operation completed successfully.</source>
2175 <translation>Opération ZIP terminée avec succès.</translation> 2175 <translation>Opération ZIP terminée avec succès.</translation>
2176 </message> 2176 </message>
2177 <message> 2177 <message>
2178 <location filename="zip/unzip.cpp" line="246"/> 2178 <location filename="zip/unzip.cpp" line="246"/>
2179 <source>Failed to initialize or load zlib library.</source> 2179 <source>Failed to initialize or load zlib library.</source>
2180 <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation> 2180 <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation>
2181 </message> 2181 </message>
2182 <message> 2182 <message>
2183 <location filename="zip/unzip.cpp" line="247"/> 2183 <location filename="zip/unzip.cpp" line="247"/>
2184 <source>zlib library error.</source> 2184 <source>zlib library error.</source>
2185 <translation>Erreur de la librairie zlib.</translation> 2185 <translation>Erreur de la librairie zlib.</translation>
2186 </message> 2186 </message>
2187 <message> 2187 <message>
2188 <location filename="zip/unzip.cpp" line="248"/> 2188 <location filename="zip/unzip.cpp" line="248"/>
2189 <source>Unable to create or open file.</source> 2189 <source>Unable to create or open file.</source>
2190 <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation> 2190 <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation>
2191 </message> 2191 </message>
2192 <message> 2192 <message>
2193 <location filename="zip/unzip.cpp" line="249"/> 2193 <location filename="zip/unzip.cpp" line="249"/>
2194 <source>Partially corrupted archive. Some files might be extracted.</source> 2194 <source>Partially corrupted archive. Some files might be extracted.</source>
2195 <translation>Archive partiellement corrompue. Certains fichiers pourraient être extraits.</translation> 2195 <translation>Archive partiellement corrompue. Certains fichiers pourraient être extraits.</translation>
2196 </message> 2196 </message>
2197 <message> 2197 <message>
2198 <location filename="zip/unzip.cpp" line="250"/> 2198 <location filename="zip/unzip.cpp" line="250"/>
2199 <source>Corrupted archive.</source> 2199 <source>Corrupted archive.</source>
2200 <translation>Archive corrompue.</translation> 2200 <translation>Archive corrompue.</translation>
2201 </message> 2201 </message>
2202 <message> 2202 <message>
2203 <location filename="zip/unzip.cpp" line="251"/> 2203 <location filename="zip/unzip.cpp" line="251"/>
2204 <source>Wrong password.</source> 2204 <source>Wrong password.</source>
2205 <translation>Mot de passe incorrect.</translation> 2205 <translation>Mot de passe incorrect.</translation>
2206 </message> 2206 </message>
2207 <message> 2207 <message>
2208 <location filename="zip/unzip.cpp" line="252"/> 2208 <location filename="zip/unzip.cpp" line="252"/>
2209 <source>No archive has been created yet.</source> 2209 <source>No archive has been created yet.</source>
2210 <translation>Aucune archive n&apos;a encore été crée.</translation> 2210 <translation>Aucune archive n&apos;a encore été crée.</translation>
2211 </message> 2211 </message>
2212 <message> 2212 <message>
2213 <location filename="zip/unzip.cpp" line="253"/> 2213 <location filename="zip/unzip.cpp" line="253"/>
2214 <source>File or directory does not exist.</source> 2214 <source>File or directory does not exist.</source>
2215 <translation>Le fichier ou le répertoire n&apos;existe pas.</translation> 2215 <translation>Le fichier ou le répertoire n&apos;existe pas.</translation>
2216 </message> 2216 </message>
2217 <message> 2217 <message>
2218 <location filename="zip/unzip.cpp" line="254"/> 2218 <location filename="zip/unzip.cpp" line="254"/>
2219 <source>File read error.</source> 2219 <source>File read error.</source>
2220 <translation>Erreur de lecture du fichier.</translation> 2220 <translation>Erreur de lecture du fichier.</translation>
2221 </message> 2221 </message>
2222 <message> 2222 <message>
2223 <location filename="zip/unzip.cpp" line="255"/> 2223 <location filename="zip/unzip.cpp" line="255"/>
2224 <source>File write error.</source> 2224 <source>File write error.</source>
2225 <translation>Erreur d&apos;écriture du fichier.</translation> 2225 <translation>Erreur d&apos;écriture du fichier.</translation>
2226 </message> 2226 </message>
2227 <message> 2227 <message>
2228 <location filename="zip/unzip.cpp" line="256"/> 2228 <location filename="zip/unzip.cpp" line="256"/>
2229 <source>File seek error.</source> 2229 <source>File seek error.</source>
2230 <translation>Erreur de parcours du fichier.</translation> 2230 <translation>Erreur de parcours du fichier.</translation>
2231 </message> 2231 </message>
2232 <message> 2232 <message>
2233 <location filename="zip/unzip.cpp" line="257"/> 2233 <location filename="zip/unzip.cpp" line="257"/>
2234 <source>Unable to create a directory.</source> 2234 <source>Unable to create a directory.</source>
2235 <translation>Impossible de créer un dossier.</translation> 2235 <translation>Impossible de créer un dossier.</translation>
2236 </message> 2236 </message>
2237 <message> 2237 <message>
2238 <location filename="zip/unzip.cpp" line="258"/> 2238 <location filename="zip/unzip.cpp" line="258"/>
2239 <source>Invalid device.</source> 2239 <source>Invalid device.</source>
2240 <translation>Périphérique invalide.</translation> 2240 <translation>Périphérique invalide.</translation>
2241 </message> 2241 </message>
2242 <message> 2242 <message>
2243 <location filename="zip/unzip.cpp" line="259"/> 2243 <location filename="zip/unzip.cpp" line="259"/>
2244 <source>Invalid or incompatible zip archive.</source> 2244 <source>Invalid or incompatible zip archive.</source>
2245 <translation>Archive zip invalide ou incompatible.</translation> 2245 <translation>Archive zip invalide ou incompatible.</translation>
2246 </message> 2246 </message>
2247 <message> 2247 <message>
2248 <location filename="zip/unzip.cpp" line="260"/> 2248 <location filename="zip/unzip.cpp" line="260"/>
2249 <source>Inconsistent headers. Archive might be corrupted.</source> 2249 <source>Inconsistent headers. Archive might be corrupted.</source>
2250 <translation>Les en-têtes ne correspondent pas. L&apos;archive est peut-être corrompue.</translation> 2250 <translation>Les en-têtes ne correspondent pas. L&apos;archive est peut-être corrompue.</translation>
2251 </message> 2251 </message>
2252 <message> 2252 <message>
2253 <location filename="zip/unzip.cpp" line="264"/> 2253 <location filename="zip/unzip.cpp" line="264"/>
2254 <source>Unknown error.</source> 2254 <source>Unknown error.</source>
2255 <translation>Erreur inconnue.</translation> 2255 <translation>Erreur inconnue.</translation>
2256 </message> 2256 </message>
2257</context> 2257</context>
2258<context> 2258<context>
2259 <name>UninstallFrm</name> 2259 <name>UninstallFrm</name>
2260 <message> 2260 <message>
2261 <location filename="uninstallfrm.ui" line="16"/> 2261 <location filename="uninstallfrm.ui" line="16"/>
2262 <source>Uninstall Rockbox</source> 2262 <source>Uninstall Rockbox</source>
2263 <translation>Désinstaller Rockbox</translation> 2263 <translation>Désinstaller Rockbox</translation>
2264 </message> 2264 </message>
2265 <message> 2265 <message>
2266 <location filename="uninstallfrm.ui" line="35"/> 2266 <location filename="uninstallfrm.ui" line="35"/>
2267 <source>Please select the Uninstallation Methodl</source> 2267 <source>Please select the Uninstallation Methodl</source>
2268 <translation>Veuillez choisir la méthode de désinstallation</translation> 2268 <translation>Veuillez choisir la méthode de désinstallation</translation>
2269 </message> 2269 </message>
2270 <message> 2270 <message>
2271 <location filename="uninstallfrm.ui" line="45"/> 2271 <location filename="uninstallfrm.ui" line="45"/>
2272 <source>Uninstallation Method</source> 2272 <source>Uninstallation Method</source>
2273 <translation>Méthode de désinstallation</translation> 2273 <translation>Méthode de désinstallation</translation>
2274 </message> 2274 </message>
2275 <message> 2275 <message>
2276 <location filename="uninstallfrm.ui" line="51"/> 2276 <location filename="uninstallfrm.ui" line="51"/>
2277 <source>Complete Uninstallation</source> 2277 <source>Complete Uninstallation</source>
2278 <translation>Désinstallation complète</translation> 2278 <translation>Désinstallation complète</translation>
2279 </message> 2279 </message>
2280 <message> 2280 <message>
2281 <location filename="uninstallfrm.ui" line="58"/> 2281 <location filename="uninstallfrm.ui" line="58"/>
2282 <source>Smart Uninstallation</source> 2282 <source>Smart Uninstallation</source>
2283 <translation>Désinstallation intelligente</translation> 2283 <translation>Désinstallation intelligente</translation>
2284 </message> 2284 </message>
2285 <message> 2285 <message>
2286 <location filename="uninstallfrm.ui" line="68"/> 2286 <location filename="uninstallfrm.ui" line="68"/>
2287 <source>Please select what you want to uninstall</source> 2287 <source>Please select what you want to uninstall</source>
2288 <translation>Veuillez sélectionner ce que vous désirer désinstaller</translation> 2288 <translation>Veuillez sélectionner ce que vous désirer désinstaller</translation>
2289 </message> 2289 </message>
2290 <message> 2290 <message>
2291 <location filename="uninstallfrm.ui" line="78"/> 2291 <location filename="uninstallfrm.ui" line="78"/>
2292 <source>Installed Parts</source> 2292 <source>Installed Parts</source>
2293 <translation>Composants installés</translation> 2293 <translation>Composants installés</translation>
2294 </message> 2294 </message>
2295 <message> 2295 <message>
2296 <location filename="uninstallfrm.ui" line="138"/> 2296 <location filename="uninstallfrm.ui" line="138"/>
2297 <source>&amp;Cancel</source> 2297 <source>&amp;Cancel</source>
2298 <translation>&amp;Annuler</translation> 2298 <translation>&amp;Annuler</translation>
2299 </message> 2299 </message>
2300 <message> 2300 <message>
2301 <location filename="uninstallfrm.ui" line="128"/> 2301 <location filename="uninstallfrm.ui" line="128"/>
2302 <source>&amp;Uninstall</source> 2302 <source>&amp;Uninstall</source>
2303 <translation>&amp;Désinstaller</translation> 2303 <translation>&amp;Désinstaller</translation>
2304 </message> 2304 </message>
2305</context> 2305</context>
2306<context> 2306<context>
2307 <name>Uninstaller</name> 2307 <name>Uninstaller</name>
2308 <message> 2308 <message>
2309 <location filename="uninstall.cpp" line="45"/> 2309 <location filename="uninstall.cpp" line="45"/>
2310 <source>Starting Uninstallation</source> 2310 <source>Starting Uninstallation</source>
2311 <translation>Démarrage de la désinstallation</translation> 2311 <translation>Démarrage de la désinstallation</translation>
2312 </message> 2312 </message>
2313 <message> 2313 <message>
2314 <location filename="uninstall.cpp" line="37"/> 2314 <location filename="uninstall.cpp" line="37"/>
2315 <source>Finished Uninstallation</source> 2315 <source>Finished Uninstallation</source>
2316 <translation>Désinstallation terminée</translation> 2316 <translation>Désinstallation terminée</translation>
2317 </message> 2317 </message>
2318 <message> 2318 <message>
2319 <location filename="uninstall.cpp" line="51"/> 2319 <location filename="uninstall.cpp" line="51"/>
2320 <source>Uninstalling </source> 2320 <source>Uninstalling </source>
2321 <translation>Désinstalle </translation> 2321 <translation>Désinstalle </translation>
2322 </message> 2322 </message>
2323 <message> 2323 <message>
2324 <location filename="uninstall.cpp" line="81"/> 2324 <location filename="uninstall.cpp" line="81"/>
2325 <source>Could not delete: </source> 2325 <source>Could not delete: </source>
2326 <translation>Impossible de supprimer : </translation> 2326 <translation>Impossible de supprimer : </translation>
2327 </message> 2327 </message>
2328 <message> 2328 <message>
2329 <location filename="uninstall.cpp" line="108"/> 2329 <location filename="uninstall.cpp" line="108"/>
2330 <source>Uninstallation finished</source> 2330 <source>Uninstallation finished</source>
2331 <translation>Désinstallation terminée</translation> 2331 <translation>Désinstallation terminée</translation>
2332 </message> 2332 </message>
2333</context> 2333</context>
2334<context> 2334<context>
2335 <name>VoiceFileCreator</name> 2335 <name>VoiceFileCreator</name>
2336 <message> 2336 <message>
2337 <location filename="voicefile.cpp" line="41"/> 2337 <location filename="voicefile.cpp" line="41"/>
2338 <source>Starting Voicefile generation</source> 2338 <source>Starting Voicefile generation</source>
2339 <translation type="unfinished"></translation> 2339 <translation type="unfinished"></translation>
2340 </message> 2340 </message>
2341 <message> 2341 <message>
2342 <location filename="voicefile.cpp" line="55"/> 2342 <location filename="voicefile.cpp" line="55"/>
2343 <source>failed to open rockbox-info.txt</source> 2343 <source>failed to open rockbox-info.txt</source>
2344 <translation type="unfinished"></translation> 2344 <translation type="unfinished"></translation>
2345 </message> 2345 </message>
2346 <message> 2346 <message>
2347 <location filename="voicefile.cpp" line="124"/> 2347 <location filename="voicefile.cpp" line="124"/>
2348 <source>Download error: received HTTP error %1.</source> 2348 <source>Download error: received HTTP error %1.</source>
2349 <translation type="unfinished">Erreur de téléchargement. Erreur HTTP %1.</translation> 2349 <translation type="unfinished">Erreur de téléchargement. Erreur HTTP %1.</translation>
2350 </message> 2350 </message>
2351 <message> 2351 <message>
2352 <location filename="voicefile.cpp" line="128"/> 2352 <location filename="voicefile.cpp" line="128"/>
2353 <source>Cached file used.</source> 2353 <source>Cached file used.</source>
2354 <translation type="unfinished">Fichier en cache utilisé.</translation> 2354 <translation type="unfinished">Fichier en cache utilisé.</translation>
2355 </message> 2355 </message>
2356 <message> 2356 <message>
2357 <location filename="voicefile.cpp" line="130"/> 2357 <location filename="voicefile.cpp" line="130"/>
2358 <source>Download error: %1</source> 2358 <source>Download error: %1</source>
2359 <translation type="unfinished">Erreur de téléchargement : %1</translation> 2359 <translation type="unfinished">Erreur de téléchargement : %1</translation>
2360 </message> 2360 </message>
2361 <message> 2361 <message>
2362 <location filename="voicefile.cpp" line="134"/> 2362 <location filename="voicefile.cpp" line="134"/>
2363 <source>Download finished.</source> 2363 <source>Download finished.</source>
2364 <translation type="unfinished">Téléchargement terminé.</translation> 2364 <translation type="unfinished">Téléchargement terminé.</translation>
2365 </message> 2365 </message>
2366 <message> 2366 <message>
2367 <location filename="voicefile.cpp" line="143"/> 2367 <location filename="voicefile.cpp" line="143"/>
2368 <source>failed to open downloaded file</source> 2368 <source>failed to open downloaded file</source>
2369 <translation type="unfinished"></translation> 2369 <translation type="unfinished"></translation>
2370 </message> 2370 </message>
2371 <message> 2371 <message>
2372 <location filename="voicefile.cpp" line="156"/> 2372 <location filename="voicefile.cpp" line="156"/>
2373 <source>Init of TTS engine failed</source> 2373 <source>Init of TTS engine failed</source>
2374 <translation type="unfinished"></translation> 2374 <translation type="unfinished"></translation>
2375 </message> 2375 </message>
2376 <message> 2376 <message>
2377 <location filename="voicefile.cpp" line="167"/> 2377 <location filename="voicefile.cpp" line="167"/>
2378 <source>Init of Encoder engine failed</source> 2378 <source>Init of Encoder engine failed</source>
2379 <translation type="unfinished"></translation> 2379 <translation type="unfinished"></translation>
2380 </message> 2380 </message>
2381 <message> 2381 <message>
2382 <location filename="voicefile.cpp" line="209"/> 2382 <location filename="voicefile.cpp" line="209"/>
2383 <source>The downloaded file was empty!</source> 2383 <source>The downloaded file was empty!</source>
2384 <translation type="unfinished"></translation> 2384 <translation type="unfinished"></translation>
2385 </message> 2385 </message>
2386 <message> 2386 <message>
2387 <location filename="voicefile.cpp" line="246"/> 2387 <location filename="voicefile.cpp" line="246"/>
2388 <source>creating </source> 2388 <source>creating </source>
2389 <translation type="unfinished"></translation> 2389 <translation type="unfinished"></translation>
2390 </message> 2390 </message>
2391 <message> 2391 <message>
2392 <location filename="voicefile.cpp" line="269"/> 2392 <location filename="voicefile.cpp" line="269"/>
2393 <source>Error opening downloaded file</source> 2393 <source>Error opening downloaded file</source>
2394 <translation type="unfinished"></translation> 2394 <translation type="unfinished"></translation>
2395 </message> 2395 </message>
2396 <message> 2396 <message>
2397 <location filename="voicefile.cpp" line="277"/> 2397 <location filename="voicefile.cpp" line="277"/>
2398 <source>Error opening output file</source> 2398 <source>Error opening output file</source>
2399 <translation type="unfinished"></translation> 2399 <translation type="unfinished"></translation>
2400 </message> 2400 </message>
2401 <message> 2401 <message>
2402 <location filename="voicefile.cpp" line="291"/> 2402 <location filename="voicefile.cpp" line="291"/>
2403 <source>successfully created.</source> 2403 <source>successfully created.</source>
2404 <translation type="unfinished"></translation> 2404 <translation type="unfinished"></translation>
2405 </message> 2405 </message>
2406</context> 2406</context>
2407<context> 2407<context>
2408 <name>Zip</name> 2408 <name>Zip</name>
2409 <message> 2409 <message>
2410 <location filename="zip/zip.cpp" line="479"/> 2410 <location filename="zip/zip.cpp" line="479"/>
2411 <source>ZIP operation completed successfully.</source> 2411 <source>ZIP operation completed successfully.</source>
2412 <translation>Opération ZIP terminée avec succès.</translation> 2412 <translation>Opération ZIP terminée avec succès.</translation>
2413 </message> 2413 </message>
2414 <message> 2414 <message>
2415 <location filename="zip/zip.cpp" line="480"/> 2415 <location filename="zip/zip.cpp" line="480"/>
2416 <source>Failed to initialize or load zlib library.</source> 2416 <source>Failed to initialize or load zlib library.</source>
2417 <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation> 2417 <translation>Impossible d&apos;initialiser ou de charger la librairie zlib.</translation>
2418 </message> 2418 </message>
2419 <message> 2419 <message>
2420 <location filename="zip/zip.cpp" line="481"/> 2420 <location filename="zip/zip.cpp" line="481"/>
2421 <source>zlib library error.</source> 2421 <source>zlib library error.</source>
2422 <translation>Erreur de la librairie zlib.</translation> 2422 <translation>Erreur de la librairie zlib.</translation>
2423 </message> 2423 </message>
2424 <message> 2424 <message>
2425 <location filename="zip/zip.cpp" line="482"/> 2425 <location filename="zip/zip.cpp" line="482"/>
2426 <source>Unable to create or open file.</source> 2426 <source>Unable to create or open file.</source>
2427 <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation> 2427 <translation>Impossible de créer ou d&apos;ouvrir le fichier.</translation>
2428 </message> 2428 </message>
2429 <message> 2429 <message>
2430 <location filename="zip/zip.cpp" line="483"/> 2430 <location filename="zip/zip.cpp" line="483"/>
2431 <source>No archive has been created yet.</source> 2431 <source>No archive has been created yet.</source>
2432 <translation>Aucune archive n&apos;a encore été crée.</translation> 2432 <translation>Aucune archive n&apos;a encore été crée.</translation>
2433 </message> 2433 </message>
2434 <message> 2434 <message>
2435 <location filename="zip/zip.cpp" line="484"/> 2435 <location filename="zip/zip.cpp" line="484"/>
2436 <source>File or directory does not exist.</source> 2436 <source>File or directory does not exist.</source>
2437 <translation>Le fichier ou le répertoire n&apos;existe pas.</translation> 2437 <translation>Le fichier ou le répertoire n&apos;existe pas.</translation>
2438 </message> 2438 </message>
2439 <message> 2439 <message>
2440 <location filename="zip/zip.cpp" line="485"/> 2440 <location filename="zip/zip.cpp" line="485"/>
2441 <source>File read error.</source> 2441 <source>File read error.</source>
2442 <translation>Erreur de lecture du fichier.</translation> 2442 <translation>Erreur de lecture du fichier.</translation>
2443 </message> 2443 </message>
2444 <message> 2444 <message>
2445 <location filename="zip/zip.cpp" line="486"/> 2445 <location filename="zip/zip.cpp" line="486"/>
2446 <source>File write error.</source> 2446 <source>File write error.</source>
2447 <translation>Erreur d&apos;écriture du fichier.</translation> 2447 <translation>Erreur d&apos;écriture du fichier.</translation>
2448 </message> 2448 </message>
2449 <message> 2449 <message>
2450 <location filename="zip/zip.cpp" line="487"/> 2450 <location filename="zip/zip.cpp" line="487"/>
2451 <source>File seek error.</source> 2451 <source>File seek error.</source>
2452 <translation>Erreur de parcours du fichier.</translation> 2452 <translation>Erreur de parcours du fichier.</translation>
2453 </message> 2453 </message>
2454 <message> 2454 <message>
2455 <location filename="zip/zip.cpp" line="491"/> 2455 <location filename="zip/zip.cpp" line="491"/>
2456 <source>Unknown error.</source> 2456 <source>Unknown error.</source>
2457 <translation>Erreur inconnue.</translation> 2457 <translation>Erreur inconnue.</translation>
2458 </message> 2458 </message>
2459</context> 2459</context>
2460<context> 2460<context>
2461 <name>ZipInstaller</name> 2461 <name>ZipInstaller</name>
2462 <message> 2462 <message>
2463 <location filename="installzip.cpp" line="54"/> 2463 <location filename="installzip.cpp" line="54"/>
2464 <source>done.</source> 2464 <source>done.</source>
2465 <translation>terminé.</translation> 2465 <translation>terminé.</translation>
2466 </message> 2466 </message>
2467 <message> 2467 <message>
2468 <location filename="installzip.cpp" line="62"/> 2468 <location filename="installzip.cpp" line="62"/>
2469 <source>Installation finished successfully.</source> 2469 <source>Installation finished successfully.</source>
2470 <translation>Installation terminée avec succès.</translation> 2470 <translation>Installation terminée avec succès.</translation>
2471 </message> 2471 </message>
2472 <message> 2472 <message>
2473 <location filename="installzip.cpp" line="77"/> 2473 <location filename="installzip.cpp" line="77"/>
2474 <source>Downloading file %1.%2</source> 2474 <source>Downloading file %1.%2</source>
2475 <translation>Téléchargement du fichier %1.%2</translation> 2475 <translation>Téléchargement du fichier %1.%2</translation>
2476 </message> 2476 </message>
2477 <message> 2477 <message>
2478 <location filename="installzip.cpp" line="126"/> 2478 <location filename="installzip.cpp" line="126"/>
2479 <source>Download error: received HTTP error %1.</source> 2479 <source>Download error: received HTTP error %1.</source>
2480 <translation>Erreur de téléchargement. Erreur HTTP %1.</translation> 2480 <translation>Erreur de téléchargement. Erreur HTTP %1.</translation>
2481 </message> 2481 </message>
2482 <message> 2482 <message>
2483 <location filename="installzip.cpp" line="131"/> 2483 <location filename="installzip.cpp" line="131"/>
2484 <source>Cached file used.</source> 2484 <source>Cached file used.</source>
2485 <translation>Fichier en cache utilisé.</translation> 2485 <translation>Fichier en cache utilisé.</translation>
2486 </message> 2486 </message>
2487 <message> 2487 <message>
2488 <location filename="installzip.cpp" line="133"/> 2488 <location filename="installzip.cpp" line="133"/>
2489 <source>Download error: %1</source> 2489 <source>Download error: %1</source>
2490 <translation>Erreur de téléchargement : %1</translation> 2490 <translation>Erreur de téléchargement : %1</translation>
2491 </message> 2491 </message>
2492 <message> 2492 <message>
2493 <location filename="installzip.cpp" line="138"/> 2493 <location filename="installzip.cpp" line="138"/>
2494 <source>Download finished.</source> 2494 <source>Download finished.</source>
2495 <translation>Téléchargement terminé.</translation> 2495 <translation>Téléchargement terminé.</translation>
2496 </message> 2496 </message>
2497 <message> 2497 <message>
2498 <location filename="installzip.cpp" line="144"/> 2498 <location filename="installzip.cpp" line="144"/>
2499 <source>Extracting file.</source> 2499 <source>Extracting file.</source>
2500 <translation>Extraction du fichier.</translation> 2500 <translation>Extraction du fichier.</translation>
2501 </message> 2501 </message>
2502 <message> 2502 <message>
2503 <location filename="installzip.cpp" line="153"/> 2503 <location filename="installzip.cpp" line="153"/>
2504 <source>Opening archive failed: %1.</source> 2504 <source>Opening archive failed: %1.</source>
2505 <translation>L&apos;ouverture de l&apos;archive a échoué : %1.</translation> 2505 <translation>L&apos;ouverture de l&apos;archive a échoué : %1.</translation>
2506 </message> 2506 </message>
2507 <message> 2507 <message>
2508 <location filename="installzip.cpp" line="162"/> 2508 <location filename="installzip.cpp" line="162"/>
2509 <source>Extracting failed: %1.</source> 2509 <source>Extracting failed: %1.</source>
2510 <translation>L&apos;extraction a échoué : %1.</translation> 2510 <translation>L&apos;extraction a échoué : %1.</translation>
2511 </message> 2511 </message>
2512 <message> 2512 <message>
2513 <location filename="installzip.cpp" line="172"/> 2513 <location filename="installzip.cpp" line="172"/>
2514 <source>Installing file.</source> 2514 <source>Installing file.</source>
2515 <translation>Installation du fichier.</translation> 2515 <translation>Installation du fichier.</translation>
2516 </message> 2516 </message>
2517 <message> 2517 <message>
2518 <location filename="installzip.cpp" line="183"/> 2518 <location filename="installzip.cpp" line="183"/>
2519 <source>Installing file failed.</source> 2519 <source>Installing file failed.</source>
2520 <translation>L&apos;installation du fichier a échoué.</translation> 2520 <translation>L&apos;installation du fichier a échoué.</translation>
2521 </message> 2521 </message>
2522 <message> 2522 <message>
2523 <location filename="installzip.cpp" line="193"/> 2523 <location filename="installzip.cpp" line="193"/>
2524 <source>Creating installation log</source> 2524 <source>Creating installation log</source>
2525 <translation>Création du journal d&apos;installation</translation> 2525 <translation>Création du journal d&apos;installation</translation>
2526 </message> 2526 </message>
2527</context> 2527</context>
2528<context> 2528<context>
2529 <name>aboutBox</name> 2529 <name>aboutBox</name>
2530 <message> 2530 <message>
2531 <location filename="aboutbox.ui" line="13"/> 2531 <location filename="aboutbox.ui" line="13"/>
2532 <source>About Rockbox Utility</source> 2532 <source>About Rockbox Utility</source>
2533 <translation>A propos de l&apos;utilitaire Rockbox</translation> 2533 <translation>A propos de l&apos;utilitaire Rockbox</translation>
2534 </message> 2534 </message>
2535 <message> 2535 <message>
2536 <location filename="aboutbox.ui" line="34"/> 2536 <location filename="aboutbox.ui" line="34"/>
2537 <source>The Rockbox Utility</source> 2537 <source>The Rockbox Utility</source>
2538 <translation>L&apos;utilitaire Rockbox</translation> 2538 <translation>L&apos;utilitaire Rockbox</translation>
2539 </message> 2539 </message>
2540 <message encoding="UTF-8"> 2540 <message encoding="UTF-8">
2541 <location filename="aboutbox.ui" line="56"/> 2541 <location filename="aboutbox.ui" line="56"/>
2542 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware. 2542 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
2543 2543
2544© 2005 - 2007 The Rockbox Team. 2544© 2005 - 2007 The Rockbox Team.
2545Released under the GNU General Public License v2.</source> 2545Released under the GNU General Public License v2.</source>
2546 <translation>Installateur et utilitaire de gestion pour roxkbox, le firmware open source pour lecteurs audio numériques. 2546 <translation>Installateur et utilitaire de gestion pour roxkbox, le firmware open source pour lecteurs audio numériques.
2547 2547
2548© 2005 - 2007 L&apos;équipe Rockbox. 2548© 2005 - 2007 L&apos;équipe Rockbox.
2549Redistribué sous la GNU General Public License v2.</translation> 2549Redistribué sous la GNU General Public License v2.</translation>
2550 </message> 2550 </message>
2551 <message> 2551 <message>
2552 <location filename="aboutbox.ui" line="72"/> 2552 <location filename="aboutbox.ui" line="72"/>
2553 <source>http://www.rockbox.org</source> 2553 <source>http://www.rockbox.org</source>
2554 <translation>http://www.rockbox.org</translation> 2554 <translation>http://www.rockbox.org</translation>
2555 </message> 2555 </message>
2556 <message> 2556 <message>
2557 <location filename="aboutbox.ui" line="95"/> 2557 <location filename="aboutbox.ui" line="95"/>
2558 <source>&amp;Credits</source> 2558 <source>&amp;Credits</source>
2559 <translation>&amp;Crédits</translation> 2559 <translation>&amp;Crédits</translation>
2560 </message> 2560 </message>
2561 <message> 2561 <message>
2562 <location filename="aboutbox.ui" line="124"/> 2562 <location filename="aboutbox.ui" line="124"/>
2563 <source>&amp;License</source> 2563 <source>&amp;License</source>
2564 <translation>&amp;Licence</translation> 2564 <translation>&amp;Licence</translation>
2565 </message> 2565 </message>
2566 <message> 2566 <message>
2567 <location filename="aboutbox.ui" line="157"/> 2567 <location filename="aboutbox.ui" line="157"/>
2568 <source>&amp;Ok</source> 2568 <source>&amp;Ok</source>
2569 <translation>&amp;OK</translation> 2569 <translation>&amp;OK</translation>
2570 </message> 2570 </message>
2571</context> 2571</context>
2572</TS> 2572</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 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE TS><TS version="1.1" language="tr"> 2<!DOCTYPE TS><TS version="1.1" language="tr">
3<context> 3<context>
4 <name>BootloaderInstaller</name> 4 <name>BootloaderInstaller</name>
5 <message> 5 <message>
6 <location filename="installbootloader.cpp" line="32"/> 6 <location filename="installbootloader.cpp" line="32"/>
7 <source>Starting bootloader installation</source> 7 <source>Starting bootloader installation</source>
8 <translation>�ny�kleyici kurulumu baslatiliyor</translation> 8 <translation>�ny�kleyici kurulumu baslatiliyor</translation>
9 </message> 9 </message>
10 <message> 10 <message>
11 <location filename="installbootloader.cpp" line="122"/> 11 <location filename="installbootloader.cpp" line="122"/>
12 <source>unsupported install Method</source> 12 <source>unsupported install Method</source>
13 <translation>desteklenmeyen kurulum y�ntemi</translation> 13 <translation>desteklenmeyen kurulum y�ntemi</translation>
14 </message> 14 </message>
15 <message> 15 <message>
16 <location filename="installbootloader.cpp" line="85"/> 16 <location filename="installbootloader.cpp" line="85"/>
17 <source>Starting bootloader uninstallation</source> 17 <source>Starting bootloader uninstallation</source>
18 <translation>�ny�kleyici kaldirma islemi baslatiliyor</translation> 18 <translation>�ny�kleyici kaldirma islemi baslatiliyor</translation>
19 </message> 19 </message>
20 <message> 20 <message>
21 <location filename="installbootloader.cpp" line="116"/> 21 <location filename="installbootloader.cpp" line="116"/>
22 <source>No uninstallation possible</source> 22 <source>No uninstallation possible</source>
23 <translation>Uygun kaldirma islemi bulunmamaktadir</translation> 23 <translation>Uygun kaldirma islemi bulunmamaktadir</translation>
24 </message> 24 </message>
25 <message> 25 <message>
26 <location filename="installbootloader.cpp" line="151"/> 26 <location filename="installbootloader.cpp" line="151"/>
27 <source>Download error: received HTTP error %1.</source> 27 <source>Download error: received HTTP error %1.</source>
28 <translation>Indirme hatasi: HTTP %1 hatasi.</translation> 28 <translation>Indirme hatasi: HTTP %1 hatasi.</translation>
29 </message> 29 </message>
30 <message> 30 <message>
31 <location filename="installbootloader.cpp" line="157"/> 31 <location filename="installbootloader.cpp" line="157"/>
32 <source>Download error: %1</source> 32 <source>Download error: %1</source>
33 <translation>Indirme hatasi: %1</translation> 33 <translation>Indirme hatasi: %1</translation>
34 </message> 34 </message>
35 <message> 35 <message>
36 <location filename="installbootloader.cpp" line="162"/> 36 <location filename="installbootloader.cpp" line="162"/>
37 <source>Download finished.</source> 37 <source>Download finished.</source>
38 <translation>Indirme islemi tamamlandi.</translation> 38 <translation>Indirme islemi tamamlandi.</translation>
39 </message> 39 </message>
40 <message> 40 <message>
41 <location filename="installbootloader.cpp" line="224"/> 41 <location filename="installbootloader.cpp" line="224"/>
42 <source>Network error: %1. Please check your network and proxy settings.</source> 42 <source>Network error: %1. Please check your network and proxy settings.</source>
43 <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation> 43 <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
44 </message> 44 </message>
45 <message> 45 <message>
46 <location filename="installbootloader.cpp" line="237"/> 46 <location filename="installbootloader.cpp" line="237"/>
47 <source>Creating installation log</source> 47 <source>Creating installation log</source>
48 <translation>Kurulum kayit dosyasi yaratiliyor</translation> 48 <translation>Kurulum kayit dosyasi yaratiliyor</translation>
49 </message> 49 </message>
50 <message> 50 <message>
51 <location filename="installbootloader.cpp" line="253"/> 51 <location filename="installbootloader.cpp" line="253"/>
52 <source>Editing installation log</source> 52 <source>Editing installation log</source>
53 <translation>Kurulum kayit dosyasi d�zenleniyor</translation> 53 <translation>Kurulum kayit dosyasi d�zenleniyor</translation>
54 </message> 54 </message>
55 <message> 55 <message>
56 <location filename="installbootloader.cpp" line="1093"/> 56 <location filename="installbootloader.cpp" line="1093"/>
57 <source>Downloading file %1.%2</source> 57 <source>Downloading file %1.%2</source>
58 <translation>Dosya indiriliyor %1.%2</translation> 58 <translation>Dosya indiriliyor %1.%2</translation>
59 </message> 59 </message>
60 <message> 60 <message>
61 <location filename="installbootloader.cpp" line="323"/> 61 <location filename="installbootloader.cpp" line="323"/>
62 <source>Could not find the Original Firmware at: %1</source> 62 <source>Could not find the Original Firmware at: %1</source>
63 <translation>Orijinal bellenim (firmware) bulunamadi: %1</translation> 63 <translation>Orijinal bellenim (firmware) bulunamadi: %1</translation>
64 </message> 64 </message>
65 <message> 65 <message>
66 <location filename="installbootloader.cpp" line="545"/> 66 <location filename="installbootloader.cpp" line="545"/>
67 <source>Could not remove the Firmware at: %1</source> 67 <source>Could not remove the Firmware at: %1</source>
68 <translation>Bellenim (firmware) kaldirilamadi: %1</translation> 68 <translation>Bellenim (firmware) kaldirilamadi: %1</translation>
69 </message> 69 </message>
70 <message> 70 <message>
71 <location filename="installbootloader.cpp" line="554"/> 71 <location filename="installbootloader.cpp" line="554"/>
72 <source>Could not copy the Firmware from: %1 to %2</source> 72 <source>Could not copy the Firmware from: %1 to %2</source>
73 <translation>Bellenim (firmware) kopyalanamadi: %1 den %2 ye</translation> 73 <translation>Bellenim (firmware) kopyalanamadi: %1 den %2 ye</translation>
74 </message> 74 </message>
75 <message> 75 <message>
76 <location filename="installbootloader.cpp" line="360"/> 76 <location filename="installbootloader.cpp" line="360"/>
77 <source>Finishing bootloader install</source> 77 <source>Finishing bootloader install</source>
78 <translation>�ny�kleyici kurulumu sonlandiriliyor</translation> 78 <translation>�ny�kleyici kurulumu sonlandiriliyor</translation>
79 </message> 79 </message>
80 <message> 80 <message>
81 <location filename="installbootloader.cpp" line="370"/> 81 <location filename="installbootloader.cpp" line="370"/>
82 <source>Could not find the Firmware at: %1</source> 82 <source>Could not find the Firmware at: %1</source>
83 <translation>Bellenim (firmware) bulunamadi: %1</translation> 83 <translation>Bellenim (firmware) bulunamadi: %1</translation>
84 </message> 84 </message>
85 <message> 85 <message>
86 <location filename="installbootloader.cpp" line="596"/> 86 <location filename="installbootloader.cpp" line="596"/>
87 <source>Could not rename: %1 to %2</source> 87 <source>Could not rename: %1 to %2</source>
88 <translation>Yeniden adlandirma islemi basarisiz: %1 den %2 ye</translation> 88 <translation>Yeniden adlandirma islemi basarisiz: %1 den %2 ye</translation>
89 </message> 89 </message>
90 <message> 90 <message>
91 <location filename="installbootloader.cpp" line="1207"/> 91 <location filename="installbootloader.cpp" line="1207"/>
92 <source>Could not copy: %1 to %2</source> 92 <source>Could not copy: %1 to %2</source>
93 <translation>Kopyalama islemi basarisiz: %1 den %2 ye</translation> 93 <translation>Kopyalama islemi basarisiz: %1 den %2 ye</translation>
94 </message> 94 </message>
95 <message> 95 <message>
96 <location filename="installbootloader.cpp" line="1217"/> 96 <location filename="installbootloader.cpp" line="1217"/>
97 <source>Bootloader install finished successfully.</source> 97 <source>Bootloader install finished successfully.</source>
98 <translation>�ny�kleyici kurulumu basariyla tamamlandi.</translation> 98 <translation>�ny�kleyici kurulumu basariyla tamamlandi.</translation>
99 </message> 99 </message>
100 <message> 100 <message>
101 <location filename="installbootloader.cpp" line="1218"/> 101 <location filename="installbootloader.cpp" line="1218"/>
102 <source>To finish the Bootloader installation, follow the steps below.</source> 102 <source>To finish the Bootloader installation, follow the steps below.</source>
103 <translation>�ny�kleyici kurulumunu tamamlamak i�in asagidaki adimlari izleyin.</translation> 103 <translation>�ny�kleyici kurulumunu tamamlamak i�in asagidaki adimlari izleyin.</translation>
104 </message> 104 </message>
105 <message> 105 <message>
106 <location filename="installbootloader.cpp" line="1219"/> 106 <location filename="installbootloader.cpp" line="1219"/>
107 <source>1. Eject/Unmount your Device.</source> 107 <source>1. Eject/Unmount your Device.</source>
108 <translation>1. Aygiti �ikarin/Aygitin Baglantisini kesin.</translation> 108 <translation>1. Aygiti �ikarin/Aygitin Baglantisini kesin.</translation>
109 </message> 109 </message>
110 <message> 110 <message>
111 <location filename="installbootloader.cpp" line="413"/> 111 <location filename="installbootloader.cpp" line="413"/>
112 <source>2. Unplug USB and any Power adapters.</source> 112 <source>2. Unplug USB and any Power adapters.</source>
113 <translation>2. USB ve g�� kablolarinin baglantisini kesin.</translation> 113 <translation>2. USB ve g�� kablolarinin baglantisini kesin.</translation>
114 </message> 114 </message>
115 <message> 115 <message>
116 <location filename="installbootloader.cpp" line="414"/> 116 <location filename="installbootloader.cpp" line="414"/>
117 <source>3. Hold POWER to turn the Device off.</source> 117 <source>3. Hold POWER to turn the Device off.</source>
118 <translation>POWER (g��) d�gmesine basili tutarak aygiti kapatin.</translation> 118 <translation>POWER (g��) d�gmesine basili tutarak aygiti kapatin.</translation>
119 </message> 119 </message>
120 <message> 120 <message>
121 <location filename="installbootloader.cpp" line="415"/> 121 <location filename="installbootloader.cpp" line="415"/>
122 <source>4. Toggle the Battery switch on the Device.</source> 122 <source>4. Toggle the Battery switch on the Device.</source>
123 <translation>4. Aygitin pil anahtarini a�in.</translation> 123 <translation>4. Aygitin pil anahtarini a�in.</translation>
124 </message> 124 </message>
125 <message> 125 <message>
126 <location filename="installbootloader.cpp" line="416"/> 126 <location filename="installbootloader.cpp" line="416"/>
127 <source>5. Hold POWER to boot the Rockbox bootloader.</source> 127 <source>5. Hold POWER to boot the Rockbox bootloader.</source>
128 <translation>5. POWER (g��) d�gmesine basarak Rockbox �ny�kleyicisini baslatin.</translation> 128 <translation>5. POWER (g��) d�gmesine basarak Rockbox �ny�kleyicisini baslatin.</translation>
129 </message> 129 </message>
130 <message> 130 <message>
131 <location filename="installbootloader.cpp" line="471"/> 131 <location filename="installbootloader.cpp" line="471"/>
132 <source>2. Turn you Device OFF.</source> 132 <source>2. Turn you Device OFF.</source>
133 <translation>2. Aygiti kapatin.</translation> 133 <translation>2. Aygiti kapatin.</translation>
134 </message> 134 </message>
135 <message> 135 <message>
136 <location filename="installbootloader.cpp" line="472"/> 136 <location filename="installbootloader.cpp" line="472"/>
137 <source>3. Insert Charger.</source> 137 <source>3. Insert Charger.</source>
138 <translation>3. Aygitin sarjini baglayin.</translation> 138 <translation>3. Aygitin sarjini baglayin.</translation>
139 </message> 139 </message>
140 <message> 140 <message>
141 <location filename="installbootloader.cpp" line="582"/> 141 <location filename="installbootloader.cpp" line="582"/>
142 <source>Firmware does not exist: %1</source> 142 <source>Firmware does not exist: %1</source>
143 <translation>Bellenim (firmware) mevcut degil: %1</translation> 143 <translation>Bellenim (firmware) mevcut degil: %1</translation>
144 </message> 144 </message>
145 <message> 145 <message>
146 <location filename="installbootloader.cpp" line="533"/> 146 <location filename="installbootloader.cpp" line="533"/>
147 <source>Original Firmware does not exist: %1</source> 147 <source>Original Firmware does not exist: %1</source>
148 <translation>Orijinal bellenim (firmware) mevcut degil: %1</translation> 148 <translation>Orijinal bellenim (firmware) mevcut degil: %1</translation>
149 </message> 149 </message>
150 <message> 150 <message>
151 <location filename="installbootloader.cpp" line="639"/> 151 <location filename="installbootloader.cpp" line="639"/>
152 <source>Searching for ipods</source> 152 <source>Searching for ipods</source>
153 <translation>iPod&apos;lar araniyor</translation> 153 <translation>iPod&apos;lar araniyor</translation>
154 </message> 154 </message>
155 <message> 155 <message>
156 <location filename="installbootloader.cpp" line="645"/> 156 <location filename="installbootloader.cpp" line="645"/>
157 <source>No Ipods found</source> 157 <source>No Ipods found</source>
158 <translation>Herhangi bir iPod bulunamadi</translation> 158 <translation>Herhangi bir iPod bulunamadi</translation>
159 </message> 159 </message>
160 <message> 160 <message>
161 <location filename="installbootloader.cpp" line="651"/> 161 <location filename="installbootloader.cpp" line="651"/>
162 <source>Too many Ipods found</source> 162 <source>Too many Ipods found</source>
163 <translation>�ok sayida iPod bulundu</translation> 163 <translation>�ok sayida iPod bulundu</translation>
164 </message> 164 </message>
165 <message> 165 <message>
166 <location filename="installbootloader.cpp" line="781"/> 166 <location filename="installbootloader.cpp" line="781"/>
167 <source>could not open ipod</source> 167 <source>could not open ipod</source>
168 <translation>iPod a�ilamadi</translation> 168 <translation>iPod a�ilamadi</translation>
169 </message> 169 </message>
170 <message> 170 <message>
171 <location filename="installbootloader.cpp" line="996"/> 171 <location filename="installbootloader.cpp" line="996"/>
172 <source>could not read partitiontable</source> 172 <source>could not read partitiontable</source>
173 <translation>b�l�mlendirme tablosu okunamadi</translation> 173 <translation>b�l�mlendirme tablosu okunamadi</translation>
174 </message> 174 </message>
175 <message> 175 <message>
176 <location filename="installbootloader.cpp" line="795"/> 176 <location filename="installbootloader.cpp" line="795"/>
177 <source>No partition 0 on disk</source> 177 <source>No partition 0 on disk</source>
178 <translation>Diskte 0 b�l�m� mevcut degil</translation> 178 <translation>Diskte 0 b�l�m� mevcut degil</translation>
179 </message> 179 </message>
180 <message> 180 <message>
181 <location filename="installbootloader.cpp" line="800"/> 181 <location filename="installbootloader.cpp" line="800"/>
182 <source>[INFO] Part Start Sector End Sector Size (MB) Type 182 <source>[INFO] Part Start Sector End Sector Size (MB) Type
183</source> 183</source>
184 <translation>[BILGI] B�l�m Baslangi� sekt�r� Bitis sekt�r� Boyut (MB) T�r 184 <translation>[BILGI] B�l�m Baslangi� sekt�r� Bitis sekt�r� Boyut (MB) T�r
185</translation> 185</translation>
186 </message> 186 </message>
187 <message> 187 <message>
188 <location filename="installbootloader.cpp" line="806"/> 188 <location filename="installbootloader.cpp" line="806"/>
189 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source> 189 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
190 <translation>[BILGI] %1 %2 %3 %4 %5 (%6)</translation> 190 <translation>[BILGI] %1 %2 %3 %4 %5 (%6)</translation>
191 </message> 191 </message>
192 <message> 192 <message>
193 <location filename="installbootloader.cpp" line="823"/> 193 <location filename="installbootloader.cpp" line="823"/>
194 <source>Failed to read firmware directory</source> 194 <source>Failed to read firmware directory</source>
195 <translation>Bellenim (firmware) dizini okunamadi</translation> 195 <translation>Bellenim (firmware) dizini okunamadi</translation>
196 </message> 196 </message>
197 <message> 197 <message>
198 <location filename="installbootloader.cpp" line="829"/> 198 <location filename="installbootloader.cpp" line="829"/>
199 <source>Unknown version number in firmware (%1)</source> 199 <source>Unknown version number in firmware (%1)</source>
200 <translation>Bilinmeyen bellenim (firmware) s�r�m numarasi (%1)</translation> 200 <translation>Bilinmeyen bellenim (firmware) s�r�m numarasi (%1)</translation>
201 </message> 201 </message>
202 <message> 202 <message>
203 <location filename="installbootloader.cpp" line="839"/> 203 <location filename="installbootloader.cpp" line="839"/>
204 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod 204 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
205See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> 205See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
206 <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. 206 <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.
207Ayrintili bilgi i�in: http://www.rockbox.org/wiki/IpodConversionToFAT32</translation> 207Ayrintili bilgi i�in: http://www.rockbox.org/wiki/IpodConversionToFAT32</translation>
208 </message> 208 </message>
209 <message> 209 <message>
210 <location filename="installbootloader.cpp" line="847"/> 210 <location filename="installbootloader.cpp" line="847"/>
211 <source>Could not open Ipod in RW mode</source> 211 <source>Could not open Ipod in RW mode</source>
212 <translation>iPod RW modunda a�ilamadi</translation> 212 <translation>iPod RW modunda a�ilamadi</translation>
213 </message> 213 </message>
214 <message> 214 <message>
215 <location filename="installbootloader.cpp" line="751"/> 215 <location filename="installbootloader.cpp" line="751"/>
216 <source>No bootloader detected.</source> 216 <source>No bootloader detected.</source>
217 <translation>Herhangi bir �ny�kleyici algilanamadi.</translation> 217 <translation>Herhangi bir �ny�kleyici algilanamadi.</translation>
218 </message> 218 </message>
219 <message> 219 <message>
220 <location filename="installbootloader.cpp" line="966"/> 220 <location filename="installbootloader.cpp" line="966"/>
221 <source>Successfully removed Bootloader</source> 221 <source>Successfully removed Bootloader</source>
222 <translation>�ny�kleyici basariyla kaldirildi</translation> 222 <translation>�ny�kleyici basariyla kaldirildi</translation>
223 </message> 223 </message>
224 <message> 224 <message>
225 <location filename="installbootloader.cpp" line="974"/> 225 <location filename="installbootloader.cpp" line="974"/>
226 <source>--delete-bootloader failed.</source> 226 <source>--delete-bootloader failed.</source>
227 <translation>--delete-bootloader (�ny�kleyici silme komutu) basarisiz.</translation> 227 <translation>--delete-bootloader (�ny�kleyici silme komutu) basarisiz.</translation>
228 </message> 228 </message>
229 <message> 229 <message>
230 <location filename="installbootloader.cpp" line="1031"/> 230 <location filename="installbootloader.cpp" line="1031"/>
231 <source>Successfully added Bootloader</source> 231 <source>Successfully added Bootloader</source>
232 <translation>�ny�kleyici basariyla eklendi</translation> 232 <translation>�ny�kleyici basariyla eklendi</translation>
233 </message> 233 </message>
234 <message> 234 <message>
235 <location filename="installbootloader.cpp" line="1039"/> 235 <location filename="installbootloader.cpp" line="1039"/>
236 <source>failed to add Bootloader</source> 236 <source>failed to add Bootloader</source>
237 <translation>�ny�kleyici ekleme islemi basarisiz</translation> 237 <translation>�ny�kleyici ekleme islemi basarisiz</translation>
238 </message> 238 </message>
239 <message> 239 <message>
240 <location filename="installbootloader.cpp" line="882"/> 240 <location filename="installbootloader.cpp" line="882"/>
241 <source>Searching for sansas</source> 241 <source>Searching for sansas</source>
242 <translation>Sansa&apos;lar araniyor</translation> 242 <translation>Sansa&apos;lar araniyor</translation>
243 </message> 243 </message>
244 <message> 244 <message>
245 <location filename="installbootloader.cpp" line="888"/> 245 <location filename="installbootloader.cpp" line="888"/>
246 <source>No Sansa found</source> 246 <source>No Sansa found</source>
247 <translation>Herhangi bir Sansa bulunamadi</translation> 247 <translation>Herhangi bir Sansa bulunamadi</translation>
248 </message> 248 </message>
249 <message> 249 <message>
250 <location filename="installbootloader.cpp" line="894"/> 250 <location filename="installbootloader.cpp" line="894"/>
251 <source>Too many Sansas found</source> 251 <source>Too many Sansas found</source>
252 <translation>�ok sayida Sansa bulundu</translation> 252 <translation>�ok sayida Sansa bulundu</translation>
253 </message> 253 </message>
254 <message> 254 <message>
255 <location filename="installbootloader.cpp" line="989"/> 255 <location filename="installbootloader.cpp" line="989"/>
256 <source>could not open Sansa</source> 256 <source>could not open Sansa</source>
257 <translation>Sansa a�ilamadi</translation> 257 <translation>Sansa a�ilamadi</translation>
258 </message> 258 </message>
259 <message> 259 <message>
260 <location filename="installbootloader.cpp" line="1005"/> 260 <location filename="installbootloader.cpp" line="1005"/>
261 <source>Disk is not a Sansa (%1), aborting.</source> 261 <source>Disk is not a Sansa (%1), aborting.</source>
262 <translation>Disk bir Sansa degil (%1), islem durduruluyor.</translation> 262 <translation>Disk bir Sansa degil (%1), islem durduruluyor.</translation>
263 </message> 263 </message>
264 <message> 264 <message>
265 <location filename="installbootloader.cpp" line="1017"/> 265 <location filename="installbootloader.cpp" line="1017"/>
266 <source>******************************************** 266 <source>********************************************
267OLD ROCKBOX INSTALLATION DETECTED, ABORTING. 267OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
268You must reinstall the original Sansa firmware before running 268You must reinstall the original Sansa firmware before running
269sansapatcher for the first time. 269sansapatcher for the first time.
270See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install 270See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
271********************************************* 271*********************************************
272</source> 272</source>
273 <translation>******************************************** 273 <translation>********************************************
274ESKI BIR ROCKBOX KURULUMU ALGILANDI, ISLEM DURDURULUYOR. 274ESKI BIR ROCKBOX KURULUMU ALGILANDI, ISLEM DURDURULUYOR.
275Sansa yamalayicisini �alistirmak i�in orijinal Sansa bellenimini (firmware) 275Sansa yamalayicisini �alistirmak i�in orijinal Sansa bellenimini (firmware)
276tekrar kurmaniz gerekmektedir. 276tekrar kurmaniz gerekmektedir.
277Ayrintili bilgi i�in: http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install 277Ayrintili bilgi i�in: http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
278********************************************* 278*********************************************
279</translation> 279</translation>
280 </message> 280 </message>
281 <message> 281 <message>
282 <location filename="installbootloader.cpp" line="1024"/> 282 <location filename="installbootloader.cpp" line="1024"/>
283 <source>Could not open Sansa in RW mode</source> 283 <source>Could not open Sansa in RW mode</source>
284 <translation>Sansa RW modunda a�ilamadi</translation> 284 <translation>Sansa RW modunda a�ilamadi</translation>
285 </message> 285 </message>
286 <message> 286 <message>
287 <location filename="installbootloader.cpp" line="1055"/> 287 <location filename="installbootloader.cpp" line="1055"/>
288 <source>Could not MD5Sum original firmware</source> 288 <source>Could not MD5Sum original firmware</source>
289 <translation>Orijinal bellenimin (firmware) MD5Sum dogrulamasi basarisiz</translation> 289 <translation>Orijinal bellenimin (firmware) MD5Sum dogrulamasi basarisiz</translation>
290 </message> 290 </message>
291 <message> 291 <message>
292 <location filename="installbootloader.cpp" line="1085"/> 292 <location filename="installbootloader.cpp" line="1085"/>
293 <source>Could not detect firmware type</source> 293 <source>Could not detect firmware type</source>
294 <translation>Bellenim (firmware) t�r� algilanamadi</translation> 294 <translation>Bellenim (firmware) t�r� algilanamadi</translation>
295 </message> 295 </message>
296 <message> 296 <message>
297 <location filename="installbootloader.cpp" line="1148"/> 297 <location filename="installbootloader.cpp" line="1148"/>
298 <source>Error in descramble</source> 298 <source>Error in descramble</source>
299 <translation>Sinyali ��z�mlemede hata</translation> 299 <translation>Sinyali ��z�mlemede hata</translation>
300 </message> 300 </message>
301 <message> 301 <message>
302 <location filename="installbootloader.cpp" line="1158"/> 302 <location filename="installbootloader.cpp" line="1158"/>
303 <source>Error in patching</source> 303 <source>Error in patching</source>
304 <translation>Yamalama isleminde hata</translation> 304 <translation>Yamalama isleminde hata</translation>
305 </message> 305 </message>
306 <message> 306 <message>
307 <location filename="installbootloader.cpp" line="1168"/> 307 <location filename="installbootloader.cpp" line="1168"/>
308 <source>Error in scramble</source> 308 <source>Error in scramble</source>
309 <translation>Sinyali degistirmede hata</translation> 309 <translation>Sinyali degistirmede hata</translation>
310 </message> 310 </message>
311 <message> 311 <message>
312 <location filename="installbootloader.cpp" line="1179"/> 312 <location filename="installbootloader.cpp" line="1179"/>
313 <source>Error in checksumming</source> 313 <source>Error in checksumming</source>
314 <translation>Dogrulama basarisiz</translation> 314 <translation>Dogrulama basarisiz</translation>
315 </message> 315 </message>
316 <message> 316 <message>
317 <location filename="installbootloader.cpp" line="1220"/> 317 <location filename="installbootloader.cpp" line="1220"/>
318 <source>2. Boot into the original Firmware.</source> 318 <source>2. Boot into the original Firmware.</source>
319 <translation>2. Orijinal bellenimle (firmware) baslatin.</translation> 319 <translation>2. Orijinal bellenimle (firmware) baslatin.</translation>
320 </message> 320 </message>
321 <message> 321 <message>
322 <location filename="installbootloader.cpp" line="1221"/> 322 <location filename="installbootloader.cpp" line="1221"/>
323 <source>3. Use the Firmware flash option in the Original Firmware.</source> 323 <source>3. Use the Firmware flash option in the Original Firmware.</source>
324 <translation>3. Orijinal bellenimdeki (firmware) firmware flash se�enegini kullanin.</translation> 324 <translation>3. Orijinal bellenimdeki (firmware) firmware flash se�enegini kullanin.</translation>
325 </message> 325 </message>
326 <message> 326 <message>
327 <location filename="installbootloader.cpp" line="1222"/> 327 <location filename="installbootloader.cpp" line="1222"/>
328 <source>4. Reboot.</source> 328 <source>4. Reboot.</source>
329 <translation>4. Yeniden baslatin.</translation> 329 <translation>4. Yeniden baslatin.</translation>
330 </message> 330 </message>
331</context> 331</context>
332<context> 332<context>
333 <name>BrowseDirtreeFrm</name> 333 <name>BrowseDirtreeFrm</name>
334 <message> 334 <message>
335 <location filename="browsedirtreefrm.ui" line="13"/> 335 <location filename="browsedirtreefrm.ui" line="13"/>
336 <source>Find Directory</source> 336 <source>Find Directory</source>
337 <translation>Dizini Bul</translation> 337 <translation>Dizini Bul</translation>
338 </message> 338 </message>
339 <message> 339 <message>
340 <location filename="browsedirtreefrm.ui" line="19"/> 340 <location filename="browsedirtreefrm.ui" line="19"/>
341 <source>Browse to the destination folder</source> 341 <source>Browse to the destination folder</source>
342 <translation>Hedef dizini se�in</translation> 342 <translation>Hedef dizini se�in</translation>
343 </message> 343 </message>
344 <message> 344 <message>
345 <location filename="browsedirtreefrm.ui" line="47"/> 345 <location filename="browsedirtreefrm.ui" line="47"/>
346 <source>&amp;Ok</source> 346 <source>&amp;Ok</source>
347 <translation>&amp;Tamam</translation> 347 <translation>&amp;Tamam</translation>
348 </message> 348 </message>
349 <message> 349 <message>
350 <location filename="browsedirtreefrm.ui" line="57"/> 350 <location filename="browsedirtreefrm.ui" line="57"/>
351 <source>&amp;Cancel</source> 351 <source>&amp;Cancel</source>
352 <translation>&amp;Iptal</translation> 352 <translation>&amp;Iptal</translation>
353 </message> 353 </message>
354</context> 354</context>
355<context> 355<context>
356 <name>BrowseOFFrm</name> 356 <name>BrowseOFFrm</name>
357 <message> 357 <message>
358 <location filename="browseoffrm.ui" line="13"/> 358 <location filename="browseoffrm.ui" line="13"/>
359 <source>Find original Firmware</source> 359 <source>Find original Firmware</source>
360 <translation>Orijinal bellenimi (firmware) bul</translation> 360 <translation>Orijinal bellenimi (firmware) bul</translation>
361 </message> 361 </message>
362 <message> 362 <message>
363 <location filename="browseoffrm.ui" line="19"/> 363 <location filename="browseoffrm.ui" line="19"/>
364 <source>Browse for a downloaded copy of the original firmware</source> 364 <source>Browse for a downloaded copy of the original firmware</source>
365 <translation>Indirilmis orijinal bellenimin (firmware) kopyasina g�z at</translation> 365 <translation>Indirilmis orijinal bellenimin (firmware) kopyasina g�z at</translation>
366 </message> 366 </message>
367 <message> 367 <message>
368 <location filename="browseoffrm.ui" line="32"/> 368 <location filename="browseoffrm.ui" line="32"/>
369 <source>Browse</source> 369 <source>Browse</source>
370 <translation>G�z At</translation> 370 <translation>G�z At</translation>
371 </message> 371 </message>
372 <message> 372 <message>
373 <location filename="browseoffrm.ui" line="54"/> 373 <location filename="browseoffrm.ui" line="54"/>
374 <source>&amp;Ok</source> 374 <source>&amp;Ok</source>
375 <translation>&amp;Tamam</translation> 375 <translation>&amp;Tamam</translation>
376 </message> 376 </message>
377 <message> 377 <message>
378 <location filename="browseoffrm.ui" line="64"/> 378 <location filename="browseoffrm.ui" line="64"/>
379 <source>&amp;Cancel</source> 379 <source>&amp;Cancel</source>
380 <translation>&amp;Iptal</translation> 380 <translation>&amp;Iptal</translation>
381 </message> 381 </message>
382</context> 382</context>
383<context> 383<context>
384 <name>Config</name> 384 <name>Config</name>
385 <message> 385 <message>
386 <location filename="configure.cpp" line="56"/> 386 <location filename="configure.cpp" line="56"/>
387 <source> (%1)</source> 387 <source> (%1)</source>
388 <translation> (%1)</translation> 388 <translation> (%1)</translation>
389 </message> 389 </message>
390 <message> 390 <message>
391 <location filename="configure.cpp" line="110"/> 391 <location filename="configure.cpp" line="110"/>
392 <source>Language changed</source> 392 <source>Language changed</source>
393 <translation>Dil degistirildi</translation> 393 <translation>Dil degistirildi</translation>
394 </message> 394 </message>
395 <message> 395 <message>
396 <location filename="configure.cpp" line="111"/> 396 <location filename="configure.cpp" line="111"/>
397 <source>You need to restart the application for the changed language to take effect.</source> 397 <source>You need to restart the application for the changed language to take effect.</source>
398 <translation>Se�ilen dilin etkin olmasi i�in uygulamayi yeniden baslatmalisiniz.</translation> 398 <translation>Se�ilen dilin etkin olmasi i�in uygulamayi yeniden baslatmalisiniz.</translation>
399 </message> 399 </message>
400 <message> 400 <message>
401 <location filename="configure.cpp" line="220"/> 401 <location filename="configure.cpp" line="220"/>
402 <source>Current cache size is %L1 kiB.</source> 402 <source>Current cache size is %L1 kiB.</source>
403 <translation>Mevcut �nbellek boyutu %L1 KB.</translation> 403 <translation>Mevcut �nbellek boyutu %L1 KB.</translation>
404 </message> 404 </message>
405 <message> 405 <message>
406 <location filename="configure.cpp" line="485"/> 406 <location filename="configure.cpp" line="485"/>
407 <source>Select your device</source> 407 <source>Select your device</source>
408 <translation>Aygitinizi se�in</translation> 408 <translation>Aygitinizi se�in</translation>
409 </message> 409 </message>
410 <message> 410 <message>
411 <location filename="configure.cpp" line="569"/> 411 <location filename="configure.cpp" line="569"/>
412 <source>Sansa e200 in MTP mode found! 412 <source>Sansa e200 in MTP mode found!
413You need to change your player to MSC mode for installation. </source> 413You need to change your player to MSC mode for installation. </source>
414 <translation>MTP modunda bir Sansa e200 bulundu! 414 <translation>MTP modunda bir Sansa e200 bulundu!
415Kurulum i�in aygiti MSC moduna almalisiniz. </translation> 415Kurulum i�in aygiti MSC moduna almalisiniz. </translation>
416 </message> 416 </message>
417 <message> 417 <message>
418 <location filename="configure.cpp" line="572"/> 418 <location filename="configure.cpp" line="572"/>
419 <source>H10 20GB in MTP mode found! 419 <source>H10 20GB in MTP mode found!
420You need to change your player to UMS mode for installation. </source> 420You need to change your player to UMS mode for installation. </source>
421 <translation>MTP modunda bir H10 20GB bulundu! 421 <translation>MTP modunda bir H10 20GB bulundu!
422Kurulum i�in aygiti UMS moduna almalisiniz. </translation> 422Kurulum i�in aygiti UMS moduna almalisiniz. </translation>
423 </message> 423 </message>
424 <message> 424 <message>
425 <location filename="configure.cpp" line="573"/> 425 <location filename="configure.cpp" line="573"/>
426 <source>Unless you changed this installation will fail!</source> 426 <source>Unless you changed this installation will fail!</source>
427 <translation>Degistirmezseniz kurulum ger�eklestirilemez!</translation> 427 <translation>Degistirmezseniz kurulum ger�eklestirilemez!</translation>
428 </message> 428 </message>
429 <message> 429 <message>
430 <location filename="configure.cpp" line="575"/> 430 <location filename="configure.cpp" line="575"/>
431 <source>Fatal error</source> 431 <source>Fatal error</source>
432 <translation>�nemli hata</translation> 432 <translation>�nemli hata</translation>
433 </message> 433 </message>
434 <message> 434 <message>
435 <location filename="configure.cpp" line="593"/> 435 <location filename="configure.cpp" line="593"/>
436 <source>Autodetection</source> 436 <source>Autodetection</source>
437 <translation>Otomatik algilama</translation> 437 <translation>Otomatik algilama</translation>
438 </message> 438 </message>
439 <message> 439 <message>
440 <location filename="configure.cpp" line="587"/> 440 <location filename="configure.cpp" line="587"/>
441 <source>Could not detect a Mountpoint. 441 <source>Could not detect a Mountpoint.
442Select your Mountpoint manually.</source> 442Select your Mountpoint manually.</source>
443 <translation>Herhangi bir baglama noktasi algilanamadi. 443 <translation>Herhangi bir baglama noktasi algilanamadi.
444Baglama noktasini kendiniz se�iniz.</translation> 444Baglama noktasini kendiniz se�iniz.</translation>
445 </message> 445 </message>
446 <message> 446 <message>
447 <location filename="configure.cpp" line="595"/> 447 <location filename="configure.cpp" line="595"/>
448 <source>Could not detect a device. 448 <source>Could not detect a device.
449Select your device and Mountpoint manually.</source> 449Select your device and Mountpoint manually.</source>
450 <translation>Herhangi bir aygit algilanamadi. 450 <translation>Herhangi bir aygit algilanamadi.
451Aygitinizi ve baglama noktasini kendiniz se�iniz.</translation> 451Aygitinizi ve baglama noktasini kendiniz se�iniz.</translation>
452 </message> 452 </message>
453 <message> 453 <message>
454 <location filename="configure.cpp" line="603"/> 454 <location filename="configure.cpp" line="603"/>
455 <source>Really delete cache?</source> 455 <source>Really delete cache?</source>
456 <translation>�nbellegi silmek istediginizden emin misiniz?</translation> 456 <translation>�nbellegi silmek istediginizden emin misiniz?</translation>
457 </message> 457 </message>
458 <message> 458 <message>
459 <location filename="configure.cpp" line="606"/> 459 <location filename="configure.cpp" line="606"/>
460 <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> 460 <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>
461 <translation>�nbellegi silmeyi onayliyor musunuz? Bu se�enek ilgili dizindeki &lt;b&gt;t�m&lt;/b&gt; dosyalari silecek!</translation> 461 <translation>�nbellegi silmeyi onayliyor musunuz? Bu se�enek ilgili dizindeki &lt;b&gt;t�m&lt;/b&gt; dosyalari silecek!</translation>
462 </message> 462 </message>
463 <message> 463 <message>
464 <location filename="configure.cpp" line="612"/> 464 <location filename="configure.cpp" line="612"/>
465 <source>Path wrong!</source> 465 <source>Path wrong!</source>
466 <translation>Konum hatali!</translation> 466 <translation>Konum hatali!</translation>
467 </message> 467 </message>
468 <message> 468 <message>
469 <location filename="configure.cpp" line="613"/> 469 <location filename="configure.cpp" line="613"/>
470 <source>The cache path is invalid. Aborting.</source> 470 <source>The cache path is invalid. Aborting.</source>
471 <translation>�nbellek konumu ge�ersiz. Islem durduruluyor.</translation> 471 <translation>�nbellek konumu ge�ersiz. Islem durduruluyor.</translation>
472 </message> 472 </message>
473 <message> 473 <message>
474 <location filename="configure.cpp" line="418"/> 474 <location filename="configure.cpp" line="418"/>
475 <source>(system proxy is disabled)</source> 475 <source>(system proxy is disabled)</source>
476 <translation type="unfinished"></translation> 476 <translation type="unfinished"></translation>
477 </message> 477 </message>
478</context> 478</context>
479<context> 479<context>
480 <name>ConfigForm</name> 480 <name>ConfigForm</name>
481 <message> 481 <message>
482 <location filename="configurefrm.ui" line="13"/> 482 <location filename="configurefrm.ui" line="13"/>
483 <source>Configuration</source> 483 <source>Configuration</source>
484 <translation>Yapilandirma</translation> 484 <translation>Yapilandirma</translation>
485 </message> 485 </message>
486 <message> 486 <message>
487 <location filename="configurefrm.ui" line="19"/> 487 <location filename="configurefrm.ui" line="19"/>
488 <source>Configure Rockbox Utility</source> 488 <source>Configure Rockbox Utility</source>
489 <translation>Rockbox Aracini Yapilandir</translation> 489 <translation>Rockbox Aracini Yapilandir</translation>
490 </message> 490 </message>
491 <message> 491 <message>
492 <location filename="configurefrm.ui" line="30"/> 492 <location filename="configurefrm.ui" line="30"/>
493 <source>&amp;Device</source> 493 <source>&amp;Device</source>
494 <translation>&amp;Aygit</translation> 494 <translation>&amp;Aygit</translation>
495 </message> 495 </message>
496 <message> 496 <message>
497 <location filename="configurefrm.ui" line="39"/> 497 <location filename="configurefrm.ui" line="39"/>
498 <source>Select your device in the &amp;filesystem</source> 498 <source>Select your device in the &amp;filesystem</source>
499 <translation>Aygitinizi &amp;dosya sisteminde se�in</translation> 499 <translation>Aygitinizi &amp;dosya sisteminde se�in</translation>
500 </message> 500 </message>
501 <message> 501 <message>
502 <location filename="configurefrm.ui" line="286"/> 502 <location filename="configurefrm.ui" line="286"/>
503 <source>&amp;Browse</source> 503 <source>&amp;Browse</source>
504 <translation>&amp;G�z At</translation> 504 <translation>&amp;G�z At</translation>
505 </message> 505 </message>
506 <message> 506 <message>
507 <location filename="configurefrm.ui" line="66"/> 507 <location filename="configurefrm.ui" line="66"/>
508 <source>&amp;Select your audio player</source> 508 <source>&amp;Select your audio player</source>
509 <translation>&amp;Ses oynaticinizi se�in</translation> 509 <translation>&amp;Ses oynaticinizi se�in</translation>
510 </message> 510 </message>
511 <message> 511 <message>
512 <location filename="configurefrm.ui" line="77"/> 512 <location filename="configurefrm.ui" line="77"/>
513 <source>1</source> 513 <source>1</source>
514 <translation>1</translation> 514 <translation>1</translation>
515 </message> 515 </message>
516 <message> 516 <message>
517 <location filename="configurefrm.ui" line="98"/> 517 <location filename="configurefrm.ui" line="98"/>
518 <source>&amp;Autodetect</source> 518 <source>&amp;Autodetect</source>
519 <translation>&amp;Otomatik Algilama</translation> 519 <translation>&amp;Otomatik Algilama</translation>
520 </message> 520 </message>
521 <message> 521 <message>
522 <location filename="configurefrm.ui" line="109"/> 522 <location filename="configurefrm.ui" line="109"/>
523 <source>&amp;Proxy</source> 523 <source>&amp;Proxy</source>
524 <translation>&amp;Vekil Sunucu</translation> 524 <translation>&amp;Vekil Sunucu</translation>
525 </message> 525 </message>
526 <message> 526 <message>
527 <location filename="configurefrm.ui" line="118"/> 527 <location filename="configurefrm.ui" line="118"/>
528 <source>&amp;No Proxy</source> 528 <source>&amp;No Proxy</source>
529 <translation>Vekil Sunucu &amp;Yok</translation> 529 <translation>Vekil Sunucu &amp;Yok</translation>
530 </message> 530 </message>
531 <message> 531 <message>
532 <location filename="configurefrm.ui" line="128"/> 532 <location filename="configurefrm.ui" line="128"/>
533 <source>Use S&amp;ystem values</source> 533 <source>Use S&amp;ystem values</source>
534 <translation>S&amp;istem degerlerini kullan</translation> 534 <translation>S&amp;istem degerlerini kullan</translation>
535 </message> 535 </message>
536 <message> 536 <message>
537 <location filename="configurefrm.ui" line="135"/> 537 <location filename="configurefrm.ui" line="135"/>
538 <source>&amp;Manual Proxy settings</source> 538 <source>&amp;Manual Proxy settings</source>
539 <translation>Vekil Sunucu &amp;ayarlari</translation> 539 <translation>Vekil Sunucu &amp;ayarlari</translation>
540 </message> 540 </message>
541 <message> 541 <message>
542 <location filename="configurefrm.ui" line="142"/> 542 <location filename="configurefrm.ui" line="142"/>
543 <source>Proxy Values</source> 543 <source>Proxy Values</source>
544 <translation>Vekil Sunucu Degerleri</translation> 544 <translation>Vekil Sunucu Degerleri</translation>
545 </message> 545 </message>
546 <message> 546 <message>
547 <location filename="configurefrm.ui" line="148"/> 547 <location filename="configurefrm.ui" line="148"/>
548 <source>&amp;Host:</source> 548 <source>&amp;Host:</source>
549 <translation>S&amp;unucu:</translation> 549 <translation>S&amp;unucu:</translation>
550 </message> 550 </message>
551 <message> 551 <message>
552 <location filename="configurefrm.ui" line="165"/> 552 <location filename="configurefrm.ui" line="165"/>
553 <source>&amp;Port:</source> 553 <source>&amp;Port:</source>
554 <translation>&amp;Port:</translation> 554 <translation>&amp;Port:</translation>
555 </message> 555 </message>
556 <message> 556 <message>
557 <location filename="configurefrm.ui" line="188"/> 557 <location filename="configurefrm.ui" line="188"/>
558 <source>&amp;Username</source> 558 <source>&amp;Username</source>
559 <translation>&amp;Kullanici Adi</translation> 559 <translation>&amp;Kullanici Adi</translation>
560 </message> 560 </message>
561 <message> 561 <message>
562 <location filename="configurefrm.ui" line="198"/> 562 <location filename="configurefrm.ui" line="198"/>
563 <source>Pass&amp;word</source> 563 <source>Pass&amp;word</source>
564 <translation>Pa&amp;rola</translation> 564 <translation>Pa&amp;rola</translation>
565 </message> 565 </message>
566 <message> 566 <message>
567 <location filename="configurefrm.ui" line="225"/> 567 <location filename="configurefrm.ui" line="225"/>
568 <source>&amp;Language</source> 568 <source>&amp;Language</source>
569 <translation>&amp;Dil</translation> 569 <translation>&amp;Dil</translation>
570 </message> 570 </message>
571 <message> 571 <message>
572 <location filename="configurefrm.ui" line="238"/> 572 <location filename="configurefrm.ui" line="238"/>
573 <source>Cac&amp;he</source> 573 <source>Cac&amp;he</source>
574 <translation>&amp;�nbellek</translation> 574 <translation>&amp;�nbellek</translation>
575 </message> 575 </message>
576 <message> 576 <message>
577 <location filename="configurefrm.ui" line="244"/> 577 <location filename="configurefrm.ui" line="244"/>
578 <source>Download cache settings</source> 578 <source>Download cache settings</source>
579 <translation>Indirme �nbellegi ayarlari</translation> 579 <translation>Indirme �nbellegi ayarlari</translation>
580 </message> 580 </message>
581 <message> 581 <message>
582 <location filename="configurefrm.ui" line="250"/> 582 <location filename="configurefrm.ui" line="250"/>
583 <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> 583 <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>
584 <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> 584 <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>
585 </message> 585 </message>
586 <message> 586 <message>
587 <location filename="configurefrm.ui" line="260"/> 587 <location filename="configurefrm.ui" line="260"/>
588 <source>Current cache size is %1</source> 588 <source>Current cache size is %1</source>
589 <translation>Mevcut �nbellek boyutu %1</translation> 589 <translation>Mevcut �nbellek boyutu %1</translation>
590 </message> 590 </message>
591 <message> 591 <message>
592 <location filename="configurefrm.ui" line="269"/> 592 <location filename="configurefrm.ui" line="269"/>
593 <source>P&amp;ath</source> 593 <source>P&amp;ath</source>
594 <translation>&amp;Konum</translation> 594 <translation>&amp;Konum</translation>
595 </message> 595 </message>
596 <message> 596 <message>
597 <location filename="configurefrm.ui" line="279"/> 597 <location filename="configurefrm.ui" line="279"/>
598 <source>Entering an invalid folder will reset the path to the systems temporary path.</source> 598 <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
599 <translation>Ge�ersiz bir dizin girmek konumu sistemin ge�ici konumuna getirir.</translation> 599 <translation>Ge�ersiz bir dizin girmek konumu sistemin ge�ici konumuna getirir.</translation>
600 </message> 600 </message>
601 <message> 601 <message>
602 <location filename="configurefrm.ui" line="300"/> 602 <location filename="configurefrm.ui" line="300"/>
603 <source>Disable local &amp;download cache</source> 603 <source>Disable local &amp;download cache</source>
604 <translation>Yerel &amp;indirme �nbellegini kapat</translation> 604 <translation>Yerel &amp;indirme �nbellegini kapat</translation>
605 </message> 605 </message>
606 <message> 606 <message>
607 <location filename="configurefrm.ui" line="307"/> 607 <location filename="configurefrm.ui" line="307"/>
608 <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> 608 <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>
609 <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> 609 <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>
610 </message> 610 </message>
611 <message> 611 <message>
612 <location filename="configurefrm.ui" line="310"/> 612 <location filename="configurefrm.ui" line="310"/>
613 <source>O&amp;ffline mode</source> 613 <source>O&amp;ffline mode</source>
614 <translation>&amp;�evrimdisi modu</translation> 614 <translation>&amp;�evrimdisi modu</translation>
615 </message> 615 </message>
616 <message> 616 <message>
617 <location filename="configurefrm.ui" line="345"/> 617 <location filename="configurefrm.ui" line="345"/>
618 <source>Clean cache &amp;now</source> 618 <source>Clean cache &amp;now</source>
619 <translation>�nbellegi &amp;temizle</translation> 619 <translation>�nbellegi &amp;temizle</translation>
620 </message> 620 </message>
621 <message> 621 <message>
622 <location filename="configurefrm.ui" line="356"/> 622 <location filename="configurefrm.ui" line="356"/>
623 <source>&amp;TTS &amp;&amp; Encoder</source> 623 <source>&amp;TTS &amp;&amp; Encoder</source>
624 <translation>&amp;TTS &amp;&amp; Kodlayici</translation> 624 <translation>&amp;TTS &amp;&amp; Kodlayici</translation>
625 </message> 625 </message>
626 <message> 626 <message>
627 <location filename="configurefrm.ui" line="365"/> 627 <location filename="configurefrm.ui" line="365"/>
628 <source>TTS Engine</source> 628 <source>TTS Engine</source>
629 <translation>TTS Motoru</translation> 629 <translation>TTS Motoru</translation>
630 </message> 630 </message>
631 <message> 631 <message>
632 <location filename="" line="137529492"/> 632 <location filename="" line="137529492"/>
633 <source>&amp;Select TTS profile</source> 633 <source>&amp;Select TTS profile</source>
634 <translation type="obsolete">TTS &amp;Profilini se�in</translation> 634 <translation type="obsolete">TTS &amp;Profilini se�in</translation>
635 </message> 635 </message>
636 <message> 636 <message>
637 <location filename="" line="137529492"/> 637 <location filename="" line="137529492"/>
638 <source>TTS executable</source> 638 <source>TTS executable</source>
639 <translation type="obsolete">TTS �alistirilabilir dosyasi</translation> 639 <translation type="obsolete">TTS �alistirilabilir dosyasi</translation>
640 </message> 640 </message>
641 <message> 641 <message>
642 <location filename="" line="137529492"/> 642 <location filename="" line="137529492"/>
643 <source>TTS Options</source> 643 <source>TTS Options</source>
644 <translation type="obsolete">TTS Se�enekleri</translation> 644 <translation type="obsolete">TTS Se�enekleri</translation>
645 </message> 645 </message>
646 <message> 646 <message>
647 <location filename="" line="137529492"/> 647 <location filename="" line="137529492"/>
648 <source>TTS Language</source> 648 <source>TTS Language</source>
649 <translation type="obsolete">TTS Dili</translation> 649 <translation type="obsolete">TTS Dili</translation>
650 </message> 650 </message>
651 <message> 651 <message>
652 <location filename="configurefrm.ui" line="421"/> 652 <location filename="configurefrm.ui" line="421"/>
653 <source>Encoder Engine</source> 653 <source>Encoder Engine</source>
654 <translation>Kodlayici Motoru</translation> 654 <translation>Kodlayici Motoru</translation>
655 </message> 655 </message>
656 <message> 656 <message>
657 <location filename="" line="137529492"/> 657 <location filename="" line="137529492"/>
658 <source>Select &amp;encoder profile</source> 658 <source>Select &amp;encoder profile</source>
659 <translation type="obsolete">Kod&amp;layici profilini se�in</translation> 659 <translation type="obsolete">Kod&amp;layici profilini se�in</translation>
660 </message> 660 </message>
661 <message> 661 <message>
662 <location filename="" line="137529492"/> 662 <location filename="" line="137529492"/>
663 <source>Encoder executable</source> 663 <source>Encoder executable</source>
664 <translation type="obsolete">Kodlayici �alistirilabilir dosyasi</translation> 664 <translation type="obsolete">Kodlayici �alistirilabilir dosyasi</translation>
665 </message> 665 </message>
666 <message> 666 <message>
667 <location filename="" line="137529492"/> 667 <location filename="" line="137529492"/>
668 <source>B&amp;rowse</source> 668 <source>B&amp;rowse</source>
669 <translation type="obsolete">&amp;G�z At</translation> 669 <translation type="obsolete">&amp;G�z At</translation>
670 </message> 670 </message>
671 <message> 671 <message>
672 <location filename="" line="137529492"/> 672 <location filename="" line="137529492"/>
673 <source>Encoder options</source> 673 <source>Encoder options</source>
674 <translation type="obsolete">Kodlayici Se�enekleri</translation> 674 <translation type="obsolete">Kodlayici Se�enekleri</translation>
675 </message> 675 </message>
676 <message> 676 <message>
677 <location filename="configurefrm.ui" line="507"/> 677 <location filename="configurefrm.ui" line="507"/>
678 <source>&amp;Ok</source> 678 <source>&amp;Ok</source>
679 <translation>&amp;Tamam</translation> 679 <translation>&amp;Tamam</translation>
680 </message> 680 </message>
681 <message> 681 <message>
682 <location filename="configurefrm.ui" line="517"/> 682 <location filename="configurefrm.ui" line="517"/>
683 <source>&amp;Cancel</source> 683 <source>&amp;Cancel</source>
684 <translation>&amp;Iptal</translation> 684 <translation>&amp;Iptal</translation>
685 </message> 685 </message>
686 <message> 686 <message>
687 <location filename="configurefrm.ui" line="371"/> 687 <location filename="configurefrm.ui" line="371"/>
688 <source>&amp;Select TTS Engine</source> 688 <source>&amp;Select TTS Engine</source>
689 <translation type="unfinished"></translation> 689 <translation type="unfinished"></translation>
690 </message> 690 </message>
691 <message> 691 <message>
692 <location filename="configurefrm.ui" line="384"/> 692 <location filename="configurefrm.ui" line="384"/>
693 <source>Configure TTS Engine</source> 693 <source>Configure TTS Engine</source>
694 <translation type="unfinished"></translation> 694 <translation type="unfinished"></translation>
695 </message> 695 </message>
696 <message> 696 <message>
697 <location filename="configurefrm.ui" line="447"/> 697 <location filename="configurefrm.ui" line="447"/>
698 <source>Configuration invalid !</source> 698 <source>Configuration invalid !</source>
699 <translation type="unfinished"></translation> 699 <translation type="unfinished"></translation>
700 </message> 700 </message>
701 <message> 701 <message>
702 <location filename="configurefrm.ui" line="408"/> 702 <location filename="configurefrm.ui" line="408"/>
703 <source>Configure &amp;TTS</source> 703 <source>Configure &amp;TTS</source>
704 <translation type="unfinished"></translation> 704 <translation type="unfinished"></translation>
705 </message> 705 </message>
706 <message> 706 <message>
707 <location filename="configurefrm.ui" line="427"/> 707 <location filename="configurefrm.ui" line="427"/>
708 <source>Select &amp;encoder</source> 708 <source>Select &amp;encoder</source>
709 <translation type="unfinished"></translation> 709 <translation type="unfinished"></translation>
710 </message> 710 </message>
711 <message> 711 <message>
712 <location filename="configurefrm.ui" line="440"/> 712 <location filename="configurefrm.ui" line="440"/>
713 <source>Configure encoder</source> 713 <source>Configure encoder</source>
714 <translation type="unfinished"></translation> 714 <translation type="unfinished"></translation>
715 </message> 715 </message>
716 <message> 716 <message>
717 <location filename="configurefrm.ui" line="464"/> 717 <location filename="configurefrm.ui" line="464"/>
718 <source> Configure &amp;Enc</source> 718 <source> Configure &amp;Enc</source>
719 <translation type="unfinished"></translation> 719 <translation type="unfinished"></translation>
720 </message> 720 </message>
721</context> 721</context>
722<context> 722<context>
723 <name>Configure</name> 723 <name>Configure</name>
724 <message> 724 <message>
725 <location filename="configure.cpp" line="469"/> 725 <location filename="configure.cpp" line="469"/>
726 <source>English</source> 726 <source>English</source>
727 <translation>T�rk�e</translation> 727 <translation>T�rk�e</translation>
728 </message> 728 </message>
729</context> 729</context>
730<context> 730<context>
731 <name>CreateVoiceFrm</name> 731 <name>CreateVoiceFrm</name>
732 <message> 732 <message>
733 <location filename="createvoicefrm.ui" line="16"/> 733 <location filename="createvoicefrm.ui" line="16"/>
734 <source>Create Voice File</source> 734 <source>Create Voice File</source>
735 <translation type="unfinished"></translation> 735 <translation type="unfinished"></translation>
736 </message> 736 </message>
737 <message> 737 <message>
738 <location filename="createvoicefrm.ui" line="41"/> 738 <location filename="createvoicefrm.ui" line="41"/>
739 <source>Select the Language you want to generate a voicefile for:</source> 739 <source>Select the Language you want to generate a voicefile for:</source>
740 <translation type="unfinished"></translation> 740 <translation type="unfinished"></translation>
741 </message> 741 </message>
742 <message> 742 <message>
743 <location filename="createvoicefrm.ui" line="51"/> 743 <location filename="createvoicefrm.ui" line="51"/>
744 <source>Generation settings</source> 744 <source>Generation settings</source>
745 <translation type="unfinished">Olusturma ayarlari</translation> 745 <translation type="unfinished">Olusturma ayarlari</translation>
746 </message> 746 </message>
747 <message> 747 <message>
748 <location filename="createvoicefrm.ui" line="57"/> 748 <location filename="createvoicefrm.ui" line="57"/>
749 <source>Encoder profile:</source> 749 <source>Encoder profile:</source>
750 <translation type="unfinished">Kodlayici profili:</translation> 750 <translation type="unfinished">Kodlayici profili:</translation>
751 </message> 751 </message>
752 <message> 752 <message>
753 <location filename="createvoicefrm.ui" line="64"/> 753 <location filename="createvoicefrm.ui" line="64"/>
754 <source>TTS profile:</source> 754 <source>TTS profile:</source>
755 <translation type="unfinished">TTS profili:</translation> 755 <translation type="unfinished">TTS profili:</translation>
756 </message> 756 </message>
757 <message> 757 <message>
758 <location filename="createvoicefrm.ui" line="77"/> 758 <location filename="createvoicefrm.ui" line="77"/>
759 <source>Change</source> 759 <source>Change</source>
760 <translation type="unfinished"></translation> 760 <translation type="unfinished"></translation>
761 </message> 761 </message>
762 <message> 762 <message>
763 <location filename="createvoicefrm.ui" line="128"/> 763 <location filename="createvoicefrm.ui" line="128"/>
764 <source>&amp;Install</source> 764 <source>&amp;Install</source>
765 <translation type="unfinished">&amp;Y�kle</translation> 765 <translation type="unfinished">&amp;Y�kle</translation>
766 </message> 766 </message>
767 <message> 767 <message>
768 <location filename="createvoicefrm.ui" line="138"/> 768 <location filename="createvoicefrm.ui" line="138"/>
769 <source>&amp;Cancel</source> 769 <source>&amp;Cancel</source>
770 <translation type="unfinished">&amp;Iptal</translation> 770 <translation type="unfinished">&amp;Iptal</translation>
771 </message> 771 </message>
772 <message> 772 <message>
773 <location filename="createvoicefrm.ui" line="152"/> 773 <location filename="createvoicefrm.ui" line="152"/>
774 <source>Wavtrim Threshold</source> 774 <source>Wavtrim Threshold</source>
775 <translation type="unfinished"></translation> 775 <translation type="unfinished"></translation>
776 </message> 776 </message>
777</context> 777</context>
778<context> 778<context>
779 <name>CreateVoiceWindow</name> 779 <name>CreateVoiceWindow</name>
780 <message> 780 <message>
781 <location filename="createvoicewindow.cpp" line="96"/> 781 <location filename="createvoicewindow.cpp" line="96"/>
782 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 782 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
783 <translation type="unfinished"></translation> 783 <translation type="unfinished"></translation>
784 </message> 784 </message>
785 <message> 785 <message>
786 <location filename="createvoicewindow.cpp" line="98"/> 786 <location filename="createvoicewindow.cpp" line="98"/>
787 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 787 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
788 <translation type="unfinished"></translation> 788 <translation type="unfinished"></translation>
789 </message> 789 </message>
790 <message> 790 <message>
791 <location filename="createvoicewindow.cpp" line="106"/> 791 <location filename="createvoicewindow.cpp" line="106"/>
792 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 792 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
793 <translation type="unfinished"></translation> 793 <translation type="unfinished"></translation>
794 </message> 794 </message>
795</context> 795</context>
796<context> 796<context>
797 <name>EncExesCfgFrm</name> 797 <name>EncExesCfgFrm</name>
798 <message> 798 <message>
799 <location filename="encexescfgfrm.ui" line="13"/> 799 <location filename="encexescfgfrm.ui" line="13"/>
800 <source>Configuration</source> 800 <source>Configuration</source>
801 <translation type="unfinished">Yapilandirma</translation> 801 <translation type="unfinished">Yapilandirma</translation>
802 </message> 802 </message>
803 <message> 803 <message>
804 <location filename="encexescfgfrm.ui" line="19"/> 804 <location filename="encexescfgfrm.ui" line="19"/>
805 <source>Configure Encoder</source> 805 <source>Configure Encoder</source>
806 <translation type="unfinished"></translation> 806 <translation type="unfinished"></translation>
807 </message> 807 </message>
808 <message> 808 <message>
809 <location filename="encexescfgfrm.ui" line="31"/> 809 <location filename="encexescfgfrm.ui" line="31"/>
810 <source>Path to Encoder</source> 810 <source>Path to Encoder</source>
811 <translation type="unfinished"></translation> 811 <translation type="unfinished"></translation>
812 </message> 812 </message>
813 <message> 813 <message>
814 <location filename="encexescfgfrm.ui" line="43"/> 814 <location filename="encexescfgfrm.ui" line="43"/>
815 <source>&amp;Browse</source> 815 <source>&amp;Browse</source>
816 <translation type="unfinished">&amp;G�z At</translation> 816 <translation type="unfinished">&amp;G�z At</translation>
817 </message> 817 </message>
818 <message> 818 <message>
819 <location filename="encexescfgfrm.ui" line="52"/> 819 <location filename="encexescfgfrm.ui" line="52"/>
820 <source>Encoder options</source> 820 <source>Encoder options</source>
821 <translation type="unfinished">Kodlayici Se�enekleri</translation> 821 <translation type="unfinished">Kodlayici Se�enekleri</translation>
822 </message> 822 </message>
823 <message> 823 <message>
824 <location filename="encexescfgfrm.ui" line="77"/> 824 <location filename="encexescfgfrm.ui" line="77"/>
825 <source>Reset</source> 825 <source>Reset</source>
826 <translation type="unfinished"></translation> 826 <translation type="unfinished"></translation>
827 </message> 827 </message>
828 <message> 828 <message>
829 <location filename="encexescfgfrm.ui" line="97"/> 829 <location filename="encexescfgfrm.ui" line="97"/>
830 <source>&amp;Ok</source> 830 <source>&amp;Ok</source>
831 <translation type="unfinished">&amp;Tamam</translation> 831 <translation type="unfinished">&amp;Tamam</translation>
832 </message> 832 </message>
833 <message> 833 <message>
834 <location filename="encexescfgfrm.ui" line="107"/> 834 <location filename="encexescfgfrm.ui" line="107"/>
835 <source>&amp;Cancel</source> 835 <source>&amp;Cancel</source>
836 <translation type="unfinished">&amp;Iptal</translation> 836 <translation type="unfinished">&amp;Iptal</translation>
837 </message> 837 </message>
838</context> 838</context>
839<context> 839<context>
840 <name>Install</name> 840 <name>Install</name>
841 <message> 841 <message>
842 <location filename="install.cpp" line="55"/> 842 <location filename="install.cpp" line="55"/>
843 <source>Mount point is wrong!</source> 843 <source>Mount point is wrong!</source>
844 <translation>Baglama noktasi hatali!</translation> 844 <translation>Baglama noktasi hatali!</translation>
845 </message> 845 </message>
846 <message> 846 <message>
847 <location filename="install.cpp" line="141"/> 847 <location filename="install.cpp" line="141"/>
848 <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> 848 <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>
849 <translation>En g�ncel Rockbox insasidir. Mevcut insa bir degisiklik yapildiginda g�ncellenir. Son s�r�m r%1 (%2) dir.</translation> 849 <translation>En g�ncel Rockbox insasidir. Mevcut insa bir degisiklik yapildiginda g�ncellenir. Son s�r�m r%1 (%2) dir.</translation>
850 </message> 850 </message>
851 <message> 851 <message>
852 <location filename="install.cpp" line="145"/> 852 <location filename="install.cpp" line="145"/>
853 <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> 853 <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>
854 <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> 854 <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>
855 </message> 855 </message>
856 <message> 856 <message>
857 <location filename="install.cpp" line="148"/> 857 <location filename="install.cpp" line="148"/>
858 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source> 858 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
859 <translation>&lt;b&gt;Not:&lt;/b&gt; Bu se�enek her zaman yeni bir kopyayi indirir.</translation> 859 <translation>&lt;b&gt;Not:&lt;/b&gt; Bu se�enek her zaman yeni bir kopyayi indirir.</translation>
860 </message> 860 </message>
861 <message> 861 <message>
862 <location filename="install.cpp" line="157"/> 862 <location filename="install.cpp" line="157"/>
863 <source>This is the last released version of Rockbox.</source> 863 <source>This is the last released version of Rockbox.</source>
864 <translation>Bu Rockbox&apos;in kararli en son s�r�m�d�r.</translation> 864 <translation>Bu Rockbox&apos;in kararli en son s�r�m�d�r.</translation>
865 </message> 865 </message>
866 <message> 866 <message>
867 <location filename="install.cpp" line="163"/> 867 <location filename="install.cpp" line="163"/>
868 <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> 868 <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>
869 <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> 869 <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>
870 </message> 870 </message>
871 <message> 871 <message>
872 <location filename="install.cpp" line="175"/> 872 <location filename="install.cpp" line="175"/>
873 <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> 873 <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>
874 <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> 874 <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>
875 </message> 875 </message>
876 <message> 876 <message>
877 <location filename="install.cpp" line="177"/> 877 <location filename="install.cpp" line="177"/>
878 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source> 878 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
879 <translation>&lt;b&gt;Not:&lt;/b&gt; arsivlenen s�r�m r%1 (%2) dir.</translation> 879 <translation>&lt;b&gt;Not:&lt;/b&gt; arsivlenen s�r�m r%1 (%2) dir.</translation>
880 </message> 880 </message>
881</context> 881</context>
882<context> 882<context>
883 <name>InstallFrm</name> 883 <name>InstallFrm</name>
884 <message> 884 <message>
885 <location filename="installfrm.ui" line="16"/> 885 <location filename="installfrm.ui" line="16"/>
886 <source>Install Rockbox</source> 886 <source>Install Rockbox</source>
887 <translation>Rockbox&apos;u Y�kle</translation> 887 <translation>Rockbox&apos;u Y�kle</translation>
888 </message> 888 </message>
889 <message> 889 <message>
890 <location filename="installfrm.ui" line="35"/> 890 <location filename="installfrm.ui" line="35"/>
891 <source>Please select the Rockbox version you want to install on your player:</source> 891 <source>Please select the Rockbox version you want to install on your player:</source>
892 <translation>L�tfen aygitiniza kuracaginiz Rockbox s�r�m�n� se�in:</translation> 892 <translation>L�tfen aygitiniza kuracaginiz Rockbox s�r�m�n� se�in:</translation>
893 </message> 893 </message>
894 <message> 894 <message>
895 <location filename="installfrm.ui" line="45"/> 895 <location filename="installfrm.ui" line="45"/>
896 <source>Version</source> 896 <source>Version</source>
897 <translation>S�r�m</translation> 897 <translation>S�r�m</translation>
898 </message> 898 </message>
899 <message> 899 <message>
900 <location filename="installfrm.ui" line="51"/> 900 <location filename="installfrm.ui" line="51"/>
901 <source>Rockbox &amp;stable</source> 901 <source>Rockbox &amp;stable</source>
902 <translation>Rockbox &amp;kararli s�r�m</translation> 902 <translation>Rockbox &amp;kararli s�r�m</translation>
903 </message> 903 </message>
904 <message> 904 <message>
905 <location filename="installfrm.ui" line="58"/> 905 <location filename="installfrm.ui" line="58"/>
906 <source>&amp;Archived Build</source> 906 <source>&amp;Archived Build</source>
907 <translation>&amp;Arsivlenmis Insa</translation> 907 <translation>&amp;Arsivlenmis Insa</translation>
908 </message> 908 </message>
909 <message> 909 <message>
910 <location filename="installfrm.ui" line="65"/> 910 <location filename="installfrm.ui" line="65"/>
911 <source>&amp;Current Build</source> 911 <source>&amp;Current Build</source>
912 <translation>&amp;Mevcut Insa</translation> 912 <translation>&amp;Mevcut Insa</translation>
913 </message> 913 </message>
914 <message> 914 <message>
915 <location filename="installfrm.ui" line="75"/> 915 <location filename="installfrm.ui" line="75"/>
916 <source>Details</source> 916 <source>Details</source>
917 <translation>Ayrintilar</translation> 917 <translation>Ayrintilar</translation>
918 </message> 918 </message>
919 <message> 919 <message>
920 <location filename="installfrm.ui" line="81"/> 920 <location filename="installfrm.ui" line="81"/>
921 <source>Details about the selected version</source> 921 <source>Details about the selected version</source>
922 <translation>Se�ili s�r�m�n ayrintilari</translation> 922 <translation>Se�ili s�r�m�n ayrintilari</translation>
923 </message> 923 </message>
924 <message> 924 <message>
925 <location filename="installfrm.ui" line="91"/> 925 <location filename="installfrm.ui" line="91"/>
926 <source>Note</source> 926 <source>Note</source>
927 <translation>Not</translation> 927 <translation>Not</translation>
928 </message> 928 </message>
929 <message> 929 <message>
930 <location filename="installfrm.ui" line="104"/> 930 <location filename="installfrm.ui" line="104"/>
931 <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> 931 <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>
932 <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> 932 <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>
933 </message> 933 </message>
934 <message> 934 <message>
935 <location filename="installfrm.ui" line="107"/> 935 <location filename="installfrm.ui" line="107"/>
936 <source>&amp;Don&apos;t use locally cached copy</source> 936 <source>&amp;Don&apos;t use locally cached copy</source>
937 <translation>Yerel &amp;kopyayi kullanma</translation> 937 <translation>Yerel &amp;kopyayi kullanma</translation>
938 </message> 938 </message>
939 <message> 939 <message>
940 <location filename="installfrm.ui" line="142"/> 940 <location filename="installfrm.ui" line="142"/>
941 <source>&amp;Install</source> 941 <source>&amp;Install</source>
942 <translation>&amp;Y�kle</translation> 942 <translation>&amp;Y�kle</translation>
943 </message> 943 </message>
944 <message> 944 <message>
945 <location filename="installfrm.ui" line="152"/> 945 <location filename="installfrm.ui" line="152"/>
946 <source>&amp;Cancel</source> 946 <source>&amp;Cancel</source>
947 <translation>&amp;Iptal</translation> 947 <translation>&amp;Iptal</translation>
948 </message> 948 </message>
949</context> 949</context>
950<context> 950<context>
951 <name>InstallProgressFrm</name> 951 <name>InstallProgressFrm</name>
952 <message> 952 <message>
953 <location filename="installprogressfrm.ui" line="19"/> 953 <location filename="installprogressfrm.ui" line="19"/>
954 <source>Progress</source> 954 <source>Progress</source>
955 <translation>Ilerleme</translation> 955 <translation>Ilerleme</translation>
956 </message> 956 </message>
957 <message> 957 <message>
958 <location filename="installprogressfrm.ui" line="56"/> 958 <location filename="installprogressfrm.ui" line="56"/>
959 <source>&amp;Abort</source> 959 <source>&amp;Abort</source>
960 <translation>&amp;Durdur</translation> 960 <translation>&amp;Durdur</translation>
961 </message> 961 </message>
962</context> 962</context>
963<context> 963<context>
964 <name>InstallTalkFrm</name> 964 <name>InstallTalkFrm</name>
965 <message> 965 <message>
966 <location filename="installtalkfrm.ui" line="16"/> 966 <location filename="installtalkfrm.ui" line="16"/>
967 <source>Install Talk Files</source> 967 <source>Install Talk Files</source>
968 <translation>Konusma dosyalarini indir</translation> 968 <translation>Konusma dosyalarini indir</translation>
969 </message> 969 </message>
970 <message> 970 <message>
971 <location filename="installtalkfrm.ui" line="35"/> 971 <location filename="installtalkfrm.ui" line="35"/>
972 <source>Select the Folder to generate Talkfiles for.</source> 972 <source>Select the Folder to generate Talkfiles for.</source>
973 <translation>Konusma dosyalarinin yazilacagi dizini se�in.</translation> 973 <translation>Konusma dosyalarinin yazilacagi dizini se�in.</translation>
974 </message> 974 </message>
975 <message> 975 <message>
976 <location filename="installtalkfrm.ui" line="45"/> 976 <location filename="installtalkfrm.ui" line="45"/>
977 <source>&amp;Browse</source> 977 <source>&amp;Browse</source>
978 <translation>&amp;G�z At</translation> 978 <translation>&amp;G�z At</translation>
979 </message> 979 </message>
980 <message> 980 <message>
981 <location filename="installtalkfrm.ui" line="55"/> 981 <location filename="installtalkfrm.ui" line="55"/>
982 <source>Generation settings</source> 982 <source>Generation settings</source>
983 <translation>Olusturma ayarlari</translation> 983 <translation>Olusturma ayarlari</translation>
984 </message> 984 </message>
985 <message> 985 <message>
986 <location filename="installtalkfrm.ui" line="61"/> 986 <location filename="installtalkfrm.ui" line="61"/>
987 <source>Encoder profile:</source> 987 <source>Encoder profile:</source>
988 <translation>Kodlayici profili:</translation> 988 <translation>Kodlayici profili:</translation>
989 </message> 989 </message>
990 <message> 990 <message>
991 <location filename="installtalkfrm.ui" line="68"/> 991 <location filename="installtalkfrm.ui" line="68"/>
992 <source>TTS profile:</source> 992 <source>TTS profile:</source>
993 <translation>TTS profili:</translation> 993 <translation>TTS profili:</translation>
994 </message> 994 </message>
995 <message> 995 <message>
996 <location filename="installtalkfrm.ui" line="104"/> 996 <location filename="installtalkfrm.ui" line="104"/>
997 <source>Generation options</source> 997 <source>Generation options</source>
998 <translation>Olusturma se�enekleri</translation> 998 <translation>Olusturma se�enekleri</translation>
999 </message> 999 </message>
1000 <message> 1000 <message>
1001 <location filename="installtalkfrm.ui" line="110"/> 1001 <location filename="installtalkfrm.ui" line="110"/>
1002 <source>Overwrite Wavefiles</source> 1002 <source>Overwrite Wavefiles</source>
1003 <translation>Wave dosyalarinin �zerine yaz</translation> 1003 <translation>Wave dosyalarinin �zerine yaz</translation>
1004 </message> 1004 </message>
1005 <message> 1005 <message>
1006 <location filename="installtalkfrm.ui" line="120"/> 1006 <location filename="installtalkfrm.ui" line="120"/>
1007 <source>Remove Wavefiles</source> 1007 <source>Remove Wavefiles</source>
1008 <translation>Wave dosyalarini kaldir</translation> 1008 <translation>Wave dosyalarini kaldir</translation>
1009 </message> 1009 </message>
1010 <message> 1010 <message>
1011 <location filename="installtalkfrm.ui" line="130"/> 1011 <location filename="installtalkfrm.ui" line="130"/>
1012 <source>Run recursive</source> 1012 <source>Run recursive</source>
1013 <translation>�zyinelemeli �alistir</translation> 1013 <translation>�zyinelemeli �alistir</translation>
1014 </message> 1014 </message>
1015 <message> 1015 <message>
1016 <location filename="installtalkfrm.ui" line="140"/> 1016 <location filename="installtalkfrm.ui" line="140"/>
1017 <source>Strip Extensions</source> 1017 <source>Strip Extensions</source>
1018 <translation>Uzantilari kaldir</translation> 1018 <translation>Uzantilari kaldir</translation>
1019 </message> 1019 </message>
1020 <message> 1020 <message>
1021 <location filename="installtalkfrm.ui" line="150"/> 1021 <location filename="installtalkfrm.ui" line="150"/>
1022 <source>Overwrite Talkfiles</source> 1022 <source>Overwrite Talkfiles</source>
1023 <translation>Konusma dosyalarinin �zerine yaz</translation> 1023 <translation>Konusma dosyalarinin �zerine yaz</translation>
1024 </message> 1024 </message>
1025 <message> 1025 <message>
1026 <location filename="installtalkfrm.ui" line="160"/> 1026 <location filename="installtalkfrm.ui" line="160"/>
1027 <source>Generate .talk files for Folders</source> 1027 <source>Generate .talk files for Folders</source>
1028 <translation>Dizinler i�in .talk dosyalari �ret</translation> 1028 <translation>Dizinler i�in .talk dosyalari �ret</translation>
1029 </message> 1029 </message>
1030 <message> 1030 <message>
1031 <location filename="installtalkfrm.ui" line="170"/> 1031 <location filename="installtalkfrm.ui" line="170"/>
1032 <source>Generate .talk files for Files</source> 1032 <source>Generate .talk files for Files</source>
1033 <translation>Dosyalar i�in .talk dosyalari �ret</translation> 1033 <translation>Dosyalar i�in .talk dosyalari �ret</translation>
1034 </message> 1034 </message>
1035 <message> 1035 <message>
1036 <location filename="installtalkfrm.ui" line="214"/> 1036 <location filename="installtalkfrm.ui" line="214"/>
1037 <source>&amp;Install</source> 1037 <source>&amp;Install</source>
1038 <translation>&amp;Y�kle</translation> 1038 <translation>&amp;Y�kle</translation>
1039 </message> 1039 </message>
1040 <message> 1040 <message>
1041 <location filename="installtalkfrm.ui" line="224"/> 1041 <location filename="installtalkfrm.ui" line="224"/>
1042 <source>&amp;Cancel</source> 1042 <source>&amp;Cancel</source>
1043 <translation>&amp;Iptal</translation> 1043 <translation>&amp;Iptal</translation>
1044 </message> 1044 </message>
1045 <message> 1045 <message>
1046 <location filename="installtalkfrm.ui" line="81"/> 1046 <location filename="installtalkfrm.ui" line="81"/>
1047 <source>Change</source> 1047 <source>Change</source>
1048 <translation type="unfinished"></translation> 1048 <translation type="unfinished"></translation>
1049 </message> 1049 </message>
1050</context> 1050</context>
1051<context> 1051<context>
1052 <name>InstallTalkWindow</name> 1052 <name>InstallTalkWindow</name>
1053 <message> 1053 <message>
1054 <location filename="installtalkwindow.cpp" line="84"/> 1054 <location filename="installtalkwindow.cpp" line="84"/>
1055 <source>The Folder to Talk is wrong!</source> 1055 <source>The Folder to Talk is wrong!</source>
1056 <translation>Konusma dizini hatali!</translation> 1056 <translation>Konusma dizini hatali!</translation>
1057 </message> 1057 </message>
1058 <message> 1058 <message>
1059 <location filename="" line="137529492"/> 1059 <location filename="" line="137529492"/>
1060 <source>Path to Encoder is wrong!</source> 1060 <source>Path to Encoder is wrong!</source>
1061 <translation type="obsolete">Kodlayici konumu hatali!</translation> 1061 <translation type="obsolete">Kodlayici konumu hatali!</translation>
1062 </message> 1062 </message>
1063 <message> 1063 <message>
1064 <location filename="" line="137529492"/> 1064 <location filename="" line="137529492"/>
1065 <source>Path to TTS is wrong!</source> 1065 <source>Path to TTS is wrong!</source>
1066 <translation type="obsolete">TTS konumu hatali!</translation> 1066 <translation type="obsolete">TTS konumu hatali!</translation>
1067 </message> 1067 </message>
1068 <message> 1068 <message>
1069 <location filename="" line="137529492"/> 1069 <location filename="" line="137529492"/>
1070 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1070 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1071 <translation type="obsolete">TTS Profili: &lt;b&gt;%1&lt;/b&gt;</translation> 1071 <translation type="obsolete">TTS Profili: &lt;b&gt;%1&lt;/b&gt;</translation>
1072 </message> 1072 </message>
1073 <message> 1073 <message>
1074 <location filename="" line="137529492"/> 1074 <location filename="" line="137529492"/>
1075 <source>Invalid TTS profile!</source> 1075 <source>Invalid TTS profile!</source>
1076 <translation type="obsolete">Ge�ersiz TTS Profili!</translation> 1076 <translation type="obsolete">Ge�ersiz TTS Profili!</translation>
1077 </message> 1077 </message>
1078 <message> 1078 <message>
1079 <location filename="" line="137529492"/> 1079 <location filename="" line="137529492"/>
1080 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1080 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1081 <translation type="obsolete">Kodlayici Profili: &lt;b&gt;%1&lt;/b&gt;</translation> 1081 <translation type="obsolete">Kodlayici Profili: &lt;b&gt;%1&lt;/b&gt;</translation>
1082 </message> 1082 </message>
1083 <message> 1083 <message>
1084 <location filename="" line="137529492"/> 1084 <location filename="" line="137529492"/>
1085 <source>Invalid encoder profile!</source> 1085 <source>Invalid encoder profile!</source>
1086 <translation type="obsolete">Ge�ersiz kodlayici profili!</translation> 1086 <translation type="obsolete">Ge�ersiz kodlayici profili!</translation>
1087 </message> 1087 </message>
1088 <message> 1088 <message>
1089 <location filename="installtalkwindow.cpp" line="119"/> 1089 <location filename="installtalkwindow.cpp" line="119"/>
1090 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 1090 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
1091 <translation type="unfinished"></translation> 1091 <translation type="unfinished"></translation>
1092 </message> 1092 </message>
1093 <message> 1093 <message>
1094 <location filename="installtalkwindow.cpp" line="121"/> 1094 <location filename="installtalkwindow.cpp" line="121"/>
1095 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 1095 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
1096 <translation type="unfinished"></translation> 1096 <translation type="unfinished"></translation>
1097 </message> 1097 </message>
1098 <message> 1098 <message>
1099 <location filename="installtalkwindow.cpp" line="129"/> 1099 <location filename="installtalkwindow.cpp" line="129"/>
1100 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 1100 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
1101 <translation type="unfinished"></translation> 1101 <translation type="unfinished"></translation>
1102 </message> 1102 </message>
1103</context> 1103</context>
1104<context> 1104<context>
1105 <name>PreviewFrm</name> 1105 <name>PreviewFrm</name>
1106 <message> 1106 <message>
1107 <location filename="previewfrm.ui" line="16"/> 1107 <location filename="previewfrm.ui" line="16"/>
1108 <source>Preview</source> 1108 <source>Preview</source>
1109 <translation>�nizleme</translation> 1109 <translation>�nizleme</translation>
1110 </message> 1110 </message>
1111</context> 1111</context>
1112<context> 1112<context>
1113 <name>ProgressLoggerGui</name> 1113 <name>ProgressLoggerGui</name>
1114 <message> 1114 <message>
1115 <location filename="progressloggergui.cpp" line="79"/> 1115 <location filename="progressloggergui.cpp" line="79"/>
1116 <source>&amp;Ok</source> 1116 <source>&amp;Ok</source>
1117 <translation>&amp;Tamam</translation> 1117 <translation>&amp;Tamam</translation>
1118 </message> 1118 </message>
1119 <message> 1119 <message>
1120 <location filename="progressloggergui.cpp" line="89"/> 1120 <location filename="progressloggergui.cpp" line="89"/>
1121 <source>&amp;Abort</source> 1121 <source>&amp;Abort</source>
1122 <translation>&amp;Durdur</translation> 1122 <translation>&amp;Durdur</translation>
1123 </message> 1123 </message>
1124</context> 1124</context>
1125<context> 1125<context>
1126 <name>RbSpeexCfgFrm</name> 1126 <name>RbSpeexCfgFrm</name>
1127 <message> 1127 <message>
1128 <location filename="rbspeexcfgfrm.ui" line="13"/> 1128 <location filename="rbspeexcfgfrm.ui" line="13"/>
1129 <source>Configuration</source> 1129 <source>Configuration</source>
1130 <translation type="unfinished">Yapilandirma</translation> 1130 <translation type="unfinished">Yapilandirma</translation>
1131 </message> 1131 </message>
1132 <message> 1132 <message>
1133 <location filename="rbspeexcfgfrm.ui" line="19"/> 1133 <location filename="rbspeexcfgfrm.ui" line="19"/>
1134 <source>Configure RbSpeex Encoder</source> 1134 <source>Configure RbSpeex Encoder</source>
1135 <translation type="unfinished"></translation> 1135 <translation type="unfinished"></translation>
1136 </message> 1136 </message>
1137 <message> 1137 <message>
1138 <location filename="rbspeexcfgfrm.ui" line="38"/> 1138 <location filename="rbspeexcfgfrm.ui" line="38"/>
1139 <source>Volume</source> 1139 <source>Volume</source>
1140 <translation type="unfinished"></translation> 1140 <translation type="unfinished"></translation>
1141 </message> 1141 </message>
1142 <message> 1142 <message>
1143 <location filename="rbspeexcfgfrm.ui" line="45"/> 1143 <location filename="rbspeexcfgfrm.ui" line="45"/>
1144 <source>Narrowband</source> 1144 <source>Narrowband</source>
1145 <translation type="unfinished"></translation> 1145 <translation type="unfinished"></translation>
1146 </message> 1146 </message>
1147 <message> 1147 <message>
1148 <location filename="rbspeexcfgfrm.ui" line="68"/> 1148 <location filename="rbspeexcfgfrm.ui" line="68"/>
1149 <source>Quality</source> 1149 <source>Quality</source>
1150 <translation type="unfinished"></translation> 1150 <translation type="unfinished"></translation>
1151 </message> 1151 </message>
1152 <message> 1152 <message>
1153 <location filename="rbspeexcfgfrm.ui" line="85"/> 1153 <location filename="rbspeexcfgfrm.ui" line="85"/>
1154 <source>Complexity</source> 1154 <source>Complexity</source>
1155 <translation type="unfinished"></translation> 1155 <translation type="unfinished"></translation>
1156 </message> 1156 </message>
1157 <message> 1157 <message>
1158 <location filename="rbspeexcfgfrm.ui" line="115"/> 1158 <location filename="rbspeexcfgfrm.ui" line="115"/>
1159 <source>&amp;Ok</source> 1159 <source>&amp;Ok</source>
1160 <translation type="unfinished">&amp;Tamam</translation> 1160 <translation type="unfinished">&amp;Tamam</translation>
1161 </message> 1161 </message>
1162 <message> 1162 <message>
1163 <location filename="rbspeexcfgfrm.ui" line="125"/> 1163 <location filename="rbspeexcfgfrm.ui" line="125"/>
1164 <source>&amp;Cancel</source> 1164 <source>&amp;Cancel</source>
1165 <translation type="unfinished">&amp;Iptal</translation> 1165 <translation type="unfinished">&amp;Iptal</translation>
1166 </message> 1166 </message>
1167 <message> 1167 <message>
1168 <location filename="rbspeexcfgfrm.ui" line="95"/> 1168 <location filename="rbspeexcfgfrm.ui" line="95"/>
1169 <source>Reset</source> 1169 <source>Reset</source>
1170 <translation type="unfinished"></translation> 1170 <translation type="unfinished"></translation>
1171 </message> 1171 </message>
1172</context> 1172</context>
1173<context> 1173<context>
1174 <name>RbUtilQt</name> 1174 <name>RbUtilQt</name>
1175 <message> 1175 <message>
1176 <location filename="rbutilqt.cpp" line="78"/> 1176 <location filename="rbutilqt.cpp" line="78"/>
1177 <source>File</source> 1177 <source>File</source>
1178 <translation>Dosya</translation> 1178 <translation>Dosya</translation>
1179 </message> 1179 </message>
1180 <message> 1180 <message>
1181 <location filename="rbutilqt.cpp" line="78"/> 1181 <location filename="rbutilqt.cpp" line="78"/>
1182 <source>Version</source> 1182 <source>Version</source>
1183 <translation>S�r�m</translation> 1183 <translation>S�r�m</translation>
1184 </message> 1184 </message>
1185 <message> 1185 <message>
1186 <location filename="rbutilqt.cpp" line="1014"/> 1186 <location filename="rbutilqt.cpp" line="1014"/>
1187 <source>Configuration error</source> 1187 <source>Configuration error</source>
1188 <translation>Yapilandirma hatasi</translation> 1188 <translation>Yapilandirma hatasi</translation>
1189 </message> 1189 </message>
1190 <message> 1190 <message>
1191 <location filename="rbutilqt.cpp" line="187"/> 1191 <location filename="rbutilqt.cpp" line="187"/>
1192 <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> 1192 <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>
1193 <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> 1193 <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>
1194 </message> 1194 </message>
1195 <message> 1195 <message>
1196 <location filename="rbutilqt.cpp" line="210"/> 1196 <location filename="rbutilqt.cpp" line="210"/>
1197 <source>Network error: %1. Please check your network and proxy settings.</source> 1197 <source>Network error: %1. Please check your network and proxy settings.</source>
1198 <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation> 1198 <translation>Ag hatasi: %1. L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
1199 </message> 1199 </message>
1200 <message> 1200 <message>
1201 <location filename="rbutilqt.cpp" line="305"/> 1201 <location filename="rbutilqt.cpp" line="305"/>
1202 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source> 1202 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
1203 <translation>&lt;b&gt;%1 %2&lt;/b&gt; Baglanti Noktasi: &lt;b&gt;%3&lt;/b&gt;</translation> 1203 <translation>&lt;b&gt;%1 %2&lt;/b&gt; Baglanti Noktasi: &lt;b&gt;%3&lt;/b&gt;</translation>
1204 </message> 1204 </message>
1205 <message> 1205 <message>
1206 <location filename="rbutilqt.cpp" line="325"/> 1206 <location filename="rbutilqt.cpp" line="325"/>
1207 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source> 1207 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
1208 <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (PDF)&lt;/a&gt;</translation> 1208 <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (PDF)&lt;/a&gt;</translation>
1209 </message> 1209 </message>
1210 <message> 1210 <message>
1211 <location filename="rbutilqt.cpp" line="327"/> 1211 <location filename="rbutilqt.cpp" line="327"/>
1212 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source> 1212 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
1213 <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (HTML) -- tarayicida a�ilir&lt;/a&gt;</translation> 1213 <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz (HTML) -- tarayicida a�ilir&lt;/a&gt;</translation>
1214 </message> 1214 </message>
1215 <message> 1215 <message>
1216 <location filename="rbutilqt.cpp" line="330"/> 1216 <location filename="rbutilqt.cpp" line="330"/>
1217 <source>Select a device for a link to the correct manual</source> 1217 <source>Select a device for a link to the correct manual</source>
1218 <translation>Uygun kilavuz i�in aygit se�iniz</translation> 1218 <translation>Uygun kilavuz i�in aygit se�iniz</translation>
1219 </message> 1219 </message>
1220 <message> 1220 <message>
1221 <location filename="rbutilqt.cpp" line="332"/> 1221 <location filename="rbutilqt.cpp" line="332"/>
1222 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source> 1222 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
1223 <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz Genel A�iklamasi&lt;/a&gt;</translation> 1223 <translation>&lt;a href=&apos;%1&apos;&gt;Kilavuz Genel A�iklamasi&lt;/a&gt;</translation>
1224 </message> 1224 </message>
1225 <message> 1225 <message>
1226 <location filename="rbutilqt.cpp" line="695"/> 1226 <location filename="rbutilqt.cpp" line="695"/>
1227 <source>Confirm Installation</source> 1227 <source>Confirm Installation</source>
1228 <translation>Kurulumu onayla</translation> 1228 <translation>Kurulumu onayla</translation>
1229 </message> 1229 </message>
1230 <message> 1230 <message>
1231 <location filename="rbutilqt.cpp" line="341"/> 1231 <location filename="rbutilqt.cpp" line="341"/>
1232 <source>Do you really want to make a complete Installation?</source> 1232 <source>Do you really want to make a complete Installation?</source>
1233 <translation>T�m bilesenleri y�klemek istediginize emin misiniz?</translation> 1233 <translation>T�m bilesenleri y�klemek istediginize emin misiniz?</translation>
1234 </message> 1234 </message>
1235 <message> 1235 <message>
1236 <location filename="rbutilqt.cpp" line="393"/> 1236 <location filename="rbutilqt.cpp" line="393"/>
1237 <source>Do you really want to make a small Installation?</source> 1237 <source>Do you really want to make a small Installation?</source>
1238 <translation>Mini kurulum yapmak istediginize emin misiniz?</translation> 1238 <translation>Mini kurulum yapmak istediginize emin misiniz?</translation>
1239 </message> 1239 </message>
1240 <message> 1240 <message>
1241 <location filename="rbutilqt.cpp" line="877"/> 1241 <location filename="rbutilqt.cpp" line="877"/>
1242 <source>Mount point is wrong!</source> 1242 <source>Mount point is wrong!</source>
1243 <translation>Baglama noktasi hatali!</translation> 1243 <translation>Baglama noktasi hatali!</translation>
1244 </message> 1244 </message>
1245 <message> 1245 <message>
1246 <location filename="rbutilqt.cpp" line="533"/> 1246 <location filename="rbutilqt.cpp" line="533"/>
1247 <source>Do you really want to install the Bootloader?</source> 1247 <source>Do you really want to install the Bootloader?</source>
1248 <translation>�ny�kleyiciyi kurmak istediginizden emin misiniz?</translation> 1248 <translation>�ny�kleyiciyi kurmak istediginizden emin misiniz?</translation>
1249 </message> 1249 </message>
1250 <message> 1250 <message>
1251 <location filename="rbutilqt.cpp" line="800"/> 1251 <location filename="rbutilqt.cpp" line="800"/>
1252 <source>Could not get the bootloader info file!</source> 1252 <source>Could not get the bootloader info file!</source>
1253 <translation>�ny�kleyici bilgi dosyasi alinamadi!</translation> 1253 <translation>�ny�kleyici bilgi dosyasi alinamadi!</translation>
1254 </message> 1254 </message>
1255 <message> 1255 <message>
1256 <location filename="rbutilqt.cpp" line="568"/> 1256 <location filename="rbutilqt.cpp" line="568"/>
1257 <source>Bootloader Installation</source> 1257 <source>Bootloader Installation</source>
1258 <translation>�ny�kleyici Kurulumu</translation> 1258 <translation>�ny�kleyici Kurulumu</translation>
1259 </message> 1259 </message>
1260 <message> 1260 <message>
1261 <location filename="rbutilqt.cpp" line="570"/> 1261 <location filename="rbutilqt.cpp" line="570"/>
1262 <source>The bootloader is already installed and up to date. 1262 <source>The bootloader is already installed and up to date.
1263Do want to replace the current bootloader?</source> 1263Do want to replace the current bootloader?</source>
1264 <translation>�ny�kleyici daha �nce kurulmus ve g�ncel. 1264 <translation>�ny�kleyici daha �nce kurulmus ve g�ncel.
1265Mevcut �ny�kleyiciyi degistirmek istiyor musunuz?</translation> 1265Mevcut �ny�kleyiciyi degistirmek istiyor musunuz?</translation>
1266 </message> 1266 </message>
1267 <message> 1267 <message>
1268 <location filename="rbutilqt.cpp" line="574"/> 1268 <location filename="rbutilqt.cpp" line="574"/>
1269 <source>Bootloader installation skipped!</source> 1269 <source>Bootloader installation skipped!</source>
1270 <translation>�ny�kleyici kurulumu atlandi!</translation> 1270 <translation>�ny�kleyici kurulumu atlandi!</translation>
1271 </message> 1271 </message>
1272 <message> 1272 <message>
1273 <location filename="rbutilqt.cpp" line="593"/> 1273 <location filename="rbutilqt.cpp" line="593"/>
1274 <source>Original Firmware Path is wrong!</source> 1274 <source>Original Firmware Path is wrong!</source>
1275 <translation>Orijinal bellenim (firmware) konumu hatali!</translation> 1275 <translation>Orijinal bellenim (firmware) konumu hatali!</translation>
1276 </message> 1276 </message>
1277 <message> 1277 <message>
1278 <location filename="rbutilqt.cpp" line="606"/> 1278 <location filename="rbutilqt.cpp" line="606"/>
1279 <source>Original Firmware selection Canceled!</source> 1279 <source>Original Firmware selection Canceled!</source>
1280 <translation>Orijinal bellenim (firmware) se�imi iptal edildi!</translation> 1280 <translation>Orijinal bellenim (firmware) se�imi iptal edildi!</translation>
1281 </message> 1281 </message>
1282 <message> 1282 <message>
1283 <location filename="rbutilqt.cpp" line="621"/> 1283 <location filename="rbutilqt.cpp" line="621"/>
1284 <source>Do you really want to install the fonts package?</source> 1284 <source>Do you really want to install the fonts package?</source>
1285 <translation>Yazi tipi paketini kurmak istediginizden emin misiniz?</translation> 1285 <translation>Yazi tipi paketini kurmak istediginizden emin misiniz?</translation>
1286 </message> 1286 </message>
1287 <message> 1287 <message>
1288 <location filename="rbutilqt.cpp" line="656"/> 1288 <location filename="rbutilqt.cpp" line="656"/>
1289 <source>Do you really want to install the voice file?</source> 1289 <source>Do you really want to install the voice file?</source>
1290 <translation>Seslendirme dosyasini y�klemek istediginizden emin misiniz?</translation> 1290 <translation>Seslendirme dosyasini y�klemek istediginizden emin misiniz?</translation>
1291 </message> 1291 </message>
1292 <message> 1292 <message>
1293 <location filename="rbutilqt.cpp" line="691"/> 1293 <location filename="rbutilqt.cpp" line="691"/>
1294 <source>Error</source> 1294 <source>Error</source>
1295 <translation>Hata</translation> 1295 <translation>Hata</translation>
1296 </message> 1296 </message>
1297 <message> 1297 <message>
1298 <location filename="rbutilqt.cpp" line="691"/> 1298 <location filename="rbutilqt.cpp" line="691"/>
1299 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source> 1299 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
1300 <translation>Aygitinizda doom eklentisi bulunmamaktadir. Islem durduruluyor.</translation> 1300 <translation>Aygitinizda doom eklentisi bulunmamaktadir. Islem durduruluyor.</translation>
1301 </message> 1301 </message>
1302 <message> 1302 <message>
1303 <location filename="rbutilqt.cpp" line="696"/> 1303 <location filename="rbutilqt.cpp" line="696"/>
1304 <source>Do you really want to install the game addon files?</source> 1304 <source>Do you really want to install the game addon files?</source>
1305 <translation>Oyun eklenti dosyalarini y�klemek istediginizden emin misiniz?</translation> 1305 <translation>Oyun eklenti dosyalarini y�klemek istediginizden emin misiniz?</translation>
1306 </message> 1306 </message>
1307 <message> 1307 <message>
1308 <location filename="rbutilqt.cpp" line="782"/> 1308 <location filename="rbutilqt.cpp" line="782"/>
1309 <source>Confirm Uninstallation</source> 1309 <source>Confirm Uninstallation</source>
1310 <translation>Kaldirma islemini onayla</translation> 1310 <translation>Kaldirma islemini onayla</translation>
1311 </message> 1311 </message>
1312 <message> 1312 <message>
1313 <location filename="rbutilqt.cpp" line="783"/> 1313 <location filename="rbutilqt.cpp" line="783"/>
1314 <source>Do you really want to uninstall the Bootloader?</source> 1314 <source>Do you really want to uninstall the Bootloader?</source>
1315 <translation>�ny�kleyiciyi kaldirmak istediginizden emin misiniz?</translation> 1315 <translation>�ny�kleyiciyi kaldirmak istediginizden emin misiniz?</translation>
1316 </message> 1316 </message>
1317 <message> 1317 <message>
1318 <location filename="rbutilqt.cpp" line="813"/> 1318 <location filename="rbutilqt.cpp" line="813"/>
1319 <source>Confirm download</source> 1319 <source>Confirm download</source>
1320 <translation>Indirme islemini onayla</translation> 1320 <translation>Indirme islemini onayla</translation>
1321 </message> 1321 </message>
1322 <message> 1322 <message>
1323 <location filename="rbutilqt.cpp" line="815"/> 1323 <location filename="rbutilqt.cpp" line="815"/>
1324 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source> 1324 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
1325 <translation>Kilavuzu indirmek istiyor musunuz? Aygitinizin bulundugu konuma kaydedilecektir.</translation> 1325 <translation>Kilavuzu indirmek istiyor musunuz? Aygitinizin bulundugu konuma kaydedilecektir.</translation>
1326 </message> 1326 </message>
1327 <message> 1327 <message>
1328 <location filename="rbutilqt.cpp" line="863"/> 1328 <location filename="rbutilqt.cpp" line="863"/>
1329 <source>Confirm installation</source> 1329 <source>Confirm installation</source>
1330 <translation>Kurulumu onayla</translation> 1330 <translation>Kurulumu onayla</translation>
1331 </message> 1331 </message>
1332 <message> 1332 <message>
1333 <location filename="rbutilqt.cpp" line="865"/> 1333 <location filename="rbutilqt.cpp" line="865"/>
1334 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source> 1334 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
1335 <translation>Rockbox Aracini aygitiniza kurmak istediginizden emin misiniz? Kurulum sonrasi aygitinizin diskinden �alistirabilirsiniz.</translation> 1335 <translation>Rockbox Aracini aygitiniza kurmak istediginizden emin misiniz? Kurulum sonrasi aygitinizin diskinden �alistirabilirsiniz.</translation>
1336 </message> 1336 </message>
1337 <message> 1337 <message>
1338 <location filename="rbutilqt.cpp" line="873"/> 1338 <location filename="rbutilqt.cpp" line="873"/>
1339 <source>Installing Rockbox Utility</source> 1339 <source>Installing Rockbox Utility</source>
1340 <translation>Rockbox Araci Kuruluyor</translation> 1340 <translation>Rockbox Araci Kuruluyor</translation>
1341 </message> 1341 </message>
1342 <message> 1342 <message>
1343 <location filename="rbutilqt.cpp" line="887"/> 1343 <location filename="rbutilqt.cpp" line="887"/>
1344 <source>Error installing Rockbox Utility</source> 1344 <source>Error installing Rockbox Utility</source>
1345 <translation>Rockbox Araci kurulumunda hata</translation> 1345 <translation>Rockbox Araci kurulumunda hata</translation>
1346 </message> 1346 </message>
1347 <message> 1347 <message>
1348 <location filename="rbutilqt.cpp" line="891"/> 1348 <location filename="rbutilqt.cpp" line="891"/>
1349 <source>Installing user configuration</source> 1349 <source>Installing user configuration</source>
1350 <translation>Kullanici yapilandirmasi y�kleniyor</translation> 1350 <translation>Kullanici yapilandirmasi y�kleniyor</translation>
1351 </message> 1351 </message>
1352 <message> 1352 <message>
1353 <location filename="rbutilqt.cpp" line="893"/> 1353 <location filename="rbutilqt.cpp" line="893"/>
1354 <source>Error installing user configuration</source> 1354 <source>Error installing user configuration</source>
1355 <translation>Kullanici yapilandirmasi y�kleme isleminde hata</translation> 1355 <translation>Kullanici yapilandirmasi y�kleme isleminde hata</translation>
1356 </message> 1356 </message>
1357 <message> 1357 <message>
1358 <location filename="rbutilqt.cpp" line="897"/> 1358 <location filename="rbutilqt.cpp" line="897"/>
1359 <source>Successfully installed Rockbox Utility.</source> 1359 <source>Successfully installed Rockbox Utility.</source>
1360 <translation>Rockbox Araci basariyla kuruldu.</translation> 1360 <translation>Rockbox Araci basariyla kuruldu.</translation>
1361 </message> 1361 </message>
1362 <message> 1362 <message>
1363 <location filename="rbutilqt.cpp" line="1016"/> 1363 <location filename="rbutilqt.cpp" line="1016"/>
1364 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source> 1364 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
1365 <translation>Yapilandirmaniz ge�ersiz. Yapilandirma ekranina giderek se�ilen degerlerin dogrulugundan emin olun.</translation> 1365 <translation>Yapilandirmaniz ge�ersiz. Yapilandirma ekranina giderek se�ilen degerlerin dogrulugundan emin olun.</translation>
1366 </message> 1366 </message>
1367</context> 1367</context>
1368<context> 1368<context>
1369 <name>RbUtilQtFrm</name> 1369 <name>RbUtilQtFrm</name>
1370 <message> 1370 <message>
1371 <location filename="rbutilqtfrm.ui" line="13"/> 1371 <location filename="rbutilqtfrm.ui" line="13"/>
1372 <source>Rockbox Utility</source> 1372 <source>Rockbox Utility</source>
1373 <translation>Rockbox Araci</translation> 1373 <translation>Rockbox Araci</translation>
1374 </message> 1374 </message>
1375 <message> 1375 <message>
1376 <location filename="rbutilqtfrm.ui" line="78"/> 1376 <location filename="rbutilqtfrm.ui" line="78"/>
1377 <source>Device</source> 1377 <source>Device</source>
1378 <translation>Aygit</translation> 1378 <translation>Aygit</translation>
1379 </message> 1379 </message>
1380 <message> 1380 <message>
1381 <location filename="rbutilqtfrm.ui" line="90"/> 1381 <location filename="rbutilqtfrm.ui" line="90"/>
1382 <source>Selected device:</source> 1382 <source>Selected device:</source>
1383 <translation>Se�ili Aygit:</translation> 1383 <translation>Se�ili Aygit:</translation>
1384 </message> 1384 </message>
1385 <message> 1385 <message>
1386 <location filename="rbutilqtfrm.ui" line="97"/> 1386 <location filename="rbutilqtfrm.ui" line="97"/>
1387 <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; 1387 <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;
1388p, li { white-space: pre-wrap; } 1388p, li { white-space: pre-wrap; }
1389&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; 1389&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;
1390&lt;p 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> 1390&lt;p 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>
1391 <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; 1391 <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;
1392p, li { white-space: pre-wrap; } 1392p, li { white-space: pre-wrap; }
1393&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; 1393&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;
1394&lt;p 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> 1394&lt;p 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>
1395 </message> 1395 </message>
1396 <message> 1396 <message>
1397 <location filename="rbutilqtfrm.ui" line="120"/> 1397 <location filename="rbutilqtfrm.ui" line="120"/>
1398 <source>&amp;Change</source> 1398 <source>&amp;Change</source>
1399 <translation>&amp;Degistir</translation> 1399 <translation>&amp;Degistir</translation>
1400 </message> 1400 </message>
1401 <message> 1401 <message>
1402 <location filename="rbutilqtfrm.ui" line="137"/> 1402 <location filename="rbutilqtfrm.ui" line="137"/>
1403 <source>&amp;Quick Start</source> 1403 <source>&amp;Quick Start</source>
1404 <translation>&amp;Hizli Baslangi�</translation> 1404 <translation>&amp;Hizli Baslangi�</translation>
1405 </message> 1405 </message>
1406 <message> 1406 <message>
1407 <location filename="rbutilqtfrm.ui" line="140"/> 1407 <location filename="rbutilqtfrm.ui" line="140"/>
1408 <source>Welcome</source> 1408 <source>Welcome</source>
1409 <translation>Hos Geldiniz</translation> 1409 <translation>Hos Geldiniz</translation>
1410 </message> 1410 </message>
1411 <message> 1411 <message>
1412 <location filename="rbutilqtfrm.ui" line="953"/> 1412 <location filename="rbutilqtfrm.ui" line="953"/>
1413 <source>Complete Installation</source> 1413 <source>Complete Installation</source>
1414 <translation>Tam Kurulum</translation> 1414 <translation>Tam Kurulum</translation>
1415 </message> 1415 </message>
1416 <message> 1416 <message>
1417 <location filename="rbutilqtfrm.ui" line="162"/> 1417 <location filename="rbutilqtfrm.ui" line="162"/>
1418 <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; 1418 <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;
1419p, li { white-space: pre-wrap; } 1419p, li { white-space: pre-wrap; }
1420&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; 1420&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;
1421&lt;p 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; 1421&lt;p 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;
1422&lt;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> 1422&lt;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>
1423 <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; 1423 <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;
1424p, li { white-space: pre-wrap; } 1424p, li { white-space: pre-wrap; }
1425&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; 1425&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;
1426&lt;p 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; 1426&lt;p 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;
1427&lt;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> 1427&lt;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>
1428 </message> 1428 </message>
1429 <message> 1429 <message>
1430 <location filename="rbutilqtfrm.ui" line="961"/> 1430 <location filename="rbutilqtfrm.ui" line="961"/>
1431 <source>Small Installation</source> 1431 <source>Small Installation</source>
1432 <translation>Mini Kurulum</translation> 1432 <translation>Mini Kurulum</translation>
1433 </message> 1433 </message>
1434 <message> 1434 <message>
1435 <location filename="rbutilqtfrm.ui" line="192"/> 1435 <location filename="rbutilqtfrm.ui" line="192"/>
1436 <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; 1436 <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;
1437p, li { white-space: pre-wrap; } 1437p, li { white-space: pre-wrap; }
1438&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; 1438&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;
1439&lt;p 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; 1439&lt;p 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;
1440&lt;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> 1440&lt;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>
1441 <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; 1441 <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;
1442p, li { white-space: pre-wrap; } 1442p, li { white-space: pre-wrap; }
1443&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; 1443&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;
1444&lt;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> 1444&lt;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>
1445 </message> 1445 </message>
1446 <message> 1446 <message>
1447 <location filename="rbutilqtfrm.ui" line="236"/> 1447 <location filename="rbutilqtfrm.ui" line="236"/>
1448 <source>&amp;Installation</source> 1448 <source>&amp;Installation</source>
1449 <translation>&amp;Kurulum</translation> 1449 <translation>&amp;Kurulum</translation>
1450 </message> 1450 </message>
1451 <message> 1451 <message>
1452 <location filename="rbutilqtfrm.ui" line="239"/> 1452 <location filename="rbutilqtfrm.ui" line="239"/>
1453 <source>Basic Rockbox installation</source> 1453 <source>Basic Rockbox installation</source>
1454 <translation>Temel Rockbox kurulumu</translation> 1454 <translation>Temel Rockbox kurulumu</translation>
1455 </message> 1455 </message>
1456 <message> 1456 <message>
1457 <location filename="rbutilqtfrm.ui" line="969"/> 1457 <location filename="rbutilqtfrm.ui" line="969"/>
1458 <source>Install Bootloader</source> 1458 <source>Install Bootloader</source>
1459 <translation>�ny�kleyiciyi Kur</translation> 1459 <translation>�ny�kleyiciyi Kur</translation>
1460 </message> 1460 </message>
1461 <message> 1461 <message>
1462 <location filename="rbutilqtfrm.ui" line="261"/> 1462 <location filename="rbutilqtfrm.ui" line="261"/>
1463 <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; 1463 <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;
1464p, li { white-space: pre-wrap; } 1464p, li { white-space: pre-wrap; }
1465&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; 1465&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;
1466&lt;p 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; 1466&lt;p 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;
1467&lt;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> 1467&lt;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>
1468 <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; 1468 <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;
1469p, li { white-space: pre-wrap; } 1469p, li { white-space: pre-wrap; }
1470&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; 1470&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;
1471&lt;p 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; 1471&lt;p 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;
1472&lt;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> 1472&lt;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>
1473 </message> 1473 </message>
1474 <message> 1474 <message>
1475 <location filename="rbutilqtfrm.ui" line="977"/> 1475 <location filename="rbutilqtfrm.ui" line="977"/>
1476 <source>Install Rockbox</source> 1476 <source>Install Rockbox</source>
1477 <translation>Rockbox&apos;i Kur</translation> 1477 <translation>Rockbox&apos;i Kur</translation>
1478 </message> 1478 </message>
1479 <message> 1479 <message>
1480 <location filename="rbutilqtfrm.ui" line="294"/> 1480 <location filename="rbutilqtfrm.ui" line="294"/>
1481 <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; 1481 <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;
1482p, li { white-space: pre-wrap; } 1482p, li { white-space: pre-wrap; }
1483&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; 1483&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;
1484&lt;p 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> 1484&lt;p 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>
1485 <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; 1485 <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;
1486p, li { white-space: pre-wrap; } 1486p, li { white-space: pre-wrap; }
1487&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; 1487&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;
1488&lt;p 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> 1488&lt;p 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>
1489 </message> 1489 </message>
1490 <message> 1490 <message>
1491 <location filename="rbutilqtfrm.ui" line="340"/> 1491 <location filename="rbutilqtfrm.ui" line="340"/>
1492 <source>&amp;Extras</source> 1492 <source>&amp;Extras</source>
1493 <translation>&amp;Ekstralar</translation> 1493 <translation>&amp;Ekstralar</translation>
1494 </message> 1494 </message>
1495 <message> 1495 <message>
1496 <location filename="rbutilqtfrm.ui" line="343"/> 1496 <location filename="rbutilqtfrm.ui" line="343"/>
1497 <source>Install extras for Rockbox</source> 1497 <source>Install extras for Rockbox</source>
1498 <translation>Rockbox i�in ekstralari kur</translation> 1498 <translation>Rockbox i�in ekstralari kur</translation>
1499 </message> 1499 </message>
1500 <message> 1500 <message>
1501 <location filename="rbutilqtfrm.ui" line="349"/> 1501 <location filename="rbutilqtfrm.ui" line="349"/>
1502 <source>Install Fonts package</source> 1502 <source>Install Fonts package</source>
1503 <translation>Yazi Tipi Paketini Kur</translation> 1503 <translation>Yazi Tipi Paketini Kur</translation>
1504 </message> 1504 </message>
1505 <message> 1505 <message>
1506 <location filename="rbutilqtfrm.ui" line="365"/> 1506 <location filename="rbutilqtfrm.ui" line="365"/>
1507 <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; 1507 <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;
1508p, li { white-space: pre-wrap; } 1508p, li { white-space: pre-wrap; }
1509&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; 1509&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;
1510&lt;p 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; 1510&lt;p 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;
1511&lt;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> 1511&lt;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>
1512 <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; 1512 <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;
1513p, li { white-space: pre-wrap; } 1513p, li { white-space: pre-wrap; }
1514&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; 1514&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;
1515&lt;p 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; 1515&lt;p 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;
1516&lt;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> 1516&lt;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>
1517 </message> 1517 </message>
1518 <message> 1518 <message>
1519 <location filename="rbutilqtfrm.ui" line="379"/> 1519 <location filename="rbutilqtfrm.ui" line="379"/>
1520 <source>Install themes</source> 1520 <source>Install themes</source>
1521 <translation>Temalari y�kle</translation> 1521 <translation>Temalari y�kle</translation>
1522 </message> 1522 </message>
1523 <message> 1523 <message>
1524 <location filename="rbutilqtfrm.ui" line="395"/> 1524 <location filename="rbutilqtfrm.ui" line="395"/>
1525 <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; 1525 <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;
1526p, li { white-space: pre-wrap; } 1526p, li { white-space: pre-wrap; }
1527&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; 1527&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;
1528&lt;p 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; 1528&lt;p 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;
1529&lt;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> 1529&lt;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>
1530 <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; 1530 <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;
1531p, li { white-space: pre-wrap; } 1531p, li { white-space: pre-wrap; }
1532&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; 1532&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;
1533&lt;p 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; 1533&lt;p 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;
1534&lt;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> 1534&lt;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>
1535 </message> 1535 </message>
1536 <message> 1536 <message>
1537 <location filename="rbutilqtfrm.ui" line="409"/> 1537 <location filename="rbutilqtfrm.ui" line="409"/>
1538 <source>Install game files</source> 1538 <source>Install game files</source>
1539 <translation>Oyun Dosyalarini Y�kle</translation> 1539 <translation>Oyun Dosyalarini Y�kle</translation>
1540 </message> 1540 </message>
1541 <message> 1541 <message>
1542 <location filename="rbutilqtfrm.ui" line="425"/> 1542 <location filename="rbutilqtfrm.ui" line="425"/>
1543 <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; 1543 <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;
1544p, li { white-space: pre-wrap; } 1544p, li { white-space: pre-wrap; }
1545&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; 1545&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;
1546&lt;p 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; 1546&lt;p 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;
1547&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> 1547&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>
1548 <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; 1548 <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;
1549p, li { white-space: pre-wrap; } 1549p, li { white-space: pre-wrap; }
1550&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; 1550&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;
1551&lt;p 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; 1551&lt;p 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;
1552&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> 1552&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>
1553 </message> 1553 </message>
1554 <message> 1554 <message>
1555 <location filename="rbutilqtfrm.ui" line="466"/> 1555 <location filename="rbutilqtfrm.ui" line="466"/>
1556 <source>&amp;Accessibility</source> 1556 <source>&amp;Accessibility</source>
1557 <translation>&amp;Erisilebilirlik</translation> 1557 <translation>&amp;Erisilebilirlik</translation>
1558 </message> 1558 </message>
1559 <message> 1559 <message>
1560 <location filename="rbutilqtfrm.ui" line="469"/> 1560 <location filename="rbutilqtfrm.ui" line="469"/>
1561 <source>Install accessibility add-ons</source> 1561 <source>Install accessibility add-ons</source>
1562 <translation>Erisilebilirlik eklentilerini y�kle</translation> 1562 <translation>Erisilebilirlik eklentilerini y�kle</translation>
1563 </message> 1563 </message>
1564 <message> 1564 <message>
1565 <location filename="rbutilqtfrm.ui" line="475"/> 1565 <location filename="rbutilqtfrm.ui" line="475"/>
1566 <source>Install Voice files</source> 1566 <source>Install Voice files</source>
1567 <translation>Seslendirme Dosyalarini Y�kle</translation> 1567 <translation>Seslendirme Dosyalarini Y�kle</translation>
1568 </message> 1568 </message>
1569 <message> 1569 <message>
1570 <location filename="rbutilqtfrm.ui" line="491"/> 1570 <location filename="rbutilqtfrm.ui" line="491"/>
1571 <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; 1571 <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;
1572p, li { white-space: pre-wrap; } 1572p, li { white-space: pre-wrap; }
1573&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; 1573&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;
1574&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; 1574&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;
1575&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> 1575&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>
1576 <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; 1576 <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;
1577p, li { white-space: pre-wrap; } 1577p, li { white-space: pre-wrap; }
1578&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; 1578&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;
1579&lt;p 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; 1579&lt;p 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;
1580&lt;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> 1580&lt;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>
1581 </message> 1581 </message>
1582 <message> 1582 <message>
1583 <location filename="rbutilqtfrm.ui" line="505"/> 1583 <location filename="rbutilqtfrm.ui" line="505"/>
1584 <source>Install Talk files</source> 1584 <source>Install Talk files</source>
1585 <translation>Konusma Dosyalarini Y�kle</translation> 1585 <translation>Konusma Dosyalarini Y�kle</translation>
1586 </message> 1586 </message>
1587 <message> 1587 <message>
1588 <location filename="rbutilqtfrm.ui" line="521"/> 1588 <location filename="rbutilqtfrm.ui" line="521"/>
1589 <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; 1589 <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;
1590p, li { white-space: pre-wrap; } 1590p, li { white-space: pre-wrap; }
1591&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; 1591&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;
1592&lt;p 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; 1592&lt;p 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;
1593&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> 1593&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>
1594 <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; 1594 <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;
1595p, li { white-space: pre-wrap; } 1595p, li { white-space: pre-wrap; }
1596&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; 1596&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;
1597&lt;p 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; 1597&lt;p 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;
1598&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> 1598&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>
1599 </message> 1599 </message>
1600 <message> 1600 <message>
1601 <location filename="rbutilqtfrm.ui" line="587"/> 1601 <location filename="rbutilqtfrm.ui" line="587"/>
1602 <source>&amp;Uninstallation</source> 1602 <source>&amp;Uninstallation</source>
1603 <translation>&amp;Kaldirma</translation> 1603 <translation>&amp;Kaldirma</translation>
1604 </message> 1604 </message>
1605 <message> 1605 <message>
1606 <location filename="rbutilqtfrm.ui" line="1033"/> 1606 <location filename="rbutilqtfrm.ui" line="1033"/>
1607 <source>Uninstall Rockbox</source> 1607 <source>Uninstall Rockbox</source>
1608 <translation>Rockbox&apos;i Kaldir</translation> 1608 <translation>Rockbox&apos;i Kaldir</translation>
1609 </message> 1609 </message>
1610 <message> 1610 <message>
1611 <location filename="rbutilqtfrm.ui" line="596"/> 1611 <location filename="rbutilqtfrm.ui" line="596"/>
1612 <source>Uninstall Bootloader</source> 1612 <source>Uninstall Bootloader</source>
1613 <translation>�ny�kleyiciyi Kaldir</translation> 1613 <translation>�ny�kleyiciyi Kaldir</translation>
1614 </message> 1614 </message>
1615 <message> 1615 <message>
1616 <location filename="rbutilqtfrm.ui" line="612"/> 1616 <location filename="rbutilqtfrm.ui" line="612"/>
1617 <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; 1617 <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;
1618p, li { white-space: pre-wrap; } 1618p, li { white-space: pre-wrap; }
1619&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; 1619&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;
1620&lt;p 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; 1620&lt;p 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;
1621&lt;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> 1621&lt;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>
1622 <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; 1622 <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;
1623p, li { white-space: pre-wrap; } 1623p, li { white-space: pre-wrap; }
1624&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; 1624&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;
1625&lt;p 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; 1625&lt;p 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;
1626&lt;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> 1626&lt;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>
1627 </message> 1627 </message>
1628 <message> 1628 <message>
1629 <location filename="rbutilqtfrm.ui" line="642"/> 1629 <location filename="rbutilqtfrm.ui" line="642"/>
1630 <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; 1630 <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;
1631p, li { white-space: pre-wrap; } 1631p, li { white-space: pre-wrap; }
1632&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; 1632&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;
1633&lt;p 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; 1633&lt;p 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;
1634&lt;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> 1634&lt;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>
1635 <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; 1635 <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;
1636p, li { white-space: pre-wrap; } 1636p, li { white-space: pre-wrap; }
1637&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; 1637&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;
1638&lt;p 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; 1638&lt;p 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;
1639&lt;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> 1639&lt;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>
1640 </message> 1640 </message>
1641 <message> 1641 <message>
1642 <location filename="rbutilqtfrm.ui" line="689"/> 1642 <location filename="rbutilqtfrm.ui" line="689"/>
1643 <source>&amp;Manual</source> 1643 <source>&amp;Manual</source>
1644 <translation>&amp;Kilavuz</translation> 1644 <translation>&amp;Kilavuz</translation>
1645 </message> 1645 </message>
1646 <message> 1646 <message>
1647 <location filename="rbutilqtfrm.ui" line="692"/> 1647 <location filename="rbutilqtfrm.ui" line="692"/>
1648 <source>View and download the manual</source> 1648 <source>View and download the manual</source>
1649 <translation>Kilavuzu g�ster ve indir</translation> 1649 <translation>Kilavuzu g�ster ve indir</translation>
1650 </message> 1650 </message>
1651 <message> 1651 <message>
1652 <location filename="rbutilqtfrm.ui" line="698"/> 1652 <location filename="rbutilqtfrm.ui" line="698"/>
1653 <source>Read the manual</source> 1653 <source>Read the manual</source>
1654 <translation>Kilavuzu oku</translation> 1654 <translation>Kilavuzu oku</translation>
1655 </message> 1655 </message>
1656 <message> 1656 <message>
1657 <location filename="rbutilqtfrm.ui" line="704"/> 1657 <location filename="rbutilqtfrm.ui" line="704"/>
1658 <source>PDF manual</source> 1658 <source>PDF manual</source>
1659 <translation>Kilavuz (PDF)</translation> 1659 <translation>Kilavuz (PDF)</translation>
1660 </message> 1660 </message>
1661 <message> 1661 <message>
1662 <location filename="rbutilqtfrm.ui" line="717"/> 1662 <location filename="rbutilqtfrm.ui" line="717"/>
1663 <source>HTML manual</source> 1663 <source>HTML manual</source>
1664 <translation>Kilavuz (HTML)</translation> 1664 <translation>Kilavuz (HTML)</translation>
1665 </message> 1665 </message>
1666 <message> 1666 <message>
1667 <location filename="rbutilqtfrm.ui" line="733"/> 1667 <location filename="rbutilqtfrm.ui" line="733"/>
1668 <source>Download the manual</source> 1668 <source>Download the manual</source>
1669 <translation>Kilavuzu indir</translation> 1669 <translation>Kilavuzu indir</translation>
1670 </message> 1670 </message>
1671 <message> 1671 <message>
1672 <location filename="rbutilqtfrm.ui" line="741"/> 1672 <location filename="rbutilqtfrm.ui" line="741"/>
1673 <source>&amp;PDF version</source> 1673 <source>&amp;PDF version</source>
1674 <translation>&amp;PDF formati</translation> 1674 <translation>&amp;PDF formati</translation>
1675 </message> 1675 </message>
1676 <message> 1676 <message>
1677 <location filename="rbutilqtfrm.ui" line="748"/> 1677 <location filename="rbutilqtfrm.ui" line="748"/>
1678 <source>&amp;HTML version (zip file)</source> 1678 <source>&amp;HTML version (zip file)</source>
1679 <translation>&amp;HTML formati (zip dosyasi)</translation> 1679 <translation>&amp;HTML formati (zip dosyasi)</translation>
1680 </message> 1680 </message>
1681 <message> 1681 <message>
1682 <location filename="rbutilqtfrm.ui" line="770"/> 1682 <location filename="rbutilqtfrm.ui" line="770"/>
1683 <source>Down&amp;load</source> 1683 <source>Down&amp;load</source>
1684 <translation>&amp;Indir</translation> 1684 <translation>&amp;Indir</translation>
1685 </message> 1685 </message>
1686 <message> 1686 <message>
1687 <location filename="rbutilqtfrm.ui" line="794"/> 1687 <location filename="rbutilqtfrm.ui" line="794"/>
1688 <source>Inf&amp;o</source> 1688 <source>Inf&amp;o</source>
1689 <translation>&amp;Bilgi</translation> 1689 <translation>&amp;Bilgi</translation>
1690 </message> 1690 </message>
1691 <message> 1691 <message>
1692 <location filename="rbutilqtfrm.ui" line="800"/> 1692 <location filename="rbutilqtfrm.ui" line="800"/>
1693 <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; 1693 <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;
1694p, li { white-space: pre-wrap; } 1694p, li { white-space: pre-wrap; }
1695&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; 1695&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;
1696&lt;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; 1696&lt;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;
1697&lt;p 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> 1697&lt;p 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>
1698 <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> 1698 <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>
1699 </message> 1699 </message>
1700 <message> 1700 <message>
1701 <location filename="rbutilqtfrm.ui" line="815"/> 1701 <location filename="rbutilqtfrm.ui" line="815"/>
1702 <source>1</source> 1702 <source>1</source>
1703 <translation>1</translation> 1703 <translation>1</translation>
1704 </message> 1704 </message>
1705 <message> 1705 <message>
1706 <location filename="rbutilqtfrm.ui" line="837"/> 1706 <location filename="rbutilqtfrm.ui" line="837"/>
1707 <source>&amp;File</source> 1707 <source>&amp;File</source>
1708 <translation>&amp;Dosya</translation> 1708 <translation>&amp;Dosya</translation>
1709 </message> 1709 </message>
1710 <message> 1710 <message>
1711 <location filename="rbutilqtfrm.ui" line="930"/> 1711 <location filename="rbutilqtfrm.ui" line="930"/>
1712 <source>&amp;About</source> 1712 <source>&amp;About</source>
1713 <translation>&amp;Hakkinda</translation> 1713 <translation>&amp;Hakkinda</translation>
1714 </message> 1714 </message>
1715 <message> 1715 <message>
1716 <location filename="rbutilqtfrm.ui" line="855"/> 1716 <location filename="rbutilqtfrm.ui" line="855"/>
1717 <source>Action&amp;s</source> 1717 <source>Action&amp;s</source>
1718 <translation>I&amp;slemler</translation> 1718 <translation>I&amp;slemler</translation>
1719 </message> 1719 </message>
1720 <message> 1720 <message>
1721 <location filename="rbutilqtfrm.ui" line="859"/> 1721 <location filename="rbutilqtfrm.ui" line="859"/>
1722 <source>Installation</source> 1722 <source>Installation</source>
1723 <translation>Kurulum</translation> 1723 <translation>Kurulum</translation>
1724 </message> 1724 </message>
1725 <message> 1725 <message>
1726 <location filename="rbutilqtfrm.ui" line="866"/> 1726 <location filename="rbutilqtfrm.ui" line="866"/>
1727 <source>Quick Start</source> 1727 <source>Quick Start</source>
1728 <translation>Hizli Baslangi�</translation> 1728 <translation>Hizli Baslangi�</translation>
1729 </message> 1729 </message>
1730 <message> 1730 <message>
1731 <location filename="rbutilqtfrm.ui" line="873"/> 1731 <location filename="rbutilqtfrm.ui" line="873"/>
1732 <source>Extras</source> 1732 <source>Extras</source>
1733 <translation>Ekstralar</translation> 1733 <translation>Ekstralar</translation>
1734 </message> 1734 </message>
1735 <message> 1735 <message>
1736 <location filename="rbutilqtfrm.ui" line="881"/> 1736 <location filename="rbutilqtfrm.ui" line="881"/>
1737 <source>Accessibility</source> 1737 <source>Accessibility</source>
1738 <translation>Erisilebilirlik</translation> 1738 <translation>Erisilebilirlik</translation>
1739 </message> 1739 </message>
1740 <message> 1740 <message>
1741 <location filename="rbutilqtfrm.ui" line="889"/> 1741 <location filename="rbutilqtfrm.ui" line="889"/>
1742 <source>Uninstallation</source> 1742 <source>Uninstallation</source>
1743 <translation>Kaldirma</translation> 1743 <translation>Kaldirma</translation>
1744 </message> 1744 </message>
1745 <message> 1745 <message>
1746 <location filename="rbutilqtfrm.ui" line="907"/> 1746 <location filename="rbutilqtfrm.ui" line="907"/>
1747 <source>Empty local download cache</source> 1747 <source>Empty local download cache</source>
1748 <translation>Yerel indirme �nbellegi bos</translation> 1748 <translation>Yerel indirme �nbellegi bos</translation>
1749 </message> 1749 </message>
1750 <message> 1750 <message>
1751 <location filename="rbutilqtfrm.ui" line="912"/> 1751 <location filename="rbutilqtfrm.ui" line="912"/>
1752 <source>Install Rockbox Utility on player</source> 1752 <source>Install Rockbox Utility on player</source>
1753 <translation>Rockbox Aracini Kur</translation> 1753 <translation>Rockbox Aracini Kur</translation>
1754 </message> 1754 </message>
1755 <message> 1755 <message>
1756 <location filename="rbutilqtfrm.ui" line="917"/> 1756 <location filename="rbutilqtfrm.ui" line="917"/>
1757 <source>&amp;Configure</source> 1757 <source>&amp;Configure</source>
1758 <translation>&amp;Yapilandir</translation> 1758 <translation>&amp;Yapilandir</translation>
1759 </message> 1759 </message>
1760 <message> 1760 <message>
1761 <location filename="rbutilqtfrm.ui" line="922"/> 1761 <location filename="rbutilqtfrm.ui" line="922"/>
1762 <source>E&amp;xit</source> 1762 <source>E&amp;xit</source>
1763 <translation>&amp;�ikis</translation> 1763 <translation>&amp;�ikis</translation>
1764 </message> 1764 </message>
1765 <message> 1765 <message>
1766 <location filename="rbutilqtfrm.ui" line="925"/> 1766 <location filename="rbutilqtfrm.ui" line="925"/>
1767 <source>Ctrl+Q</source> 1767 <source>Ctrl+Q</source>
1768 <translation>Ctrl+Q</translation> 1768 <translation>Ctrl+Q</translation>
1769 </message> 1769 </message>
1770 <message> 1770 <message>
1771 <location filename="rbutilqtfrm.ui" line="935"/> 1771 <location filename="rbutilqtfrm.ui" line="935"/>
1772 <source>About &amp;Qt</source> 1772 <source>About &amp;Qt</source>
1773 <translation>&amp;Qt Hakkinda</translation> 1773 <translation>&amp;Qt Hakkinda</translation>
1774 </message> 1774 </message>
1775 <message> 1775 <message>
1776 <location filename="rbutilqtfrm.ui" line="940"/> 1776 <location filename="rbutilqtfrm.ui" line="940"/>
1777 <source>&amp;Help</source> 1777 <source>&amp;Help</source>
1778 <translation>&amp;Yardim</translation> 1778 <translation>&amp;Yardim</translation>
1779 </message> 1779 </message>
1780 <message> 1780 <message>
1781 <location filename="rbutilqtfrm.ui" line="945"/> 1781 <location filename="rbutilqtfrm.ui" line="945"/>
1782 <source>Info</source> 1782 <source>Info</source>
1783 <translation>Bilgi</translation> 1783 <translation>Bilgi</translation>
1784 </message> 1784 </message>
1785 <message> 1785 <message>
1786 <location filename="rbutilqtfrm.ui" line="985"/> 1786 <location filename="rbutilqtfrm.ui" line="985"/>
1787 <source>Fonts Package</source> 1787 <source>Fonts Package</source>
1788 <translation>Yazi Tipi Paketi</translation> 1788 <translation>Yazi Tipi Paketi</translation>
1789 </message> 1789 </message>
1790 <message> 1790 <message>
1791 <location filename="rbutilqtfrm.ui" line="993"/> 1791 <location filename="rbutilqtfrm.ui" line="993"/>
1792 <source>Install Themes</source> 1792 <source>Install Themes</source>
1793 <translation>Temalari Y�kle</translation> 1793 <translation>Temalari Y�kle</translation>
1794 </message> 1794 </message>
1795 <message> 1795 <message>
1796 <location filename="rbutilqtfrm.ui" line="1001"/> 1796 <location filename="rbutilqtfrm.ui" line="1001"/>
1797 <source>Install Game Files</source> 1797 <source>Install Game Files</source>
1798 <translation>Oyun Dosyalarini Y�kle</translation> 1798 <translation>Oyun Dosyalarini Y�kle</translation>
1799 </message> 1799 </message>
1800 <message> 1800 <message>
1801 <location filename="rbutilqtfrm.ui" line="1009"/> 1801 <location filename="rbutilqtfrm.ui" line="1009"/>
1802 <source>Install Voice File</source> 1802 <source>Install Voice File</source>
1803 <translation>Seslendirme Dosyasini Y�kle</translation> 1803 <translation>Seslendirme Dosyasini Y�kle</translation>
1804 </message> 1804 </message>
1805 <message> 1805 <message>
1806 <location filename="rbutilqtfrm.ui" line="1017"/> 1806 <location filename="rbutilqtfrm.ui" line="1017"/>
1807 <source>Create Talk Files</source> 1807 <source>Create Talk Files</source>
1808 <translation>Konusma Dosyalari Olustur</translation> 1808 <translation>Konusma Dosyalari Olustur</translation>
1809 </message> 1809 </message>
1810 <message> 1810 <message>
1811 <location filename="rbutilqtfrm.ui" line="1025"/> 1811 <location filename="rbutilqtfrm.ui" line="1025"/>
1812 <source>Remove bootloader</source> 1812 <source>Remove bootloader</source>
1813 <translation>�ny�kleyiciyi Kaldir</translation> 1813 <translation>�ny�kleyiciyi Kaldir</translation>
1814 </message> 1814 </message>
1815 <message> 1815 <message>
1816 <location filename="rbutilqtfrm.ui" line="1038"/> 1816 <location filename="rbutilqtfrm.ui" line="1038"/>
1817 <source>Read PDF manual</source> 1817 <source>Read PDF manual</source>
1818 <translation> Kilavuzu (PDF) oku</translation> 1818 <translation> Kilavuzu (PDF) oku</translation>
1819 </message> 1819 </message>
1820 <message> 1820 <message>
1821 <location filename="rbutilqtfrm.ui" line="1043"/> 1821 <location filename="rbutilqtfrm.ui" line="1043"/>
1822 <source>Read HTML manual</source> 1822 <source>Read HTML manual</source>
1823 <translation>Kilavuzu (HTML) oku</translation> 1823 <translation>Kilavuzu (HTML) oku</translation>
1824 </message> 1824 </message>
1825 <message> 1825 <message>
1826 <location filename="rbutilqtfrm.ui" line="1048"/> 1826 <location filename="rbutilqtfrm.ui" line="1048"/>
1827 <source>Download PDF manual</source> 1827 <source>Download PDF manual</source>
1828 <translation>Kilavuzu (PDF) indir</translation> 1828 <translation>Kilavuzu (PDF) indir</translation>
1829 </message> 1829 </message>
1830 <message> 1830 <message>
1831 <location filename="rbutilqtfrm.ui" line="1053"/> 1831 <location filename="rbutilqtfrm.ui" line="1053"/>
1832 <source>Download HTML manual (zip)</source> 1832 <source>Download HTML manual (zip)</source>
1833 <translation>Kilavuzu (HTML zip) indir</translation> 1833 <translation>Kilavuzu (HTML zip) indir</translation>
1834 </message> 1834 </message>
1835 <message> 1835 <message>
1836 <location filename="rbutilqtfrm.ui" line="558"/> 1836 <location filename="rbutilqtfrm.ui" line="558"/>
1837 <source>Create Voice files</source> 1837 <source>Create Voice files</source>
1838 <translation type="unfinished"></translation> 1838 <translation type="unfinished"></translation>
1839 </message> 1839 </message>
1840 <message> 1840 <message>
1841 <location filename="rbutilqtfrm.ui" line="574"/> 1841 <location filename="rbutilqtfrm.ui" line="574"/>
1842 <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; 1842 <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;
1843p, li { white-space: pre-wrap; } 1843p, li { white-space: pre-wrap; }
1844&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; 1844&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;
1845&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; 1845&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;
1846&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; 1846&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;
1847&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> 1847&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>
1848 <translation type="unfinished"></translation> 1848 <translation type="unfinished"></translation>
1849 </message> 1849 </message>
1850 <message> 1850 <message>
1851 <location filename="rbutilqtfrm.ui" line="1061"/> 1851 <location filename="rbutilqtfrm.ui" line="1061"/>
1852 <source>Create Voice File</source> 1852 <source>Create Voice File</source>
1853 <translation type="unfinished"></translation> 1853 <translation type="unfinished"></translation>
1854 </message> 1854 </message>
1855 <message> 1855 <message>
1856 <location filename="rbutilqtfrm.ui" line="1064"/> 1856 <location filename="rbutilqtfrm.ui" line="1064"/>
1857 <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; 1857 <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;
1858e File</source> 1858e File</source>
1859 <translation type="unfinished"></translation> 1859 <translation type="unfinished"></translation>
1860 </message> 1860 </message>
1861</context> 1861</context>
1862<context> 1862<context>
1863 <name>SapiCfgFrm</name> 1863 <name>SapiCfgFrm</name>
1864 <message> 1864 <message>
1865 <location filename="sapicfgfrm.ui" line="13"/> 1865 <location filename="sapicfgfrm.ui" line="13"/>
1866 <source>Configuration</source> 1866 <source>Configuration</source>
1867 <translation type="unfinished">Yapilandirma</translation> 1867 <translation type="unfinished">Yapilandirma</translation>
1868 </message> 1868 </message>
1869 <message> 1869 <message>
1870 <location filename="sapicfgfrm.ui" line="19"/> 1870 <location filename="sapicfgfrm.ui" line="19"/>
1871 <source>Configure TTS Engine</source> 1871 <source>Configure TTS Engine</source>
1872 <translation type="unfinished"></translation> 1872 <translation type="unfinished"></translation>
1873 </message> 1873 </message>
1874 <message> 1874 <message>
1875 <location filename="sapicfgfrm.ui" line="62"/> 1875 <location filename="sapicfgfrm.ui" line="62"/>
1876 <source>TTS options</source> 1876 <source>TTS options</source>
1877 <translation type="unfinished"></translation> 1877 <translation type="unfinished"></translation>
1878 </message> 1878 </message>
1879 <message> 1879 <message>
1880 <location filename="sapicfgfrm.ui" line="25"/> 1880 <location filename="sapicfgfrm.ui" line="25"/>
1881 <source>Language</source> 1881 <source>Language</source>
1882 <translation type="unfinished"></translation> 1882 <translation type="unfinished"></translation>
1883 </message> 1883 </message>
1884 <message> 1884 <message>
1885 <location filename="sapicfgfrm.ui" line="87"/> 1885 <location filename="sapicfgfrm.ui" line="87"/>
1886 <source>Reset</source> 1886 <source>Reset</source>
1887 <translation type="unfinished"></translation> 1887 <translation type="unfinished"></translation>
1888 </message> 1888 </message>
1889 <message> 1889 <message>
1890 <location filename="sapicfgfrm.ui" line="107"/> 1890 <location filename="sapicfgfrm.ui" line="107"/>
1891 <source>&amp;Ok</source> 1891 <source>&amp;Ok</source>
1892 <translation type="unfinished">&amp;Tamam</translation> 1892 <translation type="unfinished">&amp;Tamam</translation>
1893 </message> 1893 </message>
1894 <message> 1894 <message>
1895 <location filename="sapicfgfrm.ui" line="117"/> 1895 <location filename="sapicfgfrm.ui" line="117"/>
1896 <source>&amp;Cancel</source> 1896 <source>&amp;Cancel</source>
1897 <translation type="unfinished">&amp;Iptal</translation> 1897 <translation type="unfinished">&amp;Iptal</translation>
1898 </message> 1898 </message>
1899 <message> 1899 <message>
1900 <location filename="sapicfgfrm.ui" line="35"/> 1900 <location filename="sapicfgfrm.ui" line="35"/>
1901 <source>Voice</source> 1901 <source>Voice</source>
1902 <translation type="unfinished"></translation> 1902 <translation type="unfinished"></translation>
1903 </message> 1903 </message>
1904 <message> 1904 <message>
1905 <location filename="sapicfgfrm.ui" line="45"/> 1905 <location filename="sapicfgfrm.ui" line="45"/>
1906 <source>Speed</source> 1906 <source>Speed</source>
1907 <translation type="unfinished"></translation> 1907 <translation type="unfinished"></translation>
1908 </message> 1908 </message>
1909</context> 1909</context>
1910<context> 1910<context>
1911 <name>TTSExes</name> 1911 <name>TTSExes</name>
1912 <message> 1912 <message>
1913 <location filename="tts.cpp" line="123"/> 1913 <location filename="tts.cpp" line="123"/>
1914 <source>TTS executable not found</source> 1914 <source>TTS executable not found</source>
1915 <translation type="unfinished"></translation> 1915 <translation type="unfinished"></translation>
1916 </message> 1916 </message>
1917</context> 1917</context>
1918<context> 1918<context>
1919 <name>TTSExesCfgFrm</name> 1919 <name>TTSExesCfgFrm</name>
1920 <message> 1920 <message>
1921 <location filename="ttsexescfgfrm.ui" line="13"/> 1921 <location filename="ttsexescfgfrm.ui" line="13"/>
1922 <source>Configuration</source> 1922 <source>Configuration</source>
1923 <translation type="unfinished">Yapilandirma</translation> 1923 <translation type="unfinished">Yapilandirma</translation>
1924 </message> 1924 </message>
1925 <message> 1925 <message>
1926 <location filename="ttsexescfgfrm.ui" line="19"/> 1926 <location filename="ttsexescfgfrm.ui" line="19"/>
1927 <source>Configure TTS Engine</source> 1927 <source>Configure TTS Engine</source>
1928 <translation type="unfinished"></translation> 1928 <translation type="unfinished"></translation>
1929 </message> 1929 </message>
1930 <message> 1930 <message>
1931 <location filename="ttsexescfgfrm.ui" line="31"/> 1931 <location filename="ttsexescfgfrm.ui" line="31"/>
1932 <source>Path to TTS Engine</source> 1932 <source>Path to TTS Engine</source>
1933 <translation type="unfinished"></translation> 1933 <translation type="unfinished"></translation>
1934 </message> 1934 </message>
1935 <message> 1935 <message>
1936 <location filename="ttsexescfgfrm.ui" line="43"/> 1936 <location filename="ttsexescfgfrm.ui" line="43"/>
1937 <source>&amp;Browse</source> 1937 <source>&amp;Browse</source>
1938 <translation type="unfinished">&amp;G�z At</translation> 1938 <translation type="unfinished">&amp;G�z At</translation>
1939 </message> 1939 </message>
1940 <message> 1940 <message>
1941 <location filename="ttsexescfgfrm.ui" line="52"/> 1941 <location filename="ttsexescfgfrm.ui" line="52"/>
1942 <source>TTS options</source> 1942 <source>TTS options</source>
1943 <translation type="unfinished"></translation> 1943 <translation type="unfinished"></translation>
1944 </message> 1944 </message>
1945 <message> 1945 <message>
1946 <location filename="ttsexescfgfrm.ui" line="77"/> 1946 <location filename="ttsexescfgfrm.ui" line="77"/>
1947 <source>Reset</source> 1947 <source>Reset</source>
1948 <translation type="unfinished"></translation> 1948 <translation type="unfinished"></translation>
1949 </message> 1949 </message>
1950 <message> 1950 <message>
1951 <location filename="ttsexescfgfrm.ui" line="97"/> 1951 <location filename="ttsexescfgfrm.ui" line="97"/>
1952 <source>&amp;Ok</source> 1952 <source>&amp;Ok</source>
1953 <translation type="unfinished">&amp;Tamam</translation> 1953 <translation type="unfinished">&amp;Tamam</translation>
1954 </message> 1954 </message>
1955 <message> 1955 <message>
1956 <location filename="ttsexescfgfrm.ui" line="107"/> 1956 <location filename="ttsexescfgfrm.ui" line="107"/>
1957 <source>&amp;Cancel</source> 1957 <source>&amp;Cancel</source>
1958 <translation type="unfinished">&amp;Iptal</translation> 1958 <translation type="unfinished">&amp;Iptal</translation>
1959 </message> 1959 </message>
1960</context> 1960</context>
1961<context> 1961<context>
1962 <name>TTSSapi</name> 1962 <name>TTSSapi</name>
1963 <message> 1963 <message>
1964 <location filename="tts.cpp" line="274"/> 1964 <location filename="tts.cpp" line="274"/>
1965 <source>Could not copy the Sapi-script</source> 1965 <source>Could not copy the Sapi-script</source>
1966 <translation type="unfinished"></translation> 1966 <translation type="unfinished"></translation>
1967 </message> 1967 </message>
1968 <message> 1968 <message>
1969 <location filename="tts.cpp" line="292"/> 1969 <location filename="tts.cpp" line="292"/>
1970 <source>Could not start the Sapi-script</source> 1970 <source>Could not start the Sapi-script</source>
1971 <translation type="unfinished"></translation> 1971 <translation type="unfinished"></translation>
1972 </message> 1972 </message>
1973</context> 1973</context>
1974<context> 1974<context>
1975 <name>TalkFileCreator</name> 1975 <name>TalkFileCreator</name>
1976 <message> 1976 <message>
1977 <location filename="talkfile.cpp" line="31"/> 1977 <location filename="talkfile.cpp" line="31"/>
1978 <source>Starting Talk file generation</source> 1978 <source>Starting Talk file generation</source>
1979 <translation type="unfinished"></translation> 1979 <translation type="unfinished"></translation>
1980 </message> 1980 </message>
1981 <message> 1981 <message>
1982 <location filename="talkfile.cpp" line="41"/> 1982 <location filename="talkfile.cpp" line="41"/>
1983 <source>Init of TTS engine failed</source> 1983 <source>Init of TTS engine failed</source>
1984 <translation type="unfinished"></translation> 1984 <translation type="unfinished"></translation>
1985 </message> 1985 </message>
1986 <message> 1986 <message>
1987 <location filename="talkfile.cpp" line="52"/> 1987 <location filename="talkfile.cpp" line="52"/>
1988 <source>Init of Encoder engine failed</source> 1988 <source>Init of Encoder engine failed</source>
1989 <translation type="unfinished"></translation> 1989 <translation type="unfinished"></translation>
1990 </message> 1990 </message>
1991 <message> 1991 <message>
1992 <location filename="talkfile.cpp" line="70"/> 1992 <location filename="talkfile.cpp" line="70"/>
1993 <source>Talk file creation aborted</source> 1993 <source>Talk file creation aborted</source>
1994 <translation type="unfinished"></translation> 1994 <translation type="unfinished"></translation>
1995 </message> 1995 </message>
1996 <message> 1996 <message>
1997 <location filename="talkfile.cpp" line="132"/> 1997 <location filename="talkfile.cpp" line="132"/>
1998 <source>Voicing of %1</source> 1998 <source>Voicing of %1</source>
1999 <translation type="unfinished"></translation> 1999 <translation type="unfinished"></translation>
2000 </message> 2000 </message>
2001 <message> 2001 <message>
2002 <location filename="talkfile.cpp" line="135"/> 2002 <location filename="talkfile.cpp" line="135"/>
2003 <source>Voicing of %s failed</source> 2003 <source>Voicing of %s failed</source>
2004 <translation type="unfinished"></translation> 2004 <translation type="unfinished"></translation>
2005 </message> 2005 </message>
2006 <message> 2006 <message>
2007 <location filename="talkfile.cpp" line="143"/> 2007 <location filename="talkfile.cpp" line="143"/>
2008 <source>Encoding of %1</source> 2008 <source>Encoding of %1</source>
2009 <translation type="unfinished"></translation> 2009 <translation type="unfinished"></translation>
2010 </message> 2010 </message>
2011 <message> 2011 <message>
2012 <location filename="talkfile.cpp" line="146"/> 2012 <location filename="talkfile.cpp" line="146"/>
2013 <source>Encoding of %1 failed</source> 2013 <source>Encoding of %1 failed</source>
2014 <translation type="unfinished"></translation> 2014 <translation type="unfinished"></translation>
2015 </message> 2015 </message>
2016 <message> 2016 <message>
2017 <location filename="talkfile.cpp" line="173"/> 2017 <location filename="talkfile.cpp" line="173"/>
2018 <source>Finished creating Talk files</source> 2018 <source>Finished creating Talk files</source>
2019 <translation type="unfinished"></translation> 2019 <translation type="unfinished"></translation>
2020 </message> 2020 </message>
2021</context> 2021</context>
2022<context> 2022<context>
2023 <name>ThemeInstallFrm</name> 2023 <name>ThemeInstallFrm</name>
2024 <message> 2024 <message>
2025 <location filename="installthemesfrm.ui" line="13"/> 2025 <location filename="installthemesfrm.ui" line="13"/>
2026 <source>Theme Installation</source> 2026 <source>Theme Installation</source>
2027 <translation>Tema Kurulumu</translation> 2027 <translation>Tema Kurulumu</translation>
2028 </message> 2028 </message>
2029 <message> 2029 <message>
2030 <location filename="installthemesfrm.ui" line="48"/> 2030 <location filename="installthemesfrm.ui" line="48"/>
2031 <source>Selected Theme</source> 2031 <source>Selected Theme</source>
2032 <translation>Se�ili Tema</translation> 2032 <translation>Se�ili Tema</translation>
2033 </message> 2033 </message>
2034 <message> 2034 <message>
2035 <location filename="installthemesfrm.ui" line="73"/> 2035 <location filename="installthemesfrm.ui" line="73"/>
2036 <source>Description</source> 2036 <source>Description</source>
2037 <translation>A�iklama</translation> 2037 <translation>A�iklama</translation>
2038 </message> 2038 </message>
2039 <message> 2039 <message>
2040 <location filename="installthemesfrm.ui" line="83"/> 2040 <location filename="installthemesfrm.ui" line="83"/>
2041 <source>Download size:</source> 2041 <source>Download size:</source>
2042 <translation>Indirme boyutu:</translation> 2042 <translation>Indirme boyutu:</translation>
2043 </message> 2043 </message>
2044 <message> 2044 <message>
2045 <location filename="installthemesfrm.ui" line="108"/> 2045 <location filename="installthemesfrm.ui" line="108"/>
2046 <source>&amp;Install</source> 2046 <source>&amp;Install</source>
2047 <translation>&amp;Y�kle</translation> 2047 <translation>&amp;Y�kle</translation>
2048 </message> 2048 </message>
2049 <message> 2049 <message>
2050 <location filename="installthemesfrm.ui" line="118"/> 2050 <location filename="installthemesfrm.ui" line="118"/>
2051 <source>Install &amp;All</source> 2051 <source>Install &amp;All</source>
2052 <translation>&amp;Hepsini Y�kle</translation> 2052 <translation>&amp;Hepsini Y�kle</translation>
2053 </message> 2053 </message>
2054 <message> 2054 <message>
2055 <location filename="installthemesfrm.ui" line="128"/> 2055 <location filename="installthemesfrm.ui" line="128"/>
2056 <source>&amp;Cancel</source> 2056 <source>&amp;Cancel</source>
2057 <translation>&amp;Iptal</translation> 2057 <translation>&amp;Iptal</translation>
2058 </message> 2058 </message>
2059</context> 2059</context>
2060<context> 2060<context>
2061 <name>ThemesInstallWindow</name> 2061 <name>ThemesInstallWindow</name>
2062 <message> 2062 <message>
2063 <location filename="installthemes.cpp" line="34"/> 2063 <location filename="installthemes.cpp" line="34"/>
2064 <source>no theme selected</source> 2064 <source>no theme selected</source>
2065 <translation>tema se�ilmedi</translation> 2065 <translation>tema se�ilmedi</translation>
2066 </message> 2066 </message>
2067 <message> 2067 <message>
2068 <location filename="installthemes.cpp" line="117"/> 2068 <location filename="installthemes.cpp" line="117"/>
2069 <source>Network error: %1. 2069 <source>Network error: %1.
2070Please check your network and proxy settings.</source> 2070Please check your network and proxy settings.</source>
2071 <translation>Ag hatasi: %1. 2071 <translation>Ag hatasi: %1.
2072L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation> 2072L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation>
2073 </message> 2073 </message>
2074 <message> 2074 <message>
2075 <location filename="installthemes.cpp" line="128"/> 2075 <location filename="installthemes.cpp" line="128"/>
2076 <source>the following error occured: 2076 <source>the following error occured:
2077%1</source> 2077%1</source>
2078 <translation>olusan hata: 2078 <translation>olusan hata:
2079%1</translation> 2079%1</translation>
2080 </message> 2080 </message>
2081 <message> 2081 <message>
2082 <location filename="installthemes.cpp" line="133"/> 2082 <location filename="installthemes.cpp" line="133"/>
2083 <source>done.</source> 2083 <source>done.</source>
2084 <translation>tamamlandi.</translation> 2084 <translation>tamamlandi.</translation>
2085 </message> 2085 </message>
2086 <message> 2086 <message>
2087 <location filename="installthemes.cpp" line="161"/> 2087 <location filename="installthemes.cpp" line="161"/>
2088 <source>fetching details for %1</source> 2088 <source>fetching details for %1</source>
2089 <translation>%1 in bilgileri aliniyor</translation> 2089 <translation>%1 in bilgileri aliniyor</translation>
2090 </message> 2090 </message>
2091 <message> 2091 <message>
2092 <location filename="installthemes.cpp" line="163"/> 2092 <location filename="installthemes.cpp" line="163"/>
2093 <source>fetching preview ...</source> 2093 <source>fetching preview ...</source>
2094 <translation>�nizleme getiriliyor ...</translation> 2094 <translation>�nizleme getiriliyor ...</translation>
2095 </message> 2095 </message>
2096 <message> 2096 <message>
2097 <location filename="installthemes.cpp" line="171"/> 2097 <location filename="installthemes.cpp" line="171"/>
2098 <source>Download size %L1 kiB</source> 2098 <source>Download size %L1 kiB</source>
2099 <translation>Indirme boyutu %L1 KB</translation> 2099 <translation>Indirme boyutu %L1 KB</translation>
2100 </message> 2100 </message>
2101 <message> 2101 <message>
2102 <location filename="installthemes.cpp" line="184"/> 2102 <location filename="installthemes.cpp" line="184"/>
2103 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source> 2103 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
2104 <translation>&lt;b&gt;Sahibi:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2104 <translation>&lt;b&gt;Sahibi:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2105 </message> 2105 </message>
2106 <message> 2106 <message>
2107 <location filename="installthemes.cpp" line="185"/> 2107 <location filename="installthemes.cpp" line="185"/>
2108 <source>unknown</source> 2108 <source>unknown</source>
2109 <translation>bilinmiyor</translation> 2109 <translation>bilinmiyor</translation>
2110 </message> 2110 </message>
2111 <message> 2111 <message>
2112 <location filename="installthemes.cpp" line="185"/> 2112 <location filename="installthemes.cpp" line="185"/>
2113 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source> 2113 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
2114 <translation>&lt;b&gt;S�r�m:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2114 <translation>&lt;b&gt;S�r�m:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2115 </message> 2115 </message>
2116 <message> 2116 <message>
2117 <location filename="installthemes.cpp" line="186"/> 2117 <location filename="installthemes.cpp" line="186"/>
2118 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source> 2118 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
2119 <translation>&lt;b&gt;A�iklama:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2119 <translation>&lt;b&gt;A�iklama:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2120 </message> 2120 </message>
2121 <message> 2121 <message>
2122 <location filename="installthemes.cpp" line="186"/> 2122 <location filename="installthemes.cpp" line="186"/>
2123 <source>no description</source> 2123 <source>no description</source>
2124 <translation>a�iklama yok</translation> 2124 <translation>a�iklama yok</translation>
2125 </message> 2125 </message>
2126 <message> 2126 <message>
2127 <location filename="installthemes.cpp" line="222"/> 2127 <location filename="installthemes.cpp" line="222"/>
2128 <source>no theme preview</source> 2128 <source>no theme preview</source>
2129 <translation>tema �nizlemesi yok</translation> 2129 <translation>tema �nizlemesi yok</translation>
2130 </message> 2130 </message>
2131 <message> 2131 <message>
2132 <location filename="installthemes.cpp" line="254"/> 2132 <location filename="installthemes.cpp" line="254"/>
2133 <source>getting themes information ...</source> 2133 <source>getting themes information ...</source>
2134 <translation>temalarin bilgileri aliniyor ...</translation> 2134 <translation>temalarin bilgileri aliniyor ...</translation>
2135 </message> 2135 </message>
2136 <message> 2136 <message>
2137 <location filename="installthemes.cpp" line="312"/> 2137 <location filename="installthemes.cpp" line="312"/>
2138 <source>Mount point is wrong!</source> 2138 <source>Mount point is wrong!</source>
2139 <translation>Baglama noktasi hatali!</translation> 2139 <translation>Baglama noktasi hatali!</translation>
2140 </message> 2140 </message>
2141</context> 2141</context>
2142<context> 2142<context>
2143 <name>UnZip</name> 2143 <name>UnZip</name>
2144 <message> 2144 <message>
2145 <location filename="zip/unzip.cpp" line="245"/> 2145 <location filename="zip/unzip.cpp" line="245"/>
2146 <source>ZIP operation completed successfully.</source> 2146 <source>ZIP operation completed successfully.</source>
2147 <translation>ZIP islemi basariyla tamamlandi.</translation> 2147 <translation>ZIP islemi basariyla tamamlandi.</translation>
2148 </message> 2148 </message>
2149 <message> 2149 <message>
2150 <location filename="zip/unzip.cpp" line="246"/> 2150 <location filename="zip/unzip.cpp" line="246"/>
2151 <source>Failed to initialize or load zlib library.</source> 2151 <source>Failed to initialize or load zlib library.</source>
2152 <translation>zlib k�t�phanesi y�klenemedi.</translation> 2152 <translation>zlib k�t�phanesi y�klenemedi.</translation>
2153 </message> 2153 </message>
2154 <message> 2154 <message>
2155 <location filename="zip/unzip.cpp" line="247"/> 2155 <location filename="zip/unzip.cpp" line="247"/>
2156 <source>zlib library error.</source> 2156 <source>zlib library error.</source>
2157 <translation>zlib k�t�phane hatasi.</translation> 2157 <translation>zlib k�t�phane hatasi.</translation>
2158 </message> 2158 </message>
2159 <message> 2159 <message>
2160 <location filename="zip/unzip.cpp" line="248"/> 2160 <location filename="zip/unzip.cpp" line="248"/>
2161 <source>Unable to create or open file.</source> 2161 <source>Unable to create or open file.</source>
2162 <translation>Dosya olusturulamadi veya a�ilamadi.</translation> 2162 <translation>Dosya olusturulamadi veya a�ilamadi.</translation>
2163 </message> 2163 </message>
2164 <message> 2164 <message>
2165 <location filename="zip/unzip.cpp" line="249"/> 2165 <location filename="zip/unzip.cpp" line="249"/>
2166 <source>Partially corrupted archive. Some files might be extracted.</source> 2166 <source>Partially corrupted archive. Some files might be extracted.</source>
2167 <translation>Kismi bozuk arsiv. Bazi dosyalar a�ilmis olabilir.</translation> 2167 <translation>Kismi bozuk arsiv. Bazi dosyalar a�ilmis olabilir.</translation>
2168 </message> 2168 </message>
2169 <message> 2169 <message>
2170 <location filename="zip/unzip.cpp" line="250"/> 2170 <location filename="zip/unzip.cpp" line="250"/>
2171 <source>Corrupted archive.</source> 2171 <source>Corrupted archive.</source>
2172 <translation>Bozuk arsiv.</translation> 2172 <translation>Bozuk arsiv.</translation>
2173 </message> 2173 </message>
2174 <message> 2174 <message>
2175 <location filename="zip/unzip.cpp" line="251"/> 2175 <location filename="zip/unzip.cpp" line="251"/>
2176 <source>Wrong password.</source> 2176 <source>Wrong password.</source>
2177 <translation>Yanlis parola.</translation> 2177 <translation>Yanlis parola.</translation>
2178 </message> 2178 </message>
2179 <message> 2179 <message>
2180 <location filename="zip/unzip.cpp" line="252"/> 2180 <location filename="zip/unzip.cpp" line="252"/>
2181 <source>No archive has been created yet.</source> 2181 <source>No archive has been created yet.</source>
2182 <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation> 2182 <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation>
2183 </message> 2183 </message>
2184 <message> 2184 <message>
2185 <location filename="zip/unzip.cpp" line="253"/> 2185 <location filename="zip/unzip.cpp" line="253"/>
2186 <source>File or directory does not exist.</source> 2186 <source>File or directory does not exist.</source>
2187 <translation>Dosya veya dizin mevcut degil.</translation> 2187 <translation>Dosya veya dizin mevcut degil.</translation>
2188 </message> 2188 </message>
2189 <message> 2189 <message>
2190 <location filename="zip/unzip.cpp" line="254"/> 2190 <location filename="zip/unzip.cpp" line="254"/>
2191 <source>File read error.</source> 2191 <source>File read error.</source>
2192 <translation>Dosya okuma hatasi.</translation> 2192 <translation>Dosya okuma hatasi.</translation>
2193 </message> 2193 </message>
2194 <message> 2194 <message>
2195 <location filename="zip/unzip.cpp" line="255"/> 2195 <location filename="zip/unzip.cpp" line="255"/>
2196 <source>File write error.</source> 2196 <source>File write error.</source>
2197 <translation>Dosyaya yazma hatasi.</translation> 2197 <translation>Dosyaya yazma hatasi.</translation>
2198 </message> 2198 </message>
2199 <message> 2199 <message>
2200 <location filename="zip/unzip.cpp" line="256"/> 2200 <location filename="zip/unzip.cpp" line="256"/>
2201 <source>File seek error.</source> 2201 <source>File seek error.</source>
2202 <translation>Dosya konumlandirma hatasi.</translation> 2202 <translation>Dosya konumlandirma hatasi.</translation>
2203 </message> 2203 </message>
2204 <message> 2204 <message>
2205 <location filename="zip/unzip.cpp" line="257"/> 2205 <location filename="zip/unzip.cpp" line="257"/>
2206 <source>Unable to create a directory.</source> 2206 <source>Unable to create a directory.</source>
2207 <translation>Dizin olusturulamadi.</translation> 2207 <translation>Dizin olusturulamadi.</translation>
2208 </message> 2208 </message>
2209 <message> 2209 <message>
2210 <location filename="zip/unzip.cpp" line="258"/> 2210 <location filename="zip/unzip.cpp" line="258"/>
2211 <source>Invalid device.</source> 2211 <source>Invalid device.</source>
2212 <translation>Ge�ersiz aygit.</translation> 2212 <translation>Ge�ersiz aygit.</translation>
2213 </message> 2213 </message>
2214 <message> 2214 <message>
2215 <location filename="zip/unzip.cpp" line="259"/> 2215 <location filename="zip/unzip.cpp" line="259"/>
2216 <source>Invalid or incompatible zip archive.</source> 2216 <source>Invalid or incompatible zip archive.</source>
2217 <translation>Bozuk veya tamamlanmamis arsiv dosyasi.</translation> 2217 <translation>Bozuk veya tamamlanmamis arsiv dosyasi.</translation>
2218 </message> 2218 </message>
2219 <message> 2219 <message>
2220 <location filename="zip/unzip.cpp" line="260"/> 2220 <location filename="zip/unzip.cpp" line="260"/>
2221 <source>Inconsistent headers. Archive might be corrupted.</source> 2221 <source>Inconsistent headers. Archive might be corrupted.</source>
2222 <translation>Tutarsiz basliklar. Arsiv bozulmus olabilir.</translation> 2222 <translation>Tutarsiz basliklar. Arsiv bozulmus olabilir.</translation>
2223 </message> 2223 </message>
2224 <message> 2224 <message>
2225 <location filename="zip/unzip.cpp" line="264"/> 2225 <location filename="zip/unzip.cpp" line="264"/>
2226 <source>Unknown error.</source> 2226 <source>Unknown error.</source>
2227 <translation>Bilinmeyen hata.</translation> 2227 <translation>Bilinmeyen hata.</translation>
2228 </message> 2228 </message>
2229</context> 2229</context>
2230<context> 2230<context>
2231 <name>UninstallFrm</name> 2231 <name>UninstallFrm</name>
2232 <message> 2232 <message>
2233 <location filename="uninstallfrm.ui" line="16"/> 2233 <location filename="uninstallfrm.ui" line="16"/>
2234 <source>Uninstall Rockbox</source> 2234 <source>Uninstall Rockbox</source>
2235 <translation>Rockbox&apos;i Kaldir</translation> 2235 <translation>Rockbox&apos;i Kaldir</translation>
2236 </message> 2236 </message>
2237 <message> 2237 <message>
2238 <location filename="uninstallfrm.ui" line="35"/> 2238 <location filename="uninstallfrm.ui" line="35"/>
2239 <source>Please select the Uninstallation Methodl</source> 2239 <source>Please select the Uninstallation Methodl</source>
2240 <translation>L�tfen kaldirma y�ntemini se�iniz</translation> 2240 <translation>L�tfen kaldirma y�ntemini se�iniz</translation>
2241 </message> 2241 </message>
2242 <message> 2242 <message>
2243 <location filename="uninstallfrm.ui" line="45"/> 2243 <location filename="uninstallfrm.ui" line="45"/>
2244 <source>Uninstallation Method</source> 2244 <source>Uninstallation Method</source>
2245 <translation>Kaldirma Y�ntemi</translation> 2245 <translation>Kaldirma Y�ntemi</translation>
2246 </message> 2246 </message>
2247 <message> 2247 <message>
2248 <location filename="uninstallfrm.ui" line="51"/> 2248 <location filename="uninstallfrm.ui" line="51"/>
2249 <source>Complete Uninstallation</source> 2249 <source>Complete Uninstallation</source>
2250 <translation>T�m�n� Kaldir</translation> 2250 <translation>T�m�n� Kaldir</translation>
2251 </message> 2251 </message>
2252 <message> 2252 <message>
2253 <location filename="uninstallfrm.ui" line="58"/> 2253 <location filename="uninstallfrm.ui" line="58"/>
2254 <source>Smart Uninstallation</source> 2254 <source>Smart Uninstallation</source>
2255 <translation>�zel </translation> 2255 <translation>�zel </translation>
2256 </message> 2256 </message>
2257 <message> 2257 <message>
2258 <location filename="uninstallfrm.ui" line="68"/> 2258 <location filename="uninstallfrm.ui" line="68"/>
2259 <source>Please select what you want to uninstall</source> 2259 <source>Please select what you want to uninstall</source>
2260 <translation>L�tfen neyi kaldirmak istediginizi se�iniz</translation> 2260 <translation>L�tfen neyi kaldirmak istediginizi se�iniz</translation>
2261 </message> 2261 </message>
2262 <message> 2262 <message>
2263 <location filename="uninstallfrm.ui" line="78"/> 2263 <location filename="uninstallfrm.ui" line="78"/>
2264 <source>Installed Parts</source> 2264 <source>Installed Parts</source>
2265 <translation>Kurulmus Bilesenler</translation> 2265 <translation>Kurulmus Bilesenler</translation>
2266 </message> 2266 </message>
2267 <message> 2267 <message>
2268 <location filename="uninstallfrm.ui" line="128"/> 2268 <location filename="uninstallfrm.ui" line="128"/>
2269 <source>&amp;Uninstall</source> 2269 <source>&amp;Uninstall</source>
2270 <translation>&amp;Kaldir</translation> 2270 <translation>&amp;Kaldir</translation>
2271 </message> 2271 </message>
2272 <message> 2272 <message>
2273 <location filename="uninstallfrm.ui" line="138"/> 2273 <location filename="uninstallfrm.ui" line="138"/>
2274 <source>&amp;Cancel</source> 2274 <source>&amp;Cancel</source>
2275 <translation>&amp;Iptal</translation> 2275 <translation>&amp;Iptal</translation>
2276 </message> 2276 </message>
2277</context> 2277</context>
2278<context> 2278<context>
2279 <name>Uninstaller</name> 2279 <name>Uninstaller</name>
2280 <message> 2280 <message>
2281 <location filename="uninstall.cpp" line="45"/> 2281 <location filename="uninstall.cpp" line="45"/>
2282 <source>Starting Uninstallation</source> 2282 <source>Starting Uninstallation</source>
2283 <translation>Kaldirma Islemi Baslatiliyor</translation> 2283 <translation>Kaldirma Islemi Baslatiliyor</translation>
2284 </message> 2284 </message>
2285 <message> 2285 <message>
2286 <location filename="uninstall.cpp" line="37"/> 2286 <location filename="uninstall.cpp" line="37"/>
2287 <source>Finished Uninstallation</source> 2287 <source>Finished Uninstallation</source>
2288 <translation>Kaldirma Islemi Tamamlandi</translation> 2288 <translation>Kaldirma Islemi Tamamlandi</translation>
2289 </message> 2289 </message>
2290 <message> 2290 <message>
2291 <location filename="uninstall.cpp" line="51"/> 2291 <location filename="uninstall.cpp" line="51"/>
2292 <source>Uninstalling </source> 2292 <source>Uninstalling </source>
2293 <translation>Kaldiriliyor </translation> 2293 <translation>Kaldiriliyor </translation>
2294 </message> 2294 </message>
2295 <message> 2295 <message>
2296 <location filename="uninstall.cpp" line="81"/> 2296 <location filename="uninstall.cpp" line="81"/>
2297 <source>Could not delete: </source> 2297 <source>Could not delete: </source>
2298 <translation>Silinemedi: </translation> 2298 <translation>Silinemedi: </translation>
2299 </message> 2299 </message>
2300 <message> 2300 <message>
2301 <location filename="uninstall.cpp" line="108"/> 2301 <location filename="uninstall.cpp" line="108"/>
2302 <source>Uninstallation finished</source> 2302 <source>Uninstallation finished</source>
2303 <translation>Kaldirma islemi tamamlandi</translation> 2303 <translation>Kaldirma islemi tamamlandi</translation>
2304 </message> 2304 </message>
2305</context> 2305</context>
2306<context> 2306<context>
2307 <name>VoiceFileCreator</name> 2307 <name>VoiceFileCreator</name>
2308 <message> 2308 <message>
2309 <location filename="voicefile.cpp" line="41"/> 2309 <location filename="voicefile.cpp" line="41"/>
2310 <source>Starting Voicefile generation</source> 2310 <source>Starting Voicefile generation</source>
2311 <translation type="unfinished"></translation> 2311 <translation type="unfinished"></translation>
2312 </message> 2312 </message>
2313 <message> 2313 <message>
2314 <location filename="voicefile.cpp" line="55"/> 2314 <location filename="voicefile.cpp" line="55"/>
2315 <source>failed to open rockbox-info.txt</source> 2315 <source>failed to open rockbox-info.txt</source>
2316 <translation type="unfinished"></translation> 2316 <translation type="unfinished"></translation>
2317 </message> 2317 </message>
2318 <message> 2318 <message>
2319 <location filename="voicefile.cpp" line="124"/> 2319 <location filename="voicefile.cpp" line="124"/>
2320 <source>Download error: received HTTP error %1.</source> 2320 <source>Download error: received HTTP error %1.</source>
2321 <translation type="unfinished">Indirme hatasi: HTTP %1 hatasi.</translation> 2321 <translation type="unfinished">Indirme hatasi: HTTP %1 hatasi.</translation>
2322 </message> 2322 </message>
2323 <message> 2323 <message>
2324 <location filename="voicefile.cpp" line="128"/> 2324 <location filename="voicefile.cpp" line="128"/>
2325 <source>Cached file used.</source> 2325 <source>Cached file used.</source>
2326 <translation type="unfinished">�nbellekteki dosya kullanildi.</translation> 2326 <translation type="unfinished">�nbellekteki dosya kullanildi.</translation>
2327 </message> 2327 </message>
2328 <message> 2328 <message>
2329 <location filename="voicefile.cpp" line="130"/> 2329 <location filename="voicefile.cpp" line="130"/>
2330 <source>Download error: %1</source> 2330 <source>Download error: %1</source>
2331 <translation type="unfinished">Indirme hatasi: %1</translation> 2331 <translation type="unfinished">Indirme hatasi: %1</translation>
2332 </message> 2332 </message>
2333 <message> 2333 <message>
2334 <location filename="voicefile.cpp" line="134"/> 2334 <location filename="voicefile.cpp" line="134"/>
2335 <source>Download finished.</source> 2335 <source>Download finished.</source>
2336 <translation type="unfinished">Indirme islemi tamamlandi.</translation> 2336 <translation type="unfinished">Indirme islemi tamamlandi.</translation>
2337 </message> 2337 </message>
2338 <message> 2338 <message>
2339 <location filename="voicefile.cpp" line="143"/> 2339 <location filename="voicefile.cpp" line="143"/>
2340 <source>failed to open downloaded file</source> 2340 <source>failed to open downloaded file</source>
2341 <translation type="unfinished"></translation> 2341 <translation type="unfinished"></translation>
2342 </message> 2342 </message>
2343 <message> 2343 <message>
2344 <location filename="voicefile.cpp" line="156"/> 2344 <location filename="voicefile.cpp" line="156"/>
2345 <source>Init of TTS engine failed</source> 2345 <source>Init of TTS engine failed</source>
2346 <translation type="unfinished"></translation> 2346 <translation type="unfinished"></translation>
2347 </message> 2347 </message>
2348 <message> 2348 <message>
2349 <location filename="voicefile.cpp" line="167"/> 2349 <location filename="voicefile.cpp" line="167"/>
2350 <source>Init of Encoder engine failed</source> 2350 <source>Init of Encoder engine failed</source>
2351 <translation type="unfinished"></translation> 2351 <translation type="unfinished"></translation>
2352 </message> 2352 </message>
2353 <message> 2353 <message>
2354 <location filename="voicefile.cpp" line="209"/> 2354 <location filename="voicefile.cpp" line="209"/>
2355 <source>The downloaded file was empty!</source> 2355 <source>The downloaded file was empty!</source>
2356 <translation type="unfinished"></translation> 2356 <translation type="unfinished"></translation>
2357 </message> 2357 </message>
2358 <message> 2358 <message>
2359 <location filename="voicefile.cpp" line="246"/> 2359 <location filename="voicefile.cpp" line="246"/>
2360 <source>creating </source> 2360 <source>creating </source>
2361 <translation type="unfinished"></translation> 2361 <translation type="unfinished"></translation>
2362 </message> 2362 </message>
2363 <message> 2363 <message>
2364 <location filename="voicefile.cpp" line="269"/> 2364 <location filename="voicefile.cpp" line="269"/>
2365 <source>Error opening downloaded file</source> 2365 <source>Error opening downloaded file</source>
2366 <translation type="unfinished"></translation> 2366 <translation type="unfinished"></translation>
2367 </message> 2367 </message>
2368 <message> 2368 <message>
2369 <location filename="voicefile.cpp" line="277"/> 2369 <location filename="voicefile.cpp" line="277"/>
2370 <source>Error opening output file</source> 2370 <source>Error opening output file</source>
2371 <translation type="unfinished"></translation> 2371 <translation type="unfinished"></translation>
2372 </message> 2372 </message>
2373 <message> 2373 <message>
2374 <location filename="voicefile.cpp" line="291"/> 2374 <location filename="voicefile.cpp" line="291"/>
2375 <source>successfully created.</source> 2375 <source>successfully created.</source>
2376 <translation type="unfinished"></translation> 2376 <translation type="unfinished"></translation>
2377 </message> 2377 </message>
2378</context> 2378</context>
2379<context> 2379<context>
2380 <name>Zip</name> 2380 <name>Zip</name>
2381 <message> 2381 <message>
2382 <location filename="zip/zip.cpp" line="479"/> 2382 <location filename="zip/zip.cpp" line="479"/>
2383 <source>ZIP operation completed successfully.</source> 2383 <source>ZIP operation completed successfully.</source>
2384 <translation>ZIP islemi basariyla tamamlandi.</translation> 2384 <translation>ZIP islemi basariyla tamamlandi.</translation>
2385 </message> 2385 </message>
2386 <message> 2386 <message>
2387 <location filename="zip/zip.cpp" line="480"/> 2387 <location filename="zip/zip.cpp" line="480"/>
2388 <source>Failed to initialize or load zlib library.</source> 2388 <source>Failed to initialize or load zlib library.</source>
2389 <translation>zlib k�t�phanesi y�klenemedi.</translation> 2389 <translation>zlib k�t�phanesi y�klenemedi.</translation>
2390 </message> 2390 </message>
2391 <message> 2391 <message>
2392 <location filename="zip/zip.cpp" line="481"/> 2392 <location filename="zip/zip.cpp" line="481"/>
2393 <source>zlib library error.</source> 2393 <source>zlib library error.</source>
2394 <translation>zlib k�t�phane hatasi.</translation> 2394 <translation>zlib k�t�phane hatasi.</translation>
2395 </message> 2395 </message>
2396 <message> 2396 <message>
2397 <location filename="zip/zip.cpp" line="482"/> 2397 <location filename="zip/zip.cpp" line="482"/>
2398 <source>Unable to create or open file.</source> 2398 <source>Unable to create or open file.</source>
2399 <translation>Dosya olusturulamadi veya a�ilamadi.</translation> 2399 <translation>Dosya olusturulamadi veya a�ilamadi.</translation>
2400 </message> 2400 </message>
2401 <message> 2401 <message>
2402 <location filename="zip/zip.cpp" line="483"/> 2402 <location filename="zip/zip.cpp" line="483"/>
2403 <source>No archive has been created yet.</source> 2403 <source>No archive has been created yet.</source>
2404 <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation> 2404 <translation>Hen�z herhangi bir arsiv dosyasi olusturulmadi.</translation>
2405 </message> 2405 </message>
2406 <message> 2406 <message>
2407 <location filename="zip/zip.cpp" line="484"/> 2407 <location filename="zip/zip.cpp" line="484"/>
2408 <source>File or directory does not exist.</source> 2408 <source>File or directory does not exist.</source>
2409 <translation>Dosya veya dizin mevcut degil.</translation> 2409 <translation>Dosya veya dizin mevcut degil.</translation>
2410 </message> 2410 </message>
2411 <message> 2411 <message>
2412 <location filename="zip/zip.cpp" line="485"/> 2412 <location filename="zip/zip.cpp" line="485"/>
2413 <source>File read error.</source> 2413 <source>File read error.</source>
2414 <translation>Dosya okuma hatasi.</translation> 2414 <translation>Dosya okuma hatasi.</translation>
2415 </message> 2415 </message>
2416 <message> 2416 <message>
2417 <location filename="zip/zip.cpp" line="486"/> 2417 <location filename="zip/zip.cpp" line="486"/>
2418 <source>File write error.</source> 2418 <source>File write error.</source>
2419 <translation>Dosyaya yazma hatasi.</translation> 2419 <translation>Dosyaya yazma hatasi.</translation>
2420 </message> 2420 </message>
2421 <message> 2421 <message>
2422 <location filename="zip/zip.cpp" line="487"/> 2422 <location filename="zip/zip.cpp" line="487"/>
2423 <source>File seek error.</source> 2423 <source>File seek error.</source>
2424 <translation>Dosya konumlandirma hatasi.</translation> 2424 <translation>Dosya konumlandirma hatasi.</translation>
2425 </message> 2425 </message>
2426 <message> 2426 <message>
2427 <location filename="zip/zip.cpp" line="491"/> 2427 <location filename="zip/zip.cpp" line="491"/>
2428 <source>Unknown error.</source> 2428 <source>Unknown error.</source>
2429 <translation>Bilinmeyen hata.</translation> 2429 <translation>Bilinmeyen hata.</translation>
2430 </message> 2430 </message>
2431</context> 2431</context>
2432<context> 2432<context>
2433 <name>ZipInstaller</name> 2433 <name>ZipInstaller</name>
2434 <message> 2434 <message>
2435 <location filename="installzip.cpp" line="54"/> 2435 <location filename="installzip.cpp" line="54"/>
2436 <source>done.</source> 2436 <source>done.</source>
2437 <translation>tamamlandi.</translation> 2437 <translation>tamamlandi.</translation>
2438 </message> 2438 </message>
2439 <message> 2439 <message>
2440 <location filename="installzip.cpp" line="62"/> 2440 <location filename="installzip.cpp" line="62"/>
2441 <source>Installation finished successfully.</source> 2441 <source>Installation finished successfully.</source>
2442 <translation>Y�kleme basariyla tamamlandi.</translation> 2442 <translation>Y�kleme basariyla tamamlandi.</translation>
2443 </message> 2443 </message>
2444 <message> 2444 <message>
2445 <location filename="installzip.cpp" line="77"/> 2445 <location filename="installzip.cpp" line="77"/>
2446 <source>Downloading file %1.%2</source> 2446 <source>Downloading file %1.%2</source>
2447 <translation>Dosya indiriliyor %1.%2</translation> 2447 <translation>Dosya indiriliyor %1.%2</translation>
2448 </message> 2448 </message>
2449 <message> 2449 <message>
2450 <location filename="installzip.cpp" line="126"/> 2450 <location filename="installzip.cpp" line="126"/>
2451 <source>Download error: received HTTP error %1.</source> 2451 <source>Download error: received HTTP error %1.</source>
2452 <translation>Indirme hatasi: HTTP %1 hatasi.</translation> 2452 <translation>Indirme hatasi: HTTP %1 hatasi.</translation>
2453 </message> 2453 </message>
2454 <message> 2454 <message>
2455 <location filename="installzip.cpp" line="131"/> 2455 <location filename="installzip.cpp" line="131"/>
2456 <source>Cached file used.</source> 2456 <source>Cached file used.</source>
2457 <translation>�nbellekteki dosya kullanildi.</translation> 2457 <translation>�nbellekteki dosya kullanildi.</translation>
2458 </message> 2458 </message>
2459 <message> 2459 <message>
2460 <location filename="installzip.cpp" line="133"/> 2460 <location filename="installzip.cpp" line="133"/>
2461 <source>Download error: %1</source> 2461 <source>Download error: %1</source>
2462 <translation>Indirme hatasi: %1</translation> 2462 <translation>Indirme hatasi: %1</translation>
2463 </message> 2463 </message>
2464 <message> 2464 <message>
2465 <location filename="installzip.cpp" line="138"/> 2465 <location filename="installzip.cpp" line="138"/>
2466 <source>Download finished.</source> 2466 <source>Download finished.</source>
2467 <translation>Indirme islemi tamamlandi.</translation> 2467 <translation>Indirme islemi tamamlandi.</translation>
2468 </message> 2468 </message>
2469 <message> 2469 <message>
2470 <location filename="installzip.cpp" line="144"/> 2470 <location filename="installzip.cpp" line="144"/>
2471 <source>Extracting file.</source> 2471 <source>Extracting file.</source>
2472 <translation>Dosya �ikariliyor.</translation> 2472 <translation>Dosya �ikariliyor.</translation>
2473 </message> 2473 </message>
2474 <message> 2474 <message>
2475 <location filename="installzip.cpp" line="153"/> 2475 <location filename="installzip.cpp" line="153"/>
2476 <source>Opening archive failed: %1.</source> 2476 <source>Opening archive failed: %1.</source>
2477 <translation>Arsiv a�ilamadi: %1.</translation> 2477 <translation>Arsiv a�ilamadi: %1.</translation>
2478 </message> 2478 </message>
2479 <message> 2479 <message>
2480 <location filename="installzip.cpp" line="162"/> 2480 <location filename="installzip.cpp" line="162"/>
2481 <source>Extracting failed: %1.</source> 2481 <source>Extracting failed: %1.</source>
2482 <translation>Arsivden �ikarma islemi basarisiz: %1.</translation> 2482 <translation>Arsivden �ikarma islemi basarisiz: %1.</translation>
2483 </message> 2483 </message>
2484 <message> 2484 <message>
2485 <location filename="installzip.cpp" line="172"/> 2485 <location filename="installzip.cpp" line="172"/>
2486 <source>Installing file.</source> 2486 <source>Installing file.</source>
2487 <translation>Dosya y�kleniyor.</translation> 2487 <translation>Dosya y�kleniyor.</translation>
2488 </message> 2488 </message>
2489 <message> 2489 <message>
2490 <location filename="installzip.cpp" line="183"/> 2490 <location filename="installzip.cpp" line="183"/>
2491 <source>Installing file failed.</source> 2491 <source>Installing file failed.</source>
2492 <translation>Dosya y�kleme islemi basarisiz.</translation> 2492 <translation>Dosya y�kleme islemi basarisiz.</translation>
2493 </message> 2493 </message>
2494 <message> 2494 <message>
2495 <location filename="installzip.cpp" line="193"/> 2495 <location filename="installzip.cpp" line="193"/>
2496 <source>Creating installation log</source> 2496 <source>Creating installation log</source>
2497 <translation>Kurulum kayit dosyasi yaratiliyor</translation> 2497 <translation>Kurulum kayit dosyasi yaratiliyor</translation>
2498 </message> 2498 </message>
2499</context> 2499</context>
2500<context> 2500<context>
2501 <name>aboutBox</name> 2501 <name>aboutBox</name>
2502 <message> 2502 <message>
2503 <location filename="aboutbox.ui" line="13"/> 2503 <location filename="aboutbox.ui" line="13"/>
2504 <source>About Rockbox Utility</source> 2504 <source>About Rockbox Utility</source>
2505 <translation>Rockbox Araci Hakkinda</translation> 2505 <translation>Rockbox Araci Hakkinda</translation>
2506 </message> 2506 </message>
2507 <message> 2507 <message>
2508 <location filename="aboutbox.ui" line="34"/> 2508 <location filename="aboutbox.ui" line="34"/>
2509 <source>The Rockbox Utility</source> 2509 <source>The Rockbox Utility</source>
2510 <translation>Rockbox Araci</translation> 2510 <translation>Rockbox Araci</translation>
2511 </message> 2511 </message>
2512 <message encoding="UTF-8"> 2512 <message encoding="UTF-8">
2513 <location filename="" line="137529492"/> 2513 <location filename="" line="137529492"/>
2514 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware. 2514 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
2515 2515
2516� 2005 - 2007 The Rockbox Team. 2516� 2005 - 2007 The Rockbox Team.
2517Released under the GNU General Public License v2.</source> 2517Released under the GNU General Public License v2.</source>
2518 <translation type="obsolete">Rockbox a�ik kaynak ses oynaticisi bellenimi (firmware) y�kleme araci. 2518 <translation type="obsolete">Rockbox a�ik kaynak ses oynaticisi bellenimi (firmware) y�kleme araci.
2519 2519
2520� 2005 - 2007 Rockbox Takimi. 2520� 2005 - 2007 Rockbox Takimi.
2521GNU Genel Kamu Lisansi v2 altinda dagitilmaktadir.</translation> 2521GNU Genel Kamu Lisansi v2 altinda dagitilmaktadir.</translation>
2522 </message> 2522 </message>
2523 <message> 2523 <message>
2524 <location filename="aboutbox.ui" line="72"/> 2524 <location filename="aboutbox.ui" line="72"/>
2525 <source>http://www.rockbox.org</source> 2525 <source>http://www.rockbox.org</source>
2526 <translation>http://www.rockbox.org</translation> 2526 <translation>http://www.rockbox.org</translation>
2527 </message> 2527 </message>
2528 <message> 2528 <message>
2529 <location filename="aboutbox.ui" line="95"/> 2529 <location filename="aboutbox.ui" line="95"/>
2530 <source>&amp;Credits</source> 2530 <source>&amp;Credits</source>
2531 <translation>&amp;Hazirlayanlar</translation> 2531 <translation>&amp;Hazirlayanlar</translation>
2532 </message> 2532 </message>
2533 <message> 2533 <message>
2534 <location filename="aboutbox.ui" line="124"/> 2534 <location filename="aboutbox.ui" line="124"/>
2535 <source>&amp;License</source> 2535 <source>&amp;License</source>
2536 <translation>&amp;Lisans</translation> 2536 <translation>&amp;Lisans</translation>
2537 </message> 2537 </message>
2538 <message> 2538 <message>
2539 <location filename="aboutbox.ui" line="157"/> 2539 <location filename="aboutbox.ui" line="157"/>
2540 <source>&amp;Ok</source> 2540 <source>&amp;Ok</source>
2541 <translation>&amp;Tamam</translation> 2541 <translation>&amp;Tamam</translation>
2542 </message> 2542 </message>
2543 <message encoding="UTF-8"> 2543 <message encoding="UTF-8">
2544 <location filename="aboutbox.ui" line="56"/> 2544 <location filename="aboutbox.ui" line="56"/>
2545 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware. 2545 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
2546 2546
2547© 2005 - 2007 The Rockbox Team. 2547© 2005 - 2007 The Rockbox Team.
2548Released under the GNU General Public License v2.</source> 2548Released under the GNU General Public License v2.</source>
2549 <translation type="unfinished"></translation> 2549 <translation type="unfinished"></translation>
2550 </message> 2550 </message>
2551</context> 2551</context>
2552</TS> 2552</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 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE TS><TS version="1.1"> 2<!DOCTYPE TS><TS version="1.1">
3<context> 3<context>
4 <name>BootloaderInstaller</name> 4 <name>BootloaderInstaller</name>
5 <message> 5 <message>
6 <location filename="installbootloader.cpp" line="32"/> 6 <location filename="installbootloader.cpp" line="32"/>
7 <source>Starting bootloader installation</source> 7 <source>Starting bootloader installation</source>
8 <translation>开始安装启动程式</translation> 8 <translation>开始安装启动程式</translation>
9 </message> 9 </message>
10 <message> 10 <message>
11 <location filename="installbootloader.cpp" line="122"/> 11 <location filename="installbootloader.cpp" line="122"/>
12 <source>unsupported install Method</source> 12 <source>unsupported install Method</source>
13 <translation>不支持的安装方式</translation> 13 <translation>不支持的安装方式</translation>
14 </message> 14 </message>
15 <message> 15 <message>
16 <location filename="installbootloader.cpp" line="85"/> 16 <location filename="installbootloader.cpp" line="85"/>
17 <source>Starting bootloader uninstallation</source> 17 <source>Starting bootloader uninstallation</source>
18 <translation>开始卸载启动程式</translation> 18 <translation>开始卸载启动程式</translation>
19 </message> 19 </message>
20 <message> 20 <message>
21 <location filename="installbootloader.cpp" line="116"/> 21 <location filename="installbootloader.cpp" line="116"/>
22 <source>No uninstallation possible</source> 22 <source>No uninstallation possible</source>
23 <translation>不可以卸载</translation> 23 <translation>不可以卸载</translation>
24 </message> 24 </message>
25 <message> 25 <message>
26 <location filename="installbootloader.cpp" line="151"/> 26 <location filename="installbootloader.cpp" line="151"/>
27 <source>Download error: received HTTP error %1.</source> 27 <source>Download error: received HTTP error %1.</source>
28 <translation>下载错误: 接到 HTTP 错误 %1. </translation> 28 <translation>下载错误: 接到 HTTP 错误 %1. </translation>
29 </message> 29 </message>
30 <message> 30 <message>
31 <location filename="installbootloader.cpp" line="157"/> 31 <location filename="installbootloader.cpp" line="157"/>
32 <source>Download error: %1</source> 32 <source>Download error: %1</source>
33 <translation>下载错误: %1</translation> 33 <translation>下载错误: %1</translation>
34 </message> 34 </message>
35 <message> 35 <message>
36 <location filename="installbootloader.cpp" line="162"/> 36 <location filename="installbootloader.cpp" line="162"/>
37 <source>Download finished.</source> 37 <source>Download finished.</source>
38 <translation>完成下载.</translation> 38 <translation>完成下载.</translation>
39 </message> 39 </message>
40 <message> 40 <message>
41 <location filename="installbootloader.cpp" line="224"/> 41 <location filename="installbootloader.cpp" line="224"/>
42 <source>Network error: %1. Please check your network and proxy settings.</source> 42 <source>Network error: %1. Please check your network and proxy settings.</source>
43 <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation> 43 <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation>
44 </message> 44 </message>
45 <message> 45 <message>
46 <location filename="installbootloader.cpp" line="237"/> 46 <location filename="installbootloader.cpp" line="237"/>
47 <source>Creating installation log</source> 47 <source>Creating installation log</source>
48 <translation>正在添加安装日志</translation> 48 <translation>正在添加安装日志</translation>
49 </message> 49 </message>
50 <message> 50 <message>
51 <location filename="installbootloader.cpp" line="253"/> 51 <location filename="installbootloader.cpp" line="253"/>
52 <source>Editing installation log</source> 52 <source>Editing installation log</source>
53 <translation>正在写入安装日志</translation> 53 <translation>正在写入安装日志</translation>
54 </message> 54 </message>
55 <message> 55 <message>
56 <location filename="installbootloader.cpp" line="1093"/> 56 <location filename="installbootloader.cpp" line="1093"/>
57 <source>Downloading file %1.%2</source> 57 <source>Downloading file %1.%2</source>
58 <translation>正在下载文件 %1.%2</translation> 58 <translation>正在下载文件 %1.%2</translation>
59 </message> 59 </message>
60 <message> 60 <message>
61 <location filename="installbootloader.cpp" line="323"/> 61 <location filename="installbootloader.cpp" line="323"/>
62 <source>Could not find the Original Firmware at: %1</source> 62 <source>Could not find the Original Firmware at: %1</source>
63 <translation>找不到厂家固件在: %1</translation> 63 <translation>找不到厂家固件在: %1</translation>
64 </message> 64 </message>
65 <message> 65 <message>
66 <location filename="installbootloader.cpp" line="545"/> 66 <location filename="installbootloader.cpp" line="545"/>
67 <source>Could not remove the Firmware at: %1</source> 67 <source>Could not remove the Firmware at: %1</source>
68 <translation>删除不了固件在: %1</translation> 68 <translation>删除不了固件在: %1</translation>
69 </message> 69 </message>
70 <message> 70 <message>
71 <location filename="installbootloader.cpp" line="554"/> 71 <location filename="installbootloader.cpp" line="554"/>
72 <source>Could not copy the Firmware from: %1 to %2</source> 72 <source>Could not copy the Firmware from: %1 to %2</source>
73 <translation>不能复制固件从 %1 到 %2 </translation> 73 <translation>不能复制固件从 %1 到 %2 </translation>
74 </message> 74 </message>
75 <message> 75 <message>
76 <location filename="installbootloader.cpp" line="360"/> 76 <location filename="installbootloader.cpp" line="360"/>
77 <source>Finishing bootloader install</source> 77 <source>Finishing bootloader install</source>
78 <translation>启动程式安装完成</translation> 78 <translation>启动程式安装完成</translation>
79 </message> 79 </message>
80 <message> 80 <message>
81 <location filename="installbootloader.cpp" line="370"/> 81 <location filename="installbootloader.cpp" line="370"/>
82 <source>Could not find the Firmware at: %1</source> 82 <source>Could not find the Firmware at: %1</source>
83 <translation>找不到固件在: %1</translation> 83 <translation>找不到固件在: %1</translation>
84 </message> 84 </message>
85 <message> 85 <message>
86 <location filename="installbootloader.cpp" line="596"/> 86 <location filename="installbootloader.cpp" line="596"/>
87 <source>Could not rename: %1 to %2</source> 87 <source>Could not rename: %1 to %2</source>
88 <translation>不能把 %1 重命名为 %2</translation> 88 <translation>不能把 %1 重命名为 %2</translation>
89 </message> 89 </message>
90 <message> 90 <message>
91 <location filename="installbootloader.cpp" line="1207"/> 91 <location filename="installbootloader.cpp" line="1207"/>
92 <source>Could not copy: %1 to %2</source> 92 <source>Could not copy: %1 to %2</source>
93 <translation>不能复制 %1 到 %2</translation> 93 <translation>不能复制 %1 到 %2</translation>
94 </message> 94 </message>
95 <message> 95 <message>
96 <location filename="installbootloader.cpp" line="1217"/> 96 <location filename="installbootloader.cpp" line="1217"/>
97 <source>Bootloader install finished successfully.</source> 97 <source>Bootloader install finished successfully.</source>
98 <translation>成功安装启动程序</translation> 98 <translation>成功安装启动程序</translation>
99 </message> 99 </message>
100 <message> 100 <message>
101 <location filename="installbootloader.cpp" line="1218"/> 101 <location filename="installbootloader.cpp" line="1218"/>
102 <source>To finish the Bootloader installation, follow the steps below.</source> 102 <source>To finish the Bootloader installation, follow the steps below.</source>
103 <translation>请按照以下步骤完成启动程序的安装</translation> 103 <translation>请按照以下步骤完成启动程序的安装</translation>
104 </message> 104 </message>
105 <message> 105 <message>
106 <location filename="installbootloader.cpp" line="1219"/> 106 <location filename="installbootloader.cpp" line="1219"/>
107 <source>1. Eject/Unmount your Device.</source> 107 <source>1. Eject/Unmount your Device.</source>
108 <translation>1. 弹出/退出你的播放机.</translation> 108 <translation>1. 弹出/退出你的播放机.</translation>
109 </message> 109 </message>
110 <message> 110 <message>
111 <location filename="installbootloader.cpp" line="413"/> 111 <location filename="installbootloader.cpp" line="413"/>
112 <source>2. Unplug USB and any Power adapters.</source> 112 <source>2. Unplug USB and any Power adapters.</source>
113 <translation>2. 拔出USB接线, 断离所有冲电设备.</translation> 113 <translation>2. 拔出USB接线, 断离所有冲电设备.</translation>
114 </message> 114 </message>
115 <message> 115 <message>
116 <location filename="installbootloader.cpp" line="414"/> 116 <location filename="installbootloader.cpp" line="414"/>
117 <source>3. Hold POWER to turn the Device off.</source> 117 <source>3. Hold POWER to turn the Device off.</source>
118 <translation>3. 按POWER关机.</translation> 118 <translation>3. 按POWER关机.</translation>
119 </message> 119 </message>
120 <message> 120 <message>
121 <location filename="installbootloader.cpp" line="415"/> 121 <location filename="installbootloader.cpp" line="415"/>
122 <source>4. Toggle the Battery switch on the Device.</source> 122 <source>4. Toggle the Battery switch on the Device.</source>
123 <translation>4. 先关再开电池开关.</translation> 123 <translation>4. 先关再开电池开关.</translation>
124 </message> 124 </message>
125 <message> 125 <message>
126 <location filename="installbootloader.cpp" line="416"/> 126 <location filename="installbootloader.cpp" line="416"/>
127 <source>5. Hold POWER to boot the Rockbox bootloader.</source> 127 <source>5. Hold POWER to boot the Rockbox bootloader.</source>
128 <translation>5. 按POWER启动 Rockbox 的启动程序.</translation> 128 <translation>5. 按POWER启动 Rockbox 的启动程序.</translation>
129 </message> 129 </message>
130 <message> 130 <message>
131 <location filename="installbootloader.cpp" line="471"/> 131 <location filename="installbootloader.cpp" line="471"/>
132 <source>2. Turn you Device OFF.</source> 132 <source>2. Turn you Device OFF.</source>
133 <translation>2. 关闭你的播放器.</translation> 133 <translation>2. 关闭你的播放器.</translation>
134 </message> 134 </message>
135 <message> 135 <message>
136 <location filename="installbootloader.cpp" line="472"/> 136 <location filename="installbootloader.cpp" line="472"/>
137 <source>3. Insert Charger.</source> 137 <source>3. Insert Charger.</source>
138 <translation>3. 插入充电器.</translation> 138 <translation>3. 插入充电器.</translation>
139 </message> 139 </message>
140 <message> 140 <message>
141 <location filename="installbootloader.cpp" line="582"/> 141 <location filename="installbootloader.cpp" line="582"/>
142 <source>Firmware does not exist: %1</source> 142 <source>Firmware does not exist: %1</source>
143 <translation>固件不存在: %1</translation> 143 <translation>固件不存在: %1</translation>
144 </message> 144 </message>
145 <message> 145 <message>
146 <location filename="installbootloader.cpp" line="639"/> 146 <location filename="installbootloader.cpp" line="639"/>
147 <source>Searching for ipods</source> 147 <source>Searching for ipods</source>
148 <translation>正在寻找 iPods</translation> 148 <translation>正在寻找 iPods</translation>
149 </message> 149 </message>
150 <message> 150 <message>
151 <location filename="installbootloader.cpp" line="645"/> 151 <location filename="installbootloader.cpp" line="645"/>
152 <source>No Ipods found</source> 152 <source>No Ipods found</source>
153 <translation>找不到 iPods</translation> 153 <translation>找不到 iPods</translation>
154 </message> 154 </message>
155 <message> 155 <message>
156 <location filename="installbootloader.cpp" line="651"/> 156 <location filename="installbootloader.cpp" line="651"/>
157 <source>Too many Ipods found</source> 157 <source>Too many Ipods found</source>
158 <translation>找到太多的 iPods</translation> 158 <translation>找到太多的 iPods</translation>
159 </message> 159 </message>
160 <message> 160 <message>
161 <location filename="installbootloader.cpp" line="781"/> 161 <location filename="installbootloader.cpp" line="781"/>
162 <source>could not open ipod</source> 162 <source>could not open ipod</source>
163 <translation>打开不了 iPods</translation> 163 <translation>打开不了 iPods</translation>
164 </message> 164 </message>
165 <message> 165 <message>
166 <location filename="installbootloader.cpp" line="996"/> 166 <location filename="installbootloader.cpp" line="996"/>
167 <source>could not read partitiontable</source> 167 <source>could not read partitiontable</source>
168 <translation>读不了分区表</translation> 168 <translation>读不了分区表</translation>
169 </message> 169 </message>
170 <message> 170 <message>
171 <location filename="installbootloader.cpp" line="795"/> 171 <location filename="installbootloader.cpp" line="795"/>
172 <source>No partition 0 on disk</source> 172 <source>No partition 0 on disk</source>
173 <translation>硬盘上没有0分区</translation> 173 <translation>硬盘上没有0分区</translation>
174 </message> 174 </message>
175 <message> 175 <message>
176 <location filename="" line="6357100"/> 176 <location filename="" line="6357100"/>
177 <source>[INFO] Part Start Sector End Sector Size (MB) Type</source> 177 <source>[INFO] Part Start Sector End Sector Size (MB) Type</source>
178 <translation type="obsolete">[INFO] 分区 开始磁区 结算磁区 大小 (MB) 类别</translation> 178 <translation type="obsolete">[INFO] 分区 开始磁区 结算磁区 大小 (MB) 类别</translation>
179 </message> 179 </message>
180 <message> 180 <message>
181 <location filename="installbootloader.cpp" line="806"/> 181 <location filename="installbootloader.cpp" line="806"/>
182 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source> 182 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
183 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation> 183 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
184 </message> 184 </message>
185 <message> 185 <message>
186 <location filename="installbootloader.cpp" line="823"/> 186 <location filename="installbootloader.cpp" line="823"/>
187 <source>Failed to read firmware directory</source> 187 <source>Failed to read firmware directory</source>
188 <translation>读不了固件文件夹</translation> 188 <translation>读不了固件文件夹</translation>
189 </message> 189 </message>
190 <message> 190 <message>
191 <location filename="installbootloader.cpp" line="829"/> 191 <location filename="installbootloader.cpp" line="829"/>
192 <source>Unknown version number in firmware (%1)</source> 192 <source>Unknown version number in firmware (%1)</source>
193 <translation>固件版本不明 (%1)</translation> 193 <translation>固件版本不明 (%1)</translation>
194 </message> 194 </message>
195 <message> 195 <message>
196 <location filename="" line="6357100"/> 196 <location filename="" line="6357100"/>
197 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source> 197 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
198 <translation type="obsolete">警告: 这是苹果格式的iPod, Rockbox 不能在这运行. 请转换成 Windows 格式的iPod.</translation> 198 <translation type="obsolete">警告: 这是苹果格式的iPod, Rockbox 不能在这运行. 请转换成 Windows 格式的iPod.</translation>
199 </message> 199 </message>
200 <message> 200 <message>
201 <location filename="installbootloader.cpp" line="847"/> 201 <location filename="installbootloader.cpp" line="847"/>
202 <source>Could not open Ipod in RW mode</source> 202 <source>Could not open Ipod in RW mode</source>
203 <translation>不能以读写方式打开iPod</translation> 203 <translation>不能以读写方式打开iPod</translation>
204 </message> 204 </message>
205 <message> 205 <message>
206 <location filename="installbootloader.cpp" line="751"/> 206 <location filename="installbootloader.cpp" line="751"/>
207 <source>No bootloader detected.</source> 207 <source>No bootloader detected.</source>
208 <translation>找不到启动程序.</translation> 208 <translation>找不到启动程序.</translation>
209 </message> 209 </message>
210 <message> 210 <message>
211 <location filename="installbootloader.cpp" line="966"/> 211 <location filename="installbootloader.cpp" line="966"/>
212 <source>Successfully removed Bootloader</source> 212 <source>Successfully removed Bootloader</source>
213 <translation>成功删除启动程序</translation> 213 <translation>成功删除启动程序</translation>
214 </message> 214 </message>
215 <message> 215 <message>
216 <location filename="installbootloader.cpp" line="974"/> 216 <location filename="installbootloader.cpp" line="974"/>
217 <source>--delete-bootloader failed.</source> 217 <source>--delete-bootloader failed.</source>
218 <translation>--删除启动程序失败.</translation> 218 <translation>--删除启动程序失败.</translation>
219 </message> 219 </message>
220 <message> 220 <message>
221 <location filename="installbootloader.cpp" line="1031"/> 221 <location filename="installbootloader.cpp" line="1031"/>
222 <source>Successfully added Bootloader</source> 222 <source>Successfully added Bootloader</source>
223 <translation>成功添加启动程序</translation> 223 <translation>成功添加启动程序</translation>
224 </message> 224 </message>
225 <message> 225 <message>
226 <location filename="installbootloader.cpp" line="1039"/> 226 <location filename="installbootloader.cpp" line="1039"/>
227 <source>failed to add Bootloader</source> 227 <source>failed to add Bootloader</source>
228 <translation>添加启动程序失败</translation> 228 <translation>添加启动程序失败</translation>
229 </message> 229 </message>
230 <message> 230 <message>
231 <location filename="installbootloader.cpp" line="882"/> 231 <location filename="installbootloader.cpp" line="882"/>
232 <source>Searching for sansas</source> 232 <source>Searching for sansas</source>
233 <translation>正在寻找 sansas</translation> 233 <translation>正在寻找 sansas</translation>
234 </message> 234 </message>
235 <message> 235 <message>
236 <location filename="installbootloader.cpp" line="888"/> 236 <location filename="installbootloader.cpp" line="888"/>
237 <source>No Sansa found</source> 237 <source>No Sansa found</source>
238 <translation>找不到 Sansa</translation> 238 <translation>找不到 Sansa</translation>
239 </message> 239 </message>
240 <message> 240 <message>
241 <location filename="installbootloader.cpp" line="894"/> 241 <location filename="installbootloader.cpp" line="894"/>
242 <source>Too many Sansas found</source> 242 <source>Too many Sansas found</source>
243 <translation>找到了太多的 sansas</translation> 243 <translation>找到了太多的 sansas</translation>
244 </message> 244 </message>
245 <message> 245 <message>
246 <location filename="installbootloader.cpp" line="989"/> 246 <location filename="installbootloader.cpp" line="989"/>
247 <source>could not open Sansa</source> 247 <source>could not open Sansa</source>
248 <translation>打开不了 sansa</translation> 248 <translation>打开不了 sansa</translation>
249 </message> 249 </message>
250 <message> 250 <message>
251 <location filename="" line="6357100"/> 251 <location filename="" line="6357100"/>
252 <source>Disk is not an E200 (%1), aborting.</source> 252 <source>Disk is not an E200 (%1), aborting.</source>
253 <translation type="obsolete">硬盘不是 E200 (%1), 正在取消...</translation> 253 <translation type="obsolete">硬盘不是 E200 (%1), 正在取消...</translation>
254 </message> 254 </message>
255 <message> 255 <message>
256 <location filename="installbootloader.cpp" line="1017"/> 256 <location filename="installbootloader.cpp" line="1017"/>
257 <source>******************************************** 257 <source>********************************************
258OLD ROCKBOX INSTALLATION DETECTED, ABORTING. 258OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
259You must reinstall the original Sansa firmware before running 259You must reinstall the original Sansa firmware before running
260sansapatcher for the first time. 260sansapatcher for the first time.
261See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install 261See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
262********************************************* 262*********************************************
263</source> 263</source>
264 <translation>******************************************** 264 <translation>********************************************
265找到了旧 ROCKBOX, 正在取消... 265找到了旧 ROCKBOX, 正在取消...
266你必须重新安装厂家固件才可以第一次 266你必须重新安装厂家固件才可以第一次
267运行 sansapatcher 267运行 sansapatcher
268参考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文) 268参考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文)
269********************************************* 269*********************************************
270</translation> 270</translation>
271 </message> 271 </message>
272 <message> 272 <message>
273 <location filename="installbootloader.cpp" line="1024"/> 273 <location filename="installbootloader.cpp" line="1024"/>
274 <source>Could not open Sansa in RW mode</source> 274 <source>Could not open Sansa in RW mode</source>
275 <translation>不能以读写方式打开 sansa</translation> 275 <translation>不能以读写方式打开 sansa</translation>
276 </message> 276 </message>
277 <message> 277 <message>
278 <location filename="installbootloader.cpp" line="1055"/> 278 <location filename="installbootloader.cpp" line="1055"/>
279 <source>Could not MD5Sum original firmware</source> 279 <source>Could not MD5Sum original firmware</source>
280 <translation>不能验证厂家固件的MD5sum</translation> 280 <translation>不能验证厂家固件的MD5sum</translation>
281 </message> 281 </message>
282 <message> 282 <message>
283 <location filename="installbootloader.cpp" line="1085"/> 283 <location filename="installbootloader.cpp" line="1085"/>
284 <source>Could not detect firmware type</source> 284 <source>Could not detect firmware type</source>
285 <translation>找不到固件类别</translation> 285 <translation>找不到固件类别</translation>
286 </message> 286 </message>
287 <message> 287 <message>
288 <location filename="installbootloader.cpp" line="1148"/> 288 <location filename="installbootloader.cpp" line="1148"/>
289 <source>Error in descramble</source> 289 <source>Error in descramble</source>
290 <translation>descramble 错误</translation> 290 <translation>descramble 错误</translation>
291 </message> 291 </message>
292 <message> 292 <message>
293 <location filename="installbootloader.cpp" line="1158"/> 293 <location filename="installbootloader.cpp" line="1158"/>
294 <source>Error in patching</source> 294 <source>Error in patching</source>
295 <translation>补丁过程错误</translation> 295 <translation>补丁过程错误</translation>
296 </message> 296 </message>
297 <message> 297 <message>
298 <location filename="installbootloader.cpp" line="1168"/> 298 <location filename="installbootloader.cpp" line="1168"/>
299 <source>Error in scramble</source> 299 <source>Error in scramble</source>
300 <translation>scramble 错误</translation> 300 <translation>scramble 错误</translation>
301 </message> 301 </message>
302 <message> 302 <message>
303 <location filename="installbootloader.cpp" line="1179"/> 303 <location filename="installbootloader.cpp" line="1179"/>
304 <source>Error in checksumming</source> 304 <source>Error in checksumming</source>
305 <translation>验证错误</translation> 305 <translation>验证错误</translation>
306 </message> 306 </message>
307 <message> 307 <message>
308 <location filename="installbootloader.cpp" line="1220"/> 308 <location filename="installbootloader.cpp" line="1220"/>
309 <source>2. Boot into the original Firmware.</source> 309 <source>2. Boot into the original Firmware.</source>
310 <translation>2. 启动到厂家固件.</translation> 310 <translation>2. 启动到厂家固件.</translation>
311 </message> 311 </message>
312 <message> 312 <message>
313 <location filename="installbootloader.cpp" line="1221"/> 313 <location filename="installbootloader.cpp" line="1221"/>
314 <source>3. Use the Firmware flash option in the Original Firmware.</source> 314 <source>3. Use the Firmware flash option in the Original Firmware.</source>
315 <translation>3. 在厂家固件里选择快闪记忆体.</translation> 315 <translation>3. 在厂家固件里选择快闪记忆体.</translation>
316 </message> 316 </message>
317 <message> 317 <message>
318 <location filename="installbootloader.cpp" line="1222"/> 318 <location filename="installbootloader.cpp" line="1222"/>
319 <source>4. Reboot.</source> 319 <source>4. Reboot.</source>
320 <translation>4. 重新开机.</translation> 320 <translation>4. 重新开机.</translation>
321 </message> 321 </message>
322 <message> 322 <message>
323 <location filename="installbootloader.cpp" line="533"/> 323 <location filename="installbootloader.cpp" line="533"/>
324 <source>Original Firmware does not exist: %1</source> 324 <source>Original Firmware does not exist: %1</source>
325 <translation>厂家固件不存在 : %1</translation> 325 <translation>厂家固件不存在 : %1</translation>
326 </message> 326 </message>
327 <message> 327 <message>
328 <location filename="installbootloader.cpp" line="800"/> 328 <location filename="installbootloader.cpp" line="800"/>
329 <source>[INFO] Part Start Sector End Sector Size (MB) Type 329 <source>[INFO] Part Start Sector End Sector Size (MB) Type
330</source> 330</source>
331 <translation type="unfinished"></translation> 331 <translation type="unfinished"></translation>
332 </message> 332 </message>
333 <message> 333 <message>
334 <location filename="installbootloader.cpp" line="839"/> 334 <location filename="installbootloader.cpp" line="839"/>
335 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod 335 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
336See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> 336See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
337 <translation type="unfinished"></translation> 337 <translation type="unfinished"></translation>
338 </message> 338 </message>
339 <message> 339 <message>
340 <location filename="installbootloader.cpp" line="1005"/> 340 <location filename="installbootloader.cpp" line="1005"/>
341 <source>Disk is not a Sansa (%1), aborting.</source> 341 <source>Disk is not a Sansa (%1), aborting.</source>
342 <translation type="unfinished"></translation> 342 <translation type="unfinished"></translation>
343 </message> 343 </message>
344</context> 344</context>
345<context> 345<context>
346 <name>BrowseDirtreeFrm</name> 346 <name>BrowseDirtreeFrm</name>
347 <message> 347 <message>
348 <location filename="browsedirtreefrm.ui" line="13"/> 348 <location filename="browsedirtreefrm.ui" line="13"/>
349 <source>Find Directory</source> 349 <source>Find Directory</source>
350 <translation>寻找文件夹</translation> 350 <translation>寻找文件夹</translation>
351 </message> 351 </message>
352 <message> 352 <message>
353 <location filename="browsedirtreefrm.ui" line="19"/> 353 <location filename="browsedirtreefrm.ui" line="19"/>
354 <source>Browse to the destination folder</source> 354 <source>Browse to the destination folder</source>
355 <translation>浏览目的地文件夹</translation> 355 <translation>浏览目的地文件夹</translation>
356 </message> 356 </message>
357 <message> 357 <message>
358 <location filename="browsedirtreefrm.ui" line="47"/> 358 <location filename="browsedirtreefrm.ui" line="47"/>
359 <source>&amp;Ok</source> 359 <source>&amp;Ok</source>
360 <translation>&amp;OK</translation> 360 <translation>&amp;OK</translation>
361 </message> 361 </message>
362 <message> 362 <message>
363 <location filename="browsedirtreefrm.ui" line="57"/> 363 <location filename="browsedirtreefrm.ui" line="57"/>
364 <source>&amp;Cancel</source> 364 <source>&amp;Cancel</source>
365 <translation>&amp;取消</translation> 365 <translation>&amp;取消</translation>
366 </message> 366 </message>
367</context> 367</context>
368<context> 368<context>
369 <name>BrowseOFFrm</name> 369 <name>BrowseOFFrm</name>
370 <message> 370 <message>
371 <location filename="browseoffrm.ui" line="13"/> 371 <location filename="browseoffrm.ui" line="13"/>
372 <source>Find original Firmware</source> 372 <source>Find original Firmware</source>
373 <translation>寻找厂家固件</translation> 373 <translation>寻找厂家固件</translation>
374 </message> 374 </message>
375 <message> 375 <message>
376 <location filename="browseoffrm.ui" line="19"/> 376 <location filename="browseoffrm.ui" line="19"/>
377 <source>Browse for a downloaded copy of the original firmware</source> 377 <source>Browse for a downloaded copy of the original firmware</source>
378 <translation>寻找已下载的厂家固件</translation> 378 <translation>寻找已下载的厂家固件</translation>
379 </message> 379 </message>
380 <message> 380 <message>
381 <location filename="browseoffrm.ui" line="32"/> 381 <location filename="browseoffrm.ui" line="32"/>
382 <source>Browse</source> 382 <source>Browse</source>
383 <translation>浏览</translation> 383 <translation>浏览</translation>
384 </message> 384 </message>
385 <message> 385 <message>
386 <location filename="browseoffrm.ui" line="54"/> 386 <location filename="browseoffrm.ui" line="54"/>
387 <source>&amp;Ok</source> 387 <source>&amp;Ok</source>
388 <translation>&amp;OK</translation> 388 <translation>&amp;OK</translation>
389 </message> 389 </message>
390 <message> 390 <message>
391 <location filename="browseoffrm.ui" line="64"/> 391 <location filename="browseoffrm.ui" line="64"/>
392 <source>&amp;Cancel</source> 392 <source>&amp;Cancel</source>
393 <translation>&amp;取消</translation> 393 <translation>&amp;取消</translation>
394 </message> 394 </message>
395</context> 395</context>
396<context> 396<context>
397 <name>Config</name> 397 <name>Config</name>
398 <message> 398 <message>
399 <location filename="configure.cpp" line="110"/> 399 <location filename="configure.cpp" line="110"/>
400 <source>Language changed</source> 400 <source>Language changed</source>
401 <translation>语言已改变</translation> 401 <translation>语言已改变</translation>
402 </message> 402 </message>
403 <message> 403 <message>
404 <location filename="configure.cpp" line="111"/> 404 <location filename="configure.cpp" line="111"/>
405 <source>You need to restart the application for the changed language to take effect.</source> 405 <source>You need to restart the application for the changed language to take effect.</source>
406 <translation>你需要重新开启本软件才能使用新语言.</translation> 406 <translation>你需要重新开启本软件才能使用新语言.</translation>
407 </message> 407 </message>
408 <message> 408 <message>
409 <location filename="" line="6357100"/> 409 <location filename="" line="6357100"/>
410 <source>Current cache size is %1 kiB.</source> 410 <source>Current cache size is %1 kiB.</source>
411 <translation type="obsolete">现在缓冲的大小是 %1 kiB.</translation> 411 <translation type="obsolete">现在缓冲的大小是 %1 kiB.</translation>
412 </message> 412 </message>
413 <message> 413 <message>
414 <location filename="configure.cpp" line="593"/> 414 <location filename="configure.cpp" line="593"/>
415 <source>Autodetection</source> 415 <source>Autodetection</source>
416 <translation>自动识别</translation> 416 <translation>自动识别</translation>
417 </message> 417 </message>
418 <message> 418 <message>
419 <location filename="configure.cpp" line="587"/> 419 <location filename="configure.cpp" line="587"/>
420 <source>Could not detect a Mountpoint. 420 <source>Could not detect a Mountpoint.
421Select your Mountpoint manually.</source> 421Select your Mountpoint manually.</source>
422 <translation>找不到 mountpoint 422 <translation>找不到 mountpoint
423请手动选择你的 mountpoing.</translation> 423请手动选择你的 mountpoing.</translation>
424 </message> 424 </message>
425 <message> 425 <message>
426 <location filename="configure.cpp" line="595"/> 426 <location filename="configure.cpp" line="595"/>
427 <source>Could not detect a device. 427 <source>Could not detect a device.
428Select your device and Mountpoint manually.</source> 428Select your device and Mountpoint manually.</source>
429 <translation>不能识别你的播放器 429 <translation>不能识别你的播放器
430请手动选择.</translation> 430请手动选择.</translation>
431 </message> 431 </message>
432 <message> 432 <message>
433 <location filename="configure.cpp" line="603"/> 433 <location filename="configure.cpp" line="603"/>
434 <source>Really delete cache?</source> 434 <source>Really delete cache?</source>
435 <translation>你肯定要删除缓冲吗?</translation> 435 <translation>你肯定要删除缓冲吗?</translation>
436 </message> 436 </message>
437 <message> 437 <message>
438 <location filename="configure.cpp" line="606"/> 438 <location filename="configure.cpp" line="606"/>
439 <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> 439 <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>
440 <translation>你真的肯定要删除缓冲吗? 请确认你的设定是正确的因为这会删除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夹 !</translation> 440 <translation>你真的肯定要删除缓冲吗? 请确认你的设定是正确的因为这会删除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夹 !</translation>
441 </message> 441 </message>
442 <message> 442 <message>
443 <location filename="configure.cpp" line="612"/> 443 <location filename="configure.cpp" line="612"/>
444 <source>Path wrong!</source> 444 <source>Path wrong!</source>
445 <translation>路径错误!</translation> 445 <translation>路径错误!</translation>
446 </message> 446 </message>
447 <message> 447 <message>
448 <location filename="configure.cpp" line="613"/> 448 <location filename="configure.cpp" line="613"/>
449 <source>The cache path is invalid. Aborting.</source> 449 <source>The cache path is invalid. Aborting.</source>
450 <translation>缓冲路径错误. 正在取消.</translation> 450 <translation>缓冲路径错误. 正在取消.</translation>
451 </message> 451 </message>
452 <message> 452 <message>
453 <location filename="configure.cpp" line="56"/> 453 <location filename="configure.cpp" line="56"/>
454 <source> (%1)</source> 454 <source> (%1)</source>
455 <translation type="unfinished"></translation> 455 <translation type="unfinished"></translation>
456 </message> 456 </message>
457 <message> 457 <message>
458 <location filename="configure.cpp" line="220"/> 458 <location filename="configure.cpp" line="220"/>
459 <source>Current cache size is %L1 kiB.</source> 459 <source>Current cache size is %L1 kiB.</source>
460 <translation type="unfinished"></translation> 460 <translation type="unfinished"></translation>
461 </message> 461 </message>
462 <message> 462 <message>
463 <location filename="configure.cpp" line="418"/> 463 <location filename="configure.cpp" line="418"/>
464 <source>(system proxy is disabled)</source> 464 <source>(system proxy is disabled)</source>
465 <translation type="unfinished"></translation> 465 <translation type="unfinished"></translation>
466 </message> 466 </message>
467 <message> 467 <message>
468 <location filename="configure.cpp" line="485"/> 468 <location filename="configure.cpp" line="485"/>
469 <source>Select your device</source> 469 <source>Select your device</source>
470 <translation type="unfinished"></translation> 470 <translation type="unfinished"></translation>
471 </message> 471 </message>
472 <message> 472 <message>
473 <location filename="configure.cpp" line="569"/> 473 <location filename="configure.cpp" line="569"/>
474 <source>Sansa e200 in MTP mode found! 474 <source>Sansa e200 in MTP mode found!
475You need to change your player to MSC mode for installation. </source> 475You need to change your player to MSC mode for installation. </source>
476 <translation type="unfinished"></translation> 476 <translation type="unfinished"></translation>
477 </message> 477 </message>
478 <message> 478 <message>
479 <location filename="configure.cpp" line="572"/> 479 <location filename="configure.cpp" line="572"/>
480 <source>H10 20GB in MTP mode found! 480 <source>H10 20GB in MTP mode found!
481You need to change your player to UMS mode for installation. </source> 481You need to change your player to UMS mode for installation. </source>
482 <translation type="unfinished"></translation> 482 <translation type="unfinished"></translation>
483 </message> 483 </message>
484 <message> 484 <message>
485 <location filename="configure.cpp" line="573"/> 485 <location filename="configure.cpp" line="573"/>
486 <source>Unless you changed this installation will fail!</source> 486 <source>Unless you changed this installation will fail!</source>
487 <translation type="unfinished"></translation> 487 <translation type="unfinished"></translation>
488 </message> 488 </message>
489 <message> 489 <message>
490 <location filename="configure.cpp" line="575"/> 490 <location filename="configure.cpp" line="575"/>
491 <source>Fatal error</source> 491 <source>Fatal error</source>
492 <translation type="unfinished"></translation> 492 <translation type="unfinished"></translation>
493 </message> 493 </message>
494</context> 494</context>
495<context> 495<context>
496 <name>ConfigForm</name> 496 <name>ConfigForm</name>
497 <message> 497 <message>
498 <location filename="configurefrm.ui" line="13"/> 498 <location filename="configurefrm.ui" line="13"/>
499 <source>Configuration</source> 499 <source>Configuration</source>
500 <translation>设置</translation> 500 <translation>设置</translation>
501 </message> 501 </message>
502 <message> 502 <message>
503 <location filename="configurefrm.ui" line="19"/> 503 <location filename="configurefrm.ui" line="19"/>
504 <source>Configure Rockbox Utility</source> 504 <source>Configure Rockbox Utility</source>
505 <translation>设置 Rockbox 安装程序</translation> 505 <translation>设置 Rockbox 安装程序</translation>
506 </message> 506 </message>
507 <message> 507 <message>
508 <location filename="configurefrm.ui" line="30"/> 508 <location filename="configurefrm.ui" line="30"/>
509 <source>&amp;Device</source> 509 <source>&amp;Device</source>
510 <translation>&amp;播放器</translation> 510 <translation>&amp;播放器</translation>
511 </message> 511 </message>
512 <message> 512 <message>
513 <location filename="configurefrm.ui" line="39"/> 513 <location filename="configurefrm.ui" line="39"/>
514 <source>Select your device in the &amp;filesystem</source> 514 <source>Select your device in the &amp;filesystem</source>
515 <translation>请选择你的播放器在你的 &amp;文件系统</translation> 515 <translation>请选择你的播放器在你的 &amp;文件系统</translation>
516 </message> 516 </message>
517 <message> 517 <message>
518 <location filename="configurefrm.ui" line="286"/> 518 <location filename="configurefrm.ui" line="286"/>
519 <source>&amp;Browse</source> 519 <source>&amp;Browse</source>
520 <translation>&amp;浏览</translation> 520 <translation>&amp;浏览</translation>
521 </message> 521 </message>
522 <message> 522 <message>
523 <location filename="configurefrm.ui" line="66"/> 523 <location filename="configurefrm.ui" line="66"/>
524 <source>&amp;Select your audio player</source> 524 <source>&amp;Select your audio player</source>
525 <translation>&amp;选择你的音乐播放器</translation> 525 <translation>&amp;选择你的音乐播放器</translation>
526 </message> 526 </message>
527 <message> 527 <message>
528 <location filename="configurefrm.ui" line="77"/> 528 <location filename="configurefrm.ui" line="77"/>
529 <source>1</source> 529 <source>1</source>
530 <translation>1</translation> 530 <translation>1</translation>
531 </message> 531 </message>
532 <message> 532 <message>
533 <location filename="configurefrm.ui" line="98"/> 533 <location filename="configurefrm.ui" line="98"/>
534 <source>&amp;Autodetect</source> 534 <source>&amp;Autodetect</source>
535 <translation>自动识别(&amp;A)</translation> 535 <translation>自动识别(&amp;A)</translation>
536 </message> 536 </message>
537 <message> 537 <message>
538 <location filename="configurefrm.ui" line="109"/> 538 <location filename="configurefrm.ui" line="109"/>
539 <source>&amp;Proxy</source> 539 <source>&amp;Proxy</source>
540 <translation>网络代理服务(&amp;P)</translation> 540 <translation>网络代理服务(&amp;P)</translation>
541 </message> 541 </message>
542 <message> 542 <message>
543 <location filename="configurefrm.ui" line="118"/> 543 <location filename="configurefrm.ui" line="118"/>
544 <source>&amp;No Proxy</source> 544 <source>&amp;No Proxy</source>
545 <translation>没有网络代理服务(&amp;N)</translation> 545 <translation>没有网络代理服务(&amp;N)</translation>
546 </message> 546 </message>
547 <message> 547 <message>
548 <location filename="configurefrm.ui" line="128"/> 548 <location filename="configurefrm.ui" line="128"/>
549 <source>Use S&amp;ystem values</source> 549 <source>Use S&amp;ystem values</source>
550 <translation>使用系统值(&amp;S)</translation> 550 <translation>使用系统值(&amp;S)</translation>
551 </message> 551 </message>
552 <message> 552 <message>
553 <location filename="configurefrm.ui" line="135"/> 553 <location filename="configurefrm.ui" line="135"/>
554 <source>&amp;Manual Proxy settings</source> 554 <source>&amp;Manual Proxy settings</source>
555 <translation>手动设置代理服务(&amp;M)</translation> 555 <translation>手动设置代理服务(&amp;M)</translation>
556 </message> 556 </message>
557 <message> 557 <message>
558 <location filename="configurefrm.ui" line="142"/> 558 <location filename="configurefrm.ui" line="142"/>
559 <source>Proxy Values</source> 559 <source>Proxy Values</source>
560 <translation>代理服务值</translation> 560 <translation>代理服务值</translation>
561 </message> 561 </message>
562 <message> 562 <message>
563 <location filename="configurefrm.ui" line="148"/> 563 <location filename="configurefrm.ui" line="148"/>
564 <source>&amp;Host:</source> 564 <source>&amp;Host:</source>
565 <translation>&amp;主机:</translation> 565 <translation>&amp;主机:</translation>
566 </message> 566 </message>
567 <message> 567 <message>
568 <location filename="configurefrm.ui" line="165"/> 568 <location filename="configurefrm.ui" line="165"/>
569 <source>&amp;Port:</source> 569 <source>&amp;Port:</source>
570 <translation>&amp;接口:</translation> 570 <translation>&amp;接口:</translation>
571 </message> 571 </message>
572 <message> 572 <message>
573 <location filename="configurefrm.ui" line="188"/> 573 <location filename="configurefrm.ui" line="188"/>
574 <source>&amp;Username</source> 574 <source>&amp;Username</source>
575 <translation>&amp;用户名</translation> 575 <translation>&amp;用户名</translation>
576 </message> 576 </message>
577 <message> 577 <message>
578 <location filename="configurefrm.ui" line="198"/> 578 <location filename="configurefrm.ui" line="198"/>
579 <source>Pass&amp;word</source> 579 <source>Pass&amp;word</source>
580 <translation>&amp;密码</translation> 580 <translation>&amp;密码</translation>
581 </message> 581 </message>
582 <message> 582 <message>
583 <location filename="configurefrm.ui" line="225"/> 583 <location filename="configurefrm.ui" line="225"/>
584 <source>&amp;Language</source> 584 <source>&amp;Language</source>
585 <translation>&amp;语言</translation> 585 <translation>&amp;语言</translation>
586 </message> 586 </message>
587 <message> 587 <message>
588 <location filename="configurefrm.ui" line="238"/> 588 <location filename="configurefrm.ui" line="238"/>
589 <source>Cac&amp;he</source> 589 <source>Cac&amp;he</source>
590 <translation>&amp;缓冲</translation> 590 <translation>&amp;缓冲</translation>
591 </message> 591 </message>
592 <message> 592 <message>
593 <location filename="configurefrm.ui" line="244"/> 593 <location filename="configurefrm.ui" line="244"/>
594 <source>Download cache settings</source> 594 <source>Download cache settings</source>
595 <translation>下载缓冲设置</translation> 595 <translation>下载缓冲设置</translation>
596 </message> 596 </message>
597 <message> 597 <message>
598 <location filename="configurefrm.ui" line="250"/> 598 <location filename="configurefrm.ui" line="250"/>
599 <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> 599 <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>
600 <translation>Rockbox 安装程序使用本机缓冲来保存网络资料. 你可以改变这个缓冲的路径. 启动下线模式后, 你还可以用路径来保存文件.</translation> 600 <translation>Rockbox 安装程序使用本机缓冲来保存网络资料. 你可以改变这个缓冲的路径. 启动下线模式后, 你还可以用路径来保存文件.</translation>
601 </message> 601 </message>
602 <message> 602 <message>
603 <location filename="configurefrm.ui" line="260"/> 603 <location filename="configurefrm.ui" line="260"/>
604 <source>Current cache size is %1</source> 604 <source>Current cache size is %1</source>
605 <translation>现在缓冲大小是 %1</translation> 605 <translation>现在缓冲大小是 %1</translation>
606 </message> 606 </message>
607 <message> 607 <message>
608 <location filename="configurefrm.ui" line="269"/> 608 <location filename="configurefrm.ui" line="269"/>
609 <source>P&amp;ath</source> 609 <source>P&amp;ath</source>
610 <translation>&amp;路径</translation> 610 <translation>&amp;路径</translation>
611 </message> 611 </message>
612 <message> 612 <message>
613 <location filename="configurefrm.ui" line="279"/> 613 <location filename="configurefrm.ui" line="279"/>
614 <source>Entering an invalid folder will reset the path to the systems temporary path.</source> 614 <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
615 <translation>输入无效地址会重设到系统临时文件夹.</translation> 615 <translation>输入无效地址会重设到系统临时文件夹.</translation>
616 </message> 616 </message>
617 <message> 617 <message>
618 <location filename="configurefrm.ui" line="300"/> 618 <location filename="configurefrm.ui" line="300"/>
619 <source>Disable local &amp;download cache</source> 619 <source>Disable local &amp;download cache</source>
620 <translation>&amp;不使用本机缓冲</translation> 620 <translation>&amp;不使用本机缓冲</translation>
621 </message> 621 </message>
622 <message> 622 <message>
623 <location filename="configurefrm.ui" line="307"/> 623 <location filename="configurefrm.ui" line="307"/>
624 <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> 624 <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>
625 <translation>所有资料, 包括更新资料, 将会从本机缓冲里拿取. 不要选择此模式如果你不需要下线安装. 注意: 你需要先用网络做至少一次安装才可以下载到需要的文件.</translation> 625 <translation>所有资料, 包括更新资料, 将会从本机缓冲里拿取. 不要选择此模式如果你不需要下线安装. 注意: 你需要先用网络做至少一次安装才可以下载到需要的文件.</translation>
626 </message> 626 </message>
627 <message> 627 <message>
628 <location filename="configurefrm.ui" line="310"/> 628 <location filename="configurefrm.ui" line="310"/>
629 <source>O&amp;ffline mode</source> 629 <source>O&amp;ffline mode</source>
630 <translation>&amp;下线安装</translation> 630 <translation>&amp;下线安装</translation>
631 </message> 631 </message>
632 <message> 632 <message>
633 <location filename="configurefrm.ui" line="345"/> 633 <location filename="configurefrm.ui" line="345"/>
634 <source>Clean cache &amp;now</source> 634 <source>Clean cache &amp;now</source>
635 <translation>&amp;现在清除缓冲文件夹</translation> 635 <translation>&amp;现在清除缓冲文件夹</translation>
636 </message> 636 </message>
637 <message> 637 <message>
638 <location filename="configurefrm.ui" line="356"/> 638 <location filename="configurefrm.ui" line="356"/>
639 <source>&amp;TTS &amp;&amp; Encoder</source> 639 <source>&amp;TTS &amp;&amp; Encoder</source>
640 <translation>&amp;TTS &amp;&amp; 信号转换器</translation> 640 <translation>&amp;TTS &amp;&amp; 信号转换器</translation>
641 </message> 641 </message>
642 <message> 642 <message>
643 <location filename="configurefrm.ui" line="365"/> 643 <location filename="configurefrm.ui" line="365"/>
644 <source>TTS Engine</source> 644 <source>TTS Engine</source>
645 <translation>TTS 引擎</translation> 645 <translation>TTS 引擎</translation>
646 </message> 646 </message>
647 <message> 647 <message>
648 <location filename="" line="6357100"/> 648 <location filename="" line="6357100"/>
649 <source>&amp;Select TTS profile</source> 649 <source>&amp;Select TTS profile</source>
650 <translation type="obsolete">&amp; 选择 TTS 个人设置</translation> 650 <translation type="obsolete">&amp; 选择 TTS 个人设置</translation>
651 </message> 651 </message>
652 <message> 652 <message>
653 <location filename="" line="6357100"/> 653 <location filename="" line="6357100"/>
654 <source>TTS executable</source> 654 <source>TTS executable</source>
655 <translation type="obsolete">TTS 可执行文件</translation> 655 <translation type="obsolete">TTS 可执行文件</translation>
656 </message> 656 </message>
657 <message> 657 <message>
658 <location filename="" line="6357100"/> 658 <location filename="" line="6357100"/>
659 <source>TTS Options</source> 659 <source>TTS Options</source>
660 <translation type="obsolete">TTS 设置</translation> 660 <translation type="obsolete">TTS 设置</translation>
661 </message> 661 </message>
662 <message> 662 <message>
663 <location filename="configurefrm.ui" line="421"/> 663 <location filename="configurefrm.ui" line="421"/>
664 <source>Encoder Engine</source> 664 <source>Encoder Engine</source>
665 <translation>信号转换器引擎</translation> 665 <translation>信号转换器引擎</translation>
666 </message> 666 </message>
667 <message> 667 <message>
668 <location filename="" line="6357100"/> 668 <location filename="" line="6357100"/>
669 <source>Select &amp;encoder profile</source> 669 <source>Select &amp;encoder profile</source>
670 <translation type="obsolete">&amp;选择引擎设置</translation> 670 <translation type="obsolete">&amp;选择引擎设置</translation>
671 </message> 671 </message>
672 <message> 672 <message>
673 <location filename="" line="6357100"/> 673 <location filename="" line="6357100"/>
674 <source>Encoder executable</source> 674 <source>Encoder executable</source>
675 <translation type="obsolete">引擎可执行文件</translation> 675 <translation type="obsolete">引擎可执行文件</translation>
676 </message> 676 </message>
677 <message> 677 <message>
678 <location filename="" line="6357100"/> 678 <location filename="" line="6357100"/>
679 <source>B&amp;rowse</source> 679 <source>B&amp;rowse</source>
680 <translation type="obsolete">&amp;浏览</translation> 680 <translation type="obsolete">&amp;浏览</translation>
681 </message> 681 </message>
682 <message> 682 <message>
683 <location filename="" line="6357100"/> 683 <location filename="" line="6357100"/>
684 <source>Encoder options</source> 684 <source>Encoder options</source>
685 <translation type="obsolete">信号转换器设置</translation> 685 <translation type="obsolete">信号转换器设置</translation>
686 </message> 686 </message>
687 <message> 687 <message>
688 <location filename="configurefrm.ui" line="507"/> 688 <location filename="configurefrm.ui" line="507"/>
689 <source>&amp;Ok</source> 689 <source>&amp;Ok</source>
690 <translation>&amp;OK</translation> 690 <translation>&amp;OK</translation>
691 </message> 691 </message>
692 <message> 692 <message>
693 <location filename="configurefrm.ui" line="517"/> 693 <location filename="configurefrm.ui" line="517"/>
694 <source>&amp;Cancel</source> 694 <source>&amp;Cancel</source>
695 <translation>&amp;取消</translation> 695 <translation>&amp;取消</translation>
696 </message> 696 </message>
697 <message> 697 <message>
698 <location filename="configurefrm.ui" line="371"/> 698 <location filename="configurefrm.ui" line="371"/>
699 <source>&amp;Select TTS Engine</source> 699 <source>&amp;Select TTS Engine</source>
700 <translation type="unfinished"></translation> 700 <translation type="unfinished"></translation>
701 </message> 701 </message>
702 <message> 702 <message>
703 <location filename="configurefrm.ui" line="384"/> 703 <location filename="configurefrm.ui" line="384"/>
704 <source>Configure TTS Engine</source> 704 <source>Configure TTS Engine</source>
705 <translation type="unfinished"></translation> 705 <translation type="unfinished"></translation>
706 </message> 706 </message>
707 <message> 707 <message>
708 <location filename="configurefrm.ui" line="447"/> 708 <location filename="configurefrm.ui" line="447"/>
709 <source>Configuration invalid !</source> 709 <source>Configuration invalid !</source>
710 <translation type="unfinished"></translation> 710 <translation type="unfinished"></translation>
711 </message> 711 </message>
712 <message> 712 <message>
713 <location filename="configurefrm.ui" line="408"/> 713 <location filename="configurefrm.ui" line="408"/>
714 <source>Configure &amp;TTS</source> 714 <source>Configure &amp;TTS</source>
715 <translation type="unfinished"></translation> 715 <translation type="unfinished"></translation>
716 </message> 716 </message>
717 <message> 717 <message>
718 <location filename="configurefrm.ui" line="427"/> 718 <location filename="configurefrm.ui" line="427"/>
719 <source>Select &amp;encoder</source> 719 <source>Select &amp;encoder</source>
720 <translation type="unfinished"></translation> 720 <translation type="unfinished"></translation>
721 </message> 721 </message>
722 <message> 722 <message>
723 <location filename="configurefrm.ui" line="440"/> 723 <location filename="configurefrm.ui" line="440"/>
724 <source>Configure encoder</source> 724 <source>Configure encoder</source>
725 <translation type="unfinished"></translation> 725 <translation type="unfinished"></translation>
726 </message> 726 </message>
727 <message> 727 <message>
728 <location filename="configurefrm.ui" line="464"/> 728 <location filename="configurefrm.ui" line="464"/>
729 <source> Configure &amp;Enc</source> 729 <source> Configure &amp;Enc</source>
730 <translation type="unfinished"></translation> 730 <translation type="unfinished"></translation>
731 </message> 731 </message>
732</context> 732</context>
733<context> 733<context>
734 <name>Configure</name> 734 <name>Configure</name>
735 <message> 735 <message>
736 <location filename="configure.cpp" line="469"/> 736 <location filename="configure.cpp" line="469"/>
737 <source>English</source> 737 <source>English</source>
738 <translation type="unfinished">中文 (Chinese Simplified)</translation> 738 <translation type="unfinished">中文 (Chinese Simplified)</translation>
739 </message> 739 </message>
740</context> 740</context>
741<context> 741<context>
742 <name>CreateVoiceFrm</name> 742 <name>CreateVoiceFrm</name>
743 <message> 743 <message>
744 <location filename="createvoicefrm.ui" line="16"/> 744 <location filename="createvoicefrm.ui" line="16"/>
745 <source>Create Voice File</source> 745 <source>Create Voice File</source>
746 <translation type="unfinished"></translation> 746 <translation type="unfinished"></translation>
747 </message> 747 </message>
748 <message> 748 <message>
749 <location filename="createvoicefrm.ui" line="41"/> 749 <location filename="createvoicefrm.ui" line="41"/>
750 <source>Select the Language you want to generate a voicefile for:</source> 750 <source>Select the Language you want to generate a voicefile for:</source>
751 <translation type="unfinished"></translation> 751 <translation type="unfinished"></translation>
752 </message> 752 </message>
753 <message> 753 <message>
754 <location filename="createvoicefrm.ui" line="51"/> 754 <location filename="createvoicefrm.ui" line="51"/>
755 <source>Generation settings</source> 755 <source>Generation settings</source>
756 <translation type="unfinished">语音合成设置</translation> 756 <translation type="unfinished">语音合成设置</translation>
757 </message> 757 </message>
758 <message> 758 <message>
759 <location filename="createvoicefrm.ui" line="57"/> 759 <location filename="createvoicefrm.ui" line="57"/>
760 <source>Encoder profile:</source> 760 <source>Encoder profile:</source>
761 <translation type="unfinished">转化器设置:</translation> 761 <translation type="unfinished">转化器设置:</translation>
762 </message> 762 </message>
763 <message> 763 <message>
764 <location filename="createvoicefrm.ui" line="64"/> 764 <location filename="createvoicefrm.ui" line="64"/>
765 <source>TTS profile:</source> 765 <source>TTS profile:</source>
766 <translation type="unfinished">TTS 设置:</translation> 766 <translation type="unfinished">TTS 设置:</translation>
767 </message> 767 </message>
768 <message> 768 <message>
769 <location filename="createvoicefrm.ui" line="77"/> 769 <location filename="createvoicefrm.ui" line="77"/>
770 <source>Change</source> 770 <source>Change</source>
771 <translation type="unfinished"></translation> 771 <translation type="unfinished"></translation>
772 </message> 772 </message>
773 <message> 773 <message>
774 <location filename="createvoicefrm.ui" line="128"/> 774 <location filename="createvoicefrm.ui" line="128"/>
775 <source>&amp;Install</source> 775 <source>&amp;Install</source>
776 <translation type="unfinished"></translation> 776 <translation type="unfinished"></translation>
777 </message> 777 </message>
778 <message> 778 <message>
779 <location filename="createvoicefrm.ui" line="138"/> 779 <location filename="createvoicefrm.ui" line="138"/>
780 <source>&amp;Cancel</source> 780 <source>&amp;Cancel</source>
781 <translation type="unfinished">&amp;取消</translation> 781 <translation type="unfinished">&amp;取消</translation>
782 </message> 782 </message>
783 <message> 783 <message>
784 <location filename="createvoicefrm.ui" line="152"/> 784 <location filename="createvoicefrm.ui" line="152"/>
785 <source>Wavtrim Threshold</source> 785 <source>Wavtrim Threshold</source>
786 <translation type="unfinished"></translation> 786 <translation type="unfinished"></translation>
787 </message> 787 </message>
788</context> 788</context>
789<context> 789<context>
790 <name>CreateVoiceWindow</name> 790 <name>CreateVoiceWindow</name>
791 <message> 791 <message>
792 <location filename="createvoicewindow.cpp" line="96"/> 792 <location filename="createvoicewindow.cpp" line="96"/>
793 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 793 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
794 <translation type="unfinished"></translation> 794 <translation type="unfinished"></translation>
795 </message> 795 </message>
796 <message> 796 <message>
797 <location filename="createvoicewindow.cpp" line="98"/> 797 <location filename="createvoicewindow.cpp" line="98"/>
798 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 798 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
799 <translation type="unfinished"></translation> 799 <translation type="unfinished"></translation>
800 </message> 800 </message>
801 <message> 801 <message>
802 <location filename="createvoicewindow.cpp" line="106"/> 802 <location filename="createvoicewindow.cpp" line="106"/>
803 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 803 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
804 <translation type="unfinished"></translation> 804 <translation type="unfinished"></translation>
805 </message> 805 </message>
806</context> 806</context>
807<context> 807<context>
808 <name>EncExesCfgFrm</name> 808 <name>EncExesCfgFrm</name>
809 <message> 809 <message>
810 <location filename="encexescfgfrm.ui" line="13"/> 810 <location filename="encexescfgfrm.ui" line="13"/>
811 <source>Configuration</source> 811 <source>Configuration</source>
812 <translation type="unfinished">设置</translation> 812 <translation type="unfinished">设置</translation>
813 </message> 813 </message>
814 <message> 814 <message>
815 <location filename="encexescfgfrm.ui" line="19"/> 815 <location filename="encexescfgfrm.ui" line="19"/>
816 <source>Configure Encoder</source> 816 <source>Configure Encoder</source>
817 <translation type="unfinished"></translation> 817 <translation type="unfinished"></translation>
818 </message> 818 </message>
819 <message> 819 <message>
820 <location filename="encexescfgfrm.ui" line="31"/> 820 <location filename="encexescfgfrm.ui" line="31"/>
821 <source>Path to Encoder</source> 821 <source>Path to Encoder</source>
822 <translation type="unfinished"></translation> 822 <translation type="unfinished"></translation>
823 </message> 823 </message>
824 <message> 824 <message>
825 <location filename="encexescfgfrm.ui" line="43"/> 825 <location filename="encexescfgfrm.ui" line="43"/>
826 <source>&amp;Browse</source> 826 <source>&amp;Browse</source>
827 <translation type="unfinished">&amp;浏览</translation> 827 <translation type="unfinished">&amp;浏览</translation>
828 </message> 828 </message>
829 <message> 829 <message>
830 <location filename="encexescfgfrm.ui" line="52"/> 830 <location filename="encexescfgfrm.ui" line="52"/>
831 <source>Encoder options</source> 831 <source>Encoder options</source>
832 <translation type="unfinished">信号转换器设置</translation> 832 <translation type="unfinished">信号转换器设置</translation>
833 </message> 833 </message>
834 <message> 834 <message>
835 <location filename="encexescfgfrm.ui" line="77"/> 835 <location filename="encexescfgfrm.ui" line="77"/>
836 <source>Reset</source> 836 <source>Reset</source>
837 <translation type="unfinished"></translation> 837 <translation type="unfinished"></translation>
838 </message> 838 </message>
839 <message> 839 <message>
840 <location filename="encexescfgfrm.ui" line="97"/> 840 <location filename="encexescfgfrm.ui" line="97"/>
841 <source>&amp;Ok</source> 841 <source>&amp;Ok</source>
842 <translation type="unfinished">&amp;OK</translation> 842 <translation type="unfinished">&amp;OK</translation>
843 </message> 843 </message>
844 <message> 844 <message>
845 <location filename="encexescfgfrm.ui" line="107"/> 845 <location filename="encexescfgfrm.ui" line="107"/>
846 <source>&amp;Cancel</source> 846 <source>&amp;Cancel</source>
847 <translation type="unfinished">&amp;取消</translation> 847 <translation type="unfinished">&amp;取消</translation>
848 </message> 848 </message>
849</context> 849</context>
850<context> 850<context>
851 <name>Install</name> 851 <name>Install</name>
852 <message> 852 <message>
853 <location filename="install.cpp" line="55"/> 853 <location filename="install.cpp" line="55"/>
854 <source>Mount point is wrong!</source> 854 <source>Mount point is wrong!</source>
855 <translation>Mountpoint 错误!</translation> 855 <translation>Mountpoint 错误!</translation>
856 </message> 856 </message>
857 <message> 857 <message>
858 <location filename="install.cpp" line="141"/> 858 <location filename="install.cpp" line="141"/>
859 <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> 859 <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>
860 <translation>这是最新的Rockbox版本. 每一个更改后这版本就会更新. 最新的版本是 r%1 (%2).</translation> 860 <translation>这是最新的Rockbox版本. 每一个更改后这版本就会更新. 最新的版本是 r%1 (%2).</translation>
861 </message> 861 </message>
862 <message> 862 <message>
863 <location filename="install.cpp" line="145"/> 863 <location filename="install.cpp" line="145"/>
864 <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> 864 <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>
865 <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation> 865 <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation>
866 </message> 866 </message>
867 <message> 867 <message>
868 <location filename="install.cpp" line="148"/> 868 <location filename="install.cpp" line="148"/>
869 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source> 869 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
870 <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. </translation> 870 <translation>&lt;b&gt;注意:&lt;/b&gt; 选择这会每一次自动下载新的版本. </translation>
871 </message> 871 </message>
872 <message> 872 <message>
873 <location filename="install.cpp" line="157"/> 873 <location filename="install.cpp" line="157"/>
874 <source>This is the last released version of Rockbox.</source> 874 <source>This is the last released version of Rockbox.</source>
875 <translation>这是最新的Rockbox版本.</translation> 875 <translation>这是最新的Rockbox版本.</translation>
876 </message> 876 </message>
877 <message> 877 <message>
878 <location filename="install.cpp" line="163"/> 878 <location filename="install.cpp" line="163"/>
879 <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> 879 <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>
880 <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;这是建议使用的版本.&lt;/b&gt;</translation> 880 <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;这是建议使用的版本.&lt;/b&gt;</translation>
881 </message> 881 </message>
882 <message> 882 <message>
883 <location filename="" line="6357100"/> 883 <location filename="" line="6357100"/>
884 <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> 884 <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>
885 <translation type="obsolete">这是每天自动更新的版本. 这一般来说比发行版本要多功能, 但可能没有那么稳定. 功能可能会随时改变.</translation> 885 <translation type="obsolete">这是每天自动更新的版本. 这一般来说比发行版本要多功能, 但可能没有那么稳定. 功能可能会随时改变.</translation>
886 </message> 886 </message>
887 <message> 887 <message>
888 <location filename="install.cpp" line="177"/> 888 <location filename="install.cpp" line="177"/>
889 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source> 889 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
890 <translation>&lt;b&gt;注意:&lt;/b&gt; 存档的版本是 r%1 (%2).</translation> 890 <translation>&lt;b&gt;注意:&lt;/b&gt; 存档的版本是 r%1 (%2).</translation>
891 </message> 891 </message>
892 <message> 892 <message>
893 <location filename="install.cpp" line="175"/> 893 <location filename="install.cpp" line="175"/>
894 <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> 894 <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>
895 <translation type="unfinished"></translation> 895 <translation type="unfinished"></translation>
896 </message> 896 </message>
897</context> 897</context>
898<context> 898<context>
899 <name>InstallFrm</name> 899 <name>InstallFrm</name>
900 <message> 900 <message>
901 <location filename="installfrm.ui" line="16"/> 901 <location filename="installfrm.ui" line="16"/>
902 <source>Install Rockbox</source> 902 <source>Install Rockbox</source>
903 <translation>安装 Rockbox</translation> 903 <translation>安装 Rockbox</translation>
904 </message> 904 </message>
905 <message> 905 <message>
906 <location filename="installfrm.ui" line="35"/> 906 <location filename="installfrm.ui" line="35"/>
907 <source>Please select the Rockbox version you want to install on your player:</source> 907 <source>Please select the Rockbox version you want to install on your player:</source>
908 <translation>请选择你要安装在你的播放器上的版本:</translation> 908 <translation>请选择你要安装在你的播放器上的版本:</translation>
909 </message> 909 </message>
910 <message> 910 <message>
911 <location filename="installfrm.ui" line="45"/> 911 <location filename="installfrm.ui" line="45"/>
912 <source>Version</source> 912 <source>Version</source>
913 <translation>版本</translation> 913 <translation>版本</translation>
914 </message> 914 </message>
915 <message> 915 <message>
916 <location filename="installfrm.ui" line="51"/> 916 <location filename="installfrm.ui" line="51"/>
917 <source>Rockbox &amp;stable</source> 917 <source>Rockbox &amp;stable</source>
918 <translation>&amp;稳定的 Rockbox</translation> 918 <translation>&amp;稳定的 Rockbox</translation>
919 </message> 919 </message>
920 <message> 920 <message>
921 <location filename="installfrm.ui" line="58"/> 921 <location filename="installfrm.ui" line="58"/>
922 <source>&amp;Archived Build</source> 922 <source>&amp;Archived Build</source>
923 <translation>&amp;存档的版本</translation> 923 <translation>&amp;存档的版本</translation>
924 </message> 924 </message>
925 <message> 925 <message>
926 <location filename="installfrm.ui" line="65"/> 926 <location filename="installfrm.ui" line="65"/>
927 <source>&amp;Current Build</source> 927 <source>&amp;Current Build</source>
928 <translation>&amp;最新的版本</translation> 928 <translation>&amp;最新的版本</translation>
929 </message> 929 </message>
930 <message> 930 <message>
931 <location filename="installfrm.ui" line="75"/> 931 <location filename="installfrm.ui" line="75"/>
932 <source>Details</source> 932 <source>Details</source>
933 <translation>细节</translation> 933 <translation>细节</translation>
934 </message> 934 </message>
935 <message> 935 <message>
936 <location filename="installfrm.ui" line="81"/> 936 <location filename="installfrm.ui" line="81"/>
937 <source>Details about the selected version</source> 937 <source>Details about the selected version</source>
938 <translation>被选择版本的细节</translation> 938 <translation>被选择版本的细节</translation>
939 </message> 939 </message>
940 <message> 940 <message>
941 <location filename="installfrm.ui" line="91"/> 941 <location filename="installfrm.ui" line="91"/>
942 <source>Note</source> 942 <source>Note</source>
943 <translation>注意</translation> 943 <translation>注意</translation>
944 </message> 944 </message>
945 <message> 945 <message>
946 <location filename="installfrm.ui" line="104"/> 946 <location filename="installfrm.ui" line="104"/>
947 <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> 947 <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>
948 <translation>Rockbox安装程序储存以前下载的文件在你的硬盘上以减少网络交通. 如果你的Rockbox不能使用, 选择这项去下载一份新的文件</translation> 948 <translation>Rockbox安装程序储存以前下载的文件在你的硬盘上以减少网络交通. 如果你的Rockbox不能使用, 选择这项去下载一份新的文件</translation>
949 </message> 949 </message>
950 <message> 950 <message>
951 <location filename="installfrm.ui" line="107"/> 951 <location filename="installfrm.ui" line="107"/>
952 <source>&amp;Don&apos;t use locally cached copy</source> 952 <source>&amp;Don&apos;t use locally cached copy</source>
953 <translation>&amp;不使用硬盘上缓冲的文件</translation> 953 <translation>&amp;不使用硬盘上缓冲的文件</translation>
954 </message> 954 </message>
955 <message> 955 <message>
956 <location filename="" line="6357100"/> 956 <location filename="" line="6357100"/>
957 <source>&amp;Ok</source> 957 <source>&amp;Ok</source>
958 <translation type="obsolete">&amp;OK</translation> 958 <translation type="obsolete">&amp;OK</translation>
959 </message> 959 </message>
960 <message> 960 <message>
961 <location filename="installfrm.ui" line="152"/> 961 <location filename="installfrm.ui" line="152"/>
962 <source>&amp;Cancel</source> 962 <source>&amp;Cancel</source>
963 <translation>&amp;取消</translation> 963 <translation>&amp;取消</translation>
964 </message> 964 </message>
965 <message> 965 <message>
966 <location filename="installfrm.ui" line="142"/> 966 <location filename="installfrm.ui" line="142"/>
967 <source>&amp;Install</source> 967 <source>&amp;Install</source>
968 <translation type="unfinished"></translation> 968 <translation type="unfinished"></translation>
969 </message> 969 </message>
970</context> 970</context>
971<context> 971<context>
972 <name>InstallProgressFrm</name> 972 <name>InstallProgressFrm</name>
973 <message> 973 <message>
974 <location filename="installprogressfrm.ui" line="19"/> 974 <location filename="installprogressfrm.ui" line="19"/>
975 <source>Progress</source> 975 <source>Progress</source>
976 <translation>进程</translation> 976 <translation>进程</translation>
977 </message> 977 </message>
978 <message> 978 <message>
979 <location filename="installprogressfrm.ui" line="56"/> 979 <location filename="installprogressfrm.ui" line="56"/>
980 <source>&amp;Abort</source> 980 <source>&amp;Abort</source>
981 <translation>&amp;取消</translation> 981 <translation>&amp;取消</translation>
982 </message> 982 </message>
983</context> 983</context>
984<context> 984<context>
985 <name>InstallTalkFrm</name> 985 <name>InstallTalkFrm</name>
986 <message> 986 <message>
987 <location filename="installtalkfrm.ui" line="16"/> 987 <location filename="installtalkfrm.ui" line="16"/>
988 <source>Install Talk Files</source> 988 <source>Install Talk Files</source>
989 <translation>安装说话文件</translation> 989 <translation>安装说话文件</translation>
990 </message> 990 </message>
991 <message> 991 <message>
992 <location filename="installtalkfrm.ui" line="35"/> 992 <location filename="installtalkfrm.ui" line="35"/>
993 <source>Select the Folder to generate Talkfiles for.</source> 993 <source>Select the Folder to generate Talkfiles for.</source>
994 <translation>选择需要安装说话文件的文件夹</translation> 994 <translation>选择需要安装说话文件的文件夹</translation>
995 </message> 995 </message>
996 <message> 996 <message>
997 <location filename="installtalkfrm.ui" line="45"/> 997 <location filename="installtalkfrm.ui" line="45"/>
998 <source>&amp;Browse</source> 998 <source>&amp;Browse</source>
999 <translation>&amp;浏览</translation> 999 <translation>&amp;浏览</translation>
1000 </message> 1000 </message>
1001 <message> 1001 <message>
1002 <location filename="installtalkfrm.ui" line="55"/> 1002 <location filename="installtalkfrm.ui" line="55"/>
1003 <source>Generation settings</source> 1003 <source>Generation settings</source>
1004 <translation>语音合成设置</translation> 1004 <translation>语音合成设置</translation>
1005 </message> 1005 </message>
1006 <message> 1006 <message>
1007 <location filename="installtalkfrm.ui" line="61"/> 1007 <location filename="installtalkfrm.ui" line="61"/>
1008 <source>Encoder profile:</source> 1008 <source>Encoder profile:</source>
1009 <translation>转化器设置:</translation> 1009 <translation>转化器设置:</translation>
1010 </message> 1010 </message>
1011 <message> 1011 <message>
1012 <location filename="installtalkfrm.ui" line="68"/> 1012 <location filename="installtalkfrm.ui" line="68"/>
1013 <source>TTS profile:</source> 1013 <source>TTS profile:</source>
1014 <translation>TTS 设置:</translation> 1014 <translation>TTS 设置:</translation>
1015 </message> 1015 </message>
1016 <message> 1016 <message>
1017 <location filename="installtalkfrm.ui" line="104"/> 1017 <location filename="installtalkfrm.ui" line="104"/>
1018 <source>Generation options</source> 1018 <source>Generation options</source>
1019 <translation>语音合成设置</translation> 1019 <translation>语音合成设置</translation>
1020 </message> 1020 </message>
1021 <message> 1021 <message>
1022 <location filename="installtalkfrm.ui" line="110"/> 1022 <location filename="installtalkfrm.ui" line="110"/>
1023 <source>Overwrite Wavefiles</source> 1023 <source>Overwrite Wavefiles</source>
1024 <translation>覆盖已存在的 Wavefiles</translation> 1024 <translation>覆盖已存在的 Wavefiles</translation>
1025 </message> 1025 </message>
1026 <message> 1026 <message>
1027 <location filename="installtalkfrm.ui" line="120"/> 1027 <location filename="installtalkfrm.ui" line="120"/>
1028 <source>Remove Wavefiles</source> 1028 <source>Remove Wavefiles</source>
1029 <translation>删除 Wavefiles</translation> 1029 <translation>删除 Wavefiles</translation>
1030 </message> 1030 </message>
1031 <message> 1031 <message>
1032 <location filename="installtalkfrm.ui" line="130"/> 1032 <location filename="installtalkfrm.ui" line="130"/>
1033 <source>Run recursive</source> 1033 <source>Run recursive</source>
1034 <translation>递归寻找</translation> 1034 <translation>递归寻找</translation>
1035 </message> 1035 </message>
1036 <message> 1036 <message>
1037 <location filename="installtalkfrm.ui" line="140"/> 1037 <location filename="installtalkfrm.ui" line="140"/>
1038 <source>Strip Extensions</source> 1038 <source>Strip Extensions</source>
1039 <translation>除去后缀</translation> 1039 <translation>除去后缀</translation>
1040 </message> 1040 </message>
1041 <message> 1041 <message>
1042 <location filename="installtalkfrm.ui" line="150"/> 1042 <location filename="installtalkfrm.ui" line="150"/>
1043 <source>Overwrite Talkfiles</source> 1043 <source>Overwrite Talkfiles</source>
1044 <translation>删除语音文件</translation> 1044 <translation>删除语音文件</translation>
1045 </message> 1045 </message>
1046 <message> 1046 <message>
1047 <location filename="" line="6357100"/> 1047 <location filename="" line="6357100"/>
1048 <source>&amp;Ok</source> 1048 <source>&amp;Ok</source>
1049 <translation type="obsolete">&amp;OK</translation> 1049 <translation type="obsolete">&amp;OK</translation>
1050 </message> 1050 </message>
1051 <message> 1051 <message>
1052 <location filename="installtalkfrm.ui" line="224"/> 1052 <location filename="installtalkfrm.ui" line="224"/>
1053 <source>&amp;Cancel</source> 1053 <source>&amp;Cancel</source>
1054 <translation>&amp;取消</translation> 1054 <translation>&amp;取消</translation>
1055 </message> 1055 </message>
1056 <message> 1056 <message>
1057 <location filename="installtalkfrm.ui" line="81"/> 1057 <location filename="installtalkfrm.ui" line="81"/>
1058 <source>Change</source> 1058 <source>Change</source>
1059 <translation type="unfinished"></translation> 1059 <translation type="unfinished"></translation>
1060 </message> 1060 </message>
1061 <message> 1061 <message>
1062 <location filename="installtalkfrm.ui" line="160"/> 1062 <location filename="installtalkfrm.ui" line="160"/>
1063 <source>Generate .talk files for Folders</source> 1063 <source>Generate .talk files for Folders</source>
1064 <translation type="unfinished"></translation> 1064 <translation type="unfinished"></translation>
1065 </message> 1065 </message>
1066 <message> 1066 <message>
1067 <location filename="installtalkfrm.ui" line="170"/> 1067 <location filename="installtalkfrm.ui" line="170"/>
1068 <source>Generate .talk files for Files</source> 1068 <source>Generate .talk files for Files</source>
1069 <translation type="unfinished"></translation> 1069 <translation type="unfinished"></translation>
1070 </message> 1070 </message>
1071 <message> 1071 <message>
1072 <location filename="installtalkfrm.ui" line="214"/> 1072 <location filename="installtalkfrm.ui" line="214"/>
1073 <source>&amp;Install</source> 1073 <source>&amp;Install</source>
1074 <translation type="unfinished"></translation> 1074 <translation type="unfinished"></translation>
1075 </message> 1075 </message>
1076</context> 1076</context>
1077<context> 1077<context>
1078 <name>InstallTalkWindow</name> 1078 <name>InstallTalkWindow</name>
1079 <message> 1079 <message>
1080 <location filename="installtalkwindow.cpp" line="84"/> 1080 <location filename="installtalkwindow.cpp" line="84"/>
1081 <source>The Folder to Talk is wrong!</source> 1081 <source>The Folder to Talk is wrong!</source>
1082 <translation>要支持语音的文件夹错误!</translation> 1082 <translation>要支持语音的文件夹错误!</translation>
1083 </message> 1083 </message>
1084 <message> 1084 <message>
1085 <location filename="" line="6357100"/> 1085 <location filename="" line="6357100"/>
1086 <source>Path to Encoder is wrong!</source> 1086 <source>Path to Encoder is wrong!</source>
1087 <translation type="obsolete">语音生成转换器的路径错误!</translation> 1087 <translation type="obsolete">语音生成转换器的路径错误!</translation>
1088 </message> 1088 </message>
1089 <message> 1089 <message>
1090 <location filename="" line="6357100"/> 1090 <location filename="" line="6357100"/>
1091 <source>Path to TTS is wrong!</source> 1091 <source>Path to TTS is wrong!</source>
1092 <translation type="obsolete">TTS引擎的路径错误!</translation> 1092 <translation type="obsolete">TTS引擎的路径错误!</translation>
1093 </message> 1093 </message>
1094 <message> 1094 <message>
1095 <location filename="" line="6357100"/> 1095 <location filename="" line="6357100"/>
1096 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1096 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1097 <translation type="obsolete">TTS 设置: &lt;b&gt;%1&lt;/b&gt;</translation> 1097 <translation type="obsolete">TTS 设置: &lt;b&gt;%1&lt;/b&gt;</translation>
1098 </message> 1098 </message>
1099 <message> 1099 <message>
1100 <location filename="" line="6357100"/> 1100 <location filename="" line="6357100"/>
1101 <source>Invalid TTS profile!</source> 1101 <source>Invalid TTS profile!</source>
1102 <translation type="obsolete">无效TTS设置 !</translation> 1102 <translation type="obsolete">无效TTS设置 !</translation>
1103 </message> 1103 </message>
1104 <message> 1104 <message>
1105 <location filename="" line="6357100"/> 1105 <location filename="" line="6357100"/>
1106 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1106 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1107 <translation type="obsolete">转换器设置: &lt;b&gt;%1&lt;/b&gt;</translation> 1107 <translation type="obsolete">转换器设置: &lt;b&gt;%1&lt;/b&gt;</translation>
1108 </message> 1108 </message>
1109 <message> 1109 <message>
1110 <location filename="" line="6357100"/> 1110 <location filename="" line="6357100"/>
1111 <source>Invalid encoder profile!</source> 1111 <source>Invalid encoder profile!</source>
1112 <translation type="obsolete">无效转化器设置!</translation> 1112 <translation type="obsolete">无效转化器设置!</translation>
1113 </message> 1113 </message>
1114 <message> 1114 <message>
1115 <location filename="installtalkwindow.cpp" line="119"/> 1115 <location filename="installtalkwindow.cpp" line="119"/>
1116 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 1116 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
1117 <translation type="unfinished"></translation> 1117 <translation type="unfinished"></translation>
1118 </message> 1118 </message>
1119 <message> 1119 <message>
1120 <location filename="installtalkwindow.cpp" line="121"/> 1120 <location filename="installtalkwindow.cpp" line="121"/>
1121 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 1121 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
1122 <translation type="unfinished"></translation> 1122 <translation type="unfinished"></translation>
1123 </message> 1123 </message>
1124 <message> 1124 <message>
1125 <location filename="installtalkwindow.cpp" line="129"/> 1125 <location filename="installtalkwindow.cpp" line="129"/>
1126 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 1126 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
1127 <translation type="unfinished"></translation> 1127 <translation type="unfinished"></translation>
1128 </message> 1128 </message>
1129</context> 1129</context>
1130<context> 1130<context>
1131 <name>PreviewFrm</name> 1131 <name>PreviewFrm</name>
1132 <message> 1132 <message>
1133 <location filename="previewfrm.ui" line="16"/> 1133 <location filename="previewfrm.ui" line="16"/>
1134 <source>Preview</source> 1134 <source>Preview</source>
1135 <translation>预览</translation> 1135 <translation>预览</translation>
1136 </message> 1136 </message>
1137</context> 1137</context>
1138<context> 1138<context>
1139 <name>ProgressLoggerGui</name> 1139 <name>ProgressLoggerGui</name>
1140 <message> 1140 <message>
1141 <location filename="progressloggergui.cpp" line="79"/> 1141 <location filename="progressloggergui.cpp" line="79"/>
1142 <source>&amp;Ok</source> 1142 <source>&amp;Ok</source>
1143 <translation>&amp;OK</translation> 1143 <translation>&amp;OK</translation>
1144 </message> 1144 </message>
1145 <message> 1145 <message>
1146 <location filename="progressloggergui.cpp" line="89"/> 1146 <location filename="progressloggergui.cpp" line="89"/>
1147 <source>&amp;Abort</source> 1147 <source>&amp;Abort</source>
1148 <translation>&amp;取消</translation> 1148 <translation>&amp;取消</translation>
1149 </message> 1149 </message>
1150</context> 1150</context>
1151<context> 1151<context>
1152 <name>RbSpeexCfgFrm</name> 1152 <name>RbSpeexCfgFrm</name>
1153 <message> 1153 <message>
1154 <location filename="rbspeexcfgfrm.ui" line="13"/> 1154 <location filename="rbspeexcfgfrm.ui" line="13"/>
1155 <source>Configuration</source> 1155 <source>Configuration</source>
1156 <translation type="unfinished">设置</translation> 1156 <translation type="unfinished">设置</translation>
1157 </message> 1157 </message>
1158 <message> 1158 <message>
1159 <location filename="rbspeexcfgfrm.ui" line="19"/> 1159 <location filename="rbspeexcfgfrm.ui" line="19"/>
1160 <source>Configure RbSpeex Encoder</source> 1160 <source>Configure RbSpeex Encoder</source>
1161 <translation type="unfinished"></translation> 1161 <translation type="unfinished"></translation>
1162 </message> 1162 </message>
1163 <message> 1163 <message>
1164 <location filename="rbspeexcfgfrm.ui" line="38"/> 1164 <location filename="rbspeexcfgfrm.ui" line="38"/>
1165 <source>Volume</source> 1165 <source>Volume</source>
1166 <translation type="unfinished"></translation> 1166 <translation type="unfinished"></translation>
1167 </message> 1167 </message>
1168 <message> 1168 <message>
1169 <location filename="rbspeexcfgfrm.ui" line="45"/> 1169 <location filename="rbspeexcfgfrm.ui" line="45"/>
1170 <source>Narrowband</source> 1170 <source>Narrowband</source>
1171 <translation type="unfinished"></translation> 1171 <translation type="unfinished"></translation>
1172 </message> 1172 </message>
1173 <message> 1173 <message>
1174 <location filename="rbspeexcfgfrm.ui" line="68"/> 1174 <location filename="rbspeexcfgfrm.ui" line="68"/>
1175 <source>Quality</source> 1175 <source>Quality</source>
1176 <translation type="unfinished"></translation> 1176 <translation type="unfinished"></translation>
1177 </message> 1177 </message>
1178 <message> 1178 <message>
1179 <location filename="rbspeexcfgfrm.ui" line="85"/> 1179 <location filename="rbspeexcfgfrm.ui" line="85"/>
1180 <source>Complexity</source> 1180 <source>Complexity</source>
1181 <translation type="unfinished"></translation> 1181 <translation type="unfinished"></translation>
1182 </message> 1182 </message>
1183 <message> 1183 <message>
1184 <location filename="rbspeexcfgfrm.ui" line="115"/> 1184 <location filename="rbspeexcfgfrm.ui" line="115"/>
1185 <source>&amp;Ok</source> 1185 <source>&amp;Ok</source>
1186 <translation type="unfinished">&amp;OK</translation> 1186 <translation type="unfinished">&amp;OK</translation>
1187 </message> 1187 </message>
1188 <message> 1188 <message>
1189 <location filename="rbspeexcfgfrm.ui" line="125"/> 1189 <location filename="rbspeexcfgfrm.ui" line="125"/>
1190 <source>&amp;Cancel</source> 1190 <source>&amp;Cancel</source>
1191 <translation type="unfinished">&amp;取消</translation> 1191 <translation type="unfinished">&amp;取消</translation>
1192 </message> 1192 </message>
1193 <message> 1193 <message>
1194 <location filename="rbspeexcfgfrm.ui" line="95"/> 1194 <location filename="rbspeexcfgfrm.ui" line="95"/>
1195 <source>Reset</source> 1195 <source>Reset</source>
1196 <translation type="unfinished"></translation> 1196 <translation type="unfinished"></translation>
1197 </message> 1197 </message>
1198</context> 1198</context>
1199<context> 1199<context>
1200 <name>RbUtilQt</name> 1200 <name>RbUtilQt</name>
1201 <message> 1201 <message>
1202 <location filename="rbutilqt.cpp" line="78"/> 1202 <location filename="rbutilqt.cpp" line="78"/>
1203 <source>File</source> 1203 <source>File</source>
1204 <translation>文件</translation> 1204 <translation>文件</translation>
1205 </message> 1205 </message>
1206 <message> 1206 <message>
1207 <location filename="rbutilqt.cpp" line="78"/> 1207 <location filename="rbutilqt.cpp" line="78"/>
1208 <source>Version</source> 1208 <source>Version</source>
1209 <translation>版本</translation> 1209 <translation>版本</translation>
1210 </message> 1210 </message>
1211 <message> 1211 <message>
1212 <location filename="rbutilqt.cpp" line="210"/> 1212 <location filename="rbutilqt.cpp" line="210"/>
1213 <source>Network error: %1. Please check your network and proxy settings.</source> 1213 <source>Network error: %1. Please check your network and proxy settings.</source>
1214 <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation> 1214 <translation>网络错误: %1. 请检查你的网络和代理服务的设置.</translation>
1215 </message> 1215 </message>
1216 <message> 1216 <message>
1217 <location filename="rbutilqt.cpp" line="305"/> 1217 <location filename="rbutilqt.cpp" line="305"/>
1218 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source> 1218 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
1219 <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation> 1219 <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation>
1220 </message> 1220 </message>
1221 <message> 1221 <message>
1222 <location filename="rbutilqt.cpp" line="325"/> 1222 <location filename="rbutilqt.cpp" line="325"/>
1223 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source> 1223 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
1224 <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用户手册(英文)&lt;/a&gt;</translation> 1224 <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用户手册(英文)&lt;/a&gt;</translation>
1225 </message> 1225 </message>
1226 <message> 1226 <message>
1227 <location filename="rbutilqt.cpp" line="327"/> 1227 <location filename="rbutilqt.cpp" line="327"/>
1228 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source> 1228 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
1229 <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用户手册(英文,在浏览器打开)&lt;/a&gt;</translation> 1229 <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用户手册(英文,在浏览器打开)&lt;/a&gt;</translation>
1230 </message> 1230 </message>
1231 <message> 1231 <message>
1232 <location filename="rbutilqt.cpp" line="330"/> 1232 <location filename="rbutilqt.cpp" line="330"/>
1233 <source>Select a device for a link to the correct manual</source> 1233 <source>Select a device for a link to the correct manual</source>
1234 <translation>请选择你的播放器</translation> 1234 <translation>请选择你的播放器</translation>
1235 </message> 1235 </message>
1236 <message> 1236 <message>
1237 <location filename="rbutilqt.cpp" line="332"/> 1237 <location filename="rbutilqt.cpp" line="332"/>
1238 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source> 1238 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
1239 <translation>&lt;a href=&apos;%1&apos;&gt;用户手册总观&lt;/a&gt;</translation> 1239 <translation>&lt;a href=&apos;%1&apos;&gt;用户手册总观&lt;/a&gt;</translation>
1240 </message> 1240 </message>
1241 <message> 1241 <message>
1242 <location filename="rbutilqt.cpp" line="695"/> 1242 <location filename="rbutilqt.cpp" line="695"/>
1243 <source>Confirm Installation</source> 1243 <source>Confirm Installation</source>
1244 <translation>确认安装</translation> 1244 <translation>确认安装</translation>
1245 </message> 1245 </message>
1246 <message> 1246 <message>
1247 <location filename="rbutilqt.cpp" line="341"/> 1247 <location filename="rbutilqt.cpp" line="341"/>
1248 <source>Do you really want to make a complete Installation?</source> 1248 <source>Do you really want to make a complete Installation?</source>
1249 <translation>你确认要一个完整的安装?</translation> 1249 <translation>你确认要一个完整的安装?</translation>
1250 </message> 1250 </message>
1251 <message> 1251 <message>
1252 <location filename="rbutilqt.cpp" line="877"/> 1252 <location filename="rbutilqt.cpp" line="877"/>
1253 <source>Mount point is wrong!</source> 1253 <source>Mount point is wrong!</source>
1254 <translation>Mountpoint 错误!</translation> 1254 <translation>Mountpoint 错误!</translation>
1255 </message> 1255 </message>
1256 <message> 1256 <message>
1257 <location filename="rbutilqt.cpp" line="393"/> 1257 <location filename="rbutilqt.cpp" line="393"/>
1258 <source>Do you really want to make a small Installation?</source> 1258 <source>Do you really want to make a small Installation?</source>
1259 <translation>你确认要一个智能的安装?</translation> 1259 <translation>你确认要一个智能的安装?</translation>
1260 </message> 1260 </message>
1261 <message> 1261 <message>
1262 <location filename="rbutilqt.cpp" line="533"/> 1262 <location filename="rbutilqt.cpp" line="533"/>
1263 <source>Do you really want to install the Bootloader?</source> 1263 <source>Do you really want to install the Bootloader?</source>
1264 <translation>你确认要安装启动程序?</translation> 1264 <translation>你确认要安装启动程序?</translation>
1265 </message> 1265 </message>
1266 <message> 1266 <message>
1267 <location filename="rbutilqt.cpp" line="800"/> 1267 <location filename="rbutilqt.cpp" line="800"/>
1268 <source>Could not get the bootloader info file!</source> 1268 <source>Could not get the bootloader info file!</source>
1269 <translation>找不到启动程序的资料!</translation> 1269 <translation>找不到启动程序的资料!</translation>
1270 </message> 1270 </message>
1271 <message> 1271 <message>
1272 <location filename="rbutilqt.cpp" line="568"/> 1272 <location filename="rbutilqt.cpp" line="568"/>
1273 <source>Bootloader Installation</source> 1273 <source>Bootloader Installation</source>
1274 <translation>安装启动程序</translation> 1274 <translation>安装启动程序</translation>
1275 </message> 1275 </message>
1276 <message> 1276 <message>
1277 <location filename="" line="6357100"/> 1277 <location filename="" line="6357100"/>
1278 <source>It seem your Bootloader is already uptodate. 1278 <source>It seem your Bootloader is already uptodate.
1279Do really want to install it?</source> 1279Do really want to install it?</source>
1280 <translation type="obsolete">你的启动程序好象已经是最新版本. 1280 <translation type="obsolete">你的启动程序好象已经是最新版本.
1281你确认要再安装?</translation> 1281你确认要再安装?</translation>
1282 </message> 1282 </message>
1283 <message> 1283 <message>
1284 <location filename="" line="6357100"/> 1284 <location filename="" line="6357100"/>
1285 <source>Bootloader installation Canceled!</source> 1285 <source>Bootloader installation Canceled!</source>
1286 <translation type="obsolete">启动程序安装被取消!</translation> 1286 <translation type="obsolete">启动程序安装被取消!</translation>
1287 </message> 1287 </message>
1288 <message> 1288 <message>
1289 <location filename="rbutilqt.cpp" line="593"/> 1289 <location filename="rbutilqt.cpp" line="593"/>
1290 <source>Original Firmware Path is wrong!</source> 1290 <source>Original Firmware Path is wrong!</source>
1291 <translation>厂家固件路径错误!</translation> 1291 <translation>厂家固件路径错误!</translation>
1292 </message> 1292 </message>
1293 <message> 1293 <message>
1294 <location filename="rbutilqt.cpp" line="606"/> 1294 <location filename="rbutilqt.cpp" line="606"/>
1295 <source>Original Firmware selection Canceled!</source> 1295 <source>Original Firmware selection Canceled!</source>
1296 <translation>厂家固件安装被取消!</translation> 1296 <translation>厂家固件安装被取消!</translation>
1297 </message> 1297 </message>
1298 <message> 1298 <message>
1299 <location filename="rbutilqt.cpp" line="621"/> 1299 <location filename="rbutilqt.cpp" line="621"/>
1300 <source>Do you really want to install the fonts package?</source> 1300 <source>Do you really want to install the fonts package?</source>
1301 <translation>你确认要安装字体包裹吗?</translation> 1301 <translation>你确认要安装字体包裹吗?</translation>
1302 </message> 1302 </message>
1303 <message> 1303 <message>
1304 <location filename="rbutilqt.cpp" line="656"/> 1304 <location filename="rbutilqt.cpp" line="656"/>
1305 <source>Do you really want to install the voice file?</source> 1305 <source>Do you really want to install the voice file?</source>
1306 <translation>你确认要安装语音文件吗?</translation> 1306 <translation>你确认要安装语音文件吗?</translation>
1307 </message> 1307 </message>
1308 <message> 1308 <message>
1309 <location filename="rbutilqt.cpp" line="696"/> 1309 <location filename="rbutilqt.cpp" line="696"/>
1310 <source>Do you really want to install the game addon files?</source> 1310 <source>Do you really want to install the game addon files?</source>
1311 <translation>你确认要安装游戏附件吗?</translation> 1311 <translation>你确认要安装游戏附件吗?</translation>
1312 </message> 1312 </message>
1313 <message> 1313 <message>
1314 <location filename="rbutilqt.cpp" line="782"/> 1314 <location filename="rbutilqt.cpp" line="782"/>
1315 <source>Confirm Uninstallation</source> 1315 <source>Confirm Uninstallation</source>
1316 <translation>确认安装</translation> 1316 <translation>确认安装</translation>
1317 </message> 1317 </message>
1318 <message> 1318 <message>
1319 <location filename="rbutilqt.cpp" line="783"/> 1319 <location filename="rbutilqt.cpp" line="783"/>
1320 <source>Do you really want to uninstall the Bootloader?</source> 1320 <source>Do you really want to uninstall the Bootloader?</source>
1321 <translation>你确认要卸载启动程序吗?</translation> 1321 <translation>你确认要卸载启动程序吗?</translation>
1322 </message> 1322 </message>
1323 <message> 1323 <message>
1324 <location filename="rbutilqt.cpp" line="813"/> 1324 <location filename="rbutilqt.cpp" line="813"/>
1325 <source>Confirm download</source> 1325 <source>Confirm download</source>
1326 <translation>确认下载</translation> 1326 <translation>确认下载</translation>
1327 </message> 1327 </message>
1328 <message> 1328 <message>
1329 <location filename="rbutilqt.cpp" line="815"/> 1329 <location filename="rbutilqt.cpp" line="815"/>
1330 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source> 1330 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
1331 <translation>你确认要下载用户手册吗? 用户手册将会被放在你播放器的主目录里.</translation> 1331 <translation>你确认要下载用户手册吗? 用户手册将会被放在你播放器的主目录里.</translation>
1332 </message> 1332 </message>
1333 <message> 1333 <message>
1334 <location filename="rbutilqt.cpp" line="863"/> 1334 <location filename="rbutilqt.cpp" line="863"/>
1335 <source>Confirm installation</source> 1335 <source>Confirm installation</source>
1336 <translation>确认安装</translation> 1336 <translation>确认安装</translation>
1337 </message> 1337 </message>
1338 <message> 1338 <message>
1339 <location filename="rbutilqt.cpp" line="865"/> 1339 <location filename="rbutilqt.cpp" line="865"/>
1340 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source> 1340 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
1341 <translation>你确认要安装Rockbox安装程序到你的播放器上吗? 安装后你可以从你播放器上运行此程序.</translation> 1341 <translation>你确认要安装Rockbox安装程序到你的播放器上吗? 安装后你可以从你播放器上运行此程序.</translation>
1342 </message> 1342 </message>
1343 <message> 1343 <message>
1344 <location filename="rbutilqt.cpp" line="873"/> 1344 <location filename="rbutilqt.cpp" line="873"/>
1345 <source>Installing Rockbox Utility</source> 1345 <source>Installing Rockbox Utility</source>
1346 <translation>安装 Rockbox安装程序</translation> 1346 <translation>安装 Rockbox安装程序</translation>
1347 </message> 1347 </message>
1348 <message> 1348 <message>
1349 <location filename="rbutilqt.cpp" line="887"/> 1349 <location filename="rbutilqt.cpp" line="887"/>
1350 <source>Error installing Rockbox Utility</source> 1350 <source>Error installing Rockbox Utility</source>
1351 <translation>安装 Rockbox安装程序错误!</translation> 1351 <translation>安装 Rockbox安装程序错误!</translation>
1352 </message> 1352 </message>
1353 <message> 1353 <message>
1354 <location filename="rbutilqt.cpp" line="891"/> 1354 <location filename="rbutilqt.cpp" line="891"/>
1355 <source>Installing user configuration</source> 1355 <source>Installing user configuration</source>
1356 <translation>安装用户设置</translation> 1356 <translation>安装用户设置</translation>
1357 </message> 1357 </message>
1358 <message> 1358 <message>
1359 <location filename="rbutilqt.cpp" line="893"/> 1359 <location filename="rbutilqt.cpp" line="893"/>
1360 <source>Error installing user configuration</source> 1360 <source>Error installing user configuration</source>
1361 <translation>安装用户设置错误</translation> 1361 <translation>安装用户设置错误</translation>
1362 </message> 1362 </message>
1363 <message> 1363 <message>
1364 <location filename="rbutilqt.cpp" line="897"/> 1364 <location filename="rbutilqt.cpp" line="897"/>
1365 <source>Successfully installed Rockbox Utility.</source> 1365 <source>Successfully installed Rockbox Utility.</source>
1366 <translation>成功安装 Rockbox安装程序.</translation> 1366 <translation>成功安装 Rockbox安装程序.</translation>
1367 </message> 1367 </message>
1368 <message> 1368 <message>
1369 <location filename="" line="6357100"/> 1369 <location filename="" line="6357100"/>
1370 <source>Bootloader installation Skipped!</source> 1370 <source>Bootloader installation Skipped!</source>
1371 <translation type="obsolete">启动程序安装过程被跳过!</translation> 1371 <translation type="obsolete">启动程序安装过程被跳过!</translation>
1372 </message> 1372 </message>
1373 <message> 1373 <message>
1374 <location filename="rbutilqt.cpp" line="1014"/> 1374 <location filename="rbutilqt.cpp" line="1014"/>
1375 <source>Configuration error</source> 1375 <source>Configuration error</source>
1376 <translation type="unfinished"></translation> 1376 <translation type="unfinished"></translation>
1377 </message> 1377 </message>
1378 <message> 1378 <message>
1379 <location filename="rbutilqt.cpp" line="187"/> 1379 <location filename="rbutilqt.cpp" line="187"/>
1380 <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> 1380 <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>
1381 <translation type="unfinished"></translation> 1381 <translation type="unfinished"></translation>
1382 </message> 1382 </message>
1383 <message> 1383 <message>
1384 <location filename="rbutilqt.cpp" line="570"/> 1384 <location filename="rbutilqt.cpp" line="570"/>
1385 <source>The bootloader is already installed and up to date. 1385 <source>The bootloader is already installed and up to date.
1386Do want to replace the current bootloader?</source> 1386Do want to replace the current bootloader?</source>
1387 <translation type="unfinished"></translation> 1387 <translation type="unfinished"></translation>
1388 </message> 1388 </message>
1389 <message> 1389 <message>
1390 <location filename="rbutilqt.cpp" line="574"/> 1390 <location filename="rbutilqt.cpp" line="574"/>
1391 <source>Bootloader installation skipped!</source> 1391 <source>Bootloader installation skipped!</source>
1392 <translation type="unfinished"></translation> 1392 <translation type="unfinished"></translation>
1393 </message> 1393 </message>
1394 <message> 1394 <message>
1395 <location filename="rbutilqt.cpp" line="691"/> 1395 <location filename="rbutilqt.cpp" line="691"/>
1396 <source>Error</source> 1396 <source>Error</source>
1397 <translation type="unfinished"></translation> 1397 <translation type="unfinished"></translation>
1398 </message> 1398 </message>
1399 <message> 1399 <message>
1400 <location filename="rbutilqt.cpp" line="691"/> 1400 <location filename="rbutilqt.cpp" line="691"/>
1401 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source> 1401 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
1402 <translation type="unfinished"></translation> 1402 <translation type="unfinished"></translation>
1403 </message> 1403 </message>
1404 <message> 1404 <message>
1405 <location filename="rbutilqt.cpp" line="1016"/> 1405 <location filename="rbutilqt.cpp" line="1016"/>
1406 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source> 1406 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
1407 <translation type="unfinished"></translation> 1407 <translation type="unfinished"></translation>
1408 </message> 1408 </message>
1409</context> 1409</context>
1410<context> 1410<context>
1411 <name>RbUtilQtFrm</name> 1411 <name>RbUtilQtFrm</name>
1412 <message> 1412 <message>
1413 <location filename="rbutilqtfrm.ui" line="13"/> 1413 <location filename="rbutilqtfrm.ui" line="13"/>
1414 <source>Rockbox Utility</source> 1414 <source>Rockbox Utility</source>
1415 <translation>Rockbox 安装程序</translation> 1415 <translation>Rockbox 安装程序</translation>
1416 </message> 1416 </message>
1417 <message> 1417 <message>
1418 <location filename="rbutilqtfrm.ui" line="78"/> 1418 <location filename="rbutilqtfrm.ui" line="78"/>
1419 <source>Device</source> 1419 <source>Device</source>
1420 <translation>播放器</translation> 1420 <translation>播放器</translation>
1421 </message> 1421 </message>
1422 <message> 1422 <message>
1423 <location filename="rbutilqtfrm.ui" line="90"/> 1423 <location filename="rbutilqtfrm.ui" line="90"/>
1424 <source>Selected device:</source> 1424 <source>Selected device:</source>
1425 <translation>选择的播放器:</translation> 1425 <translation>选择的播放器:</translation>
1426 </message> 1426 </message>
1427 <message> 1427 <message>
1428 <location filename="rbutilqtfrm.ui" line="97"/> 1428 <location filename="rbutilqtfrm.ui" line="97"/>
1429 <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; 1429 <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;
1430p, li { white-space: pre-wrap; } 1430p, li { white-space: pre-wrap; }
1431&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; 1431&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;
1432&lt;p 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> 1432&lt;p 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>
1433 <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; 1433 <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;
1434p, li { white-space: pre-wrap; } 1434p, li { white-space: pre-wrap; }
1435&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; 1435&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;
1436&lt;p 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> 1436&lt;p 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>
1437 </message> 1437 </message>
1438 <message> 1438 <message>
1439 <location filename="rbutilqtfrm.ui" line="120"/> 1439 <location filename="rbutilqtfrm.ui" line="120"/>
1440 <source>&amp;Change</source> 1440 <source>&amp;Change</source>
1441 <translation>&amp;更改</translation> 1441 <translation>&amp;更改</translation>
1442 </message> 1442 </message>
1443 <message> 1443 <message>
1444 <location filename="rbutilqtfrm.ui" line="137"/> 1444 <location filename="rbutilqtfrm.ui" line="137"/>
1445 <source>&amp;Quick Start</source> 1445 <source>&amp;Quick Start</source>
1446 <translation>&amp;快速开始</translation> 1446 <translation>&amp;快速开始</translation>
1447 </message> 1447 </message>
1448 <message> 1448 <message>
1449 <location filename="rbutilqtfrm.ui" line="140"/> 1449 <location filename="rbutilqtfrm.ui" line="140"/>
1450 <source>Welcome</source> 1450 <source>Welcome</source>
1451 <translation>欢迎</translation> 1451 <translation>欢迎</translation>
1452 </message> 1452 </message>
1453 <message> 1453 <message>
1454 <location filename="" line="6357100"/> 1454 <location filename="" line="6357100"/>
1455 <source>...</source> 1455 <source>...</source>
1456 <translation type="obsolete">...</translation> 1456 <translation type="obsolete">...</translation>
1457 </message> 1457 </message>
1458 <message> 1458 <message>
1459 <location filename="rbutilqtfrm.ui" line="162"/> 1459 <location filename="rbutilqtfrm.ui" line="162"/>
1460 <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; 1460 <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;
1461p, li { white-space: pre-wrap; } 1461p, li { white-space: pre-wrap; }
1462&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; 1462&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;
1463&lt;p 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; 1463&lt;p 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;
1464&lt;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> 1464&lt;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>
1465 <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; 1465 <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;
1466p, li { white-space: pre-wrap; } 1466p, li { white-space: pre-wrap; }
1467&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; 1467&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;
1468&lt;p 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; 1468&lt;p 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;
1469&lt;p 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> 1469&lt;p 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>
1470 </message> 1470 </message>
1471 <message> 1471 <message>
1472 <location filename="rbutilqtfrm.ui" line="192"/> 1472 <location filename="rbutilqtfrm.ui" line="192"/>
1473 <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; 1473 <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;
1474p, li { white-space: pre-wrap; } 1474p, li { white-space: pre-wrap; }
1475&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; 1475&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;
1476&lt;p 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; 1476&lt;p 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;
1477&lt;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> 1477&lt;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>
1478 <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; 1478 <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;
1479p, li { white-space: pre-wrap; } 1479p, li { white-space: pre-wrap; }
1480&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; 1480&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;
1481&lt;p 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; 1481&lt;p 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;
1482&lt;p 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> 1482&lt;p 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>
1483 </message> 1483 </message>
1484 <message> 1484 <message>
1485 <location filename="rbutilqtfrm.ui" line="236"/> 1485 <location filename="rbutilqtfrm.ui" line="236"/>
1486 <source>&amp;Installation</source> 1486 <source>&amp;Installation</source>
1487 <translation>&amp;安装</translation> 1487 <translation>&amp;安装</translation>
1488 </message> 1488 </message>
1489 <message> 1489 <message>
1490 <location filename="rbutilqtfrm.ui" line="239"/> 1490 <location filename="rbutilqtfrm.ui" line="239"/>
1491 <source>Basic Rockbox installation</source> 1491 <source>Basic Rockbox installation</source>
1492 <translation>基本Rockbox安装</translation> 1492 <translation>基本Rockbox安装</translation>
1493 </message> 1493 </message>
1494 <message> 1494 <message>
1495 <location filename="rbutilqtfrm.ui" line="969"/> 1495 <location filename="rbutilqtfrm.ui" line="969"/>
1496 <source>Install Bootloader</source> 1496 <source>Install Bootloader</source>
1497 <translation>安装启动程序</translation> 1497 <translation>安装启动程序</translation>
1498 </message> 1498 </message>
1499 <message> 1499 <message>
1500 <location filename="rbutilqtfrm.ui" line="261"/> 1500 <location filename="rbutilqtfrm.ui" line="261"/>
1501 <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; 1501 <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;
1502p, li { white-space: pre-wrap; } 1502p, li { white-space: pre-wrap; }
1503&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; 1503&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;
1504&lt;p 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; 1504&lt;p 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;
1505&lt;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> 1505&lt;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>
1506 <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; 1506 <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;
1507p, li { white-space: pre-wrap; } 1507p, li { white-space: pre-wrap; }
1508&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; 1508&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;
1509&lt;p 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; 1509&lt;p 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;
1510&lt;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> 1510&lt;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>
1511 </message> 1511 </message>
1512 <message> 1512 <message>
1513 <location filename="rbutilqtfrm.ui" line="977"/> 1513 <location filename="rbutilqtfrm.ui" line="977"/>
1514 <source>Install Rockbox</source> 1514 <source>Install Rockbox</source>
1515 <translation>安装 Rockbox</translation> 1515 <translation>安装 Rockbox</translation>
1516 </message> 1516 </message>
1517 <message> 1517 <message>
1518 <location filename="rbutilqtfrm.ui" line="294"/> 1518 <location filename="rbutilqtfrm.ui" line="294"/>
1519 <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; 1519 <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;
1520p, li { white-space: pre-wrap; } 1520p, li { white-space: pre-wrap; }
1521&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; 1521&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;
1522&lt;p 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> 1522&lt;p 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>
1523 <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; 1523 <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;
1524p, li { white-space: pre-wrap; } 1524p, li { white-space: pre-wrap; }
1525&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; 1525&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;
1526&lt;p 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> 1526&lt;p 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>
1527 </message> 1527 </message>
1528 <message> 1528 <message>
1529 <location filename="rbutilqtfrm.ui" line="340"/> 1529 <location filename="rbutilqtfrm.ui" line="340"/>
1530 <source>&amp;Extras</source> 1530 <source>&amp;Extras</source>
1531 <translation>&amp;附加功能</translation> 1531 <translation>&amp;附加功能</translation>
1532 </message> 1532 </message>
1533 <message> 1533 <message>
1534 <location filename="rbutilqtfrm.ui" line="343"/> 1534 <location filename="rbutilqtfrm.ui" line="343"/>
1535 <source>Install extras for Rockbox</source> 1535 <source>Install extras for Rockbox</source>
1536 <translation>安装附加功能</translation> 1536 <translation>安装附加功能</translation>
1537 </message> 1537 </message>
1538 <message> 1538 <message>
1539 <location filename="rbutilqtfrm.ui" line="349"/> 1539 <location filename="rbutilqtfrm.ui" line="349"/>
1540 <source>Install Fonts package</source> 1540 <source>Install Fonts package</source>
1541 <translation>安装字体包裹</translation> 1541 <translation>安装字体包裹</translation>
1542 </message> 1542 </message>
1543 <message> 1543 <message>
1544 <location filename="rbutilqtfrm.ui" line="365"/> 1544 <location filename="rbutilqtfrm.ui" line="365"/>
1545 <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; 1545 <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;
1546p, li { white-space: pre-wrap; } 1546p, li { white-space: pre-wrap; }
1547&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; 1547&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;
1548&lt;p 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; 1548&lt;p 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;
1549&lt;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> 1549&lt;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>
1550 <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; 1550 <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;
1551p, li { white-space: pre-wrap; } 1551p, li { white-space: pre-wrap; }
1552&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; 1552&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;
1553&lt;p 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; 1553&lt;p 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;
1554&lt;p 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> 1554&lt;p 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>
1555 </message> 1555 </message>
1556 <message> 1556 <message>
1557 <location filename="rbutilqtfrm.ui" line="379"/> 1557 <location filename="rbutilqtfrm.ui" line="379"/>
1558 <source>Install themes</source> 1558 <source>Install themes</source>
1559 <translation>安装主题</translation> 1559 <translation>安装主题</translation>
1560 </message> 1560 </message>
1561 <message> 1561 <message>
1562 <location filename="rbutilqtfrm.ui" line="395"/> 1562 <location filename="rbutilqtfrm.ui" line="395"/>
1563 <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; 1563 <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;
1564p, li { white-space: pre-wrap; } 1564p, li { white-space: pre-wrap; }
1565&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; 1565&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;
1566&lt;p 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; 1566&lt;p 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;
1567&lt;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> 1567&lt;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>
1568 <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; 1568 <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;
1569p, li { white-space: pre-wrap; } 1569p, li { white-space: pre-wrap; }
1570&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; 1570&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;
1571&lt;p 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; 1571&lt;p 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;
1572&lt;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> 1572&lt;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>
1573 </message> 1573 </message>
1574 <message> 1574 <message>
1575 <location filename="rbutilqtfrm.ui" line="409"/> 1575 <location filename="rbutilqtfrm.ui" line="409"/>
1576 <source>Install game files</source> 1576 <source>Install game files</source>
1577 <translation>安装游戏文件</translation> 1577 <translation>安装游戏文件</translation>
1578 </message> 1578 </message>
1579 <message> 1579 <message>
1580 <location filename="rbutilqtfrm.ui" line="425"/> 1580 <location filename="rbutilqtfrm.ui" line="425"/>
1581 <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; 1581 <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;
1582p, li { white-space: pre-wrap; } 1582p, li { white-space: pre-wrap; }
1583&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; 1583&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;
1584&lt;p 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; 1584&lt;p 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;
1585&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> 1585&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>
1586 <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; 1586 <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;
1587p, li { white-space: pre-wrap; } 1587p, li { white-space: pre-wrap; }
1588&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; 1588&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;
1589&lt;p 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; 1589&lt;p 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;
1590&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> 1590&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>
1591 </message> 1591 </message>
1592 <message> 1592 <message>
1593 <location filename="rbutilqtfrm.ui" line="466"/> 1593 <location filename="rbutilqtfrm.ui" line="466"/>
1594 <source>&amp;Accessibility</source> 1594 <source>&amp;Accessibility</source>
1595 <translation>&amp;辅助</translation> 1595 <translation>&amp;辅助</translation>
1596 </message> 1596 </message>
1597 <message> 1597 <message>
1598 <location filename="rbutilqtfrm.ui" line="469"/> 1598 <location filename="rbutilqtfrm.ui" line="469"/>
1599 <source>Install accessibility add-ons</source> 1599 <source>Install accessibility add-ons</source>
1600 <translation>安装辅助功能</translation> 1600 <translation>安装辅助功能</translation>
1601 </message> 1601 </message>
1602 <message> 1602 <message>
1603 <location filename="rbutilqtfrm.ui" line="475"/> 1603 <location filename="rbutilqtfrm.ui" line="475"/>
1604 <source>Install Voice files</source> 1604 <source>Install Voice files</source>
1605 <translation>安装语音文件</translation> 1605 <translation>安装语音文件</translation>
1606 </message> 1606 </message>
1607 <message> 1607 <message>
1608 <location filename="rbutilqtfrm.ui" line="491"/> 1608 <location filename="rbutilqtfrm.ui" line="491"/>
1609 <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; 1609 <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;
1610p, li { white-space: pre-wrap; } 1610p, li { white-space: pre-wrap; }
1611&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; 1611&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;
1612&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; 1612&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;
1613&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> 1613&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>
1614 <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; 1614 <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;
1615p, li { white-space: pre-wrap; } 1615p, li { white-space: pre-wrap; }
1616&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; 1616&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;
1617&lt;p 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; 1617&lt;p 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;
1618&lt;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> 1618&lt;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>
1619 </message> 1619 </message>
1620 <message> 1620 <message>
1621 <location filename="rbutilqtfrm.ui" line="505"/> 1621 <location filename="rbutilqtfrm.ui" line="505"/>
1622 <source>Install Talk files</source> 1622 <source>Install Talk files</source>
1623 <translation>安装说话文件</translation> 1623 <translation>安装说话文件</translation>
1624 </message> 1624 </message>
1625 <message> 1625 <message>
1626 <location filename="rbutilqtfrm.ui" line="521"/> 1626 <location filename="rbutilqtfrm.ui" line="521"/>
1627 <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; 1627 <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;
1628p, li { white-space: pre-wrap; } 1628p, li { white-space: pre-wrap; }
1629&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; 1629&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;
1630&lt;p 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; 1630&lt;p 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;
1631&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> 1631&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>
1632 <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; 1632 <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;
1633p, li { white-space: pre-wrap; } 1633p, li { white-space: pre-wrap; }
1634&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; 1634&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;
1635&lt;p 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; 1635&lt;p 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;
1636&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> 1636&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>
1637 </message> 1637 </message>
1638 <message> 1638 <message>
1639 <location filename="rbutilqtfrm.ui" line="587"/> 1639 <location filename="rbutilqtfrm.ui" line="587"/>
1640 <source>&amp;Uninstallation</source> 1640 <source>&amp;Uninstallation</source>
1641 <translation>&amp;卸载</translation> 1641 <translation>&amp;卸载</translation>
1642 </message> 1642 </message>
1643 <message> 1643 <message>
1644 <location filename="rbutilqtfrm.ui" line="1033"/> 1644 <location filename="rbutilqtfrm.ui" line="1033"/>
1645 <source>Uninstall Rockbox</source> 1645 <source>Uninstall Rockbox</source>
1646 <translation>卸载 Rockbox</translation> 1646 <translation>卸载 Rockbox</translation>
1647 </message> 1647 </message>
1648 <message> 1648 <message>
1649 <location filename="rbutilqtfrm.ui" line="596"/> 1649 <location filename="rbutilqtfrm.ui" line="596"/>
1650 <source>Uninstall Bootloader</source> 1650 <source>Uninstall Bootloader</source>
1651 <translation>卸载启动程序</translation> 1651 <translation>卸载启动程序</translation>
1652 </message> 1652 </message>
1653 <message> 1653 <message>
1654 <location filename="rbutilqtfrm.ui" line="612"/> 1654 <location filename="rbutilqtfrm.ui" line="612"/>
1655 <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; 1655 <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;
1656p, li { white-space: pre-wrap; } 1656p, li { white-space: pre-wrap; }
1657&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; 1657&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;
1658&lt;p 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; 1658&lt;p 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;
1659&lt;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> 1659&lt;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>
1660 <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; 1660 <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;
1661p, li { white-space: pre-wrap; } 1661p, li { white-space: pre-wrap; }
1662&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; 1662&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;
1663&lt;p 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; 1663&lt;p 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;
1664&lt;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> 1664&lt;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>
1665 </message> 1665 </message>
1666 <message> 1666 <message>
1667 <location filename="rbutilqtfrm.ui" line="642"/> 1667 <location filename="rbutilqtfrm.ui" line="642"/>
1668 <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; 1668 <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;
1669p, li { white-space: pre-wrap; } 1669p, li { white-space: pre-wrap; }
1670&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; 1670&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;
1671&lt;p 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; 1671&lt;p 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;
1672&lt;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> 1672&lt;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>
1673 <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; 1673 <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;
1674p, li { white-space: pre-wrap; } 1674p, li { white-space: pre-wrap; }
1675&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; 1675&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;
1676&lt;p 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; 1676&lt;p 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;
1677&lt;p 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> 1677&lt;p 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>
1678 </message> 1678 </message>
1679 <message> 1679 <message>
1680 <location filename="rbutilqtfrm.ui" line="689"/> 1680 <location filename="rbutilqtfrm.ui" line="689"/>
1681 <source>&amp;Manual</source> 1681 <source>&amp;Manual</source>
1682 <translation>&amp;用户手册</translation> 1682 <translation>&amp;用户手册</translation>
1683 </message> 1683 </message>
1684 <message> 1684 <message>
1685 <location filename="rbutilqtfrm.ui" line="692"/> 1685 <location filename="rbutilqtfrm.ui" line="692"/>
1686 <source>View and download the manual</source> 1686 <source>View and download the manual</source>
1687 <translation>查看和下载用户手册</translation> 1687 <translation>查看和下载用户手册</translation>
1688 </message> 1688 </message>
1689 <message> 1689 <message>
1690 <location filename="rbutilqtfrm.ui" line="698"/> 1690 <location filename="rbutilqtfrm.ui" line="698"/>
1691 <source>Read the manual</source> 1691 <source>Read the manual</source>
1692 <translation>查看用户手册</translation> 1692 <translation>查看用户手册</translation>
1693 </message> 1693 </message>
1694 <message> 1694 <message>
1695 <location filename="rbutilqtfrm.ui" line="704"/> 1695 <location filename="rbutilqtfrm.ui" line="704"/>
1696 <source>PDF manual</source> 1696 <source>PDF manual</source>
1697 <translation>PDF 用户手册</translation> 1697 <translation>PDF 用户手册</translation>
1698 </message> 1698 </message>
1699 <message> 1699 <message>
1700 <location filename="rbutilqtfrm.ui" line="717"/> 1700 <location filename="rbutilqtfrm.ui" line="717"/>
1701 <source>HTML manual</source> 1701 <source>HTML manual</source>
1702 <translation>HTML 用户手册</translation> 1702 <translation>HTML 用户手册</translation>
1703 </message> 1703 </message>
1704 <message> 1704 <message>
1705 <location filename="rbutilqtfrm.ui" line="733"/> 1705 <location filename="rbutilqtfrm.ui" line="733"/>
1706 <source>Download the manual</source> 1706 <source>Download the manual</source>
1707 <translation>下载用户手册</translation> 1707 <translation>下载用户手册</translation>
1708 </message> 1708 </message>
1709 <message> 1709 <message>
1710 <location filename="rbutilqtfrm.ui" line="741"/> 1710 <location filename="rbutilqtfrm.ui" line="741"/>
1711 <source>&amp;PDF version</source> 1711 <source>&amp;PDF version</source>
1712 <translation>PDF 版本</translation> 1712 <translation>PDF 版本</translation>
1713 </message> 1713 </message>
1714 <message> 1714 <message>
1715 <location filename="rbutilqtfrm.ui" line="748"/> 1715 <location filename="rbutilqtfrm.ui" line="748"/>
1716 <source>&amp;HTML version (zip file)</source> 1716 <source>&amp;HTML version (zip file)</source>
1717 <translation>HTML 版本 (zip)</translation> 1717 <translation>HTML 版本 (zip)</translation>
1718 </message> 1718 </message>
1719 <message> 1719 <message>
1720 <location filename="rbutilqtfrm.ui" line="770"/> 1720 <location filename="rbutilqtfrm.ui" line="770"/>
1721 <source>Down&amp;load</source> 1721 <source>Down&amp;load</source>
1722 <translation>下载</translation> 1722 <translation>下载</translation>
1723 </message> 1723 </message>
1724 <message> 1724 <message>
1725 <location filename="rbutilqtfrm.ui" line="794"/> 1725 <location filename="rbutilqtfrm.ui" line="794"/>
1726 <source>Inf&amp;o</source> 1726 <source>Inf&amp;o</source>
1727 <translation>&amp;信息</translation> 1727 <translation>&amp;信息</translation>
1728 </message> 1728 </message>
1729 <message> 1729 <message>
1730 <location filename="" line="6357100"/> 1730 <location filename="" line="6357100"/>
1731 <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; 1731 <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;
1732p, li { white-space: pre-wrap; } 1732p, li { white-space: pre-wrap; }
1733&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; 1733&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;
1734&lt;p 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; 1734&lt;p 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;
1735&lt;p 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> 1735&lt;p 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>
1736 <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; 1736 <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;
1737p, li { white-space: pre-wrap; } 1737p, li { white-space: pre-wrap; }
1738&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; 1738&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;
1739&lt;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; 1739&lt;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;
1740&lt;p 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> 1740&lt;p 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>
1741 </message> 1741 </message>
1742 <message> 1742 <message>
1743 <location filename="rbutilqtfrm.ui" line="815"/> 1743 <location filename="rbutilqtfrm.ui" line="815"/>
1744 <source>1</source> 1744 <source>1</source>
1745 <translation>1</translation> 1745 <translation>1</translation>
1746 </message> 1746 </message>
1747 <message> 1747 <message>
1748 <location filename="rbutilqtfrm.ui" line="837"/> 1748 <location filename="rbutilqtfrm.ui" line="837"/>
1749 <source>&amp;File</source> 1749 <source>&amp;File</source>
1750 <translation>&amp;文件</translation> 1750 <translation>&amp;文件</translation>
1751 </message> 1751 </message>
1752 <message> 1752 <message>
1753 <location filename="rbutilqtfrm.ui" line="930"/> 1753 <location filename="rbutilqtfrm.ui" line="930"/>
1754 <source>&amp;About</source> 1754 <source>&amp;About</source>
1755 <translation>&amp;关于</translation> 1755 <translation>&amp;关于</translation>
1756 </message> 1756 </message>
1757 <message> 1757 <message>
1758 <location filename="rbutilqtfrm.ui" line="907"/> 1758 <location filename="rbutilqtfrm.ui" line="907"/>
1759 <source>Empty local download cache</source> 1759 <source>Empty local download cache</source>
1760 <translation>清除本机下载缓冲</translation> 1760 <translation>清除本机下载缓冲</translation>
1761 </message> 1761 </message>
1762 <message> 1762 <message>
1763 <location filename="rbutilqtfrm.ui" line="912"/> 1763 <location filename="rbutilqtfrm.ui" line="912"/>
1764 <source>Install Rockbox Utility on player</source> 1764 <source>Install Rockbox Utility on player</source>
1765 <translation>安装Rockbox安装程序到你的播放器</translation> 1765 <translation>安装Rockbox安装程序到你的播放器</translation>
1766 </message> 1766 </message>
1767 <message> 1767 <message>
1768 <location filename="rbutilqtfrm.ui" line="917"/> 1768 <location filename="rbutilqtfrm.ui" line="917"/>
1769 <source>&amp;Configure</source> 1769 <source>&amp;Configure</source>
1770 <translation>&amp;设置</translation> 1770 <translation>&amp;设置</translation>
1771 </message> 1771 </message>
1772 <message> 1772 <message>
1773 <location filename="rbutilqtfrm.ui" line="922"/> 1773 <location filename="rbutilqtfrm.ui" line="922"/>
1774 <source>E&amp;xit</source> 1774 <source>E&amp;xit</source>
1775 <translation>&amp;退出</translation> 1775 <translation>&amp;退出</translation>
1776 </message> 1776 </message>
1777 <message> 1777 <message>
1778 <location filename="rbutilqtfrm.ui" line="925"/> 1778 <location filename="rbutilqtfrm.ui" line="925"/>
1779 <source>Ctrl+Q</source> 1779 <source>Ctrl+Q</source>
1780 <translation>Ctrl+Q</translation> 1780 <translation>Ctrl+Q</translation>
1781 </message> 1781 </message>
1782 <message> 1782 <message>
1783 <location filename="rbutilqtfrm.ui" line="935"/> 1783 <location filename="rbutilqtfrm.ui" line="935"/>
1784 <source>About &amp;Qt</source> 1784 <source>About &amp;Qt</source>
1785 <translation>关于&amp;Qt</translation> 1785 <translation>关于&amp;Qt</translation>
1786 </message> 1786 </message>
1787 <message> 1787 <message>
1788 <location filename="rbutilqtfrm.ui" line="940"/> 1788 <location filename="rbutilqtfrm.ui" line="940"/>
1789 <source>&amp;Help</source> 1789 <source>&amp;Help</source>
1790 <translation>&amp;帮助</translation> 1790 <translation>&amp;帮助</translation>
1791 </message> 1791 </message>
1792 <message> 1792 <message>
1793 <location filename="rbutilqtfrm.ui" line="953"/> 1793 <location filename="rbutilqtfrm.ui" line="953"/>
1794 <source>Complete Installation</source> 1794 <source>Complete Installation</source>
1795 <translation type="unfinished"></translation> 1795 <translation type="unfinished"></translation>
1796 </message> 1796 </message>
1797 <message> 1797 <message>
1798 <location filename="rbutilqtfrm.ui" line="961"/> 1798 <location filename="rbutilqtfrm.ui" line="961"/>
1799 <source>Small Installation</source> 1799 <source>Small Installation</source>
1800 <translation type="unfinished"></translation> 1800 <translation type="unfinished"></translation>
1801 </message> 1801 </message>
1802 <message> 1802 <message>
1803 <location filename="rbutilqtfrm.ui" line="800"/> 1803 <location filename="rbutilqtfrm.ui" line="800"/>
1804 <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; 1804 <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;
1805p, li { white-space: pre-wrap; } 1805p, li { white-space: pre-wrap; }
1806&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; 1806&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;
1807&lt;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; 1807&lt;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;
1808&lt;p 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> 1808&lt;p 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>
1809 <translation type="unfinished"></translation> 1809 <translation type="unfinished"></translation>
1810 </message> 1810 </message>
1811 <message> 1811 <message>
1812 <location filename="rbutilqtfrm.ui" line="855"/> 1812 <location filename="rbutilqtfrm.ui" line="855"/>
1813 <source>Action&amp;s</source> 1813 <source>Action&amp;s</source>
1814 <translation type="unfinished"></translation> 1814 <translation type="unfinished"></translation>
1815 </message> 1815 </message>
1816 <message> 1816 <message>
1817 <location filename="rbutilqtfrm.ui" line="859"/> 1817 <location filename="rbutilqtfrm.ui" line="859"/>
1818 <source>Installation</source> 1818 <source>Installation</source>
1819 <translation type="unfinished"></translation> 1819 <translation type="unfinished"></translation>
1820 </message> 1820 </message>
1821 <message> 1821 <message>
1822 <location filename="rbutilqtfrm.ui" line="866"/> 1822 <location filename="rbutilqtfrm.ui" line="866"/>
1823 <source>Quick Start</source> 1823 <source>Quick Start</source>
1824 <translation type="unfinished"></translation> 1824 <translation type="unfinished"></translation>
1825 </message> 1825 </message>
1826 <message> 1826 <message>
1827 <location filename="rbutilqtfrm.ui" line="873"/> 1827 <location filename="rbutilqtfrm.ui" line="873"/>
1828 <source>Extras</source> 1828 <source>Extras</source>
1829 <translation type="unfinished"></translation> 1829 <translation type="unfinished"></translation>
1830 </message> 1830 </message>
1831 <message> 1831 <message>
1832 <location filename="rbutilqtfrm.ui" line="881"/> 1832 <location filename="rbutilqtfrm.ui" line="881"/>
1833 <source>Accessibility</source> 1833 <source>Accessibility</source>
1834 <translation type="unfinished"></translation> 1834 <translation type="unfinished"></translation>
1835 </message> 1835 </message>
1836 <message> 1836 <message>
1837 <location filename="rbutilqtfrm.ui" line="889"/> 1837 <location filename="rbutilqtfrm.ui" line="889"/>
1838 <source>Uninstallation</source> 1838 <source>Uninstallation</source>
1839 <translation type="unfinished"></translation> 1839 <translation type="unfinished"></translation>
1840 </message> 1840 </message>
1841 <message> 1841 <message>
1842 <location filename="rbutilqtfrm.ui" line="945"/> 1842 <location filename="rbutilqtfrm.ui" line="945"/>
1843 <source>Info</source> 1843 <source>Info</source>
1844 <translation type="unfinished"></translation> 1844 <translation type="unfinished"></translation>
1845 </message> 1845 </message>
1846 <message> 1846 <message>
1847 <location filename="rbutilqtfrm.ui" line="985"/> 1847 <location filename="rbutilqtfrm.ui" line="985"/>
1848 <source>Fonts Package</source> 1848 <source>Fonts Package</source>
1849 <translation type="unfinished"></translation> 1849 <translation type="unfinished"></translation>
1850 </message> 1850 </message>
1851 <message> 1851 <message>
1852 <location filename="rbutilqtfrm.ui" line="993"/> 1852 <location filename="rbutilqtfrm.ui" line="993"/>
1853 <source>Install Themes</source> 1853 <source>Install Themes</source>
1854 <translation type="unfinished"></translation> 1854 <translation type="unfinished"></translation>
1855 </message> 1855 </message>
1856 <message> 1856 <message>
1857 <location filename="rbutilqtfrm.ui" line="1001"/> 1857 <location filename="rbutilqtfrm.ui" line="1001"/>
1858 <source>Install Game Files</source> 1858 <source>Install Game Files</source>
1859 <translation type="unfinished"></translation> 1859 <translation type="unfinished"></translation>
1860 </message> 1860 </message>
1861 <message> 1861 <message>
1862 <location filename="rbutilqtfrm.ui" line="1009"/> 1862 <location filename="rbutilqtfrm.ui" line="1009"/>
1863 <source>Install Voice File</source> 1863 <source>Install Voice File</source>
1864 <translation type="unfinished"></translation> 1864 <translation type="unfinished"></translation>
1865 </message> 1865 </message>
1866 <message> 1866 <message>
1867 <location filename="rbutilqtfrm.ui" line="1017"/> 1867 <location filename="rbutilqtfrm.ui" line="1017"/>
1868 <source>Create Talk Files</source> 1868 <source>Create Talk Files</source>
1869 <translation type="unfinished"></translation> 1869 <translation type="unfinished"></translation>
1870 </message> 1870 </message>
1871 <message> 1871 <message>
1872 <location filename="rbutilqtfrm.ui" line="1025"/> 1872 <location filename="rbutilqtfrm.ui" line="1025"/>
1873 <source>Remove bootloader</source> 1873 <source>Remove bootloader</source>
1874 <translation type="unfinished"></translation> 1874 <translation type="unfinished"></translation>
1875 </message> 1875 </message>
1876 <message> 1876 <message>
1877 <location filename="rbutilqtfrm.ui" line="1038"/> 1877 <location filename="rbutilqtfrm.ui" line="1038"/>
1878 <source>Read PDF manual</source> 1878 <source>Read PDF manual</source>
1879 <translation type="unfinished"></translation> 1879 <translation type="unfinished"></translation>
1880 </message> 1880 </message>
1881 <message> 1881 <message>
1882 <location filename="rbutilqtfrm.ui" line="1043"/> 1882 <location filename="rbutilqtfrm.ui" line="1043"/>
1883 <source>Read HTML manual</source> 1883 <source>Read HTML manual</source>
1884 <translation type="unfinished"></translation> 1884 <translation type="unfinished"></translation>
1885 </message> 1885 </message>
1886 <message> 1886 <message>
1887 <location filename="rbutilqtfrm.ui" line="1048"/> 1887 <location filename="rbutilqtfrm.ui" line="1048"/>
1888 <source>Download PDF manual</source> 1888 <source>Download PDF manual</source>
1889 <translation type="unfinished"></translation> 1889 <translation type="unfinished"></translation>
1890 </message> 1890 </message>
1891 <message> 1891 <message>
1892 <location filename="rbutilqtfrm.ui" line="1053"/> 1892 <location filename="rbutilqtfrm.ui" line="1053"/>
1893 <source>Download HTML manual (zip)</source> 1893 <source>Download HTML manual (zip)</source>
1894 <translation type="unfinished"></translation> 1894 <translation type="unfinished"></translation>
1895 </message> 1895 </message>
1896 <message> 1896 <message>
1897 <location filename="rbutilqtfrm.ui" line="558"/> 1897 <location filename="rbutilqtfrm.ui" line="558"/>
1898 <source>Create Voice files</source> 1898 <source>Create Voice files</source>
1899 <translation type="unfinished"></translation> 1899 <translation type="unfinished"></translation>
1900 </message> 1900 </message>
1901 <message> 1901 <message>
1902 <location filename="rbutilqtfrm.ui" line="574"/> 1902 <location filename="rbutilqtfrm.ui" line="574"/>
1903 <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; 1903 <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;
1904p, li { white-space: pre-wrap; } 1904p, li { white-space: pre-wrap; }
1905&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; 1905&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;
1906&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; 1906&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;
1907&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; 1907&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;
1908&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> 1908&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>
1909 <translation type="unfinished"></translation> 1909 <translation type="unfinished"></translation>
1910 </message> 1910 </message>
1911 <message> 1911 <message>
1912 <location filename="rbutilqtfrm.ui" line="1061"/> 1912 <location filename="rbutilqtfrm.ui" line="1061"/>
1913 <source>Create Voice File</source> 1913 <source>Create Voice File</source>
1914 <translation type="unfinished"></translation> 1914 <translation type="unfinished"></translation>
1915 </message> 1915 </message>
1916 <message> 1916 <message>
1917 <location filename="rbutilqtfrm.ui" line="1064"/> 1917 <location filename="rbutilqtfrm.ui" line="1064"/>
1918 <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; 1918 <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;
1919e File</source> 1919e File</source>
1920 <translation type="unfinished"></translation> 1920 <translation type="unfinished"></translation>
1921 </message> 1921 </message>
1922</context> 1922</context>
1923<context> 1923<context>
1924 <name>SapiCfgFrm</name> 1924 <name>SapiCfgFrm</name>
1925 <message> 1925 <message>
1926 <location filename="sapicfgfrm.ui" line="13"/> 1926 <location filename="sapicfgfrm.ui" line="13"/>
1927 <source>Configuration</source> 1927 <source>Configuration</source>
1928 <translation type="unfinished">设置</translation> 1928 <translation type="unfinished">设置</translation>
1929 </message> 1929 </message>
1930 <message> 1930 <message>
1931 <location filename="sapicfgfrm.ui" line="19"/> 1931 <location filename="sapicfgfrm.ui" line="19"/>
1932 <source>Configure TTS Engine</source> 1932 <source>Configure TTS Engine</source>
1933 <translation type="unfinished"></translation> 1933 <translation type="unfinished"></translation>
1934 </message> 1934 </message>
1935 <message> 1935 <message>
1936 <location filename="sapicfgfrm.ui" line="62"/> 1936 <location filename="sapicfgfrm.ui" line="62"/>
1937 <source>TTS options</source> 1937 <source>TTS options</source>
1938 <translation type="unfinished"></translation> 1938 <translation type="unfinished"></translation>
1939 </message> 1939 </message>
1940 <message> 1940 <message>
1941 <location filename="sapicfgfrm.ui" line="25"/> 1941 <location filename="sapicfgfrm.ui" line="25"/>
1942 <source>Language</source> 1942 <source>Language</source>
1943 <translation type="unfinished"></translation> 1943 <translation type="unfinished"></translation>
1944 </message> 1944 </message>
1945 <message> 1945 <message>
1946 <location filename="sapicfgfrm.ui" line="87"/> 1946 <location filename="sapicfgfrm.ui" line="87"/>
1947 <source>Reset</source> 1947 <source>Reset</source>
1948 <translation type="unfinished"></translation> 1948 <translation type="unfinished"></translation>
1949 </message> 1949 </message>
1950 <message> 1950 <message>
1951 <location filename="sapicfgfrm.ui" line="107"/> 1951 <location filename="sapicfgfrm.ui" line="107"/>
1952 <source>&amp;Ok</source> 1952 <source>&amp;Ok</source>
1953 <translation type="unfinished">&amp;OK</translation> 1953 <translation type="unfinished">&amp;OK</translation>
1954 </message> 1954 </message>
1955 <message> 1955 <message>
1956 <location filename="sapicfgfrm.ui" line="117"/> 1956 <location filename="sapicfgfrm.ui" line="117"/>
1957 <source>&amp;Cancel</source> 1957 <source>&amp;Cancel</source>
1958 <translation type="unfinished">&amp;取消</translation> 1958 <translation type="unfinished">&amp;取消</translation>
1959 </message> 1959 </message>
1960 <message> 1960 <message>
1961 <location filename="sapicfgfrm.ui" line="35"/> 1961 <location filename="sapicfgfrm.ui" line="35"/>
1962 <source>Voice</source> 1962 <source>Voice</source>
1963 <translation type="unfinished"></translation> 1963 <translation type="unfinished"></translation>
1964 </message> 1964 </message>
1965 <message> 1965 <message>
1966 <location filename="sapicfgfrm.ui" line="45"/> 1966 <location filename="sapicfgfrm.ui" line="45"/>
1967 <source>Speed</source> 1967 <source>Speed</source>
1968 <translation type="unfinished"></translation> 1968 <translation type="unfinished"></translation>
1969 </message> 1969 </message>
1970</context> 1970</context>
1971<context> 1971<context>
1972 <name>TTSExes</name> 1972 <name>TTSExes</name>
1973 <message> 1973 <message>
1974 <location filename="tts.cpp" line="123"/> 1974 <location filename="tts.cpp" line="123"/>
1975 <source>TTS executable not found</source> 1975 <source>TTS executable not found</source>
1976 <translation type="unfinished"></translation> 1976 <translation type="unfinished"></translation>
1977 </message> 1977 </message>
1978</context> 1978</context>
1979<context> 1979<context>
1980 <name>TTSExesCfgFrm</name> 1980 <name>TTSExesCfgFrm</name>
1981 <message> 1981 <message>
1982 <location filename="ttsexescfgfrm.ui" line="13"/> 1982 <location filename="ttsexescfgfrm.ui" line="13"/>
1983 <source>Configuration</source> 1983 <source>Configuration</source>
1984 <translation type="unfinished">设置</translation> 1984 <translation type="unfinished">设置</translation>
1985 </message> 1985 </message>
1986 <message> 1986 <message>
1987 <location filename="ttsexescfgfrm.ui" line="19"/> 1987 <location filename="ttsexescfgfrm.ui" line="19"/>
1988 <source>Configure TTS Engine</source> 1988 <source>Configure TTS Engine</source>
1989 <translation type="unfinished"></translation> 1989 <translation type="unfinished"></translation>
1990 </message> 1990 </message>
1991 <message> 1991 <message>
1992 <location filename="ttsexescfgfrm.ui" line="31"/> 1992 <location filename="ttsexescfgfrm.ui" line="31"/>
1993 <source>Path to TTS Engine</source> 1993 <source>Path to TTS Engine</source>
1994 <translation type="unfinished"></translation> 1994 <translation type="unfinished"></translation>
1995 </message> 1995 </message>
1996 <message> 1996 <message>
1997 <location filename="ttsexescfgfrm.ui" line="43"/> 1997 <location filename="ttsexescfgfrm.ui" line="43"/>
1998 <source>&amp;Browse</source> 1998 <source>&amp;Browse</source>
1999 <translation type="unfinished">&amp;浏览</translation> 1999 <translation type="unfinished">&amp;浏览</translation>
2000 </message> 2000 </message>
2001 <message> 2001 <message>
2002 <location filename="ttsexescfgfrm.ui" line="52"/> 2002 <location filename="ttsexescfgfrm.ui" line="52"/>
2003 <source>TTS options</source> 2003 <source>TTS options</source>
2004 <translation type="unfinished"></translation> 2004 <translation type="unfinished"></translation>
2005 </message> 2005 </message>
2006 <message> 2006 <message>
2007 <location filename="ttsexescfgfrm.ui" line="77"/> 2007 <location filename="ttsexescfgfrm.ui" line="77"/>
2008 <source>Reset</source> 2008 <source>Reset</source>
2009 <translation type="unfinished"></translation> 2009 <translation type="unfinished"></translation>
2010 </message> 2010 </message>
2011 <message> 2011 <message>
2012 <location filename="ttsexescfgfrm.ui" line="97"/> 2012 <location filename="ttsexescfgfrm.ui" line="97"/>
2013 <source>&amp;Ok</source> 2013 <source>&amp;Ok</source>
2014 <translation type="unfinished">&amp;OK</translation> 2014 <translation type="unfinished">&amp;OK</translation>
2015 </message> 2015 </message>
2016 <message> 2016 <message>
2017 <location filename="ttsexescfgfrm.ui" line="107"/> 2017 <location filename="ttsexescfgfrm.ui" line="107"/>
2018 <source>&amp;Cancel</source> 2018 <source>&amp;Cancel</source>
2019 <translation type="unfinished">&amp;取消</translation> 2019 <translation type="unfinished">&amp;取消</translation>
2020 </message> 2020 </message>
2021</context> 2021</context>
2022<context> 2022<context>
2023 <name>TTSSapi</name> 2023 <name>TTSSapi</name>
2024 <message> 2024 <message>
2025 <location filename="tts.cpp" line="274"/> 2025 <location filename="tts.cpp" line="274"/>
2026 <source>Could not copy the Sapi-script</source> 2026 <source>Could not copy the Sapi-script</source>
2027 <translation type="unfinished"></translation> 2027 <translation type="unfinished"></translation>
2028 </message> 2028 </message>
2029 <message> 2029 <message>
2030 <location filename="tts.cpp" line="292"/> 2030 <location filename="tts.cpp" line="292"/>
2031 <source>Could not start the Sapi-script</source> 2031 <source>Could not start the Sapi-script</source>
2032 <translation type="unfinished"></translation> 2032 <translation type="unfinished"></translation>
2033 </message> 2033 </message>
2034</context> 2034</context>
2035<context> 2035<context>
2036 <name>TalkFileCreator</name> 2036 <name>TalkFileCreator</name>
2037 <message> 2037 <message>
2038 <location filename="talkfile.cpp" line="31"/> 2038 <location filename="talkfile.cpp" line="31"/>
2039 <source>Starting Talk file generation</source> 2039 <source>Starting Talk file generation</source>
2040 <translation type="unfinished"></translation> 2040 <translation type="unfinished"></translation>
2041 </message> 2041 </message>
2042 <message> 2042 <message>
2043 <location filename="talkfile.cpp" line="41"/> 2043 <location filename="talkfile.cpp" line="41"/>
2044 <source>Init of TTS engine failed</source> 2044 <source>Init of TTS engine failed</source>
2045 <translation type="unfinished"></translation> 2045 <translation type="unfinished"></translation>
2046 </message> 2046 </message>
2047 <message> 2047 <message>
2048 <location filename="talkfile.cpp" line="52"/> 2048 <location filename="talkfile.cpp" line="52"/>
2049 <source>Init of Encoder engine failed</source> 2049 <source>Init of Encoder engine failed</source>
2050 <translation type="unfinished"></translation> 2050 <translation type="unfinished"></translation>
2051 </message> 2051 </message>
2052 <message> 2052 <message>
2053 <location filename="talkfile.cpp" line="70"/> 2053 <location filename="talkfile.cpp" line="70"/>
2054 <source>Talk file creation aborted</source> 2054 <source>Talk file creation aborted</source>
2055 <translation type="unfinished"></translation> 2055 <translation type="unfinished"></translation>
2056 </message> 2056 </message>
2057 <message> 2057 <message>
2058 <location filename="talkfile.cpp" line="132"/> 2058 <location filename="talkfile.cpp" line="132"/>
2059 <source>Voicing of %1</source> 2059 <source>Voicing of %1</source>
2060 <translation type="unfinished"></translation> 2060 <translation type="unfinished"></translation>
2061 </message> 2061 </message>
2062 <message> 2062 <message>
2063 <location filename="talkfile.cpp" line="135"/> 2063 <location filename="talkfile.cpp" line="135"/>
2064 <source>Voicing of %s failed</source> 2064 <source>Voicing of %s failed</source>
2065 <translation type="unfinished"></translation> 2065 <translation type="unfinished"></translation>
2066 </message> 2066 </message>
2067 <message> 2067 <message>
2068 <location filename="talkfile.cpp" line="143"/> 2068 <location filename="talkfile.cpp" line="143"/>
2069 <source>Encoding of %1</source> 2069 <source>Encoding of %1</source>
2070 <translation type="unfinished"></translation> 2070 <translation type="unfinished"></translation>
2071 </message> 2071 </message>
2072 <message> 2072 <message>
2073 <location filename="talkfile.cpp" line="146"/> 2073 <location filename="talkfile.cpp" line="146"/>
2074 <source>Encoding of %1 failed</source> 2074 <source>Encoding of %1 failed</source>
2075 <translation type="unfinished"></translation> 2075 <translation type="unfinished"></translation>
2076 </message> 2076 </message>
2077 <message> 2077 <message>
2078 <location filename="talkfile.cpp" line="173"/> 2078 <location filename="talkfile.cpp" line="173"/>
2079 <source>Finished creating Talk files</source> 2079 <source>Finished creating Talk files</source>
2080 <translation type="unfinished"></translation> 2080 <translation type="unfinished"></translation>
2081 </message> 2081 </message>
2082</context> 2082</context>
2083<context> 2083<context>
2084 <name>ThemeInstallFrm</name> 2084 <name>ThemeInstallFrm</name>
2085 <message> 2085 <message>
2086 <location filename="installthemesfrm.ui" line="13"/> 2086 <location filename="installthemesfrm.ui" line="13"/>
2087 <source>Theme Installation</source> 2087 <source>Theme Installation</source>
2088 <translation>安装主题</translation> 2088 <translation>安装主题</translation>
2089 </message> 2089 </message>
2090 <message> 2090 <message>
2091 <location filename="installthemesfrm.ui" line="48"/> 2091 <location filename="installthemesfrm.ui" line="48"/>
2092 <source>Selected Theme</source> 2092 <source>Selected Theme</source>
2093 <translation>被选择的主题</translation> 2093 <translation>被选择的主题</translation>
2094 </message> 2094 </message>
2095 <message> 2095 <message>
2096 <location filename="installthemesfrm.ui" line="73"/> 2096 <location filename="installthemesfrm.ui" line="73"/>
2097 <source>Description</source> 2097 <source>Description</source>
2098 <translation>描述</translation> 2098 <translation>描述</translation>
2099 </message> 2099 </message>
2100 <message> 2100 <message>
2101 <location filename="installthemesfrm.ui" line="83"/> 2101 <location filename="installthemesfrm.ui" line="83"/>
2102 <source>Download size:</source> 2102 <source>Download size:</source>
2103 <translation>下载大小:</translation> 2103 <translation>下载大小:</translation>
2104 </message> 2104 </message>
2105 <message> 2105 <message>
2106 <location filename="" line="6357100"/> 2106 <location filename="" line="6357100"/>
2107 <source>&amp;Ok</source> 2107 <source>&amp;Ok</source>
2108 <translation type="obsolete">&amp;OK</translation> 2108 <translation type="obsolete">&amp;OK</translation>
2109 </message> 2109 </message>
2110 <message> 2110 <message>
2111 <location filename="installthemesfrm.ui" line="128"/> 2111 <location filename="installthemesfrm.ui" line="128"/>
2112 <source>&amp;Cancel</source> 2112 <source>&amp;Cancel</source>
2113 <translation>&amp;取消</translation> 2113 <translation>&amp;取消</translation>
2114 </message> 2114 </message>
2115 <message> 2115 <message>
2116 <location filename="installthemesfrm.ui" line="108"/> 2116 <location filename="installthemesfrm.ui" line="108"/>
2117 <source>&amp;Install</source> 2117 <source>&amp;Install</source>
2118 <translation type="unfinished"></translation> 2118 <translation type="unfinished"></translation>
2119 </message> 2119 </message>
2120 <message> 2120 <message>
2121 <location filename="installthemesfrm.ui" line="118"/> 2121 <location filename="installthemesfrm.ui" line="118"/>
2122 <source>Install &amp;All</source> 2122 <source>Install &amp;All</source>
2123 <translation type="unfinished"></translation> 2123 <translation type="unfinished"></translation>
2124 </message> 2124 </message>
2125</context> 2125</context>
2126<context> 2126<context>
2127 <name>ThemesInstallWindow</name> 2127 <name>ThemesInstallWindow</name>
2128 <message> 2128 <message>
2129 <location filename="installthemes.cpp" line="34"/> 2129 <location filename="installthemes.cpp" line="34"/>
2130 <source>no theme selected</source> 2130 <source>no theme selected</source>
2131 <translation>没有选择主题</translation> 2131 <translation>没有选择主题</translation>
2132 </message> 2132 </message>
2133 <message> 2133 <message>
2134 <location filename="installthemes.cpp" line="117"/> 2134 <location filename="installthemes.cpp" line="117"/>
2135 <source>Network error: %1. 2135 <source>Network error: %1.
2136Please check your network and proxy settings.</source> 2136Please check your network and proxy settings.</source>
2137 <translation>网络错误: %1. 2137 <translation>网络错误: %1.
2138请检查你的网络和代理服务的设置.</translation> 2138请检查你的网络和代理服务的设置.</translation>
2139 </message> 2139 </message>
2140 <message> 2140 <message>
2141 <location filename="" line="6357100"/> 2141 <location filename="" line="6357100"/>
2142 <source>???????: 2142 <source>???????:
2143%1</source> 2143%1</source>
2144 <translation type="obsolete">L&apos;erreur suivante s&apos;est produite : 2144 <translation type="obsolete">L&apos;erreur suivante s&apos;est produite :
2145%1</translation> 2145%1</translation>
2146 </message> 2146 </message>
2147 <message> 2147 <message>
2148 <location filename="installthemes.cpp" line="133"/> 2148 <location filename="installthemes.cpp" line="133"/>
2149 <source>done.</source> 2149 <source>done.</source>
2150 <translation>完成.</translation> 2150 <translation>完成.</translation>
2151 </message> 2151 </message>
2152 <message> 2152 <message>
2153 <location filename="installthemes.cpp" line="161"/> 2153 <location filename="installthemes.cpp" line="161"/>
2154 <source>fetching details for %1</source> 2154 <source>fetching details for %1</source>
2155 <translation>正在拿取 %1 的细节</translation> 2155 <translation>正在拿取 %1 的细节</translation>
2156 </message> 2156 </message>
2157 <message> 2157 <message>
2158 <location filename="installthemes.cpp" line="163"/> 2158 <location filename="installthemes.cpp" line="163"/>
2159 <source>fetching preview ...</source> 2159 <source>fetching preview ...</source>
2160 <translation>正在拿取预览...</translation> 2160 <translation>正在拿取预览...</translation>
2161 </message> 2161 </message>
2162 <message> 2162 <message>
2163 <location filename="" line="6357100"/> 2163 <location filename="" line="6357100"/>
2164 <source>Download size %1 kiB</source> 2164 <source>Download size %1 kiB</source>
2165 <translation type="obsolete">下载大小 %1 kiB</translation> 2165 <translation type="obsolete">下载大小 %1 kiB</translation>
2166 </message> 2166 </message>
2167 <message> 2167 <message>
2168 <location filename="installthemes.cpp" line="184"/> 2168 <location filename="installthemes.cpp" line="184"/>
2169 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source> 2169 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
2170 <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2170 <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2171 </message> 2171 </message>
2172 <message> 2172 <message>
2173 <location filename="installthemes.cpp" line="185"/> 2173 <location filename="installthemes.cpp" line="185"/>
2174 <source>unknown</source> 2174 <source>unknown</source>
2175 <translation>不明</translation> 2175 <translation>不明</translation>
2176 </message> 2176 </message>
2177 <message> 2177 <message>
2178 <location filename="installthemes.cpp" line="185"/> 2178 <location filename="installthemes.cpp" line="185"/>
2179 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source> 2179 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
2180 <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2180 <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2181 </message> 2181 </message>
2182 <message> 2182 <message>
2183 <location filename="installthemes.cpp" line="186"/> 2183 <location filename="installthemes.cpp" line="186"/>
2184 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source> 2184 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
2185 <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2185 <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2186 </message> 2186 </message>
2187 <message> 2187 <message>
2188 <location filename="installthemes.cpp" line="186"/> 2188 <location filename="installthemes.cpp" line="186"/>
2189 <source>no description</source> 2189 <source>no description</source>
2190 <translation>无描述</translation> 2190 <translation>无描述</translation>
2191 </message> 2191 </message>
2192 <message> 2192 <message>
2193 <location filename="installthemes.cpp" line="222"/> 2193 <location filename="installthemes.cpp" line="222"/>
2194 <source>no theme preview</source> 2194 <source>no theme preview</source>
2195 <translation>无主题预览</translation> 2195 <translation>无主题预览</translation>
2196 </message> 2196 </message>
2197 <message> 2197 <message>
2198 <location filename="installthemes.cpp" line="254"/> 2198 <location filename="installthemes.cpp" line="254"/>
2199 <source>getting themes information ...</source> 2199 <source>getting themes information ...</source>
2200 <translation>正在拿取主题信息...</translation> 2200 <translation>正在拿取主题信息...</translation>
2201 </message> 2201 </message>
2202 <message> 2202 <message>
2203 <location filename="installthemes.cpp" line="312"/> 2203 <location filename="installthemes.cpp" line="312"/>
2204 <source>Mount point is wrong!</source> 2204 <source>Mount point is wrong!</source>
2205 <translation>Mountpoint 错误!</translation> 2205 <translation>Mountpoint 错误!</translation>
2206 </message> 2206 </message>
2207 <message> 2207 <message>
2208 <location filename="installthemes.cpp" line="128"/> 2208 <location filename="installthemes.cpp" line="128"/>
2209 <source>the following error occured: 2209 <source>the following error occured:
2210%1</source> 2210%1</source>
2211 <translation type="unfinished"></translation> 2211 <translation type="unfinished"></translation>
2212 </message> 2212 </message>
2213 <message> 2213 <message>
2214 <location filename="installthemes.cpp" line="171"/> 2214 <location filename="installthemes.cpp" line="171"/>
2215 <source>Download size %L1 kiB</source> 2215 <source>Download size %L1 kiB</source>
2216 <translation type="unfinished"></translation> 2216 <translation type="unfinished"></translation>
2217 </message> 2217 </message>
2218</context> 2218</context>
2219<context> 2219<context>
2220 <name>UnZip</name> 2220 <name>UnZip</name>
2221 <message> 2221 <message>
2222 <location filename="zip/unzip.cpp" line="245"/> 2222 <location filename="zip/unzip.cpp" line="245"/>
2223 <source>ZIP operation completed successfully.</source> 2223 <source>ZIP operation completed successfully.</source>
2224 <translation>成功完成 ZIP 程序.</translation> 2224 <translation>成功完成 ZIP 程序.</translation>
2225 </message> 2225 </message>
2226 <message> 2226 <message>
2227 <location filename="zip/unzip.cpp" line="246"/> 2227 <location filename="zip/unzip.cpp" line="246"/>
2228 <source>Failed to initialize or load zlib library.</source> 2228 <source>Failed to initialize or load zlib library.</source>
2229 <translation>初始化zlib失败.</translation> 2229 <translation>初始化zlib失败.</translation>
2230 </message> 2230 </message>
2231 <message> 2231 <message>
2232 <location filename="zip/unzip.cpp" line="247"/> 2232 <location filename="zip/unzip.cpp" line="247"/>
2233 <source>zlib library error.</source> 2233 <source>zlib library error.</source>
2234 <translation>zlib错误.</translation> 2234 <translation>zlib错误.</translation>
2235 </message> 2235 </message>
2236 <message> 2236 <message>
2237 <location filename="zip/unzip.cpp" line="248"/> 2237 <location filename="zip/unzip.cpp" line="248"/>
2238 <source>Unable to create or open file.</source> 2238 <source>Unable to create or open file.</source>
2239 <translation>无法建立或打开文件.</translation> 2239 <translation>无法建立或打开文件.</translation>
2240 </message> 2240 </message>
2241 <message> 2241 <message>
2242 <location filename="zip/unzip.cpp" line="249"/> 2242 <location filename="zip/unzip.cpp" line="249"/>
2243 <source>Partially corrupted archive. Some files might be extracted.</source> 2243 <source>Partially corrupted archive. Some files might be extracted.</source>
2244 <translation>压缩文件部分损坏. 一些文件可能可以被恢复. </translation> 2244 <translation>压缩文件部分损坏. 一些文件可能可以被恢复. </translation>
2245 </message> 2245 </message>
2246 <message> 2246 <message>
2247 <location filename="zip/unzip.cpp" line="250"/> 2247 <location filename="zip/unzip.cpp" line="250"/>
2248 <source>Corrupted archive.</source> 2248 <source>Corrupted archive.</source>
2249 <translation>压缩文件损坏.</translation> 2249 <translation>压缩文件损坏.</translation>
2250 </message> 2250 </message>
2251 <message> 2251 <message>
2252 <location filename="zip/unzip.cpp" line="251"/> 2252 <location filename="zip/unzip.cpp" line="251"/>
2253 <source>Wrong password.</source> 2253 <source>Wrong password.</source>
2254 <translation>密码不正确.</translation> 2254 <translation>密码不正确.</translation>
2255 </message> 2255 </message>
2256 <message> 2256 <message>
2257 <location filename="zip/unzip.cpp" line="252"/> 2257 <location filename="zip/unzip.cpp" line="252"/>
2258 <source>No archive has been created yet.</source> 2258 <source>No archive has been created yet.</source>
2259 <translation>压缩文件还没有被建立.</translation> 2259 <translation>压缩文件还没有被建立.</translation>
2260 </message> 2260 </message>
2261 <message> 2261 <message>
2262 <location filename="zip/unzip.cpp" line="253"/> 2262 <location filename="zip/unzip.cpp" line="253"/>
2263 <source>File or directory does not exist.</source> 2263 <source>File or directory does not exist.</source>
2264 <translation>文件或文件夹不存在.</translation> 2264 <translation>文件或文件夹不存在.</translation>
2265 </message> 2265 </message>
2266 <message> 2266 <message>
2267 <location filename="zip/unzip.cpp" line="254"/> 2267 <location filename="zip/unzip.cpp" line="254"/>
2268 <source>File read error.</source> 2268 <source>File read error.</source>
2269 <translation>文件读取错误.</translation> 2269 <translation>文件读取错误.</translation>
2270 </message> 2270 </message>
2271 <message> 2271 <message>
2272 <location filename="zip/unzip.cpp" line="255"/> 2272 <location filename="zip/unzip.cpp" line="255"/>
2273 <source>File write error.</source> 2273 <source>File write error.</source>
2274 <translation>文件写入错误.</translation> 2274 <translation>文件写入错误.</translation>
2275 </message> 2275 </message>
2276 <message> 2276 <message>
2277 <location filename="zip/unzip.cpp" line="256"/> 2277 <location filename="zip/unzip.cpp" line="256"/>
2278 <source>File seek error.</source> 2278 <source>File seek error.</source>
2279 <translation>文件内寻找错误.</translation> 2279 <translation>文件内寻找错误.</translation>
2280 </message> 2280 </message>
2281 <message> 2281 <message>
2282 <location filename="zip/unzip.cpp" line="257"/> 2282 <location filename="zip/unzip.cpp" line="257"/>
2283 <source>Unable to create a directory.</source> 2283 <source>Unable to create a directory.</source>
2284 <translation>无法建立文件夹.</translation> 2284 <translation>无法建立文件夹.</translation>
2285 </message> 2285 </message>
2286 <message> 2286 <message>
2287 <location filename="zip/unzip.cpp" line="258"/> 2287 <location filename="zip/unzip.cpp" line="258"/>
2288 <source>Invalid device.</source> 2288 <source>Invalid device.</source>
2289 <translation>无效播放器.</translation> 2289 <translation>无效播放器.</translation>
2290 </message> 2290 </message>
2291 <message> 2291 <message>
2292 <location filename="zip/unzip.cpp" line="259"/> 2292 <location filename="zip/unzip.cpp" line="259"/>
2293 <source>Invalid or incompatible zip archive.</source> 2293 <source>Invalid or incompatible zip archive.</source>
2294 <translation>无效或不支持压缩文件.</translation> 2294 <translation>无效或不支持压缩文件.</translation>
2295 </message> 2295 </message>
2296 <message> 2296 <message>
2297 <location filename="zip/unzip.cpp" line="260"/> 2297 <location filename="zip/unzip.cpp" line="260"/>
2298 <source>Inconsistent headers. Archive might be corrupted.</source> 2298 <source>Inconsistent headers. Archive might be corrupted.</source>
2299 <translation>文件头不正常. 压缩文件可能已损坏. </translation> 2299 <translation>文件头不正常. 压缩文件可能已损坏. </translation>
2300 </message> 2300 </message>
2301 <message> 2301 <message>
2302 <location filename="zip/unzip.cpp" line="264"/> 2302 <location filename="zip/unzip.cpp" line="264"/>
2303 <source>Unknown error.</source> 2303 <source>Unknown error.</source>
2304 <translation>不明错误.</translation> 2304 <translation>不明错误.</translation>
2305 </message> 2305 </message>
2306</context> 2306</context>
2307<context> 2307<context>
2308 <name>UninstallFrm</name> 2308 <name>UninstallFrm</name>
2309 <message> 2309 <message>
2310 <location filename="uninstallfrm.ui" line="16"/> 2310 <location filename="uninstallfrm.ui" line="16"/>
2311 <source>Uninstall Rockbox</source> 2311 <source>Uninstall Rockbox</source>
2312 <translation>卸载 Rockbox</translation> 2312 <translation>卸载 Rockbox</translation>
2313 </message> 2313 </message>
2314 <message> 2314 <message>
2315 <location filename="uninstallfrm.ui" line="35"/> 2315 <location filename="uninstallfrm.ui" line="35"/>
2316 <source>Please select the Uninstallation Methodl</source> 2316 <source>Please select the Uninstallation Methodl</source>
2317 <translation>请选择卸载模式</translation> 2317 <translation>请选择卸载模式</translation>
2318 </message> 2318 </message>
2319 <message> 2319 <message>
2320 <location filename="uninstallfrm.ui" line="45"/> 2320 <location filename="uninstallfrm.ui" line="45"/>
2321 <source>Uninstallation Method</source> 2321 <source>Uninstallation Method</source>
2322 <translation>卸载模式</translation> 2322 <translation>卸载模式</translation>
2323 </message> 2323 </message>
2324 <message> 2324 <message>
2325 <location filename="uninstallfrm.ui" line="51"/> 2325 <location filename="uninstallfrm.ui" line="51"/>
2326 <source>Complete Uninstallation</source> 2326 <source>Complete Uninstallation</source>
2327 <translation>完全卸载</translation> 2327 <translation>完全卸载</translation>
2328 </message> 2328 </message>
2329 <message> 2329 <message>
2330 <location filename="uninstallfrm.ui" line="58"/> 2330 <location filename="uninstallfrm.ui" line="58"/>
2331 <source>Smart Uninstallation</source> 2331 <source>Smart Uninstallation</source>
2332 <translation>智能卸载</translation> 2332 <translation>智能卸载</translation>
2333 </message> 2333 </message>
2334 <message> 2334 <message>
2335 <location filename="uninstallfrm.ui" line="68"/> 2335 <location filename="uninstallfrm.ui" line="68"/>
2336 <source>Please select what you want to uninstall</source> 2336 <source>Please select what you want to uninstall</source>
2337 <translation>请选择卸载部分</translation> 2337 <translation>请选择卸载部分</translation>
2338 </message> 2338 </message>
2339 <message> 2339 <message>
2340 <location filename="uninstallfrm.ui" line="78"/> 2340 <location filename="uninstallfrm.ui" line="78"/>
2341 <source>Installed Parts</source> 2341 <source>Installed Parts</source>
2342 <translation>已安装的部分</translation> 2342 <translation>已安装的部分</translation>
2343 </message> 2343 </message>
2344 <message> 2344 <message>
2345 <location filename="" line="6357100"/> 2345 <location filename="" line="6357100"/>
2346 <source>&amp;Ok</source> 2346 <source>&amp;Ok</source>
2347 <translation type="obsolete">&amp;OK</translation> 2347 <translation type="obsolete">&amp;OK</translation>
2348 </message> 2348 </message>
2349 <message> 2349 <message>
2350 <location filename="uninstallfrm.ui" line="138"/> 2350 <location filename="uninstallfrm.ui" line="138"/>
2351 <source>&amp;Cancel</source> 2351 <source>&amp;Cancel</source>
2352 <translation>&amp;取消</translation> 2352 <translation>&amp;取消</translation>
2353 </message> 2353 </message>
2354 <message> 2354 <message>
2355 <location filename="uninstallfrm.ui" line="128"/> 2355 <location filename="uninstallfrm.ui" line="128"/>
2356 <source>&amp;Uninstall</source> 2356 <source>&amp;Uninstall</source>
2357 <translation type="unfinished"></translation> 2357 <translation type="unfinished"></translation>
2358 </message> 2358 </message>
2359</context> 2359</context>
2360<context> 2360<context>
2361 <name>Uninstaller</name> 2361 <name>Uninstaller</name>
2362 <message> 2362 <message>
2363 <location filename="uninstall.cpp" line="45"/> 2363 <location filename="uninstall.cpp" line="45"/>
2364 <source>Starting Uninstallation</source> 2364 <source>Starting Uninstallation</source>
2365 <translation>开始卸载</translation> 2365 <translation>开始卸载</translation>
2366 </message> 2366 </message>
2367 <message> 2367 <message>
2368 <location filename="uninstall.cpp" line="37"/> 2368 <location filename="uninstall.cpp" line="37"/>
2369 <source>Finished Uninstallation</source> 2369 <source>Finished Uninstallation</source>
2370 <translation>完成卸载</translation> 2370 <translation>完成卸载</translation>
2371 </message> 2371 </message>
2372 <message> 2372 <message>
2373 <location filename="uninstall.cpp" line="51"/> 2373 <location filename="uninstall.cpp" line="51"/>
2374 <source>Uninstalling </source> 2374 <source>Uninstalling </source>
2375 <translation>正在卸载</translation> 2375 <translation>正在卸载</translation>
2376 </message> 2376 </message>
2377 <message> 2377 <message>
2378 <location filename="uninstall.cpp" line="81"/> 2378 <location filename="uninstall.cpp" line="81"/>
2379 <source>Could not delete: </source> 2379 <source>Could not delete: </source>
2380 <translation>无法删除: </translation> 2380 <translation>无法删除: </translation>
2381 </message> 2381 </message>
2382 <message> 2382 <message>
2383 <location filename="uninstall.cpp" line="108"/> 2383 <location filename="uninstall.cpp" line="108"/>
2384 <source>Uninstallation finished</source> 2384 <source>Uninstallation finished</source>
2385 <translation>完成卸载</translation> 2385 <translation>完成卸载</translation>
2386 </message> 2386 </message>
2387</context> 2387</context>
2388<context> 2388<context>
2389 <name>VoiceFileCreator</name> 2389 <name>VoiceFileCreator</name>
2390 <message> 2390 <message>
2391 <location filename="voicefile.cpp" line="41"/> 2391 <location filename="voicefile.cpp" line="41"/>
2392 <source>Starting Voicefile generation</source> 2392 <source>Starting Voicefile generation</source>
2393 <translation type="unfinished"></translation> 2393 <translation type="unfinished"></translation>
2394 </message> 2394 </message>
2395 <message> 2395 <message>
2396 <location filename="voicefile.cpp" line="55"/> 2396 <location filename="voicefile.cpp" line="55"/>
2397 <source>failed to open rockbox-info.txt</source> 2397 <source>failed to open rockbox-info.txt</source>
2398 <translation type="unfinished"></translation> 2398 <translation type="unfinished"></translation>
2399 </message> 2399 </message>
2400 <message> 2400 <message>
2401 <location filename="voicefile.cpp" line="124"/> 2401 <location filename="voicefile.cpp" line="124"/>
2402 <source>Download error: received HTTP error %1.</source> 2402 <source>Download error: received HTTP error %1.</source>
2403 <translation type="unfinished">下载错误: 接到 HTTP 错误 %1. </translation> 2403 <translation type="unfinished">下载错误: 接到 HTTP 错误 %1. </translation>
2404 </message> 2404 </message>
2405 <message> 2405 <message>
2406 <location filename="voicefile.cpp" line="128"/> 2406 <location filename="voicefile.cpp" line="128"/>
2407 <source>Cached file used.</source> 2407 <source>Cached file used.</source>
2408 <translation type="unfinished">使用缓冲文件.</translation> 2408 <translation type="unfinished">使用缓冲文件.</translation>
2409 </message> 2409 </message>
2410 <message> 2410 <message>
2411 <location filename="voicefile.cpp" line="130"/> 2411 <location filename="voicefile.cpp" line="130"/>
2412 <source>Download error: %1</source> 2412 <source>Download error: %1</source>
2413 <translation type="unfinished">下载错误: %1</translation> 2413 <translation type="unfinished">下载错误: %1</translation>
2414 </message> 2414 </message>
2415 <message> 2415 <message>
2416 <location filename="voicefile.cpp" line="134"/> 2416 <location filename="voicefile.cpp" line="134"/>
2417 <source>Download finished.</source> 2417 <source>Download finished.</source>
2418 <translation type="unfinished">完成下载.</translation> 2418 <translation type="unfinished">完成下载.</translation>
2419 </message> 2419 </message>
2420 <message> 2420 <message>
2421 <location filename="voicefile.cpp" line="143"/> 2421 <location filename="voicefile.cpp" line="143"/>
2422 <source>failed to open downloaded file</source> 2422 <source>failed to open downloaded file</source>
2423 <translation type="unfinished"></translation> 2423 <translation type="unfinished"></translation>
2424 </message> 2424 </message>
2425 <message> 2425 <message>
2426 <location filename="voicefile.cpp" line="156"/> 2426 <location filename="voicefile.cpp" line="156"/>
2427 <source>Init of TTS engine failed</source> 2427 <source>Init of TTS engine failed</source>
2428 <translation type="unfinished"></translation> 2428 <translation type="unfinished"></translation>
2429 </message> 2429 </message>
2430 <message> 2430 <message>
2431 <location filename="voicefile.cpp" line="167"/> 2431 <location filename="voicefile.cpp" line="167"/>
2432 <source>Init of Encoder engine failed</source> 2432 <source>Init of Encoder engine failed</source>
2433 <translation type="unfinished"></translation> 2433 <translation type="unfinished"></translation>
2434 </message> 2434 </message>
2435 <message> 2435 <message>
2436 <location filename="voicefile.cpp" line="209"/> 2436 <location filename="voicefile.cpp" line="209"/>
2437 <source>The downloaded file was empty!</source> 2437 <source>The downloaded file was empty!</source>
2438 <translation type="unfinished"></translation> 2438 <translation type="unfinished"></translation>
2439 </message> 2439 </message>
2440 <message> 2440 <message>
2441 <location filename="voicefile.cpp" line="246"/> 2441 <location filename="voicefile.cpp" line="246"/>
2442 <source>creating </source> 2442 <source>creating </source>
2443 <translation type="unfinished"></translation> 2443 <translation type="unfinished"></translation>
2444 </message> 2444 </message>
2445 <message> 2445 <message>
2446 <location filename="voicefile.cpp" line="269"/> 2446 <location filename="voicefile.cpp" line="269"/>
2447 <source>Error opening downloaded file</source> 2447 <source>Error opening downloaded file</source>
2448 <translation type="unfinished"></translation> 2448 <translation type="unfinished"></translation>
2449 </message> 2449 </message>
2450 <message> 2450 <message>
2451 <location filename="voicefile.cpp" line="277"/> 2451 <location filename="voicefile.cpp" line="277"/>
2452 <source>Error opening output file</source> 2452 <source>Error opening output file</source>
2453 <translation type="unfinished"></translation> 2453 <translation type="unfinished"></translation>
2454 </message> 2454 </message>
2455 <message> 2455 <message>
2456 <location filename="voicefile.cpp" line="291"/> 2456 <location filename="voicefile.cpp" line="291"/>
2457 <source>successfully created.</source> 2457 <source>successfully created.</source>
2458 <translation type="unfinished"></translation> 2458 <translation type="unfinished"></translation>
2459 </message> 2459 </message>
2460</context> 2460</context>
2461<context> 2461<context>
2462 <name>Zip</name> 2462 <name>Zip</name>
2463 <message> 2463 <message>
2464 <location filename="zip/zip.cpp" line="479"/> 2464 <location filename="zip/zip.cpp" line="479"/>
2465 <source>ZIP operation completed successfully.</source> 2465 <source>ZIP operation completed successfully.</source>
2466 <translation>成功完成 ZIP 程序.</translation> 2466 <translation>成功完成 ZIP 程序.</translation>
2467 </message> 2467 </message>
2468 <message> 2468 <message>
2469 <location filename="zip/zip.cpp" line="480"/> 2469 <location filename="zip/zip.cpp" line="480"/>
2470 <source>Failed to initialize or load zlib library.</source> 2470 <source>Failed to initialize or load zlib library.</source>
2471 <translation>初始化zlib失败.</translation> 2471 <translation>初始化zlib失败.</translation>
2472 </message> 2472 </message>
2473 <message> 2473 <message>
2474 <location filename="zip/zip.cpp" line="481"/> 2474 <location filename="zip/zip.cpp" line="481"/>
2475 <source>zlib library error.</source> 2475 <source>zlib library error.</source>
2476 <translation>zlib错误.</translation> 2476 <translation>zlib错误.</translation>
2477 </message> 2477 </message>
2478 <message> 2478 <message>
2479 <location filename="zip/zip.cpp" line="482"/> 2479 <location filename="zip/zip.cpp" line="482"/>
2480 <source>Unable to create or open file.</source> 2480 <source>Unable to create or open file.</source>
2481 <translation>无法建立或打开文件.</translation> 2481 <translation>无法建立或打开文件.</translation>
2482 </message> 2482 </message>
2483 <message> 2483 <message>
2484 <location filename="zip/zip.cpp" line="483"/> 2484 <location filename="zip/zip.cpp" line="483"/>
2485 <source>No archive has been created yet.</source> 2485 <source>No archive has been created yet.</source>
2486 <translation>压缩文件还没有被建立.</translation> 2486 <translation>压缩文件还没有被建立.</translation>
2487 </message> 2487 </message>
2488 <message> 2488 <message>
2489 <location filename="zip/zip.cpp" line="484"/> 2489 <location filename="zip/zip.cpp" line="484"/>
2490 <source>File or directory does not exist.</source> 2490 <source>File or directory does not exist.</source>
2491 <translation>文件或文件夹不存在.</translation> 2491 <translation>文件或文件夹不存在.</translation>
2492 </message> 2492 </message>
2493 <message> 2493 <message>
2494 <location filename="zip/zip.cpp" line="485"/> 2494 <location filename="zip/zip.cpp" line="485"/>
2495 <source>File read error.</source> 2495 <source>File read error.</source>
2496 <translation>文件读取错误.</translation> 2496 <translation>文件读取错误.</translation>
2497 </message> 2497 </message>
2498 <message> 2498 <message>
2499 <location filename="zip/zip.cpp" line="486"/> 2499 <location filename="zip/zip.cpp" line="486"/>
2500 <source>File write error.</source> 2500 <source>File write error.</source>
2501 <translation>文件写入错误.</translation> 2501 <translation>文件写入错误.</translation>
2502 </message> 2502 </message>
2503 <message> 2503 <message>
2504 <location filename="zip/zip.cpp" line="487"/> 2504 <location filename="zip/zip.cpp" line="487"/>
2505 <source>File seek error.</source> 2505 <source>File seek error.</source>
2506 <translation>文件内寻找错误.</translation> 2506 <translation>文件内寻找错误.</translation>
2507 </message> 2507 </message>
2508 <message> 2508 <message>
2509 <location filename="zip/zip.cpp" line="491"/> 2509 <location filename="zip/zip.cpp" line="491"/>
2510 <source>Unknown error.</source> 2510 <source>Unknown error.</source>
2511 <translation>不明错误.</translation> 2511 <translation>不明错误.</translation>
2512 </message> 2512 </message>
2513</context> 2513</context>
2514<context> 2514<context>
2515 <name>ZipInstaller</name> 2515 <name>ZipInstaller</name>
2516 <message> 2516 <message>
2517 <location filename="installzip.cpp" line="54"/> 2517 <location filename="installzip.cpp" line="54"/>
2518 <source>done.</source> 2518 <source>done.</source>
2519 <translation>完成.</translation> 2519 <translation>完成.</translation>
2520 </message> 2520 </message>
2521 <message> 2521 <message>
2522 <location filename="installzip.cpp" line="62"/> 2522 <location filename="installzip.cpp" line="62"/>
2523 <source>Installation finished successfully.</source> 2523 <source>Installation finished successfully.</source>
2524 <translation>成功完成安装.</translation> 2524 <translation>成功完成安装.</translation>
2525 </message> 2525 </message>
2526 <message> 2526 <message>
2527 <location filename="installzip.cpp" line="77"/> 2527 <location filename="installzip.cpp" line="77"/>
2528 <source>Downloading file %1.%2</source> 2528 <source>Downloading file %1.%2</source>
2529 <translation>正在下载文件 %1.%2</translation> 2529 <translation>正在下载文件 %1.%2</translation>
2530 </message> 2530 </message>
2531 <message> 2531 <message>
2532 <location filename="installzip.cpp" line="126"/> 2532 <location filename="installzip.cpp" line="126"/>
2533 <source>Download error: received HTTP error %1.</source> 2533 <source>Download error: received HTTP error %1.</source>
2534 <translation>下载错误: 接到 HTTP 错误 %1. </translation> 2534 <translation>下载错误: 接到 HTTP 错误 %1. </translation>
2535 </message> 2535 </message>
2536 <message> 2536 <message>
2537 <location filename="installzip.cpp" line="131"/> 2537 <location filename="installzip.cpp" line="131"/>
2538 <source>Cached file used.</source> 2538 <source>Cached file used.</source>
2539 <translation>使用缓冲文件.</translation> 2539 <translation>使用缓冲文件.</translation>
2540 </message> 2540 </message>
2541 <message> 2541 <message>
2542 <location filename="installzip.cpp" line="133"/> 2542 <location filename="installzip.cpp" line="133"/>
2543 <source>Download error: %1</source> 2543 <source>Download error: %1</source>
2544 <translation>下载错误: %1</translation> 2544 <translation>下载错误: %1</translation>
2545 </message> 2545 </message>
2546 <message> 2546 <message>
2547 <location filename="installzip.cpp" line="138"/> 2547 <location filename="installzip.cpp" line="138"/>
2548 <source>Download finished.</source> 2548 <source>Download finished.</source>
2549 <translation>完成下载.</translation> 2549 <translation>完成下载.</translation>
2550 </message> 2550 </message>
2551 <message> 2551 <message>
2552 <location filename="installzip.cpp" line="144"/> 2552 <location filename="installzip.cpp" line="144"/>
2553 <source>Extracting file.</source> 2553 <source>Extracting file.</source>
2554 <translation>正在解压文件.</translation> 2554 <translation>正在解压文件.</translation>
2555 </message> 2555 </message>
2556 <message> 2556 <message>
2557 <location filename="installzip.cpp" line="153"/> 2557 <location filename="installzip.cpp" line="153"/>
2558 <source>Opening archive failed: %1.</source> 2558 <source>Opening archive failed: %1.</source>
2559 <translation>打开压缩文件错误: %1.</translation> 2559 <translation>打开压缩文件错误: %1.</translation>
2560 </message> 2560 </message>
2561 <message> 2561 <message>
2562 <location filename="installzip.cpp" line="162"/> 2562 <location filename="installzip.cpp" line="162"/>
2563 <source>Extracting failed: %1.</source> 2563 <source>Extracting failed: %1.</source>
2564 <translation>解压错误: %1.</translation> 2564 <translation>解压错误: %1.</translation>
2565 </message> 2565 </message>
2566 <message> 2566 <message>
2567 <location filename="installzip.cpp" line="172"/> 2567 <location filename="installzip.cpp" line="172"/>
2568 <source>Installing file.</source> 2568 <source>Installing file.</source>
2569 <translation>正在安装文件.</translation> 2569 <translation>正在安装文件.</translation>
2570 </message> 2570 </message>
2571 <message> 2571 <message>
2572 <location filename="installzip.cpp" line="183"/> 2572 <location filename="installzip.cpp" line="183"/>
2573 <source>Installing file failed.</source> 2573 <source>Installing file failed.</source>
2574 <translation>安装文件失败.</translation> 2574 <translation>安装文件失败.</translation>
2575 </message> 2575 </message>
2576 <message> 2576 <message>
2577 <location filename="installzip.cpp" line="193"/> 2577 <location filename="installzip.cpp" line="193"/>
2578 <source>Creating installation log</source> 2578 <source>Creating installation log</source>
2579 <translation>正在建立安装日志</translation> 2579 <translation>正在建立安装日志</translation>
2580 </message> 2580 </message>
2581</context> 2581</context>
2582<context> 2582<context>
2583 <name>aboutBox</name> 2583 <name>aboutBox</name>
2584 <message> 2584 <message>
2585 <location filename="aboutbox.ui" line="13"/> 2585 <location filename="aboutbox.ui" line="13"/>
2586 <source>About Rockbox Utility</source> 2586 <source>About Rockbox Utility</source>
2587 <translation>关于Rockbox安装程序</translation> 2587 <translation>关于Rockbox安装程序</translation>
2588 </message> 2588 </message>
2589 <message> 2589 <message>
2590 <location filename="aboutbox.ui" line="34"/> 2590 <location filename="aboutbox.ui" line="34"/>
2591 <source>The Rockbox Utility</source> 2591 <source>The Rockbox Utility</source>
2592 <translation>Rockbox安装程序</translation> 2592 <translation>Rockbox安装程序</translation>
2593 </message> 2593 </message>
2594 <message encoding="UTF-8"> 2594 <message encoding="UTF-8">
2595 <location filename="aboutbox.ui" line="56"/> 2595 <location filename="aboutbox.ui" line="56"/>
2596 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware. 2596 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
2597 2597
2598© 2005 - 2007 The Rockbox Team. 2598© 2005 - 2007 The Rockbox Team.
2599Released under the GNU General Public License v2.</source> 2599Released under the GNU General Public License v2.</source>
2600 <translation>安装程序和一般管理程序为 Roxkbox 准备. Roxkbox 是一个开源的音乐播放器固件. 2600 <translation>安装程序和一般管理程序为 Roxkbox 准备. Roxkbox 是一个开源的音乐播放器固件.
2601 2601
2602© 2005 - 2007 Rockbox 团队. 2602© 2005 - 2007 Rockbox 团队.
2603授权于 GNU General Public License v2.</translation> 2603授权于 GNU General Public License v2.</translation>
2604 </message> 2604 </message>
2605 <message> 2605 <message>
2606 <location filename="aboutbox.ui" line="72"/> 2606 <location filename="aboutbox.ui" line="72"/>
2607 <source>http://www.rockbox.org</source> 2607 <source>http://www.rockbox.org</source>
2608 <translation>http://www.rockbox.org</translation> 2608 <translation>http://www.rockbox.org</translation>
2609 </message> 2609 </message>
2610 <message> 2610 <message>
2611 <location filename="aboutbox.ui" line="95"/> 2611 <location filename="aboutbox.ui" line="95"/>
2612 <source>&amp;Credits</source> 2612 <source>&amp;Credits</source>
2613 <translation>&amp;特别鸣谢</translation> 2613 <translation>&amp;特别鸣谢</translation>
2614 </message> 2614 </message>
2615 <message> 2615 <message>
2616 <location filename="aboutbox.ui" line="124"/> 2616 <location filename="aboutbox.ui" line="124"/>
2617 <source>&amp;License</source> 2617 <source>&amp;License</source>
2618 <translation>&amp;授权</translation> 2618 <translation>&amp;授权</translation>
2619 </message> 2619 </message>
2620 <message> 2620 <message>
2621 <location filename="aboutbox.ui" line="157"/> 2621 <location filename="aboutbox.ui" line="157"/>
2622 <source>&amp;Ok</source> 2622 <source>&amp;Ok</source>
2623 <translation>&amp;OK</translation> 2623 <translation>&amp;OK</translation>
2624 </message> 2624 </message>
2625</context> 2625</context>
2626</TS> 2626</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 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE TS><TS version="1.1" language="zh"> 2<!DOCTYPE TS><TS version="1.1" language="zh">
3<context> 3<context>
4 <name>BootloaderInstaller</name> 4 <name>BootloaderInstaller</name>
5 <message> 5 <message>
6 <location filename="installbootloader.cpp" line="32"/> 6 <location filename="installbootloader.cpp" line="32"/>
7 <source>Starting bootloader installation</source> 7 <source>Starting bootloader installation</source>
8 <translation>開始安裝啟動程式</translation> 8 <translation>開始安裝啟動程式</translation>
9 </message> 9 </message>
10 <message> 10 <message>
11 <location filename="installbootloader.cpp" line="122"/> 11 <location filename="installbootloader.cpp" line="122"/>
12 <source>unsupported install Method</source> 12 <source>unsupported install Method</source>
13 <translation>不支持的安裝方式</translation> 13 <translation>不支持的安裝方式</translation>
14 </message> 14 </message>
15 <message> 15 <message>
16 <location filename="installbootloader.cpp" line="85"/> 16 <location filename="installbootloader.cpp" line="85"/>
17 <source>Starting bootloader uninstallation</source> 17 <source>Starting bootloader uninstallation</source>
18 <translation>開始卸載啟動程式</translation> 18 <translation>開始卸載啟動程式</translation>
19 </message> 19 </message>
20 <message> 20 <message>
21 <location filename="installbootloader.cpp" line="116"/> 21 <location filename="installbootloader.cpp" line="116"/>
22 <source>No uninstallation possible</source> 22 <source>No uninstallation possible</source>
23 <translation>不可以卸載</translation> 23 <translation>不可以卸載</translation>
24 </message> 24 </message>
25 <message> 25 <message>
26 <location filename="installbootloader.cpp" line="151"/> 26 <location filename="installbootloader.cpp" line="151"/>
27 <source>Download error: received HTTP error %1.</source> 27 <source>Download error: received HTTP error %1.</source>
28 <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation> 28 <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation>
29 </message> 29 </message>
30 <message> 30 <message>
31 <location filename="installbootloader.cpp" line="157"/> 31 <location filename="installbootloader.cpp" line="157"/>
32 <source>Download error: %1</source> 32 <source>Download error: %1</source>
33 <translation>下載錯誤: %1</translation> 33 <translation>下載錯誤: %1</translation>
34 </message> 34 </message>
35 <message> 35 <message>
36 <location filename="installbootloader.cpp" line="162"/> 36 <location filename="installbootloader.cpp" line="162"/>
37 <source>Download finished.</source> 37 <source>Download finished.</source>
38 <translation>完成下載.</translation> 38 <translation>完成下載.</translation>
39 </message> 39 </message>
40 <message> 40 <message>
41 <location filename="installbootloader.cpp" line="224"/> 41 <location filename="installbootloader.cpp" line="224"/>
42 <source>Network error: %1. Please check your network and proxy settings.</source> 42 <source>Network error: %1. Please check your network and proxy settings.</source>
43 <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation> 43 <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation>
44 </message> 44 </message>
45 <message> 45 <message>
46 <location filename="installbootloader.cpp" line="237"/> 46 <location filename="installbootloader.cpp" line="237"/>
47 <source>Creating installation log</source> 47 <source>Creating installation log</source>
48 <translation>正在添加安裝日志</translation> 48 <translation>正在添加安裝日志</translation>
49 </message> 49 </message>
50 <message> 50 <message>
51 <location filename="installbootloader.cpp" line="253"/> 51 <location filename="installbootloader.cpp" line="253"/>
52 <source>Editing installation log</source> 52 <source>Editing installation log</source>
53 <translation>正在寫入安裝日志</translation> 53 <translation>正在寫入安裝日志</translation>
54 </message> 54 </message>
55 <message> 55 <message>
56 <location filename="installbootloader.cpp" line="1093"/> 56 <location filename="installbootloader.cpp" line="1093"/>
57 <source>Downloading file %1.%2</source> 57 <source>Downloading file %1.%2</source>
58 <translation>正在下載文件 %1.%2</translation> 58 <translation>正在下載文件 %1.%2</translation>
59 </message> 59 </message>
60 <message> 60 <message>
61 <location filename="installbootloader.cpp" line="323"/> 61 <location filename="installbootloader.cpp" line="323"/>
62 <source>Could not find the Original Firmware at: %1</source> 62 <source>Could not find the Original Firmware at: %1</source>
63 <translation>找不到厂家固件在: %1</translation> 63 <translation>找不到厂家固件在: %1</translation>
64 </message> 64 </message>
65 <message> 65 <message>
66 <location filename="installbootloader.cpp" line="545"/> 66 <location filename="installbootloader.cpp" line="545"/>
67 <source>Could not remove the Firmware at: %1</source> 67 <source>Could not remove the Firmware at: %1</source>
68 <translation>刪除不了固件在: %1</translation> 68 <translation>刪除不了固件在: %1</translation>
69 </message> 69 </message>
70 <message> 70 <message>
71 <location filename="installbootloader.cpp" line="554"/> 71 <location filename="installbootloader.cpp" line="554"/>
72 <source>Could not copy the Firmware from: %1 to %2</source> 72 <source>Could not copy the Firmware from: %1 to %2</source>
73 <translation>不能复制固件從 %1 到 %2 </translation> 73 <translation>不能复制固件從 %1 到 %2 </translation>
74 </message> 74 </message>
75 <message> 75 <message>
76 <location filename="installbootloader.cpp" line="360"/> 76 <location filename="installbootloader.cpp" line="360"/>
77 <source>Finishing bootloader install</source> 77 <source>Finishing bootloader install</source>
78 <translation>啟動程式安裝完成</translation> 78 <translation>啟動程式安裝完成</translation>
79 </message> 79 </message>
80 <message> 80 <message>
81 <location filename="installbootloader.cpp" line="370"/> 81 <location filename="installbootloader.cpp" line="370"/>
82 <source>Could not find the Firmware at: %1</source> 82 <source>Could not find the Firmware at: %1</source>
83 <translation>找不到固件在: %1</translation> 83 <translation>找不到固件在: %1</translation>
84 </message> 84 </message>
85 <message> 85 <message>
86 <location filename="installbootloader.cpp" line="596"/> 86 <location filename="installbootloader.cpp" line="596"/>
87 <source>Could not rename: %1 to %2</source> 87 <source>Could not rename: %1 to %2</source>
88 <translation>不能把 %1 重命名為 %2</translation> 88 <translation>不能把 %1 重命名為 %2</translation>
89 </message> 89 </message>
90 <message> 90 <message>
91 <location filename="installbootloader.cpp" line="1207"/> 91 <location filename="installbootloader.cpp" line="1207"/>
92 <source>Could not copy: %1 to %2</source> 92 <source>Could not copy: %1 to %2</source>
93 <translation>不能复制 %1 到 %2</translation> 93 <translation>不能复制 %1 到 %2</translation>
94 </message> 94 </message>
95 <message> 95 <message>
96 <location filename="installbootloader.cpp" line="1217"/> 96 <location filename="installbootloader.cpp" line="1217"/>
97 <source>Bootloader install finished successfully.</source> 97 <source>Bootloader install finished successfully.</source>
98 <translation>成功安裝啟動程序</translation> 98 <translation>成功安裝啟動程序</translation>
99 </message> 99 </message>
100 <message> 100 <message>
101 <location filename="installbootloader.cpp" line="1218"/> 101 <location filename="installbootloader.cpp" line="1218"/>
102 <source>To finish the Bootloader installation, follow the steps below.</source> 102 <source>To finish the Bootloader installation, follow the steps below.</source>
103 <translation>請按照以下步驟完成啟動程序的安裝</translation> 103 <translation>請按照以下步驟完成啟動程序的安裝</translation>
104 </message> 104 </message>
105 <message> 105 <message>
106 <location filename="installbootloader.cpp" line="1219"/> 106 <location filename="installbootloader.cpp" line="1219"/>
107 <source>1. Eject/Unmount your Device.</source> 107 <source>1. Eject/Unmount your Device.</source>
108 <translation>1. 彈出/退出你的播放机.</translation> 108 <translation>1. 彈出/退出你的播放机.</translation>
109 </message> 109 </message>
110 <message> 110 <message>
111 <location filename="installbootloader.cpp" line="413"/> 111 <location filename="installbootloader.cpp" line="413"/>
112 <source>2. Unplug USB and any Power adapters.</source> 112 <source>2. Unplug USB and any Power adapters.</source>
113 <translation>2. 拔出USB接線, 斷离所有沖電設備.</translation> 113 <translation>2. 拔出USB接線, 斷离所有沖電設備.</translation>
114 </message> 114 </message>
115 <message> 115 <message>
116 <location filename="installbootloader.cpp" line="414"/> 116 <location filename="installbootloader.cpp" line="414"/>
117 <source>3. Hold POWER to turn the Device off.</source> 117 <source>3. Hold POWER to turn the Device off.</source>
118 <translation>3. 按POWER關机.</translation> 118 <translation>3. 按POWER關机.</translation>
119 </message> 119 </message>
120 <message> 120 <message>
121 <location filename="installbootloader.cpp" line="415"/> 121 <location filename="installbootloader.cpp" line="415"/>
122 <source>4. Toggle the Battery switch on the Device.</source> 122 <source>4. Toggle the Battery switch on the Device.</source>
123 <translation>4. 先關再開電池開關.</translation> 123 <translation>4. 先關再開電池開關.</translation>
124 </message> 124 </message>
125 <message> 125 <message>
126 <location filename="installbootloader.cpp" line="416"/> 126 <location filename="installbootloader.cpp" line="416"/>
127 <source>5. Hold POWER to boot the Rockbox bootloader.</source> 127 <source>5. Hold POWER to boot the Rockbox bootloader.</source>
128 <translation>5. 按POWER啟動 Rockbox 的啟動程序.</translation> 128 <translation>5. 按POWER啟動 Rockbox 的啟動程序.</translation>
129 </message> 129 </message>
130 <message> 130 <message>
131 <location filename="installbootloader.cpp" line="471"/> 131 <location filename="installbootloader.cpp" line="471"/>
132 <source>2. Turn you Device OFF.</source> 132 <source>2. Turn you Device OFF.</source>
133 <translation>2. 關閉你的播放器.</translation> 133 <translation>2. 關閉你的播放器.</translation>
134 </message> 134 </message>
135 <message> 135 <message>
136 <location filename="installbootloader.cpp" line="472"/> 136 <location filename="installbootloader.cpp" line="472"/>
137 <source>3. Insert Charger.</source> 137 <source>3. Insert Charger.</source>
138 <translation>3. 插入充電器.</translation> 138 <translation>3. 插入充電器.</translation>
139 </message> 139 </message>
140 <message> 140 <message>
141 <location filename="installbootloader.cpp" line="582"/> 141 <location filename="installbootloader.cpp" line="582"/>
142 <source>Firmware does not exist: %1</source> 142 <source>Firmware does not exist: %1</source>
143 <translation>固件不存在: %1</translation> 143 <translation>固件不存在: %1</translation>
144 </message> 144 </message>
145 <message> 145 <message>
146 <location filename="installbootloader.cpp" line="639"/> 146 <location filename="installbootloader.cpp" line="639"/>
147 <source>Searching for ipods</source> 147 <source>Searching for ipods</source>
148 <translation>正在尋找 iPods</translation> 148 <translation>正在尋找 iPods</translation>
149 </message> 149 </message>
150 <message> 150 <message>
151 <location filename="installbootloader.cpp" line="645"/> 151 <location filename="installbootloader.cpp" line="645"/>
152 <source>No Ipods found</source> 152 <source>No Ipods found</source>
153 <translation>找不到 iPods</translation> 153 <translation>找不到 iPods</translation>
154 </message> 154 </message>
155 <message> 155 <message>
156 <location filename="installbootloader.cpp" line="651"/> 156 <location filename="installbootloader.cpp" line="651"/>
157 <source>Too many Ipods found</source> 157 <source>Too many Ipods found</source>
158 <translation>找到太多的 iPods</translation> 158 <translation>找到太多的 iPods</translation>
159 </message> 159 </message>
160 <message> 160 <message>
161 <location filename="installbootloader.cpp" line="781"/> 161 <location filename="installbootloader.cpp" line="781"/>
162 <source>could not open ipod</source> 162 <source>could not open ipod</source>
163 <translation>打開不了 iPods</translation> 163 <translation>打開不了 iPods</translation>
164 </message> 164 </message>
165 <message> 165 <message>
166 <location filename="installbootloader.cpp" line="996"/> 166 <location filename="installbootloader.cpp" line="996"/>
167 <source>could not read partitiontable</source> 167 <source>could not read partitiontable</source>
168 <translation>讀不了分區表</translation> 168 <translation>讀不了分區表</translation>
169 </message> 169 </message>
170 <message> 170 <message>
171 <location filename="installbootloader.cpp" line="795"/> 171 <location filename="installbootloader.cpp" line="795"/>
172 <source>No partition 0 on disk</source> 172 <source>No partition 0 on disk</source>
173 <translation>硬盤上沒有0分區</translation> 173 <translation>硬盤上沒有0分區</translation>
174 </message> 174 </message>
175 <message> 175 <message>
176 <location filename="" line="0"/> 176 <location filename="" line="0"/>
177 <source>[INFO] Part Start Sector End Sector Size (MB) Type</source> 177 <source>[INFO] Part Start Sector End Sector Size (MB) Type</source>
178 <translation type="obsolete">[INFO] 分區 開始磁區 結算磁區 大小 (MB) 類別</translation> 178 <translation type="obsolete">[INFO] 分區 開始磁區 結算磁區 大小 (MB) 類別</translation>
179 </message> 179 </message>
180 <message> 180 <message>
181 <location filename="installbootloader.cpp" line="806"/> 181 <location filename="installbootloader.cpp" line="806"/>
182 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source> 182 <source>[INFO] %1 %2 %3 %4 %5 (%6)</source>
183 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation> 183 <translation>[INFO] %1 %2 %3 %4 %5 (%6)</translation>
184 </message> 184 </message>
185 <message> 185 <message>
186 <location filename="installbootloader.cpp" line="823"/> 186 <location filename="installbootloader.cpp" line="823"/>
187 <source>Failed to read firmware directory</source> 187 <source>Failed to read firmware directory</source>
188 <translation>讀不了固件文件夾</translation> 188 <translation>讀不了固件文件夾</translation>
189 </message> 189 </message>
190 <message> 190 <message>
191 <location filename="installbootloader.cpp" line="829"/> 191 <location filename="installbootloader.cpp" line="829"/>
192 <source>Unknown version number in firmware (%1)</source> 192 <source>Unknown version number in firmware (%1)</source>
193 <translation>固件版本不明 (%1)</translation> 193 <translation>固件版本不明 (%1)</translation>
194 </message> 194 </message>
195 <message> 195 <message>
196 <location filename="" line="0"/> 196 <location filename="" line="0"/>
197 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source> 197 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod</source>
198 <translation type="obsolete">警告: 這是苹果格式的iPod, Rockbox 不能在這運行. 請轉換成 Windows 格式的iPod.</translation> 198 <translation type="obsolete">警告: 這是苹果格式的iPod, Rockbox 不能在這運行. 請轉換成 Windows 格式的iPod.</translation>
199 </message> 199 </message>
200 <message> 200 <message>
201 <location filename="installbootloader.cpp" line="847"/> 201 <location filename="installbootloader.cpp" line="847"/>
202 <source>Could not open Ipod in RW mode</source> 202 <source>Could not open Ipod in RW mode</source>
203 <translation>不能以讀寫方式打開iPod</translation> 203 <translation>不能以讀寫方式打開iPod</translation>
204 </message> 204 </message>
205 <message> 205 <message>
206 <location filename="installbootloader.cpp" line="751"/> 206 <location filename="installbootloader.cpp" line="751"/>
207 <source>No bootloader detected.</source> 207 <source>No bootloader detected.</source>
208 <translation>找不到啟動程序.</translation> 208 <translation>找不到啟動程序.</translation>
209 </message> 209 </message>
210 <message> 210 <message>
211 <location filename="installbootloader.cpp" line="966"/> 211 <location filename="installbootloader.cpp" line="966"/>
212 <source>Successfully removed Bootloader</source> 212 <source>Successfully removed Bootloader</source>
213 <translation>成功刪除啟動程序</translation> 213 <translation>成功刪除啟動程序</translation>
214 </message> 214 </message>
215 <message> 215 <message>
216 <location filename="installbootloader.cpp" line="974"/> 216 <location filename="installbootloader.cpp" line="974"/>
217 <source>--delete-bootloader failed.</source> 217 <source>--delete-bootloader failed.</source>
218 <translation>--刪除啟動程序失敗.</translation> 218 <translation>--刪除啟動程序失敗.</translation>
219 </message> 219 </message>
220 <message> 220 <message>
221 <location filename="installbootloader.cpp" line="1031"/> 221 <location filename="installbootloader.cpp" line="1031"/>
222 <source>Successfully added Bootloader</source> 222 <source>Successfully added Bootloader</source>
223 <translation>成功添加啟動程序</translation> 223 <translation>成功添加啟動程序</translation>
224 </message> 224 </message>
225 <message> 225 <message>
226 <location filename="installbootloader.cpp" line="1039"/> 226 <location filename="installbootloader.cpp" line="1039"/>
227 <source>failed to add Bootloader</source> 227 <source>failed to add Bootloader</source>
228 <translation>添加啟動程序失敗</translation> 228 <translation>添加啟動程序失敗</translation>
229 </message> 229 </message>
230 <message> 230 <message>
231 <location filename="installbootloader.cpp" line="882"/> 231 <location filename="installbootloader.cpp" line="882"/>
232 <source>Searching for sansas</source> 232 <source>Searching for sansas</source>
233 <translation>正在尋找 sansas</translation> 233 <translation>正在尋找 sansas</translation>
234 </message> 234 </message>
235 <message> 235 <message>
236 <location filename="installbootloader.cpp" line="888"/> 236 <location filename="installbootloader.cpp" line="888"/>
237 <source>No Sansa found</source> 237 <source>No Sansa found</source>
238 <translation>找不到 Sansa</translation> 238 <translation>找不到 Sansa</translation>
239 </message> 239 </message>
240 <message> 240 <message>
241 <location filename="installbootloader.cpp" line="894"/> 241 <location filename="installbootloader.cpp" line="894"/>
242 <source>Too many Sansas found</source> 242 <source>Too many Sansas found</source>
243 <translation>找到了太多的 sansas</translation> 243 <translation>找到了太多的 sansas</translation>
244 </message> 244 </message>
245 <message> 245 <message>
246 <location filename="installbootloader.cpp" line="989"/> 246 <location filename="installbootloader.cpp" line="989"/>
247 <source>could not open Sansa</source> 247 <source>could not open Sansa</source>
248 <translation>打開不了 sansa</translation> 248 <translation>打開不了 sansa</translation>
249 </message> 249 </message>
250 <message> 250 <message>
251 <location filename="" line="0"/> 251 <location filename="" line="0"/>
252 <source>Disk is not an E200 (%1), aborting.</source> 252 <source>Disk is not an E200 (%1), aborting.</source>
253 <translation type="obsolete">硬盤不是 E200 (%1), 正在取消...</translation> 253 <translation type="obsolete">硬盤不是 E200 (%1), 正在取消...</translation>
254 </message> 254 </message>
255 <message> 255 <message>
256 <location filename="installbootloader.cpp" line="1017"/> 256 <location filename="installbootloader.cpp" line="1017"/>
257 <source>******************************************** 257 <source>********************************************
258OLD ROCKBOX INSTALLATION DETECTED, ABORTING. 258OLD ROCKBOX INSTALLATION DETECTED, ABORTING.
259You must reinstall the original Sansa firmware before running 259You must reinstall the original Sansa firmware before running
260sansapatcher for the first time. 260sansapatcher for the first time.
261See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install 261See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install
262********************************************* 262*********************************************
263</source> 263</source>
264 <translation>******************************************** 264 <translation>********************************************
265找到了舊 ROCKBOX, 正在取消... 265找到了舊 ROCKBOX, 正在取消...
266你必須重新安裝厂家固件才可以第一次 266你必須重新安裝厂家固件才可以第一次
267運行 sansapatcher 267運行 sansapatcher
268參考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文) 268參考 http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (英文)
269********************************************* 269*********************************************
270</translation> 270</translation>
271 </message> 271 </message>
272 <message> 272 <message>
273 <location filename="installbootloader.cpp" line="1024"/> 273 <location filename="installbootloader.cpp" line="1024"/>
274 <source>Could not open Sansa in RW mode</source> 274 <source>Could not open Sansa in RW mode</source>
275 <translation>不能以讀寫方式打開 sansa</translation> 275 <translation>不能以讀寫方式打開 sansa</translation>
276 </message> 276 </message>
277 <message> 277 <message>
278 <location filename="installbootloader.cpp" line="1055"/> 278 <location filename="installbootloader.cpp" line="1055"/>
279 <source>Could not MD5Sum original firmware</source> 279 <source>Could not MD5Sum original firmware</source>
280 <translation>不能驗證厂家固件的MD5sum</translation> 280 <translation>不能驗證厂家固件的MD5sum</translation>
281 </message> 281 </message>
282 <message> 282 <message>
283 <location filename="installbootloader.cpp" line="1085"/> 283 <location filename="installbootloader.cpp" line="1085"/>
284 <source>Could not detect firmware type</source> 284 <source>Could not detect firmware type</source>
285 <translation>找不到固件類別</translation> 285 <translation>找不到固件類別</translation>
286 </message> 286 </message>
287 <message> 287 <message>
288 <location filename="installbootloader.cpp" line="1148"/> 288 <location filename="installbootloader.cpp" line="1148"/>
289 <source>Error in descramble</source> 289 <source>Error in descramble</source>
290 <translation>descramble 錯誤</translation> 290 <translation>descramble 錯誤</translation>
291 </message> 291 </message>
292 <message> 292 <message>
293 <location filename="installbootloader.cpp" line="1158"/> 293 <location filename="installbootloader.cpp" line="1158"/>
294 <source>Error in patching</source> 294 <source>Error in patching</source>
295 <translation>補丁過程錯誤</translation> 295 <translation>補丁過程錯誤</translation>
296 </message> 296 </message>
297 <message> 297 <message>
298 <location filename="installbootloader.cpp" line="1168"/> 298 <location filename="installbootloader.cpp" line="1168"/>
299 <source>Error in scramble</source> 299 <source>Error in scramble</source>
300 <translation>scramble 錯誤</translation> 300 <translation>scramble 錯誤</translation>
301 </message> 301 </message>
302 <message> 302 <message>
303 <location filename="installbootloader.cpp" line="1179"/> 303 <location filename="installbootloader.cpp" line="1179"/>
304 <source>Error in checksumming</source> 304 <source>Error in checksumming</source>
305 <translation>驗證錯誤</translation> 305 <translation>驗證錯誤</translation>
306 </message> 306 </message>
307 <message> 307 <message>
308 <location filename="installbootloader.cpp" line="1220"/> 308 <location filename="installbootloader.cpp" line="1220"/>
309 <source>2. Boot into the original Firmware.</source> 309 <source>2. Boot into the original Firmware.</source>
310 <translation>2. 啟動到厂家固件.</translation> 310 <translation>2. 啟動到厂家固件.</translation>
311 </message> 311 </message>
312 <message> 312 <message>
313 <location filename="installbootloader.cpp" line="1221"/> 313 <location filename="installbootloader.cpp" line="1221"/>
314 <source>3. Use the Firmware flash option in the Original Firmware.</source> 314 <source>3. Use the Firmware flash option in the Original Firmware.</source>
315 <translation>3. 在厂家固件里選擇快閃記憶體.</translation> 315 <translation>3. 在厂家固件里選擇快閃記憶體.</translation>
316 </message> 316 </message>
317 <message> 317 <message>
318 <location filename="installbootloader.cpp" line="1222"/> 318 <location filename="installbootloader.cpp" line="1222"/>
319 <source>4. Reboot.</source> 319 <source>4. Reboot.</source>
320 <translation>4. 重新開机.</translation> 320 <translation>4. 重新開机.</translation>
321 </message> 321 </message>
322 <message> 322 <message>
323 <location filename="installbootloader.cpp" line="533"/> 323 <location filename="installbootloader.cpp" line="533"/>
324 <source>Original Firmware does not exist: %1</source> 324 <source>Original Firmware does not exist: %1</source>
325 <translation>厂家固件不存在 : %1</translation> 325 <translation>厂家固件不存在 : %1</translation>
326 </message> 326 </message>
327 <message> 327 <message>
328 <location filename="installbootloader.cpp" line="800"/> 328 <location filename="installbootloader.cpp" line="800"/>
329 <source>[INFO] Part Start Sector End Sector Size (MB) Type 329 <source>[INFO] Part Start Sector End Sector Size (MB) Type
330</source> 330</source>
331 <translation type="unfinished"></translation> 331 <translation type="unfinished"></translation>
332 </message> 332 </message>
333 <message> 333 <message>
334 <location filename="installbootloader.cpp" line="839"/> 334 <location filename="installbootloader.cpp" line="839"/>
335 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod 335 <source>Warning this is a MacPod, Rockbox doesnt work on this. Convert it to WinPod
336See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> 336See http://www.rockbox.org/wiki/IpodConversionToFAT32</source>
337 <translation type="unfinished"></translation> 337 <translation type="unfinished"></translation>
338 </message> 338 </message>
339 <message> 339 <message>
340 <location filename="installbootloader.cpp" line="1005"/> 340 <location filename="installbootloader.cpp" line="1005"/>
341 <source>Disk is not a Sansa (%1), aborting.</source> 341 <source>Disk is not a Sansa (%1), aborting.</source>
342 <translation type="unfinished"></translation> 342 <translation type="unfinished"></translation>
343 </message> 343 </message>
344</context> 344</context>
345<context> 345<context>
346 <name>BrowseDirtreeFrm</name> 346 <name>BrowseDirtreeFrm</name>
347 <message> 347 <message>
348 <location filename="browsedirtreefrm.ui" line="13"/> 348 <location filename="browsedirtreefrm.ui" line="13"/>
349 <source>Find Directory</source> 349 <source>Find Directory</source>
350 <translation>尋找文件夾</translation> 350 <translation>尋找文件夾</translation>
351 </message> 351 </message>
352 <message> 352 <message>
353 <location filename="browsedirtreefrm.ui" line="19"/> 353 <location filename="browsedirtreefrm.ui" line="19"/>
354 <source>Browse to the destination folder</source> 354 <source>Browse to the destination folder</source>
355 <translation>瀏覽目的地文件夾</translation> 355 <translation>瀏覽目的地文件夾</translation>
356 </message> 356 </message>
357 <message> 357 <message>
358 <location filename="browsedirtreefrm.ui" line="47"/> 358 <location filename="browsedirtreefrm.ui" line="47"/>
359 <source>&amp;Ok</source> 359 <source>&amp;Ok</source>
360 <translation>&amp;OK</translation> 360 <translation>&amp;OK</translation>
361 </message> 361 </message>
362 <message> 362 <message>
363 <location filename="browsedirtreefrm.ui" line="57"/> 363 <location filename="browsedirtreefrm.ui" line="57"/>
364 <source>&amp;Cancel</source> 364 <source>&amp;Cancel</source>
365 <translation>&amp;取消</translation> 365 <translation>&amp;取消</translation>
366 </message> 366 </message>
367</context> 367</context>
368<context> 368<context>
369 <name>BrowseOFFrm</name> 369 <name>BrowseOFFrm</name>
370 <message> 370 <message>
371 <location filename="browseoffrm.ui" line="13"/> 371 <location filename="browseoffrm.ui" line="13"/>
372 <source>Find original Firmware</source> 372 <source>Find original Firmware</source>
373 <translation>尋找厂家固件</translation> 373 <translation>尋找厂家固件</translation>
374 </message> 374 </message>
375 <message> 375 <message>
376 <location filename="browseoffrm.ui" line="19"/> 376 <location filename="browseoffrm.ui" line="19"/>
377 <source>Browse for a downloaded copy of the original firmware</source> 377 <source>Browse for a downloaded copy of the original firmware</source>
378 <translation>尋找已下載的厂家固件</translation> 378 <translation>尋找已下載的厂家固件</translation>
379 </message> 379 </message>
380 <message> 380 <message>
381 <location filename="browseoffrm.ui" line="32"/> 381 <location filename="browseoffrm.ui" line="32"/>
382 <source>Browse</source> 382 <source>Browse</source>
383 <translation>瀏覽</translation> 383 <translation>瀏覽</translation>
384 </message> 384 </message>
385 <message> 385 <message>
386 <location filename="browseoffrm.ui" line="54"/> 386 <location filename="browseoffrm.ui" line="54"/>
387 <source>&amp;Ok</source> 387 <source>&amp;Ok</source>
388 <translation>&amp;OK</translation> 388 <translation>&amp;OK</translation>
389 </message> 389 </message>
390 <message> 390 <message>
391 <location filename="browseoffrm.ui" line="64"/> 391 <location filename="browseoffrm.ui" line="64"/>
392 <source>&amp;Cancel</source> 392 <source>&amp;Cancel</source>
393 <translation>&amp;取消</translation> 393 <translation>&amp;取消</translation>
394 </message> 394 </message>
395</context> 395</context>
396<context> 396<context>
397 <name>Config</name> 397 <name>Config</name>
398 <message> 398 <message>
399 <location filename="configure.cpp" line="110"/> 399 <location filename="configure.cpp" line="110"/>
400 <source>Language changed</source> 400 <source>Language changed</source>
401 <translation>語言已改變</translation> 401 <translation>語言已改變</translation>
402 </message> 402 </message>
403 <message> 403 <message>
404 <location filename="configure.cpp" line="111"/> 404 <location filename="configure.cpp" line="111"/>
405 <source>You need to restart the application for the changed language to take effect.</source> 405 <source>You need to restart the application for the changed language to take effect.</source>
406 <translation>你需要重新開啟本軟件才能使用新語言.</translation> 406 <translation>你需要重新開啟本軟件才能使用新語言.</translation>
407 </message> 407 </message>
408 <message> 408 <message>
409 <location filename="" line="0"/> 409 <location filename="" line="0"/>
410 <source>Current cache size is %1 kiB.</source> 410 <source>Current cache size is %1 kiB.</source>
411 <translation type="obsolete">現在緩沖的大小是 %1 kiB.</translation> 411 <translation type="obsolete">現在緩沖的大小是 %1 kiB.</translation>
412 </message> 412 </message>
413 <message> 413 <message>
414 <location filename="configure.cpp" line="593"/> 414 <location filename="configure.cpp" line="593"/>
415 <source>Autodetection</source> 415 <source>Autodetection</source>
416 <translation>自動識別</translation> 416 <translation>自動識別</translation>
417 </message> 417 </message>
418 <message> 418 <message>
419 <location filename="configure.cpp" line="587"/> 419 <location filename="configure.cpp" line="587"/>
420 <source>Could not detect a Mountpoint. 420 <source>Could not detect a Mountpoint.
421Select your Mountpoint manually.</source> 421Select your Mountpoint manually.</source>
422 <translation>找不到 mountpoint 422 <translation>找不到 mountpoint
423請手動選擇你的 mountpoing.</translation> 423請手動選擇你的 mountpoing.</translation>
424 </message> 424 </message>
425 <message> 425 <message>
426 <location filename="configure.cpp" line="595"/> 426 <location filename="configure.cpp" line="595"/>
427 <source>Could not detect a device. 427 <source>Could not detect a device.
428Select your device and Mountpoint manually.</source> 428Select your device and Mountpoint manually.</source>
429 <translation>不能識別你的播放器 429 <translation>不能識別你的播放器
430請手動選擇.</translation> 430請手動選擇.</translation>
431 </message> 431 </message>
432 <message> 432 <message>
433 <location filename="configure.cpp" line="603"/> 433 <location filename="configure.cpp" line="603"/>
434 <source>Really delete cache?</source> 434 <source>Really delete cache?</source>
435 <translation>你肯定要刪除緩沖嗎?</translation> 435 <translation>你肯定要刪除緩沖嗎?</translation>
436 </message> 436 </message>
437 <message> 437 <message>
438 <location filename="configure.cpp" line="606"/> 438 <location filename="configure.cpp" line="606"/>
439 <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> 439 <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>
440 <translation>你真的肯定要刪除緩沖嗎? 請确認你的設定是正确的因為這會刪除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夾 !</translation> 440 <translation>你真的肯定要刪除緩沖嗎? 請确認你的設定是正确的因為這會刪除 &lt;b&gt;全部&lt;/b&gt; 的文件在此文件夾 !</translation>
441 </message> 441 </message>
442 <message> 442 <message>
443 <location filename="configure.cpp" line="612"/> 443 <location filename="configure.cpp" line="612"/>
444 <source>Path wrong!</source> 444 <source>Path wrong!</source>
445 <translation>路徑錯誤!</translation> 445 <translation>路徑錯誤!</translation>
446 </message> 446 </message>
447 <message> 447 <message>
448 <location filename="configure.cpp" line="613"/> 448 <location filename="configure.cpp" line="613"/>
449 <source>The cache path is invalid. Aborting.</source> 449 <source>The cache path is invalid. Aborting.</source>
450 <translation>緩沖路徑錯誤. 正在取消.</translation> 450 <translation>緩沖路徑錯誤. 正在取消.</translation>
451 </message> 451 </message>
452 <message> 452 <message>
453 <location filename="configure.cpp" line="56"/> 453 <location filename="configure.cpp" line="56"/>
454 <source> (%1)</source> 454 <source> (%1)</source>
455 <translation type="unfinished"></translation> 455 <translation type="unfinished"></translation>
456 </message> 456 </message>
457 <message> 457 <message>
458 <location filename="configure.cpp" line="220"/> 458 <location filename="configure.cpp" line="220"/>
459 <source>Current cache size is %L1 kiB.</source> 459 <source>Current cache size is %L1 kiB.</source>
460 <translation type="unfinished"></translation> 460 <translation type="unfinished"></translation>
461 </message> 461 </message>
462 <message> 462 <message>
463 <location filename="configure.cpp" line="418"/> 463 <location filename="configure.cpp" line="418"/>
464 <source>(system proxy is disabled)</source> 464 <source>(system proxy is disabled)</source>
465 <translation type="unfinished"></translation> 465 <translation type="unfinished"></translation>
466 </message> 466 </message>
467 <message> 467 <message>
468 <location filename="configure.cpp" line="485"/> 468 <location filename="configure.cpp" line="485"/>
469 <source>Select your device</source> 469 <source>Select your device</source>
470 <translation type="unfinished"></translation> 470 <translation type="unfinished"></translation>
471 </message> 471 </message>
472 <message> 472 <message>
473 <location filename="configure.cpp" line="569"/> 473 <location filename="configure.cpp" line="569"/>
474 <source>Sansa e200 in MTP mode found! 474 <source>Sansa e200 in MTP mode found!
475You need to change your player to MSC mode for installation. </source> 475You need to change your player to MSC mode for installation. </source>
476 <translation type="unfinished"></translation> 476 <translation type="unfinished"></translation>
477 </message> 477 </message>
478 <message> 478 <message>
479 <location filename="configure.cpp" line="572"/> 479 <location filename="configure.cpp" line="572"/>
480 <source>H10 20GB in MTP mode found! 480 <source>H10 20GB in MTP mode found!
481You need to change your player to UMS mode for installation. </source> 481You need to change your player to UMS mode for installation. </source>
482 <translation type="unfinished"></translation> 482 <translation type="unfinished"></translation>
483 </message> 483 </message>
484 <message> 484 <message>
485 <location filename="configure.cpp" line="573"/> 485 <location filename="configure.cpp" line="573"/>
486 <source>Unless you changed this installation will fail!</source> 486 <source>Unless you changed this installation will fail!</source>
487 <translation type="unfinished"></translation> 487 <translation type="unfinished"></translation>
488 </message> 488 </message>
489 <message> 489 <message>
490 <location filename="configure.cpp" line="575"/> 490 <location filename="configure.cpp" line="575"/>
491 <source>Fatal error</source> 491 <source>Fatal error</source>
492 <translation type="unfinished"></translation> 492 <translation type="unfinished"></translation>
493 </message> 493 </message>
494</context> 494</context>
495<context> 495<context>
496 <name>ConfigForm</name> 496 <name>ConfigForm</name>
497 <message> 497 <message>
498 <location filename="configurefrm.ui" line="13"/> 498 <location filename="configurefrm.ui" line="13"/>
499 <source>Configuration</source> 499 <source>Configuration</source>
500 <translation>設置</translation> 500 <translation>設置</translation>
501 </message> 501 </message>
502 <message> 502 <message>
503 <location filename="configurefrm.ui" line="19"/> 503 <location filename="configurefrm.ui" line="19"/>
504 <source>Configure Rockbox Utility</source> 504 <source>Configure Rockbox Utility</source>
505 <translation>設置 Rockbox 安裝程序</translation> 505 <translation>設置 Rockbox 安裝程序</translation>
506 </message> 506 </message>
507 <message> 507 <message>
508 <location filename="configurefrm.ui" line="30"/> 508 <location filename="configurefrm.ui" line="30"/>
509 <source>&amp;Device</source> 509 <source>&amp;Device</source>
510 <translation>&amp;播放器</translation> 510 <translation>&amp;播放器</translation>
511 </message> 511 </message>
512 <message> 512 <message>
513 <location filename="configurefrm.ui" line="39"/> 513 <location filename="configurefrm.ui" line="39"/>
514 <source>Select your device in the &amp;filesystem</source> 514 <source>Select your device in the &amp;filesystem</source>
515 <translation>請選擇你的播放器在你的 &amp;文件系統</translation> 515 <translation>請選擇你的播放器在你的 &amp;文件系統</translation>
516 </message> 516 </message>
517 <message> 517 <message>
518 <location filename="configurefrm.ui" line="286"/> 518 <location filename="configurefrm.ui" line="286"/>
519 <source>&amp;Browse</source> 519 <source>&amp;Browse</source>
520 <translation>&amp;瀏覽</translation> 520 <translation>&amp;瀏覽</translation>
521 </message> 521 </message>
522 <message> 522 <message>
523 <location filename="configurefrm.ui" line="66"/> 523 <location filename="configurefrm.ui" line="66"/>
524 <source>&amp;Select your audio player</source> 524 <source>&amp;Select your audio player</source>
525 <translation>&amp;選擇你的音樂播放器</translation> 525 <translation>&amp;選擇你的音樂播放器</translation>
526 </message> 526 </message>
527 <message> 527 <message>
528 <location filename="configurefrm.ui" line="77"/> 528 <location filename="configurefrm.ui" line="77"/>
529 <source>1</source> 529 <source>1</source>
530 <translation>1</translation> 530 <translation>1</translation>
531 </message> 531 </message>
532 <message> 532 <message>
533 <location filename="configurefrm.ui" line="98"/> 533 <location filename="configurefrm.ui" line="98"/>
534 <source>&amp;Autodetect</source> 534 <source>&amp;Autodetect</source>
535 <translation>自動識別(&amp;A)</translation> 535 <translation>自動識別(&amp;A)</translation>
536 </message> 536 </message>
537 <message> 537 <message>
538 <location filename="configurefrm.ui" line="109"/> 538 <location filename="configurefrm.ui" line="109"/>
539 <source>&amp;Proxy</source> 539 <source>&amp;Proxy</source>
540 <translation>网絡代理服務(&amp;P)</translation> 540 <translation>网絡代理服務(&amp;P)</translation>
541 </message> 541 </message>
542 <message> 542 <message>
543 <location filename="configurefrm.ui" line="118"/> 543 <location filename="configurefrm.ui" line="118"/>
544 <source>&amp;No Proxy</source> 544 <source>&amp;No Proxy</source>
545 <translation>沒有网絡代理服務(&amp;N)</translation> 545 <translation>沒有网絡代理服務(&amp;N)</translation>
546 </message> 546 </message>
547 <message> 547 <message>
548 <location filename="configurefrm.ui" line="128"/> 548 <location filename="configurefrm.ui" line="128"/>
549 <source>Use S&amp;ystem values</source> 549 <source>Use S&amp;ystem values</source>
550 <translation>使用系統值(&amp;S)</translation> 550 <translation>使用系統值(&amp;S)</translation>
551 </message> 551 </message>
552 <message> 552 <message>
553 <location filename="configurefrm.ui" line="135"/> 553 <location filename="configurefrm.ui" line="135"/>
554 <source>&amp;Manual Proxy settings</source> 554 <source>&amp;Manual Proxy settings</source>
555 <translation>手動設置代理服務(&amp;M)</translation> 555 <translation>手動設置代理服務(&amp;M)</translation>
556 </message> 556 </message>
557 <message> 557 <message>
558 <location filename="configurefrm.ui" line="142"/> 558 <location filename="configurefrm.ui" line="142"/>
559 <source>Proxy Values</source> 559 <source>Proxy Values</source>
560 <translation>代理服務值</translation> 560 <translation>代理服務值</translation>
561 </message> 561 </message>
562 <message> 562 <message>
563 <location filename="configurefrm.ui" line="148"/> 563 <location filename="configurefrm.ui" line="148"/>
564 <source>&amp;Host:</source> 564 <source>&amp;Host:</source>
565 <translation>&amp;主机:</translation> 565 <translation>&amp;主机:</translation>
566 </message> 566 </message>
567 <message> 567 <message>
568 <location filename="configurefrm.ui" line="165"/> 568 <location filename="configurefrm.ui" line="165"/>
569 <source>&amp;Port:</source> 569 <source>&amp;Port:</source>
570 <translation>&amp;接口:</translation> 570 <translation>&amp;接口:</translation>
571 </message> 571 </message>
572 <message> 572 <message>
573 <location filename="configurefrm.ui" line="188"/> 573 <location filename="configurefrm.ui" line="188"/>
574 <source>&amp;Username</source> 574 <source>&amp;Username</source>
575 <translation>&amp;用戶名</translation> 575 <translation>&amp;用戶名</translation>
576 </message> 576 </message>
577 <message> 577 <message>
578 <location filename="configurefrm.ui" line="198"/> 578 <location filename="configurefrm.ui" line="198"/>
579 <source>Pass&amp;word</source> 579 <source>Pass&amp;word</source>
580 <translation>&amp;密碼</translation> 580 <translation>&amp;密碼</translation>
581 </message> 581 </message>
582 <message> 582 <message>
583 <location filename="configurefrm.ui" line="225"/> 583 <location filename="configurefrm.ui" line="225"/>
584 <source>&amp;Language</source> 584 <source>&amp;Language</source>
585 <translation>&amp;語言</translation> 585 <translation>&amp;語言</translation>
586 </message> 586 </message>
587 <message> 587 <message>
588 <location filename="configurefrm.ui" line="238"/> 588 <location filename="configurefrm.ui" line="238"/>
589 <source>Cac&amp;he</source> 589 <source>Cac&amp;he</source>
590 <translation>&amp;緩沖</translation> 590 <translation>&amp;緩沖</translation>
591 </message> 591 </message>
592 <message> 592 <message>
593 <location filename="configurefrm.ui" line="244"/> 593 <location filename="configurefrm.ui" line="244"/>
594 <source>Download cache settings</source> 594 <source>Download cache settings</source>
595 <translation>下載緩沖設置</translation> 595 <translation>下載緩沖設置</translation>
596 </message> 596 </message>
597 <message> 597 <message>
598 <location filename="configurefrm.ui" line="250"/> 598 <location filename="configurefrm.ui" line="250"/>
599 <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> 599 <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>
600 <translation>Rockbox 安裝程序使用本机緩沖來保存网絡資料. 你可以改變這個緩沖的路徑. 啟動下線模式后, 你還可以用路徑來保存文件.</translation> 600 <translation>Rockbox 安裝程序使用本机緩沖來保存网絡資料. 你可以改變這個緩沖的路徑. 啟動下線模式后, 你還可以用路徑來保存文件.</translation>
601 </message> 601 </message>
602 <message> 602 <message>
603 <location filename="configurefrm.ui" line="260"/> 603 <location filename="configurefrm.ui" line="260"/>
604 <source>Current cache size is %1</source> 604 <source>Current cache size is %1</source>
605 <translation>現在緩沖大小是 %1</translation> 605 <translation>現在緩沖大小是 %1</translation>
606 </message> 606 </message>
607 <message> 607 <message>
608 <location filename="configurefrm.ui" line="269"/> 608 <location filename="configurefrm.ui" line="269"/>
609 <source>P&amp;ath</source> 609 <source>P&amp;ath</source>
610 <translation>&amp;路徑</translation> 610 <translation>&amp;路徑</translation>
611 </message> 611 </message>
612 <message> 612 <message>
613 <location filename="configurefrm.ui" line="279"/> 613 <location filename="configurefrm.ui" line="279"/>
614 <source>Entering an invalid folder will reset the path to the systems temporary path.</source> 614 <source>Entering an invalid folder will reset the path to the systems temporary path.</source>
615 <translation>輸入無效地址會重設到系統臨時文件夾.</translation> 615 <translation>輸入無效地址會重設到系統臨時文件夾.</translation>
616 </message> 616 </message>
617 <message> 617 <message>
618 <location filename="configurefrm.ui" line="300"/> 618 <location filename="configurefrm.ui" line="300"/>
619 <source>Disable local &amp;download cache</source> 619 <source>Disable local &amp;download cache</source>
620 <translation>&amp;不使用本机緩沖</translation> 620 <translation>&amp;不使用本机緩沖</translation>
621 </message> 621 </message>
622 <message> 622 <message>
623 <location filename="configurefrm.ui" line="307"/> 623 <location filename="configurefrm.ui" line="307"/>
624 <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> 624 <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>
625 <translation>所有資料, 包括更新資料, 將會從本机緩沖里拿取. 不要選擇此模式如果你不需要下線安裝. 注意: 你需要先用网絡做至少一次安裝才可以下載到需要的文件.</translation> 625 <translation>所有資料, 包括更新資料, 將會從本机緩沖里拿取. 不要選擇此模式如果你不需要下線安裝. 注意: 你需要先用网絡做至少一次安裝才可以下載到需要的文件.</translation>
626 </message> 626 </message>
627 <message> 627 <message>
628 <location filename="configurefrm.ui" line="310"/> 628 <location filename="configurefrm.ui" line="310"/>
629 <source>O&amp;ffline mode</source> 629 <source>O&amp;ffline mode</source>
630 <translation>&amp;下線安裝</translation> 630 <translation>&amp;下線安裝</translation>
631 </message> 631 </message>
632 <message> 632 <message>
633 <location filename="configurefrm.ui" line="345"/> 633 <location filename="configurefrm.ui" line="345"/>
634 <source>Clean cache &amp;now</source> 634 <source>Clean cache &amp;now</source>
635 <translation>&amp;現在清除緩沖文件夾</translation> 635 <translation>&amp;現在清除緩沖文件夾</translation>
636 </message> 636 </message>
637 <message> 637 <message>
638 <location filename="configurefrm.ui" line="356"/> 638 <location filename="configurefrm.ui" line="356"/>
639 <source>&amp;TTS &amp;&amp; Encoder</source> 639 <source>&amp;TTS &amp;&amp; Encoder</source>
640 <translation>&amp;TTS &amp;&amp; 信號轉換器</translation> 640 <translation>&amp;TTS &amp;&amp; 信號轉換器</translation>
641 </message> 641 </message>
642 <message> 642 <message>
643 <location filename="configurefrm.ui" line="365"/> 643 <location filename="configurefrm.ui" line="365"/>
644 <source>TTS Engine</source> 644 <source>TTS Engine</source>
645 <translation>TTS 引擎</translation> 645 <translation>TTS 引擎</translation>
646 </message> 646 </message>
647 <message> 647 <message>
648 <location filename="" line="0"/> 648 <location filename="" line="0"/>
649 <source>&amp;Select TTS profile</source> 649 <source>&amp;Select TTS profile</source>
650 <translation type="obsolete">&amp; 選擇 TTS 個人設置</translation> 650 <translation type="obsolete">&amp; 選擇 TTS 個人設置</translation>
651 </message> 651 </message>
652 <message> 652 <message>
653 <location filename="" line="0"/> 653 <location filename="" line="0"/>
654 <source>TTS executable</source> 654 <source>TTS executable</source>
655 <translation type="obsolete">TTS 可執行文件</translation> 655 <translation type="obsolete">TTS 可執行文件</translation>
656 </message> 656 </message>
657 <message> 657 <message>
658 <location filename="" line="0"/> 658 <location filename="" line="0"/>
659 <source>TTS Options</source> 659 <source>TTS Options</source>
660 <translation type="obsolete">TTS 設置</translation> 660 <translation type="obsolete">TTS 設置</translation>
661 </message> 661 </message>
662 <message> 662 <message>
663 <location filename="configurefrm.ui" line="421"/> 663 <location filename="configurefrm.ui" line="421"/>
664 <source>Encoder Engine</source> 664 <source>Encoder Engine</source>
665 <translation>信號轉換器引擎</translation> 665 <translation>信號轉換器引擎</translation>
666 </message> 666 </message>
667 <message> 667 <message>
668 <location filename="" line="0"/> 668 <location filename="" line="0"/>
669 <source>Select &amp;encoder profile</source> 669 <source>Select &amp;encoder profile</source>
670 <translation type="obsolete">&amp;選擇引擎設置</translation> 670 <translation type="obsolete">&amp;選擇引擎設置</translation>
671 </message> 671 </message>
672 <message> 672 <message>
673 <location filename="" line="0"/> 673 <location filename="" line="0"/>
674 <source>Encoder executable</source> 674 <source>Encoder executable</source>
675 <translation type="obsolete">引擎可執行文件</translation> 675 <translation type="obsolete">引擎可執行文件</translation>
676 </message> 676 </message>
677 <message> 677 <message>
678 <location filename="" line="0"/> 678 <location filename="" line="0"/>
679 <source>B&amp;rowse</source> 679 <source>B&amp;rowse</source>
680 <translation type="obsolete">&amp;瀏覽</translation> 680 <translation type="obsolete">&amp;瀏覽</translation>
681 </message> 681 </message>
682 <message> 682 <message>
683 <location filename="" line="0"/> 683 <location filename="" line="0"/>
684 <source>Encoder options</source> 684 <source>Encoder options</source>
685 <translation type="obsolete">信號轉換器設置</translation> 685 <translation type="obsolete">信號轉換器設置</translation>
686 </message> 686 </message>
687 <message> 687 <message>
688 <location filename="configurefrm.ui" line="507"/> 688 <location filename="configurefrm.ui" line="507"/>
689 <source>&amp;Ok</source> 689 <source>&amp;Ok</source>
690 <translation>&amp;OK</translation> 690 <translation>&amp;OK</translation>
691 </message> 691 </message>
692 <message> 692 <message>
693 <location filename="configurefrm.ui" line="517"/> 693 <location filename="configurefrm.ui" line="517"/>
694 <source>&amp;Cancel</source> 694 <source>&amp;Cancel</source>
695 <translation>&amp;取消</translation> 695 <translation>&amp;取消</translation>
696 </message> 696 </message>
697 <message> 697 <message>
698 <location filename="configurefrm.ui" line="371"/> 698 <location filename="configurefrm.ui" line="371"/>
699 <source>&amp;Select TTS Engine</source> 699 <source>&amp;Select TTS Engine</source>
700 <translation type="unfinished"></translation> 700 <translation type="unfinished"></translation>
701 </message> 701 </message>
702 <message> 702 <message>
703 <location filename="configurefrm.ui" line="384"/> 703 <location filename="configurefrm.ui" line="384"/>
704 <source>Configure TTS Engine</source> 704 <source>Configure TTS Engine</source>
705 <translation type="unfinished"></translation> 705 <translation type="unfinished"></translation>
706 </message> 706 </message>
707 <message> 707 <message>
708 <location filename="configurefrm.ui" line="447"/> 708 <location filename="configurefrm.ui" line="447"/>
709 <source>Configuration invalid !</source> 709 <source>Configuration invalid !</source>
710 <translation type="unfinished"></translation> 710 <translation type="unfinished"></translation>
711 </message> 711 </message>
712 <message> 712 <message>
713 <location filename="configurefrm.ui" line="408"/> 713 <location filename="configurefrm.ui" line="408"/>
714 <source>Configure &amp;TTS</source> 714 <source>Configure &amp;TTS</source>
715 <translation type="unfinished"></translation> 715 <translation type="unfinished"></translation>
716 </message> 716 </message>
717 <message> 717 <message>
718 <location filename="configurefrm.ui" line="427"/> 718 <location filename="configurefrm.ui" line="427"/>
719 <source>Select &amp;encoder</source> 719 <source>Select &amp;encoder</source>
720 <translation type="unfinished"></translation> 720 <translation type="unfinished"></translation>
721 </message> 721 </message>
722 <message> 722 <message>
723 <location filename="configurefrm.ui" line="440"/> 723 <location filename="configurefrm.ui" line="440"/>
724 <source>Configure encoder</source> 724 <source>Configure encoder</source>
725 <translation type="unfinished"></translation> 725 <translation type="unfinished"></translation>
726 </message> 726 </message>
727 <message> 727 <message>
728 <location filename="configurefrm.ui" line="464"/> 728 <location filename="configurefrm.ui" line="464"/>
729 <source> Configure &amp;Enc</source> 729 <source> Configure &amp;Enc</source>
730 <translation type="unfinished"></translation> 730 <translation type="unfinished"></translation>
731 </message> 731 </message>
732</context> 732</context>
733<context> 733<context>
734 <name>Configure</name> 734 <name>Configure</name>
735 <message> 735 <message>
736 <location filename="configure.cpp" line="469"/> 736 <location filename="configure.cpp" line="469"/>
737 <source>English</source> 737 <source>English</source>
738 <translation type="unfinished">中文 (Chinese Traditional)</translation> 738 <translation type="unfinished">中文 (Chinese Traditional)</translation>
739 </message> 739 </message>
740</context> 740</context>
741<context> 741<context>
742 <name>CreateVoiceFrm</name> 742 <name>CreateVoiceFrm</name>
743 <message> 743 <message>
744 <location filename="createvoicefrm.ui" line="16"/> 744 <location filename="createvoicefrm.ui" line="16"/>
745 <source>Create Voice File</source> 745 <source>Create Voice File</source>
746 <translation type="unfinished"></translation> 746 <translation type="unfinished"></translation>
747 </message> 747 </message>
748 <message> 748 <message>
749 <location filename="createvoicefrm.ui" line="41"/> 749 <location filename="createvoicefrm.ui" line="41"/>
750 <source>Select the Language you want to generate a voicefile for:</source> 750 <source>Select the Language you want to generate a voicefile for:</source>
751 <translation type="unfinished"></translation> 751 <translation type="unfinished"></translation>
752 </message> 752 </message>
753 <message> 753 <message>
754 <location filename="createvoicefrm.ui" line="51"/> 754 <location filename="createvoicefrm.ui" line="51"/>
755 <source>Generation settings</source> 755 <source>Generation settings</source>
756 <translation type="unfinished">語音合成設置</translation> 756 <translation type="unfinished">語音合成設置</translation>
757 </message> 757 </message>
758 <message> 758 <message>
759 <location filename="createvoicefrm.ui" line="57"/> 759 <location filename="createvoicefrm.ui" line="57"/>
760 <source>Encoder profile:</source> 760 <source>Encoder profile:</source>
761 <translation type="unfinished">轉化器設置:</translation> 761 <translation type="unfinished">轉化器設置:</translation>
762 </message> 762 </message>
763 <message> 763 <message>
764 <location filename="createvoicefrm.ui" line="64"/> 764 <location filename="createvoicefrm.ui" line="64"/>
765 <source>TTS profile:</source> 765 <source>TTS profile:</source>
766 <translation type="unfinished">TTS 設置:</translation> 766 <translation type="unfinished">TTS 設置:</translation>
767 </message> 767 </message>
768 <message> 768 <message>
769 <location filename="createvoicefrm.ui" line="77"/> 769 <location filename="createvoicefrm.ui" line="77"/>
770 <source>Change</source> 770 <source>Change</source>
771 <translation type="unfinished"></translation> 771 <translation type="unfinished"></translation>
772 </message> 772 </message>
773 <message> 773 <message>
774 <location filename="createvoicefrm.ui" line="128"/> 774 <location filename="createvoicefrm.ui" line="128"/>
775 <source>&amp;Install</source> 775 <source>&amp;Install</source>
776 <translation type="unfinished"></translation> 776 <translation type="unfinished"></translation>
777 </message> 777 </message>
778 <message> 778 <message>
779 <location filename="createvoicefrm.ui" line="138"/> 779 <location filename="createvoicefrm.ui" line="138"/>
780 <source>&amp;Cancel</source> 780 <source>&amp;Cancel</source>
781 <translation type="unfinished">&amp;取消</translation> 781 <translation type="unfinished">&amp;取消</translation>
782 </message> 782 </message>
783 <message> 783 <message>
784 <location filename="createvoicefrm.ui" line="152"/> 784 <location filename="createvoicefrm.ui" line="152"/>
785 <source>Wavtrim Threshold</source> 785 <source>Wavtrim Threshold</source>
786 <translation type="unfinished"></translation> 786 <translation type="unfinished"></translation>
787 </message> 787 </message>
788</context> 788</context>
789<context> 789<context>
790 <name>CreateVoiceWindow</name> 790 <name>CreateVoiceWindow</name>
791 <message> 791 <message>
792 <location filename="createvoicewindow.cpp" line="96"/> 792 <location filename="createvoicewindow.cpp" line="96"/>
793 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 793 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
794 <translation type="unfinished"></translation> 794 <translation type="unfinished"></translation>
795 </message> 795 </message>
796 <message> 796 <message>
797 <location filename="createvoicewindow.cpp" line="98"/> 797 <location filename="createvoicewindow.cpp" line="98"/>
798 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 798 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
799 <translation type="unfinished"></translation> 799 <translation type="unfinished"></translation>
800 </message> 800 </message>
801 <message> 801 <message>
802 <location filename="createvoicewindow.cpp" line="106"/> 802 <location filename="createvoicewindow.cpp" line="106"/>
803 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 803 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
804 <translation type="unfinished"></translation> 804 <translation type="unfinished"></translation>
805 </message> 805 </message>
806</context> 806</context>
807<context> 807<context>
808 <name>EncExesCfgFrm</name> 808 <name>EncExesCfgFrm</name>
809 <message> 809 <message>
810 <location filename="encexescfgfrm.ui" line="13"/> 810 <location filename="encexescfgfrm.ui" line="13"/>
811 <source>Configuration</source> 811 <source>Configuration</source>
812 <translation type="unfinished">設置</translation> 812 <translation type="unfinished">設置</translation>
813 </message> 813 </message>
814 <message> 814 <message>
815 <location filename="encexescfgfrm.ui" line="19"/> 815 <location filename="encexescfgfrm.ui" line="19"/>
816 <source>Configure Encoder</source> 816 <source>Configure Encoder</source>
817 <translation type="unfinished"></translation> 817 <translation type="unfinished"></translation>
818 </message> 818 </message>
819 <message> 819 <message>
820 <location filename="encexescfgfrm.ui" line="31"/> 820 <location filename="encexescfgfrm.ui" line="31"/>
821 <source>Path to Encoder</source> 821 <source>Path to Encoder</source>
822 <translation type="unfinished"></translation> 822 <translation type="unfinished"></translation>
823 </message> 823 </message>
824 <message> 824 <message>
825 <location filename="encexescfgfrm.ui" line="43"/> 825 <location filename="encexescfgfrm.ui" line="43"/>
826 <source>&amp;Browse</source> 826 <source>&amp;Browse</source>
827 <translation type="unfinished">&amp;瀏覽</translation> 827 <translation type="unfinished">&amp;瀏覽</translation>
828 </message> 828 </message>
829 <message> 829 <message>
830 <location filename="encexescfgfrm.ui" line="52"/> 830 <location filename="encexescfgfrm.ui" line="52"/>
831 <source>Encoder options</source> 831 <source>Encoder options</source>
832 <translation type="unfinished">信號轉換器設置</translation> 832 <translation type="unfinished">信號轉換器設置</translation>
833 </message> 833 </message>
834 <message> 834 <message>
835 <location filename="encexescfgfrm.ui" line="77"/> 835 <location filename="encexescfgfrm.ui" line="77"/>
836 <source>Reset</source> 836 <source>Reset</source>
837 <translation type="unfinished"></translation> 837 <translation type="unfinished"></translation>
838 </message> 838 </message>
839 <message> 839 <message>
840 <location filename="encexescfgfrm.ui" line="97"/> 840 <location filename="encexescfgfrm.ui" line="97"/>
841 <source>&amp;Ok</source> 841 <source>&amp;Ok</source>
842 <translation type="unfinished">&amp;OK</translation> 842 <translation type="unfinished">&amp;OK</translation>
843 </message> 843 </message>
844 <message> 844 <message>
845 <location filename="encexescfgfrm.ui" line="107"/> 845 <location filename="encexescfgfrm.ui" line="107"/>
846 <source>&amp;Cancel</source> 846 <source>&amp;Cancel</source>
847 <translation type="unfinished">&amp;取消</translation> 847 <translation type="unfinished">&amp;取消</translation>
848 </message> 848 </message>
849</context> 849</context>
850<context> 850<context>
851 <name>Install</name> 851 <name>Install</name>
852 <message> 852 <message>
853 <location filename="install.cpp" line="55"/> 853 <location filename="install.cpp" line="55"/>
854 <source>Mount point is wrong!</source> 854 <source>Mount point is wrong!</source>
855 <translation>Mountpoint 錯誤!</translation> 855 <translation>Mountpoint 錯誤!</translation>
856 </message> 856 </message>
857 <message> 857 <message>
858 <location filename="install.cpp" line="141"/> 858 <location filename="install.cpp" line="141"/>
859 <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> 859 <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>
860 <translation>這是最新的Rockbox版本. 每一個更改后這版本就會更新. 最新的版本是 r%1 (%2).</translation> 860 <translation>這是最新的Rockbox版本. 每一個更改后這版本就會更新. 最新的版本是 r%1 (%2).</translation>
861 </message> 861 </message>
862 <message> 862 <message>
863 <location filename="install.cpp" line="145"/> 863 <location filename="install.cpp" line="145"/>
864 <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> 864 <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>
865 <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation> 865 <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. &lt;b&gt;(推荐)&lt;/b&gt;</translation>
866 </message> 866 </message>
867 <message> 867 <message>
868 <location filename="install.cpp" line="148"/> 868 <location filename="install.cpp" line="148"/>
869 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source> 869 <source>&lt;b&gt;Note:&lt;/b&gt; This option will always download a fresh copy.</source>
870 <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. </translation> 870 <translation>&lt;b&gt;注意:&lt;/b&gt; 選擇這會每一次自動下載新的版本. </translation>
871 </message> 871 </message>
872 <message> 872 <message>
873 <location filename="install.cpp" line="157"/> 873 <location filename="install.cpp" line="157"/>
874 <source>This is the last released version of Rockbox.</source> 874 <source>This is the last released version of Rockbox.</source>
875 <translation>這是最新的Rockbox版本.</translation> 875 <translation>這是最新的Rockbox版本.</translation>
876 </message> 876 </message>
877 <message> 877 <message>
878 <location filename="install.cpp" line="163"/> 878 <location filename="install.cpp" line="163"/>
879 <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> 879 <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>
880 <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;這是建議使用的版本.&lt;/b&gt;</translation> 880 <translation>&lt;b&gt;注意:&lt;/b&gt; 最新的版本是 %1. &lt;b&gt;這是建議使用的版本.&lt;/b&gt;</translation>
881 </message> 881 </message>
882 <message> 882 <message>
883 <location filename="" line="0"/> 883 <location filename="" line="0"/>
884 <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> 884 <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>
885 <translation type="obsolete">這是每天自動更新的版本. 這一般來說比發行版本要多功能, 但可能沒有那么穩定. 功能可能會隨時改變.</translation> 885 <translation type="obsolete">這是每天自動更新的版本. 這一般來說比發行版本要多功能, 但可能沒有那么穩定. 功能可能會隨時改變.</translation>
886 </message> 886 </message>
887 <message> 887 <message>
888 <location filename="install.cpp" line="177"/> 888 <location filename="install.cpp" line="177"/>
889 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source> 889 <source>&lt;b&gt;Note:&lt;/b&gt; archived version is r%1 (%2).</source>
890 <translation>&lt;b&gt;注意:&lt;/b&gt; 存檔的版本是 r%1 (%2).</translation> 890 <translation>&lt;b&gt;注意:&lt;/b&gt; 存檔的版本是 r%1 (%2).</translation>
891 </message> 891 </message>
892 <message> 892 <message>
893 <location filename="install.cpp" line="175"/> 893 <location filename="install.cpp" line="175"/>
894 <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> 894 <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>
895 <translation type="unfinished"></translation> 895 <translation type="unfinished"></translation>
896 </message> 896 </message>
897</context> 897</context>
898<context> 898<context>
899 <name>InstallFrm</name> 899 <name>InstallFrm</name>
900 <message> 900 <message>
901 <location filename="installfrm.ui" line="16"/> 901 <location filename="installfrm.ui" line="16"/>
902 <source>Install Rockbox</source> 902 <source>Install Rockbox</source>
903 <translation>安裝 Rockbox</translation> 903 <translation>安裝 Rockbox</translation>
904 </message> 904 </message>
905 <message> 905 <message>
906 <location filename="installfrm.ui" line="35"/> 906 <location filename="installfrm.ui" line="35"/>
907 <source>Please select the Rockbox version you want to install on your player:</source> 907 <source>Please select the Rockbox version you want to install on your player:</source>
908 <translation>請選擇你要安裝在你的播放器上的版本:</translation> 908 <translation>請選擇你要安裝在你的播放器上的版本:</translation>
909 </message> 909 </message>
910 <message> 910 <message>
911 <location filename="installfrm.ui" line="45"/> 911 <location filename="installfrm.ui" line="45"/>
912 <source>Version</source> 912 <source>Version</source>
913 <translation>版本</translation> 913 <translation>版本</translation>
914 </message> 914 </message>
915 <message> 915 <message>
916 <location filename="installfrm.ui" line="51"/> 916 <location filename="installfrm.ui" line="51"/>
917 <source>Rockbox &amp;stable</source> 917 <source>Rockbox &amp;stable</source>
918 <translation>&amp;穩定的 Rockbox</translation> 918 <translation>&amp;穩定的 Rockbox</translation>
919 </message> 919 </message>
920 <message> 920 <message>
921 <location filename="installfrm.ui" line="58"/> 921 <location filename="installfrm.ui" line="58"/>
922 <source>&amp;Archived Build</source> 922 <source>&amp;Archived Build</source>
923 <translation>&amp;存檔的版本</translation> 923 <translation>&amp;存檔的版本</translation>
924 </message> 924 </message>
925 <message> 925 <message>
926 <location filename="installfrm.ui" line="65"/> 926 <location filename="installfrm.ui" line="65"/>
927 <source>&amp;Current Build</source> 927 <source>&amp;Current Build</source>
928 <translation>&amp;最新的版本</translation> 928 <translation>&amp;最新的版本</translation>
929 </message> 929 </message>
930 <message> 930 <message>
931 <location filename="installfrm.ui" line="75"/> 931 <location filename="installfrm.ui" line="75"/>
932 <source>Details</source> 932 <source>Details</source>
933 <translation>細節</translation> 933 <translation>細節</translation>
934 </message> 934 </message>
935 <message> 935 <message>
936 <location filename="installfrm.ui" line="81"/> 936 <location filename="installfrm.ui" line="81"/>
937 <source>Details about the selected version</source> 937 <source>Details about the selected version</source>
938 <translation>被選擇版本的細節</translation> 938 <translation>被選擇版本的細節</translation>
939 </message> 939 </message>
940 <message> 940 <message>
941 <location filename="installfrm.ui" line="91"/> 941 <location filename="installfrm.ui" line="91"/>
942 <source>Note</source> 942 <source>Note</source>
943 <translation>注意</translation> 943 <translation>注意</translation>
944 </message> 944 </message>
945 <message> 945 <message>
946 <location filename="installfrm.ui" line="104"/> 946 <location filename="installfrm.ui" line="104"/>
947 <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> 947 <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>
948 <translation>Rockbox安裝程序儲存以前下載的文件在你的硬盤上以減少网絡交通. 如果你的Rockbox不能使用, 選擇這項去下載一份新的文件</translation> 948 <translation>Rockbox安裝程序儲存以前下載的文件在你的硬盤上以減少网絡交通. 如果你的Rockbox不能使用, 選擇這項去下載一份新的文件</translation>
949 </message> 949 </message>
950 <message> 950 <message>
951 <location filename="installfrm.ui" line="107"/> 951 <location filename="installfrm.ui" line="107"/>
952 <source>&amp;Don&apos;t use locally cached copy</source> 952 <source>&amp;Don&apos;t use locally cached copy</source>
953 <translation>&amp;不使用硬盤上緩沖的文件</translation> 953 <translation>&amp;不使用硬盤上緩沖的文件</translation>
954 </message> 954 </message>
955 <message> 955 <message>
956 <location filename="" line="0"/> 956 <location filename="" line="0"/>
957 <source>&amp;Ok</source> 957 <source>&amp;Ok</source>
958 <translation type="obsolete">&amp;OK</translation> 958 <translation type="obsolete">&amp;OK</translation>
959 </message> 959 </message>
960 <message> 960 <message>
961 <location filename="installfrm.ui" line="152"/> 961 <location filename="installfrm.ui" line="152"/>
962 <source>&amp;Cancel</source> 962 <source>&amp;Cancel</source>
963 <translation>&amp;取消</translation> 963 <translation>&amp;取消</translation>
964 </message> 964 </message>
965 <message> 965 <message>
966 <location filename="installfrm.ui" line="142"/> 966 <location filename="installfrm.ui" line="142"/>
967 <source>&amp;Install</source> 967 <source>&amp;Install</source>
968 <translation type="unfinished"></translation> 968 <translation type="unfinished"></translation>
969 </message> 969 </message>
970</context> 970</context>
971<context> 971<context>
972 <name>InstallProgressFrm</name> 972 <name>InstallProgressFrm</name>
973 <message> 973 <message>
974 <location filename="installprogressfrm.ui" line="19"/> 974 <location filename="installprogressfrm.ui" line="19"/>
975 <source>Progress</source> 975 <source>Progress</source>
976 <translation>進程</translation> 976 <translation>進程</translation>
977 </message> 977 </message>
978 <message> 978 <message>
979 <location filename="installprogressfrm.ui" line="56"/> 979 <location filename="installprogressfrm.ui" line="56"/>
980 <source>&amp;Abort</source> 980 <source>&amp;Abort</source>
981 <translation>&amp;取消</translation> 981 <translation>&amp;取消</translation>
982 </message> 982 </message>
983</context> 983</context>
984<context> 984<context>
985 <name>InstallTalkFrm</name> 985 <name>InstallTalkFrm</name>
986 <message> 986 <message>
987 <location filename="installtalkfrm.ui" line="16"/> 987 <location filename="installtalkfrm.ui" line="16"/>
988 <source>Install Talk Files</source> 988 <source>Install Talk Files</source>
989 <translation>安裝說話文件</translation> 989 <translation>安裝說話文件</translation>
990 </message> 990 </message>
991 <message> 991 <message>
992 <location filename="installtalkfrm.ui" line="35"/> 992 <location filename="installtalkfrm.ui" line="35"/>
993 <source>Select the Folder to generate Talkfiles for.</source> 993 <source>Select the Folder to generate Talkfiles for.</source>
994 <translation>選擇需要安裝說話文件的文件夾</translation> 994 <translation>選擇需要安裝說話文件的文件夾</translation>
995 </message> 995 </message>
996 <message> 996 <message>
997 <location filename="installtalkfrm.ui" line="45"/> 997 <location filename="installtalkfrm.ui" line="45"/>
998 <source>&amp;Browse</source> 998 <source>&amp;Browse</source>
999 <translation>&amp;瀏覽</translation> 999 <translation>&amp;瀏覽</translation>
1000 </message> 1000 </message>
1001 <message> 1001 <message>
1002 <location filename="installtalkfrm.ui" line="55"/> 1002 <location filename="installtalkfrm.ui" line="55"/>
1003 <source>Generation settings</source> 1003 <source>Generation settings</source>
1004 <translation>語音合成設置</translation> 1004 <translation>語音合成設置</translation>
1005 </message> 1005 </message>
1006 <message> 1006 <message>
1007 <location filename="installtalkfrm.ui" line="61"/> 1007 <location filename="installtalkfrm.ui" line="61"/>
1008 <source>Encoder profile:</source> 1008 <source>Encoder profile:</source>
1009 <translation>轉化器設置:</translation> 1009 <translation>轉化器設置:</translation>
1010 </message> 1010 </message>
1011 <message> 1011 <message>
1012 <location filename="installtalkfrm.ui" line="68"/> 1012 <location filename="installtalkfrm.ui" line="68"/>
1013 <source>TTS profile:</source> 1013 <source>TTS profile:</source>
1014 <translation>TTS 設置:</translation> 1014 <translation>TTS 設置:</translation>
1015 </message> 1015 </message>
1016 <message> 1016 <message>
1017 <location filename="installtalkfrm.ui" line="104"/> 1017 <location filename="installtalkfrm.ui" line="104"/>
1018 <source>Generation options</source> 1018 <source>Generation options</source>
1019 <translation>語音合成設置</translation> 1019 <translation>語音合成設置</translation>
1020 </message> 1020 </message>
1021 <message> 1021 <message>
1022 <location filename="installtalkfrm.ui" line="110"/> 1022 <location filename="installtalkfrm.ui" line="110"/>
1023 <source>Overwrite Wavefiles</source> 1023 <source>Overwrite Wavefiles</source>
1024 <translation>覆蓋已存在的 Wavefiles</translation> 1024 <translation>覆蓋已存在的 Wavefiles</translation>
1025 </message> 1025 </message>
1026 <message> 1026 <message>
1027 <location filename="installtalkfrm.ui" line="120"/> 1027 <location filename="installtalkfrm.ui" line="120"/>
1028 <source>Remove Wavefiles</source> 1028 <source>Remove Wavefiles</source>
1029 <translation>刪除 Wavefiles</translation> 1029 <translation>刪除 Wavefiles</translation>
1030 </message> 1030 </message>
1031 <message> 1031 <message>
1032 <location filename="installtalkfrm.ui" line="130"/> 1032 <location filename="installtalkfrm.ui" line="130"/>
1033 <source>Run recursive</source> 1033 <source>Run recursive</source>
1034 <translation>遞歸尋找</translation> 1034 <translation>遞歸尋找</translation>
1035 </message> 1035 </message>
1036 <message> 1036 <message>
1037 <location filename="installtalkfrm.ui" line="140"/> 1037 <location filename="installtalkfrm.ui" line="140"/>
1038 <source>Strip Extensions</source> 1038 <source>Strip Extensions</source>
1039 <translation>除去后綴</translation> 1039 <translation>除去后綴</translation>
1040 </message> 1040 </message>
1041 <message> 1041 <message>
1042 <location filename="installtalkfrm.ui" line="150"/> 1042 <location filename="installtalkfrm.ui" line="150"/>
1043 <source>Overwrite Talkfiles</source> 1043 <source>Overwrite Talkfiles</source>
1044 <translation>刪除語音文件</translation> 1044 <translation>刪除語音文件</translation>
1045 </message> 1045 </message>
1046 <message> 1046 <message>
1047 <location filename="" line="0"/> 1047 <location filename="" line="0"/>
1048 <source>&amp;Ok</source> 1048 <source>&amp;Ok</source>
1049 <translation type="obsolete">&amp;OK</translation> 1049 <translation type="obsolete">&amp;OK</translation>
1050 </message> 1050 </message>
1051 <message> 1051 <message>
1052 <location filename="installtalkfrm.ui" line="224"/> 1052 <location filename="installtalkfrm.ui" line="224"/>
1053 <source>&amp;Cancel</source> 1053 <source>&amp;Cancel</source>
1054 <translation>&amp;取消</translation> 1054 <translation>&amp;取消</translation>
1055 </message> 1055 </message>
1056 <message> 1056 <message>
1057 <location filename="installtalkfrm.ui" line="81"/> 1057 <location filename="installtalkfrm.ui" line="81"/>
1058 <source>Change</source> 1058 <source>Change</source>
1059 <translation type="unfinished"></translation> 1059 <translation type="unfinished"></translation>
1060 </message> 1060 </message>
1061 <message> 1061 <message>
1062 <location filename="installtalkfrm.ui" line="160"/> 1062 <location filename="installtalkfrm.ui" line="160"/>
1063 <source>Generate .talk files for Folders</source> 1063 <source>Generate .talk files for Folders</source>
1064 <translation type="unfinished"></translation> 1064 <translation type="unfinished"></translation>
1065 </message> 1065 </message>
1066 <message> 1066 <message>
1067 <location filename="installtalkfrm.ui" line="170"/> 1067 <location filename="installtalkfrm.ui" line="170"/>
1068 <source>Generate .talk files for Files</source> 1068 <source>Generate .talk files for Files</source>
1069 <translation type="unfinished"></translation> 1069 <translation type="unfinished"></translation>
1070 </message> 1070 </message>
1071 <message> 1071 <message>
1072 <location filename="installtalkfrm.ui" line="214"/> 1072 <location filename="installtalkfrm.ui" line="214"/>
1073 <source>&amp;Install</source> 1073 <source>&amp;Install</source>
1074 <translation type="unfinished"></translation> 1074 <translation type="unfinished"></translation>
1075 </message> 1075 </message>
1076</context> 1076</context>
1077<context> 1077<context>
1078 <name>InstallTalkWindow</name> 1078 <name>InstallTalkWindow</name>
1079 <message> 1079 <message>
1080 <location filename="installtalkwindow.cpp" line="84"/> 1080 <location filename="installtalkwindow.cpp" line="84"/>
1081 <source>The Folder to Talk is wrong!</source> 1081 <source>The Folder to Talk is wrong!</source>
1082 <translation>要支持語音的文件夾錯誤!</translation> 1082 <translation>要支持語音的文件夾錯誤!</translation>
1083 </message> 1083 </message>
1084 <message> 1084 <message>
1085 <location filename="" line="0"/> 1085 <location filename="" line="0"/>
1086 <source>Path to Encoder is wrong!</source> 1086 <source>Path to Encoder is wrong!</source>
1087 <translation type="obsolete">語音生成轉換器的路徑錯誤!</translation> 1087 <translation type="obsolete">語音生成轉換器的路徑錯誤!</translation>
1088 </message> 1088 </message>
1089 <message> 1089 <message>
1090 <location filename="" line="0"/> 1090 <location filename="" line="0"/>
1091 <source>Path to TTS is wrong!</source> 1091 <source>Path to TTS is wrong!</source>
1092 <translation type="obsolete">TTS引擎的路徑錯誤!</translation> 1092 <translation type="obsolete">TTS引擎的路徑錯誤!</translation>
1093 </message> 1093 </message>
1094 <message> 1094 <message>
1095 <location filename="" line="0"/> 1095 <location filename="" line="0"/>
1096 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1096 <source>TTS Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1097 <translation type="obsolete">TTS 設置: &lt;b&gt;%1&lt;/b&gt;</translation> 1097 <translation type="obsolete">TTS 設置: &lt;b&gt;%1&lt;/b&gt;</translation>
1098 </message> 1098 </message>
1099 <message> 1099 <message>
1100 <location filename="" line="0"/> 1100 <location filename="" line="0"/>
1101 <source>Invalid TTS profile!</source> 1101 <source>Invalid TTS profile!</source>
1102 <translation type="obsolete">無效TTS設置 !</translation> 1102 <translation type="obsolete">無效TTS設置 !</translation>
1103 </message> 1103 </message>
1104 <message> 1104 <message>
1105 <location filename="" line="0"/> 1105 <location filename="" line="0"/>
1106 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source> 1106 <source>Encoder Profile: &lt;b&gt;%1&lt;/b&gt;</source>
1107 <translation type="obsolete">轉換器設置: &lt;b&gt;%1&lt;/b&gt;</translation> 1107 <translation type="obsolete">轉換器設置: &lt;b&gt;%1&lt;/b&gt;</translation>
1108 </message> 1108 </message>
1109 <message> 1109 <message>
1110 <location filename="" line="0"/> 1110 <location filename="" line="0"/>
1111 <source>Invalid encoder profile!</source> 1111 <source>Invalid encoder profile!</source>
1112 <translation type="obsolete">無效轉化器設置!</translation> 1112 <translation type="obsolete">無效轉化器設置!</translation>
1113 </message> 1113 </message>
1114 <message> 1114 <message>
1115 <location filename="installtalkwindow.cpp" line="119"/> 1115 <location filename="installtalkwindow.cpp" line="119"/>
1116 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source> 1116 <source>Selected TTS engine : &lt;b&gt;%1&lt;/b&gt;</source>
1117 <translation type="unfinished"></translation> 1117 <translation type="unfinished"></translation>
1118 </message> 1118 </message>
1119 <message> 1119 <message>
1120 <location filename="installtalkwindow.cpp" line="121"/> 1120 <location filename="installtalkwindow.cpp" line="121"/>
1121 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source> 1121 <source>Selected TTS Engine: &lt;b&gt;%1&lt;/b&gt;</source>
1122 <translation type="unfinished"></translation> 1122 <translation type="unfinished"></translation>
1123 </message> 1123 </message>
1124 <message> 1124 <message>
1125 <location filename="installtalkwindow.cpp" line="129"/> 1125 <location filename="installtalkwindow.cpp" line="129"/>
1126 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source> 1126 <source>Selected Encoder: &lt;b&gt;%1&lt;/b&gt;</source>
1127 <translation type="unfinished"></translation> 1127 <translation type="unfinished"></translation>
1128 </message> 1128 </message>
1129</context> 1129</context>
1130<context> 1130<context>
1131 <name>PreviewFrm</name> 1131 <name>PreviewFrm</name>
1132 <message> 1132 <message>
1133 <location filename="previewfrm.ui" line="16"/> 1133 <location filename="previewfrm.ui" line="16"/>
1134 <source>Preview</source> 1134 <source>Preview</source>
1135 <translation>預覽</translation> 1135 <translation>預覽</translation>
1136 </message> 1136 </message>
1137</context> 1137</context>
1138<context> 1138<context>
1139 <name>ProgressLoggerGui</name> 1139 <name>ProgressLoggerGui</name>
1140 <message> 1140 <message>
1141 <location filename="progressloggergui.cpp" line="79"/> 1141 <location filename="progressloggergui.cpp" line="79"/>
1142 <source>&amp;Ok</source> 1142 <source>&amp;Ok</source>
1143 <translation>&amp;OK</translation> 1143 <translation>&amp;OK</translation>
1144 </message> 1144 </message>
1145 <message> 1145 <message>
1146 <location filename="progressloggergui.cpp" line="89"/> 1146 <location filename="progressloggergui.cpp" line="89"/>
1147 <source>&amp;Abort</source> 1147 <source>&amp;Abort</source>
1148 <translation>&amp;取消</translation> 1148 <translation>&amp;取消</translation>
1149 </message> 1149 </message>
1150</context> 1150</context>
1151<context> 1151<context>
1152 <name>RbSpeexCfgFrm</name> 1152 <name>RbSpeexCfgFrm</name>
1153 <message> 1153 <message>
1154 <location filename="rbspeexcfgfrm.ui" line="13"/> 1154 <location filename="rbspeexcfgfrm.ui" line="13"/>
1155 <source>Configuration</source> 1155 <source>Configuration</source>
1156 <translation type="unfinished">設置</translation> 1156 <translation type="unfinished">設置</translation>
1157 </message> 1157 </message>
1158 <message> 1158 <message>
1159 <location filename="rbspeexcfgfrm.ui" line="19"/> 1159 <location filename="rbspeexcfgfrm.ui" line="19"/>
1160 <source>Configure RbSpeex Encoder</source> 1160 <source>Configure RbSpeex Encoder</source>
1161 <translation type="unfinished"></translation> 1161 <translation type="unfinished"></translation>
1162 </message> 1162 </message>
1163 <message> 1163 <message>
1164 <location filename="rbspeexcfgfrm.ui" line="38"/> 1164 <location filename="rbspeexcfgfrm.ui" line="38"/>
1165 <source>Volume</source> 1165 <source>Volume</source>
1166 <translation type="unfinished"></translation> 1166 <translation type="unfinished"></translation>
1167 </message> 1167 </message>
1168 <message> 1168 <message>
1169 <location filename="rbspeexcfgfrm.ui" line="45"/> 1169 <location filename="rbspeexcfgfrm.ui" line="45"/>
1170 <source>Narrowband</source> 1170 <source>Narrowband</source>
1171 <translation type="unfinished"></translation> 1171 <translation type="unfinished"></translation>
1172 </message> 1172 </message>
1173 <message> 1173 <message>
1174 <location filename="rbspeexcfgfrm.ui" line="68"/> 1174 <location filename="rbspeexcfgfrm.ui" line="68"/>
1175 <source>Quality</source> 1175 <source>Quality</source>
1176 <translation type="unfinished"></translation> 1176 <translation type="unfinished"></translation>
1177 </message> 1177 </message>
1178 <message> 1178 <message>
1179 <location filename="rbspeexcfgfrm.ui" line="85"/> 1179 <location filename="rbspeexcfgfrm.ui" line="85"/>
1180 <source>Complexity</source> 1180 <source>Complexity</source>
1181 <translation type="unfinished"></translation> 1181 <translation type="unfinished"></translation>
1182 </message> 1182 </message>
1183 <message> 1183 <message>
1184 <location filename="rbspeexcfgfrm.ui" line="115"/> 1184 <location filename="rbspeexcfgfrm.ui" line="115"/>
1185 <source>&amp;Ok</source> 1185 <source>&amp;Ok</source>
1186 <translation type="unfinished">&amp;OK</translation> 1186 <translation type="unfinished">&amp;OK</translation>
1187 </message> 1187 </message>
1188 <message> 1188 <message>
1189 <location filename="rbspeexcfgfrm.ui" line="125"/> 1189 <location filename="rbspeexcfgfrm.ui" line="125"/>
1190 <source>&amp;Cancel</source> 1190 <source>&amp;Cancel</source>
1191 <translation type="unfinished">&amp;取消</translation> 1191 <translation type="unfinished">&amp;取消</translation>
1192 </message> 1192 </message>
1193 <message> 1193 <message>
1194 <location filename="rbspeexcfgfrm.ui" line="95"/> 1194 <location filename="rbspeexcfgfrm.ui" line="95"/>
1195 <source>Reset</source> 1195 <source>Reset</source>
1196 <translation type="unfinished"></translation> 1196 <translation type="unfinished"></translation>
1197 </message> 1197 </message>
1198</context> 1198</context>
1199<context> 1199<context>
1200 <name>RbUtilQt</name> 1200 <name>RbUtilQt</name>
1201 <message> 1201 <message>
1202 <location filename="rbutilqt.cpp" line="78"/> 1202 <location filename="rbutilqt.cpp" line="78"/>
1203 <source>File</source> 1203 <source>File</source>
1204 <translation>文件</translation> 1204 <translation>文件</translation>
1205 </message> 1205 </message>
1206 <message> 1206 <message>
1207 <location filename="rbutilqt.cpp" line="78"/> 1207 <location filename="rbutilqt.cpp" line="78"/>
1208 <source>Version</source> 1208 <source>Version</source>
1209 <translation>版本</translation> 1209 <translation>版本</translation>
1210 </message> 1210 </message>
1211 <message> 1211 <message>
1212 <location filename="rbutilqt.cpp" line="210"/> 1212 <location filename="rbutilqt.cpp" line="210"/>
1213 <source>Network error: %1. Please check your network and proxy settings.</source> 1213 <source>Network error: %1. Please check your network and proxy settings.</source>
1214 <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation> 1214 <translation>网絡錯誤: %1. 請檢查你的网絡和代理服務的設置.</translation>
1215 </message> 1215 </message>
1216 <message> 1216 <message>
1217 <location filename="rbutilqt.cpp" line="305"/> 1217 <location filename="rbutilqt.cpp" line="305"/>
1218 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source> 1218 <source>&lt;b&gt;%1 %2&lt;/b&gt; at &lt;b&gt;%3&lt;/b&gt;</source>
1219 <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation> 1219 <translation>&lt;b&gt;%1 %2&lt;/b&gt; 在 &lt;b&gt;%3&lt;/b&gt;</translation>
1220 </message> 1220 </message>
1221 <message> 1221 <message>
1222 <location filename="rbutilqt.cpp" line="325"/> 1222 <location filename="rbutilqt.cpp" line="325"/>
1223 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source> 1223 <source>&lt;a href=&apos;%1&apos;&gt;PDF Manual&lt;/a&gt;</source>
1224 <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用戶手冊(英文)&lt;/a&gt;</translation> 1224 <translation>&lt;a href=&apos;%1&apos;&gt;PDF 用戶手冊(英文)&lt;/a&gt;</translation>
1225 </message> 1225 </message>
1226 <message> 1226 <message>
1227 <location filename="rbutilqt.cpp" line="327"/> 1227 <location filename="rbutilqt.cpp" line="327"/>
1228 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source> 1228 <source>&lt;a href=&apos;%1&apos;&gt;HTML Manual (opens in browser)&lt;/a&gt;</source>
1229 <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用戶手冊(英文,在瀏覽器打開)&lt;/a&gt;</translation> 1229 <translation>&lt;a href=&apos;%1&apos;&gt;HTML 用戶手冊(英文,在瀏覽器打開)&lt;/a&gt;</translation>
1230 </message> 1230 </message>
1231 <message> 1231 <message>
1232 <location filename="rbutilqt.cpp" line="330"/> 1232 <location filename="rbutilqt.cpp" line="330"/>
1233 <source>Select a device for a link to the correct manual</source> 1233 <source>Select a device for a link to the correct manual</source>
1234 <translation>請選擇你的播放器</translation> 1234 <translation>請選擇你的播放器</translation>
1235 </message> 1235 </message>
1236 <message> 1236 <message>
1237 <location filename="rbutilqt.cpp" line="332"/> 1237 <location filename="rbutilqt.cpp" line="332"/>
1238 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source> 1238 <source>&lt;a href=&apos;%1&apos;&gt;Manual Overview&lt;/a&gt;</source>
1239 <translation>&lt;a href=&apos;%1&apos;&gt;用戶手冊總觀&lt;/a&gt;</translation> 1239 <translation>&lt;a href=&apos;%1&apos;&gt;用戶手冊總觀&lt;/a&gt;</translation>
1240 </message> 1240 </message>
1241 <message> 1241 <message>
1242 <location filename="rbutilqt.cpp" line="695"/> 1242 <location filename="rbutilqt.cpp" line="695"/>
1243 <source>Confirm Installation</source> 1243 <source>Confirm Installation</source>
1244 <translation>确認安裝</translation> 1244 <translation>确認安裝</translation>
1245 </message> 1245 </message>
1246 <message> 1246 <message>
1247 <location filename="rbutilqt.cpp" line="341"/> 1247 <location filename="rbutilqt.cpp" line="341"/>
1248 <source>Do you really want to make a complete Installation?</source> 1248 <source>Do you really want to make a complete Installation?</source>
1249 <translation>你确認要一個完整的安裝?</translation> 1249 <translation>你确認要一個完整的安裝?</translation>
1250 </message> 1250 </message>
1251 <message> 1251 <message>
1252 <location filename="rbutilqt.cpp" line="877"/> 1252 <location filename="rbutilqt.cpp" line="877"/>
1253 <source>Mount point is wrong!</source> 1253 <source>Mount point is wrong!</source>
1254 <translation>Mountpoint 錯誤!</translation> 1254 <translation>Mountpoint 錯誤!</translation>
1255 </message> 1255 </message>
1256 <message> 1256 <message>
1257 <location filename="rbutilqt.cpp" line="393"/> 1257 <location filename="rbutilqt.cpp" line="393"/>
1258 <source>Do you really want to make a small Installation?</source> 1258 <source>Do you really want to make a small Installation?</source>
1259 <translation>你确認要一個智能的安裝?</translation> 1259 <translation>你确認要一個智能的安裝?</translation>
1260 </message> 1260 </message>
1261 <message> 1261 <message>
1262 <location filename="rbutilqt.cpp" line="533"/> 1262 <location filename="rbutilqt.cpp" line="533"/>
1263 <source>Do you really want to install the Bootloader?</source> 1263 <source>Do you really want to install the Bootloader?</source>
1264 <translation>你确認要安裝啟動程序?</translation> 1264 <translation>你确認要安裝啟動程序?</translation>
1265 </message> 1265 </message>
1266 <message> 1266 <message>
1267 <location filename="rbutilqt.cpp" line="800"/> 1267 <location filename="rbutilqt.cpp" line="800"/>
1268 <source>Could not get the bootloader info file!</source> 1268 <source>Could not get the bootloader info file!</source>
1269 <translation>找不到啟動程序的資料!</translation> 1269 <translation>找不到啟動程序的資料!</translation>
1270 </message> 1270 </message>
1271 <message> 1271 <message>
1272 <location filename="rbutilqt.cpp" line="568"/> 1272 <location filename="rbutilqt.cpp" line="568"/>
1273 <source>Bootloader Installation</source> 1273 <source>Bootloader Installation</source>
1274 <translation>安裝啟動程序</translation> 1274 <translation>安裝啟動程序</translation>
1275 </message> 1275 </message>
1276 <message> 1276 <message>
1277 <location filename="" line="0"/> 1277 <location filename="" line="0"/>
1278 <source>It seem your Bootloader is already uptodate. 1278 <source>It seem your Bootloader is already uptodate.
1279Do really want to install it?</source> 1279Do really want to install it?</source>
1280 <translation type="obsolete">你的啟動程序好象已經是最新版本. 1280 <translation type="obsolete">你的啟動程序好象已經是最新版本.
1281你确認要再安裝?</translation> 1281你确認要再安裝?</translation>
1282 </message> 1282 </message>
1283 <message> 1283 <message>
1284 <location filename="" line="0"/> 1284 <location filename="" line="0"/>
1285 <source>Bootloader installation Canceled!</source> 1285 <source>Bootloader installation Canceled!</source>
1286 <translation type="obsolete">啟動程序安裝被取消!</translation> 1286 <translation type="obsolete">啟動程序安裝被取消!</translation>
1287 </message> 1287 </message>
1288 <message> 1288 <message>
1289 <location filename="rbutilqt.cpp" line="593"/> 1289 <location filename="rbutilqt.cpp" line="593"/>
1290 <source>Original Firmware Path is wrong!</source> 1290 <source>Original Firmware Path is wrong!</source>
1291 <translation>厂家固件路徑錯誤!</translation> 1291 <translation>厂家固件路徑錯誤!</translation>
1292 </message> 1292 </message>
1293 <message> 1293 <message>
1294 <location filename="rbutilqt.cpp" line="606"/> 1294 <location filename="rbutilqt.cpp" line="606"/>
1295 <source>Original Firmware selection Canceled!</source> 1295 <source>Original Firmware selection Canceled!</source>
1296 <translation>厂家固件安裝被取消!</translation> 1296 <translation>厂家固件安裝被取消!</translation>
1297 </message> 1297 </message>
1298 <message> 1298 <message>
1299 <location filename="rbutilqt.cpp" line="621"/> 1299 <location filename="rbutilqt.cpp" line="621"/>
1300 <source>Do you really want to install the fonts package?</source> 1300 <source>Do you really want to install the fonts package?</source>
1301 <translation>你确認要安裝字體包裹嗎?</translation> 1301 <translation>你确認要安裝字體包裹嗎?</translation>
1302 </message> 1302 </message>
1303 <message> 1303 <message>
1304 <location filename="rbutilqt.cpp" line="656"/> 1304 <location filename="rbutilqt.cpp" line="656"/>
1305 <source>Do you really want to install the voice file?</source> 1305 <source>Do you really want to install the voice file?</source>
1306 <translation>你确認要安裝語音文件嗎?</translation> 1306 <translation>你确認要安裝語音文件嗎?</translation>
1307 </message> 1307 </message>
1308 <message> 1308 <message>
1309 <location filename="rbutilqt.cpp" line="696"/> 1309 <location filename="rbutilqt.cpp" line="696"/>
1310 <source>Do you really want to install the game addon files?</source> 1310 <source>Do you really want to install the game addon files?</source>
1311 <translation>你确認要安裝游戲附件嗎?</translation> 1311 <translation>你确認要安裝游戲附件嗎?</translation>
1312 </message> 1312 </message>
1313 <message> 1313 <message>
1314 <location filename="rbutilqt.cpp" line="782"/> 1314 <location filename="rbutilqt.cpp" line="782"/>
1315 <source>Confirm Uninstallation</source> 1315 <source>Confirm Uninstallation</source>
1316 <translation>确認安裝</translation> 1316 <translation>确認安裝</translation>
1317 </message> 1317 </message>
1318 <message> 1318 <message>
1319 <location filename="rbutilqt.cpp" line="783"/> 1319 <location filename="rbutilqt.cpp" line="783"/>
1320 <source>Do you really want to uninstall the Bootloader?</source> 1320 <source>Do you really want to uninstall the Bootloader?</source>
1321 <translation>你确認要卸載啟動程序嗎?</translation> 1321 <translation>你确認要卸載啟動程序嗎?</translation>
1322 </message> 1322 </message>
1323 <message> 1323 <message>
1324 <location filename="rbutilqt.cpp" line="813"/> 1324 <location filename="rbutilqt.cpp" line="813"/>
1325 <source>Confirm download</source> 1325 <source>Confirm download</source>
1326 <translation>确認下載</translation> 1326 <translation>确認下載</translation>
1327 </message> 1327 </message>
1328 <message> 1328 <message>
1329 <location filename="rbutilqt.cpp" line="815"/> 1329 <location filename="rbutilqt.cpp" line="815"/>
1330 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source> 1330 <source>Do you really want to download the manual? The manual will be saved to the root folder of your player.</source>
1331 <translation>你确認要下載用戶手冊嗎? 用戶手冊將會被放在你播放器的主目錄里.</translation> 1331 <translation>你确認要下載用戶手冊嗎? 用戶手冊將會被放在你播放器的主目錄里.</translation>
1332 </message> 1332 </message>
1333 <message> 1333 <message>
1334 <location filename="rbutilqt.cpp" line="863"/> 1334 <location filename="rbutilqt.cpp" line="863"/>
1335 <source>Confirm installation</source> 1335 <source>Confirm installation</source>
1336 <translation>确認安裝</translation> 1336 <translation>确認安裝</translation>
1337 </message> 1337 </message>
1338 <message> 1338 <message>
1339 <location filename="rbutilqt.cpp" line="865"/> 1339 <location filename="rbutilqt.cpp" line="865"/>
1340 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source> 1340 <source>Do you really want to install Rockbox Utility to your player? After installation you can run it from the players hard drive.</source>
1341 <translation>你确認要安裝Rockbox安裝程序到你的播放器上嗎? 安裝后你可以從你播放器上運行此程序.</translation> 1341 <translation>你确認要安裝Rockbox安裝程序到你的播放器上嗎? 安裝后你可以從你播放器上運行此程序.</translation>
1342 </message> 1342 </message>
1343 <message> 1343 <message>
1344 <location filename="rbutilqt.cpp" line="873"/> 1344 <location filename="rbutilqt.cpp" line="873"/>
1345 <source>Installing Rockbox Utility</source> 1345 <source>Installing Rockbox Utility</source>
1346 <translation>安裝 Rockbox安裝程序</translation> 1346 <translation>安裝 Rockbox安裝程序</translation>
1347 </message> 1347 </message>
1348 <message> 1348 <message>
1349 <location filename="rbutilqt.cpp" line="887"/> 1349 <location filename="rbutilqt.cpp" line="887"/>
1350 <source>Error installing Rockbox Utility</source> 1350 <source>Error installing Rockbox Utility</source>
1351 <translation>安裝 Rockbox安裝程序錯誤!</translation> 1351 <translation>安裝 Rockbox安裝程序錯誤!</translation>
1352 </message> 1352 </message>
1353 <message> 1353 <message>
1354 <location filename="rbutilqt.cpp" line="891"/> 1354 <location filename="rbutilqt.cpp" line="891"/>
1355 <source>Installing user configuration</source> 1355 <source>Installing user configuration</source>
1356 <translation>安裝用戶設置</translation> 1356 <translation>安裝用戶設置</translation>
1357 </message> 1357 </message>
1358 <message> 1358 <message>
1359 <location filename="rbutilqt.cpp" line="893"/> 1359 <location filename="rbutilqt.cpp" line="893"/>
1360 <source>Error installing user configuration</source> 1360 <source>Error installing user configuration</source>
1361 <translation>安裝用戶設置錯誤</translation> 1361 <translation>安裝用戶設置錯誤</translation>
1362 </message> 1362 </message>
1363 <message> 1363 <message>
1364 <location filename="rbutilqt.cpp" line="897"/> 1364 <location filename="rbutilqt.cpp" line="897"/>
1365 <source>Successfully installed Rockbox Utility.</source> 1365 <source>Successfully installed Rockbox Utility.</source>
1366 <translation>成功安裝 Rockbox安裝程序.</translation> 1366 <translation>成功安裝 Rockbox安裝程序.</translation>
1367 </message> 1367 </message>
1368 <message> 1368 <message>
1369 <location filename="" line="0"/> 1369 <location filename="" line="0"/>
1370 <source>Bootloader installation Skipped!</source> 1370 <source>Bootloader installation Skipped!</source>
1371 <translation type="obsolete">啟動程序安裝過程被跳過!</translation> 1371 <translation type="obsolete">啟動程序安裝過程被跳過!</translation>
1372 </message> 1372 </message>
1373 <message> 1373 <message>
1374 <location filename="rbutilqt.cpp" line="1014"/> 1374 <location filename="rbutilqt.cpp" line="1014"/>
1375 <source>Configuration error</source> 1375 <source>Configuration error</source>
1376 <translation type="unfinished"></translation> 1376 <translation type="unfinished"></translation>
1377 </message> 1377 </message>
1378 <message> 1378 <message>
1379 <location filename="rbutilqt.cpp" line="187"/> 1379 <location filename="rbutilqt.cpp" line="187"/>
1380 <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> 1380 <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>
1381 <translation type="unfinished"></translation> 1381 <translation type="unfinished"></translation>
1382 </message> 1382 </message>
1383 <message> 1383 <message>
1384 <location filename="rbutilqt.cpp" line="570"/> 1384 <location filename="rbutilqt.cpp" line="570"/>
1385 <source>The bootloader is already installed and up to date. 1385 <source>The bootloader is already installed and up to date.
1386Do want to replace the current bootloader?</source> 1386Do want to replace the current bootloader?</source>
1387 <translation type="unfinished"></translation> 1387 <translation type="unfinished"></translation>
1388 </message> 1388 </message>
1389 <message> 1389 <message>
1390 <location filename="rbutilqt.cpp" line="574"/> 1390 <location filename="rbutilqt.cpp" line="574"/>
1391 <source>Bootloader installation skipped!</source> 1391 <source>Bootloader installation skipped!</source>
1392 <translation type="unfinished"></translation> 1392 <translation type="unfinished"></translation>
1393 </message> 1393 </message>
1394 <message> 1394 <message>
1395 <location filename="rbutilqt.cpp" line="691"/> 1395 <location filename="rbutilqt.cpp" line="691"/>
1396 <source>Error</source> 1396 <source>Error</source>
1397 <translation type="unfinished"></translation> 1397 <translation type="unfinished"></translation>
1398 </message> 1398 </message>
1399 <message> 1399 <message>
1400 <location filename="rbutilqt.cpp" line="691"/> 1400 <location filename="rbutilqt.cpp" line="691"/>
1401 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source> 1401 <source>Your device doesn&apos;t have a doom plugin. Aborting.</source>
1402 <translation type="unfinished"></translation> 1402 <translation type="unfinished"></translation>
1403 </message> 1403 </message>
1404 <message> 1404 <message>
1405 <location filename="rbutilqt.cpp" line="1016"/> 1405 <location filename="rbutilqt.cpp" line="1016"/>
1406 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source> 1406 <source>Your configuration is invalid. Please go to the configuration dialog and make sure the selected values are correct.</source>
1407 <translation type="unfinished"></translation> 1407 <translation type="unfinished"></translation>
1408 </message> 1408 </message>
1409</context> 1409</context>
1410<context> 1410<context>
1411 <name>RbUtilQtFrm</name> 1411 <name>RbUtilQtFrm</name>
1412 <message> 1412 <message>
1413 <location filename="rbutilqtfrm.ui" line="13"/> 1413 <location filename="rbutilqtfrm.ui" line="13"/>
1414 <source>Rockbox Utility</source> 1414 <source>Rockbox Utility</source>
1415 <translation>Rockbox 安裝程序</translation> 1415 <translation>Rockbox 安裝程序</translation>
1416 </message> 1416 </message>
1417 <message> 1417 <message>
1418 <location filename="rbutilqtfrm.ui" line="78"/> 1418 <location filename="rbutilqtfrm.ui" line="78"/>
1419 <source>Device</source> 1419 <source>Device</source>
1420 <translation>播放器</translation> 1420 <translation>播放器</translation>
1421 </message> 1421 </message>
1422 <message> 1422 <message>
1423 <location filename="rbutilqtfrm.ui" line="90"/> 1423 <location filename="rbutilqtfrm.ui" line="90"/>
1424 <source>Selected device:</source> 1424 <source>Selected device:</source>
1425 <translation>選擇的播放器:</translation> 1425 <translation>選擇的播放器:</translation>
1426 </message> 1426 </message>
1427 <message> 1427 <message>
1428 <location filename="rbutilqtfrm.ui" line="97"/> 1428 <location filename="rbutilqtfrm.ui" line="97"/>
1429 <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; 1429 <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;
1430p, li { white-space: pre-wrap; } 1430p, li { white-space: pre-wrap; }
1431&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; 1431&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;
1432&lt;p 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> 1432&lt;p 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>
1433 <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; 1433 <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;
1434p, li { white-space: pre-wrap; } 1434p, li { white-space: pre-wrap; }
1435&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; 1435&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;
1436&lt;p 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> 1436&lt;p 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>
1437 </message> 1437 </message>
1438 <message> 1438 <message>
1439 <location filename="rbutilqtfrm.ui" line="120"/> 1439 <location filename="rbutilqtfrm.ui" line="120"/>
1440 <source>&amp;Change</source> 1440 <source>&amp;Change</source>
1441 <translation>&amp;更改</translation> 1441 <translation>&amp;更改</translation>
1442 </message> 1442 </message>
1443 <message> 1443 <message>
1444 <location filename="rbutilqtfrm.ui" line="137"/> 1444 <location filename="rbutilqtfrm.ui" line="137"/>
1445 <source>&amp;Quick Start</source> 1445 <source>&amp;Quick Start</source>
1446 <translation>&amp;快速開始</translation> 1446 <translation>&amp;快速開始</translation>
1447 </message> 1447 </message>
1448 <message> 1448 <message>
1449 <location filename="rbutilqtfrm.ui" line="140"/> 1449 <location filename="rbutilqtfrm.ui" line="140"/>
1450 <source>Welcome</source> 1450 <source>Welcome</source>
1451 <translation>歡迎</translation> 1451 <translation>歡迎</translation>
1452 </message> 1452 </message>
1453 <message> 1453 <message>
1454 <location filename="" line="0"/> 1454 <location filename="" line="0"/>
1455 <source>...</source> 1455 <source>...</source>
1456 <translation type="obsolete">...</translation> 1456 <translation type="obsolete">...</translation>
1457 </message> 1457 </message>
1458 <message> 1458 <message>
1459 <location filename="rbutilqtfrm.ui" line="162"/> 1459 <location filename="rbutilqtfrm.ui" line="162"/>
1460 <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; 1460 <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;
1461p, li { white-space: pre-wrap; } 1461p, li { white-space: pre-wrap; }
1462&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; 1462&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;
1463&lt;p 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; 1463&lt;p 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;
1464&lt;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> 1464&lt;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>
1465 <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; 1465 <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;
1466p, li { white-space: pre-wrap; } 1466p, li { white-space: pre-wrap; }
1467&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; 1467&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;
1468&lt;p 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; 1468&lt;p 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;
1469&lt;p 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> 1469&lt;p 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>
1470 </message> 1470 </message>
1471 <message> 1471 <message>
1472 <location filename="rbutilqtfrm.ui" line="192"/> 1472 <location filename="rbutilqtfrm.ui" line="192"/>
1473 <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; 1473 <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;
1474p, li { white-space: pre-wrap; } 1474p, li { white-space: pre-wrap; }
1475&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; 1475&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;
1476&lt;p 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; 1476&lt;p 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;
1477&lt;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> 1477&lt;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>
1478 <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; 1478 <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;
1479p, li { white-space: pre-wrap; } 1479p, li { white-space: pre-wrap; }
1480&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; 1480&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;
1481&lt;p 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; 1481&lt;p 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;
1482&lt;p 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> 1482&lt;p 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>
1483 </message> 1483 </message>
1484 <message> 1484 <message>
1485 <location filename="rbutilqtfrm.ui" line="236"/> 1485 <location filename="rbutilqtfrm.ui" line="236"/>
1486 <source>&amp;Installation</source> 1486 <source>&amp;Installation</source>
1487 <translation>&amp;安裝</translation> 1487 <translation>&amp;安裝</translation>
1488 </message> 1488 </message>
1489 <message> 1489 <message>
1490 <location filename="rbutilqtfrm.ui" line="239"/> 1490 <location filename="rbutilqtfrm.ui" line="239"/>
1491 <source>Basic Rockbox installation</source> 1491 <source>Basic Rockbox installation</source>
1492 <translation>基本Rockbox安裝</translation> 1492 <translation>基本Rockbox安裝</translation>
1493 </message> 1493 </message>
1494 <message> 1494 <message>
1495 <location filename="rbutilqtfrm.ui" line="969"/> 1495 <location filename="rbutilqtfrm.ui" line="969"/>
1496 <source>Install Bootloader</source> 1496 <source>Install Bootloader</source>
1497 <translation>安裝啟動程序</translation> 1497 <translation>安裝啟動程序</translation>
1498 </message> 1498 </message>
1499 <message> 1499 <message>
1500 <location filename="rbutilqtfrm.ui" line="261"/> 1500 <location filename="rbutilqtfrm.ui" line="261"/>
1501 <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; 1501 <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;
1502p, li { white-space: pre-wrap; } 1502p, li { white-space: pre-wrap; }
1503&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; 1503&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;
1504&lt;p 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; 1504&lt;p 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;
1505&lt;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> 1505&lt;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>
1506 <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; 1506 <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;
1507p, li { white-space: pre-wrap; } 1507p, li { white-space: pre-wrap; }
1508&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; 1508&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;
1509&lt;p 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; 1509&lt;p 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;
1510&lt;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> 1510&lt;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>
1511 </message> 1511 </message>
1512 <message> 1512 <message>
1513 <location filename="rbutilqtfrm.ui" line="977"/> 1513 <location filename="rbutilqtfrm.ui" line="977"/>
1514 <source>Install Rockbox</source> 1514 <source>Install Rockbox</source>
1515 <translation>安裝 Rockbox</translation> 1515 <translation>安裝 Rockbox</translation>
1516 </message> 1516 </message>
1517 <message> 1517 <message>
1518 <location filename="rbutilqtfrm.ui" line="294"/> 1518 <location filename="rbutilqtfrm.ui" line="294"/>
1519 <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; 1519 <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;
1520p, li { white-space: pre-wrap; } 1520p, li { white-space: pre-wrap; }
1521&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; 1521&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;
1522&lt;p 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> 1522&lt;p 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>
1523 <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; 1523 <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;
1524p, li { white-space: pre-wrap; } 1524p, li { white-space: pre-wrap; }
1525&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; 1525&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;
1526&lt;p 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> 1526&lt;p 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>
1527 </message> 1527 </message>
1528 <message> 1528 <message>
1529 <location filename="rbutilqtfrm.ui" line="340"/> 1529 <location filename="rbutilqtfrm.ui" line="340"/>
1530 <source>&amp;Extras</source> 1530 <source>&amp;Extras</source>
1531 <translation>&amp;附加功能</translation> 1531 <translation>&amp;附加功能</translation>
1532 </message> 1532 </message>
1533 <message> 1533 <message>
1534 <location filename="rbutilqtfrm.ui" line="343"/> 1534 <location filename="rbutilqtfrm.ui" line="343"/>
1535 <source>Install extras for Rockbox</source> 1535 <source>Install extras for Rockbox</source>
1536 <translation>安裝附加功能</translation> 1536 <translation>安裝附加功能</translation>
1537 </message> 1537 </message>
1538 <message> 1538 <message>
1539 <location filename="rbutilqtfrm.ui" line="349"/> 1539 <location filename="rbutilqtfrm.ui" line="349"/>
1540 <source>Install Fonts package</source> 1540 <source>Install Fonts package</source>
1541 <translation>安裝字體包裹</translation> 1541 <translation>安裝字體包裹</translation>
1542 </message> 1542 </message>
1543 <message> 1543 <message>
1544 <location filename="rbutilqtfrm.ui" line="365"/> 1544 <location filename="rbutilqtfrm.ui" line="365"/>
1545 <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; 1545 <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;
1546p, li { white-space: pre-wrap; } 1546p, li { white-space: pre-wrap; }
1547&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; 1547&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;
1548&lt;p 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; 1548&lt;p 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;
1549&lt;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> 1549&lt;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>
1550 <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; 1550 <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;
1551p, li { white-space: pre-wrap; } 1551p, li { white-space: pre-wrap; }
1552&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; 1552&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;
1553&lt;p 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; 1553&lt;p 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;
1554&lt;p 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> 1554&lt;p 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>
1555 </message> 1555 </message>
1556 <message> 1556 <message>
1557 <location filename="rbutilqtfrm.ui" line="379"/> 1557 <location filename="rbutilqtfrm.ui" line="379"/>
1558 <source>Install themes</source> 1558 <source>Install themes</source>
1559 <translation>安裝主題</translation> 1559 <translation>安裝主題</translation>
1560 </message> 1560 </message>
1561 <message> 1561 <message>
1562 <location filename="rbutilqtfrm.ui" line="395"/> 1562 <location filename="rbutilqtfrm.ui" line="395"/>
1563 <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; 1563 <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;
1564p, li { white-space: pre-wrap; } 1564p, li { white-space: pre-wrap; }
1565&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; 1565&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;
1566&lt;p 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; 1566&lt;p 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;
1567&lt;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> 1567&lt;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>
1568 <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; 1568 <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;
1569p, li { white-space: pre-wrap; } 1569p, li { white-space: pre-wrap; }
1570&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; 1570&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;
1571&lt;p 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; 1571&lt;p 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;
1572&lt;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> 1572&lt;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>
1573 </message> 1573 </message>
1574 <message> 1574 <message>
1575 <location filename="rbutilqtfrm.ui" line="409"/> 1575 <location filename="rbutilqtfrm.ui" line="409"/>
1576 <source>Install game files</source> 1576 <source>Install game files</source>
1577 <translation>安裝游戲文件</translation> 1577 <translation>安裝游戲文件</translation>
1578 </message> 1578 </message>
1579 <message> 1579 <message>
1580 <location filename="rbutilqtfrm.ui" line="425"/> 1580 <location filename="rbutilqtfrm.ui" line="425"/>
1581 <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; 1581 <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;
1582p, li { white-space: pre-wrap; } 1582p, li { white-space: pre-wrap; }
1583&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; 1583&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;
1584&lt;p 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; 1584&lt;p 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;
1585&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> 1585&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>
1586 <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; 1586 <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;
1587p, li { white-space: pre-wrap; } 1587p, li { white-space: pre-wrap; }
1588&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; 1588&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;
1589&lt;p 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; 1589&lt;p 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;
1590&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> 1590&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>
1591 </message> 1591 </message>
1592 <message> 1592 <message>
1593 <location filename="rbutilqtfrm.ui" line="466"/> 1593 <location filename="rbutilqtfrm.ui" line="466"/>
1594 <source>&amp;Accessibility</source> 1594 <source>&amp;Accessibility</source>
1595 <translation>&amp;輔助</translation> 1595 <translation>&amp;輔助</translation>
1596 </message> 1596 </message>
1597 <message> 1597 <message>
1598 <location filename="rbutilqtfrm.ui" line="469"/> 1598 <location filename="rbutilqtfrm.ui" line="469"/>
1599 <source>Install accessibility add-ons</source> 1599 <source>Install accessibility add-ons</source>
1600 <translation>安裝輔助功能</translation> 1600 <translation>安裝輔助功能</translation>
1601 </message> 1601 </message>
1602 <message> 1602 <message>
1603 <location filename="rbutilqtfrm.ui" line="475"/> 1603 <location filename="rbutilqtfrm.ui" line="475"/>
1604 <source>Install Voice files</source> 1604 <source>Install Voice files</source>
1605 <translation>安裝語音文件</translation> 1605 <translation>安裝語音文件</translation>
1606 </message> 1606 </message>
1607 <message> 1607 <message>
1608 <location filename="rbutilqtfrm.ui" line="491"/> 1608 <location filename="rbutilqtfrm.ui" line="491"/>
1609 <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; 1609 <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;
1610p, li { white-space: pre-wrap; } 1610p, li { white-space: pre-wrap; }
1611&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; 1611&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;
1612&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; 1612&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;
1613&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> 1613&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>
1614 <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; 1614 <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;
1615p, li { white-space: pre-wrap; } 1615p, li { white-space: pre-wrap; }
1616&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; 1616&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;
1617&lt;p 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; 1617&lt;p 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;
1618&lt;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> 1618&lt;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>
1619 </message> 1619 </message>
1620 <message> 1620 <message>
1621 <location filename="rbutilqtfrm.ui" line="505"/> 1621 <location filename="rbutilqtfrm.ui" line="505"/>
1622 <source>Install Talk files</source> 1622 <source>Install Talk files</source>
1623 <translation>安裝說話文件</translation> 1623 <translation>安裝說話文件</translation>
1624 </message> 1624 </message>
1625 <message> 1625 <message>
1626 <location filename="rbutilqtfrm.ui" line="521"/> 1626 <location filename="rbutilqtfrm.ui" line="521"/>
1627 <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; 1627 <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;
1628p, li { white-space: pre-wrap; } 1628p, li { white-space: pre-wrap; }
1629&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; 1629&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;
1630&lt;p 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; 1630&lt;p 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;
1631&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> 1631&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>
1632 <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; 1632 <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;
1633p, li { white-space: pre-wrap; } 1633p, li { white-space: pre-wrap; }
1634&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; 1634&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;
1635&lt;p 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; 1635&lt;p 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;
1636&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> 1636&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>
1637 </message> 1637 </message>
1638 <message> 1638 <message>
1639 <location filename="rbutilqtfrm.ui" line="587"/> 1639 <location filename="rbutilqtfrm.ui" line="587"/>
1640 <source>&amp;Uninstallation</source> 1640 <source>&amp;Uninstallation</source>
1641 <translation>&amp;卸載</translation> 1641 <translation>&amp;卸載</translation>
1642 </message> 1642 </message>
1643 <message> 1643 <message>
1644 <location filename="rbutilqtfrm.ui" line="1033"/> 1644 <location filename="rbutilqtfrm.ui" line="1033"/>
1645 <source>Uninstall Rockbox</source> 1645 <source>Uninstall Rockbox</source>
1646 <translation>卸載 Rockbox</translation> 1646 <translation>卸載 Rockbox</translation>
1647 </message> 1647 </message>
1648 <message> 1648 <message>
1649 <location filename="rbutilqtfrm.ui" line="596"/> 1649 <location filename="rbutilqtfrm.ui" line="596"/>
1650 <source>Uninstall Bootloader</source> 1650 <source>Uninstall Bootloader</source>
1651 <translation>卸載啟動程序</translation> 1651 <translation>卸載啟動程序</translation>
1652 </message> 1652 </message>
1653 <message> 1653 <message>
1654 <location filename="rbutilqtfrm.ui" line="612"/> 1654 <location filename="rbutilqtfrm.ui" line="612"/>
1655 <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; 1655 <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;
1656p, li { white-space: pre-wrap; } 1656p, li { white-space: pre-wrap; }
1657&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; 1657&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;
1658&lt;p 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; 1658&lt;p 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;
1659&lt;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> 1659&lt;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>
1660 <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; 1660 <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;
1661p, li { white-space: pre-wrap; } 1661p, li { white-space: pre-wrap; }
1662&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; 1662&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;
1663&lt;p 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; 1663&lt;p 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;
1664&lt;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> 1664&lt;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>
1665 </message> 1665 </message>
1666 <message> 1666 <message>
1667 <location filename="rbutilqtfrm.ui" line="642"/> 1667 <location filename="rbutilqtfrm.ui" line="642"/>
1668 <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; 1668 <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;
1669p, li { white-space: pre-wrap; } 1669p, li { white-space: pre-wrap; }
1670&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; 1670&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;
1671&lt;p 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; 1671&lt;p 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;
1672&lt;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> 1672&lt;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>
1673 <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; 1673 <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;
1674p, li { white-space: pre-wrap; } 1674p, li { white-space: pre-wrap; }
1675&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; 1675&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;
1676&lt;p 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; 1676&lt;p 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;
1677&lt;p 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> 1677&lt;p 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>
1678 </message> 1678 </message>
1679 <message> 1679 <message>
1680 <location filename="rbutilqtfrm.ui" line="689"/> 1680 <location filename="rbutilqtfrm.ui" line="689"/>
1681 <source>&amp;Manual</source> 1681 <source>&amp;Manual</source>
1682 <translation>&amp;用戶手冊</translation> 1682 <translation>&amp;用戶手冊</translation>
1683 </message> 1683 </message>
1684 <message> 1684 <message>
1685 <location filename="rbutilqtfrm.ui" line="692"/> 1685 <location filename="rbutilqtfrm.ui" line="692"/>
1686 <source>View and download the manual</source> 1686 <source>View and download the manual</source>
1687 <translation>查看和下載用戶手冊</translation> 1687 <translation>查看和下載用戶手冊</translation>
1688 </message> 1688 </message>
1689 <message> 1689 <message>
1690 <location filename="rbutilqtfrm.ui" line="698"/> 1690 <location filename="rbutilqtfrm.ui" line="698"/>
1691 <source>Read the manual</source> 1691 <source>Read the manual</source>
1692 <translation>查看用戶手冊</translation> 1692 <translation>查看用戶手冊</translation>
1693 </message> 1693 </message>
1694 <message> 1694 <message>
1695 <location filename="rbutilqtfrm.ui" line="704"/> 1695 <location filename="rbutilqtfrm.ui" line="704"/>
1696 <source>PDF manual</source> 1696 <source>PDF manual</source>
1697 <translation>PDF 用戶手冊</translation> 1697 <translation>PDF 用戶手冊</translation>
1698 </message> 1698 </message>
1699 <message> 1699 <message>
1700 <location filename="rbutilqtfrm.ui" line="717"/> 1700 <location filename="rbutilqtfrm.ui" line="717"/>
1701 <source>HTML manual</source> 1701 <source>HTML manual</source>
1702 <translation>HTML 用戶手冊</translation> 1702 <translation>HTML 用戶手冊</translation>
1703 </message> 1703 </message>
1704 <message> 1704 <message>
1705 <location filename="rbutilqtfrm.ui" line="733"/> 1705 <location filename="rbutilqtfrm.ui" line="733"/>
1706 <source>Download the manual</source> 1706 <source>Download the manual</source>
1707 <translation>下載用戶手冊</translation> 1707 <translation>下載用戶手冊</translation>
1708 </message> 1708 </message>
1709 <message> 1709 <message>
1710 <location filename="rbutilqtfrm.ui" line="741"/> 1710 <location filename="rbutilqtfrm.ui" line="741"/>
1711 <source>&amp;PDF version</source> 1711 <source>&amp;PDF version</source>
1712 <translation>PDF 版本</translation> 1712 <translation>PDF 版本</translation>
1713 </message> 1713 </message>
1714 <message> 1714 <message>
1715 <location filename="rbutilqtfrm.ui" line="748"/> 1715 <location filename="rbutilqtfrm.ui" line="748"/>
1716 <source>&amp;HTML version (zip file)</source> 1716 <source>&amp;HTML version (zip file)</source>
1717 <translation>HTML 版本 (zip)</translation> 1717 <translation>HTML 版本 (zip)</translation>
1718 </message> 1718 </message>
1719 <message> 1719 <message>
1720 <location filename="rbutilqtfrm.ui" line="770"/> 1720 <location filename="rbutilqtfrm.ui" line="770"/>
1721 <source>Down&amp;load</source> 1721 <source>Down&amp;load</source>
1722 <translation>下載</translation> 1722 <translation>下載</translation>
1723 </message> 1723 </message>
1724 <message> 1724 <message>
1725 <location filename="rbutilqtfrm.ui" line="794"/> 1725 <location filename="rbutilqtfrm.ui" line="794"/>
1726 <source>Inf&amp;o</source> 1726 <source>Inf&amp;o</source>
1727 <translation>&amp;信息</translation> 1727 <translation>&amp;信息</translation>
1728 </message> 1728 </message>
1729 <message> 1729 <message>
1730 <location filename="" line="0"/> 1730 <location filename="" line="0"/>
1731 <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; 1731 <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;
1732p, li { white-space: pre-wrap; } 1732p, li { white-space: pre-wrap; }
1733&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; 1733&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;
1734&lt;p 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; 1734&lt;p 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;
1735&lt;p 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> 1735&lt;p 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>
1736 <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; 1736 <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;
1737p, li { white-space: pre-wrap; } 1737p, li { white-space: pre-wrap; }
1738&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; 1738&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;
1739&lt;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; 1739&lt;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;
1740&lt;p 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> 1740&lt;p 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>
1741 </message> 1741 </message>
1742 <message> 1742 <message>
1743 <location filename="rbutilqtfrm.ui" line="815"/> 1743 <location filename="rbutilqtfrm.ui" line="815"/>
1744 <source>1</source> 1744 <source>1</source>
1745 <translation>1</translation> 1745 <translation>1</translation>
1746 </message> 1746 </message>
1747 <message> 1747 <message>
1748 <location filename="rbutilqtfrm.ui" line="837"/> 1748 <location filename="rbutilqtfrm.ui" line="837"/>
1749 <source>&amp;File</source> 1749 <source>&amp;File</source>
1750 <translation>&amp;文件</translation> 1750 <translation>&amp;文件</translation>
1751 </message> 1751 </message>
1752 <message> 1752 <message>
1753 <location filename="rbutilqtfrm.ui" line="930"/> 1753 <location filename="rbutilqtfrm.ui" line="930"/>
1754 <source>&amp;About</source> 1754 <source>&amp;About</source>
1755 <translation>&amp;關于</translation> 1755 <translation>&amp;關于</translation>
1756 </message> 1756 </message>
1757 <message> 1757 <message>
1758 <location filename="rbutilqtfrm.ui" line="907"/> 1758 <location filename="rbutilqtfrm.ui" line="907"/>
1759 <source>Empty local download cache</source> 1759 <source>Empty local download cache</source>
1760 <translation>清除本机下載緩沖</translation> 1760 <translation>清除本机下載緩沖</translation>
1761 </message> 1761 </message>
1762 <message> 1762 <message>
1763 <location filename="rbutilqtfrm.ui" line="912"/> 1763 <location filename="rbutilqtfrm.ui" line="912"/>
1764 <source>Install Rockbox Utility on player</source> 1764 <source>Install Rockbox Utility on player</source>
1765 <translation>安裝Rockbox安裝程序到你的播放器</translation> 1765 <translation>安裝Rockbox安裝程序到你的播放器</translation>
1766 </message> 1766 </message>
1767 <message> 1767 <message>
1768 <location filename="rbutilqtfrm.ui" line="917"/> 1768 <location filename="rbutilqtfrm.ui" line="917"/>
1769 <source>&amp;Configure</source> 1769 <source>&amp;Configure</source>
1770 <translation>&amp;設置</translation> 1770 <translation>&amp;設置</translation>
1771 </message> 1771 </message>
1772 <message> 1772 <message>
1773 <location filename="rbutilqtfrm.ui" line="922"/> 1773 <location filename="rbutilqtfrm.ui" line="922"/>
1774 <source>E&amp;xit</source> 1774 <source>E&amp;xit</source>
1775 <translation>&amp;退出</translation> 1775 <translation>&amp;退出</translation>
1776 </message> 1776 </message>
1777 <message> 1777 <message>
1778 <location filename="rbutilqtfrm.ui" line="925"/> 1778 <location filename="rbutilqtfrm.ui" line="925"/>
1779 <source>Ctrl+Q</source> 1779 <source>Ctrl+Q</source>
1780 <translation>Ctrl+Q</translation> 1780 <translation>Ctrl+Q</translation>
1781 </message> 1781 </message>
1782 <message> 1782 <message>
1783 <location filename="rbutilqtfrm.ui" line="935"/> 1783 <location filename="rbutilqtfrm.ui" line="935"/>
1784 <source>About &amp;Qt</source> 1784 <source>About &amp;Qt</source>
1785 <translation>關于&amp;Qt</translation> 1785 <translation>關于&amp;Qt</translation>
1786 </message> 1786 </message>
1787 <message> 1787 <message>
1788 <location filename="rbutilqtfrm.ui" line="940"/> 1788 <location filename="rbutilqtfrm.ui" line="940"/>
1789 <source>&amp;Help</source> 1789 <source>&amp;Help</source>
1790 <translation>&amp;幫助</translation> 1790 <translation>&amp;幫助</translation>
1791 </message> 1791 </message>
1792 <message> 1792 <message>
1793 <location filename="rbutilqtfrm.ui" line="953"/> 1793 <location filename="rbutilqtfrm.ui" line="953"/>
1794 <source>Complete Installation</source> 1794 <source>Complete Installation</source>
1795 <translation type="unfinished"></translation> 1795 <translation type="unfinished"></translation>
1796 </message> 1796 </message>
1797 <message> 1797 <message>
1798 <location filename="rbutilqtfrm.ui" line="961"/> 1798 <location filename="rbutilqtfrm.ui" line="961"/>
1799 <source>Small Installation</source> 1799 <source>Small Installation</source>
1800 <translation type="unfinished"></translation> 1800 <translation type="unfinished"></translation>
1801 </message> 1801 </message>
1802 <message> 1802 <message>
1803 <location filename="rbutilqtfrm.ui" line="800"/> 1803 <location filename="rbutilqtfrm.ui" line="800"/>
1804 <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; 1804 <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;
1805p, li { white-space: pre-wrap; } 1805p, li { white-space: pre-wrap; }
1806&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; 1806&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;
1807&lt;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; 1807&lt;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;
1808&lt;p 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> 1808&lt;p 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>
1809 <translation type="unfinished"></translation> 1809 <translation type="unfinished"></translation>
1810 </message> 1810 </message>
1811 <message> 1811 <message>
1812 <location filename="rbutilqtfrm.ui" line="855"/> 1812 <location filename="rbutilqtfrm.ui" line="855"/>
1813 <source>Action&amp;s</source> 1813 <source>Action&amp;s</source>
1814 <translation type="unfinished"></translation> 1814 <translation type="unfinished"></translation>
1815 </message> 1815 </message>
1816 <message> 1816 <message>
1817 <location filename="rbutilqtfrm.ui" line="859"/> 1817 <location filename="rbutilqtfrm.ui" line="859"/>
1818 <source>Installation</source> 1818 <source>Installation</source>
1819 <translation type="unfinished"></translation> 1819 <translation type="unfinished"></translation>
1820 </message> 1820 </message>
1821 <message> 1821 <message>
1822 <location filename="rbutilqtfrm.ui" line="866"/> 1822 <location filename="rbutilqtfrm.ui" line="866"/>
1823 <source>Quick Start</source> 1823 <source>Quick Start</source>
1824 <translation type="unfinished"></translation> 1824 <translation type="unfinished"></translation>
1825 </message> 1825 </message>
1826 <message> 1826 <message>
1827 <location filename="rbutilqtfrm.ui" line="873"/> 1827 <location filename="rbutilqtfrm.ui" line="873"/>
1828 <source>Extras</source> 1828 <source>Extras</source>
1829 <translation type="unfinished"></translation> 1829 <translation type="unfinished"></translation>
1830 </message> 1830 </message>
1831 <message> 1831 <message>
1832 <location filename="rbutilqtfrm.ui" line="881"/> 1832 <location filename="rbutilqtfrm.ui" line="881"/>
1833 <source>Accessibility</source> 1833 <source>Accessibility</source>
1834 <translation type="unfinished"></translation> 1834 <translation type="unfinished"></translation>
1835 </message> 1835 </message>
1836 <message> 1836 <message>
1837 <location filename="rbutilqtfrm.ui" line="889"/> 1837 <location filename="rbutilqtfrm.ui" line="889"/>
1838 <source>Uninstallation</source> 1838 <source>Uninstallation</source>
1839 <translation type="unfinished"></translation> 1839 <translation type="unfinished"></translation>
1840 </message> 1840 </message>
1841 <message> 1841 <message>
1842 <location filename="rbutilqtfrm.ui" line="945"/> 1842 <location filename="rbutilqtfrm.ui" line="945"/>
1843 <source>Info</source> 1843 <source>Info</source>
1844 <translation type="unfinished"></translation> 1844 <translation type="unfinished"></translation>
1845 </message> 1845 </message>
1846 <message> 1846 <message>
1847 <location filename="rbutilqtfrm.ui" line="985"/> 1847 <location filename="rbutilqtfrm.ui" line="985"/>
1848 <source>Fonts Package</source> 1848 <source>Fonts Package</source>
1849 <translation type="unfinished"></translation> 1849 <translation type="unfinished"></translation>
1850 </message> 1850 </message>
1851 <message> 1851 <message>
1852 <location filename="rbutilqtfrm.ui" line="993"/> 1852 <location filename="rbutilqtfrm.ui" line="993"/>
1853 <source>Install Themes</source> 1853 <source>Install Themes</source>
1854 <translation type="unfinished"></translation> 1854 <translation type="unfinished"></translation>
1855 </message> 1855 </message>
1856 <message> 1856 <message>
1857 <location filename="rbutilqtfrm.ui" line="1001"/> 1857 <location filename="rbutilqtfrm.ui" line="1001"/>
1858 <source>Install Game Files</source> 1858 <source>Install Game Files</source>
1859 <translation type="unfinished"></translation> 1859 <translation type="unfinished"></translation>
1860 </message> 1860 </message>
1861 <message> 1861 <message>
1862 <location filename="rbutilqtfrm.ui" line="1009"/> 1862 <location filename="rbutilqtfrm.ui" line="1009"/>
1863 <source>Install Voice File</source> 1863 <source>Install Voice File</source>
1864 <translation type="unfinished"></translation> 1864 <translation type="unfinished"></translation>
1865 </message> 1865 </message>
1866 <message> 1866 <message>
1867 <location filename="rbutilqtfrm.ui" line="1017"/> 1867 <location filename="rbutilqtfrm.ui" line="1017"/>
1868 <source>Create Talk Files</source> 1868 <source>Create Talk Files</source>
1869 <translation type="unfinished"></translation> 1869 <translation type="unfinished"></translation>
1870 </message> 1870 </message>
1871 <message> 1871 <message>
1872 <location filename="rbutilqtfrm.ui" line="1025"/> 1872 <location filename="rbutilqtfrm.ui" line="1025"/>
1873 <source>Remove bootloader</source> 1873 <source>Remove bootloader</source>
1874 <translation type="unfinished"></translation> 1874 <translation type="unfinished"></translation>
1875 </message> 1875 </message>
1876 <message> 1876 <message>
1877 <location filename="rbutilqtfrm.ui" line="1038"/> 1877 <location filename="rbutilqtfrm.ui" line="1038"/>
1878 <source>Read PDF manual</source> 1878 <source>Read PDF manual</source>
1879 <translation type="unfinished"></translation> 1879 <translation type="unfinished"></translation>
1880 </message> 1880 </message>
1881 <message> 1881 <message>
1882 <location filename="rbutilqtfrm.ui" line="1043"/> 1882 <location filename="rbutilqtfrm.ui" line="1043"/>
1883 <source>Read HTML manual</source> 1883 <source>Read HTML manual</source>
1884 <translation type="unfinished"></translation> 1884 <translation type="unfinished"></translation>
1885 </message> 1885 </message>
1886 <message> 1886 <message>
1887 <location filename="rbutilqtfrm.ui" line="1048"/> 1887 <location filename="rbutilqtfrm.ui" line="1048"/>
1888 <source>Download PDF manual</source> 1888 <source>Download PDF manual</source>
1889 <translation type="unfinished"></translation> 1889 <translation type="unfinished"></translation>
1890 </message> 1890 </message>
1891 <message> 1891 <message>
1892 <location filename="rbutilqtfrm.ui" line="1053"/> 1892 <location filename="rbutilqtfrm.ui" line="1053"/>
1893 <source>Download HTML manual (zip)</source> 1893 <source>Download HTML manual (zip)</source>
1894 <translation type="unfinished"></translation> 1894 <translation type="unfinished"></translation>
1895 </message> 1895 </message>
1896 <message> 1896 <message>
1897 <location filename="rbutilqtfrm.ui" line="558"/> 1897 <location filename="rbutilqtfrm.ui" line="558"/>
1898 <source>Create Voice files</source> 1898 <source>Create Voice files</source>
1899 <translation type="unfinished"></translation> 1899 <translation type="unfinished"></translation>
1900 </message> 1900 </message>
1901 <message> 1901 <message>
1902 <location filename="rbutilqtfrm.ui" line="574"/> 1902 <location filename="rbutilqtfrm.ui" line="574"/>
1903 <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; 1903 <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;
1904p, li { white-space: pre-wrap; } 1904p, li { white-space: pre-wrap; }
1905&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; 1905&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;
1906&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; 1906&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;
1907&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; 1907&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;
1908&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> 1908&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>
1909 <translation type="unfinished"></translation> 1909 <translation type="unfinished"></translation>
1910 </message> 1910 </message>
1911 <message> 1911 <message>
1912 <location filename="rbutilqtfrm.ui" line="1061"/> 1912 <location filename="rbutilqtfrm.ui" line="1061"/>
1913 <source>Create Voice File</source> 1913 <source>Create Voice File</source>
1914 <translation type="unfinished"></translation> 1914 <translation type="unfinished"></translation>
1915 </message> 1915 </message>
1916 <message> 1916 <message>
1917 <location filename="rbutilqtfrm.ui" line="1064"/> 1917 <location filename="rbutilqtfrm.ui" line="1064"/>
1918 <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; 1918 <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;
1919e File</source> 1919e File</source>
1920 <translation type="unfinished"></translation> 1920 <translation type="unfinished"></translation>
1921 </message> 1921 </message>
1922</context> 1922</context>
1923<context> 1923<context>
1924 <name>SapiCfgFrm</name> 1924 <name>SapiCfgFrm</name>
1925 <message> 1925 <message>
1926 <location filename="sapicfgfrm.ui" line="13"/> 1926 <location filename="sapicfgfrm.ui" line="13"/>
1927 <source>Configuration</source> 1927 <source>Configuration</source>
1928 <translation type="unfinished">設置</translation> 1928 <translation type="unfinished">設置</translation>
1929 </message> 1929 </message>
1930 <message> 1930 <message>
1931 <location filename="sapicfgfrm.ui" line="19"/> 1931 <location filename="sapicfgfrm.ui" line="19"/>
1932 <source>Configure TTS Engine</source> 1932 <source>Configure TTS Engine</source>
1933 <translation type="unfinished"></translation> 1933 <translation type="unfinished"></translation>
1934 </message> 1934 </message>
1935 <message> 1935 <message>
1936 <location filename="sapicfgfrm.ui" line="62"/> 1936 <location filename="sapicfgfrm.ui" line="62"/>
1937 <source>TTS options</source> 1937 <source>TTS options</source>
1938 <translation type="unfinished"></translation> 1938 <translation type="unfinished"></translation>
1939 </message> 1939 </message>
1940 <message> 1940 <message>
1941 <location filename="sapicfgfrm.ui" line="25"/> 1941 <location filename="sapicfgfrm.ui" line="25"/>
1942 <source>Language</source> 1942 <source>Language</source>
1943 <translation type="unfinished"></translation> 1943 <translation type="unfinished"></translation>
1944 </message> 1944 </message>
1945 <message> 1945 <message>
1946 <location filename="sapicfgfrm.ui" line="87"/> 1946 <location filename="sapicfgfrm.ui" line="87"/>
1947 <source>Reset</source> 1947 <source>Reset</source>
1948 <translation type="unfinished"></translation> 1948 <translation type="unfinished"></translation>
1949 </message> 1949 </message>
1950 <message> 1950 <message>
1951 <location filename="sapicfgfrm.ui" line="107"/> 1951 <location filename="sapicfgfrm.ui" line="107"/>
1952 <source>&amp;Ok</source> 1952 <source>&amp;Ok</source>
1953 <translation type="unfinished">&amp;OK</translation> 1953 <translation type="unfinished">&amp;OK</translation>
1954 </message> 1954 </message>
1955 <message> 1955 <message>
1956 <location filename="sapicfgfrm.ui" line="117"/> 1956 <location filename="sapicfgfrm.ui" line="117"/>
1957 <source>&amp;Cancel</source> 1957 <source>&amp;Cancel</source>
1958 <translation type="unfinished">&amp;取消</translation> 1958 <translation type="unfinished">&amp;取消</translation>
1959 </message> 1959 </message>
1960 <message> 1960 <message>
1961 <location filename="sapicfgfrm.ui" line="35"/> 1961 <location filename="sapicfgfrm.ui" line="35"/>
1962 <source>Voice</source> 1962 <source>Voice</source>
1963 <translation type="unfinished"></translation> 1963 <translation type="unfinished"></translation>
1964 </message> 1964 </message>
1965 <message> 1965 <message>
1966 <location filename="sapicfgfrm.ui" line="45"/> 1966 <location filename="sapicfgfrm.ui" line="45"/>
1967 <source>Speed</source> 1967 <source>Speed</source>
1968 <translation type="unfinished"></translation> 1968 <translation type="unfinished"></translation>
1969 </message> 1969 </message>
1970</context> 1970</context>
1971<context> 1971<context>
1972 <name>TTSExes</name> 1972 <name>TTSExes</name>
1973 <message> 1973 <message>
1974 <location filename="tts.cpp" line="123"/> 1974 <location filename="tts.cpp" line="123"/>
1975 <source>TTS executable not found</source> 1975 <source>TTS executable not found</source>
1976 <translation type="unfinished"></translation> 1976 <translation type="unfinished"></translation>
1977 </message> 1977 </message>
1978</context> 1978</context>
1979<context> 1979<context>
1980 <name>TTSExesCfgFrm</name> 1980 <name>TTSExesCfgFrm</name>
1981 <message> 1981 <message>
1982 <location filename="ttsexescfgfrm.ui" line="13"/> 1982 <location filename="ttsexescfgfrm.ui" line="13"/>
1983 <source>Configuration</source> 1983 <source>Configuration</source>
1984 <translation type="unfinished">設置</translation> 1984 <translation type="unfinished">設置</translation>
1985 </message> 1985 </message>
1986 <message> 1986 <message>
1987 <location filename="ttsexescfgfrm.ui" line="19"/> 1987 <location filename="ttsexescfgfrm.ui" line="19"/>
1988 <source>Configure TTS Engine</source> 1988 <source>Configure TTS Engine</source>
1989 <translation type="unfinished"></translation> 1989 <translation type="unfinished"></translation>
1990 </message> 1990 </message>
1991 <message> 1991 <message>
1992 <location filename="ttsexescfgfrm.ui" line="31"/> 1992 <location filename="ttsexescfgfrm.ui" line="31"/>
1993 <source>Path to TTS Engine</source> 1993 <source>Path to TTS Engine</source>
1994 <translation type="unfinished"></translation> 1994 <translation type="unfinished"></translation>
1995 </message> 1995 </message>
1996 <message> 1996 <message>
1997 <location filename="ttsexescfgfrm.ui" line="43"/> 1997 <location filename="ttsexescfgfrm.ui" line="43"/>
1998 <source>&amp;Browse</source> 1998 <source>&amp;Browse</source>
1999 <translation type="unfinished">&amp;瀏覽</translation> 1999 <translation type="unfinished">&amp;瀏覽</translation>
2000 </message> 2000 </message>
2001 <message> 2001 <message>
2002 <location filename="ttsexescfgfrm.ui" line="52"/> 2002 <location filename="ttsexescfgfrm.ui" line="52"/>
2003 <source>TTS options</source> 2003 <source>TTS options</source>
2004 <translation type="unfinished"></translation> 2004 <translation type="unfinished"></translation>
2005 </message> 2005 </message>
2006 <message> 2006 <message>
2007 <location filename="ttsexescfgfrm.ui" line="77"/> 2007 <location filename="ttsexescfgfrm.ui" line="77"/>
2008 <source>Reset</source> 2008 <source>Reset</source>
2009 <translation type="unfinished"></translation> 2009 <translation type="unfinished"></translation>
2010 </message> 2010 </message>
2011 <message> 2011 <message>
2012 <location filename="ttsexescfgfrm.ui" line="97"/> 2012 <location filename="ttsexescfgfrm.ui" line="97"/>
2013 <source>&amp;Ok</source> 2013 <source>&amp;Ok</source>
2014 <translation type="unfinished">&amp;OK</translation> 2014 <translation type="unfinished">&amp;OK</translation>
2015 </message> 2015 </message>
2016 <message> 2016 <message>
2017 <location filename="ttsexescfgfrm.ui" line="107"/> 2017 <location filename="ttsexescfgfrm.ui" line="107"/>
2018 <source>&amp;Cancel</source> 2018 <source>&amp;Cancel</source>
2019 <translation type="unfinished">&amp;取消</translation> 2019 <translation type="unfinished">&amp;取消</translation>
2020 </message> 2020 </message>
2021</context> 2021</context>
2022<context> 2022<context>
2023 <name>TTSSapi</name> 2023 <name>TTSSapi</name>
2024 <message> 2024 <message>
2025 <location filename="tts.cpp" line="274"/> 2025 <location filename="tts.cpp" line="274"/>
2026 <source>Could not copy the Sapi-script</source> 2026 <source>Could not copy the Sapi-script</source>
2027 <translation type="unfinished"></translation> 2027 <translation type="unfinished"></translation>
2028 </message> 2028 </message>
2029 <message> 2029 <message>
2030 <location filename="tts.cpp" line="292"/> 2030 <location filename="tts.cpp" line="292"/>
2031 <source>Could not start the Sapi-script</source> 2031 <source>Could not start the Sapi-script</source>
2032 <translation type="unfinished"></translation> 2032 <translation type="unfinished"></translation>
2033 </message> 2033 </message>
2034</context> 2034</context>
2035<context> 2035<context>
2036 <name>TalkFileCreator</name> 2036 <name>TalkFileCreator</name>
2037 <message> 2037 <message>
2038 <location filename="talkfile.cpp" line="31"/> 2038 <location filename="talkfile.cpp" line="31"/>
2039 <source>Starting Talk file generation</source> 2039 <source>Starting Talk file generation</source>
2040 <translation type="unfinished"></translation> 2040 <translation type="unfinished"></translation>
2041 </message> 2041 </message>
2042 <message> 2042 <message>
2043 <location filename="talkfile.cpp" line="41"/> 2043 <location filename="talkfile.cpp" line="41"/>
2044 <source>Init of TTS engine failed</source> 2044 <source>Init of TTS engine failed</source>
2045 <translation type="unfinished"></translation> 2045 <translation type="unfinished"></translation>
2046 </message> 2046 </message>
2047 <message> 2047 <message>
2048 <location filename="talkfile.cpp" line="52"/> 2048 <location filename="talkfile.cpp" line="52"/>
2049 <source>Init of Encoder engine failed</source> 2049 <source>Init of Encoder engine failed</source>
2050 <translation type="unfinished"></translation> 2050 <translation type="unfinished"></translation>
2051 </message> 2051 </message>
2052 <message> 2052 <message>
2053 <location filename="talkfile.cpp" line="70"/> 2053 <location filename="talkfile.cpp" line="70"/>
2054 <source>Talk file creation aborted</source> 2054 <source>Talk file creation aborted</source>
2055 <translation type="unfinished"></translation> 2055 <translation type="unfinished"></translation>
2056 </message> 2056 </message>
2057 <message> 2057 <message>
2058 <location filename="talkfile.cpp" line="132"/> 2058 <location filename="talkfile.cpp" line="132"/>
2059 <source>Voicing of %1</source> 2059 <source>Voicing of %1</source>
2060 <translation type="unfinished"></translation> 2060 <translation type="unfinished"></translation>
2061 </message> 2061 </message>
2062 <message> 2062 <message>
2063 <location filename="talkfile.cpp" line="135"/> 2063 <location filename="talkfile.cpp" line="135"/>
2064 <source>Voicing of %s failed</source> 2064 <source>Voicing of %s failed</source>
2065 <translation type="unfinished"></translation> 2065 <translation type="unfinished"></translation>
2066 </message> 2066 </message>
2067 <message> 2067 <message>
2068 <location filename="talkfile.cpp" line="143"/> 2068 <location filename="talkfile.cpp" line="143"/>
2069 <source>Encoding of %1</source> 2069 <source>Encoding of %1</source>
2070 <translation type="unfinished"></translation> 2070 <translation type="unfinished"></translation>
2071 </message> 2071 </message>
2072 <message> 2072 <message>
2073 <location filename="talkfile.cpp" line="146"/> 2073 <location filename="talkfile.cpp" line="146"/>
2074 <source>Encoding of %1 failed</source> 2074 <source>Encoding of %1 failed</source>
2075 <translation type="unfinished"></translation> 2075 <translation type="unfinished"></translation>
2076 </message> 2076 </message>
2077 <message> 2077 <message>
2078 <location filename="talkfile.cpp" line="173"/> 2078 <location filename="talkfile.cpp" line="173"/>
2079 <source>Finished creating Talk files</source> 2079 <source>Finished creating Talk files</source>
2080 <translation type="unfinished"></translation> 2080 <translation type="unfinished"></translation>
2081 </message> 2081 </message>
2082</context> 2082</context>
2083<context> 2083<context>
2084 <name>ThemeInstallFrm</name> 2084 <name>ThemeInstallFrm</name>
2085 <message> 2085 <message>
2086 <location filename="installthemesfrm.ui" line="13"/> 2086 <location filename="installthemesfrm.ui" line="13"/>
2087 <source>Theme Installation</source> 2087 <source>Theme Installation</source>
2088 <translation>安裝主題</translation> 2088 <translation>安裝主題</translation>
2089 </message> 2089 </message>
2090 <message> 2090 <message>
2091 <location filename="installthemesfrm.ui" line="48"/> 2091 <location filename="installthemesfrm.ui" line="48"/>
2092 <source>Selected Theme</source> 2092 <source>Selected Theme</source>
2093 <translation>被選擇的主題</translation> 2093 <translation>被選擇的主題</translation>
2094 </message> 2094 </message>
2095 <message> 2095 <message>
2096 <location filename="installthemesfrm.ui" line="73"/> 2096 <location filename="installthemesfrm.ui" line="73"/>
2097 <source>Description</source> 2097 <source>Description</source>
2098 <translation>描述</translation> 2098 <translation>描述</translation>
2099 </message> 2099 </message>
2100 <message> 2100 <message>
2101 <location filename="installthemesfrm.ui" line="83"/> 2101 <location filename="installthemesfrm.ui" line="83"/>
2102 <source>Download size:</source> 2102 <source>Download size:</source>
2103 <translation>下載大小:</translation> 2103 <translation>下載大小:</translation>
2104 </message> 2104 </message>
2105 <message> 2105 <message>
2106 <location filename="" line="0"/> 2106 <location filename="" line="0"/>
2107 <source>&amp;Ok</source> 2107 <source>&amp;Ok</source>
2108 <translation type="obsolete">&amp;OK</translation> 2108 <translation type="obsolete">&amp;OK</translation>
2109 </message> 2109 </message>
2110 <message> 2110 <message>
2111 <location filename="installthemesfrm.ui" line="128"/> 2111 <location filename="installthemesfrm.ui" line="128"/>
2112 <source>&amp;Cancel</source> 2112 <source>&amp;Cancel</source>
2113 <translation>&amp;取消</translation> 2113 <translation>&amp;取消</translation>
2114 </message> 2114 </message>
2115 <message> 2115 <message>
2116 <location filename="installthemesfrm.ui" line="108"/> 2116 <location filename="installthemesfrm.ui" line="108"/>
2117 <source>&amp;Install</source> 2117 <source>&amp;Install</source>
2118 <translation type="unfinished"></translation> 2118 <translation type="unfinished"></translation>
2119 </message> 2119 </message>
2120 <message> 2120 <message>
2121 <location filename="installthemesfrm.ui" line="118"/> 2121 <location filename="installthemesfrm.ui" line="118"/>
2122 <source>Install &amp;All</source> 2122 <source>Install &amp;All</source>
2123 <translation type="unfinished"></translation> 2123 <translation type="unfinished"></translation>
2124 </message> 2124 </message>
2125</context> 2125</context>
2126<context> 2126<context>
2127 <name>ThemesInstallWindow</name> 2127 <name>ThemesInstallWindow</name>
2128 <message> 2128 <message>
2129 <location filename="installthemes.cpp" line="34"/> 2129 <location filename="installthemes.cpp" line="34"/>
2130 <source>no theme selected</source> 2130 <source>no theme selected</source>
2131 <translation>沒有選擇主題</translation> 2131 <translation>沒有選擇主題</translation>
2132 </message> 2132 </message>
2133 <message> 2133 <message>
2134 <location filename="installthemes.cpp" line="117"/> 2134 <location filename="installthemes.cpp" line="117"/>
2135 <source>Network error: %1. 2135 <source>Network error: %1.
2136Please check your network and proxy settings.</source> 2136Please check your network and proxy settings.</source>
2137 <translation>网絡錯誤: %1. 2137 <translation>网絡錯誤: %1.
2138請檢查你的网絡和代理服務的設置.</translation> 2138請檢查你的网絡和代理服務的設置.</translation>
2139 </message> 2139 </message>
2140 <message> 2140 <message>
2141 <location filename="" line="0"/> 2141 <location filename="" line="0"/>
2142 <source>???????: 2142 <source>???????:
2143%1</source> 2143%1</source>
2144 <translation type="obsolete">L&apos;erreur suivante s&apos;est produite : 2144 <translation type="obsolete">L&apos;erreur suivante s&apos;est produite :
2145%1</translation> 2145%1</translation>
2146 </message> 2146 </message>
2147 <message> 2147 <message>
2148 <location filename="installthemes.cpp" line="133"/> 2148 <location filename="installthemes.cpp" line="133"/>
2149 <source>done.</source> 2149 <source>done.</source>
2150 <translation>完成.</translation> 2150 <translation>完成.</translation>
2151 </message> 2151 </message>
2152 <message> 2152 <message>
2153 <location filename="installthemes.cpp" line="161"/> 2153 <location filename="installthemes.cpp" line="161"/>
2154 <source>fetching details for %1</source> 2154 <source>fetching details for %1</source>
2155 <translation>正在拿取 %1 的細節</translation> 2155 <translation>正在拿取 %1 的細節</translation>
2156 </message> 2156 </message>
2157 <message> 2157 <message>
2158 <location filename="installthemes.cpp" line="163"/> 2158 <location filename="installthemes.cpp" line="163"/>
2159 <source>fetching preview ...</source> 2159 <source>fetching preview ...</source>
2160 <translation>正在拿取預覽...</translation> 2160 <translation>正在拿取預覽...</translation>
2161 </message> 2161 </message>
2162 <message> 2162 <message>
2163 <location filename="" line="0"/> 2163 <location filename="" line="0"/>
2164 <source>Download size %1 kiB</source> 2164 <source>Download size %1 kiB</source>
2165 <translation type="obsolete">下載大小 %1 kiB</translation> 2165 <translation type="obsolete">下載大小 %1 kiB</translation>
2166 </message> 2166 </message>
2167 <message> 2167 <message>
2168 <location filename="installthemes.cpp" line="184"/> 2168 <location filename="installthemes.cpp" line="184"/>
2169 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source> 2169 <source>&lt;b&gt;Author:&lt;/b&gt; %1&lt;hr/&gt;</source>
2170 <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2170 <translation>&lt;b&gt;作者:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2171 </message> 2171 </message>
2172 <message> 2172 <message>
2173 <location filename="installthemes.cpp" line="185"/> 2173 <location filename="installthemes.cpp" line="185"/>
2174 <source>unknown</source> 2174 <source>unknown</source>
2175 <translation>不明</translation> 2175 <translation>不明</translation>
2176 </message> 2176 </message>
2177 <message> 2177 <message>
2178 <location filename="installthemes.cpp" line="185"/> 2178 <location filename="installthemes.cpp" line="185"/>
2179 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source> 2179 <source>&lt;b&gt;Version:&lt;/b&gt; %1&lt;hr/&gt;</source>
2180 <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2180 <translation>&lt;b&gt;版本:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2181 </message> 2181 </message>
2182 <message> 2182 <message>
2183 <location filename="installthemes.cpp" line="186"/> 2183 <location filename="installthemes.cpp" line="186"/>
2184 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source> 2184 <source>&lt;b&gt;Description:&lt;/b&gt; %1&lt;hr/&gt;</source>
2185 <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation> 2185 <translation>&lt;b&gt;描述:&lt;/b&gt; %1&lt;hr/&gt;</translation>
2186 </message> 2186 </message>
2187 <message> 2187 <message>
2188 <location filename="installthemes.cpp" line="186"/> 2188 <location filename="installthemes.cpp" line="186"/>
2189 <source>no description</source> 2189 <source>no description</source>
2190 <translation>無描述</translation> 2190 <translation>無描述</translation>
2191 </message> 2191 </message>
2192 <message> 2192 <message>
2193 <location filename="installthemes.cpp" line="222"/> 2193 <location filename="installthemes.cpp" line="222"/>
2194 <source>no theme preview</source> 2194 <source>no theme preview</source>
2195 <translation>無主題預覽</translation> 2195 <translation>無主題預覽</translation>
2196 </message> 2196 </message>
2197 <message> 2197 <message>
2198 <location filename="installthemes.cpp" line="254"/> 2198 <location filename="installthemes.cpp" line="254"/>
2199 <source>getting themes information ...</source> 2199 <source>getting themes information ...</source>
2200 <translation>正在拿取主題信息...</translation> 2200 <translation>正在拿取主題信息...</translation>
2201 </message> 2201 </message>
2202 <message> 2202 <message>
2203 <location filename="installthemes.cpp" line="312"/> 2203 <location filename="installthemes.cpp" line="312"/>
2204 <source>Mount point is wrong!</source> 2204 <source>Mount point is wrong!</source>
2205 <translation>Mountpoint 錯誤!</translation> 2205 <translation>Mountpoint 錯誤!</translation>
2206 </message> 2206 </message>
2207 <message> 2207 <message>
2208 <location filename="installthemes.cpp" line="128"/> 2208 <location filename="installthemes.cpp" line="128"/>
2209 <source>the following error occured: 2209 <source>the following error occured:
2210%1</source> 2210%1</source>
2211 <translation type="unfinished"></translation> 2211 <translation type="unfinished"></translation>
2212 </message> 2212 </message>
2213 <message> 2213 <message>
2214 <location filename="installthemes.cpp" line="171"/> 2214 <location filename="installthemes.cpp" line="171"/>
2215 <source>Download size %L1 kiB</source> 2215 <source>Download size %L1 kiB</source>
2216 <translation type="unfinished"></translation> 2216 <translation type="unfinished"></translation>
2217 </message> 2217 </message>
2218</context> 2218</context>
2219<context> 2219<context>
2220 <name>UnZip</name> 2220 <name>UnZip</name>
2221 <message> 2221 <message>
2222 <location filename="zip/unzip.cpp" line="245"/> 2222 <location filename="zip/unzip.cpp" line="245"/>
2223 <source>ZIP operation completed successfully.</source> 2223 <source>ZIP operation completed successfully.</source>
2224 <translation>成功完成 ZIP 程序.</translation> 2224 <translation>成功完成 ZIP 程序.</translation>
2225 </message> 2225 </message>
2226 <message> 2226 <message>
2227 <location filename="zip/unzip.cpp" line="246"/> 2227 <location filename="zip/unzip.cpp" line="246"/>
2228 <source>Failed to initialize or load zlib library.</source> 2228 <source>Failed to initialize or load zlib library.</source>
2229 <translation>初始化zlib失敗.</translation> 2229 <translation>初始化zlib失敗.</translation>
2230 </message> 2230 </message>
2231 <message> 2231 <message>
2232 <location filename="zip/unzip.cpp" line="247"/> 2232 <location filename="zip/unzip.cpp" line="247"/>
2233 <source>zlib library error.</source> 2233 <source>zlib library error.</source>
2234 <translation>zlib錯誤.</translation> 2234 <translation>zlib錯誤.</translation>
2235 </message> 2235 </message>
2236 <message> 2236 <message>
2237 <location filename="zip/unzip.cpp" line="248"/> 2237 <location filename="zip/unzip.cpp" line="248"/>
2238 <source>Unable to create or open file.</source> 2238 <source>Unable to create or open file.</source>
2239 <translation>無法建立或打開文件.</translation> 2239 <translation>無法建立或打開文件.</translation>
2240 </message> 2240 </message>
2241 <message> 2241 <message>
2242 <location filename="zip/unzip.cpp" line="249"/> 2242 <location filename="zip/unzip.cpp" line="249"/>
2243 <source>Partially corrupted archive. Some files might be extracted.</source> 2243 <source>Partially corrupted archive. Some files might be extracted.</source>
2244 <translation>壓縮文件部分損坏. 一些文件可能可以被恢复. </translation> 2244 <translation>壓縮文件部分損坏. 一些文件可能可以被恢复. </translation>
2245 </message> 2245 </message>
2246 <message> 2246 <message>
2247 <location filename="zip/unzip.cpp" line="250"/> 2247 <location filename="zip/unzip.cpp" line="250"/>
2248 <source>Corrupted archive.</source> 2248 <source>Corrupted archive.</source>
2249 <translation>壓縮文件損坏.</translation> 2249 <translation>壓縮文件損坏.</translation>
2250 </message> 2250 </message>
2251 <message> 2251 <message>
2252 <location filename="zip/unzip.cpp" line="251"/> 2252 <location filename="zip/unzip.cpp" line="251"/>
2253 <source>Wrong password.</source> 2253 <source>Wrong password.</source>
2254 <translation>密碼不正确.</translation> 2254 <translation>密碼不正确.</translation>
2255 </message> 2255 </message>
2256 <message> 2256 <message>
2257 <location filename="zip/unzip.cpp" line="252"/> 2257 <location filename="zip/unzip.cpp" line="252"/>
2258 <source>No archive has been created yet.</source> 2258 <source>No archive has been created yet.</source>
2259 <translation>壓縮文件還沒有被建立.</translation> 2259 <translation>壓縮文件還沒有被建立.</translation>
2260 </message> 2260 </message>
2261 <message> 2261 <message>
2262 <location filename="zip/unzip.cpp" line="253"/> 2262 <location filename="zip/unzip.cpp" line="253"/>
2263 <source>File or directory does not exist.</source> 2263 <source>File or directory does not exist.</source>
2264 <translation>文件或文件夾不存在.</translation> 2264 <translation>文件或文件夾不存在.</translation>
2265 </message> 2265 </message>
2266 <message> 2266 <message>
2267 <location filename="zip/unzip.cpp" line="254"/> 2267 <location filename="zip/unzip.cpp" line="254"/>
2268 <source>File read error.</source> 2268 <source>File read error.</source>
2269 <translation>文件讀取錯誤.</translation> 2269 <translation>文件讀取錯誤.</translation>
2270 </message> 2270 </message>
2271 <message> 2271 <message>
2272 <location filename="zip/unzip.cpp" line="255"/> 2272 <location filename="zip/unzip.cpp" line="255"/>
2273 <source>File write error.</source> 2273 <source>File write error.</source>
2274 <translation>文件寫入錯誤.</translation> 2274 <translation>文件寫入錯誤.</translation>
2275 </message> 2275 </message>
2276 <message> 2276 <message>
2277 <location filename="zip/unzip.cpp" line="256"/> 2277 <location filename="zip/unzip.cpp" line="256"/>
2278 <source>File seek error.</source> 2278 <source>File seek error.</source>
2279 <translation>文件內尋找錯誤.</translation> 2279 <translation>文件內尋找錯誤.</translation>
2280 </message> 2280 </message>
2281 <message> 2281 <message>
2282 <location filename="zip/unzip.cpp" line="257"/> 2282 <location filename="zip/unzip.cpp" line="257"/>
2283 <source>Unable to create a directory.</source> 2283 <source>Unable to create a directory.</source>
2284 <translation>無法建立文件夾.</translation> 2284 <translation>無法建立文件夾.</translation>
2285 </message> 2285 </message>
2286 <message> 2286 <message>
2287 <location filename="zip/unzip.cpp" line="258"/> 2287 <location filename="zip/unzip.cpp" line="258"/>
2288 <source>Invalid device.</source> 2288 <source>Invalid device.</source>
2289 <translation>無效播放器.</translation> 2289 <translation>無效播放器.</translation>
2290 </message> 2290 </message>
2291 <message> 2291 <message>
2292 <location filename="zip/unzip.cpp" line="259"/> 2292 <location filename="zip/unzip.cpp" line="259"/>
2293 <source>Invalid or incompatible zip archive.</source> 2293 <source>Invalid or incompatible zip archive.</source>
2294 <translation>無效或不支持壓縮文件.</translation> 2294 <translation>無效或不支持壓縮文件.</translation>
2295 </message> 2295 </message>
2296 <message> 2296 <message>
2297 <location filename="zip/unzip.cpp" line="260"/> 2297 <location filename="zip/unzip.cpp" line="260"/>
2298 <source>Inconsistent headers. Archive might be corrupted.</source> 2298 <source>Inconsistent headers. Archive might be corrupted.</source>
2299 <translation>文件頭不正常. 壓縮文件可能已損坏. </translation> 2299 <translation>文件頭不正常. 壓縮文件可能已損坏. </translation>
2300 </message> 2300 </message>
2301 <message> 2301 <message>
2302 <location filename="zip/unzip.cpp" line="264"/> 2302 <location filename="zip/unzip.cpp" line="264"/>
2303 <source>Unknown error.</source> 2303 <source>Unknown error.</source>
2304 <translation>不明錯誤.</translation> 2304 <translation>不明錯誤.</translation>
2305 </message> 2305 </message>
2306</context> 2306</context>
2307<context> 2307<context>
2308 <name>UninstallFrm</name> 2308 <name>UninstallFrm</name>
2309 <message> 2309 <message>
2310 <location filename="uninstallfrm.ui" line="16"/> 2310 <location filename="uninstallfrm.ui" line="16"/>
2311 <source>Uninstall Rockbox</source> 2311 <source>Uninstall Rockbox</source>
2312 <translation>卸載 Rockbox</translation> 2312 <translation>卸載 Rockbox</translation>
2313 </message> 2313 </message>
2314 <message> 2314 <message>
2315 <location filename="uninstallfrm.ui" line="35"/> 2315 <location filename="uninstallfrm.ui" line="35"/>
2316 <source>Please select the Uninstallation Methodl</source> 2316 <source>Please select the Uninstallation Methodl</source>
2317 <translation>請選擇卸載模式</translation> 2317 <translation>請選擇卸載模式</translation>
2318 </message> 2318 </message>
2319 <message> 2319 <message>
2320 <location filename="uninstallfrm.ui" line="45"/> 2320 <location filename="uninstallfrm.ui" line="45"/>
2321 <source>Uninstallation Method</source> 2321 <source>Uninstallation Method</source>
2322 <translation>卸載模式</translation> 2322 <translation>卸載模式</translation>
2323 </message> 2323 </message>
2324 <message> 2324 <message>
2325 <location filename="uninstallfrm.ui" line="51"/> 2325 <location filename="uninstallfrm.ui" line="51"/>
2326 <source>Complete Uninstallation</source> 2326 <source>Complete Uninstallation</source>
2327 <translation>完全卸載</translation> 2327 <translation>完全卸載</translation>
2328 </message> 2328 </message>
2329 <message> 2329 <message>
2330 <location filename="uninstallfrm.ui" line="58"/> 2330 <location filename="uninstallfrm.ui" line="58"/>
2331 <source>Smart Uninstallation</source> 2331 <source>Smart Uninstallation</source>
2332 <translation>智能卸載</translation> 2332 <translation>智能卸載</translation>
2333 </message> 2333 </message>
2334 <message> 2334 <message>
2335 <location filename="uninstallfrm.ui" line="68"/> 2335 <location filename="uninstallfrm.ui" line="68"/>
2336 <source>Please select what you want to uninstall</source> 2336 <source>Please select what you want to uninstall</source>
2337 <translation>請選擇卸載部分</translation> 2337 <translation>請選擇卸載部分</translation>
2338 </message> 2338 </message>
2339 <message> 2339 <message>
2340 <location filename="uninstallfrm.ui" line="78"/> 2340 <location filename="uninstallfrm.ui" line="78"/>
2341 <source>Installed Parts</source> 2341 <source>Installed Parts</source>
2342 <translation>已安裝的部分</translation> 2342 <translation>已安裝的部分</translation>
2343 </message> 2343 </message>
2344 <message> 2344 <message>
2345 <location filename="" line="0"/> 2345 <location filename="" line="0"/>
2346 <source>&amp;Ok</source> 2346 <source>&amp;Ok</source>
2347 <translation type="obsolete">&amp;OK</translation> 2347 <translation type="obsolete">&amp;OK</translation>
2348 </message> 2348 </message>
2349 <message> 2349 <message>
2350 <location filename="uninstallfrm.ui" line="138"/> 2350 <location filename="uninstallfrm.ui" line="138"/>
2351 <source>&amp;Cancel</source> 2351 <source>&amp;Cancel</source>
2352 <translation>&amp;取消</translation> 2352 <translation>&amp;取消</translation>
2353 </message> 2353 </message>
2354 <message> 2354 <message>
2355 <location filename="uninstallfrm.ui" line="128"/> 2355 <location filename="uninstallfrm.ui" line="128"/>
2356 <source>&amp;Uninstall</source> 2356 <source>&amp;Uninstall</source>
2357 <translation type="unfinished"></translation> 2357 <translation type="unfinished"></translation>
2358 </message> 2358 </message>
2359</context> 2359</context>
2360<context> 2360<context>
2361 <name>Uninstaller</name> 2361 <name>Uninstaller</name>
2362 <message> 2362 <message>
2363 <location filename="uninstall.cpp" line="45"/> 2363 <location filename="uninstall.cpp" line="45"/>
2364 <source>Starting Uninstallation</source> 2364 <source>Starting Uninstallation</source>
2365 <translation>開始卸載</translation> 2365 <translation>開始卸載</translation>
2366 </message> 2366 </message>
2367 <message> 2367 <message>
2368 <location filename="uninstall.cpp" line="37"/> 2368 <location filename="uninstall.cpp" line="37"/>
2369 <source>Finished Uninstallation</source> 2369 <source>Finished Uninstallation</source>
2370 <translation>完成卸載</translation> 2370 <translation>完成卸載</translation>
2371 </message> 2371 </message>
2372 <message> 2372 <message>
2373 <location filename="uninstall.cpp" line="51"/> 2373 <location filename="uninstall.cpp" line="51"/>
2374 <source>Uninstalling </source> 2374 <source>Uninstalling </source>
2375 <translation>正在卸載</translation> 2375 <translation>正在卸載</translation>
2376 </message> 2376 </message>
2377 <message> 2377 <message>
2378 <location filename="uninstall.cpp" line="81"/> 2378 <location filename="uninstall.cpp" line="81"/>
2379 <source>Could not delete: </source> 2379 <source>Could not delete: </source>
2380 <translation>無法刪除: </translation> 2380 <translation>無法刪除: </translation>
2381 </message> 2381 </message>
2382 <message> 2382 <message>
2383 <location filename="uninstall.cpp" line="108"/> 2383 <location filename="uninstall.cpp" line="108"/>
2384 <source>Uninstallation finished</source> 2384 <source>Uninstallation finished</source>
2385 <translation>完成卸載</translation> 2385 <translation>完成卸載</translation>
2386 </message> 2386 </message>
2387</context> 2387</context>
2388<context> 2388<context>
2389 <name>VoiceFileCreator</name> 2389 <name>VoiceFileCreator</name>
2390 <message> 2390 <message>
2391 <location filename="voicefile.cpp" line="41"/> 2391 <location filename="voicefile.cpp" line="41"/>
2392 <source>Starting Voicefile generation</source> 2392 <source>Starting Voicefile generation</source>
2393 <translation type="unfinished"></translation> 2393 <translation type="unfinished"></translation>
2394 </message> 2394 </message>
2395 <message> 2395 <message>
2396 <location filename="voicefile.cpp" line="55"/> 2396 <location filename="voicefile.cpp" line="55"/>
2397 <source>failed to open rockbox-info.txt</source> 2397 <source>failed to open rockbox-info.txt</source>
2398 <translation type="unfinished"></translation> 2398 <translation type="unfinished"></translation>
2399 </message> 2399 </message>
2400 <message> 2400 <message>
2401 <location filename="voicefile.cpp" line="124"/> 2401 <location filename="voicefile.cpp" line="124"/>
2402 <source>Download error: received HTTP error %1.</source> 2402 <source>Download error: received HTTP error %1.</source>
2403 <translation type="unfinished">下載錯誤: 接到 HTTP 錯誤 %1. </translation> 2403 <translation type="unfinished">下載錯誤: 接到 HTTP 錯誤 %1. </translation>
2404 </message> 2404 </message>
2405 <message> 2405 <message>
2406 <location filename="voicefile.cpp" line="128"/> 2406 <location filename="voicefile.cpp" line="128"/>
2407 <source>Cached file used.</source> 2407 <source>Cached file used.</source>
2408 <translation type="unfinished">使用緩沖文件.</translation> 2408 <translation type="unfinished">使用緩沖文件.</translation>
2409 </message> 2409 </message>
2410 <message> 2410 <message>
2411 <location filename="voicefile.cpp" line="130"/> 2411 <location filename="voicefile.cpp" line="130"/>
2412 <source>Download error: %1</source> 2412 <source>Download error: %1</source>
2413 <translation type="unfinished">下載錯誤: %1</translation> 2413 <translation type="unfinished">下載錯誤: %1</translation>
2414 </message> 2414 </message>
2415 <message> 2415 <message>
2416 <location filename="voicefile.cpp" line="134"/> 2416 <location filename="voicefile.cpp" line="134"/>
2417 <source>Download finished.</source> 2417 <source>Download finished.</source>
2418 <translation type="unfinished">完成下載.</translation> 2418 <translation type="unfinished">完成下載.</translation>
2419 </message> 2419 </message>
2420 <message> 2420 <message>
2421 <location filename="voicefile.cpp" line="143"/> 2421 <location filename="voicefile.cpp" line="143"/>
2422 <source>failed to open downloaded file</source> 2422 <source>failed to open downloaded file</source>
2423 <translation type="unfinished"></translation> 2423 <translation type="unfinished"></translation>
2424 </message> 2424 </message>
2425 <message> 2425 <message>
2426 <location filename="voicefile.cpp" line="156"/> 2426 <location filename="voicefile.cpp" line="156"/>
2427 <source>Init of TTS engine failed</source> 2427 <source>Init of TTS engine failed</source>
2428 <translation type="unfinished"></translation> 2428 <translation type="unfinished"></translation>
2429 </message> 2429 </message>
2430 <message> 2430 <message>
2431 <location filename="voicefile.cpp" line="167"/> 2431 <location filename="voicefile.cpp" line="167"/>
2432 <source>Init of Encoder engine failed</source> 2432 <source>Init of Encoder engine failed</source>
2433 <translation type="unfinished"></translation> 2433 <translation type="unfinished"></translation>
2434 </message> 2434 </message>
2435 <message> 2435 <message>
2436 <location filename="voicefile.cpp" line="209"/> 2436 <location filename="voicefile.cpp" line="209"/>
2437 <source>The downloaded file was empty!</source> 2437 <source>The downloaded file was empty!</source>
2438 <translation type="unfinished"></translation> 2438 <translation type="unfinished"></translation>
2439 </message> 2439 </message>
2440 <message> 2440 <message>
2441 <location filename="voicefile.cpp" line="246"/> 2441 <location filename="voicefile.cpp" line="246"/>
2442 <source>creating </source> 2442 <source>creating </source>
2443 <translation type="unfinished"></translation> 2443 <translation type="unfinished"></translation>
2444 </message> 2444 </message>
2445 <message> 2445 <message>
2446 <location filename="voicefile.cpp" line="269"/> 2446 <location filename="voicefile.cpp" line="269"/>
2447 <source>Error opening downloaded file</source> 2447 <source>Error opening downloaded file</source>
2448 <translation type="unfinished"></translation> 2448 <translation type="unfinished"></translation>
2449 </message> 2449 </message>
2450 <message> 2450 <message>
2451 <location filename="voicefile.cpp" line="277"/> 2451 <location filename="voicefile.cpp" line="277"/>
2452 <source>Error opening output file</source> 2452 <source>Error opening output file</source>
2453 <translation type="unfinished"></translation> 2453 <translation type="unfinished"></translation>
2454 </message> 2454 </message>
2455 <message> 2455 <message>
2456 <location filename="voicefile.cpp" line="291"/> 2456 <location filename="voicefile.cpp" line="291"/>
2457 <source>successfully created.</source> 2457 <source>successfully created.</source>
2458 <translation type="unfinished"></translation> 2458 <translation type="unfinished"></translation>
2459 </message> 2459 </message>
2460</context> 2460</context>
2461<context> 2461<context>
2462 <name>Zip</name> 2462 <name>Zip</name>
2463 <message> 2463 <message>
2464 <location filename="zip/zip.cpp" line="479"/> 2464 <location filename="zip/zip.cpp" line="479"/>
2465 <source>ZIP operation completed successfully.</source> 2465 <source>ZIP operation completed successfully.</source>
2466 <translation>成功完成 ZIP 程序.</translation> 2466 <translation>成功完成 ZIP 程序.</translation>
2467 </message> 2467 </message>
2468 <message> 2468 <message>
2469 <location filename="zip/zip.cpp" line="480"/> 2469 <location filename="zip/zip.cpp" line="480"/>
2470 <source>Failed to initialize or load zlib library.</source> 2470 <source>Failed to initialize or load zlib library.</source>
2471 <translation>初始化zlib失敗.</translation> 2471 <translation>初始化zlib失敗.</translation>
2472 </message> 2472 </message>
2473 <message> 2473 <message>
2474 <location filename="zip/zip.cpp" line="481"/> 2474 <location filename="zip/zip.cpp" line="481"/>
2475 <source>zlib library error.</source> 2475 <source>zlib library error.</source>
2476 <translation>zlib錯誤.</translation> 2476 <translation>zlib錯誤.</translation>
2477 </message> 2477 </message>
2478 <message> 2478 <message>
2479 <location filename="zip/zip.cpp" line="482"/> 2479 <location filename="zip/zip.cpp" line="482"/>
2480 <source>Unable to create or open file.</source> 2480 <source>Unable to create or open file.</source>
2481 <translation>無法建立或打開文件.</translation> 2481 <translation>無法建立或打開文件.</translation>
2482 </message> 2482 </message>
2483 <message> 2483 <message>
2484 <location filename="zip/zip.cpp" line="483"/> 2484 <location filename="zip/zip.cpp" line="483"/>
2485 <source>No archive has been created yet.</source> 2485 <source>No archive has been created yet.</source>
2486 <translation>壓縮文件還沒有被建立.</translation> 2486 <translation>壓縮文件還沒有被建立.</translation>
2487 </message> 2487 </message>
2488 <message> 2488 <message>
2489 <location filename="zip/zip.cpp" line="484"/> 2489 <location filename="zip/zip.cpp" line="484"/>
2490 <source>File or directory does not exist.</source> 2490 <source>File or directory does not exist.</source>
2491 <translation>文件或文件夾不存在.</translation> 2491 <translation>文件或文件夾不存在.</translation>
2492 </message> 2492 </message>
2493 <message> 2493 <message>
2494 <location filename="zip/zip.cpp" line="485"/> 2494 <location filename="zip/zip.cpp" line="485"/>
2495 <source>File read error.</source> 2495 <source>File read error.</source>
2496 <translation>文件讀取錯誤.</translation> 2496 <translation>文件讀取錯誤.</translation>
2497 </message> 2497 </message>
2498 <message> 2498 <message>
2499 <location filename="zip/zip.cpp" line="486"/> 2499 <location filename="zip/zip.cpp" line="486"/>
2500 <source>File write error.</source> 2500 <source>File write error.</source>
2501 <translation>文件寫入錯誤.</translation> 2501 <translation>文件寫入錯誤.</translation>
2502 </message> 2502 </message>
2503 <message> 2503 <message>
2504 <location filename="zip/zip.cpp" line="487"/> 2504 <location filename="zip/zip.cpp" line="487"/>
2505 <source>File seek error.</source> 2505 <source>File seek error.</source>
2506 <translation>文件內尋找錯誤.</translation> 2506 <translation>文件內尋找錯誤.</translation>
2507 </message> 2507 </message>
2508 <message> 2508 <message>
2509 <location filename="zip/zip.cpp" line="491"/> 2509 <location filename="zip/zip.cpp" line="491"/>
2510 <source>Unknown error.</source> 2510 <source>Unknown error.</source>
2511 <translation>不明錯誤.</translation> 2511 <translation>不明錯誤.</translation>
2512 </message> 2512 </message>
2513</context> 2513</context>
2514<context> 2514<context>
2515 <name>ZipInstaller</name> 2515 <name>ZipInstaller</name>
2516 <message> 2516 <message>
2517 <location filename="installzip.cpp" line="54"/> 2517 <location filename="installzip.cpp" line="54"/>
2518 <source>done.</source> 2518 <source>done.</source>
2519 <translation>完成.</translation> 2519 <translation>完成.</translation>
2520 </message> 2520 </message>
2521 <message> 2521 <message>
2522 <location filename="installzip.cpp" line="62"/> 2522 <location filename="installzip.cpp" line="62"/>
2523 <source>Installation finished successfully.</source> 2523 <source>Installation finished successfully.</source>
2524 <translation>成功完成安裝.</translation> 2524 <translation>成功完成安裝.</translation>
2525 </message> 2525 </message>
2526 <message> 2526 <message>
2527 <location filename="installzip.cpp" line="77"/> 2527 <location filename="installzip.cpp" line="77"/>
2528 <source>Downloading file %1.%2</source> 2528 <source>Downloading file %1.%2</source>
2529 <translation>正在下載文件 %1.%2</translation> 2529 <translation>正在下載文件 %1.%2</translation>
2530 </message> 2530 </message>
2531 <message> 2531 <message>
2532 <location filename="installzip.cpp" line="126"/> 2532 <location filename="installzip.cpp" line="126"/>
2533 <source>Download error: received HTTP error %1.</source> 2533 <source>Download error: received HTTP error %1.</source>
2534 <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation> 2534 <translation>下載錯誤: 接到 HTTP 錯誤 %1. </translation>
2535 </message> 2535 </message>
2536 <message> 2536 <message>
2537 <location filename="installzip.cpp" line="131"/> 2537 <location filename="installzip.cpp" line="131"/>
2538 <source>Cached file used.</source> 2538 <source>Cached file used.</source>
2539 <translation>使用緩沖文件.</translation> 2539 <translation>使用緩沖文件.</translation>
2540 </message> 2540 </message>
2541 <message> 2541 <message>
2542 <location filename="installzip.cpp" line="133"/> 2542 <location filename="installzip.cpp" line="133"/>
2543 <source>Download error: %1</source> 2543 <source>Download error: %1</source>
2544 <translation>下載錯誤: %1</translation> 2544 <translation>下載錯誤: %1</translation>
2545 </message> 2545 </message>
2546 <message> 2546 <message>
2547 <location filename="installzip.cpp" line="138"/> 2547 <location filename="installzip.cpp" line="138"/>
2548 <source>Download finished.</source> 2548 <source>Download finished.</source>
2549 <translation>完成下載.</translation> 2549 <translation>完成下載.</translation>
2550 </message> 2550 </message>
2551 <message> 2551 <message>
2552 <location filename="installzip.cpp" line="144"/> 2552 <location filename="installzip.cpp" line="144"/>
2553 <source>Extracting file.</source> 2553 <source>Extracting file.</source>
2554 <translation>正在解壓文件.</translation> 2554 <translation>正在解壓文件.</translation>
2555 </message> 2555 </message>
2556 <message> 2556 <message>
2557 <location filename="installzip.cpp" line="153"/> 2557 <location filename="installzip.cpp" line="153"/>
2558 <source>Opening archive failed: %1.</source> 2558 <source>Opening archive failed: %1.</source>
2559 <translation>打開壓縮文件錯誤: %1.</translation> 2559 <translation>打開壓縮文件錯誤: %1.</translation>
2560 </message> 2560 </message>
2561 <message> 2561 <message>
2562 <location filename="installzip.cpp" line="162"/> 2562 <location filename="installzip.cpp" line="162"/>
2563 <source>Extracting failed: %1.</source> 2563 <source>Extracting failed: %1.</source>
2564 <translation>解壓錯誤: %1.</translation> 2564 <translation>解壓錯誤: %1.</translation>
2565 </message> 2565 </message>
2566 <message> 2566 <message>
2567 <location filename="installzip.cpp" line="172"/> 2567 <location filename="installzip.cpp" line="172"/>
2568 <source>Installing file.</source> 2568 <source>Installing file.</source>
2569 <translation>正在安裝文件.</translation> 2569 <translation>正在安裝文件.</translation>
2570 </message> 2570 </message>
2571 <message> 2571 <message>
2572 <location filename="installzip.cpp" line="183"/> 2572 <location filename="installzip.cpp" line="183"/>
2573 <source>Installing file failed.</source> 2573 <source>Installing file failed.</source>
2574 <translation>安裝文件失敗.</translation> 2574 <translation>安裝文件失敗.</translation>
2575 </message> 2575 </message>
2576 <message> 2576 <message>
2577 <location filename="installzip.cpp" line="193"/> 2577 <location filename="installzip.cpp" line="193"/>
2578 <source>Creating installation log</source> 2578 <source>Creating installation log</source>
2579 <translation>正在建立安裝日志</translation> 2579 <translation>正在建立安裝日志</translation>
2580 </message> 2580 </message>
2581</context> 2581</context>
2582<context> 2582<context>
2583 <name>aboutBox</name> 2583 <name>aboutBox</name>
2584 <message> 2584 <message>
2585 <location filename="aboutbox.ui" line="13"/> 2585 <location filename="aboutbox.ui" line="13"/>
2586 <source>About Rockbox Utility</source> 2586 <source>About Rockbox Utility</source>
2587 <translation>關于Rockbox安裝程序</translation> 2587 <translation>關于Rockbox安裝程序</translation>
2588 </message> 2588 </message>
2589 <message> 2589 <message>
2590 <location filename="aboutbox.ui" line="34"/> 2590 <location filename="aboutbox.ui" line="34"/>
2591 <source>The Rockbox Utility</source> 2591 <source>The Rockbox Utility</source>
2592 <translation>Rockbox安裝程序</translation> 2592 <translation>Rockbox安裝程序</translation>
2593 </message> 2593 </message>
2594 <message> 2594 <message>
2595 <location filename="" line="0"/> 2595 <location filename="" line="0"/>
2596 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware. 2596 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
2597 2597
2598c 2005 - 2007 The Rockbox Team. 2598c 2005 - 2007 The Rockbox Team.
2599Released under the GNU General Public License v2.</source> 2599Released under the GNU General Public License v2.</source>
2600 <translation type="obsolete">安裝程序和一般管理程序為 Roxkbox 准備. Roxkbox 是一個開源的音樂播放器固件. 2600 <translation type="obsolete">安裝程序和一般管理程序為 Roxkbox 准備. Roxkbox 是一個開源的音樂播放器固件.
2601 2601
2602c 2005 - 2007 Rockbox 團隊. 2602c 2005 - 2007 Rockbox 團隊.
2603授權于 GNU General Public License v2.</translation> 2603授權于 GNU General Public License v2.</translation>
2604 </message> 2604 </message>
2605 <message> 2605 <message>
2606 <location filename="aboutbox.ui" line="72"/> 2606 <location filename="aboutbox.ui" line="72"/>
2607 <source>http://www.rockbox.org</source> 2607 <source>http://www.rockbox.org</source>
2608 <translation>http://www.rockbox.org</translation> 2608 <translation>http://www.rockbox.org</translation>
2609 </message> 2609 </message>
2610 <message> 2610 <message>
2611 <location filename="aboutbox.ui" line="95"/> 2611 <location filename="aboutbox.ui" line="95"/>
2612 <source>&amp;Credits</source> 2612 <source>&amp;Credits</source>
2613 <translation>&amp;特別鳴謝</translation> 2613 <translation>&amp;特別鳴謝</translation>
2614 </message> 2614 </message>
2615 <message> 2615 <message>
2616 <location filename="aboutbox.ui" line="124"/> 2616 <location filename="aboutbox.ui" line="124"/>
2617 <source>&amp;License</source> 2617 <source>&amp;License</source>
2618 <translation>&amp;授權</translation> 2618 <translation>&amp;授權</translation>
2619 </message> 2619 </message>
2620 <message> 2620 <message>
2621 <location filename="aboutbox.ui" line="157"/> 2621 <location filename="aboutbox.ui" line="157"/>
2622 <source>&amp;Ok</source> 2622 <source>&amp;Ok</source>
2623 <translation>&amp;OK</translation> 2623 <translation>&amp;OK</translation>
2624 </message> 2624 </message>
2625 <message encoding="UTF-8"> 2625 <message encoding="UTF-8">
2626 <location filename="aboutbox.ui" line="56"/> 2626 <location filename="aboutbox.ui" line="56"/>
2627 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware. 2627 <source>Installer and housekeeping utility for the Rockbox open source digital audio player firmware.
2628 2628
2629© 2005 - 2007 The Rockbox Team. 2629© 2005 - 2007 The Rockbox Team.
2630Released under the GNU General Public License v2.</source> 2630Released under the GNU General Public License v2.</source>
2631 <translation type="unfinished"></translation> 2631 <translation type="unfinished"></translation>
2632 </message> 2632 </message>
2633</context> 2633</context>
2634</TS> 2634</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 @@
11 24 MOVEABLE PURE "rbutilqt.manifest" 11 24 MOVEABLE PURE "rbutilqt.manifest"
2RBUTIL_ICON ICON DISCARDABLE "icons/rockbox.ico" 2RBUTIL_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 @@
1/*************************************************************************** 1/***************************************************************************
2 * __________ __ ___. 2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/ 7 * \/ \/ \/ \/ \/
8 * 8 *
9 * Copyright (C) 2008 by Dominik Wenger 9 * Copyright (C) 2008 by Dominik Wenger
10 * $Id: rbzip.cpp 17129 2008-04-15 21:25:57Z bluebrother $ 10 * $Id: rbzip.cpp 17129 2008-04-15 21:25:57Z bluebrother $
11 * 11 *
12 * All files in this archive are subject to the GNU General Public License. 12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement. 13 * See the file COPYING in the source tree root for full license agreement.
14 * 14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied. 16 * KIND, either express or implied.
17 * 17 *
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20#include "rbzip.h" 20#include "rbzip.h"
21#include <QtCore> 21#include <QtCore>
22 22
23 23
24Zip::ErrorCode RbZip::createZip(QString zip,QString dir,ProgressloggerInterface *dp) 24Zip::ErrorCode RbZip::createZip(QString zip,QString dir,ProgressloggerInterface *dp)
25{ 25{
26 m_logger = dp; 26 m_logger = dp;
27 Zip::ErrorCode error = Ok; 27 Zip::ErrorCode error = Ok;
28 m_curEntry = 1; 28 m_curEntry = 1;
29 int numEntrys=0; 29 int numEntrys=0;
30 30
31 m_logger->addItem(tr("Creating Backup: %1").arg(zip),LOGINFO); 31 m_logger->addItem(tr("Creating Backup: %1").arg(zip),LOGINFO);
32 QCoreApplication::processEvents(); 32 QCoreApplication::processEvents();
33 33
34 // get number of entrys in dir 34 // get number of entrys in dir
35 QDirIterator it(dir, QDirIterator::Subdirectories); 35 QDirIterator it(dir, QDirIterator::Subdirectories);
36 while (it.hasNext()) 36 while (it.hasNext())
37 { 37 {
38 it.next(); 38 it.next();
39 numEntrys++; 39 numEntrys++;
40 QCoreApplication::processEvents(); 40 QCoreApplication::processEvents();
41 } 41 }
42 m_logger->setProgressMax(numEntrys); 42 m_logger->setProgressMax(numEntrys);
43 43
44 //! create zip 44 //! create zip
45 error = Zip::createArchive(zip); 45 error = Zip::createArchive(zip);
46 if(error != Ok) 46 if(error != Ok)
47 return error; 47 return error;
48 48
49 //! add the content 49 //! add the content
50 error = Zip::addDirectory(dir); 50 error = Zip::addDirectory(dir);
51 if(error != Ok) 51 if(error != Ok)
52 return error; 52 return error;
53 53
54 //! close zip 54 //! close zip
55 error = Zip::closeArchive(); 55 error = Zip::closeArchive();
56 56
57 return error; 57 return error;
58} 58}
59 59
60void RbZip::progress() 60void RbZip::progress()
61{ 61{
62 m_curEntry++; 62 m_curEntry++;
63 m_logger->setProgressValue(m_curEntry); 63 m_logger->setProgressValue(m_curEntry);
64 QCoreApplication::processEvents(); // update UI 64 QCoreApplication::processEvents(); // update UI
65} 65}
66 66
67 67
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 @@
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied. 16 * KIND, either express or implied.
17 * 17 *
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20#ifndef RBZIP_H 20#ifndef RBZIP_H
21#define RBZIP_H 21#define RBZIP_H
22 22
23#include <QtCore> 23#include <QtCore>
24#include "zip/zip.h" 24#include "zip/zip.h"
25 25
26#include "progressloggerinterface.h" 26#include "progressloggerinterface.h"
27 27
28class RbZip : public QObject, public Zip 28class RbZip : public QObject, public Zip
29{ 29{
30 Q_OBJECT 30 Q_OBJECT
31 public: 31 public:
32 Zip::ErrorCode createZip(QString zip,QString dir,ProgressloggerInterface *dp); 32 Zip::ErrorCode createZip(QString zip,QString dir,ProgressloggerInterface *dp);
33 33
34 virtual void progress(); 34 virtual void progress();
35 35
36 private: 36 private:
37 int m_curEntry; 37 int m_curEntry;
38 ProgressloggerInterface *m_logger; 38 ProgressloggerInterface *m_logger;
39}; 39};
40 40
41#endif 41#endif
42 42
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 @@
1/**************************************************************************** 1/****************************************************************************
2** Filename: unzip.cpp 2** Filename: unzip.cpp
3** Last updated [dd/mm/yyyy]: 28/01/2007 3** Last updated [dd/mm/yyyy]: 28/01/2007
4** 4**
5** pkzip 2.0 decompression. 5** pkzip 2.0 decompression.
6** 6**
7** Some of the code has been inspired by other open source projects, 7** Some of the code has been inspired by other open source projects,
8** (mainly Info-Zip and Gilles Vollant's minizip). 8** (mainly Info-Zip and Gilles Vollant's minizip).
9** Compression and decompression actually uses the zlib library. 9** Compression and decompression actually uses the zlib library.
10** 10**
11** Copyright (C) 2007 Angius Fabrizio. All rights reserved. 11** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
12** 12**
13** This file is part of the OSDaB project (http://osdab.sourceforge.net/). 13** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22** 22**
23** See the file LICENSE.GPL that came with this software distribution or 23** See the file LICENSE.GPL that came with this software distribution or
24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information. 24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28#include "unzip.h" 28#include "unzip.h"
29#include "unzip_p.h" 29#include "unzip_p.h"
30#include "zipentry_p.h" 30#include "zipentry_p.h"
31 31
32#include <QString> 32#include <QString>
33#include <QStringList> 33#include <QStringList>
34#include <QDir> 34#include <QDir>
35#include <QFile> 35#include <QFile>
36#include <QCoreApplication> 36#include <QCoreApplication>
37 37
38// You can remove this #include if you replace the qDebug() statements. 38// You can remove this #include if you replace the qDebug() statements.
39#include <QtDebug> 39#include <QtDebug>
40 40
41/*! 41/*!
42 \class UnZip unzip.h 42 \class UnZip unzip.h
43 43
44 \brief PKZip 2.0 file decompression. 44 \brief PKZip 2.0 file decompression.
45 Compatibility with later versions is not ensured as they may use 45 Compatibility with later versions is not ensured as they may use
46 unsupported compression algorithms. 46 unsupported compression algorithms.
47 Versions after 2.7 may have an incompatible header format and thus be 47 Versions after 2.7 may have an incompatible header format and thus be
48 completely incompatible. 48 completely incompatible.
49*/ 49*/
50 50
51/*! \enum UnZip::ErrorCode The result of a decompression operation. 51/*! \enum UnZip::ErrorCode The result of a decompression operation.
52 \value UnZip::Ok No error occurred. 52 \value UnZip::Ok No error occurred.
53 \value UnZip::ZlibInit Failed to init or load the zlib library. 53 \value UnZip::ZlibInit Failed to init or load the zlib library.
54 \value UnZip::ZlibError The zlib library returned some error. 54 \value UnZip::ZlibError The zlib library returned some error.
55 \value UnZip::OpenFailed Unable to create or open a device. 55 \value UnZip::OpenFailed Unable to create or open a device.
56 \value UnZip::PartiallyCorrupted Corrupted zip archive - some files could be extracted. 56 \value UnZip::PartiallyCorrupted Corrupted zip archive - some files could be extracted.
57 \value UnZip::Corrupted Corrupted or invalid zip archive. 57 \value UnZip::Corrupted Corrupted or invalid zip archive.
58 \value UnZip::WrongPassword Unable to decrypt a password protected file. 58 \value UnZip::WrongPassword Unable to decrypt a password protected file.
59 \value UnZip::NoOpenArchive No archive has been opened yet. 59 \value UnZip::NoOpenArchive No archive has been opened yet.
60 \value UnZip::FileNotFound Unable to find the requested file in the archive. 60 \value UnZip::FileNotFound Unable to find the requested file in the archive.
61 \value UnZip::ReadFailed Reading of a file failed. 61 \value UnZip::ReadFailed Reading of a file failed.
62 \value UnZip::WriteFailed Writing of a file failed. 62 \value UnZip::WriteFailed Writing of a file failed.
63 \value UnZip::SeekFailed Seek failed. 63 \value UnZip::SeekFailed Seek failed.
64 \value UnZip::CreateDirFailed Could not create a directory. 64 \value UnZip::CreateDirFailed Could not create a directory.
65 \value UnZip::InvalidDevice A null device has been passed as parameter. 65 \value UnZip::InvalidDevice A null device has been passed as parameter.
66 \value UnZip::InvalidArchive This is not a valid (or supported) ZIP archive. 66 \value UnZip::InvalidArchive This is not a valid (or supported) ZIP archive.
67 \value UnZip::HeaderConsistencyError Local header record info does not match with the central directory record info. The archive may be corrupted. 67 \value UnZip::HeaderConsistencyError Local header record info does not match with the central directory record info. The archive may be corrupted.
68 68
69 \value UnZip::Skip Internal use only. 69 \value UnZip::Skip Internal use only.
70 \value UnZip::SkipAll Internal use only. 70 \value UnZip::SkipAll Internal use only.
71*/ 71*/
72 72
73/*! \enum UnZip::ExtractionOptions Some options for the file extraction methods. 73/*! \enum UnZip::ExtractionOptions Some options for the file extraction methods.
74 \value UnZip::ExtractPaths Default. Does not ignore the path of the zipped files. 74 \value UnZip::ExtractPaths Default. Does not ignore the path of the zipped files.
75 \value UnZip::SkipPaths Default. Ignores the path of the zipped files and extracts them all to the same root directory. 75 \value UnZip::SkipPaths Default. Ignores the path of the zipped files and extracts them all to the same root directory.
76*/ 76*/
77 77
78//! Local header size (excluding signature, excluding variable length fields) 78//! Local header size (excluding signature, excluding variable length fields)
79#define UNZIP_LOCAL_HEADER_SIZE 26 79#define UNZIP_LOCAL_HEADER_SIZE 26
80//! Central Directory file entry size (excluding signature, excluding variable length fields) 80//! Central Directory file entry size (excluding signature, excluding variable length fields)
81#define UNZIP_CD_ENTRY_SIZE_NS 42 81#define UNZIP_CD_ENTRY_SIZE_NS 42
82//! Data descriptor size (excluding signature) 82//! Data descriptor size (excluding signature)
83#define UNZIP_DD_SIZE 12 83#define UNZIP_DD_SIZE 12
84//! End Of Central Directory size (including signature, excluding variable length fields) 84//! End Of Central Directory size (including signature, excluding variable length fields)
85#define UNZIP_EOCD_SIZE 22 85#define UNZIP_EOCD_SIZE 22
86//! Local header entry encryption header size 86//! Local header entry encryption header size
87#define UNZIP_LOCAL_ENC_HEADER_SIZE 12 87#define UNZIP_LOCAL_ENC_HEADER_SIZE 12
88 88
89// Some offsets inside a CD record (excluding signature) 89// Some offsets inside a CD record (excluding signature)
90#define UNZIP_CD_OFF_VERSION 0 90#define UNZIP_CD_OFF_VERSION 0
91#define UNZIP_CD_OFF_GPFLAG 4 91#define UNZIP_CD_OFF_GPFLAG 4
92#define UNZIP_CD_OFF_CMETHOD 6 92#define UNZIP_CD_OFF_CMETHOD 6
93#define UNZIP_CD_OFF_MODT 8 93#define UNZIP_CD_OFF_MODT 8
94#define UNZIP_CD_OFF_MODD 10 94#define UNZIP_CD_OFF_MODD 10
95#define UNZIP_CD_OFF_CRC32 12 95#define UNZIP_CD_OFF_CRC32 12
96#define UNZIP_CD_OFF_CSIZE 16 96#define UNZIP_CD_OFF_CSIZE 16
97#define UNZIP_CD_OFF_USIZE 20 97#define UNZIP_CD_OFF_USIZE 20
98#define UNZIP_CD_OFF_NAMELEN 24 98#define UNZIP_CD_OFF_NAMELEN 24
99#define UNZIP_CD_OFF_XLEN 26 99#define UNZIP_CD_OFF_XLEN 26
100#define UNZIP_CD_OFF_COMMLEN 28 100#define UNZIP_CD_OFF_COMMLEN 28
101#define UNZIP_CD_OFF_LHOFFSET 38 101#define UNZIP_CD_OFF_LHOFFSET 38
102 102
103// Some offsets inside a local header record (excluding signature) 103// Some offsets inside a local header record (excluding signature)
104#define UNZIP_LH_OFF_VERSION 0 104#define UNZIP_LH_OFF_VERSION 0
105#define UNZIP_LH_OFF_GPFLAG 2 105#define UNZIP_LH_OFF_GPFLAG 2
106#define UNZIP_LH_OFF_CMETHOD 4 106#define UNZIP_LH_OFF_CMETHOD 4
107#define UNZIP_LH_OFF_MODT 6 107#define UNZIP_LH_OFF_MODT 6
108#define UNZIP_LH_OFF_MODD 8 108#define UNZIP_LH_OFF_MODD 8
109#define UNZIP_LH_OFF_CRC32 10 109#define UNZIP_LH_OFF_CRC32 10
110#define UNZIP_LH_OFF_CSIZE 14 110#define UNZIP_LH_OFF_CSIZE 14
111#define UNZIP_LH_OFF_USIZE 18 111#define UNZIP_LH_OFF_USIZE 18
112#define UNZIP_LH_OFF_NAMELEN 22 112#define UNZIP_LH_OFF_NAMELEN 22
113#define UNZIP_LH_OFF_XLEN 24 113#define UNZIP_LH_OFF_XLEN 24
114 114
115// Some offsets inside a data descriptor record (excluding signature) 115// Some offsets inside a data descriptor record (excluding signature)
116#define UNZIP_DD_OFF_CRC32 0 116#define UNZIP_DD_OFF_CRC32 0
117#define UNZIP_DD_OFF_CSIZE 4 117#define UNZIP_DD_OFF_CSIZE 4
118#define UNZIP_DD_OFF_USIZE 8 118#define UNZIP_DD_OFF_USIZE 8
119 119
120// Some offsets inside a EOCD record 120// Some offsets inside a EOCD record
121#define UNZIP_EOCD_OFF_ENTRIES 6 121#define UNZIP_EOCD_OFF_ENTRIES 6
122#define UNZIP_EOCD_OFF_CDOFF 12 122#define UNZIP_EOCD_OFF_CDOFF 12
123#define UNZIP_EOCD_OFF_COMMLEN 16 123#define UNZIP_EOCD_OFF_COMMLEN 16
124 124
125/*! 125/*!
126 Max version handled by this API. 126 Max version handled by this API.
127 0x1B = 2.7 --> full compatibility only up to version 2.0 (0x14) 127 0x1B = 2.7 --> full compatibility only up to version 2.0 (0x14)
128 versions from 2.1 to 2.7 may use unsupported compression methods 128 versions from 2.1 to 2.7 may use unsupported compression methods
129 versions after 2.7 may have an incompatible header format 129 versions after 2.7 may have an incompatible header format
130*/ 130*/
131#define UNZIP_VERSION 0x1B 131#define UNZIP_VERSION 0x1B
132//! Full compatibility granted until this version 132//! Full compatibility granted until this version
133#define UNZIP_VERSION_STRICT 0x14 133#define UNZIP_VERSION_STRICT 0x14
134 134
135//! CRC32 routine 135//! CRC32 routine
136#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8) 136#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8)
137 137
138//! Checks if some file has been already extracted. 138//! Checks if some file has been already extracted.
139#define UNZIP_CHECK_FOR_VALID_DATA \ 139#define UNZIP_CHECK_FOR_VALID_DATA \
140 {\ 140 {\
141 if (headers != 0)\ 141 if (headers != 0)\
142 {\ 142 {\
143 qDebug() << "Corrupted zip archive. Some files might be extracted.";\ 143 qDebug() << "Corrupted zip archive. Some files might be extracted.";\
144 ec = headers->size() != 0 ? UnZip::PartiallyCorrupted : UnZip::Corrupted;\ 144 ec = headers->size() != 0 ? UnZip::PartiallyCorrupted : UnZip::Corrupted;\
145 break;\ 145 break;\
146 }\ 146 }\
147 else\ 147 else\
148 {\ 148 {\
149 delete device;\ 149 delete device;\
150 device = 0;\ 150 device = 0;\
151 qDebug() << "Corrupted or invalid zip archive";\ 151 qDebug() << "Corrupted or invalid zip archive";\
152 ec = UnZip::Corrupted;\ 152 ec = UnZip::Corrupted;\
153 break;\ 153 break;\
154 }\ 154 }\
155 } 155 }
156 156
157 157
158/************************************************************************ 158/************************************************************************
159 Public interface 159 Public interface
160*************************************************************************/ 160*************************************************************************/
161 161
162/*! 162/*!
163 Creates a new Zip file decompressor. 163 Creates a new Zip file decompressor.
164*/ 164*/
165UnZip::UnZip() 165UnZip::UnZip()
166{ 166{
167 d = new UnzipPrivate; 167 d = new UnzipPrivate;
168} 168}
169 169
170/*! 170/*!
171 Closes any open archive and releases used resources. 171 Closes any open archive and releases used resources.
172*/ 172*/
173UnZip::~UnZip() 173UnZip::~UnZip()
174{ 174{
175 closeArchive(); 175 closeArchive();
176 delete d; 176 delete d;
177} 177}
178 178
179/*! 179/*!
180 Returns true if there is an open archive. 180 Returns true if there is an open archive.
181*/ 181*/
182bool UnZip::isOpen() const 182bool UnZip::isOpen() const
183{ 183{
184 return d->device != 0; 184 return d->device != 0;
185} 185}
186 186
187/*! 187/*!
188 Opens a zip archive and reads the files list. Closes any previously opened archive. 188 Opens a zip archive and reads the files list. Closes any previously opened archive.
189*/ 189*/
190UnZip::ErrorCode UnZip::openArchive(const QString& filename) 190UnZip::ErrorCode UnZip::openArchive(const QString& filename)
191{ 191{
192 QFile* file = new QFile(filename); 192 QFile* file = new QFile(filename);
193 193
194 if (!file->exists()) { 194 if (!file->exists()) {
195 delete file; 195 delete file;
196 return UnZip::FileNotFound; 196 return UnZip::FileNotFound;
197 } 197 }
198 198
199 if (!file->open(QIODevice::ReadOnly)) { 199 if (!file->open(QIODevice::ReadOnly)) {
200 delete file; 200 delete file;
201 return UnZip::OpenFailed; 201 return UnZip::OpenFailed;
202 } 202 }
203 203
204 return openArchive(file); 204 return openArchive(file);
205} 205}
206 206
207/*! 207/*!
208 Opens a zip archive and reads the entries list. 208 Opens a zip archive and reads the entries list.
209 Closes any previously opened archive. 209 Closes any previously opened archive.
210 \warning The class takes ownership of the device so don't delete it! 210 \warning The class takes ownership of the device so don't delete it!
211*/ 211*/
212UnZip::ErrorCode UnZip::openArchive(QIODevice* device) 212UnZip::ErrorCode UnZip::openArchive(QIODevice* device)
213{ 213{
214 if (device == 0) 214 if (device == 0)
215 { 215 {
216 qDebug() << "Invalid device."; 216 qDebug() << "Invalid device.";
217 return UnZip::InvalidDevice; 217 return UnZip::InvalidDevice;
218 } 218 }
219 219
220 return d->openArchive(device); 220 return d->openArchive(device);
221} 221}
222 222
223/*! 223/*!
224 Closes the archive and releases all the used resources (like cached passwords). 224 Closes the archive and releases all the used resources (like cached passwords).
225*/ 225*/
226void UnZip::closeArchive() 226void UnZip::closeArchive()
227{ 227{
228 d->closeArchive(); 228 d->closeArchive();
229} 229}
230 230
231QString UnZip::archiveComment() const 231QString UnZip::archiveComment() const
232{ 232{
233 if (d->device == 0) 233 if (d->device == 0)
234 return QString(); 234 return QString();
235 return d->comment; 235 return d->comment;
236} 236}
237 237
238/*! 238/*!
239 Returns a locale translated error string for a given error code. 239 Returns a locale translated error string for a given error code.
240*/ 240*/
241QString UnZip::formatError(UnZip::ErrorCode c) const 241QString UnZip::formatError(UnZip::ErrorCode c) const
242{ 242{
243 switch (c) 243 switch (c)
244 { 244 {
245 case Ok: return QCoreApplication::translate("UnZip", "ZIP operation completed successfully."); break; 245 case Ok: return QCoreApplication::translate("UnZip", "ZIP operation completed successfully."); break;
246 case ZlibInit: return QCoreApplication::translate("UnZip", "Failed to initialize or load zlib library."); break; 246 case ZlibInit: return QCoreApplication::translate("UnZip", "Failed to initialize or load zlib library."); break;
247 case ZlibError: return QCoreApplication::translate("UnZip", "zlib library error."); break; 247 case ZlibError: return QCoreApplication::translate("UnZip", "zlib library error."); break;
248 case OpenFailed: return QCoreApplication::translate("UnZip", "Unable to create or open file."); break; 248 case OpenFailed: return QCoreApplication::translate("UnZip", "Unable to create or open file."); break;
249 case PartiallyCorrupted: return QCoreApplication::translate("UnZip", "Partially corrupted archive. Some files might be extracted."); break; 249 case PartiallyCorrupted: return QCoreApplication::translate("UnZip", "Partially corrupted archive. Some files might be extracted."); break;
250 case Corrupted: return QCoreApplication::translate("UnZip", "Corrupted archive."); break; 250 case Corrupted: return QCoreApplication::translate("UnZip", "Corrupted archive."); break;
251 case WrongPassword: return QCoreApplication::translate("UnZip", "Wrong password."); break; 251 case WrongPassword: return QCoreApplication::translate("UnZip", "Wrong password."); break;
252 case NoOpenArchive: return QCoreApplication::translate("UnZip", "No archive has been created yet."); break; 252 case NoOpenArchive: return QCoreApplication::translate("UnZip", "No archive has been created yet."); break;
253 case FileNotFound: return QCoreApplication::translate("UnZip", "File or directory does not exist."); break; 253 case FileNotFound: return QCoreApplication::translate("UnZip", "File or directory does not exist."); break;
254 case ReadFailed: return QCoreApplication::translate("UnZip", "File read error."); break; 254 case ReadFailed: return QCoreApplication::translate("UnZip", "File read error."); break;
255 case WriteFailed: return QCoreApplication::translate("UnZip", "File write error."); break; 255 case WriteFailed: return QCoreApplication::translate("UnZip", "File write error."); break;
256 case SeekFailed: return QCoreApplication::translate("UnZip", "File seek error."); break; 256 case SeekFailed: return QCoreApplication::translate("UnZip", "File seek error."); break;
257 case CreateDirFailed: return QCoreApplication::translate("UnZip", "Unable to create a directory."); break; 257 case CreateDirFailed: return QCoreApplication::translate("UnZip", "Unable to create a directory."); break;
258 case InvalidDevice: return QCoreApplication::translate("UnZip", "Invalid device."); break; 258 case InvalidDevice: return QCoreApplication::translate("UnZip", "Invalid device."); break;
259 case InvalidArchive: return QCoreApplication::translate("UnZip", "Invalid or incompatible zip archive."); break; 259 case InvalidArchive: return QCoreApplication::translate("UnZip", "Invalid or incompatible zip archive."); break;
260 case HeaderConsistencyError: return QCoreApplication::translate("UnZip", "Inconsistent headers. Archive might be corrupted."); break; 260 case HeaderConsistencyError: return QCoreApplication::translate("UnZip", "Inconsistent headers. Archive might be corrupted."); break;
261 default: ; 261 default: ;
262 } 262 }
263 263
264 return QCoreApplication::translate("UnZip", "Unknown error."); 264 return QCoreApplication::translate("UnZip", "Unknown error.");
265} 265}
266 266
267/*! 267/*!
268 Returns true if the archive contains a file with the given path and name. 268 Returns true if the archive contains a file with the given path and name.
269*/ 269*/
270bool UnZip::contains(const QString& file) const 270bool UnZip::contains(const QString& file) const
271{ 271{
272 if (d->headers == 0) 272 if (d->headers == 0)
273 return false; 273 return false;
274 274
275 return d->headers->contains(file); 275 return d->headers->contains(file);
276} 276}
277 277
278/*! 278/*!
279 Returns complete paths of files and directories in this archive. 279 Returns complete paths of files and directories in this archive.
280*/ 280*/
281QStringList UnZip::fileList() const 281QStringList UnZip::fileList() const
282{ 282{
283 return d->headers == 0 ? QStringList() : d->headers->keys(); 283 return d->headers == 0 ? QStringList() : d->headers->keys();
284} 284}
285 285
286/*! 286/*!
287 Returns information for each (correctly parsed) entry of this archive. 287 Returns information for each (correctly parsed) entry of this archive.
288*/ 288*/
289QList<UnZip::ZipEntry> UnZip::entryList() const 289QList<UnZip::ZipEntry> UnZip::entryList() const
290{ 290{
291 QList<UnZip::ZipEntry> list; 291 QList<UnZip::ZipEntry> list;
292 292
293 if (d->headers != 0) 293 if (d->headers != 0)
294 { 294 {
295 for (QMap<QString,ZipEntryP*>::ConstIterator it = d->headers->constBegin(); it != d->headers->constEnd(); ++it) 295 for (QMap<QString,ZipEntryP*>::ConstIterator it = d->headers->constBegin(); it != d->headers->constEnd(); ++it)
296 { 296 {
297 const ZipEntryP* entry = it.value(); 297 const ZipEntryP* entry = it.value();
298 Q_ASSERT(entry != 0); 298 Q_ASSERT(entry != 0);
299 299
300 ZipEntry z; 300 ZipEntry z;
301 301
302 z.filename = it.key(); 302 z.filename = it.key();
303 if (!entry->comment.isEmpty()) 303 if (!entry->comment.isEmpty())
304 z.comment = entry->comment; 304 z.comment = entry->comment;
305 z.compressedSize = entry->szComp; 305 z.compressedSize = entry->szComp;
306 z.uncompressedSize = entry->szUncomp; 306 z.uncompressedSize = entry->szUncomp;
307 z.crc32 = entry->crc; 307 z.crc32 = entry->crc;
308 z.lastModified = d->convertDateTime(entry->modDate, entry->modTime); 308 z.lastModified = d->convertDateTime(entry->modDate, entry->modTime);
309 309
310 z.compression = entry->compMethod == 0 ? NoCompression : entry->compMethod == 8 ? Deflated : UnknownCompression; 310 z.compression = entry->compMethod == 0 ? NoCompression : entry->compMethod == 8 ? Deflated : UnknownCompression;
311 z.type = z.filename.endsWith("/") ? Directory : File; 311 z.type = z.filename.endsWith("/") ? Directory : File;
312 312
313 z.encrypted = entry->isEncrypted(); 313 z.encrypted = entry->isEncrypted();
314 314
315 list.append(z); 315 list.append(z);
316 } 316 }
317 } 317 }
318 318
319 return list; 319 return list;
320} 320}
321 321
322/*! 322/*!
323 Extracts the whole archive to a directory. 323 Extracts the whole archive to a directory.
324*/ 324*/
325UnZip::ErrorCode UnZip::extractAll(const QString& dirname, ExtractionOptions options) 325UnZip::ErrorCode UnZip::extractAll(const QString& dirname, ExtractionOptions options)
326{ 326{
327 return extractAll(QDir(dirname), options); 327 return extractAll(QDir(dirname), options);
328} 328}
329 329
330/*! 330/*!
331 Extracts the whole archive to a directory. 331 Extracts the whole archive to a directory.
332*/ 332*/
333UnZip::ErrorCode UnZip::extractAll(const QDir& dir, ExtractionOptions options) 333UnZip::ErrorCode UnZip::extractAll(const QDir& dir, ExtractionOptions options)
334{ 334{
335 // this should only happen if we didn't call openArchive() yet 335 // this should only happen if we didn't call openArchive() yet
336 if (d->device == 0) 336 if (d->device == 0)
337 return NoOpenArchive; 337 return NoOpenArchive;
338 338
339 if (d->headers == 0) 339 if (d->headers == 0)
340 return Ok; 340 return Ok;
341 341
342 bool end = false; 342 bool end = false;
343 for (QMap<QString,ZipEntryP*>::Iterator itr = d->headers->begin(); itr != d->headers->end(); ++itr) 343 for (QMap<QString,ZipEntryP*>::Iterator itr = d->headers->begin(); itr != d->headers->end(); ++itr)
344 { 344 {
345 ZipEntryP* entry = itr.value(); 345 ZipEntryP* entry = itr.value();
346 Q_ASSERT(entry != 0); 346 Q_ASSERT(entry != 0);
347 347
348 if ((entry->isEncrypted()) && d->skipAllEncrypted) 348 if ((entry->isEncrypted()) && d->skipAllEncrypted)
349 continue; 349 continue;
350 350
351 switch (d->extractFile(itr.key(), *entry, dir, options)) 351 switch (d->extractFile(itr.key(), *entry, dir, options))
352 { 352 {
353 case Corrupted: 353 case Corrupted:
354 qDebug() << "Removing corrupted entry" << itr.key(); 354 qDebug() << "Removing corrupted entry" << itr.key();
355 d->headers->erase(itr++); 355 d->headers->erase(itr++);
356 if (itr == d->headers->end()) 356 if (itr == d->headers->end())
357 end = true; 357 end = true;
358 break; 358 break;
359 case CreateDirFailed: 359 case CreateDirFailed:
360 break; 360 break;
361 case Skip: 361 case Skip:
362 break; 362 break;
363 case SkipAll: 363 case SkipAll:
364 d->skipAllEncrypted = true; 364 d->skipAllEncrypted = true;
365 break; 365 break;
366 default: 366 default:
367 ; 367 ;
368 } 368 }
369 369
370 if (end) 370 if (end)
371 break; 371 break;
372 } 372 }
373 373
374 return Ok; 374 return Ok;
375} 375}
376 376
377/*! 377/*!
378 Extracts a single file to a directory. 378 Extracts a single file to a directory.
379*/ 379*/
380UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QString& dirname, ExtractionOptions options) 380UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QString& dirname, ExtractionOptions options)
381{ 381{
382 return extractFile(filename, QDir(dirname), options); 382 return extractFile(filename, QDir(dirname), options);
383} 383}
384 384
385/*! 385/*!
386 Extracts a single file to a directory. 386 Extracts a single file to a directory.
387*/ 387*/
388UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QDir& dir, ExtractionOptions options) 388UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QDir& dir, ExtractionOptions options)
389{ 389{
390 QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename); 390 QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename);
391 if (itr != d->headers->end()) 391 if (itr != d->headers->end())
392 { 392 {
393 ZipEntryP* entry = itr.value(); 393 ZipEntryP* entry = itr.value();
394 Q_ASSERT(entry != 0); 394 Q_ASSERT(entry != 0);
395 return d->extractFile(itr.key(), *entry, dir, options); 395 return d->extractFile(itr.key(), *entry, dir, options);
396 } 396 }
397 397
398 return FileNotFound; 398 return FileNotFound;
399} 399}
400 400
401/*! 401/*!
402 Extracts a single file to a directory. 402 Extracts a single file to a directory.
403*/ 403*/
404UnZip::ErrorCode UnZip::extractFile(const QString& filename, QIODevice* dev, ExtractionOptions options) 404UnZip::ErrorCode UnZip::extractFile(const QString& filename, QIODevice* dev, ExtractionOptions options)
405{ 405{
406 if (dev == 0) 406 if (dev == 0)
407 return InvalidDevice; 407 return InvalidDevice;
408 408
409 QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename); 409 QMap<QString,ZipEntryP*>::Iterator itr = d->headers->find(filename);
410 if (itr != d->headers->end()) { 410 if (itr != d->headers->end()) {
411 ZipEntryP* entry = itr.value(); 411 ZipEntryP* entry = itr.value();
412 Q_ASSERT(entry != 0); 412 Q_ASSERT(entry != 0);
413 return d->extractFile(itr.key(), *entry, dev, options); 413 return d->extractFile(itr.key(), *entry, dev, options);
414 } 414 }
415 415
416 return FileNotFound; 416 return FileNotFound;
417} 417}
418 418
419/*! 419/*!
420 Extracts a list of files. 420 Extracts a list of files.
421 Stops extraction at the first error (but continues if a file does not exist in the archive). 421 Stops extraction at the first error (but continues if a file does not exist in the archive).
422 */ 422 */
423UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options) 423UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options)
424{ 424{
425 QDir dir(dirname); 425 QDir dir(dirname);
426 ErrorCode ec; 426 ErrorCode ec;
427 427
428 for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr) 428 for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr)
429 { 429 {
430 ec = extractFile(*itr, dir, options); 430 ec = extractFile(*itr, dir, options);
431 if (ec == FileNotFound) 431 if (ec == FileNotFound)
432 continue; 432 continue;
433 if (ec != Ok) 433 if (ec != Ok)
434 return ec; 434 return ec;
435 } 435 }
436 436
437 return Ok; 437 return Ok;
438} 438}
439 439
440/*! 440/*!
441 Extracts a list of files. 441 Extracts a list of files.
442 Stops extraction at the first error (but continues if a file does not exist in the archive). 442 Stops extraction at the first error (but continues if a file does not exist in the archive).
443 */ 443 */
444UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options) 444UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options)
445{ 445{
446 ErrorCode ec; 446 ErrorCode ec;
447 447
448 for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr) 448 for (QStringList::ConstIterator itr = filenames.constBegin(); itr != filenames.constEnd(); ++itr)
449 { 449 {
450 ec = extractFile(*itr, dir, options); 450 ec = extractFile(*itr, dir, options);
451 if (ec == FileNotFound) 451 if (ec == FileNotFound)
452 continue; 452 continue;
453 if (ec != Ok) 453 if (ec != Ok)
454 return ec; 454 return ec;
455 } 455 }
456 456
457 return Ok; 457 return Ok;
458} 458}
459 459
460/*! 460/*!
461 Remove/replace this method to add your own password retrieval routine. 461 Remove/replace this method to add your own password retrieval routine.
462*/ 462*/
463void UnZip::setPassword(const QString& pwd) 463void UnZip::setPassword(const QString& pwd)
464{ 464{
465 d->password = pwd; 465 d->password = pwd;
466} 466}
467 467
468/*! 468/*!
469 ZipEntry constructor - initialize data. Type is set to File. 469 ZipEntry constructor - initialize data. Type is set to File.
470*/ 470*/
471UnZip::ZipEntry::ZipEntry() 471UnZip::ZipEntry::ZipEntry()
472{ 472{
473 compressedSize = uncompressedSize = crc32 = 0; 473 compressedSize = uncompressedSize = crc32 = 0;
474 compression = NoCompression; 474 compression = NoCompression;
475 type = File; 475 type = File;
476 encrypted = false; 476 encrypted = false;
477} 477}
478 478
479 479
480/************************************************************************ 480/************************************************************************
481 Private interface 481 Private interface
482*************************************************************************/ 482*************************************************************************/
483 483
484//! \internal 484//! \internal
485UnzipPrivate::UnzipPrivate() 485UnzipPrivate::UnzipPrivate()
486{ 486{
487 skipAllEncrypted = false; 487 skipAllEncrypted = false;
488 headers = 0; 488 headers = 0;
489 device = 0; 489 device = 0;
490 490
491 uBuffer = (unsigned char*) buffer1; 491 uBuffer = (unsigned char*) buffer1;
492 crcTable = (quint32*) get_crc_table(); 492 crcTable = (quint32*) get_crc_table();
493 493
494 cdOffset = eocdOffset = 0; 494 cdOffset = eocdOffset = 0;
495 cdEntryCount = 0; 495 cdEntryCount = 0;
496 unsupportedEntryCount = 0; 496 unsupportedEntryCount = 0;
497} 497}
498 498
499//! \internal Parses a Zip archive. 499//! \internal Parses a Zip archive.
500UnZip::ErrorCode UnzipPrivate::openArchive(QIODevice* dev) 500UnZip::ErrorCode UnzipPrivate::openArchive(QIODevice* dev)
501{ 501{
502 Q_ASSERT(dev != 0); 502 Q_ASSERT(dev != 0);
503 503
504 if (device != 0) 504 if (device != 0)
505 closeArchive(); 505 closeArchive();
506 506
507 device = dev; 507 device = dev;
508 508
509 if (!(device->isOpen() || device->open(QIODevice::ReadOnly))) 509 if (!(device->isOpen() || device->open(QIODevice::ReadOnly)))
510 { 510 {
511 delete device; 511 delete device;
512 device = 0; 512 device = 0;
513 513
514 qDebug() << "Unable to open device for reading"; 514 qDebug() << "Unable to open device for reading";
515 return UnZip::OpenFailed; 515 return UnZip::OpenFailed;
516 } 516 }
517 517
518 UnZip::ErrorCode ec; 518 UnZip::ErrorCode ec;
519 519
520 ec = seekToCentralDirectory(); 520 ec = seekToCentralDirectory();
521 if (ec != UnZip::Ok) 521 if (ec != UnZip::Ok)
522 { 522 {
523 closeArchive(); 523 closeArchive();
524 return ec; 524 return ec;
525 } 525 }
526 526
527 //! \todo Ignore CD entry count? CD may be corrupted. 527 //! \todo Ignore CD entry count? CD may be corrupted.
528 if (cdEntryCount == 0) 528 if (cdEntryCount == 0)
529 { 529 {
530 return UnZip::Ok; 530 return UnZip::Ok;
531 } 531 }
532 532
533 bool continueParsing = true; 533 bool continueParsing = true;
534 534
535 while (continueParsing) 535 while (continueParsing)
536 { 536 {
537 if (device->read(buffer1, 4) != 4) 537 if (device->read(buffer1, 4) != 4)
538 UNZIP_CHECK_FOR_VALID_DATA 538 UNZIP_CHECK_FOR_VALID_DATA
539 539
540 if (! (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x01 && buffer1[3] == 0x02) ) 540 if (! (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x01 && buffer1[3] == 0x02) )
541 break; 541 break;
542 542
543 if ( (ec = parseCentralDirectoryRecord()) != UnZip::Ok ) 543 if ( (ec = parseCentralDirectoryRecord()) != UnZip::Ok )
544 break; 544 break;
545 } 545 }
546 546
547 if (ec != UnZip::Ok) 547 if (ec != UnZip::Ok)
548 closeArchive(); 548 closeArchive();
549 549
550 return ec; 550 return ec;
551} 551}
552 552
553/* 553/*
554 \internal Parses a local header record and makes some consistency check 554 \internal Parses a local header record and makes some consistency check
555 with the information stored in the Central Directory record for this entry 555 with the information stored in the Central Directory record for this entry
556 that has been previously parsed. 556 that has been previously parsed.
557 \todo Optional consistency check (as a ExtractionOptions flag) 557 \todo Optional consistency check (as a ExtractionOptions flag)
558 558
559 local file header signature 4 bytes (0x04034b50) 559 local file header signature 4 bytes (0x04034b50)
560 version needed to extract 2 bytes 560 version needed to extract 2 bytes
561 general purpose bit flag 2 bytes 561 general purpose bit flag 2 bytes
562 compression method 2 bytes 562 compression method 2 bytes
563 last mod file time 2 bytes 563 last mod file time 2 bytes
564 last mod file date 2 bytes 564 last mod file date 2 bytes
565 crc-32 4 bytes 565 crc-32 4 bytes
566 compressed size 4 bytes 566 compressed size 4 bytes
567 uncompressed size 4 bytes 567 uncompressed size 4 bytes
568 file name length 2 bytes 568 file name length 2 bytes
569 extra field length 2 bytes 569 extra field length 2 bytes
570 570
571 file name (variable size) 571 file name (variable size)
572 extra field (variable size) 572 extra field (variable size)
573*/ 573*/
574UnZip::ErrorCode UnzipPrivate::parseLocalHeaderRecord(const QString& path, ZipEntryP& entry) 574UnZip::ErrorCode UnzipPrivate::parseLocalHeaderRecord(const QString& path, ZipEntryP& entry)
575{ 575{
576 if (!device->seek(entry.lhOffset)) 576 if (!device->seek(entry.lhOffset))
577 return UnZip::SeekFailed; 577 return UnZip::SeekFailed;
578 578
579 // Test signature 579 // Test signature
580 if (device->read(buffer1, 4) != 4) 580 if (device->read(buffer1, 4) != 4)
581 return UnZip::ReadFailed; 581 return UnZip::ReadFailed;
582 582
583 if ((buffer1[0] != 'P') || (buffer1[1] != 'K') || (buffer1[2] != 0x03) || (buffer1[3] != 0x04)) 583 if ((buffer1[0] != 'P') || (buffer1[1] != 'K') || (buffer1[2] != 0x03) || (buffer1[3] != 0x04))
584 return UnZip::InvalidArchive; 584 return UnZip::InvalidArchive;
585 585
586 if (device->read(buffer1, UNZIP_LOCAL_HEADER_SIZE) != UNZIP_LOCAL_HEADER_SIZE) 586 if (device->read(buffer1, UNZIP_LOCAL_HEADER_SIZE) != UNZIP_LOCAL_HEADER_SIZE)
587 return UnZip::ReadFailed; 587 return UnZip::ReadFailed;
588 588
589 /* 589 /*
590 Check 3rd general purpose bit flag. 590 Check 3rd general purpose bit flag.
591 591
592 "bit 3: If this bit is set, the fields crc-32, compressed size 592 "bit 3: If this bit is set, the fields crc-32, compressed size
593 and uncompressed size are set to zero in the local 593 and uncompressed size are set to zero in the local
594 header. The correct values are put in the data descriptor 594 header. The correct values are put in the data descriptor
595 immediately following the compressed data." 595 immediately following the compressed data."
596 */ 596 */
597 bool hasDataDescriptor = entry.hasDataDescriptor(); 597 bool hasDataDescriptor = entry.hasDataDescriptor();
598 598
599 bool checkFailed = false; 599 bool checkFailed = false;
600 600
601 if (!checkFailed) 601 if (!checkFailed)
602 checkFailed = entry.compMethod != getUShort(uBuffer, UNZIP_LH_OFF_CMETHOD); 602 checkFailed = entry.compMethod != getUShort(uBuffer, UNZIP_LH_OFF_CMETHOD);
603 if (!checkFailed) 603 if (!checkFailed)
604 checkFailed = entry.gpFlag[0] != uBuffer[UNZIP_LH_OFF_GPFLAG]; 604 checkFailed = entry.gpFlag[0] != uBuffer[UNZIP_LH_OFF_GPFLAG];
605 if (!checkFailed) 605 if (!checkFailed)
606 checkFailed = entry.gpFlag[1] != uBuffer[UNZIP_LH_OFF_GPFLAG + 1]; 606 checkFailed = entry.gpFlag[1] != uBuffer[UNZIP_LH_OFF_GPFLAG + 1];
607 if (!checkFailed) 607 if (!checkFailed)
608 checkFailed = entry.modTime[0] != uBuffer[UNZIP_LH_OFF_MODT]; 608 checkFailed = entry.modTime[0] != uBuffer[UNZIP_LH_OFF_MODT];
609 if (!checkFailed) 609 if (!checkFailed)
610 checkFailed = entry.modTime[1] != uBuffer[UNZIP_LH_OFF_MODT + 1]; 610 checkFailed = entry.modTime[1] != uBuffer[UNZIP_LH_OFF_MODT + 1];
611 if (!checkFailed) 611 if (!checkFailed)
612 checkFailed = entry.modDate[0] != uBuffer[UNZIP_LH_OFF_MODD]; 612 checkFailed = entry.modDate[0] != uBuffer[UNZIP_LH_OFF_MODD];
613 if (!checkFailed) 613 if (!checkFailed)
614 checkFailed = entry.modDate[1] != uBuffer[UNZIP_LH_OFF_MODD + 1]; 614 checkFailed = entry.modDate[1] != uBuffer[UNZIP_LH_OFF_MODD + 1];
615 if (!hasDataDescriptor) 615 if (!hasDataDescriptor)
616 { 616 {
617 if (!checkFailed) 617 if (!checkFailed)
618 checkFailed = entry.crc != getULong(uBuffer, UNZIP_LH_OFF_CRC32); 618 checkFailed = entry.crc != getULong(uBuffer, UNZIP_LH_OFF_CRC32);
619 if (!checkFailed) 619 if (!checkFailed)
620 checkFailed = entry.szComp != getULong(uBuffer, UNZIP_LH_OFF_CSIZE); 620 checkFailed = entry.szComp != getULong(uBuffer, UNZIP_LH_OFF_CSIZE);
621 if (!checkFailed) 621 if (!checkFailed)
622 checkFailed = entry.szUncomp != getULong(uBuffer, UNZIP_LH_OFF_USIZE); 622 checkFailed = entry.szUncomp != getULong(uBuffer, UNZIP_LH_OFF_USIZE);
623 } 623 }
624 624
625 if (checkFailed) 625 if (checkFailed)
626 return UnZip::HeaderConsistencyError; 626 return UnZip::HeaderConsistencyError;
627 627
628 // Check filename 628 // Check filename
629 quint16 szName = getUShort(uBuffer, UNZIP_LH_OFF_NAMELEN); 629 quint16 szName = getUShort(uBuffer, UNZIP_LH_OFF_NAMELEN);
630 if (szName == 0) 630 if (szName == 0)
631 return UnZip::HeaderConsistencyError; 631 return UnZip::HeaderConsistencyError;
632 632
633 if (device->read(buffer2, szName) != szName) 633 if (device->read(buffer2, szName) != szName)
634 return UnZip::ReadFailed; 634 return UnZip::ReadFailed;
635 635
636 QString filename = QString::fromAscii(buffer2, szName); 636 QString filename = QString::fromAscii(buffer2, szName);
637 if (filename != path) 637 if (filename != path)
638 { 638 {
639 qDebug() << "Filename in local header mismatches."; 639 qDebug() << "Filename in local header mismatches.";
640 return UnZip::HeaderConsistencyError; 640 return UnZip::HeaderConsistencyError;
641 } 641 }
642 642
643 // Skip extra field 643 // Skip extra field
644 quint16 szExtra = getUShort(uBuffer, UNZIP_LH_OFF_XLEN); 644 quint16 szExtra = getUShort(uBuffer, UNZIP_LH_OFF_XLEN);
645 if (szExtra != 0) 645 if (szExtra != 0)
646 { 646 {
647 if (!device->seek(device->pos() + szExtra)) 647 if (!device->seek(device->pos() + szExtra))
648 return UnZip::SeekFailed; 648 return UnZip::SeekFailed;
649 } 649 }
650 650
651 entry.dataOffset = device->pos(); 651 entry.dataOffset = device->pos();
652 652
653 if (hasDataDescriptor) 653 if (hasDataDescriptor)
654 { 654 {
655 /* 655 /*
656 The data descriptor has this OPTIONAL signature: PK\7\8 656 The data descriptor has this OPTIONAL signature: PK\7\8
657 We try to skip the compressed data relying on the size set in the 657 We try to skip the compressed data relying on the size set in the
658 Central Directory record. 658 Central Directory record.
659 */ 659 */
660 if (!device->seek(device->pos() + entry.szComp)) 660 if (!device->seek(device->pos() + entry.szComp))
661 return UnZip::SeekFailed; 661 return UnZip::SeekFailed;
662 662
663 // Read 4 bytes and check if there is a data descriptor signature 663 // Read 4 bytes and check if there is a data descriptor signature
664 if (device->read(buffer2, 4) != 4) 664 if (device->read(buffer2, 4) != 4)
665 return UnZip::ReadFailed; 665 return UnZip::ReadFailed;
666 666
667 bool hasSignature = buffer2[0] == 'P' && buffer2[1] == 'K' && buffer2[2] == 0x07 && buffer2[3] == 0x08; 667 bool hasSignature = buffer2[0] == 'P' && buffer2[1] == 'K' && buffer2[2] == 0x07 && buffer2[3] == 0x08;
668 if (hasSignature) 668 if (hasSignature)
669 { 669 {
670 if (device->read(buffer2, UNZIP_DD_SIZE) != UNZIP_DD_SIZE) 670 if (device->read(buffer2, UNZIP_DD_SIZE) != UNZIP_DD_SIZE)
671 return UnZip::ReadFailed; 671 return UnZip::ReadFailed;
672 } 672 }
673 else 673 else
674 { 674 {
675 if (device->read(buffer2 + 4, UNZIP_DD_SIZE - 4) != UNZIP_DD_SIZE - 4) 675 if (device->read(buffer2 + 4, UNZIP_DD_SIZE - 4) != UNZIP_DD_SIZE - 4)
676 return UnZip::ReadFailed; 676 return UnZip::ReadFailed;
677 } 677 }
678 678
679 // DD: crc, compressed size, uncompressed size 679 // DD: crc, compressed size, uncompressed size
680 if ( 680 if (
681 entry.crc != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CRC32) || 681 entry.crc != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CRC32) ||
682 entry.szComp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CSIZE) || 682 entry.szComp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_CSIZE) ||
683 entry.szUncomp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_USIZE) 683 entry.szUncomp != getULong((unsigned char*)buffer2, UNZIP_DD_OFF_USIZE)
684 ) 684 )
685 return UnZip::HeaderConsistencyError; 685 return UnZip::HeaderConsistencyError;
686 } 686 }
687 687
688 return UnZip::Ok; 688 return UnZip::Ok;
689} 689}
690 690
691/*! \internal Attempts to find the start of the central directory record. 691/*! \internal Attempts to find the start of the central directory record.
692 692
693 We seek the file back until we reach the "End Of Central Directory" 693 We seek the file back until we reach the "End Of Central Directory"
694 signature PK\5\6. 694 signature PK\5\6.
695 695
696 end of central dir signature 4 bytes (0x06054b50) 696 end of central dir signature 4 bytes (0x06054b50)
697 number of this disk 2 bytes 697 number of this disk 2 bytes
698 number of the disk with the 698 number of the disk with the
699 start of the central directory 2 bytes 699 start of the central directory 2 bytes
700 total number of entries in the 700 total number of entries in the
701 central directory on this disk 2 bytes 701 central directory on this disk 2 bytes
702 total number of entries in 702 total number of entries in
703 the central directory 2 bytes 703 the central directory 2 bytes
704 size of the central directory 4 bytes 704 size of the central directory 4 bytes
705 offset of start of central 705 offset of start of central
706 directory with respect to 706 directory with respect to
707 the starting disk number 4 bytes 707 the starting disk number 4 bytes
708 .ZIP file comment length 2 bytes 708 .ZIP file comment length 2 bytes
709 --- SIZE UNTIL HERE: UNZIP_EOCD_SIZE --- 709 --- SIZE UNTIL HERE: UNZIP_EOCD_SIZE ---
710 .ZIP file comment (variable size) 710 .ZIP file comment (variable size)
711*/ 711*/
712UnZip::ErrorCode UnzipPrivate::seekToCentralDirectory() 712UnZip::ErrorCode UnzipPrivate::seekToCentralDirectory()
713{ 713{
714 qint64 length = device->size(); 714 qint64 length = device->size();
715 qint64 offset = length - UNZIP_EOCD_SIZE; 715 qint64 offset = length - UNZIP_EOCD_SIZE;
716 716
717 if (length < UNZIP_EOCD_SIZE) 717 if (length < UNZIP_EOCD_SIZE)
718 return UnZip::InvalidArchive; 718 return UnZip::InvalidArchive;
719 719
720 if (!device->seek( offset )) 720 if (!device->seek( offset ))
721 return UnZip::SeekFailed; 721 return UnZip::SeekFailed;
722 722
723 if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE) 723 if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE)
724 return UnZip::ReadFailed; 724 return UnZip::ReadFailed;
725 725
726 bool eocdFound = (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x05 && buffer1[3] == 0x06); 726 bool eocdFound = (buffer1[0] == 'P' && buffer1[1] == 'K' && buffer1[2] == 0x05 && buffer1[3] == 0x06);
727 727
728 if (eocdFound) 728 if (eocdFound)
729 { 729 {
730 // Zip file has no comment (the only variable length field in the EOCD record) 730 // Zip file has no comment (the only variable length field in the EOCD record)
731 eocdOffset = offset; 731 eocdOffset = offset;
732 } 732 }
733 else 733 else
734 { 734 {
735 qint64 read; 735 qint64 read;
736 char* p = 0; 736 char* p = 0;
737 737
738 offset -= UNZIP_EOCD_SIZE; 738 offset -= UNZIP_EOCD_SIZE;
739 739
740 if (offset <= 0) 740 if (offset <= 0)
741 return UnZip::InvalidArchive; 741 return UnZip::InvalidArchive;
742 742
743 if (!device->seek( offset )) 743 if (!device->seek( offset ))
744 return UnZip::SeekFailed; 744 return UnZip::SeekFailed;
745 745
746 while ((read = device->read(buffer1, UNZIP_EOCD_SIZE)) >= 0) 746 while ((read = device->read(buffer1, UNZIP_EOCD_SIZE)) >= 0)
747 { 747 {
748 if ( (p = strstr(buffer1, "PK\5\6")) != 0) 748 if ( (p = strstr(buffer1, "PK\5\6")) != 0)
749 { 749 {
750 // Seek to the start of the EOCD record so we can read it fully 750 // Seek to the start of the EOCD record so we can read it fully
751 // Yes... we could simply read the missing bytes and append them to the buffer 751 // Yes... we could simply read the missing bytes and append them to the buffer
752 // but this is far easier so heck it! 752 // but this is far easier so heck it!
753 device->seek( offset + (p - buffer1) ); 753 device->seek( offset + (p - buffer1) );
754 eocdFound = true; 754 eocdFound = true;
755 eocdOffset = offset + (p - buffer1); 755 eocdOffset = offset + (p - buffer1);
756 756
757 // Read EOCD record 757 // Read EOCD record
758 if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE) 758 if (device->read(buffer1, UNZIP_EOCD_SIZE) != UNZIP_EOCD_SIZE)
759 return UnZip::ReadFailed; 759 return UnZip::ReadFailed;
760 760
761 break; 761 break;
762 } 762 }
763 763
764 offset -= UNZIP_EOCD_SIZE; 764 offset -= UNZIP_EOCD_SIZE;
765 if (offset <= 0) 765 if (offset <= 0)
766 return UnZip::InvalidArchive; 766 return UnZip::InvalidArchive;
767 767
768 if (!device->seek( offset )) 768 if (!device->seek( offset ))
769 return UnZip::SeekFailed; 769 return UnZip::SeekFailed;
770 } 770 }
771 } 771 }
772 772
773 if (!eocdFound) 773 if (!eocdFound)
774 return UnZip::InvalidArchive; 774 return UnZip::InvalidArchive;
775 775
776 // Parse EOCD to locate CD offset 776 // Parse EOCD to locate CD offset
777 offset = getULong((const unsigned char*)buffer1, UNZIP_EOCD_OFF_CDOFF + 4); 777 offset = getULong((const unsigned char*)buffer1, UNZIP_EOCD_OFF_CDOFF + 4);
778 778
779 cdOffset = offset; 779 cdOffset = offset;
780 780
781 cdEntryCount = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_ENTRIES + 4); 781 cdEntryCount = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_ENTRIES + 4);
782 782
783 quint16 commentLength = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_COMMLEN + 4); 783 quint16 commentLength = getUShort((const unsigned char*)buffer1, UNZIP_EOCD_OFF_COMMLEN + 4);
784 if (commentLength != 0) 784 if (commentLength != 0)
785 { 785 {
786 QByteArray c = device->read(commentLength); 786 QByteArray c = device->read(commentLength);
787 if (c.count() != commentLength) 787 if (c.count() != commentLength)
788 return UnZip::ReadFailed; 788 return UnZip::ReadFailed;
789 789
790 comment = c; 790 comment = c;
791 } 791 }
792 792
793 // Seek to the start of the CD record 793 // Seek to the start of the CD record
794 if (!device->seek( cdOffset )) 794 if (!device->seek( cdOffset ))
795 return UnZip::SeekFailed; 795 return UnZip::SeekFailed;
796 796
797 return UnZip::Ok; 797 return UnZip::Ok;
798} 798}
799 799
800/*! 800/*!
801 \internal Parses a central directory record. 801 \internal Parses a central directory record.
802 802
803 Central Directory record structure: 803 Central Directory record structure:
804 804
805 [file header 1] 805 [file header 1]
806 . 806 .
807 . 807 .
808 . 808 .
809 [file header n] 809 [file header n]
810 [digital signature] // PKZip 6.2 or later only 810 [digital signature] // PKZip 6.2 or later only
811 811
812 File header: 812 File header:
813 813
814 central file header signature 4 bytes (0x02014b50) 814 central file header signature 4 bytes (0x02014b50)
815 version made by 2 bytes 815 version made by 2 bytes
816 version needed to extract 2 bytes 816 version needed to extract 2 bytes
817 general purpose bit flag 2 bytes 817 general purpose bit flag 2 bytes
818 compression method 2 bytes 818 compression method 2 bytes
819 last mod file time 2 bytes 819 last mod file time 2 bytes
820 last mod file date 2 bytes 820 last mod file date 2 bytes
821 crc-32 4 bytes 821 crc-32 4 bytes
822 compressed size 4 bytes 822 compressed size 4 bytes
823 uncompressed size 4 bytes 823 uncompressed size 4 bytes
824 file name length 2 bytes 824 file name length 2 bytes
825 extra field length 2 bytes 825 extra field length 2 bytes
826 file comment length 2 bytes 826 file comment length 2 bytes
827 disk number start 2 bytes 827 disk number start 2 bytes
828 internal file attributes 2 bytes 828 internal file attributes 2 bytes
829 external file attributes 4 bytes 829 external file attributes 4 bytes
830 relative offset of local header 4 bytes 830 relative offset of local header 4 bytes
831 831
832 file name (variable size) 832 file name (variable size)
833 extra field (variable size) 833 extra field (variable size)
834 file comment (variable size) 834 file comment (variable size)
835*/ 835*/
836UnZip::ErrorCode UnzipPrivate::parseCentralDirectoryRecord() 836UnZip::ErrorCode UnzipPrivate::parseCentralDirectoryRecord()
837{ 837{
838 // Read CD record 838 // Read CD record
839 if (device->read(buffer1, UNZIP_CD_ENTRY_SIZE_NS) != UNZIP_CD_ENTRY_SIZE_NS) 839 if (device->read(buffer1, UNZIP_CD_ENTRY_SIZE_NS) != UNZIP_CD_ENTRY_SIZE_NS)
840 return UnZip::ReadFailed; 840 return UnZip::ReadFailed;
841 841
842 bool skipEntry = false; 842 bool skipEntry = false;
843 843
844 // Get compression type so we can skip non compatible algorithms 844 // Get compression type so we can skip non compatible algorithms
845 quint16 compMethod = getUShort(uBuffer, UNZIP_CD_OFF_CMETHOD); 845 quint16 compMethod = getUShort(uBuffer, UNZIP_CD_OFF_CMETHOD);
846 846
847 // Get variable size fields length so we can skip the whole record 847 // Get variable size fields length so we can skip the whole record
848 // if necessary 848 // if necessary
849 quint16 szName = getUShort(uBuffer, UNZIP_CD_OFF_NAMELEN); 849 quint16 szName = getUShort(uBuffer, UNZIP_CD_OFF_NAMELEN);
850 quint16 szExtra = getUShort(uBuffer, UNZIP_CD_OFF_XLEN); 850 quint16 szExtra = getUShort(uBuffer, UNZIP_CD_OFF_XLEN);
851 quint16 szComment = getUShort(uBuffer, UNZIP_CD_OFF_COMMLEN); 851 quint16 szComment = getUShort(uBuffer, UNZIP_CD_OFF_COMMLEN);
852 852
853 quint32 skipLength = szName + szExtra + szComment; 853 quint32 skipLength = szName + szExtra + szComment;
854 854
855 UnZip::ErrorCode ec = UnZip::Ok; 855 UnZip::ErrorCode ec = UnZip::Ok;
856 856
857 if ((compMethod != 0) && (compMethod != 8)) 857 if ((compMethod != 0) && (compMethod != 8))
858 { 858 {
859 qDebug() << "Unsupported compression method. Skipping file."; 859 qDebug() << "Unsupported compression method. Skipping file.";
860 skipEntry = true; 860 skipEntry = true;
861 } 861 }
862 862
863 // Header parsing may be a problem if version is bigger than UNZIP_VERSION 863 // Header parsing may be a problem if version is bigger than UNZIP_VERSION
864 if (!skipEntry && buffer1[UNZIP_CD_OFF_VERSION] > UNZIP_VERSION) 864 if (!skipEntry && buffer1[UNZIP_CD_OFF_VERSION] > UNZIP_VERSION)
865 { 865 {
866 qDebug() << "Unsupported PKZip version. Skipping file."; 866 qDebug() << "Unsupported PKZip version. Skipping file.";
867 skipEntry = true; 867 skipEntry = true;
868 } 868 }
869 869
870 if (!skipEntry && szName == 0) 870 if (!skipEntry && szName == 0)
871 { 871 {
872 qDebug() << "Skipping file with no name."; 872 qDebug() << "Skipping file with no name.";
873 skipEntry = true; 873 skipEntry = true;
874 } 874 }
875 875
876 if (!skipEntry && device->read(buffer2, szName) != szName) 876 if (!skipEntry && device->read(buffer2, szName) != szName)
877 { 877 {
878 ec = UnZip::ReadFailed; 878 ec = UnZip::ReadFailed;
879 skipEntry = true; 879 skipEntry = true;
880 } 880 }
881 881
882 if (skipEntry) 882 if (skipEntry)
883 { 883 {
884 if (ec == UnZip::Ok) 884 if (ec == UnZip::Ok)
885 { 885 {
886 if (!device->seek( device->pos() + skipLength )) 886 if (!device->seek( device->pos() + skipLength ))
887 ec = UnZip::SeekFailed; 887 ec = UnZip::SeekFailed;
888 888
889 unsupportedEntryCount++; 889 unsupportedEntryCount++;
890 } 890 }
891 891
892 return ec; 892 return ec;
893 } 893 }
894 894
895 QString filename = QString::fromAscii(buffer2, szName); 895 QString filename = QString::fromAscii(buffer2, szName);
896 896
897 ZipEntryP* h = new ZipEntryP; 897 ZipEntryP* h = new ZipEntryP;
898 h->compMethod = compMethod; 898 h->compMethod = compMethod;
899 899
900 h->gpFlag[0] = buffer1[UNZIP_CD_OFF_GPFLAG]; 900 h->gpFlag[0] = buffer1[UNZIP_CD_OFF_GPFLAG];
901 h->gpFlag[1] = buffer1[UNZIP_CD_OFF_GPFLAG + 1]; 901 h->gpFlag[1] = buffer1[UNZIP_CD_OFF_GPFLAG + 1];
902 902
903 h->modTime[0] = buffer1[UNZIP_CD_OFF_MODT]; 903 h->modTime[0] = buffer1[UNZIP_CD_OFF_MODT];
904 h->modTime[1] = buffer1[UNZIP_CD_OFF_MODT + 1]; 904 h->modTime[1] = buffer1[UNZIP_CD_OFF_MODT + 1];
905 905
906 h->modDate[0] = buffer1[UNZIP_CD_OFF_MODD]; 906 h->modDate[0] = buffer1[UNZIP_CD_OFF_MODD];
907 h->modDate[1] = buffer1[UNZIP_CD_OFF_MODD + 1]; 907 h->modDate[1] = buffer1[UNZIP_CD_OFF_MODD + 1];
908 908
909 h->crc = getULong(uBuffer, UNZIP_CD_OFF_CRC32); 909 h->crc = getULong(uBuffer, UNZIP_CD_OFF_CRC32);
910 h->szComp = getULong(uBuffer, UNZIP_CD_OFF_CSIZE); 910 h->szComp = getULong(uBuffer, UNZIP_CD_OFF_CSIZE);
911 h->szUncomp = getULong(uBuffer, UNZIP_CD_OFF_USIZE); 911 h->szUncomp = getULong(uBuffer, UNZIP_CD_OFF_USIZE);
912 912
913 // Skip extra field (if any) 913 // Skip extra field (if any)
914 if (szExtra != 0) 914 if (szExtra != 0)
915 { 915 {
916 if (!device->seek( device->pos() + szExtra )) 916 if (!device->seek( device->pos() + szExtra ))
917 { 917 {
918 delete h; 918 delete h;
919 return UnZip::SeekFailed; 919 return UnZip::SeekFailed;
920 } 920 }
921 } 921 }
922 922
923 // Read comment field (if any) 923 // Read comment field (if any)
924 if (szComment != 0) 924 if (szComment != 0)
925 { 925 {
926 if (device->read(buffer2, szComment) != szComment) 926 if (device->read(buffer2, szComment) != szComment)
927 { 927 {
928 delete h; 928 delete h;
929 return UnZip::ReadFailed; 929 return UnZip::ReadFailed;
930 } 930 }
931 931
932 h->comment = QString::fromAscii(buffer2, szComment); 932 h->comment = QString::fromAscii(buffer2, szComment);
933 } 933 }
934 934
935 h->lhOffset = getULong(uBuffer, UNZIP_CD_OFF_LHOFFSET); 935 h->lhOffset = getULong(uBuffer, UNZIP_CD_OFF_LHOFFSET);
936 936
937 if (headers == 0) 937 if (headers == 0)
938 headers = new QMap<QString, ZipEntryP*>(); 938 headers = new QMap<QString, ZipEntryP*>();
939 headers->insert(filename, h); 939 headers->insert(filename, h);
940 940
941 return UnZip::Ok; 941 return UnZip::Ok;
942} 942}
943 943
944//! \internal Closes the archive and resets the internal status. 944//! \internal Closes the archive and resets the internal status.
945void UnzipPrivate::closeArchive() 945void UnzipPrivate::closeArchive()
946{ 946{
947 if (device == 0) 947 if (device == 0)
948 return; 948 return;
949 949
950 skipAllEncrypted = false; 950 skipAllEncrypted = false;
951 951
952 if (headers != 0) 952 if (headers != 0)
953 { 953 {
954 qDeleteAll(*headers); 954 qDeleteAll(*headers);
955 delete headers; 955 delete headers;
956 headers = 0; 956 headers = 0;
957 } 957 }
958 958
959 delete device; device = 0; 959 delete device; device = 0;
960 960
961 cdOffset = eocdOffset = 0; 961 cdOffset = eocdOffset = 0;
962 cdEntryCount = 0; 962 cdEntryCount = 0;
963 unsupportedEntryCount = 0; 963 unsupportedEntryCount = 0;
964 964
965 comment.clear(); 965 comment.clear();
966} 966}
967 967
968//! \internal 968//! \internal
969UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options) 969UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options)
970{ 970{
971 QString name(path); 971 QString name(path);
972 QString dirname; 972 QString dirname;
973 QString directory; 973 QString directory;
974 974
975 int pos = name.lastIndexOf('/'); 975 int pos = name.lastIndexOf('/');
976 976
977 // This entry is for a directory 977 // This entry is for a directory
978 if (pos == name.length() - 1) 978 if (pos == name.length() - 1)
979 { 979 {
980 if (options.testFlag(UnZip::SkipPaths)) 980 if (options.testFlag(UnZip::SkipPaths))
981 return UnZip::Ok; 981 return UnZip::Ok;
982 982
983 directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(name)); 983 directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(name));
984 if (!createDirectory(directory)) 984 if (!createDirectory(directory))
985 { 985 {
986 qDebug() << QString("Unable to create directory: %1").arg(directory); 986 qDebug() << QString("Unable to create directory: %1").arg(directory);
987 return UnZip::CreateDirFailed; 987 return UnZip::CreateDirFailed;
988 } 988 }
989 989
990 return UnZip::Ok; 990 return UnZip::Ok;
991 } 991 }
992 992
993 // Extract path from entry 993 // Extract path from entry
994 if (pos > 0) 994 if (pos > 0)
995 { 995 {
996 // get directory part 996 // get directory part
997 dirname = name.left(pos); 997 dirname = name.left(pos);
998 if (options.testFlag(UnZip::SkipPaths)) 998 if (options.testFlag(UnZip::SkipPaths))
999 { 999 {
1000 directory = dir.absolutePath(); 1000 directory = dir.absolutePath();
1001 } 1001 }
1002 else 1002 else
1003 { 1003 {
1004 directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(dirname)); 1004 directory = QString("%1/%2").arg(dir.absolutePath()).arg(QDir::cleanPath(dirname));
1005 if (!createDirectory(directory)) 1005 if (!createDirectory(directory))
1006 { 1006 {
1007 qDebug() << QString("Unable to create directory: %1").arg(directory); 1007 qDebug() << QString("Unable to create directory: %1").arg(directory);
1008 return UnZip::CreateDirFailed; 1008 return UnZip::CreateDirFailed;
1009 } 1009 }
1010 } 1010 }
1011 name = name.right(name.length() - pos - 1); 1011 name = name.right(name.length() - pos - 1);
1012 } else directory = dir.absolutePath(); 1012 } else directory = dir.absolutePath();
1013 1013
1014 name = QString("%1/%2").arg(directory).arg(name); 1014 name = QString("%1/%2").arg(directory).arg(name);
1015 1015
1016 QFile outFile(name); 1016 QFile outFile(name);
1017 1017
1018 if (!outFile.open(QIODevice::WriteOnly)) 1018 if (!outFile.open(QIODevice::WriteOnly))
1019 { 1019 {
1020 qDebug() << QString("Unable to open %1 for writing").arg(name); 1020 qDebug() << QString("Unable to open %1 for writing").arg(name);
1021 return UnZip::OpenFailed; 1021 return UnZip::OpenFailed;
1022 } 1022 }
1023 1023
1024 //! \todo Set creation/last_modified date/time 1024 //! \todo Set creation/last_modified date/time
1025 1025
1026 UnZip::ErrorCode ec = extractFile(path, entry, &outFile, options); 1026 UnZip::ErrorCode ec = extractFile(path, entry, &outFile, options);
1027 1027
1028 outFile.close(); 1028 outFile.close();
1029 1029
1030 if (ec != UnZip::Ok) 1030 if (ec != UnZip::Ok)
1031 { 1031 {
1032 if (!outFile.remove()) 1032 if (!outFile.remove())
1033 qDebug() << QString("Unable to remove corrupted file: %1").arg(name); 1033 qDebug() << QString("Unable to remove corrupted file: %1").arg(name);
1034 } 1034 }
1035 1035
1036 return ec; 1036 return ec;
1037} 1037}
1038 1038
1039//! \internal 1039//! \internal
1040UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, QIODevice* dev, UnZip::ExtractionOptions options) 1040UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, QIODevice* dev, UnZip::ExtractionOptions options)
1041{ 1041{
1042 Q_UNUSED(options); 1042 Q_UNUSED(options);
1043 Q_ASSERT(dev != 0); 1043 Q_ASSERT(dev != 0);
1044 1044
1045 if (!entry.lhEntryChecked) 1045 if (!entry.lhEntryChecked)
1046 { 1046 {
1047 UnZip::ErrorCode ec = parseLocalHeaderRecord(path, entry); 1047 UnZip::ErrorCode ec = parseLocalHeaderRecord(path, entry);
1048 entry.lhEntryChecked = true; 1048 entry.lhEntryChecked = true;
1049 1049
1050 if (ec != UnZip::Ok) 1050 if (ec != UnZip::Ok)
1051 return ec; 1051 return ec;
1052 } 1052 }
1053 1053
1054 if (!device->seek(entry.dataOffset)) 1054 if (!device->seek(entry.dataOffset))
1055 return UnZip::SeekFailed; 1055 return UnZip::SeekFailed;
1056 1056
1057 // Encryption keys 1057 // Encryption keys
1058 quint32 keys[3]; 1058 quint32 keys[3];
1059 1059
1060 if (entry.isEncrypted()) 1060 if (entry.isEncrypted())
1061 { 1061 {
1062 UnZip::ErrorCode e = testPassword(keys, path, entry); 1062 UnZip::ErrorCode e = testPassword(keys, path, entry);
1063 if (e != UnZip::Ok) 1063 if (e != UnZip::Ok)
1064 { 1064 {
1065 qDebug() << QString("Unable to decrypt %1").arg(path); 1065 qDebug() << QString("Unable to decrypt %1").arg(path);
1066 return e; 1066 return e;
1067 }//! Encryption header size 1067 }//! Encryption header size
1068 entry.szComp -= UNZIP_LOCAL_ENC_HEADER_SIZE; // remove encryption header size 1068 entry.szComp -= UNZIP_LOCAL_ENC_HEADER_SIZE; // remove encryption header size
1069 } 1069 }
1070 1070
1071 if (entry.szComp == 0) 1071 if (entry.szComp == 0)
1072 { 1072 {
1073 if (entry.crc != 0) 1073 if (entry.crc != 0)
1074 return UnZip::Corrupted; 1074 return UnZip::Corrupted;
1075 1075
1076 return UnZip::Ok; 1076 return UnZip::Ok;
1077 } 1077 }
1078 1078
1079 uInt rep = entry.szComp / UNZIP_READ_BUFFER; 1079 uInt rep = entry.szComp / UNZIP_READ_BUFFER;
1080 uInt rem = entry.szComp % UNZIP_READ_BUFFER; 1080 uInt rem = entry.szComp % UNZIP_READ_BUFFER;
1081 uInt cur = 0; 1081 uInt cur = 0;
1082 1082
1083 // extract data 1083 // extract data
1084 qint64 read; 1084 qint64 read;
1085 quint64 tot = 0; 1085 quint64 tot = 0;
1086 1086
1087 quint32 myCRC = crc32(0L, Z_NULL, 0); 1087 quint32 myCRC = crc32(0L, Z_NULL, 0);
1088 1088
1089 if (entry.compMethod == 0) 1089 if (entry.compMethod == 0)
1090 { 1090 {
1091 while ( (read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem)) > 0 ) 1091 while ( (read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem)) > 0 )
1092 { 1092 {
1093 if (entry.isEncrypted()) 1093 if (entry.isEncrypted())
1094 decryptBytes(keys, buffer1, read); 1094 decryptBytes(keys, buffer1, read);
1095 1095
1096 myCRC = crc32(myCRC, uBuffer, read); 1096 myCRC = crc32(myCRC, uBuffer, read);
1097 1097
1098 if (dev->write(buffer1, read) != read) 1098 if (dev->write(buffer1, read) != read)
1099 return UnZip::WriteFailed; 1099 return UnZip::WriteFailed;
1100 1100
1101 cur++; 1101 cur++;
1102 tot += read; 1102 tot += read;
1103 1103
1104 if (tot == entry.szComp) 1104 if (tot == entry.szComp)
1105 break; 1105 break;
1106 } 1106 }
1107 1107
1108 if (read < 0) 1108 if (read < 0)
1109 return UnZip::ReadFailed; 1109 return UnZip::ReadFailed;
1110 } 1110 }
1111 else if (entry.compMethod == 8) 1111 else if (entry.compMethod == 8)
1112 { 1112 {
1113 /* Allocate inflate state */ 1113 /* Allocate inflate state */
1114 z_stream zstr; 1114 z_stream zstr;
1115 zstr.zalloc = Z_NULL; 1115 zstr.zalloc = Z_NULL;
1116 zstr.zfree = Z_NULL; 1116 zstr.zfree = Z_NULL;
1117 zstr.opaque = Z_NULL; 1117 zstr.opaque = Z_NULL;
1118 zstr.next_in = Z_NULL; 1118 zstr.next_in = Z_NULL;
1119 zstr.avail_in = 0; 1119 zstr.avail_in = 0;
1120 1120
1121 int zret; 1121 int zret;
1122 1122
1123 // Use inflateInit2 with negative windowBits to get raw decompression 1123 // Use inflateInit2 with negative windowBits to get raw decompression
1124 if ( (zret = inflateInit2_(&zstr, -MAX_WBITS, ZLIB_VERSION, sizeof(z_stream))) != Z_OK ) 1124 if ( (zret = inflateInit2_(&zstr, -MAX_WBITS, ZLIB_VERSION, sizeof(z_stream))) != Z_OK )
1125 return UnZip::ZlibError; 1125 return UnZip::ZlibError;
1126 1126
1127 int szDecomp; 1127 int szDecomp;
1128 1128
1129 // Decompress until deflate stream ends or end of file 1129 // Decompress until deflate stream ends or end of file
1130 do 1130 do
1131 { 1131 {
1132 read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem); 1132 read = device->read(buffer1, cur < rep ? UNZIP_READ_BUFFER : rem);
1133 if (read == 0) 1133 if (read == 0)
1134 break; 1134 break;
1135 if (read < 0) 1135 if (read < 0)
1136 { 1136 {
1137 (void)inflateEnd(&zstr); 1137 (void)inflateEnd(&zstr);
1138 return UnZip::ReadFailed; 1138 return UnZip::ReadFailed;
1139 } 1139 }
1140 1140
1141 if (entry.isEncrypted()) 1141 if (entry.isEncrypted())
1142 decryptBytes(keys, buffer1, read); 1142 decryptBytes(keys, buffer1, read);
1143 1143
1144 cur++; 1144 cur++;
1145 tot += read; 1145 tot += read;
1146 1146
1147 zstr.avail_in = (uInt) read; 1147 zstr.avail_in = (uInt) read;
1148 zstr.next_in = (Bytef*) buffer1; 1148 zstr.next_in = (Bytef*) buffer1;
1149 1149
1150 1150
1151 // Run inflate() on input until output buffer not full 1151 // Run inflate() on input until output buffer not full
1152 do { 1152 do {
1153 zstr.avail_out = UNZIP_READ_BUFFER; 1153 zstr.avail_out = UNZIP_READ_BUFFER;
1154 zstr.next_out = (Bytef*) buffer2;; 1154 zstr.next_out = (Bytef*) buffer2;;
1155 1155
1156 zret = inflate(&zstr, Z_NO_FLUSH); 1156 zret = inflate(&zstr, Z_NO_FLUSH);
1157 1157
1158 switch (zret) { 1158 switch (zret) {
1159 case Z_NEED_DICT: 1159 case Z_NEED_DICT:
1160 case Z_DATA_ERROR: 1160 case Z_DATA_ERROR:
1161 case Z_MEM_ERROR: 1161 case Z_MEM_ERROR:
1162 inflateEnd(&zstr); 1162 inflateEnd(&zstr);
1163 return UnZip::WriteFailed; 1163 return UnZip::WriteFailed;
1164 default: 1164 default:
1165 ; 1165 ;
1166 } 1166 }
1167 1167
1168 szDecomp = UNZIP_READ_BUFFER - zstr.avail_out; 1168 szDecomp = UNZIP_READ_BUFFER - zstr.avail_out;
1169 if (dev->write(buffer2, szDecomp) != szDecomp) 1169 if (dev->write(buffer2, szDecomp) != szDecomp)
1170 { 1170 {
1171 inflateEnd(&zstr); 1171 inflateEnd(&zstr);
1172 return UnZip::ZlibError; 1172 return UnZip::ZlibError;
1173 } 1173 }
1174 1174
1175 myCRC = crc32(myCRC, (const Bytef*) buffer2, szDecomp); 1175 myCRC = crc32(myCRC, (const Bytef*) buffer2, szDecomp);
1176 1176
1177 } while (zstr.avail_out == 0); 1177 } while (zstr.avail_out == 0);
1178 1178
1179 } 1179 }
1180 while (zret != Z_STREAM_END); 1180 while (zret != Z_STREAM_END);
1181 1181
1182 inflateEnd(&zstr); 1182 inflateEnd(&zstr);
1183 } 1183 }
1184 1184
1185 if (myCRC != entry.crc) 1185 if (myCRC != entry.crc)
1186 return UnZip::Corrupted; 1186 return UnZip::Corrupted;
1187 1187
1188 return UnZip::Ok; 1188 return UnZip::Ok;
1189} 1189}
1190 1190
1191//! \internal Creates a new directory and all the needed parent directories. 1191//! \internal Creates a new directory and all the needed parent directories.
1192bool UnzipPrivate::createDirectory(const QString& path) 1192bool UnzipPrivate::createDirectory(const QString& path)
1193{ 1193{
1194 QDir d(path); 1194 QDir d(path);
1195 if (!d.exists()) 1195 if (!d.exists())
1196 { 1196 {
1197 int sep = path.lastIndexOf("/"); 1197 int sep = path.lastIndexOf("/");
1198 if (sep <= 0) return true; 1198 if (sep <= 0) return true;
1199 1199
1200 if (!createDirectory(path.left(sep))) 1200 if (!createDirectory(path.left(sep)))
1201 return false; 1201 return false;
1202 1202
1203 if (!d.mkdir(path)) 1203 if (!d.mkdir(path))
1204 { 1204 {
1205 qDebug() << QString("Unable to create directory: %1").arg(path); 1205 qDebug() << QString("Unable to create directory: %1").arg(path);
1206 return false; 1206 return false;
1207 } 1207 }
1208 } 1208 }
1209 1209
1210 return true; 1210 return true;
1211} 1211}
1212 1212
1213/*! 1213/*!
1214 \internal Reads an quint32 (4 bytes) from a byte array starting at given offset. 1214 \internal Reads an quint32 (4 bytes) from a byte array starting at given offset.
1215*/ 1215*/
1216quint32 UnzipPrivate::getULong(const unsigned char* data, quint32 offset) const 1216quint32 UnzipPrivate::getULong(const unsigned char* data, quint32 offset) const
1217{ 1217{
1218 quint32 res = (quint32) data[offset]; 1218 quint32 res = (quint32) data[offset];
1219 res |= (((quint32)data[offset+1]) << 8); 1219 res |= (((quint32)data[offset+1]) << 8);
1220 res |= (((quint32)data[offset+2]) << 16); 1220 res |= (((quint32)data[offset+2]) << 16);
1221 res |= (((quint32)data[offset+3]) << 24); 1221 res |= (((quint32)data[offset+3]) << 24);
1222 1222
1223 return res; 1223 return res;
1224} 1224}
1225 1225
1226/*! 1226/*!
1227 \internal Reads an quint64 (8 bytes) from a byte array starting at given offset. 1227 \internal Reads an quint64 (8 bytes) from a byte array starting at given offset.
1228*/ 1228*/
1229quint64 UnzipPrivate::getULLong(const unsigned char* data, quint32 offset) const 1229quint64 UnzipPrivate::getULLong(const unsigned char* data, quint32 offset) const
1230{ 1230{
1231 quint64 res = (quint64) data[offset]; 1231 quint64 res = (quint64) data[offset];
1232 res |= (((quint64)data[offset+1]) << 8); 1232 res |= (((quint64)data[offset+1]) << 8);
1233 res |= (((quint64)data[offset+2]) << 16); 1233 res |= (((quint64)data[offset+2]) << 16);
1234 res |= (((quint64)data[offset+3]) << 24); 1234 res |= (((quint64)data[offset+3]) << 24);
1235 res |= (((quint64)data[offset+1]) << 32); 1235 res |= (((quint64)data[offset+1]) << 32);
1236 res |= (((quint64)data[offset+2]) << 40); 1236 res |= (((quint64)data[offset+2]) << 40);
1237 res |= (((quint64)data[offset+3]) << 48); 1237 res |= (((quint64)data[offset+3]) << 48);
1238 res |= (((quint64)data[offset+3]) << 56); 1238 res |= (((quint64)data[offset+3]) << 56);
1239 1239
1240 return res; 1240 return res;
1241} 1241}
1242 1242
1243/*! 1243/*!
1244 \internal Reads an quint16 (2 bytes) from a byte array starting at given offset. 1244 \internal Reads an quint16 (2 bytes) from a byte array starting at given offset.
1245*/ 1245*/
1246quint16 UnzipPrivate::getUShort(const unsigned char* data, quint32 offset) const 1246quint16 UnzipPrivate::getUShort(const unsigned char* data, quint32 offset) const
1247{ 1247{
1248 return (quint16) data[offset] | (((quint16)data[offset+1]) << 8); 1248 return (quint16) data[offset] | (((quint16)data[offset+1]) << 8);
1249} 1249}
1250 1250
1251/*! 1251/*!
1252 \internal Return the next byte in the pseudo-random sequence 1252 \internal Return the next byte in the pseudo-random sequence
1253 */ 1253 */
1254int UnzipPrivate::decryptByte(quint32 key2) const 1254int UnzipPrivate::decryptByte(quint32 key2) const
1255{ 1255{
1256 quint16 temp = ((quint16)(key2) & 0xffff) | 2; 1256 quint16 temp = ((quint16)(key2) & 0xffff) | 2;
1257 return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); 1257 return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
1258} 1258}
1259 1259
1260/*! 1260/*!
1261 \internal Update the encryption keys with the next byte of plain text 1261 \internal Update the encryption keys with the next byte of plain text
1262 */ 1262 */
1263void UnzipPrivate::updateKeys(quint32* keys, int c) const 1263void UnzipPrivate::updateKeys(quint32* keys, int c) const
1264{ 1264{
1265 keys[0] = CRC32(keys[0], c); 1265 keys[0] = CRC32(keys[0], c);
1266 keys[1] += keys[0] & 0xff; 1266 keys[1] += keys[0] & 0xff;
1267 keys[1] = keys[1] * 134775813L + 1; 1267 keys[1] = keys[1] * 134775813L + 1;
1268 keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24); 1268 keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24);
1269} 1269}
1270 1270
1271/*! 1271/*!
1272 \internal Initialize the encryption keys and the random header according to 1272 \internal Initialize the encryption keys and the random header according to
1273 the given password. 1273 the given password.
1274 */ 1274 */
1275void UnzipPrivate::initKeys(const QString& pwd, quint32* keys) const 1275void UnzipPrivate::initKeys(const QString& pwd, quint32* keys) const
1276{ 1276{
1277 keys[0] = 305419896L; 1277 keys[0] = 305419896L;
1278 keys[1] = 591751049L; 1278 keys[1] = 591751049L;
1279 keys[2] = 878082192L; 1279 keys[2] = 878082192L;
1280 1280
1281 QByteArray pwdBytes = pwd.toAscii(); 1281 QByteArray pwdBytes = pwd.toAscii();
1282 int sz = pwdBytes.size(); 1282 int sz = pwdBytes.size();
1283 const char* ascii = pwdBytes.data(); 1283 const char* ascii = pwdBytes.data();
1284 1284
1285 for (int i=0; i<sz; ++i) 1285 for (int i=0; i<sz; ++i)
1286 updateKeys(keys, (int)ascii[i]); 1286 updateKeys(keys, (int)ascii[i]);
1287} 1287}
1288 1288
1289/*! 1289/*!
1290 \internal Attempts to test a password without actually extracting a file. 1290 \internal Attempts to test a password without actually extracting a file.
1291 The \p file parameter can be used in the user interface or for debugging purposes 1291 The \p file parameter can be used in the user interface or for debugging purposes
1292 as it is the name of the encrypted file for wich the password is being tested. 1292 as it is the name of the encrypted file for wich the password is being tested.
1293*/ 1293*/
1294UnZip::ErrorCode UnzipPrivate::testPassword(quint32* keys, const QString& file, const ZipEntryP& header) 1294UnZip::ErrorCode UnzipPrivate::testPassword(quint32* keys, const QString& file, const ZipEntryP& header)
1295{ 1295{
1296 Q_UNUSED(file); 1296 Q_UNUSED(file);
1297 1297
1298 // read encryption keys 1298 // read encryption keys
1299 if (device->read(buffer1, 12) != 12) 1299 if (device->read(buffer1, 12) != 12)
1300 return UnZip::Corrupted; 1300 return UnZip::Corrupted;
1301 1301
1302 // Replace this code if you want to i.e. call some dialog and ask the user for a password 1302 // Replace this code if you want to i.e. call some dialog and ask the user for a password
1303 initKeys(password, keys); 1303 initKeys(password, keys);
1304 if (testKeys(header, keys)) 1304 if (testKeys(header, keys))
1305 return UnZip::Ok; 1305 return UnZip::Ok;
1306 1306
1307 return UnZip::Skip; 1307 return UnZip::Skip;
1308} 1308}
1309 1309
1310/*! 1310/*!
1311 \internal Tests a set of keys on the encryption header. 1311 \internal Tests a set of keys on the encryption header.
1312*/ 1312*/
1313bool UnzipPrivate::testKeys(const ZipEntryP& header, quint32* keys) 1313bool UnzipPrivate::testKeys(const ZipEntryP& header, quint32* keys)
1314{ 1314{
1315 char lastByte; 1315 char lastByte;
1316 1316
1317 // decrypt encryption header 1317 // decrypt encryption header
1318 for (int i=0; i<11; ++i) 1318 for (int i=0; i<11; ++i)
1319 updateKeys(keys, lastByte = buffer1[i] ^ decryptByte(keys[2])); 1319 updateKeys(keys, lastByte = buffer1[i] ^ decryptByte(keys[2]));
1320 updateKeys(keys, lastByte = buffer1[11] ^ decryptByte(keys[2])); 1320 updateKeys(keys, lastByte = buffer1[11] ^ decryptByte(keys[2]));
1321 1321
1322 // if there is an extended header (bit in the gp flag) buffer[11] is a byte from the file time 1322 // if there is an extended header (bit in the gp flag) buffer[11] is a byte from the file time
1323 // with no extended header we have to check the crc high-order byte 1323 // with no extended header we have to check the crc high-order byte
1324 char c = ((header.gpFlag[0] & 0x08) == 8) ? header.modTime[1] : header.crc >> 24; 1324 char c = ((header.gpFlag[0] & 0x08) == 8) ? header.modTime[1] : header.crc >> 24;
1325 1325
1326 return (lastByte == c); 1326 return (lastByte == c);
1327} 1327}
1328 1328
1329/*! 1329/*!
1330 \internal Decrypts an array of bytes long \p read. 1330 \internal Decrypts an array of bytes long \p read.
1331*/ 1331*/
1332void UnzipPrivate::decryptBytes(quint32* keys, char* buffer, qint64 read) 1332void UnzipPrivate::decryptBytes(quint32* keys, char* buffer, qint64 read)
1333{ 1333{
1334 for (int i=0; i<(int)read; ++i) 1334 for (int i=0; i<(int)read; ++i)
1335 updateKeys(keys, buffer[i] ^= decryptByte(keys[2])); 1335 updateKeys(keys, buffer[i] ^= decryptByte(keys[2]));
1336} 1336}
1337 1337
1338/*! 1338/*!
1339 \internal Converts date and time values from ZIP format to a QDateTime object. 1339 \internal Converts date and time values from ZIP format to a QDateTime object.
1340*/ 1340*/
1341QDateTime UnzipPrivate::convertDateTime(const unsigned char date[2], const unsigned char time[2]) const 1341QDateTime UnzipPrivate::convertDateTime(const unsigned char date[2], const unsigned char time[2]) const
1342{ 1342{
1343 QDateTime dt; 1343 QDateTime dt;
1344 1344
1345 // Usual PKZip low-byte to high-byte order 1345 // Usual PKZip low-byte to high-byte order
1346 1346
1347 // Date: 7 bits = years from 1980, 4 bits = month, 5 bits = day 1347 // Date: 7 bits = years from 1980, 4 bits = month, 5 bits = day
1348 quint16 year = (date[1] >> 1) & 127; 1348 quint16 year = (date[1] >> 1) & 127;
1349 quint16 month = ((date[1] << 3) & 14) | ((date[0] >> 5) & 7); 1349 quint16 month = ((date[1] << 3) & 14) | ((date[0] >> 5) & 7);
1350 quint16 day = date[0] & 31; 1350 quint16 day = date[0] & 31;
1351 1351
1352 // Time: 5 bits hour, 6 bits minutes, 5 bits seconds with a 2sec precision 1352 // Time: 5 bits hour, 6 bits minutes, 5 bits seconds with a 2sec precision
1353 quint16 hour = (time[1] >> 3) & 31; 1353 quint16 hour = (time[1] >> 3) & 31;
1354 quint16 minutes = ((time[1] << 3) & 56) | ((time[0] >> 5) & 7); 1354 quint16 minutes = ((time[1] << 3) & 56) | ((time[0] >> 5) & 7);
1355 quint16 seconds = (time[0] & 31) * 2; 1355 quint16 seconds = (time[0] & 31) * 2;
1356 1356
1357 dt.setDate(QDate(1980 + year, month, day)); 1357 dt.setDate(QDate(1980 + year, month, day));
1358 dt.setTime(QTime(hour, minutes, seconds)); 1358 dt.setTime(QTime(hour, minutes, seconds));
1359 return dt; 1359 return dt;
1360} 1360}
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 @@
1/**************************************************************************** 1/****************************************************************************
2** Filename: unzip.h 2** Filename: unzip.h
3** Last updated [dd/mm/yyyy]: 28/01/2007 3** Last updated [dd/mm/yyyy]: 28/01/2007
4** 4**
5** pkzip 2.0 decompression. 5** pkzip 2.0 decompression.
6** 6**
7** Some of the code has been inspired by other open source projects, 7** Some of the code has been inspired by other open source projects,
8** (mainly Info-Zip and Gilles Vollant's minizip). 8** (mainly Info-Zip and Gilles Vollant's minizip).
9** Compression and decompression actually uses the zlib library. 9** Compression and decompression actually uses the zlib library.
10** 10**
11** Copyright (C) 2007 Angius Fabrizio. All rights reserved. 11** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
12** 12**
13** This file is part of the OSDaB project (http://osdab.sourceforge.net/). 13** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22** 22**
23** See the file LICENSE.GPL that came with this software distribution or 23** See the file LICENSE.GPL that came with this software distribution or
24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information. 24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28#ifndef OSDAB_UNZIP__H 28#ifndef OSDAB_UNZIP__H
29#define OSDAB_UNZIP__H 29#define OSDAB_UNZIP__H
30 30
31#include <QtGlobal> 31#include <QtGlobal>
32#include <QMap> 32#include <QMap>
33#include <QDateTime> 33#include <QDateTime>
34 34
35#include <zlib/zlib.h> 35#include <zlib/zlib.h>
36 36
37class UnzipPrivate; 37class UnzipPrivate;
38class QIODevice; 38class QIODevice;
39class QFile; 39class QFile;
40class QDir; 40class QDir;
41class QStringList; 41class QStringList;
42class QString; 42class QString;
43 43
44 44
45class UnZip 45class UnZip
46{ 46{
47public: 47public:
48 enum ErrorCode 48 enum ErrorCode
49 { 49 {
50 Ok, 50 Ok,
51 ZlibInit, 51 ZlibInit,
52 ZlibError, 52 ZlibError,
53 OpenFailed, 53 OpenFailed,
54 PartiallyCorrupted, 54 PartiallyCorrupted,
55 Corrupted, 55 Corrupted,
56 WrongPassword, 56 WrongPassword,
57 NoOpenArchive, 57 NoOpenArchive,
58 FileNotFound, 58 FileNotFound,
59 ReadFailed, 59 ReadFailed,
60 WriteFailed, 60 WriteFailed,
61 SeekFailed, 61 SeekFailed,
62 CreateDirFailed, 62 CreateDirFailed,
63 InvalidDevice, 63 InvalidDevice,
64 InvalidArchive, 64 InvalidArchive,
65 HeaderConsistencyError, 65 HeaderConsistencyError,
66 66
67 Skip, SkipAll // internal use only 67 Skip, SkipAll // internal use only
68 }; 68 };
69 69
70 enum ExtractionOption 70 enum ExtractionOption
71 { 71 {
72 //! Extracts paths (default) 72 //! Extracts paths (default)
73 ExtractPaths = 0x0001, 73 ExtractPaths = 0x0001,
74 //! Ignores paths and extracts all the files to the same directory 74 //! Ignores paths and extracts all the files to the same directory
75 SkipPaths = 0x0002 75 SkipPaths = 0x0002
76 }; 76 };
77 Q_DECLARE_FLAGS(ExtractionOptions, ExtractionOption) 77 Q_DECLARE_FLAGS(ExtractionOptions, ExtractionOption)
78 78
79 enum CompressionMethod 79 enum CompressionMethod
80 { 80 {
81 NoCompression, Deflated, UnknownCompression 81 NoCompression, Deflated, UnknownCompression
82 }; 82 };
83 83
84 enum FileType 84 enum FileType
85 { 85 {
86 File, Directory 86 File, Directory
87 }; 87 };
88 88
89 typedef struct ZipEntry 89 typedef struct ZipEntry
90 { 90 {
91 ZipEntry(); 91 ZipEntry();
92 92
93 QString filename; 93 QString filename;
94 QString comment; 94 QString comment;
95 95
96 quint32 compressedSize; 96 quint32 compressedSize;
97 quint32 uncompressedSize; 97 quint32 uncompressedSize;
98 quint32 crc32; 98 quint32 crc32;
99 99
100 QDateTime lastModified; 100 QDateTime lastModified;
101 101
102 CompressionMethod compression; 102 CompressionMethod compression;
103 FileType type; 103 FileType type;
104 104
105 bool encrypted; 105 bool encrypted;
106 }; 106 };
107 107
108 UnZip(); 108 UnZip();
109 virtual ~UnZip(); 109 virtual ~UnZip();
110 110
111 bool isOpen() const; 111 bool isOpen() const;
112 112
113 ErrorCode openArchive(const QString& filename); 113 ErrorCode openArchive(const QString& filename);
114 ErrorCode openArchive(QIODevice* device); 114 ErrorCode openArchive(QIODevice* device);
115 void closeArchive(); 115 void closeArchive();
116 116
117 QString archiveComment() const; 117 QString archiveComment() const;
118 118
119 QString formatError(UnZip::ErrorCode c) const; 119 QString formatError(UnZip::ErrorCode c) const;
120 120
121 bool contains(const QString& file) const; 121 bool contains(const QString& file) const;
122 122
123 QStringList fileList() const; 123 QStringList fileList() const;
124 QList<ZipEntry> entryList() const; 124 QList<ZipEntry> entryList() const;
125 125
126 ErrorCode extractAll(const QString& dirname, ExtractionOptions options = ExtractPaths); 126 ErrorCode extractAll(const QString& dirname, ExtractionOptions options = ExtractPaths);
127 ErrorCode extractAll(const QDir& dir, ExtractionOptions options = ExtractPaths); 127 ErrorCode extractAll(const QDir& dir, ExtractionOptions options = ExtractPaths);
128 128
129 ErrorCode extractFile(const QString& filename, const QString& dirname, ExtractionOptions options = ExtractPaths); 129 ErrorCode extractFile(const QString& filename, const QString& dirname, ExtractionOptions options = ExtractPaths);
130 ErrorCode extractFile(const QString& filename, const QDir& dir, ExtractionOptions options = ExtractPaths); 130 ErrorCode extractFile(const QString& filename, const QDir& dir, ExtractionOptions options = ExtractPaths);
131 ErrorCode extractFile(const QString& filename, QIODevice* device, ExtractionOptions options = ExtractPaths); 131 ErrorCode extractFile(const QString& filename, QIODevice* device, ExtractionOptions options = ExtractPaths);
132 132
133 ErrorCode extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options = ExtractPaths); 133 ErrorCode extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options = ExtractPaths);
134 ErrorCode extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options = ExtractPaths); 134 ErrorCode extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options = ExtractPaths);
135 135
136 void setPassword(const QString& pwd); 136 void setPassword(const QString& pwd);
137 137
138private: 138private:
139 UnzipPrivate* d; 139 UnzipPrivate* d;
140}; 140};
141 141
142Q_DECLARE_OPERATORS_FOR_FLAGS(UnZip::ExtractionOptions) 142Q_DECLARE_OPERATORS_FOR_FLAGS(UnZip::ExtractionOptions)
143 143
144#endif // OSDAB_UNZIP__H 144#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 @@
1/**************************************************************************** 1/****************************************************************************
2** Filename: unzip_p.h 2** Filename: unzip_p.h
3** Last updated [dd/mm/yyyy]: 28/01/2007 3** Last updated [dd/mm/yyyy]: 28/01/2007
4** 4**
5** pkzip 2.0 decompression. 5** pkzip 2.0 decompression.
6** 6**
7** Some of the code has been inspired by other open source projects, 7** Some of the code has been inspired by other open source projects,
8** (mainly Info-Zip and Gilles Vollant's minizip). 8** (mainly Info-Zip and Gilles Vollant's minizip).
9** Compression and decompression actually uses the zlib library. 9** Compression and decompression actually uses the zlib library.
10** 10**
11** Copyright (C) 2007 Angius Fabrizio. All rights reserved. 11** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
12** 12**
13** This file is part of the OSDaB project (http://osdab.sourceforge.net/). 13** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22** 22**
23** See the file LICENSE.GPL that came with this software distribution or 23** See the file LICENSE.GPL that came with this software distribution or
24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information. 24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28// 28//
29// W A R N I N G 29// W A R N I N G
30// ------------- 30// -------------
31// 31//
32// This file is not part of the Zip/UnZip API. It exists purely as an 32// This file is not part of the Zip/UnZip API. It exists purely as an
33// implementation detail. This header file may change from version to 33// implementation detail. This header file may change from version to
34// version without notice, or even be removed. 34// version without notice, or even be removed.
35// 35//
36// We mean it. 36// We mean it.
37// 37//
38 38
39#ifndef OSDAB_UNZIP_P__H 39#ifndef OSDAB_UNZIP_P__H
40#define OSDAB_UNZIP_P__H 40#define OSDAB_UNZIP_P__H
41 41
42#include "unzip.h" 42#include "unzip.h"
43#include "zipentry_p.h" 43#include "zipentry_p.h"
44 44
45#include <QtGlobal> 45#include <QtGlobal>
46 46
47// zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate()) 47// zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate())
48// we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;) 48// we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;)
49#define UNZIP_READ_BUFFER (256*1024) 49#define UNZIP_READ_BUFFER (256*1024)
50 50
51class UnzipPrivate 51class UnzipPrivate
52{ 52{
53public: 53public:
54 UnzipPrivate(); 54 UnzipPrivate();
55 55
56 // Replace this with whatever else you use to store/retrieve the password. 56 // Replace this with whatever else you use to store/retrieve the password.
57 QString password; 57 QString password;
58 58
59 bool skipAllEncrypted; 59 bool skipAllEncrypted;
60 60
61 QMap<QString,ZipEntryP*>* headers; 61 QMap<QString,ZipEntryP*>* headers;
62 62
63 QIODevice* device; 63 QIODevice* device;
64 64
65 char buffer1[UNZIP_READ_BUFFER]; 65 char buffer1[UNZIP_READ_BUFFER];
66 char buffer2[UNZIP_READ_BUFFER]; 66 char buffer2[UNZIP_READ_BUFFER];
67 67
68 unsigned char* uBuffer; 68 unsigned char* uBuffer;
69 const quint32* crcTable; 69 const quint32* crcTable;
70 70
71 // Central Directory (CD) offset 71 // Central Directory (CD) offset
72 quint32 cdOffset; 72 quint32 cdOffset;
73 // End of Central Directory (EOCD) offset 73 // End of Central Directory (EOCD) offset
74 quint32 eocdOffset; 74 quint32 eocdOffset;
75 75
76 // Number of entries in the Central Directory (as to the EOCD record) 76 // Number of entries in the Central Directory (as to the EOCD record)
77 quint16 cdEntryCount; 77 quint16 cdEntryCount;
78 78
79 // The number of detected entries that have been skipped because of a non compatible format 79 // The number of detected entries that have been skipped because of a non compatible format
80 quint16 unsupportedEntryCount; 80 quint16 unsupportedEntryCount;
81 81
82 QString comment; 82 QString comment;
83 83
84 UnZip::ErrorCode openArchive(QIODevice* device); 84 UnZip::ErrorCode openArchive(QIODevice* device);
85 85
86 UnZip::ErrorCode seekToCentralDirectory(); 86 UnZip::ErrorCode seekToCentralDirectory();
87 UnZip::ErrorCode parseCentralDirectoryRecord(); 87 UnZip::ErrorCode parseCentralDirectoryRecord();
88 UnZip::ErrorCode parseLocalHeaderRecord(const QString& path, ZipEntryP& entry); 88 UnZip::ErrorCode parseLocalHeaderRecord(const QString& path, ZipEntryP& entry);
89 89
90 void closeArchive(); 90 void closeArchive();
91 91
92 UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options); 92 UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options);
93 UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, QIODevice* device, UnZip::ExtractionOptions options); 93 UnZip::ErrorCode extractFile(const QString& path, ZipEntryP& entry, QIODevice* device, UnZip::ExtractionOptions options);
94 94
95 UnZip::ErrorCode testPassword(quint32* keys, const QString& file, const ZipEntryP& header); 95 UnZip::ErrorCode testPassword(quint32* keys, const QString& file, const ZipEntryP& header);
96 bool testKeys(const ZipEntryP& header, quint32* keys); 96 bool testKeys(const ZipEntryP& header, quint32* keys);
97 97
98 bool createDirectory(const QString& path); 98 bool createDirectory(const QString& path);
99 99
100 inline void decryptBytes(quint32* keys, char* buffer, qint64 read); 100 inline void decryptBytes(quint32* keys, char* buffer, qint64 read);
101 101
102 inline quint32 getULong(const unsigned char* data, quint32 offset) const; 102 inline quint32 getULong(const unsigned char* data, quint32 offset) const;
103 inline quint64 getULLong(const unsigned char* data, quint32 offset) const; 103 inline quint64 getULLong(const unsigned char* data, quint32 offset) const;
104 inline quint16 getUShort(const unsigned char* data, quint32 offset) const; 104 inline quint16 getUShort(const unsigned char* data, quint32 offset) const;
105 inline int decryptByte(quint32 key2) const; 105 inline int decryptByte(quint32 key2) const;
106 inline void updateKeys(quint32* keys, int c) const; 106 inline void updateKeys(quint32* keys, int c) const;
107 inline void initKeys(const QString& pwd, quint32* keys) const; 107 inline void initKeys(const QString& pwd, quint32* keys) const;
108 108
109 inline QDateTime convertDateTime(const unsigned char date[2], const unsigned char time[2]) const; 109 inline QDateTime convertDateTime(const unsigned char date[2], const unsigned char time[2]) const;
110}; 110};
111 111
112#endif // OSDAB_UNZIP_P__H 112#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 @@
1/**************************************************************************** 1/****************************************************************************
2** Filename: zip.cpp 2** Filename: zip.cpp
3** Last updated [dd/mm/yyyy]: 01/02/2007 3** Last updated [dd/mm/yyyy]: 01/02/2007
4** 4**
5** pkzip 2.0 file compression. 5** pkzip 2.0 file compression.
6** 6**
7** Some of the code has been inspired by other open source projects, 7** Some of the code has been inspired by other open source projects,
8** (mainly Info-Zip and Gilles Vollant's minizip). 8** (mainly Info-Zip and Gilles Vollant's minizip).
9** Compression and decompression actually uses the zlib library. 9** Compression and decompression actually uses the zlib library.
10** 10**
11** Copyright (C) 2007 Angius Fabrizio. All rights reserved. 11** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
12** 12**
13** This file is part of the OSDaB project (http://osdab.sourceforge.net/). 13** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22** 22**
23** See the file LICENSE.GPL that came with this software distribution or 23** See the file LICENSE.GPL that came with this software distribution or
24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information. 24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28#include "zip.h" 28#include "zip.h"
29#include "zip_p.h" 29#include "zip_p.h"
30#include "zipentry_p.h" 30#include "zipentry_p.h"
31 31
32// we only use this to seed the random number generator 32// we only use this to seed the random number generator
33#include <time.h> 33#include <time.h>
34 34
35#include <QMap> 35#include <QMap>
36#include <QString> 36#include <QString>
37#include <QStringList> 37#include <QStringList>
38#include <QDir> 38#include <QDir>
39#include <QFile> 39#include <QFile>
40#include <QDateTime> 40#include <QDateTime>
41#include <QCoreApplication> 41#include <QCoreApplication>
42 42
43// You can remove this #include if you replace the qDebug() statements. 43// You can remove this #include if you replace the qDebug() statements.
44#include <QtDebug> 44#include <QtDebug>
45 45
46//! Local header size (including signature, excluding variable length fields) 46//! Local header size (including signature, excluding variable length fields)
47#define ZIP_LOCAL_HEADER_SIZE 30 47#define ZIP_LOCAL_HEADER_SIZE 30
48//! Encryption header size 48//! Encryption header size
49#define ZIP_LOCAL_ENC_HEADER_SIZE 12 49#define ZIP_LOCAL_ENC_HEADER_SIZE 12
50//! Data descriptor size (signature included) 50//! Data descriptor size (signature included)
51#define ZIP_DD_SIZE_WS 16 51#define ZIP_DD_SIZE_WS 16
52//! Central Directory record size (signature included) 52//! Central Directory record size (signature included)
53#define ZIP_CD_SIZE 46 53#define ZIP_CD_SIZE 46
54//! End of Central Directory record size (signature included) 54//! End of Central Directory record size (signature included)
55#define ZIP_EOCD_SIZE 22 55#define ZIP_EOCD_SIZE 22
56 56
57// Some offsets inside a local header record (signature included) 57// Some offsets inside a local header record (signature included)
58#define ZIP_LH_OFF_VERS 4 58#define ZIP_LH_OFF_VERS 4
59#define ZIP_LH_OFF_GPFLAG 6 59#define ZIP_LH_OFF_GPFLAG 6
60#define ZIP_LH_OFF_CMET 8 60#define ZIP_LH_OFF_CMET 8
61#define ZIP_LH_OFF_MODT 10 61#define ZIP_LH_OFF_MODT 10
62#define ZIP_LH_OFF_MODD 12 62#define ZIP_LH_OFF_MODD 12
63#define ZIP_LH_OFF_CRC 14 63#define ZIP_LH_OFF_CRC 14
64#define ZIP_LH_OFF_CSIZE 18 64#define ZIP_LH_OFF_CSIZE 18
65#define ZIP_LH_OFF_USIZE 22 65#define ZIP_LH_OFF_USIZE 22
66#define ZIP_LH_OFF_NAMELEN 26 66#define ZIP_LH_OFF_NAMELEN 26
67#define ZIP_LH_OFF_XLEN 28 67#define ZIP_LH_OFF_XLEN 28
68 68
69// Some offsets inside a data descriptor record (including signature) 69// Some offsets inside a data descriptor record (including signature)
70#define ZIP_DD_OFF_CRC32 4 70#define ZIP_DD_OFF_CRC32 4
71#define ZIP_DD_OFF_CSIZE 8 71#define ZIP_DD_OFF_CSIZE 8
72#define ZIP_DD_OFF_USIZE 12 72#define ZIP_DD_OFF_USIZE 12
73 73
74// Some offsets inside a Central Directory record (including signature) 74// Some offsets inside a Central Directory record (including signature)
75#define ZIP_CD_OFF_MADEBY 4 75#define ZIP_CD_OFF_MADEBY 4
76#define ZIP_CD_OFF_VERSION 6 76#define ZIP_CD_OFF_VERSION 6
77#define ZIP_CD_OFF_GPFLAG 8 77#define ZIP_CD_OFF_GPFLAG 8
78#define ZIP_CD_OFF_CMET 10 78#define ZIP_CD_OFF_CMET 10
79#define ZIP_CD_OFF_MODT 12 79#define ZIP_CD_OFF_MODT 12
80#define ZIP_CD_OFF_MODD 14 80#define ZIP_CD_OFF_MODD 14
81#define ZIP_CD_OFF_CRC 16 81#define ZIP_CD_OFF_CRC 16
82#define ZIP_CD_OFF_CSIZE 20 82#define ZIP_CD_OFF_CSIZE 20
83#define ZIP_CD_OFF_USIZE 24 83#define ZIP_CD_OFF_USIZE 24
84#define ZIP_CD_OFF_NAMELEN 28 84#define ZIP_CD_OFF_NAMELEN 28
85#define ZIP_CD_OFF_XLEN 30 85#define ZIP_CD_OFF_XLEN 30
86#define ZIP_CD_OFF_COMMLEN 32 86#define ZIP_CD_OFF_COMMLEN 32
87#define ZIP_CD_OFF_DISKSTART 34 87#define ZIP_CD_OFF_DISKSTART 34
88#define ZIP_CD_OFF_IATTR 36 88#define ZIP_CD_OFF_IATTR 36
89#define ZIP_CD_OFF_EATTR 38 89#define ZIP_CD_OFF_EATTR 38
90#define ZIP_CD_OFF_LHOFF 42 90#define ZIP_CD_OFF_LHOFF 42
91 91
92// Some offsets inside a EOCD record (including signature) 92// Some offsets inside a EOCD record (including signature)
93#define ZIP_EOCD_OFF_DISKNUM 4 93#define ZIP_EOCD_OFF_DISKNUM 4
94#define ZIP_EOCD_OFF_CDDISKNUM 6 94#define ZIP_EOCD_OFF_CDDISKNUM 6
95#define ZIP_EOCD_OFF_ENTRIES 8 95#define ZIP_EOCD_OFF_ENTRIES 8
96#define ZIP_EOCD_OFF_CDENTRIES 10 96#define ZIP_EOCD_OFF_CDENTRIES 10
97#define ZIP_EOCD_OFF_CDSIZE 12 97#define ZIP_EOCD_OFF_CDSIZE 12
98#define ZIP_EOCD_OFF_CDOFF 16 98#define ZIP_EOCD_OFF_CDOFF 16
99#define ZIP_EOCD_OFF_COMMLEN 20 99#define ZIP_EOCD_OFF_COMMLEN 20
100 100
101//! PKZip version for archives created by this API 101//! PKZip version for archives created by this API
102#define ZIP_VERSION 0x14 102#define ZIP_VERSION 0x14
103 103
104//! Do not store very small files as the compression headers overhead would be to big 104//! Do not store very small files as the compression headers overhead would be to big
105#define ZIP_COMPRESSION_THRESHOLD 60 105#define ZIP_COMPRESSION_THRESHOLD 60
106 106
107//! This macro updates a one-char-only CRC; it's the Info-Zip macro re-adapted 107//! This macro updates a one-char-only CRC; it's the Info-Zip macro re-adapted
108#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8) 108#define CRC32(c, b) crcTable[((int)c^b) & 0xff] ^ (c >> 8)
109 109
110/*! 110/*!
111 \class Zip zip.h 111 \class Zip zip.h
112 112
113 \brief Zip file compression. 113 \brief Zip file compression.
114 114
115 Some quick usage examples. 115 Some quick usage examples.
116 116
117 \verbatim 117 \verbatim
118 Suppose you have this directory structure: 118 Suppose you have this directory structure:
119 119
120 /root/dir1/ 120 /root/dir1/
121 /root/dir1/file1.1 121 /root/dir1/file1.1
122 /root/dir1/file1.2 122 /root/dir1/file1.2
123 /root/dir1/dir1.1/ 123 /root/dir1/dir1.1/
124 /root/dir1/dir1.2/file1.2.1 124 /root/dir1/dir1.2/file1.2.1
125 125
126 EXAMPLE 1: 126 EXAMPLE 1:
127 myZipInstance.addDirectory("/root/dir1"); 127 myZipInstance.addDirectory("/root/dir1");
128 128
129 RESULT: 129 RESULT:
130 Beheaves like any common zip software and creates a zip file with this structure: 130 Beheaves like any common zip software and creates a zip file with this structure:
131 131
132 dir1/ 132 dir1/
133 dir1/file1.1 133 dir1/file1.1
134 dir1/file1.2 134 dir1/file1.2
135 dir1/dir1.1/ 135 dir1/dir1.1/
136 dir1/dir1.2/file1.2.1 136 dir1/dir1.2/file1.2.1
137 137
138 EXAMPLE 2: 138 EXAMPLE 2:
139 myZipInstance.addDirectory("/root/dir1", "myRoot/myFolder"); 139 myZipInstance.addDirectory("/root/dir1", "myRoot/myFolder");
140 140
141 RESULT: 141 RESULT:
142 Adds a custom root to the paths and creates a zip file with this structure: 142 Adds a custom root to the paths and creates a zip file with this structure:
143 143
144 myRoot/myFolder/dir1/ 144 myRoot/myFolder/dir1/
145 myRoot/myFolder/dir1/file1.1 145 myRoot/myFolder/dir1/file1.1
146 myRoot/myFolder/dir1/file1.2 146 myRoot/myFolder/dir1/file1.2
147 myRoot/myFolder/dir1/dir1.1/ 147 myRoot/myFolder/dir1/dir1.1/
148 myRoot/myFolder/dir1/dir1.2/file1.2.1 148 myRoot/myFolder/dir1/dir1.2/file1.2.1
149 149
150 EXAMPLE 3: 150 EXAMPLE 3:
151 myZipInstance.addDirectory("/root/dir1", Zip::AbsolutePaths); 151 myZipInstance.addDirectory("/root/dir1", Zip::AbsolutePaths);
152 152
153 NOTE: 153 NOTE:
154 Same as calling addDirectory(SOME_PATH, PARENT_PATH_of_SOME_PATH). 154 Same as calling addDirectory(SOME_PATH, PARENT_PATH_of_SOME_PATH).
155 155
156 RESULT: 156 RESULT:
157 Preserves absolute paths and creates a zip file with this structure: 157 Preserves absolute paths and creates a zip file with this structure:
158 158
159 /root/dir1/ 159 /root/dir1/
160 /root/dir1/file1.1 160 /root/dir1/file1.1
161 /root/dir1/file1.2 161 /root/dir1/file1.2
162 /root/dir1/dir1.1/ 162 /root/dir1/dir1.1/
163 /root/dir1/dir1.2/file1.2.1 163 /root/dir1/dir1.2/file1.2.1
164 164
165 EXAMPLE 4: 165 EXAMPLE 4:
166 myZipInstance.setPassword("hellopass"); 166 myZipInstance.setPassword("hellopass");
167 myZipInstance.addDirectory("/root/dir1", "/"); 167 myZipInstance.addDirectory("/root/dir1", "/");
168 168
169 RESULT: 169 RESULT:
170 Adds and encrypts the files in /root/dir1, creating the following zip structure: 170 Adds and encrypts the files in /root/dir1, creating the following zip structure:
171 171
172 /dir1/ 172 /dir1/
173 /dir1/file1.1 173 /dir1/file1.1
174 /dir1/file1.2 174 /dir1/file1.2
175 /dir1/dir1.1/ 175 /dir1/dir1.1/
176 /dir1/dir1.2/file1.2.1 176 /dir1/dir1.2/file1.2.1
177 177
178 \endverbatim 178 \endverbatim
179*/ 179*/
180 180
181/*! \enum Zip::ErrorCode The result of a compression operation. 181/*! \enum Zip::ErrorCode The result of a compression operation.
182 \value Zip::Ok No error occurred. 182 \value Zip::Ok No error occurred.
183 \value Zip::ZlibInit Failed to init or load the zlib library. 183 \value Zip::ZlibInit Failed to init or load the zlib library.
184 \value Zip::ZlibError The zlib library returned some error. 184 \value Zip::ZlibError The zlib library returned some error.
185 \value Zip::FileExists The file already exists and will not be overwritten. 185 \value Zip::FileExists The file already exists and will not be overwritten.
186 \value Zip::OpenFailed Unable to create or open a device. 186 \value Zip::OpenFailed Unable to create or open a device.
187 \value Zip::NoOpenArchive CreateArchive() has not been called yet. 187 \value Zip::NoOpenArchive CreateArchive() has not been called yet.
188 \value Zip::FileNotFound File or directory does not exist. 188 \value Zip::FileNotFound File or directory does not exist.
189 \value Zip::ReadFailed Reading of a file failed. 189 \value Zip::ReadFailed Reading of a file failed.
190 \value Zip::WriteFailed Writing of a file failed. 190 \value Zip::WriteFailed Writing of a file failed.
191 \value Zip::SeekFailed Seek failed. 191 \value Zip::SeekFailed Seek failed.
192*/ 192*/
193 193
194/*! \enum Zip::CompressionLevel Returns the result of a decompression operation. 194/*! \enum Zip::CompressionLevel Returns the result of a decompression operation.
195 \value Zip::Store No compression. 195 \value Zip::Store No compression.
196 \value Zip::Deflate1 Deflate compression level 1(lowest compression). 196 \value Zip::Deflate1 Deflate compression level 1(lowest compression).
197 \value Zip::Deflate1 Deflate compression level 2. 197 \value Zip::Deflate1 Deflate compression level 2.
198 \value Zip::Deflate1 Deflate compression level 3. 198 \value Zip::Deflate1 Deflate compression level 3.
199 \value Zip::Deflate1 Deflate compression level 4. 199 \value Zip::Deflate1 Deflate compression level 4.
200 \value Zip::Deflate1 Deflate compression level 5. 200 \value Zip::Deflate1 Deflate compression level 5.
201 \value Zip::Deflate1 Deflate compression level 6. 201 \value Zip::Deflate1 Deflate compression level 6.
202 \value Zip::Deflate1 Deflate compression level 7. 202 \value Zip::Deflate1 Deflate compression level 7.
203 \value Zip::Deflate1 Deflate compression level 8. 203 \value Zip::Deflate1 Deflate compression level 8.
204 \value Zip::Deflate1 Deflate compression level 9 (maximum compression). 204 \value Zip::Deflate1 Deflate compression level 9 (maximum compression).
205 \value Zip::AutoCPU Adapt compression level to CPU speed (faster CPU => better compression). 205 \value Zip::AutoCPU Adapt compression level to CPU speed (faster CPU => better compression).
206 \value Zip::AutoMIME Adapt compression level to MIME type of the file being compressed. 206 \value Zip::AutoMIME Adapt compression level to MIME type of the file being compressed.
207 \value Zip::AutoFull Use both CPU and MIME type detection. 207 \value Zip::AutoFull Use both CPU and MIME type detection.
208*/ 208*/
209 209
210 210
211/************************************************************************ 211/************************************************************************
212 Public interface 212 Public interface
213*************************************************************************/ 213*************************************************************************/
214 214
215/*! 215/*!
216 Creates a new Zip file compressor. 216 Creates a new Zip file compressor.
217*/ 217*/
218Zip::Zip() 218Zip::Zip()
219{ 219{
220 d = new ZipPrivate; 220 d = new ZipPrivate;
221} 221}
222 222
223/*! 223/*!
224 Closes any open archive and releases used resources. 224 Closes any open archive and releases used resources.
225*/ 225*/
226Zip::~Zip() 226Zip::~Zip()
227{ 227{
228 closeArchive(); 228 closeArchive();
229 delete d; 229 delete d;
230} 230}
231 231
232/*! 232/*!
233 Returns true if there is an open archive. 233 Returns true if there is an open archive.
234*/ 234*/
235bool Zip::isOpen() const 235bool Zip::isOpen() const
236{ 236{
237 return d->device != 0; 237 return d->device != 0;
238} 238}
239 239
240/*! 240/*!
241 Sets the password to be used for the next files being added! 241 Sets the password to be used for the next files being added!
242 Files added before calling this method will use the previously 242 Files added before calling this method will use the previously
243 set password (if any). 243 set password (if any).
244 Closing the archive won't clear the password! 244 Closing the archive won't clear the password!
245*/ 245*/
246void Zip::setPassword(const QString& pwd) 246void Zip::setPassword(const QString& pwd)
247{ 247{
248 d->password = pwd; 248 d->password = pwd;
249} 249}
250 250
251//! Convenience method, clears the current password. 251//! Convenience method, clears the current password.
252void Zip::clearPassword() 252void Zip::clearPassword()
253{ 253{
254 d->password.clear(); 254 d->password.clear();
255} 255}
256 256
257//! Returns the currently used password. 257//! Returns the currently used password.
258QString Zip::password() const 258QString Zip::password() const
259{ 259{
260 return d->password; 260 return d->password;
261} 261}
262 262
263/*! 263/*!
264 Attempts to create a new Zip archive. If \p overwrite is true and the file 264 Attempts to create a new Zip archive. If \p overwrite is true and the file
265 already exist it will be overwritten. 265 already exist it will be overwritten.
266 Any open archive will be closed. 266 Any open archive will be closed.
267 */ 267 */
268Zip::ErrorCode Zip::createArchive(const QString& filename, bool overwrite) 268Zip::ErrorCode Zip::createArchive(const QString& filename, bool overwrite)
269{ 269{
270 QFile* file = new QFile(filename); 270 QFile* file = new QFile(filename);
271 271
272 if (file->exists() && !overwrite) { 272 if (file->exists() && !overwrite) {
273 delete file; 273 delete file;
274 return Zip::FileExists; 274 return Zip::FileExists;
275 } 275 }
276 276
277 if (!file->open(QIODevice::WriteOnly)) { 277 if (!file->open(QIODevice::WriteOnly)) {
278 delete file; 278 delete file;
279 return Zip::OpenFailed; 279 return Zip::OpenFailed;
280 } 280 }
281 281
282 Zip::ErrorCode ec = createArchive(file); 282 Zip::ErrorCode ec = createArchive(file);
283 if (ec != Zip::Ok) { 283 if (ec != Zip::Ok) {
284 file->remove(); 284 file->remove();
285 } 285 }
286 286
287 return ec; 287 return ec;
288} 288}
289 289
290/*! 290/*!
291 Attempts to create a new Zip archive. If there is another open archive this will be closed. 291 Attempts to create a new Zip archive. If there is another open archive this will be closed.
292 \warning The class takes ownership of the device! 292 \warning The class takes ownership of the device!
293 */ 293 */
294Zip::ErrorCode Zip::createArchive(QIODevice* device) 294Zip::ErrorCode Zip::createArchive(QIODevice* device)
295{ 295{
296 if (device == 0) 296 if (device == 0)
297 { 297 {
298 qDebug() << "Invalid device."; 298 qDebug() << "Invalid device.";
299 return Zip::OpenFailed; 299 return Zip::OpenFailed;
300 } 300 }
301 301
302 return d->createArchive(device); 302 return d->createArchive(device);
303} 303}
304 304
305/*! 305/*!
306 Returns the current archive comment. 306 Returns the current archive comment.
307*/ 307*/
308QString Zip::archiveComment() const 308QString Zip::archiveComment() const
309{ 309{
310 return d->comment; 310 return d->comment;
311} 311}
312 312
313/*! 313/*!
314 Sets the comment for this archive. Note: createArchive() should have been 314 Sets the comment for this archive. Note: createArchive() should have been
315 called before. 315 called before.
316*/ 316*/
317void Zip::setArchiveComment(const QString& comment) 317void Zip::setArchiveComment(const QString& comment)
318{ 318{
319 if (d->device != 0) 319 if (d->device != 0)
320 d->comment = comment; 320 d->comment = comment;
321} 321}
322 322
323/*! 323/*!
324 Convenience method, same as calling 324 Convenience method, same as calling
325 Zip::addDirectory(const QString&,const QString&,CompressionLevel) 325 Zip::addDirectory(const QString&,const QString&,CompressionLevel)
326 with an empty \p root parameter (or with the parent directory of \p path if the 326 with an empty \p root parameter (or with the parent directory of \p path if the
327 AbsolutePaths options is set). 327 AbsolutePaths options is set).
328 328
329 The ExtractionOptions are checked in the order they are defined in the zip.h heaser file. 329 The ExtractionOptions are checked in the order they are defined in the zip.h heaser file.
330 This means that the last one overwrites the previous one (if some conflict occurs), i.e. 330 This means that the last one overwrites the previous one (if some conflict occurs), i.e.
331 Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths. 331 Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths.
332 */ 332 */
333Zip::ErrorCode Zip::addDirectory(const QString& path, CompressionOptions options, CompressionLevel level) 333Zip::ErrorCode Zip::addDirectory(const QString& path, CompressionOptions options, CompressionLevel level)
334{ 334{
335 return addDirectory(path, QString(), options, level); 335 return addDirectory(path, QString(), options, level);
336} 336}
337 337
338/*! 338/*!
339 Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel) 339 Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
340 with the Zip::RelativePaths flag as compression option. 340 with the Zip::RelativePaths flag as compression option.
341 */ 341 */
342Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionLevel level) 342Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionLevel level)
343{ 343{
344 return addDirectory(path, root, Zip::RelativePaths, level); 344 return addDirectory(path, root, Zip::RelativePaths, level);
345} 345}
346 346
347/*! 347/*!
348 Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel) 348 Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
349 with the Zip::IgnorePaths flag as compression option and an empty \p root parameter. 349 with the Zip::IgnorePaths flag as compression option and an empty \p root parameter.
350*/ 350*/
351Zip::ErrorCode Zip::addDirectoryContents(const QString& path, CompressionLevel level) 351Zip::ErrorCode Zip::addDirectoryContents(const QString& path, CompressionLevel level)
352{ 352{
353 return addDirectory(path, QString(), IgnorePaths, level); 353 return addDirectory(path, QString(), IgnorePaths, level);
354} 354}
355 355
356/*! 356/*!
357 Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel) 357 Convenience method, same as calling Zip::addDirectory(const QString&,const QString&,CompressionOptions,CompressionLevel)
358 with the Zip::IgnorePaths flag as compression option. 358 with the Zip::IgnorePaths flag as compression option.
359*/ 359*/
360Zip::ErrorCode Zip::addDirectoryContents(const QString& path, const QString& root, CompressionLevel level) 360Zip::ErrorCode Zip::addDirectoryContents(const QString& path, const QString& root, CompressionLevel level)
361{ 361{
362 return addDirectory(path, root, IgnorePaths, level); 362 return addDirectory(path, root, IgnorePaths, level);
363} 363}
364 364
365/*! 365/*!
366 Recursively adds files contained in \p dir to the archive, using \p root as name for the root folder. 366 Recursively adds files contained in \p dir to the archive, using \p root as name for the root folder.
367 Stops adding files if some error occurs. 367 Stops adding files if some error occurs.
368 368
369 The ExtractionOptions are checked in the order they are defined in the zip.h heaser file. 369 The ExtractionOptions are checked in the order they are defined in the zip.h heaser file.
370 This means that the last one overwrites the previous one (if some conflict occurs), i.e. 370 This means that the last one overwrites the previous one (if some conflict occurs), i.e.
371 Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths. 371 Zip::IgnorePaths | Zip::AbsolutePaths would be interpreted as Zip::IgnorePaths.
372 372
373 The \p root parameter is ignored with the Zip::IgnorePaths parameter and used as path prefix (a trailing / 373 The \p root parameter is ignored with the Zip::IgnorePaths parameter and used as path prefix (a trailing /
374 is always added as directory separator!) otherwise (even with Zip::AbsolutePaths set!). 374 is always added as directory separator!) otherwise (even with Zip::AbsolutePaths set!).
375*/ 375*/
376Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionOptions options, CompressionLevel level) 376Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionOptions options, CompressionLevel level)
377{ 377{
378 // qDebug() << QString("addDir(path=%1, root=%2)").arg(path, root); 378 // qDebug() << QString("addDir(path=%1, root=%2)").arg(path, root);
379 379
380 // Bad boy didn't call createArchive() yet :) 380 // Bad boy didn't call createArchive() yet :)
381 if (d->device == 0) 381 if (d->device == 0)
382 return Zip::NoOpenArchive; 382 return Zip::NoOpenArchive;
383 383
384 QDir dir(path); 384 QDir dir(path);
385 if (!dir.exists()) 385 if (!dir.exists())
386 return Zip::FileNotFound; 386 return Zip::FileNotFound;
387 387
388 // Remove any trailing separator 388 // Remove any trailing separator
389 QString actualRoot = root.trimmed(); 389 QString actualRoot = root.trimmed();
390 390
391 // Preserve Unix root 391 // Preserve Unix root
392 if (actualRoot != "/") 392 if (actualRoot != "/")
393 { 393 {
394 while (actualRoot.endsWith("/") || actualRoot.endsWith("\\")) 394 while (actualRoot.endsWith("/") || actualRoot.endsWith("\\"))
395 actualRoot.truncate(actualRoot.length() - 1); 395 actualRoot.truncate(actualRoot.length() - 1);
396 } 396 }
397 397
398 // QDir::cleanPath() fixes some issues with QDir::dirName() 398 // QDir::cleanPath() fixes some issues with QDir::dirName()
399 QFileInfo current(QDir::cleanPath(path)); 399 QFileInfo current(QDir::cleanPath(path));
400 400
401 if (!actualRoot.isEmpty() && actualRoot != "/") 401 if (!actualRoot.isEmpty() && actualRoot != "/")
402 actualRoot.append("/"); 402 actualRoot.append("/");
403 403
404 /* This part is quite confusing and needs some test or check */ 404 /* This part is quite confusing and needs some test or check */
405 /* An attempt to compress the / root directory evtl. using a root prefix should be a good test */ 405 /* An attempt to compress the / root directory evtl. using a root prefix should be a good test */
406 if (options.testFlag(AbsolutePaths) && !options.testFlag(IgnorePaths)) 406 if (options.testFlag(AbsolutePaths) && !options.testFlag(IgnorePaths))
407 { 407 {
408 QString absolutePath = d->extractRoot(path); 408 QString absolutePath = d->extractRoot(path);
409 if (!absolutePath.isEmpty() && absolutePath != "/") 409 if (!absolutePath.isEmpty() && absolutePath != "/")
410 absolutePath.append("/"); 410 absolutePath.append("/");
411 actualRoot.append(absolutePath); 411 actualRoot.append(absolutePath);
412 } 412 }
413 413
414 if (!options.testFlag(IgnorePaths)) 414 if (!options.testFlag(IgnorePaths))
415 { 415 {
416 actualRoot = actualRoot.append(QDir(current.absoluteFilePath()).dirName()); 416 actualRoot = actualRoot.append(QDir(current.absoluteFilePath()).dirName());
417 actualRoot.append("/"); 417 actualRoot.append("/");
418 } 418 }
419 419
420 // actualRoot now contains the path of the file relative to the zip archive 420 // actualRoot now contains the path of the file relative to the zip archive
421 // with a trailing / 421 // with a trailing /
422 422
423 QFileInfoList list = dir.entryInfoList( 423 QFileInfoList list = dir.entryInfoList(
424 QDir::Files | 424 QDir::Files |
425 QDir::Dirs | 425 QDir::Dirs |
426 QDir::NoDotAndDotDot | 426 QDir::NoDotAndDotDot |
427 QDir::NoSymLinks); 427 QDir::NoSymLinks);
428 428
429 ErrorCode ec = Zip::Ok; 429 ErrorCode ec = Zip::Ok;
430 bool filesAdded = false; 430 bool filesAdded = false;
431 431
432 CompressionOptions recursionOptions; 432 CompressionOptions recursionOptions;
433 if (options.testFlag(IgnorePaths)) 433 if (options.testFlag(IgnorePaths))
434 recursionOptions |= IgnorePaths; 434 recursionOptions |= IgnorePaths;
435 else recursionOptions |= RelativePaths; 435 else recursionOptions |= RelativePaths;
436 436
437 for (int i = 0; i < list.size() && ec == Zip::Ok; ++i) 437 for (int i = 0; i < list.size() && ec == Zip::Ok; ++i)
438 { 438 {
439 QFileInfo info = list.at(i); 439 QFileInfo info = list.at(i);
440 440
441 if (info.isDir()) 441 if (info.isDir())
442 { 442 {
443 // Recursion :) 443 // Recursion :)
444 progress(); 444 progress();
445 ec = addDirectory(info.absoluteFilePath(), actualRoot, recursionOptions, level); 445 ec = addDirectory(info.absoluteFilePath(), actualRoot, recursionOptions, level);
446 } 446 }
447 else 447 else
448 { 448 {
449 progress(); 449 progress();
450 ec = d->createEntry(info, actualRoot, level); 450 ec = d->createEntry(info, actualRoot, level);
451 filesAdded = true; 451 filesAdded = true;
452 } 452 }
453 } 453 }
454 454
455 455
456 // We need an explicit record for this dir 456 // We need an explicit record for this dir
457 // Non-empty directories don't need it because they have a path component in the filename 457 // Non-empty directories don't need it because they have a path component in the filename
458 if (!filesAdded && !options.testFlag(IgnorePaths)) 458 if (!filesAdded && !options.testFlag(IgnorePaths))
459 ec = d->createEntry(current, actualRoot, level); 459 ec = d->createEntry(current, actualRoot, level);
460 460
461 return ec; 461 return ec;
462} 462}
463 463
464/*! 464/*!
465 Closes the archive and writes any pending data. 465 Closes the archive and writes any pending data.
466*/ 466*/
467Zip::ErrorCode Zip::closeArchive() 467Zip::ErrorCode Zip::closeArchive()
468{ 468{
469 Zip::ErrorCode ec = d->closeArchive(); 469 Zip::ErrorCode ec = d->closeArchive();
470 d->reset(); 470 d->reset();
471 return ec; 471 return ec;
472} 472}
473 473
474/*! 474/*!
475 Returns a locale translated error string for a given error code. 475 Returns a locale translated error string for a given error code.
476*/ 476*/
477QString Zip::formatError(Zip::ErrorCode c) const 477QString Zip::formatError(Zip::ErrorCode c) const
478{ 478{
479 switch (c) 479 switch (c)
480 { 480 {
481 case Ok: return QCoreApplication::translate("Zip", "ZIP operation completed successfully."); break; 481 case Ok: return QCoreApplication::translate("Zip", "ZIP operation completed successfully."); break;
482 case ZlibInit: return QCoreApplication::translate("Zip", "Failed to initialize or load zlib library."); break; 482 case ZlibInit: return QCoreApplication::translate("Zip", "Failed to initialize or load zlib library."); break;
483 case ZlibError: return QCoreApplication::translate("Zip", "zlib library error."); break; 483 case ZlibError: return QCoreApplication::translate("Zip", "zlib library error."); break;
484 case OpenFailed: return QCoreApplication::translate("Zip", "Unable to create or open file."); break; 484 case OpenFailed: return QCoreApplication::translate("Zip", "Unable to create or open file."); break;
485 case NoOpenArchive: return QCoreApplication::translate("Zip", "No archive has been created yet."); break; 485 case NoOpenArchive: return QCoreApplication::translate("Zip", "No archive has been created yet."); break;
486 case FileNotFound: return QCoreApplication::translate("Zip", "File or directory does not exist."); break; 486 case FileNotFound: return QCoreApplication::translate("Zip", "File or directory does not exist."); break;
487 case ReadFailed: return QCoreApplication::translate("Zip", "File read error."); break; 487 case ReadFailed: return QCoreApplication::translate("Zip", "File read error."); break;
488 case WriteFailed: return QCoreApplication::translate("Zip", "File write error."); break; 488 case WriteFailed: return QCoreApplication::translate("Zip", "File write error."); break;
489 case SeekFailed: return QCoreApplication::translate("Zip", "File seek error."); break; 489 case SeekFailed: return QCoreApplication::translate("Zip", "File seek error."); break;
490 default: ; 490 default: ;
491 } 491 }
492 492
493 return QCoreApplication::translate("Zip", "Unknown error."); 493 return QCoreApplication::translate("Zip", "Unknown error.");
494} 494}
495 495
496 496
497/************************************************************************ 497/************************************************************************
498 Private interface 498 Private interface
499*************************************************************************/ 499*************************************************************************/
500 500
501//! \internal 501//! \internal
502ZipPrivate::ZipPrivate() 502ZipPrivate::ZipPrivate()
503{ 503{
504 headers = 0; 504 headers = 0;
505 device = 0; 505 device = 0;
506 506
507 // keep an unsigned pointer so we avoid to over bloat the code with casts 507 // keep an unsigned pointer so we avoid to over bloat the code with casts
508 uBuffer = (unsigned char*) buffer1; 508 uBuffer = (unsigned char*) buffer1;
509 crcTable = (quint32*) get_crc_table(); 509 crcTable = (quint32*) get_crc_table();
510} 510}
511 511
512//! \internal 512//! \internal
513ZipPrivate::~ZipPrivate() 513ZipPrivate::~ZipPrivate()
514{ 514{
515 closeArchive(); 515 closeArchive();
516} 516}
517 517
518//! \internal 518//! \internal
519Zip::ErrorCode ZipPrivate::createArchive(QIODevice* dev) 519Zip::ErrorCode ZipPrivate::createArchive(QIODevice* dev)
520{ 520{
521 Q_ASSERT(dev != 0); 521 Q_ASSERT(dev != 0);
522 522
523 if (device != 0) 523 if (device != 0)
524 closeArchive(); 524 closeArchive();
525 525
526 device = dev; 526 device = dev;
527 527
528 if (!device->isOpen()) 528 if (!device->isOpen())
529 { 529 {
530 if (!device->open(QIODevice::ReadOnly)) { 530 if (!device->open(QIODevice::ReadOnly)) {
531 delete device; 531 delete device;
532 device = 0; 532 device = 0;
533 qDebug() << "Unable to open device for writing."; 533 qDebug() << "Unable to open device for writing.";
534 return Zip::OpenFailed; 534 return Zip::OpenFailed;
535 } 535 }
536 } 536 }
537 537
538 headers = new QMap<QString,ZipEntryP*>; 538 headers = new QMap<QString,ZipEntryP*>;
539 return Zip::Ok; 539 return Zip::Ok;
540} 540}
541 541
542//! \internal Writes a new entry in the zip file. 542//! \internal Writes a new entry in the zip file.
543Zip::ErrorCode ZipPrivate::createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level) 543Zip::ErrorCode ZipPrivate::createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level)
544{ 544{
545 //! \todo Automatic level detection (cpu, extension & file size) 545 //! \todo Automatic level detection (cpu, extension & file size)
546 546
547 // Directories and very small files are always stored 547 // Directories and very small files are always stored
548 // (small files would get bigger due to the compression headers overhead) 548 // (small files would get bigger due to the compression headers overhead)
549 549
550 // Need this for zlib 550 // Need this for zlib
551 bool isPNGFile = false; 551 bool isPNGFile = false;
552 bool dirOnly = file.isDir(); 552 bool dirOnly = file.isDir();
553 553
554 QString entryName = root; 554 QString entryName = root;
555 555
556 // Directory entry 556 // Directory entry
557 if (dirOnly) 557 if (dirOnly)
558 level = Zip::Store; 558 level = Zip::Store;
559 else 559 else
560 { 560 {
561 entryName.append(file.fileName()); 561 entryName.append(file.fileName());
562 562
563 QString ext = file.completeSuffix().toLower(); 563 QString ext = file.completeSuffix().toLower();
564 isPNGFile = ext == "png"; 564 isPNGFile = ext == "png";
565 565
566 if (file.size() < ZIP_COMPRESSION_THRESHOLD) 566 if (file.size() < ZIP_COMPRESSION_THRESHOLD)
567 level = Zip::Store; 567 level = Zip::Store;
568 else 568 else
569 switch (level) 569 switch (level)
570 { 570 {
571 case Zip::AutoCPU: 571 case Zip::AutoCPU:
572 level = Zip::Deflate5; 572 level = Zip::Deflate5;
573 break; 573 break;
574 case Zip::AutoMIME: 574 case Zip::AutoMIME:
575 level = detectCompressionByMime(ext); 575 level = detectCompressionByMime(ext);
576 break; 576 break;
577 case Zip::AutoFull: 577 case Zip::AutoFull:
578 level = detectCompressionByMime(ext); 578 level = detectCompressionByMime(ext);
579 break; 579 break;
580 default: 580 default:
581 ; 581 ;
582 } 582 }
583 } 583 }
584 584
585 // entryName contains the path as it should be written 585 // entryName contains the path as it should be written
586 // in the zip file records 586 // in the zip file records
587 // qDebug() << QString("addDir(file=%1, root=%2, entry=%3)").arg(file.absoluteFilePath(), root, entryName); 587 // qDebug() << QString("addDir(file=%1, root=%2, entry=%3)").arg(file.absoluteFilePath(), root, entryName);
588 588
589 // create header and store it to write a central directory later 589 // create header and store it to write a central directory later
590 ZipEntryP* h = new ZipEntryP; 590 ZipEntryP* h = new ZipEntryP;
591 591
592 h->compMethod = (level == Zip::Store) ? 0 : 0x0008; 592 h->compMethod = (level == Zip::Store) ? 0 : 0x0008;
593 593
594 // Set encryption bit and set the data descriptor bit 594 // Set encryption bit and set the data descriptor bit
595 // so we can use mod time instead of crc for password check 595 // so we can use mod time instead of crc for password check
596 bool encrypt = !dirOnly && !password.isEmpty(); 596 bool encrypt = !dirOnly && !password.isEmpty();
597 if (encrypt) 597 if (encrypt)
598 h->gpFlag[0] |= 9; 598 h->gpFlag[0] |= 9;
599 599
600 QDateTime dt = file.lastModified(); 600 QDateTime dt = file.lastModified();
601 QDate d = dt.date(); 601 QDate d = dt.date();
602 h->modDate[1] = ((d.year() - 1980) << 1) & 254; 602 h->modDate[1] = ((d.year() - 1980) << 1) & 254;
603 h->modDate[1] |= ((d.month() >> 3) & 1); 603 h->modDate[1] |= ((d.month() >> 3) & 1);
604 h->modDate[0] = ((d.month() & 7) << 5) & 224; 604 h->modDate[0] = ((d.month() & 7) << 5) & 224;
605 h->modDate[0] |= d.day(); 605 h->modDate[0] |= d.day();
606 606
607 QTime t = dt.time(); 607 QTime t = dt.time();
608 h->modTime[1] = (t.hour() << 3) & 248; 608 h->modTime[1] = (t.hour() << 3) & 248;
609 h->modTime[1] |= ((t.minute() >> 3) & 7); 609 h->modTime[1] |= ((t.minute() >> 3) & 7);
610 h->modTime[0] = ((t.minute() & 7) << 5) & 224; 610 h->modTime[0] = ((t.minute() & 7) << 5) & 224;
611 h->modTime[0] |= t.second() / 2; 611 h->modTime[0] |= t.second() / 2;
612 612
613 h->szUncomp = dirOnly ? 0 : file.size(); 613 h->szUncomp = dirOnly ? 0 : file.size();
614 614
615 // **** Write local file header **** 615 // **** Write local file header ****
616 616
617 // signature 617 // signature
618 buffer1[0] = 'P'; buffer1[1] = 'K'; 618 buffer1[0] = 'P'; buffer1[1] = 'K';
619 buffer1[2] = 0x3; buffer1[3] = 0x4; 619 buffer1[2] = 0x3; buffer1[3] = 0x4;
620 620
621 // version needed to extract 621 // version needed to extract
622 buffer1[ZIP_LH_OFF_VERS] = ZIP_VERSION; 622 buffer1[ZIP_LH_OFF_VERS] = ZIP_VERSION;
623 buffer1[ZIP_LH_OFF_VERS + 1] = 0; 623 buffer1[ZIP_LH_OFF_VERS + 1] = 0;
624 624
625 // general purpose flag 625 // general purpose flag
626 buffer1[ZIP_LH_OFF_GPFLAG] = h->gpFlag[0]; 626 buffer1[ZIP_LH_OFF_GPFLAG] = h->gpFlag[0];
627 buffer1[ZIP_LH_OFF_GPFLAG + 1] = h->gpFlag[1]; 627 buffer1[ZIP_LH_OFF_GPFLAG + 1] = h->gpFlag[1];
628 628
629 // compression method 629 // compression method
630 buffer1[ZIP_LH_OFF_CMET] = h->compMethod & 0xFF; 630 buffer1[ZIP_LH_OFF_CMET] = h->compMethod & 0xFF;
631 buffer1[ZIP_LH_OFF_CMET + 1] = (h->compMethod>>8) & 0xFF; 631 buffer1[ZIP_LH_OFF_CMET + 1] = (h->compMethod>>8) & 0xFF;
632 632
633 // last mod file time 633 // last mod file time
634 buffer1[ZIP_LH_OFF_MODT] = h->modTime[0]; 634 buffer1[ZIP_LH_OFF_MODT] = h->modTime[0];
635 buffer1[ZIP_LH_OFF_MODT + 1] = h->modTime[1]; 635 buffer1[ZIP_LH_OFF_MODT + 1] = h->modTime[1];
636 636
637 // last mod file date 637 // last mod file date
638 buffer1[ZIP_LH_OFF_MODD] = h->modDate[0]; 638 buffer1[ZIP_LH_OFF_MODD] = h->modDate[0];
639 buffer1[ZIP_LH_OFF_MODD + 1] = h->modDate[1]; 639 buffer1[ZIP_LH_OFF_MODD + 1] = h->modDate[1];
640 640
641 // skip crc (4bytes) [14,15,16,17] 641 // skip crc (4bytes) [14,15,16,17]
642 642
643 // skip compressed size but include evtl. encryption header (4bytes: [18,19,20,21]) 643 // skip compressed size but include evtl. encryption header (4bytes: [18,19,20,21])
644 buffer1[ZIP_LH_OFF_CSIZE] = 644 buffer1[ZIP_LH_OFF_CSIZE] =
645 buffer1[ZIP_LH_OFF_CSIZE + 1] = 645 buffer1[ZIP_LH_OFF_CSIZE + 1] =
646 buffer1[ZIP_LH_OFF_CSIZE + 2] = 646 buffer1[ZIP_LH_OFF_CSIZE + 2] =
647 buffer1[ZIP_LH_OFF_CSIZE + 3] = 0; 647 buffer1[ZIP_LH_OFF_CSIZE + 3] = 0;
648 648
649 h->szComp = encrypt ? ZIP_LOCAL_ENC_HEADER_SIZE : 0; 649 h->szComp = encrypt ? ZIP_LOCAL_ENC_HEADER_SIZE : 0;
650 650
651 // uncompressed size [22,23,24,25] 651 // uncompressed size [22,23,24,25]
652 setULong(h->szUncomp, buffer1, ZIP_LH_OFF_USIZE); 652 setULong(h->szUncomp, buffer1, ZIP_LH_OFF_USIZE);
653 653
654 // filename length 654 // filename length
655 QByteArray entryNameBytes = entryName.toAscii(); 655 QByteArray entryNameBytes = entryName.toAscii();
656 int sz = entryNameBytes.size(); 656 int sz = entryNameBytes.size();
657 657
658 buffer1[ZIP_LH_OFF_NAMELEN] = sz & 0xFF; 658 buffer1[ZIP_LH_OFF_NAMELEN] = sz & 0xFF;
659 buffer1[ZIP_LH_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF; 659 buffer1[ZIP_LH_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF;
660 660
661 // extra field length 661 // extra field length
662 buffer1[ZIP_LH_OFF_XLEN] = buffer1[ZIP_LH_OFF_XLEN + 1] = 0; 662 buffer1[ZIP_LH_OFF_XLEN] = buffer1[ZIP_LH_OFF_XLEN + 1] = 0;
663 663
664 // Store offset to write crc and compressed size 664 // Store offset to write crc and compressed size
665 h->lhOffset = device->pos(); 665 h->lhOffset = device->pos();
666 quint32 crcOffset = h->lhOffset + ZIP_LH_OFF_CRC; 666 quint32 crcOffset = h->lhOffset + ZIP_LH_OFF_CRC;
667 667
668 if (device->write(buffer1, ZIP_LOCAL_HEADER_SIZE) != ZIP_LOCAL_HEADER_SIZE) 668 if (device->write(buffer1, ZIP_LOCAL_HEADER_SIZE) != ZIP_LOCAL_HEADER_SIZE)
669 { 669 {
670 delete h; 670 delete h;
671 return Zip::WriteFailed; 671 return Zip::WriteFailed;
672 } 672 }
673 673
674 // Write out filename 674 // Write out filename
675 if (device->write(entryNameBytes) != sz) 675 if (device->write(entryNameBytes) != sz)
676 { 676 {
677 delete h; 677 delete h;
678 return Zip::WriteFailed; 678 return Zip::WriteFailed;
679 } 679 }
680 680
681 // Encryption keys 681 // Encryption keys
682 quint32 keys[3] = { 0, 0, 0 }; 682 quint32 keys[3] = { 0, 0, 0 };
683 683
684 if (encrypt) 684 if (encrypt)
685 { 685 {
686 // **** encryption header **** 686 // **** encryption header ****
687 687
688 // XOR with PI to ensure better random numbers 688 // XOR with PI to ensure better random numbers
689 // with poorly implemented rand() as suggested by Info-Zip 689 // with poorly implemented rand() as suggested by Info-Zip
690 srand(time(NULL) ^ 3141592654UL); 690 srand(time(NULL) ^ 3141592654UL);
691 int randByte; 691 int randByte;
692 692
693 initKeys(keys); 693 initKeys(keys);
694 for (int i=0; i<10; ++i) 694 for (int i=0; i<10; ++i)
695 { 695 {
696 randByte = (rand() >> 7) & 0xff; 696 randByte = (rand() >> 7) & 0xff;
697 buffer1[i] = decryptByte(keys[2]) ^ randByte; 697 buffer1[i] = decryptByte(keys[2]) ^ randByte;
698 updateKeys(keys, randByte); 698 updateKeys(keys, randByte);
699 } 699 }
700 700
701 // Encrypt encryption header 701 // Encrypt encryption header
702 initKeys(keys); 702 initKeys(keys);
703 for (int i=0; i<10; ++i) 703 for (int i=0; i<10; ++i)
704 { 704 {
705 randByte = decryptByte(keys[2]); 705 randByte = decryptByte(keys[2]);
706 updateKeys(keys, buffer1[i]); 706 updateKeys(keys, buffer1[i]);
707 buffer1[i] ^= randByte; 707 buffer1[i] ^= randByte;
708 } 708 }
709 709
710 // We don't know the CRC at this time, so we use the modification time 710 // We don't know the CRC at this time, so we use the modification time
711 // as the last two bytes 711 // as the last two bytes
712 randByte = decryptByte(keys[2]); 712 randByte = decryptByte(keys[2]);
713 updateKeys(keys, h->modTime[0]); 713 updateKeys(keys, h->modTime[0]);
714 buffer1[10] ^= randByte; 714 buffer1[10] ^= randByte;
715 715
716 randByte = decryptByte(keys[2]); 716 randByte = decryptByte(keys[2]);
717 updateKeys(keys, h->modTime[1]); 717 updateKeys(keys, h->modTime[1]);
718 buffer1[11] ^= randByte; 718 buffer1[11] ^= randByte;
719 719
720 // Write out encryption header 720 // Write out encryption header
721 if (device->write(buffer1, ZIP_LOCAL_ENC_HEADER_SIZE) != ZIP_LOCAL_ENC_HEADER_SIZE) 721 if (device->write(buffer1, ZIP_LOCAL_ENC_HEADER_SIZE) != ZIP_LOCAL_ENC_HEADER_SIZE)
722 { 722 {
723 delete h; 723 delete h;
724 return Zip::WriteFailed; 724 return Zip::WriteFailed;
725 } 725 }
726 } 726 }
727 727
728 qint64 written = 0; 728 qint64 written = 0;
729 quint32 crc = crc32(0L, Z_NULL, 0); 729 quint32 crc = crc32(0L, Z_NULL, 0);
730 730
731 if (!dirOnly) 731 if (!dirOnly)
732 { 732 {
733 QFile actualFile(file.absoluteFilePath()); 733 QFile actualFile(file.absoluteFilePath());
734 if (!actualFile.open(QIODevice::ReadOnly)) 734 if (!actualFile.open(QIODevice::ReadOnly))
735 { 735 {
736 qDebug() << QString("An error occurred while opening %1").arg(file.absoluteFilePath()); 736 qDebug() << QString("An error occurred while opening %1").arg(file.absoluteFilePath());
737 return Zip::OpenFailed; 737 return Zip::OpenFailed;
738 } 738 }
739 739
740 // Write file data 740 // Write file data
741 qint64 read = 0; 741 qint64 read = 0;
742 qint64 totRead = 0; 742 qint64 totRead = 0;
743 qint64 toRead = actualFile.size(); 743 qint64 toRead = actualFile.size();
744 744
745 if (level == Zip::Store) 745 if (level == Zip::Store)
746 { 746 {
747 while ( (read = actualFile.read(buffer1, ZIP_READ_BUFFER)) > 0 ) 747 while ( (read = actualFile.read(buffer1, ZIP_READ_BUFFER)) > 0 )
748 { 748 {
749 crc = crc32(crc, uBuffer, read); 749 crc = crc32(crc, uBuffer, read);
750 750
751 if (password != 0) 751 if (password != 0)
752 encryptBytes(keys, buffer1, read); 752 encryptBytes(keys, buffer1, read);
753 753
754 if ( (written = device->write(buffer1, read)) != read ) 754 if ( (written = device->write(buffer1, read)) != read )
755 { 755 {
756 actualFile.close(); 756 actualFile.close();
757 delete h; 757 delete h;
758 return Zip::WriteFailed; 758 return Zip::WriteFailed;
759 } 759 }
760 } 760 }
761 } 761 }
762 else 762 else
763 { 763 {
764 z_stream zstr; 764 z_stream zstr;
765 765
766 // Initialize zalloc, zfree and opaque before calling the init function 766 // Initialize zalloc, zfree and opaque before calling the init function
767 zstr.zalloc = Z_NULL; 767 zstr.zalloc = Z_NULL;
768 zstr.zfree = Z_NULL; 768 zstr.zfree = Z_NULL;
769 zstr.opaque = Z_NULL; 769 zstr.opaque = Z_NULL;
770 770
771 int zret; 771 int zret;
772 772
773 // Use deflateInit2 with negative windowBits to get raw compression 773 // Use deflateInit2 with negative windowBits to get raw compression
774 if ((zret = deflateInit2_( 774 if ((zret = deflateInit2_(
775 &zstr, 775 &zstr,
776 (int)level, 776 (int)level,
777 Z_DEFLATED, 777 Z_DEFLATED,
778 -MAX_WBITS, 778 -MAX_WBITS,
779 8, 779 8,
780 isPNGFile ? Z_RLE : Z_DEFAULT_STRATEGY, 780 isPNGFile ? Z_RLE : Z_DEFAULT_STRATEGY,
781 ZLIB_VERSION, 781 ZLIB_VERSION,
782 sizeof(z_stream) 782 sizeof(z_stream)
783 )) != Z_OK ) 783 )) != Z_OK )
784 { 784 {
785 actualFile.close(); 785 actualFile.close();
786 qDebug() << "Could not initialize zlib for compression"; 786 qDebug() << "Could not initialize zlib for compression";
787 delete h; 787 delete h;
788 return Zip::ZlibError; 788 return Zip::ZlibError;
789 } 789 }
790 790
791 qint64 compressed; 791 qint64 compressed;
792 792
793 int flush = Z_NO_FLUSH; 793 int flush = Z_NO_FLUSH;
794 794
795 do 795 do
796 { 796 {
797 read = actualFile.read(buffer1, ZIP_READ_BUFFER); 797 read = actualFile.read(buffer1, ZIP_READ_BUFFER);
798 totRead += read; 798 totRead += read;
799 799
800 if (read == 0) 800 if (read == 0)
801 break; 801 break;
802 if (read < 0) 802 if (read < 0)
803 { 803 {
804 actualFile.close(); 804 actualFile.close();
805 deflateEnd(&zstr); 805 deflateEnd(&zstr);
806 qDebug() << QString("Error while reading %1").arg(file.absoluteFilePath()); 806 qDebug() << QString("Error while reading %1").arg(file.absoluteFilePath());
807 delete h; 807 delete h;
808 return Zip::ReadFailed; 808 return Zip::ReadFailed;
809 } 809 }
810 810
811 crc = crc32(crc, uBuffer, read); 811 crc = crc32(crc, uBuffer, read);
812 812
813 zstr.next_in = (Bytef*) buffer1; 813 zstr.next_in = (Bytef*) buffer1;
814 zstr.avail_in = (uInt)read; 814 zstr.avail_in = (uInt)read;
815 815
816 // Tell zlib if this is the last chunk we want to encode 816 // Tell zlib if this is the last chunk we want to encode
817 // by setting the flush parameter to Z_FINISH 817 // by setting the flush parameter to Z_FINISH
818 flush = (totRead == toRead) ? Z_FINISH : Z_NO_FLUSH; 818 flush = (totRead == toRead) ? Z_FINISH : Z_NO_FLUSH;
819 819
820 // Run deflate() on input until output buffer not full 820 // Run deflate() on input until output buffer not full
821 // finish compression if all of source has been read in 821 // finish compression if all of source has been read in
822 do 822 do
823 { 823 {
824 zstr.next_out = (Bytef*) buffer2; 824 zstr.next_out = (Bytef*) buffer2;
825 zstr.avail_out = ZIP_READ_BUFFER; 825 zstr.avail_out = ZIP_READ_BUFFER;
826 826
827 zret = deflate(&zstr, flush); 827 zret = deflate(&zstr, flush);
828 // State not clobbered 828 // State not clobbered
829 Q_ASSERT(zret != Z_STREAM_ERROR); 829 Q_ASSERT(zret != Z_STREAM_ERROR);
830 830
831 // Write compressed data to file and empty buffer 831 // Write compressed data to file and empty buffer
832 compressed = ZIP_READ_BUFFER - zstr.avail_out; 832 compressed = ZIP_READ_BUFFER - zstr.avail_out;
833 833
834 if (password != 0) 834 if (password != 0)
835 encryptBytes(keys, buffer2, compressed); 835 encryptBytes(keys, buffer2, compressed);
836 836
837 if (device->write(buffer2, compressed) != compressed) 837 if (device->write(buffer2, compressed) != compressed)
838 { 838 {
839 deflateEnd(&zstr); 839 deflateEnd(&zstr);
840 actualFile.close(); 840 actualFile.close();
841 qDebug() << QString("Error while writing %1").arg(file.absoluteFilePath()); 841 qDebug() << QString("Error while writing %1").arg(file.absoluteFilePath());
842 delete h; 842 delete h;
843 return Zip::WriteFailed; 843 return Zip::WriteFailed;
844 } 844 }
845 845
846 written += compressed; 846 written += compressed;
847 847
848 } while (zstr.avail_out == 0); 848 } while (zstr.avail_out == 0);
849 849
850 // All input will be used 850 // All input will be used
851 Q_ASSERT(zstr.avail_in == 0); 851 Q_ASSERT(zstr.avail_in == 0);
852 852
853 } while (flush != Z_FINISH); 853 } while (flush != Z_FINISH);
854 854
855 // Stream will be complete 855 // Stream will be complete
856 Q_ASSERT(zret == Z_STREAM_END); 856 Q_ASSERT(zret == Z_STREAM_END);
857 857
858 deflateEnd(&zstr); 858 deflateEnd(&zstr);
859 859
860 } // if (level != STORE) 860 } // if (level != STORE)
861 861
862 actualFile.close(); 862 actualFile.close();
863 } 863 }
864 864
865 // Store end of entry offset 865 // Store end of entry offset
866 quint32 current = device->pos(); 866 quint32 current = device->pos();
867 867
868 // Update crc and compressed size in local header 868 // Update crc and compressed size in local header
869 if (!device->seek(crcOffset)) 869 if (!device->seek(crcOffset))
870 { 870 {
871 delete h; 871 delete h;
872 return Zip::SeekFailed; 872 return Zip::SeekFailed;
873 } 873 }
874 874
875 h->crc = dirOnly ? 0 : crc; 875 h->crc = dirOnly ? 0 : crc;
876 h->szComp += written; 876 h->szComp += written;
877 877
878 setULong(h->crc, buffer1, 0); 878 setULong(h->crc, buffer1, 0);
879 setULong(h->szComp, buffer1, 4); 879 setULong(h->szComp, buffer1, 4);
880 if ( device->write(buffer1, 8) != 8) 880 if ( device->write(buffer1, 8) != 8)
881 { 881 {
882 delete h; 882 delete h;
883 return Zip::WriteFailed; 883 return Zip::WriteFailed;
884 } 884 }
885 885
886 // Seek to end of entry 886 // Seek to end of entry
887 if (!device->seek(current)) 887 if (!device->seek(current))
888 { 888 {
889 delete h; 889 delete h;
890 return Zip::SeekFailed; 890 return Zip::SeekFailed;
891 } 891 }
892 892
893 if ((h->gpFlag[0] & 8) == 8) 893 if ((h->gpFlag[0] & 8) == 8)
894 { 894 {
895 // Write data descriptor 895 // Write data descriptor
896 896
897 // Signature: PK\7\8 897 // Signature: PK\7\8
898 buffer1[0] = 'P'; 898 buffer1[0] = 'P';
899 buffer1[1] = 'K'; 899 buffer1[1] = 'K';
900 buffer1[2] = 0x07; 900 buffer1[2] = 0x07;
901 buffer1[3] = 0x08; 901 buffer1[3] = 0x08;
902 902
903 // CRC 903 // CRC
904 setULong(h->crc, buffer1, ZIP_DD_OFF_CRC32); 904 setULong(h->crc, buffer1, ZIP_DD_OFF_CRC32);
905 905
906 // Compressed size 906 // Compressed size
907 setULong(h->szComp, buffer1, ZIP_DD_OFF_CSIZE); 907 setULong(h->szComp, buffer1, ZIP_DD_OFF_CSIZE);
908 908
909 // Uncompressed size 909 // Uncompressed size
910 setULong(h->szUncomp, buffer1, ZIP_DD_OFF_USIZE); 910 setULong(h->szUncomp, buffer1, ZIP_DD_OFF_USIZE);
911 911
912 if (device->write(buffer1, ZIP_DD_SIZE_WS) != ZIP_DD_SIZE_WS) 912 if (device->write(buffer1, ZIP_DD_SIZE_WS) != ZIP_DD_SIZE_WS)
913 { 913 {
914 delete h; 914 delete h;
915 return Zip::WriteFailed; 915 return Zip::WriteFailed;
916 } 916 }
917 } 917 }
918 918
919 headers->insert(entryName, h); 919 headers->insert(entryName, h);
920 return Zip::Ok; 920 return Zip::Ok;
921} 921}
922 922
923//! \internal 923//! \internal
924int ZipPrivate::decryptByte(quint32 key2) const 924int ZipPrivate::decryptByte(quint32 key2) const
925{ 925{
926 quint16 temp = ((quint16)(key2) & 0xffff) | 2; 926 quint16 temp = ((quint16)(key2) & 0xffff) | 2;
927 return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); 927 return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
928} 928}
929 929
930//! \internal Writes an quint32 (4 bytes) to a byte array at given offset. 930//! \internal Writes an quint32 (4 bytes) to a byte array at given offset.
931void ZipPrivate::setULong(quint32 v, char* buffer, unsigned int offset) 931void ZipPrivate::setULong(quint32 v, char* buffer, unsigned int offset)
932{ 932{
933 buffer[offset+3] = ((v >> 24) & 0xFF); 933 buffer[offset+3] = ((v >> 24) & 0xFF);
934 buffer[offset+2] = ((v >> 16) & 0xFF); 934 buffer[offset+2] = ((v >> 16) & 0xFF);
935 buffer[offset+1] = ((v >> 8) & 0xFF); 935 buffer[offset+1] = ((v >> 8) & 0xFF);
936 buffer[offset] = (v & 0xFF); 936 buffer[offset] = (v & 0xFF);
937} 937}
938 938
939//! \internal Initializes decryption keys using a password. 939//! \internal Initializes decryption keys using a password.
940void ZipPrivate::initKeys(quint32* keys) const 940void ZipPrivate::initKeys(quint32* keys) const
941{ 941{
942 // Encryption keys initialization constants are taken from the 942 // Encryption keys initialization constants are taken from the
943 // PKZip file format specification docs 943 // PKZip file format specification docs
944 keys[0] = 305419896L; 944 keys[0] = 305419896L;
945 keys[1] = 591751049L; 945 keys[1] = 591751049L;
946 keys[2] = 878082192L; 946 keys[2] = 878082192L;
947 947
948 QByteArray pwdBytes = password.toAscii(); 948 QByteArray pwdBytes = password.toAscii();
949 int sz = pwdBytes.size(); 949 int sz = pwdBytes.size();
950 const char* ascii = pwdBytes.data(); 950 const char* ascii = pwdBytes.data();
951 951
952 for (int i=0; i<sz; ++i) 952 for (int i=0; i<sz; ++i)
953 updateKeys(keys, (int)ascii[i]); 953 updateKeys(keys, (int)ascii[i]);
954} 954}
955 955
956//! \internal Updates encryption keys. 956//! \internal Updates encryption keys.
957void ZipPrivate::updateKeys(quint32* keys, int c) const 957void ZipPrivate::updateKeys(quint32* keys, int c) const
958{ 958{
959 keys[0] = CRC32(keys[0], c); 959 keys[0] = CRC32(keys[0], c);
960 keys[1] += keys[0] & 0xff; 960 keys[1] += keys[0] & 0xff;
961 keys[1] = keys[1] * 134775813L + 1; 961 keys[1] = keys[1] * 134775813L + 1;
962 keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24); 962 keys[2] = CRC32(keys[2], ((int)keys[1]) >> 24);
963} 963}
964 964
965//! \internal Encrypts a byte array. 965//! \internal Encrypts a byte array.
966void ZipPrivate::encryptBytes(quint32* keys, char* buffer, qint64 read) 966void ZipPrivate::encryptBytes(quint32* keys, char* buffer, qint64 read)
967{ 967{
968 char t; 968 char t;
969 969
970 for (int i=0; i<(int)read; ++i) 970 for (int i=0; i<(int)read; ++i)
971 { 971 {
972 t = buffer[i]; 972 t = buffer[i];
973 buffer[i] ^= decryptByte(keys[2]); 973 buffer[i] ^= decryptByte(keys[2]);
974 updateKeys(keys, t); 974 updateKeys(keys, t);
975 } 975 }
976} 976}
977 977
978//! \internal Detects the best compression level for a given file extension. 978//! \internal Detects the best compression level for a given file extension.
979Zip::CompressionLevel ZipPrivate::detectCompressionByMime(const QString& ext) 979Zip::CompressionLevel ZipPrivate::detectCompressionByMime(const QString& ext)
980{ 980{
981 // files really hard to compress 981 // files really hard to compress
982 if ((ext == "png") || 982 if ((ext == "png") ||
983 (ext == "jpg") || 983 (ext == "jpg") ||
984 (ext == "jpeg") || 984 (ext == "jpeg") ||
985 (ext == "mp3") || 985 (ext == "mp3") ||
986 (ext == "ogg") || 986 (ext == "ogg") ||
987 (ext == "ogm") || 987 (ext == "ogm") ||
988 (ext == "avi") || 988 (ext == "avi") ||
989 (ext == "mov") || 989 (ext == "mov") ||
990 (ext == "rm") || 990 (ext == "rm") ||
991 (ext == "ra") || 991 (ext == "ra") ||
992 (ext == "zip") || 992 (ext == "zip") ||
993 (ext == "rar") || 993 (ext == "rar") ||
994 (ext == "bz2") || 994 (ext == "bz2") ||
995 (ext == "gz") || 995 (ext == "gz") ||
996 (ext == "7z") || 996 (ext == "7z") ||
997 (ext == "z") || 997 (ext == "z") ||
998 (ext == "jar") 998 (ext == "jar")
999 ) return Zip::Store; 999 ) return Zip::Store;
1000 1000
1001 // files slow and hard to compress 1001 // files slow and hard to compress
1002 if ((ext == "exe") || 1002 if ((ext == "exe") ||
1003 (ext == "bin") || 1003 (ext == "bin") ||
1004 (ext == "rpm") || 1004 (ext == "rpm") ||
1005 (ext == "deb") 1005 (ext == "deb")
1006 ) return Zip::Deflate2; 1006 ) return Zip::Deflate2;
1007 1007
1008 return Zip::Deflate9; 1008 return Zip::Deflate9;
1009} 1009}
1010 1010
1011/*! 1011/*!
1012 Closes the current archive and writes out pending data. 1012 Closes the current archive and writes out pending data.
1013*/ 1013*/
1014Zip::ErrorCode ZipPrivate::closeArchive() 1014Zip::ErrorCode ZipPrivate::closeArchive()
1015{ 1015{
1016 // Close current archive by writing out central directory 1016 // Close current archive by writing out central directory
1017 // and free up resources 1017 // and free up resources
1018 1018
1019 if (device == 0) 1019 if (device == 0)
1020 return Zip::Ok; 1020 return Zip::Ok;
1021 1021
1022 if (headers == 0) 1022 if (headers == 0)
1023 return Zip::Ok; 1023 return Zip::Ok;
1024 1024
1025 const ZipEntryP* h; 1025 const ZipEntryP* h;
1026 1026
1027 unsigned int sz; 1027 unsigned int sz;
1028 quint32 szCentralDir = 0; 1028 quint32 szCentralDir = 0;
1029 quint32 offCentralDir = device->pos(); 1029 quint32 offCentralDir = device->pos();
1030 1030
1031 for (QMap<QString,ZipEntryP*>::ConstIterator itr = headers->constBegin(); itr != headers->constEnd(); ++itr) 1031 for (QMap<QString,ZipEntryP*>::ConstIterator itr = headers->constBegin(); itr != headers->constEnd(); ++itr)
1032 { 1032 {
1033 h = itr.value(); 1033 h = itr.value();
1034 1034
1035 // signature 1035 // signature
1036 buffer1[0] = 'P'; 1036 buffer1[0] = 'P';
1037 buffer1[1] = 'K'; 1037 buffer1[1] = 'K';
1038 buffer1[2] = 0x01; 1038 buffer1[2] = 0x01;
1039 buffer1[3] = 0x02; 1039 buffer1[3] = 0x02;
1040 1040
1041 // version made by (currently only MS-DOS/FAT - no symlinks or other stuff supported) 1041 // version made by (currently only MS-DOS/FAT - no symlinks or other stuff supported)
1042 buffer1[ZIP_CD_OFF_MADEBY] = buffer1[ZIP_CD_OFF_MADEBY + 1] = 0; 1042 buffer1[ZIP_CD_OFF_MADEBY] = buffer1[ZIP_CD_OFF_MADEBY + 1] = 0;
1043 1043
1044 // version needed to extract 1044 // version needed to extract
1045 buffer1[ZIP_CD_OFF_VERSION] = ZIP_VERSION; 1045 buffer1[ZIP_CD_OFF_VERSION] = ZIP_VERSION;
1046 buffer1[ZIP_CD_OFF_VERSION + 1] = 0; 1046 buffer1[ZIP_CD_OFF_VERSION + 1] = 0;
1047 1047
1048 // general purpose flag 1048 // general purpose flag
1049 buffer1[ZIP_CD_OFF_GPFLAG] = h->gpFlag[0]; 1049 buffer1[ZIP_CD_OFF_GPFLAG] = h->gpFlag[0];
1050 buffer1[ZIP_CD_OFF_GPFLAG + 1] = h->gpFlag[1]; 1050 buffer1[ZIP_CD_OFF_GPFLAG + 1] = h->gpFlag[1];
1051 1051
1052 // compression method 1052 // compression method
1053 buffer1[ZIP_CD_OFF_CMET] = h->compMethod & 0xFF; 1053 buffer1[ZIP_CD_OFF_CMET] = h->compMethod & 0xFF;
1054 buffer1[ZIP_CD_OFF_CMET + 1] = (h->compMethod >> 8) & 0xFF; 1054 buffer1[ZIP_CD_OFF_CMET + 1] = (h->compMethod >> 8) & 0xFF;
1055 1055
1056 // last mod file time 1056 // last mod file time
1057 buffer1[ZIP_CD_OFF_MODT] = h->modTime[0]; 1057 buffer1[ZIP_CD_OFF_MODT] = h->modTime[0];
1058 buffer1[ZIP_CD_OFF_MODT + 1] = h->modTime[1]; 1058 buffer1[ZIP_CD_OFF_MODT + 1] = h->modTime[1];
1059 1059
1060 // last mod file date 1060 // last mod file date
1061 buffer1[ZIP_CD_OFF_MODD] = h->modDate[0]; 1061 buffer1[ZIP_CD_OFF_MODD] = h->modDate[0];
1062 buffer1[ZIP_CD_OFF_MODD + 1] = h->modDate[1]; 1062 buffer1[ZIP_CD_OFF_MODD + 1] = h->modDate[1];
1063 1063
1064 // crc (4bytes) [16,17,18,19] 1064 // crc (4bytes) [16,17,18,19]
1065 setULong(h->crc, buffer1, ZIP_CD_OFF_CRC); 1065 setULong(h->crc, buffer1, ZIP_CD_OFF_CRC);
1066 1066
1067 // compressed size (4bytes: [20,21,22,23]) 1067 // compressed size (4bytes: [20,21,22,23])
1068 setULong(h->szComp, buffer1, ZIP_CD_OFF_CSIZE); 1068 setULong(h->szComp, buffer1, ZIP_CD_OFF_CSIZE);
1069 1069
1070 // uncompressed size [24,25,26,27] 1070 // uncompressed size [24,25,26,27]
1071 setULong(h->szUncomp, buffer1, ZIP_CD_OFF_USIZE); 1071 setULong(h->szUncomp, buffer1, ZIP_CD_OFF_USIZE);
1072 1072
1073 // filename 1073 // filename
1074 QByteArray fileNameBytes = itr.key().toAscii(); 1074 QByteArray fileNameBytes = itr.key().toAscii();
1075 sz = fileNameBytes.size(); 1075 sz = fileNameBytes.size();
1076 buffer1[ZIP_CD_OFF_NAMELEN] = sz & 0xFF; 1076 buffer1[ZIP_CD_OFF_NAMELEN] = sz & 0xFF;
1077 buffer1[ZIP_CD_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF; 1077 buffer1[ZIP_CD_OFF_NAMELEN + 1] = (sz >> 8) & 0xFF;
1078 1078
1079 // extra field length 1079 // extra field length
1080 buffer1[ZIP_CD_OFF_XLEN] = buffer1[ZIP_CD_OFF_XLEN + 1] = 0; 1080 buffer1[ZIP_CD_OFF_XLEN] = buffer1[ZIP_CD_OFF_XLEN + 1] = 0;
1081 1081
1082 // file comment length 1082 // file comment length
1083 buffer1[ZIP_CD_OFF_COMMLEN] = buffer1[ZIP_CD_OFF_COMMLEN + 1] = 0; 1083 buffer1[ZIP_CD_OFF_COMMLEN] = buffer1[ZIP_CD_OFF_COMMLEN + 1] = 0;
1084 1084
1085 // disk number start 1085 // disk number start
1086 buffer1[ZIP_CD_OFF_DISKSTART] = buffer1[ZIP_CD_OFF_DISKSTART + 1] = 0; 1086 buffer1[ZIP_CD_OFF_DISKSTART] = buffer1[ZIP_CD_OFF_DISKSTART + 1] = 0;
1087 1087
1088 // internal file attributes 1088 // internal file attributes
1089 buffer1[ZIP_CD_OFF_IATTR] = buffer1[ZIP_CD_OFF_IATTR + 1] = 0; 1089 buffer1[ZIP_CD_OFF_IATTR] = buffer1[ZIP_CD_OFF_IATTR + 1] = 0;
1090 1090
1091 // external file attributes 1091 // external file attributes
1092 buffer1[ZIP_CD_OFF_EATTR] = 1092 buffer1[ZIP_CD_OFF_EATTR] =
1093 buffer1[ZIP_CD_OFF_EATTR + 1] = 1093 buffer1[ZIP_CD_OFF_EATTR + 1] =
1094 buffer1[ZIP_CD_OFF_EATTR + 2] = 1094 buffer1[ZIP_CD_OFF_EATTR + 2] =
1095 buffer1[ZIP_CD_OFF_EATTR + 3] = 0; 1095 buffer1[ZIP_CD_OFF_EATTR + 3] = 0;
1096 1096
1097 // relative offset of local header [42->45] 1097 // relative offset of local header [42->45]
1098 setULong(h->lhOffset, buffer1, ZIP_CD_OFF_LHOFF); 1098 setULong(h->lhOffset, buffer1, ZIP_CD_OFF_LHOFF);
1099 1099
1100 if (device->write(buffer1, ZIP_CD_SIZE) != ZIP_CD_SIZE) 1100 if (device->write(buffer1, ZIP_CD_SIZE) != ZIP_CD_SIZE)
1101 { 1101 {
1102 //! \todo See if we can detect QFile objects using the Qt Meta Object System 1102 //! \todo See if we can detect QFile objects using the Qt Meta Object System
1103 /* 1103 /*
1104 if (!device->remove()) 1104 if (!device->remove())
1105 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName()); 1105 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
1106 */ 1106 */
1107 return Zip::WriteFailed; 1107 return Zip::WriteFailed;
1108 } 1108 }
1109 1109
1110 // Write out filename 1110 // Write out filename
1111 if ((unsigned int)device->write(fileNameBytes) != sz) 1111 if ((unsigned int)device->write(fileNameBytes) != sz)
1112 { 1112 {
1113 //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System 1113 //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
1114 /* 1114 /*
1115 if (!device->remove()) 1115 if (!device->remove())
1116 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName()); 1116 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
1117 */ 1117 */
1118 return Zip::WriteFailed; 1118 return Zip::WriteFailed;
1119 } 1119 }
1120 1120
1121 szCentralDir += (ZIP_CD_SIZE + sz); 1121 szCentralDir += (ZIP_CD_SIZE + sz);
1122 1122
1123 } // central dir headers loop 1123 } // central dir headers loop
1124 1124
1125 1125
1126 // Write end of central directory 1126 // Write end of central directory
1127 1127
1128 // signature 1128 // signature
1129 buffer1[0] = 'P'; 1129 buffer1[0] = 'P';
1130 buffer1[1] = 'K'; 1130 buffer1[1] = 'K';
1131 buffer1[2] = 0x05; 1131 buffer1[2] = 0x05;
1132 buffer1[3] = 0x06; 1132 buffer1[3] = 0x06;
1133 1133
1134 // number of this disk 1134 // number of this disk
1135 buffer1[ZIP_EOCD_OFF_DISKNUM] = buffer1[ZIP_EOCD_OFF_DISKNUM + 1] = 0; 1135 buffer1[ZIP_EOCD_OFF_DISKNUM] = buffer1[ZIP_EOCD_OFF_DISKNUM + 1] = 0;
1136 1136
1137 // number of disk with central directory 1137 // number of disk with central directory
1138 buffer1[ZIP_EOCD_OFF_CDDISKNUM] = buffer1[ZIP_EOCD_OFF_CDDISKNUM + 1] = 0; 1138 buffer1[ZIP_EOCD_OFF_CDDISKNUM] = buffer1[ZIP_EOCD_OFF_CDDISKNUM + 1] = 0;
1139 1139
1140 // number of entries in this disk 1140 // number of entries in this disk
1141 sz = headers->count(); 1141 sz = headers->count();
1142 buffer1[ZIP_EOCD_OFF_ENTRIES] = sz & 0xFF; 1142 buffer1[ZIP_EOCD_OFF_ENTRIES] = sz & 0xFF;
1143 buffer1[ZIP_EOCD_OFF_ENTRIES + 1] = (sz >> 8) & 0xFF; 1143 buffer1[ZIP_EOCD_OFF_ENTRIES + 1] = (sz >> 8) & 0xFF;
1144 1144
1145 // total number of entries 1145 // total number of entries
1146 buffer1[ZIP_EOCD_OFF_CDENTRIES] = buffer1[ZIP_EOCD_OFF_ENTRIES]; 1146 buffer1[ZIP_EOCD_OFF_CDENTRIES] = buffer1[ZIP_EOCD_OFF_ENTRIES];
1147 buffer1[ZIP_EOCD_OFF_CDENTRIES + 1] = buffer1[ZIP_EOCD_OFF_ENTRIES + 1]; 1147 buffer1[ZIP_EOCD_OFF_CDENTRIES + 1] = buffer1[ZIP_EOCD_OFF_ENTRIES + 1];
1148 1148
1149 // size of central directory [12->15] 1149 // size of central directory [12->15]
1150 setULong(szCentralDir, buffer1, ZIP_EOCD_OFF_CDSIZE); 1150 setULong(szCentralDir, buffer1, ZIP_EOCD_OFF_CDSIZE);
1151 1151
1152 // central dir offset [16->19] 1152 // central dir offset [16->19]
1153 setULong(offCentralDir, buffer1, ZIP_EOCD_OFF_CDOFF); 1153 setULong(offCentralDir, buffer1, ZIP_EOCD_OFF_CDOFF);
1154 1154
1155 // ZIP file comment length 1155 // ZIP file comment length
1156 QByteArray commentBytes = comment.toAscii(); 1156 QByteArray commentBytes = comment.toAscii();
1157 quint16 commentLength = commentBytes.size(); 1157 quint16 commentLength = commentBytes.size();
1158 1158
1159 if (commentLength == 0) 1159 if (commentLength == 0)
1160 { 1160 {
1161 buffer1[ZIP_EOCD_OFF_COMMLEN] = buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = 0; 1161 buffer1[ZIP_EOCD_OFF_COMMLEN] = buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = 0;
1162 } 1162 }
1163 else 1163 else
1164 { 1164 {
1165 buffer1[ZIP_EOCD_OFF_COMMLEN] = commentLength & 0xFF; 1165 buffer1[ZIP_EOCD_OFF_COMMLEN] = commentLength & 0xFF;
1166 buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = (commentLength >> 8) & 0xFF; 1166 buffer1[ZIP_EOCD_OFF_COMMLEN + 1] = (commentLength >> 8) & 0xFF;
1167 } 1167 }
1168 1168
1169 if (device->write(buffer1, ZIP_EOCD_SIZE) != ZIP_EOCD_SIZE) 1169 if (device->write(buffer1, ZIP_EOCD_SIZE) != ZIP_EOCD_SIZE)
1170 { 1170 {
1171 //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System 1171 //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
1172 /* 1172 /*
1173 if (!device->remove()) 1173 if (!device->remove())
1174 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName()); 1174 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
1175 */ 1175 */
1176 return Zip::WriteFailed; 1176 return Zip::WriteFailed;
1177 } 1177 }
1178 1178
1179 if (commentLength != 0) 1179 if (commentLength != 0)
1180 { 1180 {
1181 if ((unsigned int)device->write(commentBytes) != commentLength) 1181 if ((unsigned int)device->write(commentBytes) != commentLength)
1182 { 1182 {
1183 //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System 1183 //! \todo SAME AS ABOVE: See if we can detect QFile objects using the Qt Meta Object System
1184 /* 1184 /*
1185 if (!device->remove()) 1185 if (!device->remove())
1186 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName()); 1186 qDebug() << tr("Unable to delete corrupted archive: %1").arg(device->fileName());
1187 */ 1187 */
1188 return Zip::WriteFailed; 1188 return Zip::WriteFailed;
1189 } 1189 }
1190 } 1190 }
1191 1191
1192 return Zip::Ok; 1192 return Zip::Ok;
1193} 1193}
1194 1194
1195//! \internal 1195//! \internal
1196void ZipPrivate::reset() 1196void ZipPrivate::reset()
1197{ 1197{
1198 comment.clear(); 1198 comment.clear();
1199 1199
1200 if (headers != 0) 1200 if (headers != 0)
1201 { 1201 {
1202 qDeleteAll(*headers); 1202 qDeleteAll(*headers);
1203 delete headers; 1203 delete headers;
1204 headers = 0; 1204 headers = 0;
1205 } 1205 }
1206 1206
1207 delete device; device = 0; 1207 delete device; device = 0;
1208} 1208}
1209 1209
1210//! \internal Returns the path of the parent directory 1210//! \internal Returns the path of the parent directory
1211QString ZipPrivate::extractRoot(const QString& p) 1211QString ZipPrivate::extractRoot(const QString& p)
1212{ 1212{
1213 QDir d(QDir::cleanPath(p)); 1213 QDir d(QDir::cleanPath(p));
1214 if (!d.exists()) 1214 if (!d.exists())
1215 return QString(); 1215 return QString();
1216 1216
1217 if (!d.cdUp()) 1217 if (!d.cdUp())
1218 return QString(); 1218 return QString();
1219 1219
1220 return d.absolutePath(); 1220 return d.absolutePath();
1221} 1221}
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 @@
1/**************************************************************************** 1/****************************************************************************
2** Filename: zip.h 2** Filename: zip.h
3** Last updated [dd/mm/yyyy]: 01/02/2007 3** Last updated [dd/mm/yyyy]: 01/02/2007
4** 4**
5** pkzip 2.0 file compression. 5** pkzip 2.0 file compression.
6** 6**
7** Some of the code has been inspired by other open source projects, 7** Some of the code has been inspired by other open source projects,
8** (mainly Info-Zip and Gilles Vollant's minizip). 8** (mainly Info-Zip and Gilles Vollant's minizip).
9** Compression and decompression actually uses the zlib library. 9** Compression and decompression actually uses the zlib library.
10** 10**
11** Copyright (C) 2007 Angius Fabrizio. All rights reserved. 11** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
12** 12**
13** This file is part of the OSDaB project (http://osdab.sourceforge.net/). 13** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22** 22**
23** See the file LICENSE.GPL that came with this software distribution or 23** See the file LICENSE.GPL that came with this software distribution or
24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information. 24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28#ifndef OSDAB_ZIP__H 28#ifndef OSDAB_ZIP__H
29#define OSDAB_ZIP__H 29#define OSDAB_ZIP__H
30 30
31#include <QtGlobal> 31#include <QtGlobal>
32#include <QMap> 32#include <QMap>
33 33
34#include <zlib/zlib.h> 34#include <zlib/zlib.h>
35 35
36class ZipPrivate; 36class ZipPrivate;
37 37
38class QIODevice; 38class QIODevice;
39class QFile; 39class QFile;
40class QDir; 40class QDir;
41class QStringList; 41class QStringList;
42class QString; 42class QString;
43 43
44 44
45class Zip 45class Zip
46{ 46{
47public: 47public:
48 enum ErrorCode 48 enum ErrorCode
49 { 49 {
50 Ok, 50 Ok,
51 ZlibInit, 51 ZlibInit,
52 ZlibError, 52 ZlibError,
53 FileExists, 53 FileExists,
54 OpenFailed, 54 OpenFailed,
55 NoOpenArchive, 55 NoOpenArchive,
56 FileNotFound, 56 FileNotFound,
57 ReadFailed, 57 ReadFailed,
58 WriteFailed, 58 WriteFailed,
59 SeekFailed 59 SeekFailed
60 }; 60 };
61 61
62 enum CompressionLevel 62 enum CompressionLevel
63 { 63 {
64 Store, 64 Store,
65 Deflate1 = 1, Deflate2, Deflate3, Deflate4, 65 Deflate1 = 1, Deflate2, Deflate3, Deflate4,
66 Deflate5, Deflate6, Deflate7, Deflate8, Deflate9, 66 Deflate5, Deflate6, Deflate7, Deflate8, Deflate9,
67 AutoCPU, AutoMIME, AutoFull 67 AutoCPU, AutoMIME, AutoFull
68 }; 68 };
69 69
70 enum CompressionOption 70 enum CompressionOption
71 { 71 {
72 //! Does not preserve absolute paths in the zip file when adding a file/directory (default) 72 //! Does not preserve absolute paths in the zip file when adding a file/directory (default)
73 RelativePaths = 0x0001, 73 RelativePaths = 0x0001,
74 //! Preserve absolute paths 74 //! Preserve absolute paths
75 AbsolutePaths = 0x0002, 75 AbsolutePaths = 0x0002,
76 //! Do not store paths. All the files are put in the (evtl. user defined) root of the zip file 76 //! Do not store paths. All the files are put in the (evtl. user defined) root of the zip file
77 IgnorePaths = 0x0004 77 IgnorePaths = 0x0004
78 }; 78 };
79 Q_DECLARE_FLAGS(CompressionOptions, CompressionOption) 79 Q_DECLARE_FLAGS(CompressionOptions, CompressionOption)
80 80
81 Zip(); 81 Zip();
82 virtual ~Zip(); 82 virtual ~Zip();
83 83
84 bool isOpen() const; 84 bool isOpen() const;
85 85
86 void setPassword(const QString& pwd); 86 void setPassword(const QString& pwd);
87 void clearPassword(); 87 void clearPassword();
88 QString password() const; 88 QString password() const;
89 89
90 ErrorCode createArchive(const QString& file, bool overwrite = true); 90 ErrorCode createArchive(const QString& file, bool overwrite = true);
91 ErrorCode createArchive(QIODevice* device); 91 ErrorCode createArchive(QIODevice* device);
92 92
93 QString archiveComment() const; 93 QString archiveComment() const;
94 void setArchiveComment(const QString& comment); 94 void setArchiveComment(const QString& comment);
95 95
96 ErrorCode addDirectoryContents(const QString& path, CompressionLevel level = AutoFull); 96 ErrorCode addDirectoryContents(const QString& path, CompressionLevel level = AutoFull);
97 ErrorCode addDirectoryContents(const QString& path, const QString& root, CompressionLevel level = AutoFull); 97 ErrorCode addDirectoryContents(const QString& path, const QString& root, CompressionLevel level = AutoFull);
98 98
99 ErrorCode addDirectory(const QString& path, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull); 99 ErrorCode addDirectory(const QString& path, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull);
100 ErrorCode addDirectory(const QString& path, const QString& root, CompressionLevel level = AutoFull); 100 ErrorCode addDirectory(const QString& path, const QString& root, CompressionLevel level = AutoFull);
101 ErrorCode addDirectory(const QString& path, const QString& root, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull); 101 ErrorCode addDirectory(const QString& path, const QString& root, CompressionOptions options = RelativePaths, CompressionLevel level = AutoFull);
102 102
103 ErrorCode closeArchive(); 103 ErrorCode closeArchive();
104 104
105 QString formatError(ErrorCode c) const; 105 QString formatError(ErrorCode c) const;
106 106
107 virtual void progress() {} 107 virtual void progress() {}
108 108
109private: 109private:
110 ZipPrivate* d; 110 ZipPrivate* d;
111}; 111};
112 112
113Q_DECLARE_OPERATORS_FOR_FLAGS(Zip::CompressionOptions) 113Q_DECLARE_OPERATORS_FOR_FLAGS(Zip::CompressionOptions)
114 114
115#endif // OSDAB_ZIP__H 115#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 @@
1/**************************************************************************** 1/****************************************************************************
2** Filename: zip_p.h 2** Filename: zip_p.h
3** Last updated [dd/mm/yyyy]: 28/01/2007 3** Last updated [dd/mm/yyyy]: 28/01/2007
4** 4**
5** pkzip 2.0 file compression. 5** pkzip 2.0 file compression.
6** 6**
7** Some of the code has been inspired by other open source projects, 7** Some of the code has been inspired by other open source projects,
8** (mainly Info-Zip and Gilles Vollant's minizip). 8** (mainly Info-Zip and Gilles Vollant's minizip).
9** Compression and decompression actually uses the zlib library. 9** Compression and decompression actually uses the zlib library.
10** 10**
11** Copyright (C) 2007 Angius Fabrizio. All rights reserved. 11** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
12** 12**
13** This file is part of the OSDaB project (http://osdab.sourceforge.net/). 13** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22** 22**
23** See the file LICENSE.GPL that came with this software distribution or 23** See the file LICENSE.GPL that came with this software distribution or
24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information. 24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28// 28//
29// W A R N I N G 29// W A R N I N G
30// ------------- 30// -------------
31// 31//
32// This file is not part of the Zip/UnZip API. It exists purely as an 32// This file is not part of the Zip/UnZip API. It exists purely as an
33// implementation detail. This header file may change from version to 33// implementation detail. This header file may change from version to
34// version without notice, or even be removed. 34// version without notice, or even be removed.
35// 35//
36// We mean it. 36// We mean it.
37// 37//
38 38
39#ifndef OSDAB_ZIP_P__H 39#ifndef OSDAB_ZIP_P__H
40#define OSDAB_ZIP_P__H 40#define OSDAB_ZIP_P__H
41 41
42#include "zip.h" 42#include "zip.h"
43#include "zipentry_p.h" 43#include "zipentry_p.h"
44 44
45#include <QtGlobal> 45#include <QtGlobal>
46#include <QFileInfo> 46#include <QFileInfo>
47 47
48/*! 48/*!
49 zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate()) 49 zLib authors suggest using larger buffers (128K or 256K) for (de)compression (especially for inflate())
50 we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;) 50 we use a 256K buffer here - if you want to use this code on a pre-iceage mainframe please change it ;)
51*/ 51*/
52#define ZIP_READ_BUFFER (256*1024) 52#define ZIP_READ_BUFFER (256*1024)
53 53
54class ZipPrivate 54class ZipPrivate
55{ 55{
56public: 56public:
57 ZipPrivate(); 57 ZipPrivate();
58 virtual ~ZipPrivate(); 58 virtual ~ZipPrivate();
59 59
60 QMap<QString,ZipEntryP*>* headers; 60 QMap<QString,ZipEntryP*>* headers;
61 61
62 QIODevice* device; 62 QIODevice* device;
63 63
64 char buffer1[ZIP_READ_BUFFER]; 64 char buffer1[ZIP_READ_BUFFER];
65 char buffer2[ZIP_READ_BUFFER]; 65 char buffer2[ZIP_READ_BUFFER];
66 66
67 unsigned char* uBuffer; 67 unsigned char* uBuffer;
68 68
69 const quint32* crcTable; 69 const quint32* crcTable;
70 70
71 QString comment; 71 QString comment;
72 QString password; 72 QString password;
73 73
74 Zip::ErrorCode createArchive(QIODevice* device); 74 Zip::ErrorCode createArchive(QIODevice* device);
75 Zip::ErrorCode closeArchive(); 75 Zip::ErrorCode closeArchive();
76 void reset(); 76 void reset();
77 77
78 bool zLibInit(); 78 bool zLibInit();
79 79
80 Zip::ErrorCode createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level); 80 Zip::ErrorCode createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level);
81 Zip::CompressionLevel detectCompressionByMime(const QString& ext); 81 Zip::CompressionLevel detectCompressionByMime(const QString& ext);
82 82
83 inline void encryptBytes(quint32* keys, char* buffer, qint64 read); 83 inline void encryptBytes(quint32* keys, char* buffer, qint64 read);
84 84
85 inline void setULong(quint32 v, char* buffer, unsigned int offset); 85 inline void setULong(quint32 v, char* buffer, unsigned int offset);
86 inline void updateKeys(quint32* keys, int c) const; 86 inline void updateKeys(quint32* keys, int c) const;
87 inline void initKeys(quint32* keys) const; 87 inline void initKeys(quint32* keys) const;
88 inline int decryptByte(quint32 key2) const; 88 inline int decryptByte(quint32 key2) const;
89 89
90 inline QString extractRoot(const QString& p); 90 inline QString extractRoot(const QString& p);
91}; 91};
92 92
93#endif // OSDAB_ZIP_P__H 93#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 @@
1/**************************************************************************** 1/****************************************************************************
2** Filename: ZipEntryP.h 2** Filename: ZipEntryP.h
3** Last updated [dd/mm/yyyy]: 28/01/2007 3** Last updated [dd/mm/yyyy]: 28/01/2007
4** 4**
5** Wrapper for a ZIP local header. 5** Wrapper for a ZIP local header.
6** 6**
7** Some of the code has been inspired by other open source projects, 7** Some of the code has been inspired by other open source projects,
8** (mainly Info-Zip and Gilles Vollant's minizip). 8** (mainly Info-Zip and Gilles Vollant's minizip).
9** Compression and decompression actually uses the zlib library. 9** Compression and decompression actually uses the zlib library.
10** 10**
11** Copyright (C) 2007 Angius Fabrizio. All rights reserved. 11** Copyright (C) 2007 Angius Fabrizio. All rights reserved.
12** 12**
13** This file is part of the OSDaB project (http://osdab.sourceforge.net/). 13** This file is part of the OSDaB project (http://osdab.sourceforge.net/).
14** 14**
15** This file may be distributed and/or modified under the terms of the 15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software 16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the 17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file. 18** packaging of this file.
19** 19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22** 22**
23** See the file LICENSE.GPL that came with this software distribution or 23** See the file LICENSE.GPL that came with this software distribution or
24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information. 24** visit http://www.gnu.org/copyleft/gpl.html for GPL licensing information.
25** 25**
26**********************************************************************/ 26**********************************************************************/
27 27
28// 28//
29// W A R N I N G 29// W A R N I N G
30// ------------- 30// -------------
31// 31//
32// This file is not part of the Zip/UnZip API. It exists purely as an 32// This file is not part of the Zip/UnZip API. It exists purely as an
33// implementation detail. This header file may change from version to 33// implementation detail. This header file may change from version to
34// version without notice, or even be removed. 34// version without notice, or even be removed.
35// 35//
36// We mean it. 36// We mean it.
37// 37//
38 38
39#ifndef OSDAB_ZIPENTRY_P__H 39#ifndef OSDAB_ZIPENTRY_P__H
40#define OSDAB_ZIPENTRY_P__H 40#define OSDAB_ZIPENTRY_P__H
41 41
42#include <QtGlobal> 42#include <QtGlobal>
43#include <QString> 43#include <QString>
44 44
45class ZipEntryP 45class ZipEntryP
46{ 46{
47public: 47public:
48 ZipEntryP() 48 ZipEntryP()
49 { 49 {
50 lhOffset = 0; 50 lhOffset = 0;
51 dataOffset = 0; 51 dataOffset = 0;
52 gpFlag[0] = gpFlag[1] = 0; 52 gpFlag[0] = gpFlag[1] = 0;
53 compMethod = 0; 53 compMethod = 0;
54 modTime[0] = modTime[1] = 0; 54 modTime[0] = modTime[1] = 0;
55 modDate[0] = modDate[1] = 0; 55 modDate[0] = modDate[1] = 0;
56 crc = 0; 56 crc = 0;
57 szComp = szUncomp = 0; 57 szComp = szUncomp = 0;
58 lhEntryChecked = false; 58 lhEntryChecked = false;
59 } 59 }
60 60
61 quint32 lhOffset; // Offset of the local header record for this entry 61 quint32 lhOffset; // Offset of the local header record for this entry
62 quint32 dataOffset; // Offset of the file data for this entry 62 quint32 dataOffset; // Offset of the file data for this entry
63 unsigned char gpFlag[2]; // General purpose flag 63 unsigned char gpFlag[2]; // General purpose flag
64 quint16 compMethod; // Compression method 64 quint16 compMethod; // Compression method
65 unsigned char modTime[2]; // Last modified time 65 unsigned char modTime[2]; // Last modified time
66 unsigned char modDate[2]; // Last modified date 66 unsigned char modDate[2]; // Last modified date
67 quint32 crc; // CRC32 67 quint32 crc; // CRC32
68 quint32 szComp; // Compressed file size 68 quint32 szComp; // Compressed file size
69 quint32 szUncomp; // Uncompressed file size 69 quint32 szUncomp; // Uncompressed file size
70 QString comment; // File comment 70 QString comment; // File comment
71 71
72 bool lhEntryChecked; // Is true if the local header record for this entry has been parsed 72 bool lhEntryChecked; // Is true if the local header record for this entry has been parsed
73 73
74 inline bool isEncrypted() const { return gpFlag[0] & 0x01; } 74 inline bool isEncrypted() const { return gpFlag[0] & 0x01; }
75 inline bool hasDataDescriptor() const { return gpFlag[0] & 0x08; } 75 inline bool hasDataDescriptor() const { return gpFlag[0] & 0x08; }
76}; 76};
77 77
78#endif // OSDAB_ZIPENTRY_P__H 78#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 @@
1/* zconf.h -- configuration of the zlib compression library 1/* zconf.h -- configuration of the zlib compression library
2 * Copyright (C) 1995-2004 Jean-loup Gailly. 2 * Copyright (C) 1995-2004 Jean-loup Gailly.
3 * For conditions of distribution and use, see copyright notice in zlib.h 3 * For conditions of distribution and use, see copyright notice in zlib.h
4 */ 4 */
5 5
6/* @(#) $Id$ */ 6/* @(#) $Id$ */
7 7
8#ifndef ZCONF_H 8#ifndef ZCONF_H
9#define ZCONF_H 9#define ZCONF_H
10 10
11/* 11/*
12 * If you *really* need a unique prefix for all types and library functions, 12 * If you *really* need a unique prefix for all types and library functions,
13 * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. 13 * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
14 */ 14 */
15#ifdef Z_PREFIX 15#ifdef Z_PREFIX
16# define deflateInit_ z_deflateInit_ 16# define deflateInit_ z_deflateInit_
17# define deflate z_deflate 17# define deflate z_deflate
18# define deflateEnd z_deflateEnd 18# define deflateEnd z_deflateEnd
19# define inflateInit_ z_inflateInit_ 19# define inflateInit_ z_inflateInit_
20# define inflate z_inflate 20# define inflate z_inflate
21# define inflateEnd z_inflateEnd 21# define inflateEnd z_inflateEnd
22# define deflateInit2_ z_deflateInit2_ 22# define deflateInit2_ z_deflateInit2_
23# define deflateSetDictionary z_deflateSetDictionary 23# define deflateSetDictionary z_deflateSetDictionary
24# define deflateCopy z_deflateCopy 24# define deflateCopy z_deflateCopy
25# define deflateReset z_deflateReset 25# define deflateReset z_deflateReset
26# define deflateParams z_deflateParams 26# define deflateParams z_deflateParams
27# define deflateBound z_deflateBound 27# define deflateBound z_deflateBound
28# define deflatePrime z_deflatePrime 28# define deflatePrime z_deflatePrime
29# define inflateInit2_ z_inflateInit2_ 29# define inflateInit2_ z_inflateInit2_
30# define inflateSetDictionary z_inflateSetDictionary 30# define inflateSetDictionary z_inflateSetDictionary
31# define inflateSync z_inflateSync 31# define inflateSync z_inflateSync
32# define inflateSyncPoint z_inflateSyncPoint 32# define inflateSyncPoint z_inflateSyncPoint
33# define inflateCopy z_inflateCopy 33# define inflateCopy z_inflateCopy
34# define inflateReset z_inflateReset 34# define inflateReset z_inflateReset
35# define inflateBack z_inflateBack 35# define inflateBack z_inflateBack
36# define inflateBackEnd z_inflateBackEnd 36# define inflateBackEnd z_inflateBackEnd
37# define compress z_compress 37# define compress z_compress
38# define compress2 z_compress2 38# define compress2 z_compress2
39# define compressBound z_compressBound 39# define compressBound z_compressBound
40# define uncompress z_uncompress 40# define uncompress z_uncompress
41# define adler32 z_adler32 41# define adler32 z_adler32
42# define crc32 z_crc32 42# define crc32 z_crc32
43# define get_crc_table z_get_crc_table 43# define get_crc_table z_get_crc_table
44# define zError z_zError 44# define zError z_zError
45 45
46# define Byte z_Byte 46# define Byte z_Byte
47# define uInt z_uInt 47# define uInt z_uInt
48# define uLong z_uLong 48# define uLong z_uLong
49# define Bytef z_Bytef 49# define Bytef z_Bytef
50# define charf z_charf 50# define charf z_charf
51# define intf z_intf 51# define intf z_intf
52# define uIntf z_uIntf 52# define uIntf z_uIntf
53# define uLongf z_uLongf 53# define uLongf z_uLongf
54# define voidpf z_voidpf 54# define voidpf z_voidpf
55# define voidp z_voidp 55# define voidp z_voidp
56#endif 56#endif
57 57
58#if defined(__MSDOS__) && !defined(MSDOS) 58#if defined(__MSDOS__) && !defined(MSDOS)
59# define MSDOS 59# define MSDOS
60#endif 60#endif
61#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) 61#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
62# define OS2 62# define OS2
63#endif 63#endif
64#if defined(_WINDOWS) && !defined(WINDOWS) 64#if defined(_WINDOWS) && !defined(WINDOWS)
65# define WINDOWS 65# define WINDOWS
66#endif 66#endif
67#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) 67#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
68# define WIN32 68# define WIN32
69#endif 69#endif
70#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) 70#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
71# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) 71# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
72# ifndef SYS16BIT 72# ifndef SYS16BIT
73# define SYS16BIT 73# define SYS16BIT
74# endif 74# endif
75# endif 75# endif
76#endif 76#endif
77 77
78/* 78/*
79 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 79 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
80 * than 64k bytes at a time (needed on systems with 16-bit int). 80 * than 64k bytes at a time (needed on systems with 16-bit int).
81 */ 81 */
82#ifdef SYS16BIT 82#ifdef SYS16BIT
83# define MAXSEG_64K 83# define MAXSEG_64K
84#endif 84#endif
85#ifdef MSDOS 85#ifdef MSDOS
86# define UNALIGNED_OK 86# define UNALIGNED_OK
87#endif 87#endif
88 88
89#ifdef __STDC_VERSION__ 89#ifdef __STDC_VERSION__
90# ifndef STDC 90# ifndef STDC
91# define STDC 91# define STDC
92# endif 92# endif
93# if __STDC_VERSION__ >= 199901L 93# if __STDC_VERSION__ >= 199901L
94# ifndef STDC99 94# ifndef STDC99
95# define STDC99 95# define STDC99
96# endif 96# endif
97# endif 97# endif
98#endif 98#endif
99#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) 99#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
100# define STDC 100# define STDC
101#endif 101#endif
102#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) 102#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
103# define STDC 103# define STDC
104#endif 104#endif
105#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) 105#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
106# define STDC 106# define STDC
107#endif 107#endif
108#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) 108#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
109# define STDC 109# define STDC
110#endif 110#endif
111 111
112#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ 112#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
113# define STDC 113# define STDC
114#endif 114#endif
115 115
116#ifndef STDC 116#ifndef STDC
117# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 117# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
118# define const /* note: need a more gentle solution here */ 118# define const /* note: need a more gentle solution here */
119# endif 119# endif
120#endif 120#endif
121 121
122/* Some Mac compilers merge all .h files incorrectly: */ 122/* Some Mac compilers merge all .h files incorrectly: */
123#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) 123#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
124# define NO_DUMMY_DECL 124# define NO_DUMMY_DECL
125#endif 125#endif
126 126
127/* Maximum value for memLevel in deflateInit2 */ 127/* Maximum value for memLevel in deflateInit2 */
128#ifndef MAX_MEM_LEVEL 128#ifndef MAX_MEM_LEVEL
129# ifdef MAXSEG_64K 129# ifdef MAXSEG_64K
130# define MAX_MEM_LEVEL 8 130# define MAX_MEM_LEVEL 8
131# else 131# else
132# define MAX_MEM_LEVEL 9 132# define MAX_MEM_LEVEL 9
133# endif 133# endif
134#endif 134#endif
135 135
136/* Maximum value for windowBits in deflateInit2 and inflateInit2. 136/* Maximum value for windowBits in deflateInit2 and inflateInit2.
137 * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 137 * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
138 * created by gzip. (Files created by minigzip can still be extracted by 138 * created by gzip. (Files created by minigzip can still be extracted by
139 * gzip.) 139 * gzip.)
140 */ 140 */
141#ifndef MAX_WBITS 141#ifndef MAX_WBITS
142# define MAX_WBITS 15 /* 32K LZ77 window */ 142# define MAX_WBITS 15 /* 32K LZ77 window */
143#endif 143#endif
144 144
145/* The memory requirements for deflate are (in bytes): 145/* The memory requirements for deflate are (in bytes):
146 (1 << (windowBits+2)) + (1 << (memLevel+9)) 146 (1 << (windowBits+2)) + (1 << (memLevel+9))
147 that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 147 that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
148 plus a few kilobytes for small objects. For example, if you want to reduce 148 plus a few kilobytes for small objects. For example, if you want to reduce
149 the default memory requirements from 256K to 128K, compile with 149 the default memory requirements from 256K to 128K, compile with
150 make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 150 make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
151 Of course this will generally degrade compression (there's no free lunch). 151 Of course this will generally degrade compression (there's no free lunch).
152 152
153 The memory requirements for inflate are (in bytes) 1 << windowBits 153 The memory requirements for inflate are (in bytes) 1 << windowBits
154 that is, 32K for windowBits=15 (default value) plus a few kilobytes 154 that is, 32K for windowBits=15 (default value) plus a few kilobytes
155 for small objects. 155 for small objects.
156*/ 156*/
157 157
158 /* Type declarations */ 158 /* Type declarations */
159 159
160#ifndef OF /* function prototypes */ 160#ifndef OF /* function prototypes */
161# ifdef STDC 161# ifdef STDC
162# define OF(args) args 162# define OF(args) args
163# else 163# else
164# define OF(args) () 164# define OF(args) ()
165# endif 165# endif
166#endif 166#endif
167 167
168/* The following definitions for FAR are needed only for MSDOS mixed 168/* The following definitions for FAR are needed only for MSDOS mixed
169 * model programming (small or medium model with some far allocations). 169 * model programming (small or medium model with some far allocations).
170 * This was tested only with MSC; for other MSDOS compilers you may have 170 * This was tested only with MSC; for other MSDOS compilers you may have
171 * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 171 * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
172 * just define FAR to be empty. 172 * just define FAR to be empty.
173 */ 173 */
174#ifdef SYS16BIT 174#ifdef SYS16BIT
175# if defined(M_I86SM) || defined(M_I86MM) 175# if defined(M_I86SM) || defined(M_I86MM)
176 /* MSC small or medium model */ 176 /* MSC small or medium model */
177# define SMALL_MEDIUM 177# define SMALL_MEDIUM
178# ifdef _MSC_VER 178# ifdef _MSC_VER
179# define FAR _far 179# define FAR _far
180# else 180# else
181# define FAR far 181# define FAR far
182# endif 182# endif
183# endif 183# endif
184# if (defined(__SMALL__) || defined(__MEDIUM__)) 184# if (defined(__SMALL__) || defined(__MEDIUM__))
185 /* Turbo C small or medium model */ 185 /* Turbo C small or medium model */
186# define SMALL_MEDIUM 186# define SMALL_MEDIUM
187# ifdef __BORLANDC__ 187# ifdef __BORLANDC__
188# define FAR _far 188# define FAR _far
189# else 189# else
190# define FAR far 190# define FAR far
191# endif 191# endif
192# endif 192# endif
193#endif 193#endif
194 194
195#if defined(WINDOWS) || defined(WIN32) 195#if defined(WINDOWS) || defined(WIN32)
196 /* If building or using zlib as a DLL, define ZLIB_DLL. 196 /* If building or using zlib as a DLL, define ZLIB_DLL.
197 * This is not mandatory, but it offers a little performance increase. 197 * This is not mandatory, but it offers a little performance increase.
198 */ 198 */
199# ifdef ZLIB_DLL 199# ifdef ZLIB_DLL
200# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) 200# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
201# ifdef ZLIB_INTERNAL 201# ifdef ZLIB_INTERNAL
202# define ZEXTERN extern __declspec(dllexport) 202# define ZEXTERN extern __declspec(dllexport)
203# else 203# else
204# define ZEXTERN extern __declspec(dllimport) 204# define ZEXTERN extern __declspec(dllimport)
205# endif 205# endif
206# endif 206# endif
207# endif /* ZLIB_DLL */ 207# endif /* ZLIB_DLL */
208 /* If building or using zlib with the WINAPI/WINAPIV calling convention, 208 /* If building or using zlib with the WINAPI/WINAPIV calling convention,
209 * define ZLIB_WINAPI. 209 * define ZLIB_WINAPI.
210 * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. 210 * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
211 */ 211 */
212# ifdef ZLIB_WINAPI 212# ifdef ZLIB_WINAPI
213# ifdef FAR 213# ifdef FAR
214# undef FAR 214# undef FAR
215# endif 215# endif
216# include <windows.h> 216# include <windows.h>
217 /* No need for _export, use ZLIB.DEF instead. */ 217 /* No need for _export, use ZLIB.DEF instead. */
218 /* For complete Windows compatibility, use WINAPI, not __stdcall. */ 218 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
219# define ZEXPORT WINAPI 219# define ZEXPORT WINAPI
220# ifdef WIN32 220# ifdef WIN32
221# define ZEXPORTVA WINAPIV 221# define ZEXPORTVA WINAPIV
222# else 222# else
223# define ZEXPORTVA FAR CDECL 223# define ZEXPORTVA FAR CDECL
224# endif 224# endif
225# endif 225# endif
226#endif 226#endif
227 227
228#if defined (__BEOS__) 228#if defined (__BEOS__)
229# ifdef ZLIB_DLL 229# ifdef ZLIB_DLL
230# ifdef ZLIB_INTERNAL 230# ifdef ZLIB_INTERNAL
231# define ZEXPORT __declspec(dllexport) 231# define ZEXPORT __declspec(dllexport)
232# define ZEXPORTVA __declspec(dllexport) 232# define ZEXPORTVA __declspec(dllexport)
233# else 233# else
234# define ZEXPORT __declspec(dllimport) 234# define ZEXPORT __declspec(dllimport)
235# define ZEXPORTVA __declspec(dllimport) 235# define ZEXPORTVA __declspec(dllimport)
236# endif 236# endif
237# endif 237# endif
238#endif 238#endif
239 239
240#ifndef ZEXTERN 240#ifndef ZEXTERN
241# define ZEXTERN extern 241# define ZEXTERN extern
242#endif 242#endif
243#ifndef ZEXPORT 243#ifndef ZEXPORT
244# define ZEXPORT 244# define ZEXPORT
245#endif 245#endif
246#ifndef ZEXPORTVA 246#ifndef ZEXPORTVA
247# define ZEXPORTVA 247# define ZEXPORTVA
248#endif 248#endif
249 249
250#ifndef FAR 250#ifndef FAR
251# define FAR 251# define FAR
252#endif 252#endif
253 253
254#if !defined(__MACTYPES__) 254#if !defined(__MACTYPES__)
255typedef unsigned char Byte; /* 8 bits */ 255typedef unsigned char Byte; /* 8 bits */
256#endif 256#endif
257typedef unsigned int uInt; /* 16 bits or more */ 257typedef unsigned int uInt; /* 16 bits or more */
258typedef unsigned long uLong; /* 32 bits or more */ 258typedef unsigned long uLong; /* 32 bits or more */
259 259
260#ifdef SMALL_MEDIUM 260#ifdef SMALL_MEDIUM
261 /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 261 /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
262# define Bytef Byte FAR 262# define Bytef Byte FAR
263#else 263#else
264 typedef Byte FAR Bytef; 264 typedef Byte FAR Bytef;
265#endif 265#endif
266typedef char FAR charf; 266typedef char FAR charf;
267typedef int FAR intf; 267typedef int FAR intf;
268typedef uInt FAR uIntf; 268typedef uInt FAR uIntf;
269typedef uLong FAR uLongf; 269typedef uLong FAR uLongf;
270 270
271#ifdef STDC 271#ifdef STDC
272 typedef void const *voidpc; 272 typedef void const *voidpc;
273 typedef void FAR *voidpf; 273 typedef void FAR *voidpf;
274 typedef void *voidp; 274 typedef void *voidp;
275#else 275#else
276 typedef Byte const *voidpc; 276 typedef Byte const *voidpc;
277 typedef Byte FAR *voidpf; 277 typedef Byte FAR *voidpf;
278 typedef Byte *voidp; 278 typedef Byte *voidp;
279#endif 279#endif
280 280
281#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ 281#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
282# include <sys/types.h> /* for off_t */ 282# include <sys/types.h> /* for off_t */
283# include <unistd.h> /* for SEEK_* and off_t */ 283# include <unistd.h> /* for SEEK_* and off_t */
284# ifdef VMS 284# ifdef VMS
285# include <unixio.h> /* for off_t */ 285# include <unixio.h> /* for off_t */
286# endif 286# endif
287# define z_off_t off_t 287# define z_off_t off_t
288#endif 288#endif
289#ifndef SEEK_SET 289#ifndef SEEK_SET
290# define SEEK_SET 0 /* Seek from beginning of file. */ 290# define SEEK_SET 0 /* Seek from beginning of file. */
291# define SEEK_CUR 1 /* Seek from current position. */ 291# define SEEK_CUR 1 /* Seek from current position. */
292# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 292# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
293#endif 293#endif
294#ifndef z_off_t 294#ifndef z_off_t
295# define z_off_t long 295# define z_off_t long
296#endif 296#endif
297 297
298#if defined(__OS400__) 298#if defined(__OS400__)
299# define NO_vsnprintf 299# define NO_vsnprintf
300#endif 300#endif
301 301
302#if defined(__MVS__) 302#if defined(__MVS__)
303# define NO_vsnprintf 303# define NO_vsnprintf
304# ifdef FAR 304# ifdef FAR
305# undef FAR 305# undef FAR
306# endif 306# endif
307#endif 307#endif
308 308
309/* MVS linker does not support external names larger than 8 bytes */ 309/* MVS linker does not support external names larger than 8 bytes */
310#if defined(__MVS__) 310#if defined(__MVS__)
311# pragma map(deflateInit_,"DEIN") 311# pragma map(deflateInit_,"DEIN")
312# pragma map(deflateInit2_,"DEIN2") 312# pragma map(deflateInit2_,"DEIN2")
313# pragma map(deflateEnd,"DEEND") 313# pragma map(deflateEnd,"DEEND")
314# pragma map(deflateBound,"DEBND") 314# pragma map(deflateBound,"DEBND")
315# pragma map(inflateInit_,"ININ") 315# pragma map(inflateInit_,"ININ")
316# pragma map(inflateInit2_,"ININ2") 316# pragma map(inflateInit2_,"ININ2")
317# pragma map(inflateEnd,"INEND") 317# pragma map(inflateEnd,"INEND")
318# pragma map(inflateSync,"INSY") 318# pragma map(inflateSync,"INSY")
319# pragma map(inflateSetDictionary,"INSEDI") 319# pragma map(inflateSetDictionary,"INSEDI")
320# pragma map(compressBound,"CMBND") 320# pragma map(compressBound,"CMBND")
321# pragma map(inflate_table,"INTABL") 321# pragma map(inflate_table,"INTABL")
322# pragma map(inflate_fast,"INFA") 322# pragma map(inflate_fast,"INFA")
323# pragma map(inflate_copyright,"INCOPY") 323# pragma map(inflate_copyright,"INCOPY")
324#endif 324#endif
325 325
326#endif /* ZCONF_H */ 326#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 @@
1/* zlib.h -- interface of the 'zlib' general purpose compression library 1/* zlib.h -- interface of the 'zlib' general purpose compression library
2 version 1.2.2, October 3rd, 2004 2 version 1.2.2, October 3rd, 2004
3 3
4 Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler 4 Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
5 5
6 This software is provided 'as-is', without any express or implied 6 This software is provided 'as-is', without any express or implied
7 warranty. In no event will the authors be held liable for any damages 7 warranty. In no event will the authors be held liable for any damages
8 arising from the use of this software. 8 arising from the use of this software.
9 9
10 Permission is granted to anyone to use this software for any purpose, 10 Permission is granted to anyone to use this software for any purpose,
11 including commercial applications, and to alter it and redistribute it 11 including commercial applications, and to alter it and redistribute it
12 freely, subject to the following restrictions: 12 freely, subject to the following restrictions:
13 13
14 1. The origin of this software must not be misrepresented; you must not 14 1. The origin of this software must not be misrepresented; you must not
15 claim that you wrote the original software. If you use this software 15 claim that you wrote the original software. If you use this software
16 in a product, an acknowledgment in the product documentation would be 16 in a product, an acknowledgment in the product documentation would be
17 appreciated but is not required. 17 appreciated but is not required.
18 2. Altered source versions must be plainly marked as such, and must not be 18 2. Altered source versions must be plainly marked as such, and must not be
19 misrepresented as being the original software. 19 misrepresented as being the original software.
20 3. This notice may not be removed or altered from any source distribution. 20 3. This notice may not be removed or altered from any source distribution.
21 21
22 Jean-loup Gailly Mark Adler 22 Jean-loup Gailly Mark Adler
23 jloup@gzip.org madler@alumni.caltech.edu 23 jloup@gzip.org madler@alumni.caltech.edu
24 24
25 25
26 The data format used by the zlib library is described by RFCs (Request for 26 The data format used by the zlib library is described by RFCs (Request for
27 Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt 27 Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
28 (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). 28 (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
29*/ 29*/
30 30
31#ifndef ZLIB_H 31#ifndef ZLIB_H
32#define ZLIB_H 32#define ZLIB_H
33 33
34#include "zconf.h" 34#include "zconf.h"
35 35
36#ifdef __cplusplus 36#ifdef __cplusplus
37extern "C" { 37extern "C" {
38#endif 38#endif
39 39
40#define ZLIB_VERSION "1.2.2" 40#define ZLIB_VERSION "1.2.2"
41#define ZLIB_VERNUM 0x1220 41#define ZLIB_VERNUM 0x1220
42 42
43/* 43/*
44 The 'zlib' compression library provides in-memory compression and 44 The 'zlib' compression library provides in-memory compression and
45 decompression functions, including integrity checks of the uncompressed 45 decompression functions, including integrity checks of the uncompressed
46 data. This version of the library supports only one compression method 46 data. This version of the library supports only one compression method
47 (deflation) but other algorithms will be added later and will have the same 47 (deflation) but other algorithms will be added later and will have the same
48 stream interface. 48 stream interface.
49 49
50 Compression can be done in a single step if the buffers are large 50 Compression can be done in a single step if the buffers are large
51 enough (for example if an input file is mmap'ed), or can be done by 51 enough (for example if an input file is mmap'ed), or can be done by
52 repeated calls of the compression function. In the latter case, the 52 repeated calls of the compression function. In the latter case, the
53 application must provide more input and/or consume the output 53 application must provide more input and/or consume the output
54 (providing more output space) before each call. 54 (providing more output space) before each call.
55 55
56 The compressed data format used by default by the in-memory functions is 56 The compressed data format used by default by the in-memory functions is
57 the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped 57 the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
58 around a deflate stream, which is itself documented in RFC 1951. 58 around a deflate stream, which is itself documented in RFC 1951.
59 59
60 The library also supports reading and writing files in gzip (.gz) format 60 The library also supports reading and writing files in gzip (.gz) format
61 with an interface similar to that of stdio using the functions that start 61 with an interface similar to that of stdio using the functions that start
62 with "gz". The gzip format is different from the zlib format. gzip is a 62 with "gz". The gzip format is different from the zlib format. gzip is a
63 gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. 63 gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
64 64
65 This library can optionally read and write gzip streams in memory as well. 65 This library can optionally read and write gzip streams in memory as well.
66 66
67 The zlib format was designed to be compact and fast for use in memory 67 The zlib format was designed to be compact and fast for use in memory
68 and on communications channels. The gzip format was designed for single- 68 and on communications channels. The gzip format was designed for single-
69 file compression on file systems, has a larger header than zlib to maintain 69 file compression on file systems, has a larger header than zlib to maintain
70 directory information, and uses a different, slower check method than zlib. 70 directory information, and uses a different, slower check method than zlib.
71 71
72 The library does not install any signal handler. The decoder checks 72 The library does not install any signal handler. The decoder checks
73 the consistency of the compressed data, so the library should never 73 the consistency of the compressed data, so the library should never
74 crash even in case of corrupted input. 74 crash even in case of corrupted input.
75*/ 75*/
76 76
77typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); 77typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
78typedef void (*free_func) OF((voidpf opaque, voidpf address)); 78typedef void (*free_func) OF((voidpf opaque, voidpf address));
79 79
80struct internal_state; 80struct internal_state;
81 81
82typedef struct z_stream_s { 82typedef struct z_stream_s {
83 Bytef *next_in; /* next input byte */ 83 Bytef *next_in; /* next input byte */
84 uInt avail_in; /* number of bytes available at next_in */ 84 uInt avail_in; /* number of bytes available at next_in */
85 uLong total_in; /* total nb of input bytes read so far */ 85 uLong total_in; /* total nb of input bytes read so far */
86 86
87 Bytef *next_out; /* next output byte should be put there */ 87 Bytef *next_out; /* next output byte should be put there */
88 uInt avail_out; /* remaining free space at next_out */ 88 uInt avail_out; /* remaining free space at next_out */
89 uLong total_out; /* total nb of bytes output so far */ 89 uLong total_out; /* total nb of bytes output so far */
90 90
91 char *msg; /* last error message, NULL if no error */ 91 char *msg; /* last error message, NULL if no error */
92 struct internal_state FAR *state; /* not visible by applications */ 92 struct internal_state FAR *state; /* not visible by applications */
93 93
94 alloc_func zalloc; /* used to allocate the internal state */ 94 alloc_func zalloc; /* used to allocate the internal state */
95 free_func zfree; /* used to free the internal state */ 95 free_func zfree; /* used to free the internal state */
96 voidpf opaque; /* private data object passed to zalloc and zfree */ 96 voidpf opaque; /* private data object passed to zalloc and zfree */
97 97
98 int data_type; /* best guess about the data type: ascii or binary */ 98 int data_type; /* best guess about the data type: ascii or binary */
99 uLong adler; /* adler32 value of the uncompressed data */ 99 uLong adler; /* adler32 value of the uncompressed data */
100 uLong reserved; /* reserved for future use */ 100 uLong reserved; /* reserved for future use */
101} z_stream; 101} z_stream;
102 102
103typedef z_stream FAR *z_streamp; 103typedef z_stream FAR *z_streamp;
104 104
105/* 105/*
106 The application must update next_in and avail_in when avail_in has 106 The application must update next_in and avail_in when avail_in has
107 dropped to zero. It must update next_out and avail_out when avail_out 107 dropped to zero. It must update next_out and avail_out when avail_out
108 has dropped to zero. The application must initialize zalloc, zfree and 108 has dropped to zero. The application must initialize zalloc, zfree and
109 opaque before calling the init function. All other fields are set by the 109 opaque before calling the init function. All other fields are set by the
110 compression library and must not be updated by the application. 110 compression library and must not be updated by the application.
111 111
112 The opaque value provided by the application will be passed as the first 112 The opaque value provided by the application will be passed as the first
113 parameter for calls of zalloc and zfree. This can be useful for custom 113 parameter for calls of zalloc and zfree. This can be useful for custom
114 memory management. The compression library attaches no meaning to the 114 memory management. The compression library attaches no meaning to the
115 opaque value. 115 opaque value.
116 116
117 zalloc must return Z_NULL if there is not enough memory for the object. 117 zalloc must return Z_NULL if there is not enough memory for the object.
118 If zlib is used in a multi-threaded application, zalloc and zfree must be 118 If zlib is used in a multi-threaded application, zalloc and zfree must be
119 thread safe. 119 thread safe.
120 120
121 On 16-bit systems, the functions zalloc and zfree must be able to allocate 121 On 16-bit systems, the functions zalloc and zfree must be able to allocate
122 exactly 65536 bytes, but will not be required to allocate more than this 122 exactly 65536 bytes, but will not be required to allocate more than this
123 if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, 123 if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
124 pointers returned by zalloc for objects of exactly 65536 bytes *must* 124 pointers returned by zalloc for objects of exactly 65536 bytes *must*
125 have their offset normalized to zero. The default allocation function 125 have their offset normalized to zero. The default allocation function
126 provided by this library ensures this (see zutil.c). To reduce memory 126 provided by this library ensures this (see zutil.c). To reduce memory
127 requirements and avoid any allocation of 64K objects, at the expense of 127 requirements and avoid any allocation of 64K objects, at the expense of
128 compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h). 128 compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
129 129
130 The fields total_in and total_out can be used for statistics or 130 The fields total_in and total_out can be used for statistics or
131 progress reports. After compression, total_in holds the total size of 131 progress reports. After compression, total_in holds the total size of
132 the uncompressed data and may be saved for use in the decompressor 132 the uncompressed data and may be saved for use in the decompressor
133 (particularly if the decompressor wants to decompress everything in 133 (particularly if the decompressor wants to decompress everything in
134 a single step). 134 a single step).
135*/ 135*/
136 136
137 /* constants */ 137 /* constants */
138 138
139#define Z_NO_FLUSH 0 139#define Z_NO_FLUSH 0
140#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */ 140#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */
141#define Z_SYNC_FLUSH 2 141#define Z_SYNC_FLUSH 2
142#define Z_FULL_FLUSH 3 142#define Z_FULL_FLUSH 3
143#define Z_FINISH 4 143#define Z_FINISH 4
144#define Z_BLOCK 5 144#define Z_BLOCK 5
145/* Allowed flush values; see deflate() and inflate() below for details */ 145/* Allowed flush values; see deflate() and inflate() below for details */
146 146
147#define Z_OK 0 147#define Z_OK 0
148#define Z_STREAM_END 1 148#define Z_STREAM_END 1
149#define Z_NEED_DICT 2 149#define Z_NEED_DICT 2
150#define Z_ERRNO (-1) 150#define Z_ERRNO (-1)
151#define Z_STREAM_ERROR (-2) 151#define Z_STREAM_ERROR (-2)
152#define Z_DATA_ERROR (-3) 152#define Z_DATA_ERROR (-3)
153#define Z_MEM_ERROR (-4) 153#define Z_MEM_ERROR (-4)
154#define Z_BUF_ERROR (-5) 154#define Z_BUF_ERROR (-5)
155#define Z_VERSION_ERROR (-6) 155#define Z_VERSION_ERROR (-6)
156/* Return codes for the compression/decompression functions. Negative 156/* Return codes for the compression/decompression functions. Negative
157 * values are errors, positive values are used for special but normal events. 157 * values are errors, positive values are used for special but normal events.
158 */ 158 */
159 159
160#define Z_NO_COMPRESSION 0 160#define Z_NO_COMPRESSION 0
161#define Z_BEST_SPEED 1 161#define Z_BEST_SPEED 1
162#define Z_BEST_COMPRESSION 9 162#define Z_BEST_COMPRESSION 9
163#define Z_DEFAULT_COMPRESSION (-1) 163#define Z_DEFAULT_COMPRESSION (-1)
164/* compression levels */ 164/* compression levels */
165 165
166#define Z_FILTERED 1 166#define Z_FILTERED 1
167#define Z_HUFFMAN_ONLY 2 167#define Z_HUFFMAN_ONLY 2
168#define Z_RLE 3 168#define Z_RLE 3
169#define Z_DEFAULT_STRATEGY 0 169#define Z_DEFAULT_STRATEGY 0
170/* compression strategy; see deflateInit2() below for details */ 170/* compression strategy; see deflateInit2() below for details */
171 171
172#define Z_BINARY 0 172#define Z_BINARY 0
173#define Z_ASCII 1 173#define Z_ASCII 1
174#define Z_UNKNOWN 2 174#define Z_UNKNOWN 2
175/* Possible values of the data_type field (though see inflate()) */ 175/* Possible values of the data_type field (though see inflate()) */
176 176
177#define Z_DEFLATED 8 177#define Z_DEFLATED 8
178/* The deflate compression method (the only one supported in this version) */ 178/* The deflate compression method (the only one supported in this version) */
179 179
180#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ 180#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
181 181
182#define zlib_version zlibVersion() 182#define zlib_version zlibVersion()
183/* for compatibility with versions < 1.0.2 */ 183/* for compatibility with versions < 1.0.2 */
184 184
185 /* basic functions */ 185 /* basic functions */
186 186
187ZEXTERN const char * ZEXPORT zlibVersion OF((void)); 187ZEXTERN const char * ZEXPORT zlibVersion OF((void));
188/* The application can compare zlibVersion and ZLIB_VERSION for consistency. 188/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
189 If the first character differs, the library code actually used is 189 If the first character differs, the library code actually used is
190 not compatible with the zlib.h header file used by the application. 190 not compatible with the zlib.h header file used by the application.
191 This check is automatically made by deflateInit and inflateInit. 191 This check is automatically made by deflateInit and inflateInit.
192 */ 192 */
193 193
194/* 194/*
195ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); 195ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
196 196
197 Initializes the internal stream state for compression. The fields 197 Initializes the internal stream state for compression. The fields
198 zalloc, zfree and opaque must be initialized before by the caller. 198 zalloc, zfree and opaque must be initialized before by the caller.
199 If zalloc and zfree are set to Z_NULL, deflateInit updates them to 199 If zalloc and zfree are set to Z_NULL, deflateInit updates them to
200 use default allocation functions. 200 use default allocation functions.
201 201
202 The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: 202 The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
203 1 gives best speed, 9 gives best compression, 0 gives no compression at 203 1 gives best speed, 9 gives best compression, 0 gives no compression at
204 all (the input data is simply copied a block at a time). 204 all (the input data is simply copied a block at a time).
205 Z_DEFAULT_COMPRESSION requests a default compromise between speed and 205 Z_DEFAULT_COMPRESSION requests a default compromise between speed and
206 compression (currently equivalent to level 6). 206 compression (currently equivalent to level 6).
207 207
208 deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not 208 deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
209 enough memory, Z_STREAM_ERROR if level is not a valid compression level, 209 enough memory, Z_STREAM_ERROR if level is not a valid compression level,
210 Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible 210 Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
211 with the version assumed by the caller (ZLIB_VERSION). 211 with the version assumed by the caller (ZLIB_VERSION).
212 msg is set to null if there is no error message. deflateInit does not 212 msg is set to null if there is no error message. deflateInit does not
213 perform any compression: this will be done by deflate(). 213 perform any compression: this will be done by deflate().
214*/ 214*/
215 215
216 216
217ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); 217ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
218/* 218/*
219 deflate compresses as much data as possible, and stops when the input 219 deflate compresses as much data as possible, and stops when the input
220 buffer becomes empty or the output buffer becomes full. It may introduce some 220 buffer becomes empty or the output buffer becomes full. It may introduce some
221 output latency (reading input without producing any output) except when 221 output latency (reading input without producing any output) except when
222 forced to flush. 222 forced to flush.
223 223
224 The detailed semantics are as follows. deflate performs one or both of the 224 The detailed semantics are as follows. deflate performs one or both of the
225 following actions: 225 following actions:
226 226
227 - Compress more input starting at next_in and update next_in and avail_in 227 - Compress more input starting at next_in and update next_in and avail_in
228 accordingly. If not all input can be processed (because there is not 228 accordingly. If not all input can be processed (because there is not
229 enough room in the output buffer), next_in and avail_in are updated and 229 enough room in the output buffer), next_in and avail_in are updated and
230 processing will resume at this point for the next call of deflate(). 230 processing will resume at this point for the next call of deflate().
231 231
232 - Provide more output starting at next_out and update next_out and avail_out 232 - Provide more output starting at next_out and update next_out and avail_out
233 accordingly. This action is forced if the parameter flush is non zero. 233 accordingly. This action is forced if the parameter flush is non zero.
234 Forcing flush frequently degrades the compression ratio, so this parameter 234 Forcing flush frequently degrades the compression ratio, so this parameter
235 should be set only when necessary (in interactive applications). 235 should be set only when necessary (in interactive applications).
236 Some output may be provided even if flush is not set. 236 Some output may be provided even if flush is not set.
237 237
238 Before the call of deflate(), the application should ensure that at least 238 Before the call of deflate(), the application should ensure that at least
239 one of the actions is possible, by providing more input and/or consuming 239 one of the actions is possible, by providing more input and/or consuming
240 more output, and updating avail_in or avail_out accordingly; avail_out 240 more output, and updating avail_in or avail_out accordingly; avail_out
241 should never be zero before the call. The application can consume the 241 should never be zero before the call. The application can consume the
242 compressed output when it wants, for example when the output buffer is full 242 compressed output when it wants, for example when the output buffer is full
243 (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK 243 (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
244 and with zero avail_out, it must be called again after making room in the 244 and with zero avail_out, it must be called again after making room in the
245 output buffer because there might be more output pending. 245 output buffer because there might be more output pending.
246 246
247 If the parameter flush is set to Z_SYNC_FLUSH, all pending output is 247 If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
248 flushed to the output buffer and the output is aligned on a byte boundary, so 248 flushed to the output buffer and the output is aligned on a byte boundary, so
249 that the decompressor can get all input data available so far. (In particular 249 that the decompressor can get all input data available so far. (In particular
250 avail_in is zero after the call if enough output space has been provided 250 avail_in is zero after the call if enough output space has been provided
251 before the call.) Flushing may degrade compression for some compression 251 before the call.) Flushing may degrade compression for some compression
252 algorithms and so it should be used only when necessary. 252 algorithms and so it should be used only when necessary.
253 253
254 If flush is set to Z_FULL_FLUSH, all output is flushed as with 254 If flush is set to Z_FULL_FLUSH, all output is flushed as with
255 Z_SYNC_FLUSH, and the compression state is reset so that decompression can 255 Z_SYNC_FLUSH, and the compression state is reset so that decompression can
256 restart from this point if previous compressed data has been damaged or if 256 restart from this point if previous compressed data has been damaged or if
257 random access is desired. Using Z_FULL_FLUSH too often can seriously degrade 257 random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
258 the compression. 258 the compression.
259 259
260 If deflate returns with avail_out == 0, this function must be called again 260 If deflate returns with avail_out == 0, this function must be called again
261 with the same value of the flush parameter and more output space (updated 261 with the same value of the flush parameter and more output space (updated
262 avail_out), until the flush is complete (deflate returns with non-zero 262 avail_out), until the flush is complete (deflate returns with non-zero
263 avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that 263 avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
264 avail_out is greater than six to avoid repeated flush markers due to 264 avail_out is greater than six to avoid repeated flush markers due to
265 avail_out == 0 on return. 265 avail_out == 0 on return.
266 266
267 If the parameter flush is set to Z_FINISH, pending input is processed, 267 If the parameter flush is set to Z_FINISH, pending input is processed,
268 pending output is flushed and deflate returns with Z_STREAM_END if there 268 pending output is flushed and deflate returns with Z_STREAM_END if there
269 was enough output space; if deflate returns with Z_OK, this function must be 269 was enough output space; if deflate returns with Z_OK, this function must be
270 called again with Z_FINISH and more output space (updated avail_out) but no 270 called again with Z_FINISH and more output space (updated avail_out) but no
271 more input data, until it returns with Z_STREAM_END or an error. After 271 more input data, until it returns with Z_STREAM_END or an error. After
272 deflate has returned Z_STREAM_END, the only possible operations on the 272 deflate has returned Z_STREAM_END, the only possible operations on the
273 stream are deflateReset or deflateEnd. 273 stream are deflateReset or deflateEnd.
274 274
275 Z_FINISH can be used immediately after deflateInit if all the compression 275 Z_FINISH can be used immediately after deflateInit if all the compression
276 is to be done in a single step. In this case, avail_out must be at least 276 is to be done in a single step. In this case, avail_out must be at least
277 the value returned by deflateBound (see below). If deflate does not return 277 the value returned by deflateBound (see below). If deflate does not return
278 Z_STREAM_END, then it must be called again as described above. 278 Z_STREAM_END, then it must be called again as described above.
279 279
280 deflate() sets strm->adler to the adler32 checksum of all input read 280 deflate() sets strm->adler to the adler32 checksum of all input read
281 so far (that is, total_in bytes). 281 so far (that is, total_in bytes).
282 282
283 deflate() may update data_type if it can make a good guess about 283 deflate() may update data_type if it can make a good guess about
284 the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered 284 the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
285 binary. This field is only for information purposes and does not affect 285 binary. This field is only for information purposes and does not affect
286 the compression algorithm in any manner. 286 the compression algorithm in any manner.
287 287
288 deflate() returns Z_OK if some progress has been made (more input 288 deflate() returns Z_OK if some progress has been made (more input
289 processed or more output produced), Z_STREAM_END if all input has been 289 processed or more output produced), Z_STREAM_END if all input has been
290 consumed and all output has been produced (only when flush is set to 290 consumed and all output has been produced (only when flush is set to
291 Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example 291 Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
292 if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible 292 if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
293 (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not 293 (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
294 fatal, and deflate() can be called again with more input and more output 294 fatal, and deflate() can be called again with more input and more output
295 space to continue compressing. 295 space to continue compressing.
296*/ 296*/
297 297
298 298
299ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); 299ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
300/* 300/*
301 All dynamically allocated data structures for this stream are freed. 301 All dynamically allocated data structures for this stream are freed.
302 This function discards any unprocessed input and does not flush any 302 This function discards any unprocessed input and does not flush any
303 pending output. 303 pending output.
304 304
305 deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the 305 deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
306 stream state was inconsistent, Z_DATA_ERROR if the stream was freed 306 stream state was inconsistent, Z_DATA_ERROR if the stream was freed
307 prematurely (some input or output was discarded). In the error case, 307 prematurely (some input or output was discarded). In the error case,
308 msg may be set but then points to a static string (which must not be 308 msg may be set but then points to a static string (which must not be
309 deallocated). 309 deallocated).
310*/ 310*/
311 311
312 312
313/* 313/*
314ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); 314ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
315 315
316 Initializes the internal stream state for decompression. The fields 316 Initializes the internal stream state for decompression. The fields
317 next_in, avail_in, zalloc, zfree and opaque must be initialized before by 317 next_in, avail_in, zalloc, zfree and opaque must be initialized before by
318 the caller. If next_in is not Z_NULL and avail_in is large enough (the exact 318 the caller. If next_in is not Z_NULL and avail_in is large enough (the exact
319 value depends on the compression method), inflateInit determines the 319 value depends on the compression method), inflateInit determines the
320 compression method from the zlib header and allocates all data structures 320 compression method from the zlib header and allocates all data structures
321 accordingly; otherwise the allocation will be deferred to the first call of 321 accordingly; otherwise the allocation will be deferred to the first call of
322 inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to 322 inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
323 use default allocation functions. 323 use default allocation functions.
324 324
325 inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough 325 inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
326 memory, Z_VERSION_ERROR if the zlib library version is incompatible with the 326 memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
327 version assumed by the caller. msg is set to null if there is no error 327 version assumed by the caller. msg is set to null if there is no error
328 message. inflateInit does not perform any decompression apart from reading 328 message. inflateInit does not perform any decompression apart from reading
329 the zlib header if present: this will be done by inflate(). (So next_in and 329 the zlib header if present: this will be done by inflate(). (So next_in and
330 avail_in may be modified, but next_out and avail_out are unchanged.) 330 avail_in may be modified, but next_out and avail_out are unchanged.)
331*/ 331*/
332 332
333 333
334ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); 334ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
335/* 335/*
336 inflate decompresses as much data as possible, and stops when the input 336 inflate decompresses as much data as possible, and stops when the input
337 buffer becomes empty or the output buffer becomes full. It may introduce 337 buffer becomes empty or the output buffer becomes full. It may introduce
338 some output latency (reading input without producing any output) except when 338 some output latency (reading input without producing any output) except when
339 forced to flush. 339 forced to flush.
340 340
341 The detailed semantics are as follows. inflate performs one or both of the 341 The detailed semantics are as follows. inflate performs one or both of the
342 following actions: 342 following actions:
343 343
344 - Decompress more input starting at next_in and update next_in and avail_in 344 - Decompress more input starting at next_in and update next_in and avail_in
345 accordingly. If not all input can be processed (because there is not 345 accordingly. If not all input can be processed (because there is not
346 enough room in the output buffer), next_in is updated and processing 346 enough room in the output buffer), next_in is updated and processing
347 will resume at this point for the next call of inflate(). 347 will resume at this point for the next call of inflate().
348 348
349 - Provide more output starting at next_out and update next_out and avail_out 349 - Provide more output starting at next_out and update next_out and avail_out
350 accordingly. inflate() provides as much output as possible, until there 350 accordingly. inflate() provides as much output as possible, until there
351 is no more input data or no more space in the output buffer (see below 351 is no more input data or no more space in the output buffer (see below
352 about the flush parameter). 352 about the flush parameter).
353 353
354 Before the call of inflate(), the application should ensure that at least 354 Before the call of inflate(), the application should ensure that at least
355 one of the actions is possible, by providing more input and/or consuming 355 one of the actions is possible, by providing more input and/or consuming
356 more output, and updating the next_* and avail_* values accordingly. 356 more output, and updating the next_* and avail_* values accordingly.
357 The application can consume the uncompressed output when it wants, for 357 The application can consume the uncompressed output when it wants, for
358 example when the output buffer is full (avail_out == 0), or after each 358 example when the output buffer is full (avail_out == 0), or after each
359 call of inflate(). If inflate returns Z_OK and with zero avail_out, it 359 call of inflate(). If inflate returns Z_OK and with zero avail_out, it
360 must be called again after making room in the output buffer because there 360 must be called again after making room in the output buffer because there
361 might be more output pending. 361 might be more output pending.
362 362
363 The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, 363 The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH,
364 Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much 364 Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much
365 output as possible to the output buffer. Z_BLOCK requests that inflate() stop 365 output as possible to the output buffer. Z_BLOCK requests that inflate() stop
366 if and when it get to the next deflate block boundary. When decoding the zlib 366 if and when it get to the next deflate block boundary. When decoding the zlib
367 or gzip format, this will cause inflate() to return immediately after the 367 or gzip format, this will cause inflate() to return immediately after the
368 header and before the first block. When doing a raw inflate, inflate() will 368 header and before the first block. When doing a raw inflate, inflate() will
369 go ahead and process the first block, and will return when it gets to the end 369 go ahead and process the first block, and will return when it gets to the end
370 of that block, or when it runs out of data. 370 of that block, or when it runs out of data.
371 371
372 The Z_BLOCK option assists in appending to or combining deflate streams. 372 The Z_BLOCK option assists in appending to or combining deflate streams.
373 Also to assist in this, on return inflate() will set strm->data_type to the 373 Also to assist in this, on return inflate() will set strm->data_type to the
374 number of unused bits in the last byte taken from strm->next_in, plus 64 374 number of unused bits in the last byte taken from strm->next_in, plus 64
375 if inflate() is currently decoding the last block in the deflate stream, 375 if inflate() is currently decoding the last block in the deflate stream,
376 plus 128 if inflate() returned immediately after decoding an end-of-block 376 plus 128 if inflate() returned immediately after decoding an end-of-block
377 code or decoding the complete header up to just before the first byte of the 377 code or decoding the complete header up to just before the first byte of the
378 deflate stream. The end-of-block will not be indicated until all of the 378 deflate stream. The end-of-block will not be indicated until all of the
379 uncompressed data from that block has been written to strm->next_out. The 379 uncompressed data from that block has been written to strm->next_out. The
380 number of unused bits may in general be greater than seven, except when 380 number of unused bits may in general be greater than seven, except when
381 bit 7 of data_type is set, in which case the number of unused bits will be 381 bit 7 of data_type is set, in which case the number of unused bits will be
382 less than eight. 382 less than eight.
383 383
384 inflate() should normally be called until it returns Z_STREAM_END or an 384 inflate() should normally be called until it returns Z_STREAM_END or an
385 error. However if all decompression is to be performed in a single step 385 error. However if all decompression is to be performed in a single step
386 (a single call of inflate), the parameter flush should be set to 386 (a single call of inflate), the parameter flush should be set to
387 Z_FINISH. In this case all pending input is processed and all pending 387 Z_FINISH. In this case all pending input is processed and all pending
388 output is flushed; avail_out must be large enough to hold all the 388 output is flushed; avail_out must be large enough to hold all the
389 uncompressed data. (The size of the uncompressed data may have been saved 389 uncompressed data. (The size of the uncompressed data may have been saved
390 by the compressor for this purpose.) The next operation on this stream must 390 by the compressor for this purpose.) The next operation on this stream must
391 be inflateEnd to deallocate the decompression state. The use of Z_FINISH 391 be inflateEnd to deallocate the decompression state. The use of Z_FINISH
392 is never required, but can be used to inform inflate that a faster approach 392 is never required, but can be used to inform inflate that a faster approach
393 may be used for the single inflate() call. 393 may be used for the single inflate() call.
394 394
395 In this implementation, inflate() always flushes as much output as 395 In this implementation, inflate() always flushes as much output as
396 possible to the output buffer, and always uses the faster approach on the 396 possible to the output buffer, and always uses the faster approach on the
397 first call. So the only effect of the flush parameter in this implementation 397 first call. So the only effect of the flush parameter in this implementation
398 is on the return value of inflate(), as noted below, or when it returns early 398 is on the return value of inflate(), as noted below, or when it returns early
399 because Z_BLOCK is used. 399 because Z_BLOCK is used.
400 400
401 If a preset dictionary is needed after this call (see inflateSetDictionary 401 If a preset dictionary is needed after this call (see inflateSetDictionary
402 below), inflate sets strm->adler to the adler32 checksum of the dictionary 402 below), inflate sets strm->adler to the adler32 checksum of the dictionary
403 chosen by the compressor and returns Z_NEED_DICT; otherwise it sets 403 chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
404 strm->adler to the adler32 checksum of all output produced so far (that is, 404 strm->adler to the adler32 checksum of all output produced so far (that is,
405 total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described 405 total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
406 below. At the end of the stream, inflate() checks that its computed adler32 406 below. At the end of the stream, inflate() checks that its computed adler32
407 checksum is equal to that saved by the compressor and returns Z_STREAM_END 407 checksum is equal to that saved by the compressor and returns Z_STREAM_END
408 only if the checksum is correct. 408 only if the checksum is correct.
409 409
410 inflate() will decompress and check either zlib-wrapped or gzip-wrapped 410 inflate() will decompress and check either zlib-wrapped or gzip-wrapped
411 deflate data. The header type is detected automatically. Any information 411 deflate data. The header type is detected automatically. Any information
412 contained in the gzip header is not retained, so applications that need that 412 contained in the gzip header is not retained, so applications that need that
413 information should instead use raw inflate, see inflateInit2() below, or 413 information should instead use raw inflate, see inflateInit2() below, or
414 inflateBack() and perform their own processing of the gzip header and 414 inflateBack() and perform their own processing of the gzip header and
415 trailer. 415 trailer.
416 416
417 inflate() returns Z_OK if some progress has been made (more input processed 417 inflate() returns Z_OK if some progress has been made (more input processed
418 or more output produced), Z_STREAM_END if the end of the compressed data has 418 or more output produced), Z_STREAM_END if the end of the compressed data has
419 been reached and all uncompressed output has been produced, Z_NEED_DICT if a 419 been reached and all uncompressed output has been produced, Z_NEED_DICT if a
420 preset dictionary is needed at this point, Z_DATA_ERROR if the input data was 420 preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
421 corrupted (input stream not conforming to the zlib format or incorrect check 421 corrupted (input stream not conforming to the zlib format or incorrect check
422 value), Z_STREAM_ERROR if the stream structure was inconsistent (for example 422 value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
423 if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory, 423 if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
424 Z_BUF_ERROR if no progress is possible or if there was not enough room in the 424 Z_BUF_ERROR if no progress is possible or if there was not enough room in the
425 output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and 425 output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
426 inflate() can be called again with more input and more output space to 426 inflate() can be called again with more input and more output space to
427 continue decompressing. If Z_DATA_ERROR is returned, the application may then 427 continue decompressing. If Z_DATA_ERROR is returned, the application may then
428 call inflateSync() to look for a good compression block if a partial recovery 428 call inflateSync() to look for a good compression block if a partial recovery
429 of the data is desired. 429 of the data is desired.
430*/ 430*/
431 431
432 432
433ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); 433ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
434/* 434/*
435 All dynamically allocated data structures for this stream are freed. 435 All dynamically allocated data structures for this stream are freed.
436 This function discards any unprocessed input and does not flush any 436 This function discards any unprocessed input and does not flush any
437 pending output. 437 pending output.
438 438
439 inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state 439 inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
440 was inconsistent. In the error case, msg may be set but then points to a 440 was inconsistent. In the error case, msg may be set but then points to a
441 static string (which must not be deallocated). 441 static string (which must not be deallocated).
442*/ 442*/
443 443
444 /* Advanced functions */ 444 /* Advanced functions */
445 445
446/* 446/*
447 The following functions are needed only in some special applications. 447 The following functions are needed only in some special applications.
448*/ 448*/
449 449
450/* 450/*
451ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, 451ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
452 int level, 452 int level,
453 int method, 453 int method,
454 int windowBits, 454 int windowBits,
455 int memLevel, 455 int memLevel,
456 int strategy)); 456 int strategy));
457 457
458 This is another version of deflateInit with more compression options. The 458 This is another version of deflateInit with more compression options. The
459 fields next_in, zalloc, zfree and opaque must be initialized before by 459 fields next_in, zalloc, zfree and opaque must be initialized before by
460 the caller. 460 the caller.
461 461
462 The method parameter is the compression method. It must be Z_DEFLATED in 462 The method parameter is the compression method. It must be Z_DEFLATED in
463 this version of the library. 463 this version of the library.
464 464
465 The windowBits parameter is the base two logarithm of the window size 465 The windowBits parameter is the base two logarithm of the window size
466 (the size of the history buffer). It should be in the range 8..15 for this 466 (the size of the history buffer). It should be in the range 8..15 for this
467 version of the library. Larger values of this parameter result in better 467 version of the library. Larger values of this parameter result in better
468 compression at the expense of memory usage. The default value is 15 if 468 compression at the expense of memory usage. The default value is 15 if
469 deflateInit is used instead. 469 deflateInit is used instead.
470 470
471 windowBits can also be -8..-15 for raw deflate. In this case, -windowBits 471 windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
472 determines the window size. deflate() will then generate raw deflate data 472 determines the window size. deflate() will then generate raw deflate data
473 with no zlib header or trailer, and will not compute an adler32 check value. 473 with no zlib header or trailer, and will not compute an adler32 check value.
474 474
475 windowBits can also be greater than 15 for optional gzip encoding. Add 475 windowBits can also be greater than 15 for optional gzip encoding. Add
476 16 to windowBits to write a simple gzip header and trailer around the 476 16 to windowBits to write a simple gzip header and trailer around the
477 compressed data instead of a zlib wrapper. The gzip header will have no 477 compressed data instead of a zlib wrapper. The gzip header will have no
478 file name, no extra data, no comment, no modification time (set to zero), 478 file name, no extra data, no comment, no modification time (set to zero),
479 no header crc, and the operating system will be set to 255 (unknown). If a 479 no header crc, and the operating system will be set to 255 (unknown). If a
480 gzip stream is being written, strm->adler is a crc32 instead of an adler32. 480 gzip stream is being written, strm->adler is a crc32 instead of an adler32.
481 481
482 The memLevel parameter specifies how much memory should be allocated 482 The memLevel parameter specifies how much memory should be allocated
483 for the internal compression state. memLevel=1 uses minimum memory but 483 for the internal compression state. memLevel=1 uses minimum memory but
484 is slow and reduces compression ratio; memLevel=9 uses maximum memory 484 is slow and reduces compression ratio; memLevel=9 uses maximum memory
485 for optimal speed. The default value is 8. See zconf.h for total memory 485 for optimal speed. The default value is 8. See zconf.h for total memory
486 usage as a function of windowBits and memLevel. 486 usage as a function of windowBits and memLevel.
487 487
488 The strategy parameter is used to tune the compression algorithm. Use the 488 The strategy parameter is used to tune the compression algorithm. Use the
489 value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a 489 value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
490 filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no 490 filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
491 string match), or Z_RLE to limit match distances to one (run-length 491 string match), or Z_RLE to limit match distances to one (run-length
492 encoding). Filtered data consists mostly of small values with a somewhat 492 encoding). Filtered data consists mostly of small values with a somewhat
493 random distribution. In this case, the compression algorithm is tuned to 493 random distribution. In this case, the compression algorithm is tuned to
494 compress them better. The effect of Z_FILTERED is to force more Huffman 494 compress them better. The effect of Z_FILTERED is to force more Huffman
495 coding and less string matching; it is somewhat intermediate between 495 coding and less string matching; it is somewhat intermediate between
496 Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as 496 Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as
497 Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy 497 Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy
498 parameter only affects the compression ratio but not the correctness of the 498 parameter only affects the compression ratio but not the correctness of the
499 compressed output even if it is not set appropriately. 499 compressed output even if it is not set appropriately.
500 500
501 deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough 501 deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
502 memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid 502 memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
503 method). msg is set to null if there is no error message. deflateInit2 does 503 method). msg is set to null if there is no error message. deflateInit2 does
504 not perform any compression: this will be done by deflate(). 504 not perform any compression: this will be done by deflate().
505*/ 505*/
506 506
507ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, 507ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
508 const Bytef *dictionary, 508 const Bytef *dictionary,
509 uInt dictLength)); 509 uInt dictLength));
510/* 510/*
511 Initializes the compression dictionary from the given byte sequence 511 Initializes the compression dictionary from the given byte sequence
512 without producing any compressed output. This function must be called 512 without producing any compressed output. This function must be called
513 immediately after deflateInit, deflateInit2 or deflateReset, before any 513 immediately after deflateInit, deflateInit2 or deflateReset, before any
514 call of deflate. The compressor and decompressor must use exactly the same 514 call of deflate. The compressor and decompressor must use exactly the same
515 dictionary (see inflateSetDictionary). 515 dictionary (see inflateSetDictionary).
516 516
517 The dictionary should consist of strings (byte sequences) that are likely 517 The dictionary should consist of strings (byte sequences) that are likely
518 to be encountered later in the data to be compressed, with the most commonly 518 to be encountered later in the data to be compressed, with the most commonly
519 used strings preferably put towards the end of the dictionary. Using a 519 used strings preferably put towards the end of the dictionary. Using a
520 dictionary is most useful when the data to be compressed is short and can be 520 dictionary is most useful when the data to be compressed is short and can be
521 predicted with good accuracy; the data can then be compressed better than 521 predicted with good accuracy; the data can then be compressed better than
522 with the default empty dictionary. 522 with the default empty dictionary.
523 523
524 Depending on the size of the compression data structures selected by 524 Depending on the size of the compression data structures selected by
525 deflateInit or deflateInit2, a part of the dictionary may in effect be 525 deflateInit or deflateInit2, a part of the dictionary may in effect be
526 discarded, for example if the dictionary is larger than the window size in 526 discarded, for example if the dictionary is larger than the window size in
527 deflate or deflate2. Thus the strings most likely to be useful should be 527 deflate or deflate2. Thus the strings most likely to be useful should be
528 put at the end of the dictionary, not at the front. 528 put at the end of the dictionary, not at the front.
529 529
530 Upon return of this function, strm->adler is set to the adler32 value 530 Upon return of this function, strm->adler is set to the adler32 value
531 of the dictionary; the decompressor may later use this value to determine 531 of the dictionary; the decompressor may later use this value to determine
532 which dictionary has been used by the compressor. (The adler32 value 532 which dictionary has been used by the compressor. (The adler32 value
533 applies to the whole dictionary even if only a subset of the dictionary is 533 applies to the whole dictionary even if only a subset of the dictionary is
534 actually used by the compressor.) If a raw deflate was requested, then the 534 actually used by the compressor.) If a raw deflate was requested, then the
535 adler32 value is not computed and strm->adler is not set. 535 adler32 value is not computed and strm->adler is not set.
536 536
537 deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a 537 deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
538 parameter is invalid (such as NULL dictionary) or the stream state is 538 parameter is invalid (such as NULL dictionary) or the stream state is
539 inconsistent (for example if deflate has already been called for this stream 539 inconsistent (for example if deflate has already been called for this stream
540 or if the compression method is bsort). deflateSetDictionary does not 540 or if the compression method is bsort). deflateSetDictionary does not
541 perform any compression: this will be done by deflate(). 541 perform any compression: this will be done by deflate().
542*/ 542*/
543 543
544ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, 544ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
545 z_streamp source)); 545 z_streamp source));
546/* 546/*
547 Sets the destination stream as a complete copy of the source stream. 547 Sets the destination stream as a complete copy of the source stream.
548 548
549 This function can be useful when several compression strategies will be 549 This function can be useful when several compression strategies will be
550 tried, for example when there are several ways of pre-processing the input 550 tried, for example when there are several ways of pre-processing the input
551 data with a filter. The streams that will be discarded should then be freed 551 data with a filter. The streams that will be discarded should then be freed
552 by calling deflateEnd. Note that deflateCopy duplicates the internal 552 by calling deflateEnd. Note that deflateCopy duplicates the internal
553 compression state which can be quite large, so this strategy is slow and 553 compression state which can be quite large, so this strategy is slow and
554 can consume lots of memory. 554 can consume lots of memory.
555 555
556 deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not 556 deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
557 enough memory, Z_STREAM_ERROR if the source stream state was inconsistent 557 enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
558 (such as zalloc being NULL). msg is left unchanged in both source and 558 (such as zalloc being NULL). msg is left unchanged in both source and
559 destination. 559 destination.
560*/ 560*/
561 561
562ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); 562ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
563/* 563/*
564 This function is equivalent to deflateEnd followed by deflateInit, 564 This function is equivalent to deflateEnd followed by deflateInit,
565 but does not free and reallocate all the internal compression state. 565 but does not free and reallocate all the internal compression state.
566 The stream will keep the same compression level and any other attributes 566 The stream will keep the same compression level and any other attributes
567 that may have been set by deflateInit2. 567 that may have been set by deflateInit2.
568 568
569 deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source 569 deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
570 stream state was inconsistent (such as zalloc or state being NULL). 570 stream state was inconsistent (such as zalloc or state being NULL).
571*/ 571*/
572 572
573ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, 573ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
574 int level, 574 int level,
575 int strategy)); 575 int strategy));
576/* 576/*
577 Dynamically update the compression level and compression strategy. The 577 Dynamically update the compression level and compression strategy. The
578 interpretation of level and strategy is as in deflateInit2. This can be 578 interpretation of level and strategy is as in deflateInit2. This can be
579 used to switch between compression and straight copy of the input data, or 579 used to switch between compression and straight copy of the input data, or
580 to switch to a different kind of input data requiring a different 580 to switch to a different kind of input data requiring a different
581 strategy. If the compression level is changed, the input available so far 581 strategy. If the compression level is changed, the input available so far
582 is compressed with the old level (and may be flushed); the new level will 582 is compressed with the old level (and may be flushed); the new level will
583 take effect only at the next call of deflate(). 583 take effect only at the next call of deflate().
584 584
585 Before the call of deflateParams, the stream state must be set as for 585 Before the call of deflateParams, the stream state must be set as for
586 a call of deflate(), since the currently available input may have to 586 a call of deflate(), since the currently available input may have to
587 be compressed and flushed. In particular, strm->avail_out must be non-zero. 587 be compressed and flushed. In particular, strm->avail_out must be non-zero.
588 588
589 deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source 589 deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
590 stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR 590 stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
591 if strm->avail_out was zero. 591 if strm->avail_out was zero.
592*/ 592*/
593 593
594ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, 594ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
595 uLong sourceLen)); 595 uLong sourceLen));
596/* 596/*
597 deflateBound() returns an upper bound on the compressed size after 597 deflateBound() returns an upper bound on the compressed size after
598 deflation of sourceLen bytes. It must be called after deflateInit() 598 deflation of sourceLen bytes. It must be called after deflateInit()
599 or deflateInit2(). This would be used to allocate an output buffer 599 or deflateInit2(). This would be used to allocate an output buffer
600 for deflation in a single pass, and so would be called before deflate(). 600 for deflation in a single pass, and so would be called before deflate().
601*/ 601*/
602 602
603ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, 603ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
604 int bits, 604 int bits,
605 int value)); 605 int value));
606/* 606/*
607 deflatePrime() inserts bits in the deflate output stream. The intent 607 deflatePrime() inserts bits in the deflate output stream. The intent
608 is that this function is used to start off the deflate output with the 608 is that this function is used to start off the deflate output with the
609 bits leftover from a previous deflate stream when appending to it. As such, 609 bits leftover from a previous deflate stream when appending to it. As such,
610 this function can only be used for raw deflate, and must be used before the 610 this function can only be used for raw deflate, and must be used before the
611 first deflate() call after a deflateInit2() or deflateReset(). bits must be 611 first deflate() call after a deflateInit2() or deflateReset(). bits must be
612 less than or equal to 16, and that many of the least significant bits of 612 less than or equal to 16, and that many of the least significant bits of
613 value will be inserted in the output. 613 value will be inserted in the output.
614 614
615 deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source 615 deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
616 stream state was inconsistent. 616 stream state was inconsistent.
617*/ 617*/
618 618
619/* 619/*
620ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, 620ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
621 int windowBits)); 621 int windowBits));
622 622
623 This is another version of inflateInit with an extra parameter. The 623 This is another version of inflateInit with an extra parameter. The
624 fields next_in, avail_in, zalloc, zfree and opaque must be initialized 624 fields next_in, avail_in, zalloc, zfree and opaque must be initialized
625 before by the caller. 625 before by the caller.
626 626
627 The windowBits parameter is the base two logarithm of the maximum window 627 The windowBits parameter is the base two logarithm of the maximum window
628 size (the size of the history buffer). It should be in the range 8..15 for 628 size (the size of the history buffer). It should be in the range 8..15 for
629 this version of the library. The default value is 15 if inflateInit is used 629 this version of the library. The default value is 15 if inflateInit is used
630 instead. windowBits must be greater than or equal to the windowBits value 630 instead. windowBits must be greater than or equal to the windowBits value
631 provided to deflateInit2() while compressing, or it must be equal to 15 if 631 provided to deflateInit2() while compressing, or it must be equal to 15 if
632 deflateInit2() was not used. If a compressed stream with a larger window 632 deflateInit2() was not used. If a compressed stream with a larger window
633 size is given as input, inflate() will return with the error code 633 size is given as input, inflate() will return with the error code
634 Z_DATA_ERROR instead of trying to allocate a larger window. 634 Z_DATA_ERROR instead of trying to allocate a larger window.
635 635
636 windowBits can also be -8..-15 for raw inflate. In this case, -windowBits 636 windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
637 determines the window size. inflate() will then process raw deflate data, 637 determines the window size. inflate() will then process raw deflate data,
638 not looking for a zlib or gzip header, not generating a check value, and not 638 not looking for a zlib or gzip header, not generating a check value, and not
639 looking for any check values for comparison at the end of the stream. This 639 looking for any check values for comparison at the end of the stream. This
640 is for use with other formats that use the deflate compressed data format 640 is for use with other formats that use the deflate compressed data format
641 such as zip. Those formats provide their own check values. If a custom 641 such as zip. Those formats provide their own check values. If a custom
642 format is developed using the raw deflate format for compressed data, it is 642 format is developed using the raw deflate format for compressed data, it is
643 recommended that a check value such as an adler32 or a crc32 be applied to 643 recommended that a check value such as an adler32 or a crc32 be applied to
644 the uncompressed data as is done in the zlib, gzip, and zip formats. For 644 the uncompressed data as is done in the zlib, gzip, and zip formats. For
645 most applications, the zlib format should be used as is. Note that comments 645 most applications, the zlib format should be used as is. Note that comments
646 above on the use in deflateInit2() applies to the magnitude of windowBits. 646 above on the use in deflateInit2() applies to the magnitude of windowBits.
647 647
648 windowBits can also be greater than 15 for optional gzip decoding. Add 648 windowBits can also be greater than 15 for optional gzip decoding. Add
649 32 to windowBits to enable zlib and gzip decoding with automatic header 649 32 to windowBits to enable zlib and gzip decoding with automatic header
650 detection, or add 16 to decode only the gzip format (the zlib format will 650 detection, or add 16 to decode only the gzip format (the zlib format will
651 return a Z_DATA_ERROR. If a gzip stream is being decoded, strm->adler is 651 return a Z_DATA_ERROR. If a gzip stream is being decoded, strm->adler is
652 a crc32 instead of an adler32. 652 a crc32 instead of an adler32.
653 653
654 inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough 654 inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
655 memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative 655 memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
656 memLevel). msg is set to null if there is no error message. inflateInit2 656 memLevel). msg is set to null if there is no error message. inflateInit2
657 does not perform any decompression apart from reading the zlib header if 657 does not perform any decompression apart from reading the zlib header if
658 present: this will be done by inflate(). (So next_in and avail_in may be 658 present: this will be done by inflate(). (So next_in and avail_in may be
659 modified, but next_out and avail_out are unchanged.) 659 modified, but next_out and avail_out are unchanged.)
660*/ 660*/
661 661
662ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, 662ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
663 const Bytef *dictionary, 663 const Bytef *dictionary,
664 uInt dictLength)); 664 uInt dictLength));
665/* 665/*
666 Initializes the decompression dictionary from the given uncompressed byte 666 Initializes the decompression dictionary from the given uncompressed byte
667 sequence. This function must be called immediately after a call of inflate 667 sequence. This function must be called immediately after a call of inflate
668 if this call returned Z_NEED_DICT. The dictionary chosen by the compressor 668 if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
669 can be determined from the adler32 value returned by this call of 669 can be determined from the adler32 value returned by this call of
670 inflate. The compressor and decompressor must use exactly the same 670 inflate. The compressor and decompressor must use exactly the same
671 dictionary (see deflateSetDictionary). 671 dictionary (see deflateSetDictionary).
672 672
673 inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a 673 inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
674 parameter is invalid (such as NULL dictionary) or the stream state is 674 parameter is invalid (such as NULL dictionary) or the stream state is
675 inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the 675 inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
676 expected one (incorrect adler32 value). inflateSetDictionary does not 676 expected one (incorrect adler32 value). inflateSetDictionary does not
677 perform any decompression: this will be done by subsequent calls of 677 perform any decompression: this will be done by subsequent calls of
678 inflate(). 678 inflate().
679*/ 679*/
680 680
681ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); 681ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
682/* 682/*
683 Skips invalid compressed data until a full flush point (see above the 683 Skips invalid compressed data until a full flush point (see above the
684 description of deflate with Z_FULL_FLUSH) can be found, or until all 684 description of deflate with Z_FULL_FLUSH) can be found, or until all
685 available input is skipped. No output is provided. 685 available input is skipped. No output is provided.
686 686
687 inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR 687 inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
688 if no more input was provided, Z_DATA_ERROR if no flush point has been found, 688 if no more input was provided, Z_DATA_ERROR if no flush point has been found,
689 or Z_STREAM_ERROR if the stream structure was inconsistent. In the success 689 or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
690 case, the application may save the current current value of total_in which 690 case, the application may save the current current value of total_in which
691 indicates where valid compressed data was found. In the error case, the 691 indicates where valid compressed data was found. In the error case, the
692 application may repeatedly call inflateSync, providing more input each time, 692 application may repeatedly call inflateSync, providing more input each time,
693 until success or end of the input data. 693 until success or end of the input data.
694*/ 694*/
695 695
696ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, 696ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
697 z_streamp source)); 697 z_streamp source));
698/* 698/*
699 Sets the destination stream as a complete copy of the source stream. 699 Sets the destination stream as a complete copy of the source stream.
700 700
701 This function can be useful when randomly accessing a large stream. The 701 This function can be useful when randomly accessing a large stream. The
702 first pass through the stream can periodically record the inflate state, 702 first pass through the stream can periodically record the inflate state,
703 allowing restarting inflate at those points when randomly accessing the 703 allowing restarting inflate at those points when randomly accessing the
704 stream. 704 stream.
705 705
706 inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not 706 inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
707 enough memory, Z_STREAM_ERROR if the source stream state was inconsistent 707 enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
708 (such as zalloc being NULL). msg is left unchanged in both source and 708 (such as zalloc being NULL). msg is left unchanged in both source and
709 destination. 709 destination.
710*/ 710*/
711 711
712ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); 712ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
713/* 713/*
714 This function is equivalent to inflateEnd followed by inflateInit, 714 This function is equivalent to inflateEnd followed by inflateInit,
715 but does not free and reallocate all the internal decompression state. 715 but does not free and reallocate all the internal decompression state.
716 The stream will keep attributes that may have been set by inflateInit2. 716 The stream will keep attributes that may have been set by inflateInit2.
717 717
718 inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source 718 inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
719 stream state was inconsistent (such as zalloc or state being NULL). 719 stream state was inconsistent (such as zalloc or state being NULL).
720*/ 720*/
721 721
722/* 722/*
723ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits, 723ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits,
724 unsigned char FAR *window)); 724 unsigned char FAR *window));
725 725
726 Initialize the internal stream state for decompression using inflateBack() 726 Initialize the internal stream state for decompression using inflateBack()
727 calls. The fields zalloc, zfree and opaque in strm must be initialized 727 calls. The fields zalloc, zfree and opaque in strm must be initialized
728 before the call. If zalloc and zfree are Z_NULL, then the default library- 728 before the call. If zalloc and zfree are Z_NULL, then the default library-
729 derived memory allocation routines are used. windowBits is the base two 729 derived memory allocation routines are used. windowBits is the base two
730 logarithm of the window size, in the range 8..15. window is a caller 730 logarithm of the window size, in the range 8..15. window is a caller
731 supplied buffer of that size. Except for special applications where it is 731 supplied buffer of that size. Except for special applications where it is
732 assured that deflate was used with small window sizes, windowBits must be 15 732 assured that deflate was used with small window sizes, windowBits must be 15
733 and a 32K byte window must be supplied to be able to decompress general 733 and a 32K byte window must be supplied to be able to decompress general
734 deflate streams. 734 deflate streams.
735 735
736 See inflateBack() for the usage of these routines. 736 See inflateBack() for the usage of these routines.
737 737
738 inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of 738 inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
739 the paramaters are invalid, Z_MEM_ERROR if the internal state could not 739 the paramaters are invalid, Z_MEM_ERROR if the internal state could not
740 be allocated, or Z_VERSION_ERROR if the version of the library does not 740 be allocated, or Z_VERSION_ERROR if the version of the library does not
741 match the version of the header file. 741 match the version of the header file.
742*/ 742*/
743 743
744typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); 744typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
745typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); 745typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
746 746
747ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm, 747ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm,
748 in_func in, void FAR *in_desc, 748 in_func in, void FAR *in_desc,
749 out_func out, void FAR *out_desc)); 749 out_func out, void FAR *out_desc));
750/* 750/*
751 inflateBack() does a raw inflate with a single call using a call-back 751 inflateBack() does a raw inflate with a single call using a call-back
752 interface for input and output. This is more efficient than inflate() for 752 interface for input and output. This is more efficient than inflate() for
753 file i/o applications in that it avoids copying between the output and the 753 file i/o applications in that it avoids copying between the output and the
754 sliding window by simply making the window itself the output buffer. This 754 sliding window by simply making the window itself the output buffer. This
755 function trusts the application to not change the output buffer passed by 755 function trusts the application to not change the output buffer passed by
756 the output function, at least until inflateBack() returns. 756 the output function, at least until inflateBack() returns.
757 757
758 inflateBackInit() must be called first to allocate the internal state 758 inflateBackInit() must be called first to allocate the internal state
759 and to initialize the state with the user-provided window buffer. 759 and to initialize the state with the user-provided window buffer.
760 inflateBack() may then be used multiple times to inflate a complete, raw 760 inflateBack() may then be used multiple times to inflate a complete, raw
761 deflate stream with each call. inflateBackEnd() is then called to free 761 deflate stream with each call. inflateBackEnd() is then called to free
762 the allocated state. 762 the allocated state.
763 763
764 A raw deflate stream is one with no zlib or gzip header or trailer. 764 A raw deflate stream is one with no zlib or gzip header or trailer.
765 This routine would normally be used in a utility that reads zip or gzip 765 This routine would normally be used in a utility that reads zip or gzip
766 files and writes out uncompressed files. The utility would decode the 766 files and writes out uncompressed files. The utility would decode the
767 header and process the trailer on its own, hence this routine expects 767 header and process the trailer on its own, hence this routine expects
768 only the raw deflate stream to decompress. This is different from the 768 only the raw deflate stream to decompress. This is different from the
769 normal behavior of inflate(), which expects either a zlib or gzip header and 769 normal behavior of inflate(), which expects either a zlib or gzip header and
770 trailer around the deflate stream. 770 trailer around the deflate stream.
771 771
772 inflateBack() uses two subroutines supplied by the caller that are then 772 inflateBack() uses two subroutines supplied by the caller that are then
773 called by inflateBack() for input and output. inflateBack() calls those 773 called by inflateBack() for input and output. inflateBack() calls those
774 routines until it reads a complete deflate stream and writes out all of the 774 routines until it reads a complete deflate stream and writes out all of the
775 uncompressed data, or until it encounters an error. The function's 775 uncompressed data, or until it encounters an error. The function's
776 parameters and return types are defined above in the in_func and out_func 776 parameters and return types are defined above in the in_func and out_func
777 typedefs. inflateBack() will call in(in_desc, &buf) which should return the 777 typedefs. inflateBack() will call in(in_desc, &buf) which should return the
778 number of bytes of provided input, and a pointer to that input in buf. If 778 number of bytes of provided input, and a pointer to that input in buf. If
779 there is no input available, in() must return zero--buf is ignored in that 779 there is no input available, in() must return zero--buf is ignored in that
780 case--and inflateBack() will return a buffer error. inflateBack() will call 780 case--and inflateBack() will return a buffer error. inflateBack() will call
781 out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out() 781 out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
782 should return zero on success, or non-zero on failure. If out() returns 782 should return zero on success, or non-zero on failure. If out() returns
783 non-zero, inflateBack() will return with an error. Neither in() nor out() 783 non-zero, inflateBack() will return with an error. Neither in() nor out()
784 are permitted to change the contents of the window provided to 784 are permitted to change the contents of the window provided to
785 inflateBackInit(), which is also the buffer that out() uses to write from. 785 inflateBackInit(), which is also the buffer that out() uses to write from.
786 The length written by out() will be at most the window size. Any non-zero 786 The length written by out() will be at most the window size. Any non-zero
787 amount of input may be provided by in(). 787 amount of input may be provided by in().
788 788
789 For convenience, inflateBack() can be provided input on the first call by 789 For convenience, inflateBack() can be provided input on the first call by
790 setting strm->next_in and strm->avail_in. If that input is exhausted, then 790 setting strm->next_in and strm->avail_in. If that input is exhausted, then
791 in() will be called. Therefore strm->next_in must be initialized before 791 in() will be called. Therefore strm->next_in must be initialized before
792 calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called 792 calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
793 immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in 793 immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
794 must also be initialized, and then if strm->avail_in is not zero, input will 794 must also be initialized, and then if strm->avail_in is not zero, input will
795 initially be taken from strm->next_in[0 .. strm->avail_in - 1]. 795 initially be taken from strm->next_in[0 .. strm->avail_in - 1].
796 796
797 The in_desc and out_desc parameters of inflateBack() is passed as the 797 The in_desc and out_desc parameters of inflateBack() is passed as the
798 first parameter of in() and out() respectively when they are called. These 798 first parameter of in() and out() respectively when they are called. These
799 descriptors can be optionally used to pass any information that the caller- 799 descriptors can be optionally used to pass any information that the caller-
800 supplied in() and out() functions need to do their job. 800 supplied in() and out() functions need to do their job.
801 801
802 On return, inflateBack() will set strm->next_in and strm->avail_in to 802 On return, inflateBack() will set strm->next_in and strm->avail_in to
803 pass back any unused input that was provided by the last in() call. The 803 pass back any unused input that was provided by the last in() call. The
804 return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR 804 return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
805 if in() or out() returned an error, Z_DATA_ERROR if there was a format 805 if in() or out() returned an error, Z_DATA_ERROR if there was a format
806 error in the deflate stream (in which case strm->msg is set to indicate the 806 error in the deflate stream (in which case strm->msg is set to indicate the
807 nature of the error), or Z_STREAM_ERROR if the stream was not properly 807 nature of the error), or Z_STREAM_ERROR if the stream was not properly
808 initialized. In the case of Z_BUF_ERROR, an input or output error can be 808 initialized. In the case of Z_BUF_ERROR, an input or output error can be
809 distinguished using strm->next_in which will be Z_NULL only if in() returned 809 distinguished using strm->next_in which will be Z_NULL only if in() returned
810 an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to 810 an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to
811 out() returning non-zero. (in() will always be called before out(), so 811 out() returning non-zero. (in() will always be called before out(), so
812 strm->next_in is assured to be defined if out() returns non-zero.) Note 812 strm->next_in is assured to be defined if out() returns non-zero.) Note
813 that inflateBack() cannot return Z_OK. 813 that inflateBack() cannot return Z_OK.
814*/ 814*/
815 815
816ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm)); 816ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm));
817/* 817/*
818 All memory allocated by inflateBackInit() is freed. 818 All memory allocated by inflateBackInit() is freed.
819 819
820 inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream 820 inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
821 state was inconsistent. 821 state was inconsistent.
822*/ 822*/
823 823
824ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); 824ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
825/* Return flags indicating compile-time options. 825/* Return flags indicating compile-time options.
826 826
827 Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: 827 Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
828 1.0: size of uInt 828 1.0: size of uInt
829 3.2: size of uLong 829 3.2: size of uLong
830 5.4: size of voidpf (pointer) 830 5.4: size of voidpf (pointer)
831 7.6: size of z_off_t 831 7.6: size of z_off_t
832 832
833 Compiler, assembler, and debug options: 833 Compiler, assembler, and debug options:
834 8: DEBUG 834 8: DEBUG
835 9: ASMV or ASMINF -- use ASM code 835 9: ASMV or ASMINF -- use ASM code
836 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention 836 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
837 11: 0 (reserved) 837 11: 0 (reserved)
838 838
839 One-time table building (smaller code, but not thread-safe if true): 839 One-time table building (smaller code, but not thread-safe if true):
840 12: BUILDFIXED -- build static block decoding tables when needed 840 12: BUILDFIXED -- build static block decoding tables when needed
841 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed 841 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
842 14,15: 0 (reserved) 842 14,15: 0 (reserved)
843 843
844 Library content (indicates missing functionality): 844 Library content (indicates missing functionality):
845 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking 845 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
846 deflate code when not needed) 846 deflate code when not needed)
847 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect 847 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
848 and decode gzip streams (to avoid linking crc code) 848 and decode gzip streams (to avoid linking crc code)
849 18-19: 0 (reserved) 849 18-19: 0 (reserved)
850 850
851 Operation variations (changes in library functionality): 851 Operation variations (changes in library functionality):
852 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate 852 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
853 21: FASTEST -- deflate algorithm with only one, lowest compression level 853 21: FASTEST -- deflate algorithm with only one, lowest compression level
854 22,23: 0 (reserved) 854 22,23: 0 (reserved)
855 855
856 The sprintf variant used by gzprintf (zero is best): 856 The sprintf variant used by gzprintf (zero is best):
857 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format 857 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
858 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! 858 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
859 26: 0 = returns value, 1 = void -- 1 means inferred string length returned 859 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
860 860
861 Remainder: 861 Remainder:
862 27-31: 0 (reserved) 862 27-31: 0 (reserved)
863 */ 863 */
864 864
865 865
866 /* utility functions */ 866 /* utility functions */
867 867
868/* 868/*
869 The following utility functions are implemented on top of the 869 The following utility functions are implemented on top of the
870 basic stream-oriented functions. To simplify the interface, some 870 basic stream-oriented functions. To simplify the interface, some
871 default options are assumed (compression level and memory usage, 871 default options are assumed (compression level and memory usage,
872 standard memory allocation functions). The source code of these 872 standard memory allocation functions). The source code of these
873 utility functions can easily be modified if you need special options. 873 utility functions can easily be modified if you need special options.
874*/ 874*/
875 875
876ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, 876ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
877 const Bytef *source, uLong sourceLen)); 877 const Bytef *source, uLong sourceLen));
878/* 878/*
879 Compresses the source buffer into the destination buffer. sourceLen is 879 Compresses the source buffer into the destination buffer. sourceLen is
880 the byte length of the source buffer. Upon entry, destLen is the total 880 the byte length of the source buffer. Upon entry, destLen is the total
881 size of the destination buffer, which must be at least the value returned 881 size of the destination buffer, which must be at least the value returned
882 by compressBound(sourceLen). Upon exit, destLen is the actual size of the 882 by compressBound(sourceLen). Upon exit, destLen is the actual size of the
883 compressed buffer. 883 compressed buffer.
884 This function can be used to compress a whole file at once if the 884 This function can be used to compress a whole file at once if the
885 input file is mmap'ed. 885 input file is mmap'ed.
886 compress returns Z_OK if success, Z_MEM_ERROR if there was not 886 compress returns Z_OK if success, Z_MEM_ERROR if there was not
887 enough memory, Z_BUF_ERROR if there was not enough room in the output 887 enough memory, Z_BUF_ERROR if there was not enough room in the output
888 buffer. 888 buffer.
889*/ 889*/
890 890
891ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, 891ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
892 const Bytef *source, uLong sourceLen, 892 const Bytef *source, uLong sourceLen,
893 int level)); 893 int level));
894/* 894/*
895 Compresses the source buffer into the destination buffer. The level 895 Compresses the source buffer into the destination buffer. The level
896 parameter has the same meaning as in deflateInit. sourceLen is the byte 896 parameter has the same meaning as in deflateInit. sourceLen is the byte
897 length of the source buffer. Upon entry, destLen is the total size of the 897 length of the source buffer. Upon entry, destLen is the total size of the
898 destination buffer, which must be at least the value returned by 898 destination buffer, which must be at least the value returned by
899 compressBound(sourceLen). Upon exit, destLen is the actual size of the 899 compressBound(sourceLen). Upon exit, destLen is the actual size of the
900 compressed buffer. 900 compressed buffer.
901 901
902 compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough 902 compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
903 memory, Z_BUF_ERROR if there was not enough room in the output buffer, 903 memory, Z_BUF_ERROR if there was not enough room in the output buffer,
904 Z_STREAM_ERROR if the level parameter is invalid. 904 Z_STREAM_ERROR if the level parameter is invalid.
905*/ 905*/
906 906
907ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); 907ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
908/* 908/*
909 compressBound() returns an upper bound on the compressed size after 909 compressBound() returns an upper bound on the compressed size after
910 compress() or compress2() on sourceLen bytes. It would be used before 910 compress() or compress2() on sourceLen bytes. It would be used before
911 a compress() or compress2() call to allocate the destination buffer. 911 a compress() or compress2() call to allocate the destination buffer.
912*/ 912*/
913 913
914ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, 914ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
915 const Bytef *source, uLong sourceLen)); 915 const Bytef *source, uLong sourceLen));
916/* 916/*
917 Decompresses the source buffer into the destination buffer. sourceLen is 917 Decompresses the source buffer into the destination buffer. sourceLen is
918 the byte length of the source buffer. Upon entry, destLen is the total 918 the byte length of the source buffer. Upon entry, destLen is the total
919 size of the destination buffer, which must be large enough to hold the 919 size of the destination buffer, which must be large enough to hold the
920 entire uncompressed data. (The size of the uncompressed data must have 920 entire uncompressed data. (The size of the uncompressed data must have
921 been saved previously by the compressor and transmitted to the decompressor 921 been saved previously by the compressor and transmitted to the decompressor
922 by some mechanism outside the scope of this compression library.) 922 by some mechanism outside the scope of this compression library.)
923 Upon exit, destLen is the actual size of the compressed buffer. 923 Upon exit, destLen is the actual size of the compressed buffer.
924 This function can be used to decompress a whole file at once if the 924 This function can be used to decompress a whole file at once if the
925 input file is mmap'ed. 925 input file is mmap'ed.
926 926
927 uncompress returns Z_OK if success, Z_MEM_ERROR if there was not 927 uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
928 enough memory, Z_BUF_ERROR if there was not enough room in the output 928 enough memory, Z_BUF_ERROR if there was not enough room in the output
929 buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. 929 buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
930*/ 930*/
931 931
932 932
933typedef voidp gzFile; 933typedef voidp gzFile;
934 934
935ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); 935ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
936/* 936/*
937 Opens a gzip (.gz) file for reading or writing. The mode parameter 937 Opens a gzip (.gz) file for reading or writing. The mode parameter
938 is as in fopen ("rb" or "wb") but can also include a compression level 938 is as in fopen ("rb" or "wb") but can also include a compression level
939 ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for 939 ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
940 Huffman only compression as in "wb1h", or 'R' for run-length encoding 940 Huffman only compression as in "wb1h", or 'R' for run-length encoding
941 as in "wb1R". (See the description of deflateInit2 for more information 941 as in "wb1R". (See the description of deflateInit2 for more information
942 about the strategy parameter.) 942 about the strategy parameter.)
943 943
944 gzopen can be used to read a file which is not in gzip format; in this 944 gzopen can be used to read a file which is not in gzip format; in this
945 case gzread will directly read from the file without decompression. 945 case gzread will directly read from the file without decompression.
946 946
947 gzopen returns NULL if the file could not be opened or if there was 947 gzopen returns NULL if the file could not be opened or if there was
948 insufficient memory to allocate the (de)compression state; errno 948 insufficient memory to allocate the (de)compression state; errno
949 can be checked to distinguish the two cases (if errno is zero, the 949 can be checked to distinguish the two cases (if errno is zero, the
950 zlib error is Z_MEM_ERROR). */ 950 zlib error is Z_MEM_ERROR). */
951 951
952ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); 952ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
953/* 953/*
954 gzdopen() associates a gzFile with the file descriptor fd. File 954 gzdopen() associates a gzFile with the file descriptor fd. File
955 descriptors are obtained from calls like open, dup, creat, pipe or 955 descriptors are obtained from calls like open, dup, creat, pipe or
956 fileno (in the file has been previously opened with fopen). 956 fileno (in the file has been previously opened with fopen).
957 The mode parameter is as in gzopen. 957 The mode parameter is as in gzopen.
958 The next call of gzclose on the returned gzFile will also close the 958 The next call of gzclose on the returned gzFile will also close the
959 file descriptor fd, just like fclose(fdopen(fd), mode) closes the file 959 file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
960 descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode). 960 descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
961 gzdopen returns NULL if there was insufficient memory to allocate 961 gzdopen returns NULL if there was insufficient memory to allocate
962 the (de)compression state. 962 the (de)compression state.
963*/ 963*/
964 964
965ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); 965ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
966/* 966/*
967 Dynamically update the compression level or strategy. See the description 967 Dynamically update the compression level or strategy. See the description
968 of deflateInit2 for the meaning of these parameters. 968 of deflateInit2 for the meaning of these parameters.
969 gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not 969 gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
970 opened for writing. 970 opened for writing.
971*/ 971*/
972 972
973ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); 973ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
974/* 974/*
975 Reads the given number of uncompressed bytes from the compressed file. 975 Reads the given number of uncompressed bytes from the compressed file.
976 If the input file was not in gzip format, gzread copies the given number 976 If the input file was not in gzip format, gzread copies the given number
977 of bytes into the buffer. 977 of bytes into the buffer.
978 gzread returns the number of uncompressed bytes actually read (0 for 978 gzread returns the number of uncompressed bytes actually read (0 for
979 end of file, -1 for error). */ 979 end of file, -1 for error). */
980 980
981ZEXTERN int ZEXPORT gzwrite OF((gzFile file, 981ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
982 voidpc buf, unsigned len)); 982 voidpc buf, unsigned len));
983/* 983/*
984 Writes the given number of uncompressed bytes into the compressed file. 984 Writes the given number of uncompressed bytes into the compressed file.
985 gzwrite returns the number of uncompressed bytes actually written 985 gzwrite returns the number of uncompressed bytes actually written
986 (0 in case of error). 986 (0 in case of error).
987*/ 987*/
988 988
989ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...)); 989ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
990/* 990/*
991 Converts, formats, and writes the args to the compressed file under 991 Converts, formats, and writes the args to the compressed file under
992 control of the format string, as in fprintf. gzprintf returns the number of 992 control of the format string, as in fprintf. gzprintf returns the number of
993 uncompressed bytes actually written (0 in case of error). The number of 993 uncompressed bytes actually written (0 in case of error). The number of
994 uncompressed bytes written is limited to 4095. The caller should assure that 994 uncompressed bytes written is limited to 4095. The caller should assure that
995 this limit is not exceeded. If it is exceeded, then gzprintf() will return 995 this limit is not exceeded. If it is exceeded, then gzprintf() will return
996 return an error (0) with nothing written. In this case, there may also be a 996 return an error (0) with nothing written. In this case, there may also be a
997 buffer overflow with unpredictable consequences, which is possible only if 997 buffer overflow with unpredictable consequences, which is possible only if
998 zlib was compiled with the insecure functions sprintf() or vsprintf() 998 zlib was compiled with the insecure functions sprintf() or vsprintf()
999 because the secure snprintf() or vsnprintf() functions were not available. 999 because the secure snprintf() or vsnprintf() functions were not available.
1000*/ 1000*/
1001 1001
1002ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); 1002ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
1003/* 1003/*
1004 Writes the given null-terminated string to the compressed file, excluding 1004 Writes the given null-terminated string to the compressed file, excluding
1005 the terminating null character. 1005 the terminating null character.
1006 gzputs returns the number of characters written, or -1 in case of error. 1006 gzputs returns the number of characters written, or -1 in case of error.
1007*/ 1007*/
1008 1008
1009ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); 1009ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
1010/* 1010/*
1011 Reads bytes from the compressed file until len-1 characters are read, or 1011 Reads bytes from the compressed file until len-1 characters are read, or
1012 a newline character is read and transferred to buf, or an end-of-file 1012 a newline character is read and transferred to buf, or an end-of-file
1013 condition is encountered. The string is then terminated with a null 1013 condition is encountered. The string is then terminated with a null
1014 character. 1014 character.
1015 gzgets returns buf, or Z_NULL in case of error. 1015 gzgets returns buf, or Z_NULL in case of error.
1016*/ 1016*/
1017 1017
1018ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); 1018ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
1019/* 1019/*
1020 Writes c, converted to an unsigned char, into the compressed file. 1020 Writes c, converted to an unsigned char, into the compressed file.
1021 gzputc returns the value that was written, or -1 in case of error. 1021 gzputc returns the value that was written, or -1 in case of error.
1022*/ 1022*/
1023 1023
1024ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); 1024ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
1025/* 1025/*
1026 Reads one byte from the compressed file. gzgetc returns this byte 1026 Reads one byte from the compressed file. gzgetc returns this byte
1027 or -1 in case of end of file or error. 1027 or -1 in case of end of file or error.
1028*/ 1028*/
1029 1029
1030ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); 1030ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
1031/* 1031/*
1032 Push one character back onto the stream to be read again later. 1032 Push one character back onto the stream to be read again later.
1033 Only one character of push-back is allowed. gzungetc() returns the 1033 Only one character of push-back is allowed. gzungetc() returns the
1034 character pushed, or -1 on failure. gzungetc() will fail if a 1034 character pushed, or -1 on failure. gzungetc() will fail if a
1035 character has been pushed but not read yet, or if c is -1. The pushed 1035 character has been pushed but not read yet, or if c is -1. The pushed
1036 character will be discarded if the stream is repositioned with gzseek() 1036 character will be discarded if the stream is repositioned with gzseek()
1037 or gzrewind(). 1037 or gzrewind().
1038*/ 1038*/
1039 1039
1040ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); 1040ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
1041/* 1041/*
1042 Flushes all pending output into the compressed file. The parameter 1042 Flushes all pending output into the compressed file. The parameter
1043 flush is as in the deflate() function. The return value is the zlib 1043 flush is as in the deflate() function. The return value is the zlib
1044 error number (see function gzerror below). gzflush returns Z_OK if 1044 error number (see function gzerror below). gzflush returns Z_OK if
1045 the flush parameter is Z_FINISH and all output could be flushed. 1045 the flush parameter is Z_FINISH and all output could be flushed.
1046 gzflush should be called only when strictly necessary because it can 1046 gzflush should be called only when strictly necessary because it can
1047 degrade compression. 1047 degrade compression.
1048*/ 1048*/
1049 1049
1050ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, 1050ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
1051 z_off_t offset, int whence)); 1051 z_off_t offset, int whence));
1052/* 1052/*
1053 Sets the starting position for the next gzread or gzwrite on the 1053 Sets the starting position for the next gzread or gzwrite on the
1054 given compressed file. The offset represents a number of bytes in the 1054 given compressed file. The offset represents a number of bytes in the
1055 uncompressed data stream. The whence parameter is defined as in lseek(2); 1055 uncompressed data stream. The whence parameter is defined as in lseek(2);
1056 the value SEEK_END is not supported. 1056 the value SEEK_END is not supported.
1057 If the file is opened for reading, this function is emulated but can be 1057 If the file is opened for reading, this function is emulated but can be
1058 extremely slow. If the file is opened for writing, only forward seeks are 1058 extremely slow. If the file is opened for writing, only forward seeks are
1059 supported; gzseek then compresses a sequence of zeroes up to the new 1059 supported; gzseek then compresses a sequence of zeroes up to the new
1060 starting position. 1060 starting position.
1061 1061
1062 gzseek returns the resulting offset location as measured in bytes from 1062 gzseek returns the resulting offset location as measured in bytes from
1063 the beginning of the uncompressed stream, or -1 in case of error, in 1063 the beginning of the uncompressed stream, or -1 in case of error, in
1064 particular if the file is opened for writing and the new starting position 1064 particular if the file is opened for writing and the new starting position
1065 would be before the current position. 1065 would be before the current position.
1066*/ 1066*/
1067 1067
1068ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); 1068ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
1069/* 1069/*
1070 Rewinds the given file. This function is supported only for reading. 1070 Rewinds the given file. This function is supported only for reading.
1071 1071
1072 gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) 1072 gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
1073*/ 1073*/
1074 1074
1075ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); 1075ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
1076/* 1076/*
1077 Returns the starting position for the next gzread or gzwrite on the 1077 Returns the starting position for the next gzread or gzwrite on the
1078 given compressed file. This position represents a number of bytes in the 1078 given compressed file. This position represents a number of bytes in the
1079 uncompressed data stream. 1079 uncompressed data stream.
1080 1080
1081 gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) 1081 gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
1082*/ 1082*/
1083 1083
1084ZEXTERN int ZEXPORT gzeof OF((gzFile file)); 1084ZEXTERN int ZEXPORT gzeof OF((gzFile file));
1085/* 1085/*
1086 Returns 1 when EOF has previously been detected reading the given 1086 Returns 1 when EOF has previously been detected reading the given
1087 input stream, otherwise zero. 1087 input stream, otherwise zero.
1088*/ 1088*/
1089 1089
1090ZEXTERN int ZEXPORT gzclose OF((gzFile file)); 1090ZEXTERN int ZEXPORT gzclose OF((gzFile file));
1091/* 1091/*
1092 Flushes all pending output if necessary, closes the compressed file 1092 Flushes all pending output if necessary, closes the compressed file
1093 and deallocates all the (de)compression state. The return value is the zlib 1093 and deallocates all the (de)compression state. The return value is the zlib
1094 error number (see function gzerror below). 1094 error number (see function gzerror below).
1095*/ 1095*/
1096 1096
1097ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); 1097ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
1098/* 1098/*
1099 Returns the error message for the last error which occurred on the 1099 Returns the error message for the last error which occurred on the
1100 given compressed file. errnum is set to zlib error number. If an 1100 given compressed file. errnum is set to zlib error number. If an
1101 error occurred in the file system and not in the compression library, 1101 error occurred in the file system and not in the compression library,
1102 errnum is set to Z_ERRNO and the application may consult errno 1102 errnum is set to Z_ERRNO and the application may consult errno
1103 to get the exact error code. 1103 to get the exact error code.
1104*/ 1104*/
1105 1105
1106ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); 1106ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
1107/* 1107/*
1108 Clears the error and end-of-file flags for file. This is analogous to the 1108 Clears the error and end-of-file flags for file. This is analogous to the
1109 clearerr() function in stdio. This is useful for continuing to read a gzip 1109 clearerr() function in stdio. This is useful for continuing to read a gzip
1110 file that is being written concurrently. 1110 file that is being written concurrently.
1111*/ 1111*/
1112 1112
1113 /* checksum functions */ 1113 /* checksum functions */
1114 1114
1115/* 1115/*
1116 These functions are not related to compression but are exported 1116 These functions are not related to compression but are exported
1117 anyway because they might be useful in applications using the 1117 anyway because they might be useful in applications using the
1118 compression library. 1118 compression library.
1119*/ 1119*/
1120 1120
1121ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); 1121ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
1122 1122
1123/* 1123/*
1124 Update a running Adler-32 checksum with the bytes buf[0..len-1] and 1124 Update a running Adler-32 checksum with the bytes buf[0..len-1] and
1125 return the updated checksum. If buf is NULL, this function returns 1125 return the updated checksum. If buf is NULL, this function returns
1126 the required initial value for the checksum. 1126 the required initial value for the checksum.
1127 An Adler-32 checksum is almost as reliable as a CRC32 but can be computed 1127 An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
1128 much faster. Usage example: 1128 much faster. Usage example:
1129 1129
1130 uLong adler = adler32(0L, Z_NULL, 0); 1130 uLong adler = adler32(0L, Z_NULL, 0);
1131 1131
1132 while (read_buffer(buffer, length) != EOF) { 1132 while (read_buffer(buffer, length) != EOF) {
1133 adler = adler32(adler, buffer, length); 1133 adler = adler32(adler, buffer, length);
1134 } 1134 }
1135 if (adler != original_adler) error(); 1135 if (adler != original_adler) error();
1136*/ 1136*/
1137 1137
1138ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); 1138ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
1139/* 1139/*
1140 Update a running crc with the bytes buf[0..len-1] and return the updated 1140 Update a running crc with the bytes buf[0..len-1] and return the updated
1141 crc. If buf is NULL, this function returns the required initial value 1141 crc. If buf is NULL, this function returns the required initial value
1142 for the crc. Pre- and post-conditioning (one's complement) is performed 1142 for the crc. Pre- and post-conditioning (one's complement) is performed
1143 within this function so it shouldn't be done by the application. 1143 within this function so it shouldn't be done by the application.
1144 Usage example: 1144 Usage example:
1145 1145
1146 uLong crc = crc32(0L, Z_NULL, 0); 1146 uLong crc = crc32(0L, Z_NULL, 0);
1147 1147
1148 while (read_buffer(buffer, length) != EOF) { 1148 while (read_buffer(buffer, length) != EOF) {
1149 crc = crc32(crc, buffer, length); 1149 crc = crc32(crc, buffer, length);
1150 } 1150 }
1151 if (crc != original_crc) error(); 1151 if (crc != original_crc) error();
1152*/ 1152*/
1153 1153
1154 1154
1155 /* various hacks, don't look :) */ 1155 /* various hacks, don't look :) */
1156 1156
1157/* deflateInit and inflateInit are macros to allow checking the zlib version 1157/* deflateInit and inflateInit are macros to allow checking the zlib version
1158 * and the compiler's view of z_stream: 1158 * and the compiler's view of z_stream:
1159 */ 1159 */
1160ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, 1160ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
1161 const char *version, int stream_size)); 1161 const char *version, int stream_size));
1162ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, 1162ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
1163 const char *version, int stream_size)); 1163 const char *version, int stream_size));
1164ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, 1164ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
1165 int windowBits, int memLevel, 1165 int windowBits, int memLevel,
1166 int strategy, const char *version, 1166 int strategy, const char *version,
1167 int stream_size)); 1167 int stream_size));
1168ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, 1168ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
1169 const char *version, int stream_size)); 1169 const char *version, int stream_size));
1170ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits, 1170ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits,
1171 unsigned char FAR *window, 1171 unsigned char FAR *window,
1172 const char *version, 1172 const char *version,
1173 int stream_size)); 1173 int stream_size));
1174#define deflateInit(strm, level) \ 1174#define deflateInit(strm, level) \
1175 deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream)) 1175 deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
1176#define inflateInit(strm) \ 1176#define inflateInit(strm) \
1177 inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream)) 1177 inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
1178#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ 1178#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
1179 deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ 1179 deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
1180 (strategy), ZLIB_VERSION, sizeof(z_stream)) 1180 (strategy), ZLIB_VERSION, sizeof(z_stream))
1181#define inflateInit2(strm, windowBits) \ 1181#define inflateInit2(strm, windowBits) \
1182 inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream)) 1182 inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
1183#define inflateBackInit(strm, windowBits, window) \ 1183#define inflateBackInit(strm, windowBits, window) \
1184 inflateBackInit_((strm), (windowBits), (window), \ 1184 inflateBackInit_((strm), (windowBits), (window), \
1185 ZLIB_VERSION, sizeof(z_stream)) 1185 ZLIB_VERSION, sizeof(z_stream))
1186 1186
1187 1187
1188#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) 1188#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
1189 struct internal_state {int dummy;}; /* hack for buggy compilers */ 1189 struct internal_state {int dummy;}; /* hack for buggy compilers */
1190#endif 1190#endif
1191 1191
1192ZEXTERN const char * ZEXPORT zError OF((int)); 1192ZEXTERN const char * ZEXPORT zError OF((int));
1193ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); 1193ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
1194ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); 1194ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
1195 1195
1196#ifdef __cplusplus 1196#ifdef __cplusplus
1197} 1197}
1198#endif 1198#endif
1199 1199
1200#endif /* ZLIB_H */ 1200#endif /* ZLIB_H */