diff options
author | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2008-05-11 17:21:14 +0000 |
---|---|---|
committer | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2008-05-11 17:21:14 +0000 |
commit | 9c54187678281077b8700c1c107f54a0b40d7050 (patch) | |
tree | b07061b11477bfbdfddaa52bee43f4993167dbc0 /rbutil | |
parent | 850c4f98baecf3d3c28e916927d15d3bbd0cd502 (diff) | |
download | rockbox-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
Diffstat (limited to 'rbutil')
-rw-r--r-- | rbutil/rbutilqt/rbunzip.cpp | 96 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutil_de.ts | 5076 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutil_fr.ts | 5144 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutil_tr.ts | 5104 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutil_zh_CN.ts | 5252 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutil_zh_TW.ts | 5268 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.rc | 4 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbzip.cpp | 134 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbzip.h | 42 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/unzip.cpp | 2720 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/unzip.h | 288 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/unzip_p.h | 224 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/zip.cpp | 2442 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/zip.h | 230 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/zip_p.h | 186 | ||||
-rw-r--r-- | rbutil/rbutilqt/zip/zipentry_p.h | 156 | ||||
-rw-r--r-- | rbutil/rbutilqt/zlib/zconf.h | 652 | ||||
-rw-r--r-- | rbutil/rbutilqt/zlib/zlib.h | 2400 |
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 | ||
24 | UnZip::ErrorCode RbUnZip::extractArchive(const QString& dest) | 24 | UnZip::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 | ||
44 | void RbUnZip::abortUnzip(void) | 44 | void 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 "sicher" entfernen.</translation> | 94 | <translation>1. Gerät "sicher" 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>******************************************** |
245 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. | 245 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. |
246 | You must reinstall the original Sansa firmware before running | 246 | You must reinstall the original Sansa firmware before running |
247 | sansapatcher for the first time. | 247 | sansapatcher for the first time. |
248 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install | 248 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install |
249 | ********************************************* | 249 | ********************************************* |
250 | </source> | 250 | </source> |
251 | <translation>******************************************** | 251 | <translation>******************************************** |
252 | ALTE ROCKBOX-INSTALLATION GEFUNDEN, BEENDE.Du musst die Original-Firmware neu installieren bevorsansapatcher ausgeführt werden kann.Siehe http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install*********************************************</translation> | 252 | ALTE ROCKBOX-INSTALLATION GEFUNDEN, BEENDE.Du musst die Original-Firmware neu installieren bevorsansapatcher ausgeführt werden kann.Siehe http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install*********************************************</translation> |
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 |
327 | See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> | 327 | See 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 |
329 | Siehe http://www.rockbox.org/wiki/IpodConversionToFAT32</translation> | 329 | Siehe 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>&Ok</source> | 351 | <source>&Ok</source> |
352 | <translation>&Ok</translation> | 352 | <translation>&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>&Cancel</source> | 356 | <source>&Cancel</source> |
357 | <translation>&Abbrechen</translation> | 357 | <translation>&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>&Ok</source> | 379 | <source>&Ok</source> |
380 | <translation>&Ok</translation> | 380 | <translation>&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>&Cancel</source> | 384 | <source>&Cancel</source> |
385 | <translation>&Abbrechen</translation> | 385 | <translation>&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. |
408 | Select your Mountpoint manually.</source> | 408 | Select your Mountpoint manually.</source> |
409 | <translation>Konnte Einhängepunkt nicht erkennen. | 409 | <translation>Konnte Einhängepunkt nicht erkennen. |
410 | Bitte manuell auswählen.</translation> | 410 | Bitte 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. |
415 | Select your device and Mountpoint manually.</source> | 415 | Select your device and Mountpoint manually.</source> |
416 | <translation>Konnte kein Gerät erkennen. | 416 | <translation>Konnte kein Gerät erkennen. |
417 | Bitte Gerät und den Einhängepunt manuell auswählen.</translation> | 417 | Bitte 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 <b>all</b> 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 <b>all</b> files in this folder!</source> |
432 | <translation>Cache wirklich löschen? Stelle sicher dass die Einstellung korrekt ist da dies <b>alle</b> Dateien im Cache-Ordner löschen wird!</translation> | 432 | <translation>Cache wirklich löschen? Stelle sicher dass die Einstellung korrekt ist da dies <b>alle</b> 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! |
467 | You need to change your player to MSC mode for installation. </source> | 467 | You 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! |
469 | Stellen sie ihren Player auf MSC Mode um.</translation> | 469 | Stellen 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! |
474 | You need to change your player to UMS mode for installation. </source> | 474 | You 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>&Ok</source> | 503 | <source>&Ok</source> |
504 | <translation>&Ok</translation> | 504 | <translation>&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>&Cancel</source> | 508 | <source>&Cancel</source> |
509 | <translation>&Abbrechen</translation> | 509 | <translation>&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>&Proxy</source> | 513 | <source>&Proxy</source> |
514 | <translation>&Proxy</translation> | 514 | <translation>&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>&No Proxy</source> | 518 | <source>&No Proxy</source> |
519 | <translation>&kein Proxy</translation> | 519 | <translation>&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>&Manual Proxy settings</source> | 523 | <source>&Manual Proxy settings</source> |
524 | <translation>&Manuelle Proxyeinstellungen</translation> | 524 | <translation>&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>&Host:</source> | 533 | <source>&Host:</source> |
534 | <translation>&Host:</translation> | 534 | <translation>&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>&Port:</source> | 538 | <source>&Port:</source> |
539 | <translation>&Port:</translation> | 539 | <translation>&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>&Username</source> | 543 | <source>&Username</source> |
544 | <translation>&Benutzername</translation> | 544 | <translation>&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>&Language</source> | 548 | <source>&Language</source> |
549 | <translation>&Sprache</translation> | 549 | <translation>&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>&Device</source> | 553 | <source>&Device</source> |
554 | <translation>&Gerät</translation> | 554 | <translation>&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 &filesystem</source> | 558 | <source>Select your device in the &filesystem</source> |
559 | <translation>Gerät im &Dateisystem auswählen</translation> | 559 | <translation>Gerät im &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>&Browse</source> | 563 | <source>&Browse</source> |
564 | <translation>D&urchsuchen</translation> | 564 | <translation>D&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>&Select your audio player</source> | 568 | <source>&Select your audio player</source> |
569 | <translation>Audio-Player au&swählen</translation> | 569 | <translation>Audio-Player au&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>&Autodetect</source> | 578 | <source>&Autodetect</source> |
579 | <translation>&Autoerkennung</translation> | 579 | <translation>&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&ystem values</source> | 583 | <source>Use S&ystem values</source> |
584 | <translation>S&ystemwerte verwenden</translation> | 584 | <translation>S&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&word</source> | 588 | <source>Pass&word</source> |
589 | <translation>Pass&wort</translation> | 589 | <translation>Pass&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&he</source> | 593 | <source>Cac&he</source> |
594 | <translation>Cac&he</translation> | 594 | <translation>Cac&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&ath</source> | 613 | <source>P&ath</source> |
614 | <translation>P&fad</translation> | 614 | <translation>P&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 &download cache</source> | 618 | <source>Disable local &download cache</source> |
619 | <translation>lokalen &Downloadcache ausschalten</translation> | 619 | <translation>lokalen &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&ffline mode</source> | 623 | <source>O&ffline mode</source> |
624 | <translation>O&ffline-Modus</translation> | 624 | <translation>O&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 &now</source> | 628 | <source>Clean cache &now</source> |
629 | <translation>C&ache löschen</translation> | 629 | <translation>C&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>&TTS && Encoder</source> | 643 | <source>&TTS && Encoder</source> |
644 | <translation>&TTS && Encoder</translation> | 644 | <translation>&TTS && 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>&Select TTS profile</source> | 653 | <source>&Select TTS profile</source> |
654 | <translation type="obsolete">TTS-Profil au&swählen</translation> | 654 | <translation type="obsolete">TTS-Profil au&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 &encoder profile</source> | 668 | <source>Select &encoder profile</source> |
669 | <translation type="obsolete">&Encoder-Profil auswählen</translation> | 669 | <translation type="obsolete">&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&rowse</source> | 673 | <source>B&rowse</source> |
674 | <translation type="obsolete">&Durchsuchen</translation> | 674 | <translation type="obsolete">&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>&Select TTS Engine</source> | 678 | <source>&Select TTS Engine</source> |
679 | <translation>&Wähle TTS Engine</translation> | 679 | <translation>&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 &TTS</source> | 693 | <source>Configure &TTS</source> |
694 | <translation>Konfiguriere &TTS</translation> | 694 | <translation>Konfiguriere &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 &encoder</source> | 698 | <source>Select &encoder</source> |
699 | <translation>Wähle &encoder</translation> | 699 | <translation>Wähle &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 &Enc</source> | 708 | <source> Configure &Enc</source> |
709 | <translation>Konfiguriere &Encoder</translation> | 709 | <translation>Konfiguriere &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>&Install</source> | 754 | <source>&Install</source> |
755 | <translation>&Installiere</translation> | 755 | <translation>&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>&Cancel</source> | 759 | <source>&Cancel</source> |
760 | <translation>&Abbrechen</translation> | 760 | <translation>&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 : <b>%1</b></source> | 772 | <source>Selected TTS engine : <b>%1</b></source> |
773 | <translation>Gewählte TTS engine : <b>%1</b></translation> | 773 | <translation>Gewählte TTS engine : <b>%1</b></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: <b>%1</b></source> | 777 | <source>Selected TTS Engine: <b>%1</b></source> |
778 | <translation>Gewählte TTS Engine: <b>%1</b></translation> | 778 | <translation>Gewählte TTS Engine: <b>%1</b></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: <b>%1</b></source> | 782 | <source>Selected Encoder: <b>%1</b></source> |
783 | <translation>Gewählter Encoder: <b>%1</b></translation> | 783 | <translation>Gewählter Encoder: <b>%1</b></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>&Browse</source> | 805 | <source>&Browse</source> |
806 | <translation>D&urchsuchen</translation> | 806 | <translation>D&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>&Ok</source> | 820 | <source>&Ok</source> |
821 | <translation>&Ok</translation> | 821 | <translation>&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>&Cancel</source> | 825 | <source>&Cancel</source> |
826 | <translation>&Abbrechen</translation> | 826 | <translation>&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><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> | 838 | <source><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> |
839 | <translation><b>Hinweis:</b> Dies lädt immer eine aktuelle Kopie herunter. <b>Dies ist die empfohlene Version.</b></translation> | 839 | <translation><b>Hinweis:</b> Dies lädt immer eine aktuelle Kopie herunter. <b>Dies ist die empfohlene Version.</b></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><b>Note:</b> This option will always download a fresh copy.</source> | 843 | <source><b>Note:</b> This option will always download a fresh copy.</source> |
844 | <translation><b>Hinweis:</b> Dies lädt immer eine aktuelle Kopie herunter. </translation> | 844 | <translation><b>Hinweis:</b> 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><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> | 853 | <source><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> |
854 | <translation><b>Hinweis:</b> Die letzte veröffentlichte Version ist %1. <b>Dies ist die empfohlene Version.</b></translation> | 854 | <translation><b>Hinweis:</b> Die letzte veröffentlichte Version ist %1. <b>Dies ist die empfohlene Version.</b></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><b>Note:</b> archived version is r%1 (%2).</source> | 863 | <source><b>Note:</b> archived version is r%1 (%2).</source> |
864 | <translation><b>Hinweis:</b> Archivierte Version ist r%1 (%2).</translation> | 864 | <translation><b>Hinweis:</b> 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 &stable</source> | 891 | <source>Rockbox &stable</source> |
892 | <translation>&Stabile Rockbox-Version</translation> | 892 | <translation>&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>&Archived Build</source> | 896 | <source>&Archived Build</source> |
897 | <translation>&Archivierte Version</translation> | 897 | <translation>&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>&Current Build</source> | 901 | <source>&Current Build</source> |
902 | <translation>Aktuelle &Version</translation> | 902 | <translation>Aktuelle &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>&Don't use locally cached copy</source> | 926 | <source>&Don't use locally cached copy</source> |
927 | <translation>&keine lokale Zwischenkopie verwenden</translation> | 927 | <translation>&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>&Ok</source> | 931 | <source>&Ok</source> |
932 | <translation type="obsolete">&Ok</translation> | 932 | <translation type="obsolete">&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>&Cancel</source> | 936 | <source>&Cancel</source> |
937 | <translation>&Abbrechen</translation> | 937 | <translation>&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>&Install</source> | 941 | <source>&Install</source> |
942 | <translation>&Installiere</translation> | 942 | <translation>&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>&Abort</source> | 954 | <source>&Abort</source> |
955 | <translation>&Abbrechen</translation> | 955 | <translation>&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>&Browse</source> | 972 | <source>&Browse</source> |
973 | <translation>&Durchsuchen</translation> | 973 | <translation>&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>&Ok</source> | 1002 | <source>&Ok</source> |
1003 | <translation type="obsolete">&Ok</translation> | 1003 | <translation type="obsolete">&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>&Cancel</source> | 1007 | <source>&Cancel</source> |
1008 | <translation>&Abbrechen</translation> | 1008 | <translation>&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>&Install</source> | 1047 | <source>&Install</source> |
1048 | <translation>&Installiere</translation> | 1048 | <translation>&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: <b>%1</b></source> | 1060 | <source>TTS Profile: <b>%1</b></source> |
1061 | <translation type="obsolete">TTS-Profil: <b>%1</b></translation> | 1061 | <translation type="obsolete">TTS-Profil: <b>%1</b></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: <b>%1</b></source> | 1070 | <source>Encoder Profile: <b>%1</b></source> |
1071 | <translation type="obsolete">Encoder-Profil: <b>%1</b></translation> | 1071 | <translation type="obsolete">Encoder-Profil: <b>%1</b></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 : <b>%1</b></source> | 1080 | <source>Selected TTS engine : <b>%1</b></source> |
1081 | <translation>Gewählte TTS engine : <b>%1</b></translation> | 1081 | <translation>Gewählte TTS engine : <b>%1</b></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: <b>%1</b></source> | 1085 | <source>Selected TTS Engine: <b>%1</b></source> |
1086 | <translation>Gewählte TTS Engine: <b>%1</b></translation> | 1086 | <translation>Gewählte TTS Engine: <b>%1</b></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: <b>%1</b></source> | 1090 | <source>Selected Encoder: <b>%1</b></source> |
1091 | <translation>Gewählter Encoder: <b>%1</b></translation> | 1091 | <translation>Gewählter Encoder: <b>%1</b></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>&Ok</source> | 1106 | <source>&Ok</source> |
1107 | <translation>&Ok</translation> | 1107 | <translation>&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>&Abort</source> | 1111 | <source>&Abort</source> |
1112 | <translation>&Abbrechen</translation> | 1112 | <translation>&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>&Ok</source> | 1149 | <source>&Ok</source> |
1150 | <translation>&Ok</translation> | 1150 | <translation>&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>&Cancel</source> | 1154 | <source>&Cancel</source> |
1155 | <translation>&Abbrechen</translation> | 1155 | <translation>&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><b>%1 %2</b> at <b>%3</b></source> | 1172 | <source><b>%1 %2</b> at <b>%3</b></source> |
1173 | <translation><b>%1 %2</b> an <b>%3</b></translation> | 1173 | <translation><b>%1 %2</b> an <b>%3</b></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><a href='%1'>PDF Manual</a></source> | 1177 | <source><a href='%1'>PDF Manual</a></source> |
1178 | <translation><a href='%1'>PDF-Handbuch</a></translation> | 1178 | <translation><a href='%1'>PDF-Handbuch</a></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><a href='%1'>HTML Manual (opens in browser)</a></source> | 1182 | <source><a href='%1'>HTML Manual (opens in browser)</a></source> |
1183 | <translation><a href='%1'>HTML-Handbuch (öffnet im Browser)</a></translation> | 1183 | <translation><a href='%1'>HTML-Handbuch (öffnet im Browser)</a></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><a href='%1'>Manual Overview</a></source> | 1192 | <source><a href='%1'>Manual Overview</a></source> |
1193 | <translation><a href='%1'>Anleitungen-Übersicht</a></translation> | 1193 | <translation><a href='%1'>Anleitungen-Übersicht</a></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. |
1323 | Do really want to install it?</source> | 1323 | Do 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 |
1325 | Trotzdem installieren?</translation> | 1325 | Trotzdem 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. |
1350 | Do want to replace the current bootloader?</source> | 1350 | Do 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. |
1352 | Wollen sie wircklich den Bootloader ersetzen ?</translation> | 1352 | Wollen 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't have a doom plugin. Aborting.</source> | 1366 | <source>Your device doesn'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>&Quick Start</source> | 1384 | <source>&Quick Start</source> |
1385 | <translation>&Schnellstart</translation> | 1385 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1394 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1395 | p, li { white-space: pre-wrap; } | 1395 | p, li { white-space: pre-wrap; } |
1396 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1396 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1397 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> | 1397 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> |
1398 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> | 1398 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> |
1399 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1399 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1400 | p, li { white-space: pre-wrap; } | 1400 | p, li { white-space: pre-wrap; } |
1401 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1401 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1402 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Vollständige Installation</span></p> | 1402 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Vollständige Installation</span></p> |
1403 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Die installiert den Bootloader, ein aktuellen build von Rockbox und die Extra-Pakete. Dies ist die empfohlene Installationsmethode für neue Installationen.</p></body></html></translation> | 1403 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Die installiert den Bootloader, ein aktuellen build von Rockbox und die Extra-Pakete. Dies ist die empfohlene Installationsmethode für neue Installationen.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1407 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1408 | p, li { white-space: pre-wrap; } | 1408 | p, li { white-space: pre-wrap; } |
1409 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1409 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1410 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> | 1410 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> |
1411 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> | 1411 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> |
1412 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1412 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1413 | p, li { white-space: pre-wrap; } | 1413 | p, li { white-space: pre-wrap; } |
1414 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1414 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1415 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Kleine Installation</span></p> | 1415 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Kleine Installation</span></p> |
1416 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Dies installiert den Bootloader und ein aktuellen Build von Rockbox. Wenn du die Extra-Pakete nicht brauchst, wähle diese Option.</p></body></html></translation> | 1416 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Dies installiert den Bootloader und ein aktuellen Build von Rockbox. Wenn du die Extra-Pakete nicht brauchst, wähle diese Option.</p></body></html></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>&Installation</source> | 1420 | <source>&Installation</source> |
1421 | <translation>&Installation</translation> | 1421 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1425 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1426 | p, li { white-space: pre-wrap; } | 1426 | p, li { white-space: pre-wrap; } |
1427 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1427 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1428 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> | 1428 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> |
1429 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> | 1429 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> |
1430 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1430 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1431 | p, li { white-space: pre-wrap; } | 1431 | p, li { white-space: pre-wrap; } |
1432 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1432 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1433 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installiere den Bootloader</span></p> | 1433 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installiere den Bootloader</span></p> |
1434 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bevor Rockbox auf einem Audio Player laufen kann, musst du eventuell einen Bootloader installieren. Dies ist nur für die erste Installation nötig.</p></body></html></translation> | 1434 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bevor Rockbox auf einem Audio Player laufen kann, musst du eventuell einen Bootloader installieren. Dies ist nur für die erste Installation nötig.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1438 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1439 | p, li { white-space: pre-wrap; } | 1439 | p, li { white-space: pre-wrap; } |
1440 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1440 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1441 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> | 1441 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> |
1442 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1442 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1443 | p, li { white-space: pre-wrap; } | 1443 | p, li { white-space: pre-wrap; } |
1444 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1444 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1445 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installiere Rockbox</span> auf deinem Audio Player</p></body></html></translation> | 1445 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installiere Rockbox</span> auf deinem Audio Player</p></body></html></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>&Extras</source> | 1449 | <source>&Extras</source> |
1450 | <translation>&Extras</translation> | 1450 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1454 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1455 | p, li { white-space: pre-wrap; } | 1455 | p, li { white-space: pre-wrap; } |
1456 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1456 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1457 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> | 1457 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> |
1458 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> | 1458 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1463 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1464 | p, li { white-space: pre-wrap; } | 1464 | p, li { white-space: pre-wrap; } |
1465 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1465 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1466 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> | 1466 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> |
1467 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> | 1467 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1472 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1473 | p, li { white-space: pre-wrap; } | 1473 | p, li { white-space: pre-wrap; } |
1474 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1474 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1475 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> | 1475 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> |
1476 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> | 1476 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></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>&Uninstallation</source> | 1481 | <source>&Uninstallation</source> |
1482 | <translation>&Deinstallation</translation> | 1482 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1486 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1487 | p, li { white-space: pre-wrap; } | 1487 | p, li { white-space: pre-wrap; } |
1488 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1488 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1489 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> | 1489 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> |
1490 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> | 1490 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></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>&Manual</source> | 1495 | <source>&Manual</source> |
1496 | <translation>&Anleitung</translation> | 1496 | <translation>&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>&File</source> | 1500 | <source>&File</source> |
1501 | <translation>&Datei</translation> | 1501 | <translation>&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>&About</source> | 1505 | <source>&About</source> |
1506 | <translation>Ü&ber</translation> | 1506 | <translation>Ü&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>&Configure</source> | 1520 | <source>&Configure</source> |
1521 | <translation>&Konfigurieren</translation> | 1521 | <translation>&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&xit</source> | 1525 | <source>E&xit</source> |
1526 | <translation>&Beenden</translation> | 1526 | <translation>&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 &Qt</source> | 1535 | <source>About &Qt</source> |
1536 | <translation>Über &Qt</translation> | 1536 | <translation>Über &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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1585 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1586 | p, li { white-space: pre-wrap; } | 1586 | p, li { white-space: pre-wrap; } |
1587 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1587 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1588 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> | 1588 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> |
1589 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">unbekannt</span> an <span style=" font-weight:600;">unbekannt</span></p></body></html></translation> | 1589 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">unbekannt</span> an <span style=" font-weight:600;">unbekannt</span></p></body></html></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>&Change</source> | 1593 | <source>&Change</source> |
1594 | <translation>Än&dern</translation> | 1594 | <translation>Än&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>&Accessibility</source> | 1613 | <source>&Accessibility</source> |
1614 | <translation>&Accessibility</translation> | 1614 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1628 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1629 | p, li { white-space: pre-wrap; } | 1629 | p, li { white-space: pre-wrap; } |
1630 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1630 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1631 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> | 1631 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> |
1632 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> | 1632 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1642 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1643 | p, li { white-space: pre-wrap; } | 1643 | p, li { white-space: pre-wrap; } |
1644 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1644 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1645 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> | 1645 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> |
1646 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> | 1646 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1651 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1652 | p, li { white-space: pre-wrap; } | 1652 | p, li { white-space: pre-wrap; } |
1653 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1653 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1654 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> | 1654 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> |
1655 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> | 1655 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></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>&PDF version</source> | 1685 | <source>&PDF version</source> |
1686 | <translation>&PDF-Version</translation> | 1686 | <translation>&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>&HTML version (zip file)</source> | 1690 | <source>&HTML version (zip file)</source> |
1691 | <translation>&HTML-Version (Zip-Datei)</translation> | 1691 | <translation>&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&load</source> | 1695 | <source>Down&load</source> |
1696 | <translation>Herunter&laden</translation> | 1696 | <translation>Herunter&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&o</source> | 1700 | <source>Inf&o</source> |
1701 | <translation>Inf&o</translation> | 1701 | <translation>Inf&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1705 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1706 | p, li { white-space: pre-wrap; } | 1706 | p, li { white-space: pre-wrap; } |
1707 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1707 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1708 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> | 1708 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> |
1709 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> | 1709 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></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>&Help</source> | 1719 | <source>&Help</source> |
1720 | <translation>&Hilfe</translation> | 1720 | <translation>&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&s</source> | 1734 | <source>Action&s</source> |
1735 | <translation>Action&s</translation> | 1735 | <translation>Action&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1824 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1825 | p, li { white-space: pre-wrap; } | 1825 | p, li { white-space: pre-wrap; } |
1826 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1826 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1827 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> | 1827 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> |
1828 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> | 1828 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> |
1829 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></source> | 1829 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></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<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> | 1839 | <source>Create Voic<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> |
1840 | e File</source> | 1840 | e 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>&Ok</source> | 1873 | <source>&Ok</source> |
1874 | <translation>&Ok</translation> | 1874 | <translation>&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>&Cancel</source> | 1878 | <source>&Cancel</source> |
1879 | <translation>&Abbrechen</translation> | 1879 | <translation>&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>&Browse</source> | 1919 | <source>&Browse</source> |
1920 | <translation>D&urchsuchen</translation> | 1920 | <translation>D&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>&Ok</source> | 1934 | <source>&Ok</source> |
1935 | <translation>&Ok</translation> | 1935 | <translation>&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>&Cancel</source> | 1939 | <source>&Cancel</source> |
1940 | <translation>&Abbrechen</translation> | 1940 | <translation>&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>&Ok</source> | 2028 | <source>&Ok</source> |
2029 | <translation type="obsolete">&Ok</translation> | 2029 | <translation type="obsolete">&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>&Cancel</source> | 2033 | <source>&Cancel</source> |
2034 | <translation>&Abbrechen</translation> | 2034 | <translation>&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>&Install</source> | 2038 | <source>&Install</source> |
2039 | <translation>&Installiere</translation> | 2039 | <translation>&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 &All</source> | 2043 | <source>Install &All</source> |
2044 | <translation>Installiere &Alles</translation> | 2044 | <translation>Installiere &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. |
2057 | Please check your network and proxy settings.</source> | 2057 | Please check your network and proxy settings.</source> |
2058 | <translation>Netzwerkfehler: %1 | 2058 | <translation>Netzwerkfehler: %1 |
2059 | Bitte Netzwerk- und Proxyeinstellungen überprüfen.</translation> | 2059 | Bitte 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><b>Author:</b> %1<hr/></source> | 2090 | <source><b>Author:</b> %1<hr/></source> |
2091 | <translation><b>Autor:</b> %1<hr/></translation> | 2091 | <translation><b>Autor:</b> %1<hr/></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><b>Version:</b> %1<hr/></source> | 2100 | <source><b>Version:</b> %1<hr/></source> |
2101 | <translation><b>Version:</b> %1<hr/></translation> | 2101 | <translation><b>Version:</b> %1<hr/></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><b>Description:</b> %1<hr/></source> | 2125 | <source><b>Description:</b> %1<hr/></source> |
2126 | <translation><b>Beschreibung:</b> %1<hr/></translation> | 2126 | <translation><b>Beschreibung:</b> %1<hr/></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>&Ok</source> | 2261 | <source>&Ok</source> |
2262 | <translation type="obsolete">&Ok</translation> | 2262 | <translation type="obsolete">&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>&Cancel</source> | 2266 | <source>&Cancel</source> |
2267 | <translation>&Abbrechen</translation> | 2267 | <translation>&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>&Uninstall</source> | 2271 | <source>&Uninstall</source> |
2272 | <translation>&Deinstallation</translation> | 2272 | <translation>&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>&Credits</source> | 2506 | <source>&Credits</source> |
2507 | <translation>&Credits</translation> | 2507 | <translation>&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>&License</source> | 2511 | <source>&License</source> |
2512 | <translation>&Lizenz</translation> | 2512 | <translation>&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>&Ok</source> | 2516 | <source>&Ok</source> |
2517 | <translation>&Ok</translation> | 2517 | <translation>&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. |
2529 | Released under the GNU General Public License v2.</source> | 2529 | Released 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'installation du bootloader</translation> | 8 | <translation>Démarrage de l'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'installation non supportée</translation> | 13 | <translation>Méthode d'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'installation du bootloader</translation> | 18 | <translation>Démarrage de l'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'installation</translation> | 48 | <translation>Création du journal d'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'installation</translation> | 53 | <translation>Edition du journal d'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'installation du bootloader</translation> | 78 | <translation>Achèvement de l'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'installation du bootloader, veuillez suivre les étapes ce-dessous.</translation> | 103 | <translation>Pour terminer l'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'alimentation.</translation> | 113 | <translation>2. Débranchez le câble USB et le câble d'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'appareil.</translation> | 118 | <translation>3. Maintenez appuyée la touche POWER pour éteindre l'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'interrupteur de batterie de l'appareil.</translation> | 123 | <translation>4. Changez de position l'interrupteur de batterie de l'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'appareil.</translation> | 133 | <translation>2. Eteignez l'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'alimentation.</translation> | 138 | <translation>3. Insérez le câble d'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'existe pas : %1</translation> | 143 | <translation>Le firmware n'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'iPods</translation> | 148 | <translation>Recherche d'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'iPods trouvés</translation> | 158 | <translation>Trop d'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'ouvrir l'iPod</translation> | 163 | <translation>impossible d'ouvrir l'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'ouvir l'iPod en mode Lecture-Ecriture</translation> | 205 | <translation>Impossible d'ouvir l'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'ajout du bootloader</translation> | 230 | <translation>échec de l'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'ouvrir le sansa</translation> | 250 | <translation>impossible d'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>******************************************** |
255 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. | 255 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. |
256 | You must reinstall the original Sansa firmware before running | 256 | You must reinstall the original Sansa firmware before running |
257 | sansapatcher for the first time. | 257 | sansapatcher for the first time. |
258 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install | 258 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install |
259 | ********************************************* | 259 | ********************************************* |
260 | </source> | 260 | </source> |
261 | <translation>******************************************** | 261 | <translation>******************************************** |
262 | ANCIENNE INSTALLATION DE ROCKBOX DETECTEE, ANNULATION. | 262 | ANCIENNE INSTALLATION DE ROCKBOX DETECTEE, ANNULATION. |
263 | Vous devez réinstaller le firmware original du Sansa avant d'exécuter | 263 | Vous devez réinstaller le firmware original du Sansa avant d'exécuter |
264 | sansapatcher pour la première fois. | 264 | sansapatcher pour la première fois. |
265 | Voir http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install (en anglais) | 265 | Voir 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'ouvir le sansa en mode Lecture-Ecriture</translation> | 272 | <translation>Impossible d'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'option "Firmware flash" du firmware original.</translation> | 312 | <translation>3. Utilisez l'option "Firmware flash" 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'existe pas : %1</translation> | 322 | <translation>Le firmware original n'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'est pas un Sansa (%1), annulation.</translation> | 327 | <translation>Ce disque n'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 |
332 | See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> | 332 | See 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>&Ok</source> | 350 | <source>&Ok</source> |
351 | <translation>&OK</translation> | 351 | <translation>&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>&Cancel</source> | 355 | <source>&Cancel</source> |
356 | <translation>&Annuler</translation> | 356 | <translation>&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'emplacement de la copie téléchargée du firmware original</translation> | 369 | <translation>Indiquez l'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>&Ok</source> | 378 | <source>&Ok</source> |
379 | <translation>&OK</translation> | 379 | <translation>&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>&Cancel</source> | 383 | <source>&Cancel</source> |
384 | <translation>&Annuler</translation> | 384 | <translation>&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'application pour que le changement de langue prenne effet.</translation> | 397 | <translation>Vous devez redémarrer l'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. |
412 | Select your Mountpoint manually.</source> | 412 | Select your Mountpoint manually.</source> |
413 | <translation>Impossible de détecter un point de montage. | 413 | <translation>Impossible de détecter un point de montage. |
414 | Veuillez sélectionner manuellement le point de montage.</translation> | 414 | Veuillez 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. |
419 | Select your device and Mountpoint manually.</source> | 419 | Select 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. |
421 | Veuillez sélectionner manuellement le type de périphérique et le point de montage.</translation> | 421 | Veuillez 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 <b>all</b> 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 <b>all</b> files in this folder!</source> |
431 | <translation>Voulez-vous supprimer le cache ? Vérifier bien que ce paramètre est correct car il supprimera <b>tous</b> 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 <b>tous</b> 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! |
456 | You need to change your player to MSC mode for installation. </source> | 456 | You 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é ! |
458 | Vous devez mettre votre lecteur audio en mode MSC pour l'installation. </translation> | 458 | Vous devez mettre votre lecteur audio en mode MSC pour l'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! |
463 | You need to change your player to UMS mode for installation. </source> | 463 | You 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é ! |
465 | Vous devez mettre votre lecteur en mode UMS pour l'installation. </translation> | 465 | Vous devez mettre votre lecteur en mode UMS pour l'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'avez pas changé ceci, l'installation échouera !</translation> | 470 | <translation>Si vous n'avez pas changé ceci, l'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'utilitaire Rockbox</translation> | 498 | <translation>Configuration de l'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>&Device</source> | 502 | <source>&Device</source> |
503 | <translation>&Périphérique</translation> | 503 | <translation>&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 &filesystem</source> | 507 | <source>Select your device in the &filesystem</source> |
508 | <translation>Sélectionnez votre périphérique dans le &Système de fichiers</translation> | 508 | <translation>Sélectionnez votre périphérique dans le &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>&Browse</source> | 512 | <source>&Browse</source> |
513 | <translation>&Parcourir</translation> | 513 | <translation>&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>&Select your audio player</source> | 517 | <source>&Select your audio player</source> |
518 | <translation>&Sélectionnez votre lecteur audio</translation> | 518 | <translation>&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>&Autodetect</source> | 527 | <source>&Autodetect</source> |
528 | <translation>&Autodétection</translation> | 528 | <translation>&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>&Proxy</source> | 532 | <source>&Proxy</source> |
533 | <translation>&Proxy</translation> | 533 | <translation>&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>&No Proxy</source> | 537 | <source>&No Proxy</source> |
538 | <translation>P&as de proxy</translation> | 538 | <translation>P&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&ystem values</source> | 542 | <source>Use S&ystem values</source> |
543 | <translation>Utilier les valeurs du s&ystème</translation> | 543 | <translation>Utilier les valeurs du s&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>&Manual Proxy settings</source> | 547 | <source>&Manual Proxy settings</source> |
548 | <translation>Paramètres &manuels pour le proxy</translation> | 548 | <translation>Paramètres &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>&Host:</source> | 557 | <source>&Host:</source> |
558 | <translation>&Hôte:</translation> | 558 | <translation>&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>&Port:</source> | 562 | <source>&Port:</source> |
563 | <translation>&Port:</translation> | 563 | <translation>&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>&Username</source> | 567 | <source>&Username</source> |
568 | <translation>&Nom d'utilisateur</translation> | 568 | <translation>&Nom d'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&word</source> | 572 | <source>Pass&word</source> |
573 | <translation>&Mot de passe</translation> | 573 | <translation>&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>&Language</source> | 577 | <source>&Language</source> |
578 | <translation>&Langue</translation> | 578 | <translation>&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&he</source> | 582 | <source>Cac&he</source> |
583 | <translation>Cac&he</translation> | 583 | <translation>Cac&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'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'utiliser comme un dépôt local en activant le mode hors-ligne.</translation> | 593 | <translation>L'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'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&ath</source> | 602 | <source>P&ath</source> |
603 | <translation>&Chemin</translation> | 603 | <translation>&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 &download cache</source> | 612 | <source>Disable local &download cache</source> |
613 | <translation>Désactiver le cache local de &téléchargement</translation> | 613 | <translation>Désactiver le cache local de &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'utiliser toutes les informations du cache, même les informations de mise à jour. | 618 | <translation>Ceci essaiera d'utiliser toutes les informations du cache, même les informations de mise à jour. |
619 | Utilisez cette option si vous voulez installer sans connexion réseau. | 619 | Utilisez cette option si vous voulez installer sans connexion réseau. |
620 | Note : l'installation que vous voudrez réaliser plus tard doit d'abord être faite avec un accès réseau | 620 | Note : l'installation que vous voudrez réaliser plus tard doit d'abord être faite avec un accès réseau |
621 | pour télécharger tous les fichiers néecessaires dans le cache.</translation> | 621 | pour 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&ffline mode</source> | 625 | <source>O&ffline mode</source> |
626 | <translation>Mode &hors-ligne</translation> | 626 | <translation>Mode &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 &now</source> | 630 | <source>Clean cache &now</source> |
631 | <translation>Nettoyer le cache &maintenant</translation> | 631 | <translation>Nettoyer le cache &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>&TTS && Encoder</source> | 635 | <source>&TTS && Encoder</source> |
636 | <translation>&TTS && Encodeur</translation> | 636 | <translation>&TTS && 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>&Select TTS Engine</source> | 645 | <source>&Select TTS Engine</source> |
646 | <translation type="unfinished">Profil &TTS</translation> | 646 | <translation type="unfinished">Profil &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'encodage</translation> | 661 | <translation>Moteur d'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 &encoder profile</source> | 665 | <source>Select &encoder profile</source> |
666 | <translation type="obsolete">Profil d'&encodage</translation> | 666 | <translation type="obsolete">Profil d'&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'encodeur</translation> | 671 | <translation type="obsolete">Exécutable de l'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&rowse</source> | 675 | <source>B&rowse</source> |
676 | <translation type="obsolete">&Parcourir</translation> | 676 | <translation type="obsolete">&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'encodeur</translation> | 681 | <translation type="obsolete">Options de l'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>&Ok</source> | 685 | <source>&Ok</source> |
686 | <translation>&OK</translation> | 686 | <translation>&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>&Cancel</source> | 690 | <source>&Cancel</source> |
691 | <translation>&Annuler</translation> | 691 | <translation>&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 &TTS</source> | 710 | <source>Configure &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 &encoder</source> | 715 | <source>Select &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 &Enc</source> | 725 | <source> Configure &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'encodage :</translation> | 757 | <translation type="unfinished">Profil d'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>&Install</source> | 771 | <source>&Install</source> |
772 | <translation type="unfinished">&Installer</translation> | 772 | <translation type="unfinished">&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>&Cancel</source> | 776 | <source>&Cancel</source> |
777 | <translation type="unfinished">&Annuler</translation> | 777 | <translation type="unfinished">&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 : <b>%1</b></source> | 789 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 794 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 799 | <source>Selected Encoder: <b>%1</b></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>&Browse</source> | 822 | <source>&Browse</source> |
823 | <translation type="unfinished">&Parcourir</translation> | 823 | <translation type="unfinished">&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'encodeur</translation> | 828 | <translation type="unfinished">Options de l'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>&Ok</source> | 837 | <source>&Ok</source> |
838 | <translation type="unfinished">&OK</translation> | 838 | <translation type="unfinished">&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>&Cancel</source> | 842 | <source>&Cancel</source> |
843 | <translation type="unfinished">&Annuler</translation> | 843 | <translation type="unfinished">&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'est la version la plus récente possible. Elle est mise à jour à chaque fois qu'un changement est fait. La version actuelle est r%1 (%2).</translation> | 856 | <translation>C'est la version la plus récente possible. Elle est mise à jour à chaque fois qu'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><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> | 860 | <source><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> |
861 | <translation><b>Note :</b> Cette option téléchargera toujours une nouvelle copie. <b>C'est la version recommendée.</b></translation> | 861 | <translation><b>Note :</b> Cette option téléchargera toujours une nouvelle copie. <b>C'est la version recommendée.</b></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><b>Note:</b> This option will always download a fresh copy.</source> | 865 | <source><b>Note:</b> This option will always download a fresh copy.</source> |
866 | <translation><b>Note :</b> Cette option téléchargera toujours une nouvelle copie.</translation> | 866 | <translation><b>Note :</b> 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'est la dernière version publique officielle de Rockbox.</translation> | 871 | <translation>C'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><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> | 875 | <source><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> |
876 | <translation><b>Note :</b> La dernière version publique officielle est %1. <b>C'est la version recommendée.</b></translation> | 876 | <translation><b>Note :</b> La dernière version publique officielle est %1. <b>C'est la version recommendée.</b></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'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'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><b>Note:</b> archived version is r%1 (%2).</source> | 885 | <source><b>Note:</b> archived version is r%1 (%2).</source> |
886 | <translation><b>Note :</b> la version archivée est r%1 (%2).</translation> | 886 | <translation><b>Note :</b> 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 &stable</source> | 908 | <source>Rockbox &stable</source> |
909 | <translation>Rockbox &stable</translation> | 909 | <translation>Rockbox &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>&Archived Build</source> | 913 | <source>&Archived Build</source> |
914 | <translation>Version &archivée</translation> | 914 | <translation>Version &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>&Current Build</source> | 918 | <source>&Current Build</source> |
919 | <translation>Version a&ctuelle</translation> | 919 | <translation>Version a&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'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'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>&Don't use locally cached copy</source> | 943 | <source>&Don't use locally cached copy</source> |
944 | <translation>&Ne pas utiliser la version en cache</translation> | 944 | <translation>&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>&Cancel</source> | 948 | <source>&Cancel</source> |
949 | <translation>&Annuler</translation> | 949 | <translation>&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>&Install</source> | 953 | <source>&Install</source> |
954 | <translation>&Installer</translation> | 954 | <translation>&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>&Abort</source> | 966 | <source>&Abort</source> |
967 | <translation>&Annuler</translation> | 967 | <translation>&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>&Browse</source> | 984 | <source>&Browse</source> |
985 | <translation>&Parcourir</translation> | 985 | <translation>&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'encodage :</translation> | 995 | <translation>Profil d'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>&Cancel</source> | 1034 | <source>&Cancel</source> |
1035 | <translation>&Annuler</translation> | 1035 | <translation>&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>&Install</source> | 1039 | <source>&Install</source> |
1040 | <translation>&Installer</translation> | 1040 | <translation>&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'encodeur est faux !</translation> | 1068 | <translation type="obsolete">Le chemin vers l'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: <b>%1</b></source> | 1077 | <source>TTS Profile: <b>%1</b></source> |
1078 | <translation type="obsolete">Profil TTS : <b>%1</b></translation> | 1078 | <translation type="obsolete">Profil TTS : <b>%1</b></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: <b>%1</b></source> | 1087 | <source>Encoder Profile: <b>%1</b></source> |
1088 | <translation type="obsolete">Profil d'encodage : <b>%1</b></translation> | 1088 | <translation type="obsolete">Profil d'encodage : <b>%1</b></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'encodage invalide !</translation> | 1093 | <translation type="obsolete">Profil d'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 : <b>%1</b></source> | 1097 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 1102 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 1107 | <source>Selected Encoder: <b>%1</b></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>&Ok</source> | 1123 | <source>&Ok</source> |
1124 | <translation>&OK</translation> | 1124 | <translation>&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>&Abort</source> | 1128 | <source>&Abort</source> |
1129 | <translation>&Annuler</translation> | 1129 | <translation>&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>&Ok</source> | 1166 | <source>&Ok</source> |
1167 | <translation type="unfinished">&OK</translation> | 1167 | <translation type="unfinished">&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>&Cancel</source> | 1171 | <source>&Cancel</source> |
1172 | <translation type="unfinished">&Annuler</translation> | 1172 | <translation type="unfinished">&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><b>%1 %2</b> at <b>%3</b></source> | 1199 | <source><b>%1 %2</b> at <b>%3</b></source> |
1200 | <translation><b>%1 %2</b> sur <b>%3</b></translation> | 1200 | <translation><b>%1 %2</b> sur <b>%3</b></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><a href='%1'>PDF Manual</a></source> | 1204 | <source><a href='%1'>PDF Manual</a></source> |
1205 | <translation><a href='%1'>Manuel PDF</a></translation> | 1205 | <translation><a href='%1'>Manuel PDF</a></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><a href='%1'>HTML Manual (opens in browser)</a></source> | 1209 | <source><a href='%1'>HTML Manual (opens in browser)</a></source> |
1210 | <translation><a href='%1'>Manuel HTML (ouvre un navigateur)</a></translation> | 1210 | <translation><a href='%1'>Manuel HTML (ouvre un navigateur)</a></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><a href='%1'>Manual Overview</a></source> | 1219 | <source><a href='%1'>Manual Overview</a></source> |
1220 | <translation><a href='%1'>Tous les manuels</a></translation> | 1220 | <translation><a href='%1'>Tous les manuels</a></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'installation</translation> | 1225 | <translation>Confirmation de l'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'informations du bootloader !</translation> | 1250 | <translation>Impossible de trouver le fichier d'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. |
1260 | Do really want to install it?</source> | 1260 | Do 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. |
1262 | Voulez-vous vraiment l'installer ?</translation> | 1262 | Voulez-vous vraiment l'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'installation</translation> | 1312 | <translation>Confirmation de l'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'utilitaire Rockbox sur votre lecteur audio ? Après l'installation vous pourrez le lancer depuis le disque dur de votre lecteur audio.</translation> | 1317 | <translation>Etes-vous sûr de vouloir installer l'utilitaire Rockbox sur votre lecteur audio ? Après l'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'utilitaire Rockbox</translation> | 1322 | <translation>Installation de l'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'installation de l'utilitaire Rockbox</translation> | 1327 | <translation>Erreur pendant l'installation de l'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'installation de la configuration utilisateur</translation> | 1337 | <translation>Erreur pendant l'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'utilitaire Rockbox terminée avec succès.</translation> | 1342 | <translation>Installation de l'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'instllation du bootloader sautée !</translation> | 1347 | <translation type="obsolete">Etape d'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'utilitaire Rockbox ou à un changement du chemin du périphérique. La fenêtre de configuration va s'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'utilitaire Rockbox ou à un changement du chemin du périphérique. La fenêtre de configuration va s'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't have a doom plugin. Aborting.</source> | 1366 | <source>Your device doesn't have a doom plugin. Aborting.</source> |
1367 | <translation>Votre périphérique n'a pas de le plugin Doom. Annulation.</translation> | 1367 | <translation>Votre périphérique n'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. |
1377 | Do want to replace the current bootloader?</source> | 1377 | Do 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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1405 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1406 | p, li { white-space: pre-wrap; } | 1406 | p, li { white-space: pre-wrap; } |
1407 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1407 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1408 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> | 1408 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> |
1409 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1409 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1410 | p, li { white-space: pre-wrap; } | 1410 | p, li { white-space: pre-wrap; } |
1411 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1411 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1412 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></translation> | 1412 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></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>&Change</source> | 1416 | <source>&Change</source> |
1417 | <translation>&Modifier</translation> | 1417 | <translation>&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>&Quick Start</source> | 1421 | <source>&Quick Start</source> |
1422 | <translation>&Démarrage rapide</translation> | 1422 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1436 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1437 | p, li { white-space: pre-wrap; } | 1437 | p, li { white-space: pre-wrap; } |
1438 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1438 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1439 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> | 1439 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> |
1440 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> | 1440 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> |
1441 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1441 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1442 | p, li { white-space: pre-wrap; } | 1442 | p, li { white-space: pre-wrap; } |
1443 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1443 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1444 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installation complète</span></p> | 1444 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installation complète</span></p> |
1445 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ceci installe le bootloader, une version actuelle et le pack des extras. C'est la méthode recommandée pour les nouvelles installations.</p></body></html></translation> | 1445 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ceci installe le bootloader, une version actuelle et le pack des extras. C'est la méthode recommandée pour les nouvelles installations.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1449 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1450 | p, li { white-space: pre-wrap; } | 1450 | p, li { white-space: pre-wrap; } |
1451 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1451 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1452 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> | 1452 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> |
1453 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> | 1453 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> |
1454 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1454 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1455 | p, li { white-space: pre-wrap; } | 1455 | p, li { white-space: pre-wrap; } |
1456 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1456 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1457 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installation légère</span></p> | 1457 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installation légère</span></p> |
1458 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ceci installe le bootloader et une version acuelle de Rockbox. Si vous ne voulez pas le pack des extras, choisissez cette option.</p></body></html></translation> | 1458 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ceci installe le bootloader et une version acuelle de Rockbox. Si vous ne voulez pas le pack des extras, choisissez cette option.</p></body></html></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>&Installation</source> | 1462 | <source>&Installation</source> |
1463 | <translation>&Installation</translation> | 1463 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1477 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1478 | p, li { white-space: pre-wrap; } | 1478 | p, li { white-space: pre-wrap; } |
1479 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1479 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1480 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> | 1480 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> |
1481 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> | 1481 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> |
1482 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1482 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1483 | p, li { white-space: pre-wrap; } | 1483 | p, li { white-space: pre-wrap; } |
1484 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1484 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1485 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer le bootloader</span></p> | 1485 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer le bootloader</span></p> |
1486 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Avant de pouvoir lancer Rockbox sur votre lecteur audio, vous pouvez avoir à installer un bootloader. Ceci n'est nécessaier que la première fois que vous installez Rockbox.</p></body></html></translation> | 1486 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Avant de pouvoir lancer Rockbox sur votre lecteur audio, vous pouvez avoir à installer un bootloader. Ceci n'est nécessaier que la première fois que vous installez Rockbox.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1495 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1496 | p, li { white-space: pre-wrap; } | 1496 | p, li { white-space: pre-wrap; } |
1497 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1497 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1498 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> | 1498 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> |
1499 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1499 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1500 | p, li { white-space: pre-wrap; } | 1500 | p, li { white-space: pre-wrap; } |
1501 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1501 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1502 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer Rockbox</span> sur votre lecteur audio</p></body></html></translation> | 1502 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer Rockbox</span> sur votre lecteur audio</p></body></html></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>&Extras</source> | 1506 | <source>&Extras</source> |
1507 | <translation>&Extras</translation> | 1507 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1521 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1522 | p, li { white-space: pre-wrap; } | 1522 | p, li { white-space: pre-wrap; } |
1523 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1523 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1524 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> | 1524 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> |
1525 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> | 1525 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> |
1526 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1526 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1527 | p, li { white-space: pre-wrap; } | 1527 | p, li { white-space: pre-wrap; } |
1528 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1528 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1529 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polices de caractères</span></p> | 1529 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polices de caractères</span></p> |
1530 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Le pack de polices de caractères contient des polices couramment utilisées. Son installation est fortement recommandée.</p></body></html></translation> | 1530 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Le pack de polices de caractères contient des polices couramment utilisées. Son installation est fortement recommandée.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1539 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1540 | p, li { white-space: pre-wrap; } | 1540 | p, li { white-space: pre-wrap; } |
1541 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1541 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1542 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> | 1542 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> |
1543 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> | 1543 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> |
1544 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1544 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1545 | p, li { white-space: pre-wrap; } | 1545 | p, li { white-space: pre-wrap; } |
1546 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1546 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1547 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer des Thèmes</span></p> | 1547 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer des Thèmes</span></p> |
1548 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">L'apparence de Rockbox peut être personnalisée avec des thèmes. Vous pouvez choisir et installer différents thèmes.</p></body></html></translation> | 1548 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">L'apparence de Rockbox peut être personnalisée avec des thèmes. Vous pouvez choisir et installer différents thèmes.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1557 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1558 | p, li { white-space: pre-wrap; } | 1558 | p, li { white-space: pre-wrap; } |
1559 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1559 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1560 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> | 1560 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> |
1561 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> | 1561 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> |
1562 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1562 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1563 | p, li { white-space: pre-wrap; } | 1563 | p, li { white-space: pre-wrap; } |
1564 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1564 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1565 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer des fichiers de jeu</span></p> | 1565 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer des fichiers de jeu</span></p> |
1566 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom nécessite un fichier wad pour être utilisé.</span></p></body></html></translation> | 1566 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom nécessite un fichier wad pour être utilisé.</span></p></body></html></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>&Accessibility</source> | 1570 | <source>&Accessibility</source> |
1571 | <translation>&Accessibilité</translation> | 1571 | <translation>&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'accessibilité</translation> | 1576 | <translation>Installer des add-ons pour l'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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1585 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1586 | p, li { white-space: pre-wrap; } | 1586 | p, li { white-space: pre-wrap; } |
1587 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1587 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1588 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> | 1588 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> |
1589 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> | 1589 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> |
1590 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1590 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1591 | p, li { white-space: pre-wrap; } | 1591 | p, li { white-space: pre-wrap; } |
1592 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1592 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1593 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer des fichiers de voix</span></p> | 1593 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Installer des fichiers de voix</span></p> |
1594 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Les fichiers de voix sont nécessaires pour faire parler l'interface de Rockbox. La voix est activée par défaut, donc si vous installez les fichiers de voix Rockbox parlera.</p></body></html></translation> | 1594 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Les fichiers de voix sont nécessaires pour faire parler l'interface de Rockbox. La voix est activée par défaut, donc si vous installez les fichiers de voix Rockbox parlera.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1603 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1604 | p, li { white-space: pre-wrap; } | 1604 | p, li { white-space: pre-wrap; } |
1605 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1605 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1606 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> | 1606 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> |
1607 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> | 1607 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> |
1608 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1608 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1609 | p, li { white-space: pre-wrap; } | 1609 | p, li { white-space: pre-wrap; } |
1610 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1610 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1611 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Créer des fichiers de voix</span></p> | 1611 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Créer des fichiers de voix</span></p> |
1612 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Les fichiers de voix sont nécessaires pour que Rockbox dise les noms des fichiers et des dossiers</span></p></body></html></translation> | 1612 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Les fichiers de voix sont nécessaires pour que Rockbox dise les noms des fichiers et des dossiers</span></p></body></html></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>&Uninstallation</source> | 1616 | <source>&Uninstallation</source> |
1617 | <translation>&Désinstallation</translation> | 1617 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1631 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1632 | p, li { white-space: pre-wrap; } | 1632 | p, li { white-space: pre-wrap; } |
1633 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1633 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1634 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> | 1634 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> |
1635 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> | 1635 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> |
1636 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1636 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1637 | p, li { white-space: pre-wrap; } | 1637 | p, li { white-space: pre-wrap; } |
1638 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1638 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1639 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Supprimer le bootloader</span></p> | 1639 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Supprimer le bootloader</span></p> |
1640 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Après avoir supprimé le bootloader, vous ne pourrez plus démarrer Rockbox.</p></body></html></translation> | 1640 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Après avoir supprimé le bootloader, vous ne pourrez plus démarrer Rockbox.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1644 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1645 | p, li { white-space: pre-wrap; } | 1645 | p, li { white-space: pre-wrap; } |
1646 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1646 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1647 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> | 1647 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> |
1648 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> | 1648 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> |
1649 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1649 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1650 | p, li { white-space: pre-wrap; } | 1650 | p, li { white-space: pre-wrap; } |
1651 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1651 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1652 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Supprimer Rockbox</span> de votre lecteur audio.</p> | 1652 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Supprimer Rockbox</span> de votre lecteur audio.</p> |
1653 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ceci laissera le bootloader (Vous devrez le supprimer séparément).</p></body></html></translation> | 1653 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ceci laissera le bootloader (Vous devrez le supprimer séparément).</p></body></html></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>&Manual</source> | 1657 | <source>&Manual</source> |
1658 | <translation>&Manuel</translation> | 1658 | <translation>&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>&PDF version</source> | 1687 | <source>&PDF version</source> |
1688 | <translation>Version &PDF</translation> | 1688 | <translation>Version &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>&HTML version (zip file)</source> | 1692 | <source>&HTML version (zip file)</source> |
1693 | <translation>Version &HTML (fichier zip)</translation> | 1693 | <translation>Version &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&load</source> | 1697 | <source>Down&load</source> |
1698 | <translation>Télé&charger</translation> | 1698 | <translation>Télé&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&o</source> | 1702 | <source>Inf&o</source> |
1703 | <translation>Inf&o</translation> | 1703 | <translation>Inf&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1707 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1708 | p, li { white-space: pre-wrap; } | 1708 | p, li { white-space: pre-wrap; } |
1709 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1709 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1710 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> | 1710 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> |
1711 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> | 1711 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> |
1712 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1712 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1713 | p, li { white-space: pre-wrap; } | 1713 | p, li { white-space: pre-wrap; } |
1714 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1714 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1715 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Composants actuellement installés.</p> | 1715 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Composants actuellement installés.</p> |
1716 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: Si vous avez manuellement installé des composants, ceci ne sera pas correct !</p></body></html></translation> | 1716 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: Si vous avez manuellement installé des composants, ceci ne sera pas correct !</p></body></html></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>&File</source> | 1725 | <source>&File</source> |
1726 | <translation>&Fichier</translation> | 1726 | <translation>&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>&About</source> | 1730 | <source>&About</source> |
1731 | <translation>&A propos</translation> | 1731 | <translation>&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'utilitaire Rockbox sur le lecteur</translation> | 1741 | <translation>Installer l'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>&Configure</source> | 1745 | <source>&Configure</source> |
1746 | <translation>&Configuration</translation> | 1746 | <translation>&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&xit</source> | 1750 | <source>E&xit</source> |
1751 | <translation>&Quitter</translation> | 1751 | <translation>&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 &Qt</source> | 1760 | <source>About &Qt</source> |
1761 | <translation>A propos de &Qt</translation> | 1761 | <translation>A propos de &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>&Help</source> | 1765 | <source>&Help</source> |
1766 | <translation>&Aide</translation> | 1766 | <translation>&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&s</source> | 1780 | <source>Action&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1870 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1871 | p, li { white-space: pre-wrap; } | 1871 | p, li { white-space: pre-wrap; } |
1872 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1872 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1873 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> | 1873 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> |
1874 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> | 1874 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> |
1875 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></source> | 1875 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></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<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> | 1885 | <source>Create Voic<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> |
1886 | e File</source> | 1886 | e 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>&Ok</source> | 1919 | <source>&Ok</source> |
1920 | <translation type="unfinished">&OK</translation> | 1920 | <translation type="unfinished">&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>&Cancel</source> | 1924 | <source>&Cancel</source> |
1925 | <translation type="unfinished">&Annuler</translation> | 1925 | <translation type="unfinished">&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>&Browse</source> | 1965 | <source>&Browse</source> |
1966 | <translation type="unfinished">&Parcourir</translation> | 1966 | <translation type="unfinished">&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>&Ok</source> | 1980 | <source>&Ok</source> |
1981 | <translation type="unfinished">&OK</translation> | 1981 | <translation type="unfinished">&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>&Cancel</source> | 1985 | <source>&Cancel</source> |
1986 | <translation type="unfinished">&Annuler</translation> | 1986 | <translation type="unfinished">&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>&Cancel</source> | 2074 | <source>&Cancel</source> |
2075 | <translation>&Annuler</translation> | 2075 | <translation>&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>&Install</source> | 2079 | <source>&Install</source> |
2080 | <translation>&Installer</translation> | 2080 | <translation>&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 &All</source> | 2084 | <source>Install &All</source> |
2085 | <translation>&Tout installer</translation> | 2085 | <translation>&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. |
2098 | Please check your network and proxy settings.</source> | 2098 | Please check your network and proxy settings.</source> |
2099 | <translation>Erreur réseau: %1. | 2099 | <translation>Erreur réseau: %1. |
2100 | Veuillez vérifier vos paramètres réseau et proxy.</translation> | 2100 | Veuillez 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'erreur suivante s'est produite : | 2106 | <translation>L'erreur suivante s'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'aperçu ...</translation> | 2122 | <translation>récupération de l'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><b>Author:</b> %1<hr/></source> | 2131 | <source><b>Author:</b> %1<hr/></source> |
2132 | <translation><b>Auteur :</b> %1<hr/></translation> | 2132 | <translation><b>Auteur :</b> %1<hr/></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><b>Version:</b> %1<hr/></source> | 2141 | <source><b>Version:</b> %1<hr/></source> |
2142 | <translation><b>Version:</b> %1<hr/></translation> | 2142 | <translation><b>Version:</b> %1<hr/></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><b>Description:</b> %1<hr/></source> | 2146 | <source><b>Description:</b> %1<hr/></source> |
2147 | <translation><b>Description:</b> %1<hr/></translation> | 2147 | <translation><b>Description:</b> %1<hr/></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'aperçu du thème</translation> | 2157 | <translation>pas d'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'initialiser ou de charger la librairie zlib.</translation> | 2180 | <translation>Impossible d'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'ouvrir le fichier.</translation> | 2190 | <translation>Impossible de créer ou d'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'a encore été crée.</translation> | 2210 | <translation>Aucune archive n'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'existe pas.</translation> | 2215 | <translation>Le fichier ou le répertoire n'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'écriture du fichier.</translation> | 2225 | <translation>Erreur d'é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'archive est peut-être corrompue.</translation> | 2250 | <translation>Les en-têtes ne correspondent pas. L'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>&Cancel</source> | 2297 | <source>&Cancel</source> |
2298 | <translation>&Annuler</translation> | 2298 | <translation>&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>&Uninstall</source> | 2302 | <source>&Uninstall</source> |
2303 | <translation>&Désinstaller</translation> | 2303 | <translation>&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'initialiser ou de charger la librairie zlib.</translation> | 2417 | <translation>Impossible d'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'ouvrir le fichier.</translation> | 2427 | <translation>Impossible de créer ou d'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'a encore été crée.</translation> | 2432 | <translation>Aucune archive n'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'existe pas.</translation> | 2437 | <translation>Le fichier ou le répertoire n'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'écriture du fichier.</translation> | 2447 | <translation>Erreur d'é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'ouverture de l'archive a échoué : %1.</translation> | 2505 | <translation>L'ouverture de l'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'extraction a échoué : %1.</translation> | 2510 | <translation>L'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'installation du fichier a échoué.</translation> | 2520 | <translation>L'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'installation</translation> | 2525 | <translation>Création du journal d'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'utilitaire Rockbox</translation> | 2533 | <translation>A propos de l'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'utilitaire Rockbox</translation> | 2538 | <translation>L'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. |
2545 | Released under the GNU General Public License v2.</source> | 2545 | Released 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'équipe Rockbox. | 2548 | © 2005 - 2007 L'équipe Rockbox. |
2549 | Redistribué sous la GNU General Public License v2.</translation> | 2549 | Redistribué 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>&Credits</source> | 2558 | <source>&Credits</source> |
2559 | <translation>&Crédits</translation> | 2559 | <translation>&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>&License</source> | 2563 | <source>&License</source> |
2564 | <translation>&Licence</translation> | 2564 | <translation>&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>&Ok</source> | 2568 | <source>&Ok</source> |
2569 | <translation>&OK</translation> | 2569 | <translation>&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'lar araniyor</translation> | 153 | <translation>iPod'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 |
205 | See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> | 205 | See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> |
206 | <translation>iPod'unuz Macintosh'a g�re bi�imlendirilmis. Rockbox'in �alisabilmesi i�in iPod'un FAT32 t�r�nde bi�imlendirilmis olmasi gerekmektedir. | 206 | <translation>iPod'unuz Macintosh'a g�re bi�imlendirilmis. Rockbox'in �alisabilmesi i�in iPod'un FAT32 t�r�nde bi�imlendirilmis olmasi gerekmektedir. |
207 | Ayrintili bilgi i�in: http://www.rockbox.org/wiki/IpodConversionToFAT32</translation> | 207 | Ayrintili 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'lar araniyor</translation> | 242 | <translation>Sansa'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>******************************************** |
267 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. | 267 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. |
268 | You must reinstall the original Sansa firmware before running | 268 | You must reinstall the original Sansa firmware before running |
269 | sansapatcher for the first time. | 269 | sansapatcher for the first time. |
270 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install | 270 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install |
271 | ********************************************* | 271 | ********************************************* |
272 | </source> | 272 | </source> |
273 | <translation>******************************************** | 273 | <translation>******************************************** |
274 | ESKI BIR ROCKBOX KURULUMU ALGILANDI, ISLEM DURDURULUYOR. | 274 | ESKI BIR ROCKBOX KURULUMU ALGILANDI, ISLEM DURDURULUYOR. |
275 | Sansa yamalayicisini �alistirmak i�in orijinal Sansa bellenimini (firmware) | 275 | Sansa yamalayicisini �alistirmak i�in orijinal Sansa bellenimini (firmware) |
276 | tekrar kurmaniz gerekmektedir. | 276 | tekrar kurmaniz gerekmektedir. |
277 | Ayrintili bilgi i�in: http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install | 277 | Ayrintili 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>&Ok</source> | 346 | <source>&Ok</source> |
347 | <translation>&Tamam</translation> | 347 | <translation>&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>&Cancel</source> | 351 | <source>&Cancel</source> |
352 | <translation>&Iptal</translation> | 352 | <translation>&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>&Ok</source> | 374 | <source>&Ok</source> |
375 | <translation>&Tamam</translation> | 375 | <translation>&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>&Cancel</source> | 379 | <source>&Cancel</source> |
380 | <translation>&Iptal</translation> | 380 | <translation>&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! |
413 | You need to change your player to MSC mode for installation. </source> | 413 | You 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! |
415 | Kurulum i�in aygiti MSC moduna almalisiniz. </translation> | 415 | Kurulum 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! |
420 | You need to change your player to UMS mode for installation. </source> | 420 | You 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! |
422 | Kurulum i�in aygiti UMS moduna almalisiniz. </translation> | 422 | Kurulum 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. |
442 | Select your Mountpoint manually.</source> | 442 | Select your Mountpoint manually.</source> |
443 | <translation>Herhangi bir baglama noktasi algilanamadi. | 443 | <translation>Herhangi bir baglama noktasi algilanamadi. |
444 | Baglama noktasini kendiniz se�iniz.</translation> | 444 | Baglama 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. |
449 | Select your device and Mountpoint manually.</source> | 449 | Select your device and Mountpoint manually.</source> |
450 | <translation>Herhangi bir aygit algilanamadi. | 450 | <translation>Herhangi bir aygit algilanamadi. |
451 | Aygitinizi ve baglama noktasini kendiniz se�iniz.</translation> | 451 | Aygitinizi 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 <b>all</b> 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 <b>all</b> files in this folder!</source> |
461 | <translation>�nbellegi silmeyi onayliyor musunuz? Bu se�enek ilgili dizindeki <b>t�m</b> dosyalari silecek!</translation> | 461 | <translation>�nbellegi silmeyi onayliyor musunuz? Bu se�enek ilgili dizindeki <b>t�m</b> 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>&Device</source> | 493 | <source>&Device</source> |
494 | <translation>&Aygit</translation> | 494 | <translation>&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 &filesystem</source> | 498 | <source>Select your device in the &filesystem</source> |
499 | <translation>Aygitinizi &dosya sisteminde se�in</translation> | 499 | <translation>Aygitinizi &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>&Browse</source> | 503 | <source>&Browse</source> |
504 | <translation>&G�z At</translation> | 504 | <translation>&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>&Select your audio player</source> | 508 | <source>&Select your audio player</source> |
509 | <translation>&Ses oynaticinizi se�in</translation> | 509 | <translation>&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>&Autodetect</source> | 518 | <source>&Autodetect</source> |
519 | <translation>&Otomatik Algilama</translation> | 519 | <translation>&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>&Proxy</source> | 523 | <source>&Proxy</source> |
524 | <translation>&Vekil Sunucu</translation> | 524 | <translation>&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>&No Proxy</source> | 528 | <source>&No Proxy</source> |
529 | <translation>Vekil Sunucu &Yok</translation> | 529 | <translation>Vekil Sunucu &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&ystem values</source> | 533 | <source>Use S&ystem values</source> |
534 | <translation>S&istem degerlerini kullan</translation> | 534 | <translation>S&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>&Manual Proxy settings</source> | 538 | <source>&Manual Proxy settings</source> |
539 | <translation>Vekil Sunucu &ayarlari</translation> | 539 | <translation>Vekil Sunucu &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>&Host:</source> | 548 | <source>&Host:</source> |
549 | <translation>S&unucu:</translation> | 549 | <translation>S&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>&Port:</source> | 553 | <source>&Port:</source> |
554 | <translation>&Port:</translation> | 554 | <translation>&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>&Username</source> | 558 | <source>&Username</source> |
559 | <translation>&Kullanici Adi</translation> | 559 | <translation>&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&word</source> | 563 | <source>Pass&word</source> |
564 | <translation>Pa&rola</translation> | 564 | <translation>Pa&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>&Language</source> | 568 | <source>&Language</source> |
569 | <translation>&Dil</translation> | 569 | <translation>&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&he</source> | 573 | <source>Cac&he</source> |
574 | <translation>&�nbellek</translation> | 574 | <translation>&�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&ath</source> | 593 | <source>P&ath</source> |
594 | <translation>&Konum</translation> | 594 | <translation>&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 &download cache</source> | 603 | <source>Disable local &download cache</source> |
604 | <translation>Yerel &indirme �nbellegini kapat</translation> | 604 | <translation>Yerel &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&ffline mode</source> | 613 | <source>O&ffline mode</source> |
614 | <translation>&�evrimdisi modu</translation> | 614 | <translation>&�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 &now</source> | 618 | <source>Clean cache &now</source> |
619 | <translation>�nbellegi &temizle</translation> | 619 | <translation>�nbellegi &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>&TTS && Encoder</source> | 623 | <source>&TTS && Encoder</source> |
624 | <translation>&TTS && Kodlayici</translation> | 624 | <translation>&TTS && 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>&Select TTS profile</source> | 633 | <source>&Select TTS profile</source> |
634 | <translation type="obsolete">TTS &Profilini se�in</translation> | 634 | <translation type="obsolete">TTS &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 &encoder profile</source> | 658 | <source>Select &encoder profile</source> |
659 | <translation type="obsolete">Kod&layici profilini se�in</translation> | 659 | <translation type="obsolete">Kod&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&rowse</source> | 668 | <source>B&rowse</source> |
669 | <translation type="obsolete">&G�z At</translation> | 669 | <translation type="obsolete">&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>&Ok</source> | 678 | <source>&Ok</source> |
679 | <translation>&Tamam</translation> | 679 | <translation>&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>&Cancel</source> | 683 | <source>&Cancel</source> |
684 | <translation>&Iptal</translation> | 684 | <translation>&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>&Select TTS Engine</source> | 688 | <source>&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 &TTS</source> | 703 | <source>Configure &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 &encoder</source> | 708 | <source>Select &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 &Enc</source> | 718 | <source> Configure &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>&Install</source> | 764 | <source>&Install</source> |
765 | <translation type="unfinished">&Y�kle</translation> | 765 | <translation type="unfinished">&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>&Cancel</source> | 769 | <source>&Cancel</source> |
770 | <translation type="unfinished">&Iptal</translation> | 770 | <translation type="unfinished">&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 : <b>%1</b></source> | 782 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 787 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 792 | <source>Selected Encoder: <b>%1</b></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>&Browse</source> | 815 | <source>&Browse</source> |
816 | <translation type="unfinished">&G�z At</translation> | 816 | <translation type="unfinished">&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>&Ok</source> | 830 | <source>&Ok</source> |
831 | <translation type="unfinished">&Tamam</translation> | 831 | <translation type="unfinished">&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>&Cancel</source> | 835 | <source>&Cancel</source> |
836 | <translation type="unfinished">&Iptal</translation> | 836 | <translation type="unfinished">&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><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> | 853 | <source><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> |
854 | <translation><b>Not:</b> Bu se�enek her zaman yeni bir kopyayi indirir. <b>�nerilen y�ntem budur.</b></translation> | 854 | <translation><b>Not:</b> Bu se�enek her zaman yeni bir kopyayi indirir. <b>�nerilen y�ntem budur.</b></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><b>Note:</b> This option will always download a fresh copy.</source> | 858 | <source><b>Note:</b> This option will always download a fresh copy.</source> |
859 | <translation><b>Not:</b> Bu se�enek her zaman yeni bir kopyayi indirir.</translation> | 859 | <translation><b>Not:</b> 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'in kararli en son s�r�m�d�r.</translation> | 864 | <translation>Bu Rockbox'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><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> | 868 | <source><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> |
869 | <translation><b>Not:</b> Son s�r�m %1 dir. <b>�nerilen s�r�m budur.</b></translation> | 869 | <translation><b>Not:</b> Son s�r�m %1 dir. <b>�nerilen s�r�m budur.</b></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><b>Note:</b> archived version is r%1 (%2).</source> | 878 | <source><b>Note:</b> archived version is r%1 (%2).</source> |
879 | <translation><b>Not:</b> arsivlenen s�r�m r%1 (%2) dir.</translation> | 879 | <translation><b>Not:</b> 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'u Y�kle</translation> | 887 | <translation>Rockbox'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 &stable</source> | 901 | <source>Rockbox &stable</source> |
902 | <translation>Rockbox &kararli s�r�m</translation> | 902 | <translation>Rockbox &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>&Archived Build</source> | 906 | <source>&Archived Build</source> |
907 | <translation>&Arsivlenmis Insa</translation> | 907 | <translation>&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>&Current Build</source> | 911 | <source>&Current Build</source> |
912 | <translation>&Mevcut Insa</translation> | 912 | <translation>&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>&Don't use locally cached copy</source> | 936 | <source>&Don't use locally cached copy</source> |
937 | <translation>Yerel &kopyayi kullanma</translation> | 937 | <translation>Yerel &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>&Install</source> | 941 | <source>&Install</source> |
942 | <translation>&Y�kle</translation> | 942 | <translation>&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>&Cancel</source> | 946 | <source>&Cancel</source> |
947 | <translation>&Iptal</translation> | 947 | <translation>&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>&Abort</source> | 959 | <source>&Abort</source> |
960 | <translation>&Durdur</translation> | 960 | <translation>&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>&Browse</source> | 977 | <source>&Browse</source> |
978 | <translation>&G�z At</translation> | 978 | <translation>&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>&Install</source> | 1037 | <source>&Install</source> |
1038 | <translation>&Y�kle</translation> | 1038 | <translation>&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>&Cancel</source> | 1042 | <source>&Cancel</source> |
1043 | <translation>&Iptal</translation> | 1043 | <translation>&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: <b>%1</b></source> | 1070 | <source>TTS Profile: <b>%1</b></source> |
1071 | <translation type="obsolete">TTS Profili: <b>%1</b></translation> | 1071 | <translation type="obsolete">TTS Profili: <b>%1</b></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: <b>%1</b></source> | 1080 | <source>Encoder Profile: <b>%1</b></source> |
1081 | <translation type="obsolete">Kodlayici Profili: <b>%1</b></translation> | 1081 | <translation type="obsolete">Kodlayici Profili: <b>%1</b></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 : <b>%1</b></source> | 1090 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 1095 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 1100 | <source>Selected Encoder: <b>%1</b></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>&Ok</source> | 1116 | <source>&Ok</source> |
1117 | <translation>&Tamam</translation> | 1117 | <translation>&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>&Abort</source> | 1121 | <source>&Abort</source> |
1122 | <translation>&Durdur</translation> | 1122 | <translation>&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>&Ok</source> | 1159 | <source>&Ok</source> |
1160 | <translation type="unfinished">&Tamam</translation> | 1160 | <translation type="unfinished">&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>&Cancel</source> | 1164 | <source>&Cancel</source> |
1165 | <translation type="unfinished">&Iptal</translation> | 1165 | <translation type="unfinished">&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><b>%1 %2</b> at <b>%3</b></source> | 1202 | <source><b>%1 %2</b> at <b>%3</b></source> |
1203 | <translation><b>%1 %2</b> Baglanti Noktasi: <b>%3</b></translation> | 1203 | <translation><b>%1 %2</b> Baglanti Noktasi: <b>%3</b></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><a href='%1'>PDF Manual</a></source> | 1207 | <source><a href='%1'>PDF Manual</a></source> |
1208 | <translation><a href='%1'>Kilavuz (PDF)</a></translation> | 1208 | <translation><a href='%1'>Kilavuz (PDF)</a></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><a href='%1'>HTML Manual (opens in browser)</a></source> | 1212 | <source><a href='%1'>HTML Manual (opens in browser)</a></source> |
1213 | <translation><a href='%1'>Kilavuz (HTML) -- tarayicida a�ilir</a></translation> | 1213 | <translation><a href='%1'>Kilavuz (HTML) -- tarayicida a�ilir</a></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><a href='%1'>Manual Overview</a></source> | 1222 | <source><a href='%1'>Manual Overview</a></source> |
1223 | <translation><a href='%1'>Kilavuz Genel A�iklamasi</a></translation> | 1223 | <translation><a href='%1'>Kilavuz Genel A�iklamasi</a></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. |
1263 | Do want to replace the current bootloader?</source> | 1263 | Do 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. |
1265 | Mevcut �ny�kleyiciyi degistirmek istiyor musunuz?</translation> | 1265 | Mevcut �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't have a doom plugin. Aborting.</source> | 1299 | <source>Your device doesn'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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1387 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1388 | p, li { white-space: pre-wrap; } | 1388 | p, li { white-space: pre-wrap; } |
1389 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1389 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1390 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> | 1390 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> |
1391 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1391 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1392 | p, li { white-space: pre-wrap; } | 1392 | p, li { white-space: pre-wrap; } |
1393 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1393 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1394 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">bilinmeyen</span> Baglanti Noktasi: <span style=" font-weight:600;">bilinmeyen</span></p></body></html></translation> | 1394 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">bilinmeyen</span> Baglanti Noktasi: <span style=" font-weight:600;">bilinmeyen</span></p></body></html></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>&Change</source> | 1398 | <source>&Change</source> |
1399 | <translation>&Degistir</translation> | 1399 | <translation>&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>&Quick Start</source> | 1403 | <source>&Quick Start</source> |
1404 | <translation>&Hizli Baslangi�</translation> | 1404 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1418 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1419 | p, li { white-space: pre-wrap; } | 1419 | p, li { white-space: pre-wrap; } |
1420 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1420 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1421 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> | 1421 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> |
1422 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> | 1422 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> |
1423 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1423 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1424 | p, li { white-space: pre-wrap; } | 1424 | p, li { white-space: pre-wrap; } |
1425 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1425 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1426 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Tam Kurulum</span></p> | 1426 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Tam Kurulum</span></p> |
1427 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bu se�enek, �ny�kleyiciyi, mevcut insayi ve ekstra paketleri kurar. Yeni kurulumlar i�in �nerilen y�ntemdir.</p></body></html></translation> | 1427 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bu se�enek, �ny�kleyiciyi, mevcut insayi ve ekstra paketleri kurar. Yeni kurulumlar i�in �nerilen y�ntemdir.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1436 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1437 | p, li { white-space: pre-wrap; } | 1437 | p, li { white-space: pre-wrap; } |
1438 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1438 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1439 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> | 1439 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> |
1440 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> | 1440 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> |
1441 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1441 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1442 | p, li { white-space: pre-wrap; } | 1442 | p, li { white-space: pre-wrap; } |
1443 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Mini Kurulum</span></p> | 1443 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Mini Kurulum</span></p> |
1444 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bu se�enek, �ny�kleyiciyi ve mevcut insayi kurar. Ekstra paketleri kurmak istemiyorsaniz bu y�ntemi se�in.</p></body></html></translation> | 1444 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bu se�enek, �ny�kleyiciyi ve mevcut insayi kurar. Ekstra paketleri kurmak istemiyorsaniz bu y�ntemi se�in.</p></body></html></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>&Installation</source> | 1448 | <source>&Installation</source> |
1449 | <translation>&Kurulum</translation> | 1449 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1463 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1464 | p, li { white-space: pre-wrap; } | 1464 | p, li { white-space: pre-wrap; } |
1465 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1465 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1466 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> | 1466 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> |
1467 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> | 1467 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> |
1468 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1468 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1469 | p, li { white-space: pre-wrap; } | 1469 | p, li { white-space: pre-wrap; } |
1470 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1470 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1471 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">�ny�kleyiciyi Kur</span></p> | 1471 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">�ny�kleyiciyi Kur</span></p> |
1472 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ses oynaticinizda Rockbox'in �alisabilmesi i�in �ncelikle �ny�kleyicinin kurulmasi gerekmektedir. Bu sadece Rockbox'in ilk kurulumunda gereklidir.</p></body></html></translation> | 1472 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ses oynaticinizda Rockbox'in �alisabilmesi i�in �ncelikle �ny�kleyicinin kurulmasi gerekmektedir. Bu sadece Rockbox'in ilk kurulumunda gereklidir.</p></body></html></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'i Kur</translation> | 1477 | <translation>Rockbox'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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1481 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1482 | p, li { white-space: pre-wrap; } | 1482 | p, li { white-space: pre-wrap; } |
1483 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1483 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1484 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> | 1484 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> |
1485 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1485 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1486 | p, li { white-space: pre-wrap; } | 1486 | p, li { white-space: pre-wrap; } |
1487 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1487 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1488 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Rockbox'i Kur</span></p></body></html></translation> | 1488 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Rockbox'i Kur</span></p></body></html></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>&Extras</source> | 1492 | <source>&Extras</source> |
1493 | <translation>&Ekstralar</translation> | 1493 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1507 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1508 | p, li { white-space: pre-wrap; } | 1508 | p, li { white-space: pre-wrap; } |
1509 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1509 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1510 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> | 1510 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> |
1511 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> | 1511 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> |
1512 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1512 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1513 | p, li { white-space: pre-wrap; } | 1513 | p, li { white-space: pre-wrap; } |
1514 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1514 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1515 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Yazi Tipi Paketi</span></p> | 1515 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Yazi Tipi Paketi</span></p> |
1516 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Yazi tipi paketi sik�a kullanilan bir�ok yazi tipini barindirir. Bu paketi kurmaniz siddetle �nerilir.</p></body></html></translation> | 1516 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Yazi tipi paketi sik�a kullanilan bir�ok yazi tipini barindirir. Bu paketi kurmaniz siddetle �nerilir.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1525 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1526 | p, li { white-space: pre-wrap; } | 1526 | p, li { white-space: pre-wrap; } |
1527 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1527 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1528 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> | 1528 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> |
1529 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> | 1529 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> |
1530 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1530 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1531 | p, li { white-space: pre-wrap; } | 1531 | p, li { white-space: pre-wrap; } |
1532 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1532 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1533 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Temalari Kur</span></p> | 1533 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Temalari Kur</span></p> |
1534 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox'in g�r�n�m� temalarla kisisellestirilebilir. Temalari se�ip y�kleyebilirsiniz.</p></body></html></translation> | 1534 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox'in g�r�n�m� temalarla kisisellestirilebilir. Temalari se�ip y�kleyebilirsiniz.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1543 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1544 | p, li { white-space: pre-wrap; } | 1544 | p, li { white-space: pre-wrap; } |
1545 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1545 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1546 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> | 1546 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> |
1547 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> | 1547 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> |
1548 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1548 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1549 | p, li { white-space: pre-wrap; } | 1549 | p, li { white-space: pre-wrap; } |
1550 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1550 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1551 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Oyun Dosyalarini Y�kle</span></p> | 1551 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Oyun Dosyalarini Y�kle</span></p> |
1552 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom temel bir wad dosyasina ihtiya� duyar.</span></p></body></html></translation> | 1552 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom temel bir wad dosyasina ihtiya� duyar.</span></p></body></html></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>&Accessibility</source> | 1556 | <source>&Accessibility</source> |
1557 | <translation>&Erisilebilirlik</translation> | 1557 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1571 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1572 | p, li { white-space: pre-wrap; } | 1572 | p, li { white-space: pre-wrap; } |
1573 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1573 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1574 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> | 1574 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> |
1575 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> | 1575 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> |
1576 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1576 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1577 | p, li { white-space: pre-wrap; } | 1577 | p, li { white-space: pre-wrap; } |
1578 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1578 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1579 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Seslendirme Dosyasini Y�kle</span></p> | 1579 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Seslendirme Dosyasini Y�kle</span></p> |
1580 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Seslendirme dosyasi kullanici aray�z�n�n seslendirilmesi i�in gereklidir. Seslendirme �zelligi �ntanimli olarak a�iktir, eger seslendirme dosyasini y�klerseniz, Rockbox'iniz konusur.</p></body></html></translation> | 1580 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Seslendirme dosyasi kullanici aray�z�n�n seslendirilmesi i�in gereklidir. Seslendirme �zelligi �ntanimli olarak a�iktir, eger seslendirme dosyasini y�klerseniz, Rockbox'iniz konusur.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1589 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1590 | p, li { white-space: pre-wrap; } | 1590 | p, li { white-space: pre-wrap; } |
1591 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1591 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1592 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> | 1592 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> |
1593 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> | 1593 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> |
1594 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1594 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1595 | p, li { white-space: pre-wrap; } | 1595 | p, li { white-space: pre-wrap; } |
1596 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1596 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1597 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Konusma Dosyalarini Olustur</span></p> | 1597 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Konusma Dosyalarini Olustur</span></p> |
1598 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Konusma dosyalari Rockbox'in dosya ve dizin isimlerini seslendirmesi i�in gereklidir.</span></p></body></html></translation> | 1598 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Konusma dosyalari Rockbox'in dosya ve dizin isimlerini seslendirmesi i�in gereklidir.</span></p></body></html></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>&Uninstallation</source> | 1602 | <source>&Uninstallation</source> |
1603 | <translation>&Kaldirma</translation> | 1603 | <translation>&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'i Kaldir</translation> | 1608 | <translation>Rockbox'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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1617 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1618 | p, li { white-space: pre-wrap; } | 1618 | p, li { white-space: pre-wrap; } |
1619 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1619 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1620 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> | 1620 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> |
1621 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> | 1621 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> |
1622 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1622 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1623 | p, li { white-space: pre-wrap; } | 1623 | p, li { white-space: pre-wrap; } |
1624 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1624 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1625 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">�ny�kleyiciyi Kaldir</span></p> | 1625 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">�ny�kleyiciyi Kaldir</span></p> |
1626 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">�ny�kleyiciyi kaldirdiktan sonra Rockbox'i baslatamazsiniz.</p></body></html></translation> | 1626 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">�ny�kleyiciyi kaldirdiktan sonra Rockbox'i baslatamazsiniz.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1630 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1631 | p, li { white-space: pre-wrap; } | 1631 | p, li { white-space: pre-wrap; } |
1632 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1632 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1633 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> | 1633 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> |
1634 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> | 1634 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> |
1635 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1635 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1636 | p, li { white-space: pre-wrap; } | 1636 | p, li { white-space: pre-wrap; } |
1637 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1637 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1638 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Rockbox'i Kaldir</span></p> | 1638 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Rockbox'i Kaldir</span></p> |
1639 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">�ny�kleyiciniz kaldirilmayacaktir, isterseniz daha sonra kendiniz kaldirabilirsiniz.</p></body></html></translation> | 1639 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">�ny�kleyiciniz kaldirilmayacaktir, isterseniz daha sonra kendiniz kaldirabilirsiniz.</p></body></html></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>&Manual</source> | 1643 | <source>&Manual</source> |
1644 | <translation>&Kilavuz</translation> | 1644 | <translation>&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>&PDF version</source> | 1673 | <source>&PDF version</source> |
1674 | <translation>&PDF formati</translation> | 1674 | <translation>&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>&HTML version (zip file)</source> | 1678 | <source>&HTML version (zip file)</source> |
1679 | <translation>&HTML formati (zip dosyasi)</translation> | 1679 | <translation>&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&load</source> | 1683 | <source>Down&load</source> |
1684 | <translation>&Indir</translation> | 1684 | <translation>&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&o</source> | 1688 | <source>Inf&o</source> |
1689 | <translation>&Bilgi</translation> | 1689 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1693 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1694 | p, li { white-space: pre-wrap; } | 1694 | p, li { white-space: pre-wrap; } |
1695 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1695 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1696 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> | 1696 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> |
1697 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> | 1697 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> |
1698 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Y�klenmis paketler.</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Not</span>: Paketleri kendiniz kurduysaniz, bu bilgiler dogru olmayabilir!</p></body></html></translation> | 1698 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Y�klenmis paketler.</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Not</span>: Paketleri kendiniz kurduysaniz, bu bilgiler dogru olmayabilir!</p></body></html></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>&File</source> | 1707 | <source>&File</source> |
1708 | <translation>&Dosya</translation> | 1708 | <translation>&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>&About</source> | 1712 | <source>&About</source> |
1713 | <translation>&Hakkinda</translation> | 1713 | <translation>&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&s</source> | 1717 | <source>Action&s</source> |
1718 | <translation>I&slemler</translation> | 1718 | <translation>I&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>&Configure</source> | 1757 | <source>&Configure</source> |
1758 | <translation>&Yapilandir</translation> | 1758 | <translation>&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&xit</source> | 1762 | <source>E&xit</source> |
1763 | <translation>&�ikis</translation> | 1763 | <translation>&�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 &Qt</source> | 1772 | <source>About &Qt</source> |
1773 | <translation>&Qt Hakkinda</translation> | 1773 | <translation>&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>&Help</source> | 1777 | <source>&Help</source> |
1778 | <translation>&Yardim</translation> | 1778 | <translation>&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1842 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1843 | p, li { white-space: pre-wrap; } | 1843 | p, li { white-space: pre-wrap; } |
1844 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1844 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1845 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> | 1845 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> |
1846 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> | 1846 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> |
1847 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></source> | 1847 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></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<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> | 1857 | <source>Create Voic<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> |
1858 | e File</source> | 1858 | e 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>&Ok</source> | 1891 | <source>&Ok</source> |
1892 | <translation type="unfinished">&Tamam</translation> | 1892 | <translation type="unfinished">&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>&Cancel</source> | 1896 | <source>&Cancel</source> |
1897 | <translation type="unfinished">&Iptal</translation> | 1897 | <translation type="unfinished">&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>&Browse</source> | 1937 | <source>&Browse</source> |
1938 | <translation type="unfinished">&G�z At</translation> | 1938 | <translation type="unfinished">&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>&Ok</source> | 1952 | <source>&Ok</source> |
1953 | <translation type="unfinished">&Tamam</translation> | 1953 | <translation type="unfinished">&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>&Cancel</source> | 1957 | <source>&Cancel</source> |
1958 | <translation type="unfinished">&Iptal</translation> | 1958 | <translation type="unfinished">&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>&Install</source> | 2046 | <source>&Install</source> |
2047 | <translation>&Y�kle</translation> | 2047 | <translation>&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 &All</source> | 2051 | <source>Install &All</source> |
2052 | <translation>&Hepsini Y�kle</translation> | 2052 | <translation>&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>&Cancel</source> | 2056 | <source>&Cancel</source> |
2057 | <translation>&Iptal</translation> | 2057 | <translation>&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. |
2070 | Please check your network and proxy settings.</source> | 2070 | Please check your network and proxy settings.</source> |
2071 | <translation>Ag hatasi: %1. | 2071 | <translation>Ag hatasi: %1. |
2072 | L�tfen ag ve vekil sunucu ayarlarinizi kontrol ediniz.</translation> | 2072 | L�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><b>Author:</b> %1<hr/></source> | 2103 | <source><b>Author:</b> %1<hr/></source> |
2104 | <translation><b>Sahibi:</b> %1<hr/></translation> | 2104 | <translation><b>Sahibi:</b> %1<hr/></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><b>Version:</b> %1<hr/></source> | 2113 | <source><b>Version:</b> %1<hr/></source> |
2114 | <translation><b>S�r�m:</b> %1<hr/></translation> | 2114 | <translation><b>S�r�m:</b> %1<hr/></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><b>Description:</b> %1<hr/></source> | 2118 | <source><b>Description:</b> %1<hr/></source> |
2119 | <translation><b>A�iklama:</b> %1<hr/></translation> | 2119 | <translation><b>A�iklama:</b> %1<hr/></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'i Kaldir</translation> | 2235 | <translation>Rockbox'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>&Uninstall</source> | 2269 | <source>&Uninstall</source> |
2270 | <translation>&Kaldir</translation> | 2270 | <translation>&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>&Cancel</source> | 2274 | <source>&Cancel</source> |
2275 | <translation>&Iptal</translation> | 2275 | <translation>&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. |
2517 | Released under the GNU General Public License v2.</source> | 2517 | Released 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. |
2521 | GNU Genel Kamu Lisansi v2 altinda dagitilmaktadir.</translation> | 2521 | GNU 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>&Credits</source> | 2530 | <source>&Credits</source> |
2531 | <translation>&Hazirlayanlar</translation> | 2531 | <translation>&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>&License</source> | 2535 | <source>&License</source> |
2536 | <translation>&Lisans</translation> | 2536 | <translation>&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>&Ok</source> | 2540 | <source>&Ok</source> |
2541 | <translation>&Tamam</translation> | 2541 | <translation>&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. |
2548 | Released under the GNU General Public License v2.</source> | 2548 | Released 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>******************************************** |
258 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. | 258 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. |
259 | You must reinstall the original Sansa firmware before running | 259 | You must reinstall the original Sansa firmware before running |
260 | sansapatcher for the first time. | 260 | sansapatcher for the first time. |
261 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install | 261 | See 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 |
336 | See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> | 336 | See 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>&Ok</source> | 359 | <source>&Ok</source> |
360 | <translation>&OK</translation> | 360 | <translation>&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>&Cancel</source> | 364 | <source>&Cancel</source> |
365 | <translation>&取消</translation> | 365 | <translation>&取消</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>&Ok</source> | 387 | <source>&Ok</source> |
388 | <translation>&OK</translation> | 388 | <translation>&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>&Cancel</source> | 392 | <source>&Cancel</source> |
393 | <translation>&取消</translation> | 393 | <translation>&取消</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. |
421 | Select your Mountpoint manually.</source> | 421 | Select 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. |
428 | Select your device and Mountpoint manually.</source> | 428 | Select 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 <b>all</b> 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 <b>all</b> files in this folder!</source> |
440 | <translation>你真的肯定要删除缓冲吗? 请确认你的设定是正确的因为这会删除 <b>全部</b> 的文件在此文件夹 !</translation> | 440 | <translation>你真的肯定要删除缓冲吗? 请确认你的设定是正确的因为这会删除 <b>全部</b> 的文件在此文件夹 !</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! |
475 | You need to change your player to MSC mode for installation. </source> | 475 | You 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! |
481 | You need to change your player to UMS mode for installation. </source> | 481 | You 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>&Device</source> | 509 | <source>&Device</source> |
510 | <translation>&播放器</translation> | 510 | <translation>&播放器</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 &filesystem</source> | 514 | <source>Select your device in the &filesystem</source> |
515 | <translation>请选择你的播放器在你的 &文件系统</translation> | 515 | <translation>请选择你的播放器在你的 &文件系统</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>&Browse</source> | 519 | <source>&Browse</source> |
520 | <translation>&浏览</translation> | 520 | <translation>&浏览</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>&Select your audio player</source> | 524 | <source>&Select your audio player</source> |
525 | <translation>&选择你的音乐播放器</translation> | 525 | <translation>&选择你的音乐播放器</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>&Autodetect</source> | 534 | <source>&Autodetect</source> |
535 | <translation>自动识别(&A)</translation> | 535 | <translation>自动识别(&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>&Proxy</source> | 539 | <source>&Proxy</source> |
540 | <translation>网络代理服务(&P)</translation> | 540 | <translation>网络代理服务(&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>&No Proxy</source> | 544 | <source>&No Proxy</source> |
545 | <translation>没有网络代理服务(&N)</translation> | 545 | <translation>没有网络代理服务(&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&ystem values</source> | 549 | <source>Use S&ystem values</source> |
550 | <translation>使用系统值(&S)</translation> | 550 | <translation>使用系统值(&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>&Manual Proxy settings</source> | 554 | <source>&Manual Proxy settings</source> |
555 | <translation>手动设置代理服务(&M)</translation> | 555 | <translation>手动设置代理服务(&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>&Host:</source> | 564 | <source>&Host:</source> |
565 | <translation>&主机:</translation> | 565 | <translation>&主机:</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>&Port:</source> | 569 | <source>&Port:</source> |
570 | <translation>&接口:</translation> | 570 | <translation>&接口:</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>&Username</source> | 574 | <source>&Username</source> |
575 | <translation>&用户名</translation> | 575 | <translation>&用户名</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&word</source> | 579 | <source>Pass&word</source> |
580 | <translation>&密码</translation> | 580 | <translation>&密码</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>&Language</source> | 584 | <source>&Language</source> |
585 | <translation>&语言</translation> | 585 | <translation>&语言</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&he</source> | 589 | <source>Cac&he</source> |
590 | <translation>&缓冲</translation> | 590 | <translation>&缓冲</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&ath</source> | 609 | <source>P&ath</source> |
610 | <translation>&路径</translation> | 610 | <translation>&路径</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 &download cache</source> | 619 | <source>Disable local &download cache</source> |
620 | <translation>&不使用本机缓冲</translation> | 620 | <translation>&不使用本机缓冲</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&ffline mode</source> | 629 | <source>O&ffline mode</source> |
630 | <translation>&下线安装</translation> | 630 | <translation>&下线安装</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 &now</source> | 634 | <source>Clean cache &now</source> |
635 | <translation>&现在清除缓冲文件夹</translation> | 635 | <translation>&现在清除缓冲文件夹</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>&TTS && Encoder</source> | 639 | <source>&TTS && Encoder</source> |
640 | <translation>&TTS && 信号转换器</translation> | 640 | <translation>&TTS && 信号转换器</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>&Select TTS profile</source> | 649 | <source>&Select TTS profile</source> |
650 | <translation type="obsolete">& 选择 TTS 个人设置</translation> | 650 | <translation type="obsolete">& 选择 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 &encoder profile</source> | 669 | <source>Select &encoder profile</source> |
670 | <translation type="obsolete">&选择引擎设置</translation> | 670 | <translation type="obsolete">&选择引擎设置</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&rowse</source> | 679 | <source>B&rowse</source> |
680 | <translation type="obsolete">&浏览</translation> | 680 | <translation type="obsolete">&浏览</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>&Ok</source> | 689 | <source>&Ok</source> |
690 | <translation>&OK</translation> | 690 | <translation>&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>&Cancel</source> | 694 | <source>&Cancel</source> |
695 | <translation>&取消</translation> | 695 | <translation>&取消</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>&Select TTS Engine</source> | 699 | <source>&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 &TTS</source> | 714 | <source>Configure &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 &encoder</source> | 719 | <source>Select &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 &Enc</source> | 729 | <source> Configure &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>&Install</source> | 775 | <source>&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>&Cancel</source> | 780 | <source>&Cancel</source> |
781 | <translation type="unfinished">&取消</translation> | 781 | <translation type="unfinished">&取消</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 : <b>%1</b></source> | 793 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 798 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 803 | <source>Selected Encoder: <b>%1</b></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>&Browse</source> | 826 | <source>&Browse</source> |
827 | <translation type="unfinished">&浏览</translation> | 827 | <translation type="unfinished">&浏览</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>&Ok</source> | 841 | <source>&Ok</source> |
842 | <translation type="unfinished">&OK</translation> | 842 | <translation type="unfinished">&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>&Cancel</source> | 846 | <source>&Cancel</source> |
847 | <translation type="unfinished">&取消</translation> | 847 | <translation type="unfinished">&取消</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><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> | 864 | <source><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> |
865 | <translation><b>注意:</b> 选择这会每一次自动下载新的版本. <b>(推荐)</b></translation> | 865 | <translation><b>注意:</b> 选择这会每一次自动下载新的版本. <b>(推荐)</b></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><b>Note:</b> This option will always download a fresh copy.</source> | 869 | <source><b>Note:</b> This option will always download a fresh copy.</source> |
870 | <translation><b>注意:</b> 选择这会每一次自动下载新的版本. </translation> | 870 | <translation><b>注意:</b> 选择这会每一次自动下载新的版本. </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><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> | 879 | <source><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> |
880 | <translation><b>注意:</b> 最新的版本是 %1. <b>这是建议使用的版本.</b></translation> | 880 | <translation><b>注意:</b> 最新的版本是 %1. <b>这是建议使用的版本.</b></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><b>Note:</b> archived version is r%1 (%2).</source> | 889 | <source><b>Note:</b> archived version is r%1 (%2).</source> |
890 | <translation><b>注意:</b> 存档的版本是 r%1 (%2).</translation> | 890 | <translation><b>注意:</b> 存档的版本是 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 &stable</source> | 917 | <source>Rockbox &stable</source> |
918 | <translation>&稳定的 Rockbox</translation> | 918 | <translation>&稳定的 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>&Archived Build</source> | 922 | <source>&Archived Build</source> |
923 | <translation>&存档的版本</translation> | 923 | <translation>&存档的版本</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>&Current Build</source> | 927 | <source>&Current Build</source> |
928 | <translation>&最新的版本</translation> | 928 | <translation>&最新的版本</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>&Don't use locally cached copy</source> | 952 | <source>&Don't use locally cached copy</source> |
953 | <translation>&不使用硬盘上缓冲的文件</translation> | 953 | <translation>&不使用硬盘上缓冲的文件</translation> |
954 | </message> | 954 | </message> |
955 | <message> | 955 | <message> |
956 | <location filename="" line="6357100"/> | 956 | <location filename="" line="6357100"/> |
957 | <source>&Ok</source> | 957 | <source>&Ok</source> |
958 | <translation type="obsolete">&OK</translation> | 958 | <translation type="obsolete">&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>&Cancel</source> | 962 | <source>&Cancel</source> |
963 | <translation>&取消</translation> | 963 | <translation>&取消</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>&Install</source> | 967 | <source>&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>&Abort</source> | 980 | <source>&Abort</source> |
981 | <translation>&取消</translation> | 981 | <translation>&取消</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>&Browse</source> | 998 | <source>&Browse</source> |
999 | <translation>&浏览</translation> | 999 | <translation>&浏览</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>&Ok</source> | 1048 | <source>&Ok</source> |
1049 | <translation type="obsolete">&OK</translation> | 1049 | <translation type="obsolete">&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>&Cancel</source> | 1053 | <source>&Cancel</source> |
1054 | <translation>&取消</translation> | 1054 | <translation>&取消</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>&Install</source> | 1073 | <source>&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: <b>%1</b></source> | 1096 | <source>TTS Profile: <b>%1</b></source> |
1097 | <translation type="obsolete">TTS 设置: <b>%1</b></translation> | 1097 | <translation type="obsolete">TTS 设置: <b>%1</b></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: <b>%1</b></source> | 1106 | <source>Encoder Profile: <b>%1</b></source> |
1107 | <translation type="obsolete">转换器设置: <b>%1</b></translation> | 1107 | <translation type="obsolete">转换器设置: <b>%1</b></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 : <b>%1</b></source> | 1116 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 1121 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 1126 | <source>Selected Encoder: <b>%1</b></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>&Ok</source> | 1142 | <source>&Ok</source> |
1143 | <translation>&OK</translation> | 1143 | <translation>&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>&Abort</source> | 1147 | <source>&Abort</source> |
1148 | <translation>&取消</translation> | 1148 | <translation>&取消</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>&Ok</source> | 1185 | <source>&Ok</source> |
1186 | <translation type="unfinished">&OK</translation> | 1186 | <translation type="unfinished">&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>&Cancel</source> | 1190 | <source>&Cancel</source> |
1191 | <translation type="unfinished">&取消</translation> | 1191 | <translation type="unfinished">&取消</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><b>%1 %2</b> at <b>%3</b></source> | 1218 | <source><b>%1 %2</b> at <b>%3</b></source> |
1219 | <translation><b>%1 %2</b> 在 <b>%3</b></translation> | 1219 | <translation><b>%1 %2</b> 在 <b>%3</b></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><a href='%1'>PDF Manual</a></source> | 1223 | <source><a href='%1'>PDF Manual</a></source> |
1224 | <translation><a href='%1'>PDF 用户手册(英文)</a></translation> | 1224 | <translation><a href='%1'>PDF 用户手册(英文)</a></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><a href='%1'>HTML Manual (opens in browser)</a></source> | 1228 | <source><a href='%1'>HTML Manual (opens in browser)</a></source> |
1229 | <translation><a href='%1'>HTML 用户手册(英文,在浏览器打开)</a></translation> | 1229 | <translation><a href='%1'>HTML 用户手册(英文,在浏览器打开)</a></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><a href='%1'>Manual Overview</a></source> | 1238 | <source><a href='%1'>Manual Overview</a></source> |
1239 | <translation><a href='%1'>用户手册总观</a></translation> | 1239 | <translation><a href='%1'>用户手册总观</a></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. |
1279 | Do really want to install it?</source> | 1279 | Do 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. |
1386 | Do want to replace the current bootloader?</source> | 1386 | Do 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't have a doom plugin. Aborting.</source> | 1401 | <source>Your device doesn'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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1429 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1430 | p, li { white-space: pre-wrap; } | 1430 | p, li { white-space: pre-wrap; } |
1431 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1431 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1432 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> | 1432 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> |
1433 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1433 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1434 | p, li { white-space: pre-wrap; } | 1434 | p, li { white-space: pre-wrap; } |
1435 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1435 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1436 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">不明</span></p></body></html></translation> | 1436 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">不明</span></p></body></html></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>&Change</source> | 1440 | <source>&Change</source> |
1441 | <translation>&更改</translation> | 1441 | <translation>&更改</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>&Quick Start</source> | 1445 | <source>&Quick Start</source> |
1446 | <translation>&快速开始</translation> | 1446 | <translation>&快速开始</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1460 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1461 | p, li { white-space: pre-wrap; } | 1461 | p, li { white-space: pre-wrap; } |
1462 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1462 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1463 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> | 1463 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> |
1464 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> | 1464 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> |
1465 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1465 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1466 | p, li { white-space: pre-wrap; } | 1466 | p, li { white-space: pre-wrap; } |
1467 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1467 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1468 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">完整安装</span></p> | 1468 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">完整安装</span></p> |
1469 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这将安装启动程序, 最新版本和附加功能. 如果这是你第一次安装, 这是建议的安装.</p></body></html></translation> | 1469 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这将安装启动程序, 最新版本和附加功能. 如果这是你第一次安装, 这是建议的安装.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1473 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1474 | p, li { white-space: pre-wrap; } | 1474 | p, li { white-space: pre-wrap; } |
1475 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1475 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1476 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> | 1476 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> |
1477 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> | 1477 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> |
1478 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1478 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1479 | p, li { white-space: pre-wrap; } | 1479 | p, li { white-space: pre-wrap; } |
1480 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1480 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1481 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">最小安装</span></p> | 1481 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">最小安装</span></p> |
1482 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这将安装启动程序和最新版本.</p></body></html></translation> | 1482 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这将安装启动程序和最新版本.</p></body></html></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>&Installation</source> | 1486 | <source>&Installation</source> |
1487 | <translation>&安装</translation> | 1487 | <translation>&安装</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1501 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1502 | p, li { white-space: pre-wrap; } | 1502 | p, li { white-space: pre-wrap; } |
1503 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1503 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1504 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> | 1504 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> |
1505 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> | 1505 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> |
1506 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1506 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1507 | p, li { white-space: pre-wrap; } | 1507 | p, li { white-space: pre-wrap; } |
1508 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1508 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1509 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装启动程序</span></p> | 1509 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装启动程序</span></p> |
1510 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ROCKBOX 可能需要安装启动程序后才可以运行.你只需要安装启动程序如果这是你的第一次安装.</p></body></html></translation> | 1510 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ROCKBOX 可能需要安装启动程序后才可以运行.你只需要安装启动程序如果这是你的第一次安装.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1519 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1520 | p, li { white-space: pre-wrap; } | 1520 | p, li { white-space: pre-wrap; } |
1521 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1521 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1522 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> | 1522 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> |
1523 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1523 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1524 | p, li { white-space: pre-wrap; } | 1524 | p, li { white-space: pre-wrap; } |
1525 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1525 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1526 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装 Rockbox</span> 在你的音乐播放器里</p></body></html></translation> | 1526 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装 Rockbox</span> 在你的音乐播放器里</p></body></html></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>&Extras</source> | 1530 | <source>&Extras</source> |
1531 | <translation>&附加功能</translation> | 1531 | <translation>&附加功能</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1545 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1546 | p, li { white-space: pre-wrap; } | 1546 | p, li { white-space: pre-wrap; } |
1547 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1547 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1548 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> | 1548 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> |
1549 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> | 1549 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> |
1550 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1550 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1551 | p, li { white-space: pre-wrap; } | 1551 | p, li { white-space: pre-wrap; } |
1552 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1552 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1553 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">字体包裹</span></p> | 1553 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">字体包裹</span></p> |
1554 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">字体包裹里包含一些常用的字体. 强烈建议安装此包裹.</p></body></html></translation> | 1554 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">字体包裹里包含一些常用的字体. 强烈建议安装此包裹.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1563 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1564 | p, li { white-space: pre-wrap; } | 1564 | p, li { white-space: pre-wrap; } |
1565 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1565 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1566 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> | 1566 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> |
1567 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> | 1567 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> |
1568 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1568 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1569 | p, li { white-space: pre-wrap; } | 1569 | p, li { white-space: pre-wrap; } |
1570 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1570 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1571 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装主题</span></p> | 1571 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装主题</span></p> |
1572 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox 的外观可以被个人化. 你可以选择并安装几个官方认证的主题. </p></body></html></translation> | 1572 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox 的外观可以被个人化. 你可以选择并安装几个官方认证的主题. </p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1581 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1582 | p, li { white-space: pre-wrap; } | 1582 | p, li { white-space: pre-wrap; } |
1583 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1583 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1584 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> | 1584 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> |
1585 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> | 1585 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> |
1586 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1586 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1587 | p, li { white-space: pre-wrap; } | 1587 | p, li { white-space: pre-wrap; } |
1588 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1588 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1589 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装游戏文件</span></p> | 1589 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装游戏文件</span></p> |
1590 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom游戏需要wad文件才可以运行.</span></p></body></html></translation> | 1590 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom游戏需要wad文件才可以运行.</span></p></body></html></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>&Accessibility</source> | 1594 | <source>&Accessibility</source> |
1595 | <translation>&辅助</translation> | 1595 | <translation>&辅助</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1609 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1610 | p, li { white-space: pre-wrap; } | 1610 | p, li { white-space: pre-wrap; } |
1611 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1611 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1612 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> | 1612 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> |
1613 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> | 1613 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> |
1614 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1614 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1615 | p, li { white-space: pre-wrap; } | 1615 | p, li { white-space: pre-wrap; } |
1616 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1616 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1617 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装语音文件</span></p> | 1617 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安装语音文件</span></p> |
1618 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果你需要Rockbox用语音说出用户界面, 你需要安装语音文件. 语音界面将会被自动开启,所以你安装语音文件后Rockbox就会对你说话.</p></body></html></translation> | 1618 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果你需要Rockbox用语音说出用户界面, 你需要安装语音文件. 语音界面将会被自动开启,所以你安装语音文件后Rockbox就会对你说话.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1627 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1628 | p, li { white-space: pre-wrap; } | 1628 | p, li { white-space: pre-wrap; } |
1629 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1629 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1630 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> | 1630 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> |
1631 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> | 1631 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> |
1632 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1632 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1633 | p, li { white-space: pre-wrap; } | 1633 | p, li { white-space: pre-wrap; } |
1634 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1634 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1635 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">建立说话文件</span></p> | 1635 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">建立说话文件</span></p> |
1636 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">如果你需要Rockbox说出你文件和文件夹的名称, 你要安装说话文件. </span></p></body></html></translation> | 1636 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">如果你需要Rockbox说出你文件和文件夹的名称, 你要安装说话文件. </span></p></body></html></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>&Uninstallation</source> | 1640 | <source>&Uninstallation</source> |
1641 | <translation>&卸载</translation> | 1641 | <translation>&卸载</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1655 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1656 | p, li { white-space: pre-wrap; } | 1656 | p, li { white-space: pre-wrap; } |
1657 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1657 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1658 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> | 1658 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> |
1659 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> | 1659 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> |
1660 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1660 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1661 | p, li { white-space: pre-wrap; } | 1661 | p, li { white-space: pre-wrap; } |
1662 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1662 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1663 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">卸载启动程序</span></p> | 1663 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">卸载启动程序</span></p> |
1664 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">卸载启动程序后你就不能启动 Rockbox 了.</p></body></html></translation> | 1664 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">卸载启动程序后你就不能启动 Rockbox 了.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1668 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1669 | p, li { white-space: pre-wrap; } | 1669 | p, li { white-space: pre-wrap; } |
1670 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1670 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1671 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> | 1671 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> |
1672 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> | 1672 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> |
1673 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1673 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1674 | p, li { white-space: pre-wrap; } | 1674 | p, li { white-space: pre-wrap; } |
1675 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1675 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1676 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">把 Rockbox</span> 在你音乐播放器里删除.</p> | 1676 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">把 Rockbox</span> 在你音乐播放器里删除.</p> |
1677 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这不会卸载启动程序(你需要手动卸载启动程序).</p></body></html></translation> | 1677 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这不会卸载启动程序(你需要手动卸载启动程序).</p></body></html></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>&Manual</source> | 1681 | <source>&Manual</source> |
1682 | <translation>&用户手册</translation> | 1682 | <translation>&用户手册</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>&PDF version</source> | 1711 | <source>&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>&HTML version (zip file)</source> | 1716 | <source>&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&load</source> | 1721 | <source>Down&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&o</source> | 1726 | <source>Inf&o</source> |
1727 | <translation>&信息</translation> | 1727 | <translation>&信息</translation> |
1728 | </message> | 1728 | </message> |
1729 | <message> | 1729 | <message> |
1730 | <location filename="" line="6357100"/> | 1730 | <location filename="" line="6357100"/> |
1731 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1731 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1732 | p, li { white-space: pre-wrap; } | 1732 | p, li { white-space: pre-wrap; } |
1733 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1733 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1734 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">???????.</p> | 1734 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">???????.</p> |
1735 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> | 1735 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> |
1736 | <translation type="obsolete"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1736 | <translation type="obsolete"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1737 | p, li { white-space: pre-wrap; } | 1737 | p, li { white-space: pre-wrap; } |
1738 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1738 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1739 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Composants actuellement installés.</p> | 1739 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Composants actuellement installés.</p> |
1740 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">注意</span>: 如果你手动安装Rockbox, 这可能显示不正确的信息!</p></body></html></translation> | 1740 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">注意</span>: 如果你手动安装Rockbox, 这可能显示不正确的信息!</p></body></html></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>&File</source> | 1749 | <source>&File</source> |
1750 | <translation>&文件</translation> | 1750 | <translation>&文件</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>&About</source> | 1754 | <source>&About</source> |
1755 | <translation>&关于</translation> | 1755 | <translation>&关于</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>&Configure</source> | 1769 | <source>&Configure</source> |
1770 | <translation>&设置</translation> | 1770 | <translation>&设置</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&xit</source> | 1774 | <source>E&xit</source> |
1775 | <translation>&退出</translation> | 1775 | <translation>&退出</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 &Qt</source> | 1784 | <source>About &Qt</source> |
1785 | <translation>关于&Qt</translation> | 1785 | <translation>关于&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>&Help</source> | 1789 | <source>&Help</source> |
1790 | <translation>&帮助</translation> | 1790 | <translation>&帮助</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1804 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1805 | p, li { white-space: pre-wrap; } | 1805 | p, li { white-space: pre-wrap; } |
1806 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1806 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1807 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> | 1807 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> |
1808 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> | 1808 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></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&s</source> | 1813 | <source>Action&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1903 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1904 | p, li { white-space: pre-wrap; } | 1904 | p, li { white-space: pre-wrap; } |
1905 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1905 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1906 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> | 1906 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> |
1907 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> | 1907 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> |
1908 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></source> | 1908 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></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<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> | 1918 | <source>Create Voic<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> |
1919 | e File</source> | 1919 | e 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>&Ok</source> | 1952 | <source>&Ok</source> |
1953 | <translation type="unfinished">&OK</translation> | 1953 | <translation type="unfinished">&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>&Cancel</source> | 1957 | <source>&Cancel</source> |
1958 | <translation type="unfinished">&取消</translation> | 1958 | <translation type="unfinished">&取消</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>&Browse</source> | 1998 | <source>&Browse</source> |
1999 | <translation type="unfinished">&浏览</translation> | 1999 | <translation type="unfinished">&浏览</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>&Ok</source> | 2013 | <source>&Ok</source> |
2014 | <translation type="unfinished">&OK</translation> | 2014 | <translation type="unfinished">&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>&Cancel</source> | 2018 | <source>&Cancel</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>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>&Ok</source> | 2107 | <source>&Ok</source> |
2108 | <translation type="obsolete">&OK</translation> | 2108 | <translation type="obsolete">&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>&Cancel</source> | 2112 | <source>&Cancel</source> |
2113 | <translation>&取消</translation> | 2113 | <translation>&取消</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>&Install</source> | 2117 | <source>&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 &All</source> | 2122 | <source>Install &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. |
2136 | Please check your network and proxy settings.</source> | 2136 | Please 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'erreur suivante s'est produite : | 2144 | <translation type="obsolete">L'erreur suivante s'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><b>Author:</b> %1<hr/></source> | 2169 | <source><b>Author:</b> %1<hr/></source> |
2170 | <translation><b>作者:</b> %1<hr/></translation> | 2170 | <translation><b>作者:</b> %1<hr/></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><b>Version:</b> %1<hr/></source> | 2179 | <source><b>Version:</b> %1<hr/></source> |
2180 | <translation><b>版本:</b> %1<hr/></translation> | 2180 | <translation><b>版本:</b> %1<hr/></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><b>Description:</b> %1<hr/></source> | 2184 | <source><b>Description:</b> %1<hr/></source> |
2185 | <translation><b>描述:</b> %1<hr/></translation> | 2185 | <translation><b>描述:</b> %1<hr/></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>&Ok</source> | 2346 | <source>&Ok</source> |
2347 | <translation type="obsolete">&OK</translation> | 2347 | <translation type="obsolete">&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>&Cancel</source> | 2351 | <source>&Cancel</source> |
2352 | <translation>&取消</translation> | 2352 | <translation>&取消</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>&Uninstall</source> | 2356 | <source>&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. |
2599 | Released under the GNU General Public License v2.</source> | 2599 | Released 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>&Credits</source> | 2612 | <source>&Credits</source> |
2613 | <translation>&特别鸣谢</translation> | 2613 | <translation>&特别鸣谢</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>&License</source> | 2617 | <source>&License</source> |
2618 | <translation>&授权</translation> | 2618 | <translation>&授权</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>&Ok</source> | 2622 | <source>&Ok</source> |
2623 | <translation>&OK</translation> | 2623 | <translation>&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>******************************************** |
258 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. | 258 | OLD ROCKBOX INSTALLATION DETECTED, ABORTING. |
259 | You must reinstall the original Sansa firmware before running | 259 | You must reinstall the original Sansa firmware before running |
260 | sansapatcher for the first time. | 260 | sansapatcher for the first time. |
261 | See http://www.rockbox.org/twiki/bin/view/Main/SansaE200Install | 261 | See 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 |
336 | See http://www.rockbox.org/wiki/IpodConversionToFAT32</source> | 336 | See 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>&Ok</source> | 359 | <source>&Ok</source> |
360 | <translation>&OK</translation> | 360 | <translation>&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>&Cancel</source> | 364 | <source>&Cancel</source> |
365 | <translation>&取消</translation> | 365 | <translation>&取消</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>&Ok</source> | 387 | <source>&Ok</source> |
388 | <translation>&OK</translation> | 388 | <translation>&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>&Cancel</source> | 392 | <source>&Cancel</source> |
393 | <translation>&取消</translation> | 393 | <translation>&取消</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. |
421 | Select your Mountpoint manually.</source> | 421 | Select 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. |
428 | Select your device and Mountpoint manually.</source> | 428 | Select 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 <b>all</b> 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 <b>all</b> files in this folder!</source> |
440 | <translation>你真的肯定要刪除緩沖嗎? 請确認你的設定是正确的因為這會刪除 <b>全部</b> 的文件在此文件夾 !</translation> | 440 | <translation>你真的肯定要刪除緩沖嗎? 請确認你的設定是正确的因為這會刪除 <b>全部</b> 的文件在此文件夾 !</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! |
475 | You need to change your player to MSC mode for installation. </source> | 475 | You 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! |
481 | You need to change your player to UMS mode for installation. </source> | 481 | You 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>&Device</source> | 509 | <source>&Device</source> |
510 | <translation>&播放器</translation> | 510 | <translation>&播放器</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 &filesystem</source> | 514 | <source>Select your device in the &filesystem</source> |
515 | <translation>請選擇你的播放器在你的 &文件系統</translation> | 515 | <translation>請選擇你的播放器在你的 &文件系統</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>&Browse</source> | 519 | <source>&Browse</source> |
520 | <translation>&瀏覽</translation> | 520 | <translation>&瀏覽</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>&Select your audio player</source> | 524 | <source>&Select your audio player</source> |
525 | <translation>&選擇你的音樂播放器</translation> | 525 | <translation>&選擇你的音樂播放器</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>&Autodetect</source> | 534 | <source>&Autodetect</source> |
535 | <translation>自動識別(&A)</translation> | 535 | <translation>自動識別(&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>&Proxy</source> | 539 | <source>&Proxy</source> |
540 | <translation>网絡代理服務(&P)</translation> | 540 | <translation>网絡代理服務(&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>&No Proxy</source> | 544 | <source>&No Proxy</source> |
545 | <translation>沒有网絡代理服務(&N)</translation> | 545 | <translation>沒有网絡代理服務(&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&ystem values</source> | 549 | <source>Use S&ystem values</source> |
550 | <translation>使用系統值(&S)</translation> | 550 | <translation>使用系統值(&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>&Manual Proxy settings</source> | 554 | <source>&Manual Proxy settings</source> |
555 | <translation>手動設置代理服務(&M)</translation> | 555 | <translation>手動設置代理服務(&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>&Host:</source> | 564 | <source>&Host:</source> |
565 | <translation>&主机:</translation> | 565 | <translation>&主机:</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>&Port:</source> | 569 | <source>&Port:</source> |
570 | <translation>&接口:</translation> | 570 | <translation>&接口:</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>&Username</source> | 574 | <source>&Username</source> |
575 | <translation>&用戶名</translation> | 575 | <translation>&用戶名</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&word</source> | 579 | <source>Pass&word</source> |
580 | <translation>&密碼</translation> | 580 | <translation>&密碼</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>&Language</source> | 584 | <source>&Language</source> |
585 | <translation>&語言</translation> | 585 | <translation>&語言</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&he</source> | 589 | <source>Cac&he</source> |
590 | <translation>&緩沖</translation> | 590 | <translation>&緩沖</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&ath</source> | 609 | <source>P&ath</source> |
610 | <translation>&路徑</translation> | 610 | <translation>&路徑</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 &download cache</source> | 619 | <source>Disable local &download cache</source> |
620 | <translation>&不使用本机緩沖</translation> | 620 | <translation>&不使用本机緩沖</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&ffline mode</source> | 629 | <source>O&ffline mode</source> |
630 | <translation>&下線安裝</translation> | 630 | <translation>&下線安裝</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 &now</source> | 634 | <source>Clean cache &now</source> |
635 | <translation>&現在清除緩沖文件夾</translation> | 635 | <translation>&現在清除緩沖文件夾</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>&TTS && Encoder</source> | 639 | <source>&TTS && Encoder</source> |
640 | <translation>&TTS && 信號轉換器</translation> | 640 | <translation>&TTS && 信號轉換器</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>&Select TTS profile</source> | 649 | <source>&Select TTS profile</source> |
650 | <translation type="obsolete">& 選擇 TTS 個人設置</translation> | 650 | <translation type="obsolete">& 選擇 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 &encoder profile</source> | 669 | <source>Select &encoder profile</source> |
670 | <translation type="obsolete">&選擇引擎設置</translation> | 670 | <translation type="obsolete">&選擇引擎設置</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&rowse</source> | 679 | <source>B&rowse</source> |
680 | <translation type="obsolete">&瀏覽</translation> | 680 | <translation type="obsolete">&瀏覽</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>&Ok</source> | 689 | <source>&Ok</source> |
690 | <translation>&OK</translation> | 690 | <translation>&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>&Cancel</source> | 694 | <source>&Cancel</source> |
695 | <translation>&取消</translation> | 695 | <translation>&取消</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>&Select TTS Engine</source> | 699 | <source>&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 &TTS</source> | 714 | <source>Configure &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 &encoder</source> | 719 | <source>Select &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 &Enc</source> | 729 | <source> Configure &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>&Install</source> | 775 | <source>&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>&Cancel</source> | 780 | <source>&Cancel</source> |
781 | <translation type="unfinished">&取消</translation> | 781 | <translation type="unfinished">&取消</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 : <b>%1</b></source> | 793 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 798 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 803 | <source>Selected Encoder: <b>%1</b></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>&Browse</source> | 826 | <source>&Browse</source> |
827 | <translation type="unfinished">&瀏覽</translation> | 827 | <translation type="unfinished">&瀏覽</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>&Ok</source> | 841 | <source>&Ok</source> |
842 | <translation type="unfinished">&OK</translation> | 842 | <translation type="unfinished">&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>&Cancel</source> | 846 | <source>&Cancel</source> |
847 | <translation type="unfinished">&取消</translation> | 847 | <translation type="unfinished">&取消</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><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> | 864 | <source><b>Note:</b> This option will always download a fresh copy. <b>This is the recommended version.</b></source> |
865 | <translation><b>注意:</b> 選擇這會每一次自動下載新的版本. <b>(推荐)</b></translation> | 865 | <translation><b>注意:</b> 選擇這會每一次自動下載新的版本. <b>(推荐)</b></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><b>Note:</b> This option will always download a fresh copy.</source> | 869 | <source><b>Note:</b> This option will always download a fresh copy.</source> |
870 | <translation><b>注意:</b> 選擇這會每一次自動下載新的版本. </translation> | 870 | <translation><b>注意:</b> 選擇這會每一次自動下載新的版本. </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><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> | 879 | <source><b>Note:</b>The lastest released version is %1. <b>This is the recommended version.</b></source> |
880 | <translation><b>注意:</b> 最新的版本是 %1. <b>這是建議使用的版本.</b></translation> | 880 | <translation><b>注意:</b> 最新的版本是 %1. <b>這是建議使用的版本.</b></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><b>Note:</b> archived version is r%1 (%2).</source> | 889 | <source><b>Note:</b> archived version is r%1 (%2).</source> |
890 | <translation><b>注意:</b> 存檔的版本是 r%1 (%2).</translation> | 890 | <translation><b>注意:</b> 存檔的版本是 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 &stable</source> | 917 | <source>Rockbox &stable</source> |
918 | <translation>&穩定的 Rockbox</translation> | 918 | <translation>&穩定的 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>&Archived Build</source> | 922 | <source>&Archived Build</source> |
923 | <translation>&存檔的版本</translation> | 923 | <translation>&存檔的版本</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>&Current Build</source> | 927 | <source>&Current Build</source> |
928 | <translation>&最新的版本</translation> | 928 | <translation>&最新的版本</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>&Don't use locally cached copy</source> | 952 | <source>&Don't use locally cached copy</source> |
953 | <translation>&不使用硬盤上緩沖的文件</translation> | 953 | <translation>&不使用硬盤上緩沖的文件</translation> |
954 | </message> | 954 | </message> |
955 | <message> | 955 | <message> |
956 | <location filename="" line="0"/> | 956 | <location filename="" line="0"/> |
957 | <source>&Ok</source> | 957 | <source>&Ok</source> |
958 | <translation type="obsolete">&OK</translation> | 958 | <translation type="obsolete">&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>&Cancel</source> | 962 | <source>&Cancel</source> |
963 | <translation>&取消</translation> | 963 | <translation>&取消</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>&Install</source> | 967 | <source>&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>&Abort</source> | 980 | <source>&Abort</source> |
981 | <translation>&取消</translation> | 981 | <translation>&取消</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>&Browse</source> | 998 | <source>&Browse</source> |
999 | <translation>&瀏覽</translation> | 999 | <translation>&瀏覽</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>&Ok</source> | 1048 | <source>&Ok</source> |
1049 | <translation type="obsolete">&OK</translation> | 1049 | <translation type="obsolete">&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>&Cancel</source> | 1053 | <source>&Cancel</source> |
1054 | <translation>&取消</translation> | 1054 | <translation>&取消</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>&Install</source> | 1073 | <source>&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: <b>%1</b></source> | 1096 | <source>TTS Profile: <b>%1</b></source> |
1097 | <translation type="obsolete">TTS 設置: <b>%1</b></translation> | 1097 | <translation type="obsolete">TTS 設置: <b>%1</b></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: <b>%1</b></source> | 1106 | <source>Encoder Profile: <b>%1</b></source> |
1107 | <translation type="obsolete">轉換器設置: <b>%1</b></translation> | 1107 | <translation type="obsolete">轉換器設置: <b>%1</b></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 : <b>%1</b></source> | 1116 | <source>Selected TTS engine : <b>%1</b></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: <b>%1</b></source> | 1121 | <source>Selected TTS Engine: <b>%1</b></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: <b>%1</b></source> | 1126 | <source>Selected Encoder: <b>%1</b></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>&Ok</source> | 1142 | <source>&Ok</source> |
1143 | <translation>&OK</translation> | 1143 | <translation>&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>&Abort</source> | 1147 | <source>&Abort</source> |
1148 | <translation>&取消</translation> | 1148 | <translation>&取消</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>&Ok</source> | 1185 | <source>&Ok</source> |
1186 | <translation type="unfinished">&OK</translation> | 1186 | <translation type="unfinished">&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>&Cancel</source> | 1190 | <source>&Cancel</source> |
1191 | <translation type="unfinished">&取消</translation> | 1191 | <translation type="unfinished">&取消</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><b>%1 %2</b> at <b>%3</b></source> | 1218 | <source><b>%1 %2</b> at <b>%3</b></source> |
1219 | <translation><b>%1 %2</b> 在 <b>%3</b></translation> | 1219 | <translation><b>%1 %2</b> 在 <b>%3</b></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><a href='%1'>PDF Manual</a></source> | 1223 | <source><a href='%1'>PDF Manual</a></source> |
1224 | <translation><a href='%1'>PDF 用戶手冊(英文)</a></translation> | 1224 | <translation><a href='%1'>PDF 用戶手冊(英文)</a></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><a href='%1'>HTML Manual (opens in browser)</a></source> | 1228 | <source><a href='%1'>HTML Manual (opens in browser)</a></source> |
1229 | <translation><a href='%1'>HTML 用戶手冊(英文,在瀏覽器打開)</a></translation> | 1229 | <translation><a href='%1'>HTML 用戶手冊(英文,在瀏覽器打開)</a></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><a href='%1'>Manual Overview</a></source> | 1238 | <source><a href='%1'>Manual Overview</a></source> |
1239 | <translation><a href='%1'>用戶手冊總觀</a></translation> | 1239 | <translation><a href='%1'>用戶手冊總觀</a></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. |
1279 | Do really want to install it?</source> | 1279 | Do 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. |
1386 | Do want to replace the current bootloader?</source> | 1386 | Do 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't have a doom plugin. Aborting.</source> | 1401 | <source>Your device doesn'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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1429 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1430 | p, li { white-space: pre-wrap; } | 1430 | p, li { white-space: pre-wrap; } |
1431 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1431 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1432 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> | 1432 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">unknown</span></p></body></html></source> |
1433 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1433 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1434 | p, li { white-space: pre-wrap; } | 1434 | p, li { white-space: pre-wrap; } |
1435 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1435 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1436 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">不明</span></p></body></html></translation> | 1436 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">none</span> at <span style=" font-weight:600;">不明</span></p></body></html></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>&Change</source> | 1440 | <source>&Change</source> |
1441 | <translation>&更改</translation> | 1441 | <translation>&更改</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>&Quick Start</source> | 1445 | <source>&Quick Start</source> |
1446 | <translation>&快速開始</translation> | 1446 | <translation>&快速開始</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1460 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1461 | p, li { white-space: pre-wrap; } | 1461 | p, li { white-space: pre-wrap; } |
1462 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1462 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1463 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> | 1463 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Complete Installation</span></p> |
1464 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> | 1464 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs the bootloader, a current build and the extras package. This is the recommended method for new installations.</p></body></html></source> |
1465 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1465 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1466 | p, li { white-space: pre-wrap; } | 1466 | p, li { white-space: pre-wrap; } |
1467 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1467 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1468 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">完整安裝</span></p> | 1468 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">完整安裝</span></p> |
1469 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">這將安裝啟動程序, 最新版本和附加功能. 如果這是你第一次安裝, 這是建議的安裝.</p></body></html></translation> | 1469 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">這將安裝啟動程序, 最新版本和附加功能. 如果這是你第一次安裝, 這是建議的安裝.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1473 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1474 | p, li { white-space: pre-wrap; } | 1474 | p, li { white-space: pre-wrap; } |
1475 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1475 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1476 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> | 1476 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Small installation</span></p> |
1477 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> | 1477 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This installs bootloader and the current build of Rockbox. If you don't want the extras package, choose this option.</p></body></html></source> |
1478 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1478 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1479 | p, li { white-space: pre-wrap; } | 1479 | p, li { white-space: pre-wrap; } |
1480 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1480 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1481 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">最小安裝</span></p> | 1481 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">最小安裝</span></p> |
1482 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">這將安裝啟動程序和最新版本.</p></body></html></translation> | 1482 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">這將安裝啟動程序和最新版本.</p></body></html></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>&Installation</source> | 1486 | <source>&Installation</source> |
1487 | <translation>&安裝</translation> | 1487 | <translation>&安裝</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1501 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1502 | p, li { white-space: pre-wrap; } | 1502 | p, li { white-space: pre-wrap; } |
1503 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1503 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1504 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> | 1504 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install the bootloader</span></p> |
1505 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> | 1505 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">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.</p></body></html></source> |
1506 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1506 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1507 | p, li { white-space: pre-wrap; } | 1507 | p, li { white-space: pre-wrap; } |
1508 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1508 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1509 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝啟動程序</span></p> | 1509 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝啟動程序</span></p> |
1510 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ROCKBOX 可能需要安裝啟動程序后才可以運行.你只需要安裝啟動程序如果這是你的第一次安裝.</p></body></html></translation> | 1510 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ROCKBOX 可能需要安裝啟動程序后才可以運行.你只需要安裝啟動程序如果這是你的第一次安裝.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1519 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1520 | p, li { white-space: pre-wrap; } | 1520 | p, li { white-space: pre-wrap; } |
1521 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1521 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1522 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> | 1522 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Rockbox</span> on your audio player</p></body></html></source> |
1523 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1523 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1524 | p, li { white-space: pre-wrap; } | 1524 | p, li { white-space: pre-wrap; } |
1525 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> | 1525 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> |
1526 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝 Rockbox</span> 在你的音樂播放器里</p></body></html></translation> | 1526 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝 Rockbox</span> 在你的音樂播放器里</p></body></html></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>&Extras</source> | 1530 | <source>&Extras</source> |
1531 | <translation>&附加功能</translation> | 1531 | <translation>&附加功能</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1545 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1546 | p, li { white-space: pre-wrap; } | 1546 | p, li { white-space: pre-wrap; } |
1547 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1547 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1548 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> | 1548 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Fonts Package</span></p> |
1549 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> | 1549 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The Fonts Package contains a couple of commonly used fonts. Installation is highly recommended.</p></body></html></source> |
1550 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1550 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1551 | p, li { white-space: pre-wrap; } | 1551 | p, li { white-space: pre-wrap; } |
1552 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1552 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1553 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">字體包裹</span></p> | 1553 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">字體包裹</span></p> |
1554 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">字體包裹里包含一些常用的字體. 強烈建議安裝此包裹.</p></body></html></translation> | 1554 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">字體包裹里包含一些常用的字體. 強烈建議安裝此包裹.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1563 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1564 | p, li { white-space: pre-wrap; } | 1564 | p, li { white-space: pre-wrap; } |
1565 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1565 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1566 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> | 1566 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Themes</span></p> |
1567 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> | 1567 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox' look can be customized by themes. You can choose and install several officially distributed themes.</p></body></html></source> |
1568 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1568 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1569 | p, li { white-space: pre-wrap; } | 1569 | p, li { white-space: pre-wrap; } |
1570 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1570 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1571 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝主題</span></p> | 1571 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝主題</span></p> |
1572 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox 的外觀可以被個人化. 你可以選擇并安裝几個官方認證的主題. </p></body></html></translation> | 1572 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rockbox 的外觀可以被個人化. 你可以選擇并安裝几個官方認證的主題. </p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1581 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1582 | p, li { white-space: pre-wrap; } | 1582 | p, li { white-space: pre-wrap; } |
1583 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1583 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1584 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> | 1584 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Install Game Files</span></p> |
1585 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> | 1585 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom needs a base wad file to run.</span></p></body></html></source> |
1586 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1586 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1587 | p, li { white-space: pre-wrap; } | 1587 | p, li { white-space: pre-wrap; } |
1588 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1588 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1589 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝游戲文件</span></p> | 1589 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝游戲文件</span></p> |
1590 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom游戲需要wad文件才可以運行.</span></p></body></html></translation> | 1590 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Doom游戲需要wad文件才可以運行.</span></p></body></html></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>&Accessibility</source> | 1594 | <source>&Accessibility</source> |
1595 | <translation>&輔助</translation> | 1595 | <translation>&輔助</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1609 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1610 | p, li { white-space: pre-wrap; } | 1610 | p, li { white-space: pre-wrap; } |
1611 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1611 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1612 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> | 1612 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"><span style=" font-weight:600;">Install Voice file</span></p> |
1613 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> | 1613 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">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.</p></body></html></source> |
1614 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1614 | <translation type="unfinished"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1615 | p, li { white-space: pre-wrap; } | 1615 | p, li { white-space: pre-wrap; } |
1616 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1616 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1617 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝語音文件</span></p> | 1617 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">安裝語音文件</span></p> |
1618 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果你需要Rockbox用語音說出用戶界面, 你需要安裝語音文件. 語音界面將會被自動開啟,所以你安裝語音文件后Rockbox就會對你說話.</p></body></html></translation> | 1618 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果你需要Rockbox用語音說出用戶界面, 你需要安裝語音文件. 語音界面將會被自動開啟,所以你安裝語音文件后Rockbox就會對你說話.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1627 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1628 | p, li { white-space: pre-wrap; } | 1628 | p, li { white-space: pre-wrap; } |
1629 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1629 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1630 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> | 1630 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Create Talk Files</span></p> |
1631 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> | 1631 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Talkfiles are needed to let Rockbox speak File and Foldernames</span></p></body></html></source> |
1632 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1632 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1633 | p, li { white-space: pre-wrap; } | 1633 | p, li { white-space: pre-wrap; } |
1634 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1634 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1635 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">建立說話文件</span></p> | 1635 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">建立說話文件</span></p> |
1636 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">如果你需要Rockbox說出你文件和文件夾的名稱, 你要安裝說話文件. </span></p></body></html></translation> | 1636 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">如果你需要Rockbox說出你文件和文件夾的名稱, 你要安裝說話文件. </span></p></body></html></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>&Uninstallation</source> | 1640 | <source>&Uninstallation</source> |
1641 | <translation>&卸載</translation> | 1641 | <translation>&卸載</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1655 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1656 | p, li { white-space: pre-wrap; } | 1656 | p, li { white-space: pre-wrap; } |
1657 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1657 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1658 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> | 1658 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remove the bootloader</span></p> |
1659 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> | 1659 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">After removing the bootloader you won't be able to start Rockbox.</p></body></html></source> |
1660 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1660 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1661 | p, li { white-space: pre-wrap; } | 1661 | p, li { white-space: pre-wrap; } |
1662 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1662 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1663 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">卸載啟動程序</span></p> | 1663 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">卸載啟動程序</span></p> |
1664 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">卸載啟動程序后你就不能啟動 Rockbox 了.</p></body></html></translation> | 1664 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">卸載啟動程序后你就不能啟動 Rockbox 了.</p></body></html></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1668 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1669 | p, li { white-space: pre-wrap; } | 1669 | p, li { white-space: pre-wrap; } |
1670 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1670 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1671 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> | 1671 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Uninstall Rockbox</span> from your audio player.</p> |
1672 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> | 1672 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This will leave the bootloader in place (you need to remove it manually).</p></body></html></source> |
1673 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1673 | <translation><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1674 | p, li { white-space: pre-wrap; } | 1674 | p, li { white-space: pre-wrap; } |
1675 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1675 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1676 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">把 Rockbox</span> 在你音樂播放器里刪除.</p> | 1676 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">把 Rockbox</span> 在你音樂播放器里刪除.</p> |
1677 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">這不會卸載啟動程序(你需要手動卸載啟動程序).</p></body></html></translation> | 1677 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">這不會卸載啟動程序(你需要手動卸載啟動程序).</p></body></html></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>&Manual</source> | 1681 | <source>&Manual</source> |
1682 | <translation>&用戶手冊</translation> | 1682 | <translation>&用戶手冊</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>&PDF version</source> | 1711 | <source>&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>&HTML version (zip file)</source> | 1716 | <source>&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&load</source> | 1721 | <source>Down&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&o</source> | 1726 | <source>Inf&o</source> |
1727 | <translation>&信息</translation> | 1727 | <translation>&信息</translation> |
1728 | </message> | 1728 | </message> |
1729 | <message> | 1729 | <message> |
1730 | <location filename="" line="0"/> | 1730 | <location filename="" line="0"/> |
1731 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1731 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1732 | p, li { white-space: pre-wrap; } | 1732 | p, li { white-space: pre-wrap; } |
1733 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1733 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1734 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">???????.</p> | 1734 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">???????.</p> |
1735 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> | 1735 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> |
1736 | <translation type="obsolete"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1736 | <translation type="obsolete"><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1737 | p, li { white-space: pre-wrap; } | 1737 | p, li { white-space: pre-wrap; } |
1738 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1738 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1739 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Composants actuellement installes.</p> | 1739 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Composants actuellement installes.</p> |
1740 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">注意</span>: 如果你手動安裝Rockbox, 這可能顯示不正确的信息!</p></body></html></translation> | 1740 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">注意</span>: 如果你手動安裝Rockbox, 這可能顯示不正确的信息!</p></body></html></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>&File</source> | 1749 | <source>&File</source> |
1750 | <translation>&文件</translation> | 1750 | <translation>&文件</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>&About</source> | 1754 | <source>&About</source> |
1755 | <translation>&關于</translation> | 1755 | <translation>&關于</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>&Configure</source> | 1769 | <source>&Configure</source> |
1770 | <translation>&設置</translation> | 1770 | <translation>&設置</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&xit</source> | 1774 | <source>E&xit</source> |
1775 | <translation>&退出</translation> | 1775 | <translation>&退出</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 &Qt</source> | 1784 | <source>About &Qt</source> |
1785 | <translation>關于&Qt</translation> | 1785 | <translation>關于&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>&Help</source> | 1789 | <source>&Help</source> |
1790 | <translation>&幫助</translation> | 1790 | <translation>&幫助</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1804 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1805 | p, li { white-space: pre-wrap; } | 1805 | p, li { white-space: pre-wrap; } |
1806 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> | 1806 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> |
1807 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> | 1807 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Currently installed packages.</p> |
1808 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></source> | 1808 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Note</span>: if you manually installed packages this might not be correct!</p></body></html></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&s</source> | 1813 | <source>Action&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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> | 1903 | <source><html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
1904 | p, li { white-space: pre-wrap; } | 1904 | p, li { white-space: pre-wrap; } |
1905 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | 1905 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> |
1906 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> | 1906 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-size:9pt; font-weight:600;">Create Voice file</span></p> |
1907 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> | 1907 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;">Voice files are needed to make Rockbox speak the user interface. Speaking is enabled by default, so</p> |
1908 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></source> | 1908 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"> if you installed the voice file Rockbox will speak.</p></body></html></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<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> | 1918 | <source>Create Voic<resource type="image" qrc="C:/cygwin/home/Domonoky/rockbox-svn/rockbox-rbspeex/rbutil/rbutilqt/rbutilqt.qrc" file=":/icons/icons/talkfile_btn.png" /> |
1919 | e File</source> | 1919 | e 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>&Ok</source> | 1952 | <source>&Ok</source> |
1953 | <translation type="unfinished">&OK</translation> | 1953 | <translation type="unfinished">&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>&Cancel</source> | 1957 | <source>&Cancel</source> |
1958 | <translation type="unfinished">&取消</translation> | 1958 | <translation type="unfinished">&取消</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>&Browse</source> | 1998 | <source>&Browse</source> |
1999 | <translation type="unfinished">&瀏覽</translation> | 1999 | <translation type="unfinished">&瀏覽</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>&Ok</source> | 2013 | <source>&Ok</source> |
2014 | <translation type="unfinished">&OK</translation> | 2014 | <translation type="unfinished">&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>&Cancel</source> | 2018 | <source>&Cancel</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>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>&Ok</source> | 2107 | <source>&Ok</source> |
2108 | <translation type="obsolete">&OK</translation> | 2108 | <translation type="obsolete">&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>&Cancel</source> | 2112 | <source>&Cancel</source> |
2113 | <translation>&取消</translation> | 2113 | <translation>&取消</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>&Install</source> | 2117 | <source>&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 &All</source> | 2122 | <source>Install &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. |
2136 | Please check your network and proxy settings.</source> | 2136 | Please 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'erreur suivante s'est produite : | 2144 | <translation type="obsolete">L'erreur suivante s'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><b>Author:</b> %1<hr/></source> | 2169 | <source><b>Author:</b> %1<hr/></source> |
2170 | <translation><b>作者:</b> %1<hr/></translation> | 2170 | <translation><b>作者:</b> %1<hr/></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><b>Version:</b> %1<hr/></source> | 2179 | <source><b>Version:</b> %1<hr/></source> |
2180 | <translation><b>版本:</b> %1<hr/></translation> | 2180 | <translation><b>版本:</b> %1<hr/></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><b>Description:</b> %1<hr/></source> | 2184 | <source><b>Description:</b> %1<hr/></source> |
2185 | <translation><b>描述:</b> %1<hr/></translation> | 2185 | <translation><b>描述:</b> %1<hr/></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>&Ok</source> | 2346 | <source>&Ok</source> |
2347 | <translation type="obsolete">&OK</translation> | 2347 | <translation type="obsolete">&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>&Cancel</source> | 2351 | <source>&Cancel</source> |
2352 | <translation>&取消</translation> | 2352 | <translation>&取消</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>&Uninstall</source> | 2356 | <source>&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 | ||
2598 | c 2005 - 2007 The Rockbox Team. | 2598 | c 2005 - 2007 The Rockbox Team. |
2599 | Released under the GNU General Public License v2.</source> | 2599 | Released under the GNU General Public License v2.</source> |
2600 | <translation type="obsolete">安裝程序和一般管理程序為 Roxkbox 准備. Roxkbox 是一個開源的音樂播放器固件. | 2600 | <translation type="obsolete">安裝程序和一般管理程序為 Roxkbox 准備. Roxkbox 是一個開源的音樂播放器固件. |
2601 | 2601 | ||
2602 | c 2005 - 2007 Rockbox 團隊. | 2602 | c 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>&Credits</source> | 2612 | <source>&Credits</source> |
2613 | <translation>&特別鳴謝</translation> | 2613 | <translation>&特別鳴謝</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>&License</source> | 2617 | <source>&License</source> |
2618 | <translation>&授權</translation> | 2618 | <translation>&授權</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>&Ok</source> | 2622 | <source>&Ok</source> |
2623 | <translation>&OK</translation> | 2623 | <translation>&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. |
2630 | Released under the GNU General Public License v2.</source> | 2630 | Released 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 @@ | |||
1 | 1 24 MOVEABLE PURE "rbutilqt.manifest" | 1 | 1 24 MOVEABLE PURE "rbutilqt.manifest" |
2 | RBUTIL_ICON ICON DISCARDABLE "icons/rockbox.ico" | 2 | RBUTIL_ICON ICON DISCARDABLE "icons/rockbox.ico" |
diff --git a/rbutil/rbutilqt/rbzip.cpp b/rbutil/rbutilqt/rbzip.cpp index 9a1064d823..23abef89b9 100644 --- a/rbutil/rbutilqt/rbzip.cpp +++ b/rbutil/rbutilqt/rbzip.cpp | |||
@@ -1,67 +1,67 @@ | |||
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 | ||
24 | Zip::ErrorCode RbZip::createZip(QString zip,QString dir,ProgressloggerInterface *dp) | 24 | Zip::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 | ||
60 | void RbZip::progress() | 60 | void 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 | ||
28 | class RbZip : public QObject, public Zip | 28 | class 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 | */ |
165 | UnZip::UnZip() | 165 | UnZip::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 | */ |
173 | UnZip::~UnZip() | 173 | UnZip::~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 | */ |
182 | bool UnZip::isOpen() const | 182 | bool 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 | */ |
190 | UnZip::ErrorCode UnZip::openArchive(const QString& filename) | 190 | UnZip::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 | */ |
212 | UnZip::ErrorCode UnZip::openArchive(QIODevice* device) | 212 | UnZip::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 | */ |
226 | void UnZip::closeArchive() | 226 | void UnZip::closeArchive() |
227 | { | 227 | { |
228 | d->closeArchive(); | 228 | d->closeArchive(); |
229 | } | 229 | } |
230 | 230 | ||
231 | QString UnZip::archiveComment() const | 231 | QString 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 | */ |
241 | QString UnZip::formatError(UnZip::ErrorCode c) const | 241 | QString 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 | */ |
270 | bool UnZip::contains(const QString& file) const | 270 | bool 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 | */ |
281 | QStringList UnZip::fileList() const | 281 | QStringList 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 | */ |
289 | QList<UnZip::ZipEntry> UnZip::entryList() const | 289 | QList<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 | */ |
325 | UnZip::ErrorCode UnZip::extractAll(const QString& dirname, ExtractionOptions options) | 325 | UnZip::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 | */ |
333 | UnZip::ErrorCode UnZip::extractAll(const QDir& dir, ExtractionOptions options) | 333 | UnZip::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 | */ |
380 | UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QString& dirname, ExtractionOptions options) | 380 | UnZip::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 | */ |
388 | UnZip::ErrorCode UnZip::extractFile(const QString& filename, const QDir& dir, ExtractionOptions options) | 388 | UnZip::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 | */ |
404 | UnZip::ErrorCode UnZip::extractFile(const QString& filename, QIODevice* dev, ExtractionOptions options) | 404 | UnZip::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 | */ |
423 | UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QString& dirname, ExtractionOptions options) | 423 | UnZip::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 | */ |
444 | UnZip::ErrorCode UnZip::extractFiles(const QStringList& filenames, const QDir& dir, ExtractionOptions options) | 444 | UnZip::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 | */ |
463 | void UnZip::setPassword(const QString& pwd) | 463 | void 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 | */ |
471 | UnZip::ZipEntry::ZipEntry() | 471 | UnZip::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 |
485 | UnzipPrivate::UnzipPrivate() | 485 | UnzipPrivate::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. |
500 | UnZip::ErrorCode UnzipPrivate::openArchive(QIODevice* dev) | 500 | UnZip::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 | */ |
574 | UnZip::ErrorCode UnzipPrivate::parseLocalHeaderRecord(const QString& path, ZipEntryP& entry) | 574 | UnZip::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 | */ |
712 | UnZip::ErrorCode UnzipPrivate::seekToCentralDirectory() | 712 | UnZip::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 | */ |
836 | UnZip::ErrorCode UnzipPrivate::parseCentralDirectoryRecord() | 836 | UnZip::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. |
945 | void UnzipPrivate::closeArchive() | 945 | void 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 |
969 | UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, const QDir& dir, UnZip::ExtractionOptions options) | 969 | UnZip::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 |
1040 | UnZip::ErrorCode UnzipPrivate::extractFile(const QString& path, ZipEntryP& entry, QIODevice* dev, UnZip::ExtractionOptions options) | 1040 | UnZip::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. |
1192 | bool UnzipPrivate::createDirectory(const QString& path) | 1192 | bool 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 | */ |
1216 | quint32 UnzipPrivate::getULong(const unsigned char* data, quint32 offset) const | 1216 | quint32 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 | */ |
1229 | quint64 UnzipPrivate::getULLong(const unsigned char* data, quint32 offset) const | 1229 | quint64 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 | */ |
1246 | quint16 UnzipPrivate::getUShort(const unsigned char* data, quint32 offset) const | 1246 | quint16 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 | */ |
1254 | int UnzipPrivate::decryptByte(quint32 key2) const | 1254 | int 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 | */ |
1263 | void UnzipPrivate::updateKeys(quint32* keys, int c) const | 1263 | void 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 | */ |
1275 | void UnzipPrivate::initKeys(const QString& pwd, quint32* keys) const | 1275 | void 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 | */ |
1294 | UnZip::ErrorCode UnzipPrivate::testPassword(quint32* keys, const QString& file, const ZipEntryP& header) | 1294 | UnZip::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 | */ |
1313 | bool UnzipPrivate::testKeys(const ZipEntryP& header, quint32* keys) | 1313 | bool 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 | */ |
1332 | void UnzipPrivate::decryptBytes(quint32* keys, char* buffer, qint64 read) | 1332 | void 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 | */ |
1341 | QDateTime UnzipPrivate::convertDateTime(const unsigned char date[2], const unsigned char time[2]) const | 1341 | QDateTime 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 | ||
37 | class UnzipPrivate; | 37 | class UnzipPrivate; |
38 | class QIODevice; | 38 | class QIODevice; |
39 | class QFile; | 39 | class QFile; |
40 | class QDir; | 40 | class QDir; |
41 | class QStringList; | 41 | class QStringList; |
42 | class QString; | 42 | class QString; |
43 | 43 | ||
44 | 44 | ||
45 | class UnZip | 45 | class UnZip |
46 | { | 46 | { |
47 | public: | 47 | public: |
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 | ||
138 | private: | 138 | private: |
139 | UnzipPrivate* d; | 139 | UnzipPrivate* d; |
140 | }; | 140 | }; |
141 | 141 | ||
142 | Q_DECLARE_OPERATORS_FOR_FLAGS(UnZip::ExtractionOptions) | 142 | Q_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 | ||
51 | class UnzipPrivate | 51 | class UnzipPrivate |
52 | { | 52 | { |
53 | public: | 53 | public: |
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 | */ |
218 | Zip::Zip() | 218 | Zip::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 | */ |
226 | Zip::~Zip() | 226 | Zip::~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 | */ |
235 | bool Zip::isOpen() const | 235 | bool 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 | */ |
246 | void Zip::setPassword(const QString& pwd) | 246 | void 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. |
252 | void Zip::clearPassword() | 252 | void 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. |
258 | QString Zip::password() const | 258 | QString 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 | */ |
268 | Zip::ErrorCode Zip::createArchive(const QString& filename, bool overwrite) | 268 | Zip::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 | */ |
294 | Zip::ErrorCode Zip::createArchive(QIODevice* device) | 294 | Zip::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 | */ |
308 | QString Zip::archiveComment() const | 308 | QString 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 | */ |
317 | void Zip::setArchiveComment(const QString& comment) | 317 | void 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 | */ |
333 | Zip::ErrorCode Zip::addDirectory(const QString& path, CompressionOptions options, CompressionLevel level) | 333 | Zip::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 | */ |
342 | Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionLevel level) | 342 | Zip::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 | */ |
351 | Zip::ErrorCode Zip::addDirectoryContents(const QString& path, CompressionLevel level) | 351 | Zip::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 | */ |
360 | Zip::ErrorCode Zip::addDirectoryContents(const QString& path, const QString& root, CompressionLevel level) | 360 | Zip::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 | */ |
376 | Zip::ErrorCode Zip::addDirectory(const QString& path, const QString& root, CompressionOptions options, CompressionLevel level) | 376 | Zip::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 | */ |
467 | Zip::ErrorCode Zip::closeArchive() | 467 | Zip::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 | */ |
477 | QString Zip::formatError(Zip::ErrorCode c) const | 477 | QString 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 |
502 | ZipPrivate::ZipPrivate() | 502 | ZipPrivate::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 |
513 | ZipPrivate::~ZipPrivate() | 513 | ZipPrivate::~ZipPrivate() |
514 | { | 514 | { |
515 | closeArchive(); | 515 | closeArchive(); |
516 | } | 516 | } |
517 | 517 | ||
518 | //! \internal | 518 | //! \internal |
519 | Zip::ErrorCode ZipPrivate::createArchive(QIODevice* dev) | 519 | Zip::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. |
543 | Zip::ErrorCode ZipPrivate::createEntry(const QFileInfo& file, const QString& root, Zip::CompressionLevel level) | 543 | Zip::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 |
924 | int ZipPrivate::decryptByte(quint32 key2) const | 924 | int 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. |
931 | void ZipPrivate::setULong(quint32 v, char* buffer, unsigned int offset) | 931 | void 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. |
940 | void ZipPrivate::initKeys(quint32* keys) const | 940 | void 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. |
957 | void ZipPrivate::updateKeys(quint32* keys, int c) const | 957 | void 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. |
966 | void ZipPrivate::encryptBytes(quint32* keys, char* buffer, qint64 read) | 966 | void 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. |
979 | Zip::CompressionLevel ZipPrivate::detectCompressionByMime(const QString& ext) | 979 | Zip::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 | */ |
1014 | Zip::ErrorCode ZipPrivate::closeArchive() | 1014 | Zip::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 |
1196 | void ZipPrivate::reset() | 1196 | void 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 |
1211 | QString ZipPrivate::extractRoot(const QString& p) | 1211 | QString 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 | ||
36 | class ZipPrivate; | 36 | class ZipPrivate; |
37 | 37 | ||
38 | class QIODevice; | 38 | class QIODevice; |
39 | class QFile; | 39 | class QFile; |
40 | class QDir; | 40 | class QDir; |
41 | class QStringList; | 41 | class QStringList; |
42 | class QString; | 42 | class QString; |
43 | 43 | ||
44 | 44 | ||
45 | class Zip | 45 | class Zip |
46 | { | 46 | { |
47 | public: | 47 | public: |
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 | ||
109 | private: | 109 | private: |
110 | ZipPrivate* d; | 110 | ZipPrivate* d; |
111 | }; | 111 | }; |
112 | 112 | ||
113 | Q_DECLARE_OPERATORS_FOR_FLAGS(Zip::CompressionOptions) | 113 | Q_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 | ||
54 | class ZipPrivate | 54 | class ZipPrivate |
55 | { | 55 | { |
56 | public: | 56 | public: |
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 | ||
45 | class ZipEntryP | 45 | class ZipEntryP |
46 | { | 46 | { |
47 | public: | 47 | public: |
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__) |
255 | typedef unsigned char Byte; /* 8 bits */ | 255 | typedef unsigned char Byte; /* 8 bits */ |
256 | #endif | 256 | #endif |
257 | typedef unsigned int uInt; /* 16 bits or more */ | 257 | typedef unsigned int uInt; /* 16 bits or more */ |
258 | typedef unsigned long uLong; /* 32 bits or more */ | 258 | typedef 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 |
266 | typedef char FAR charf; | 266 | typedef char FAR charf; |
267 | typedef int FAR intf; | 267 | typedef int FAR intf; |
268 | typedef uInt FAR uIntf; | 268 | typedef uInt FAR uIntf; |
269 | typedef uLong FAR uLongf; | 269 | typedef 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 |
37 | extern "C" { | 37 | extern "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 | ||
77 | typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); | 77 | typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); |
78 | typedef void (*free_func) OF((voidpf opaque, voidpf address)); | 78 | typedef void (*free_func) OF((voidpf opaque, voidpf address)); |
79 | 79 | ||
80 | struct internal_state; | 80 | struct internal_state; |
81 | 81 | ||
82 | typedef struct z_stream_s { | 82 | typedef 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 | ||
103 | typedef z_stream FAR *z_streamp; | 103 | typedef 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 | ||
187 | ZEXTERN const char * ZEXPORT zlibVersion OF((void)); | 187 | ZEXTERN 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 | /* |
195 | ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); | 195 | ZEXTERN 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 | ||
217 | ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); | 217 | ZEXTERN 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 | ||
299 | ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); | 299 | ZEXTERN 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 | /* |
314 | ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); | 314 | ZEXTERN 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 | ||
334 | ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); | 334 | ZEXTERN 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 | ||
433 | ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); | 433 | ZEXTERN 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 | /* |
451 | ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, | 451 | ZEXTERN 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 | ||
507 | ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, | 507 | ZEXTERN 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 | ||
544 | ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, | 544 | ZEXTERN 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 | ||
562 | ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); | 562 | ZEXTERN 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 | ||
573 | ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, | 573 | ZEXTERN 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 | ||
594 | ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, | 594 | ZEXTERN 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 | ||
603 | ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, | 603 | ZEXTERN 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 | /* |
620 | ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, | 620 | ZEXTERN 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 | ||
662 | ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, | 662 | ZEXTERN 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 | ||
681 | ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); | 681 | ZEXTERN 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 | ||
696 | ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, | 696 | ZEXTERN 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 | ||
712 | ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); | 712 | ZEXTERN 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 | /* |
723 | ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits, | 723 | ZEXTERN 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 | ||
744 | typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); | 744 | typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); |
745 | typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); | 745 | typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); |
746 | 746 | ||
747 | ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm, | 747 | ZEXTERN 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 | ||
816 | ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm)); | 816 | ZEXTERN 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 | ||
824 | ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); | 824 | ZEXTERN 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 | ||
876 | ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, | 876 | ZEXTERN 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 | ||
891 | ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, | 891 | ZEXTERN 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 | ||
907 | ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); | 907 | ZEXTERN 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 | ||
914 | ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, | 914 | ZEXTERN 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 | ||
933 | typedef voidp gzFile; | 933 | typedef voidp gzFile; |
934 | 934 | ||
935 | ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); | 935 | ZEXTERN 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 | ||
952 | ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); | 952 | ZEXTERN 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 | ||
965 | ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); | 965 | ZEXTERN 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 | ||
973 | ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); | 973 | ZEXTERN 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 | ||
981 | ZEXTERN int ZEXPORT gzwrite OF((gzFile file, | 981 | ZEXTERN 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 | ||
989 | ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...)); | 989 | ZEXTERN 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 | ||
1002 | ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); | 1002 | ZEXTERN 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 | ||
1009 | ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); | 1009 | ZEXTERN 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 | ||
1018 | ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); | 1018 | ZEXTERN 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 | ||
1024 | ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); | 1024 | ZEXTERN 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 | ||
1030 | ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); | 1030 | ZEXTERN 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 | ||
1040 | ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); | 1040 | ZEXTERN 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 | ||
1050 | ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, | 1050 | ZEXTERN 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 | ||
1068 | ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); | 1068 | ZEXTERN 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 | ||
1075 | ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); | 1075 | ZEXTERN 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 | ||
1084 | ZEXTERN int ZEXPORT gzeof OF((gzFile file)); | 1084 | ZEXTERN 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 | ||
1090 | ZEXTERN int ZEXPORT gzclose OF((gzFile file)); | 1090 | ZEXTERN 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 | ||
1097 | ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); | 1097 | ZEXTERN 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 | ||
1106 | ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); | 1106 | ZEXTERN 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 | ||
1121 | ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); | 1121 | ZEXTERN 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 | ||
1138 | ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); | 1138 | ZEXTERN 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 | */ |
1160 | ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, | 1160 | ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, |
1161 | const char *version, int stream_size)); | 1161 | const char *version, int stream_size)); |
1162 | ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, | 1162 | ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, |
1163 | const char *version, int stream_size)); | 1163 | const char *version, int stream_size)); |
1164 | ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, | 1164 | ZEXTERN 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)); |
1168 | ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, | 1168 | ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, |
1169 | const char *version, int stream_size)); | 1169 | const char *version, int stream_size)); |
1170 | ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits, | 1170 | ZEXTERN 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 | ||
1192 | ZEXTERN const char * ZEXPORT zError OF((int)); | 1192 | ZEXTERN const char * ZEXPORT zError OF((int)); |
1193 | ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); | 1193 | ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); |
1194 | ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); | 1194 | ZEXTERN 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 */ |