author | zautrix <zautrix> | 2004-11-07 19:40:36 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-11-07 19:40:36 (UTC) |
commit | 90e33436f6d1c502a5620760ac6592b9881ee4ab (patch) (unidiff) | |
tree | f493a1eeecd3dc8124bb4c0373b7bda9e85e9863 | |
parent | d90d17044d7daf6677074b0964d59f94407157d5 (diff) | |
download | kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.zip kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.tar.gz kdepimpi-90e33436f6d1c502a5620760ac6592b9881ee4ab.tar.bz2 |
compile fixes and translation updates
-rw-r--r-- | bin/kdepim/kaddressbook/frenchtranslation.txt | 741 | ||||
-rw-r--r-- | bin/kdepim/kopiemail/frenchtranslation.txt | 238 | ||||
-rw-r--r-- | bin/kdepim/korganizer/frenchtranslation.txt | 41 | ||||
-rw-r--r-- | kmicromail/composemail.cpp | 4 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/genericwrapper.cpp | 2 | ||||
-rw-r--r-- | kmicromail/mainwindow.cpp | 1 |
6 files changed, 1017 insertions, 10 deletions
diff --git a/bin/kdepim/kaddressbook/frenchtranslation.txt b/bin/kdepim/kaddressbook/frenchtranslation.txt new file mode 100644 index 0000000..279d13b --- a/dev/null +++ b/bin/kdepim/kaddressbook/frenchtranslation.txt | |||
@@ -0,0 +1,741 @@ | |||
1 | { "file","fichier" }, | ||
2 | { "Choose one file","Choisir un fichier" }, | ||
3 | { "dir","Liste" }, | ||
4 | { "Choose a directory with may files","Choisir un dossier avec fichiers" }, | ||
5 | { "ldap","ldap" }, | ||
6 | { "No description available","Description non disponible" }, | ||
7 | { "Library files for "%1" not found in paths","Librairies "%1" non trouvées dans le chemin" }, | ||
8 | { "qtopia","qtopia" }, | ||
9 | { "Qtopia PIM Addressbook.","Qtopia PIM Addressbook." }, | ||
10 | { "vCard","vCard" }, | ||
11 | { "vCard Format","vCard Format" }, | ||
12 | { "microkabcformat_binary","microkabcformat_binary" }, | ||
13 | { "Binary","Exécutable" }, | ||
14 | { "No description available.","Description non disponible." }, | ||
15 | { "Department","Service" }, | ||
16 | { "Profession","Profession" }, | ||
17 | { "Manager's name:","Supérieur:" }, | ||
18 | { "Assistant's name:","Assistant:" }, | ||
19 | { "Nick name:","Surnom:" }, | ||
20 | { "Spouse's name:","Conjoint:" }, | ||
21 | { "Children's names:","Nom des enfants:" }, | ||
22 | { "Office","Bureau" }, | ||
23 | { "IM Address","IM Addresse" }, | ||
24 | { "Anniversary","Fête" }, | ||
25 | { "Gender","Genre" }, | ||
26 | { "Children's names:","Noms des enfants:" }, | ||
27 | { "FreeBusyUrl","FreeBusyUrl" }, | ||
28 | { "ExternalID","ExternalID" }, | ||
29 | { "Resource loaded: '%1'","Ressource chargée: '%1'" }, | ||
30 | { "Select View","Vue sélectionnée" }, | ||
31 | { "Modify View...","Vue modifiée..." }, | ||
32 | { "Add View...","Ajouter vue..." }, | ||
33 | { "Delete View","Détruire vue" }, | ||
34 | { "Refresh View","Rafraichir vue" }, | ||
35 | { "Edit &Filters...","Editer &Filtres..." }, | ||
36 | { "Select Filter","Selectionner Filtre" }, | ||
37 | { "Style:","Style:" }, | ||
38 | { "HTML table style.","Style table HTML." }, | ||
39 | { "Default Table View","Vue table par défaut" }, | ||
40 | { "Show Extension Bar","Montrer Barre d'extension" }, | ||
41 | { "None","Rien" }, | ||
42 | { "Name...","Nom..." }, | ||
43 | { "Role:","Poste:" }, | ||
44 | { "Organization:","Organisation:" }, | ||
45 | { "Formatted name:","Nom mis en forme:" }, | ||
46 | { "Edit Phone Numbers...","Editer Numéros de Tel..." }, | ||
47 | { "Categories","Catégories" }, | ||
48 | { "Public","Publique" }, | ||
49 | { "Private","Privée" }, | ||
50 | { "Confidential","Confidentielle" }, | ||
51 | { "&General","&Général" }, | ||
52 | { "&Edit Addresses...","&Editer Adresses..." }, | ||
53 | { "Edit Address Book Filters","Editer les filtres du carnet d'adresses" }, | ||
54 | { "Edit Email Addresses...","Editer Adresses Email..." }, | ||
55 | { "Email:","Email:" }, | ||
56 | { "URL:","URL:" }, | ||
57 | { "&IM address:","&IM adresse:" }, | ||
58 | { "&Address","&Adresse" }, | ||
59 | { "Department:","Service:" }, | ||
60 | { "Office:","Bureau:" }, | ||
61 | { "Profession","Profession" }, | ||
62 | { "Assistant's Name","Assistant" }, | ||
63 | { "Manager's Name","Supérieur " }, | ||
64 | { "Spouse's Name","Conjoint" }, | ||
65 | { "Office","Bureau" }, | ||
66 | { "IM Address","IM Addresse" }, | ||
67 | { "Anniversary","Fête" }, | ||
68 | { "Gender","Genre" }, | ||
69 | { "Children","Enfant" }, | ||
70 | { "Birthday:","Naissance:" }, | ||
71 | { " Local Time"," Temps local" }, | ||
72 | { "Mon","Lun" }, | ||
73 | { "Tue","Mar" }, | ||
74 | { "Wed","Mer" }, | ||
75 | { "Thu","Jeu" }, | ||
76 | { "Fri","Ven" }, | ||
77 | { "Sat","Sam" }, | ||
78 | { "Sun","Dim" }, | ||
79 | { "January","Janvier" }, | ||
80 | { "February","Février" }, | ||
81 | { "March","Mars" }, | ||
82 | { "April","Avril" }, | ||
83 | { "May","Mai" }, | ||
84 | { "June","Juin" }, | ||
85 | { "July","Juillet" }, | ||
86 | { "August","Août" }, | ||
87 | { "September","Septembre" }, | ||
88 | { "October","Octobre" }, | ||
89 | { "November","Novembre" }, | ||
90 | { "December","Decembre" }, | ||
91 | { "tomorrow","demain" }, | ||
92 | { "today","aujourd'hui" }, | ||
93 | { "yesterday","hier" }, | ||
94 | { "Monday","Lundi" }, | ||
95 | { "Tuesday","Mardi" }, | ||
96 | { "Wednesday","Mercredi" }, | ||
97 | { "Thursday","Jeudi" }, | ||
98 | { "Friday","Vendredi" }, | ||
99 | { "Saturday","Samedi" }, | ||
100 | { "Sunday","Dimanche" }, | ||
101 | { "Anniversary:","Fête:" }, | ||
102 | { "Gender:","Genre:" }, | ||
103 | { "ALIEN (gender undefined)","ALIEN (genre non-défini)" }, | ||
104 | { "female","féminin" }, | ||
105 | { "male","masculin" }, | ||
106 | { "&Details","&Détails" }, | ||
107 | { "Note:","Note:" }, | ||
108 | { "&Notes","&Notes" }, | ||
109 | { "Use geo data","Données géographiques" }, | ||
110 | { "Latitude:","Latitude:" }, | ||
111 | { "Longitude:","Longitude:" }, | ||
112 | { "Edit Geo Data...","Editer Données géo..." }, | ||
113 | { "Keys:","Touches:" }, | ||
114 | { "Add","Ajouter" }, | ||
115 | { "A&dd","&Ajouter" }, | ||
116 | { "&Modify","&Modifier" }, | ||
117 | { "Remove","Enlever" }, | ||
118 | { "E&xport","Export (&X)" }, | ||
119 | { "&Misc","&Divers" }, | ||
120 | { "Photo","Photo" }, | ||
121 | { "Store as URL","Enregistrer comme URL" }, | ||
122 | { "Logo","Logo" }, | ||
123 | { "&Images","&Images" }, | ||
124 | { "Home","Maison" }, | ||
125 | { "Work","Bureau" }, | ||
126 | { "Mobile","Mobile" }, | ||
127 | { "Fax","Fax" }, | ||
128 | { "Contact Editor","Editeur de Contact" }, | ||
129 | { "&Mail...","&Mail..." }, | ||
130 | { "&Print...","Imprimer..." }, | ||
131 | { "&Save","&Sauver" }, | ||
132 | { "&New Contact...","Nouveau Contact.(&N)." }, | ||
133 | { "Mail &vCard...","Mail vCard.(&V)." }, | ||
134 | { "Selected to phone","Sélection vers GSM" }, | ||
135 | { "Beam selected v&Card(s)","vCard(s) séléctionné(s) par IR (&C)" }, | ||
136 | { "&Beam personal vCard","vCard personnel par IR (&B) " }, | ||
137 | { "&Edit Contact...","Edition Contact.(&E)." }, | ||
138 | { "&Exit","Exit (&E)" }, | ||
139 | { "&Copy","Copier (&C)" }, | ||
140 | { "Cu&t","Couper (&T)" }, | ||
141 | { "&Paste","Coller (&P)" }, | ||
142 | { "Select &All","Tout sélectionner (&A)" }, | ||
143 | { "&Undo","Défaire (&U)" }, | ||
144 | { "Undo Entry Edit","Défaire" }, | ||
145 | { "Re&do","Refaire (&D)" }, | ||
146 | { "Redo","Refaire" }, | ||
147 | { "&Delete Contact","Detruire Contact (&D)" }, | ||
148 | { "Configure &Resources...","Configurer Ressources.(&R)." }, | ||
149 | { "&Configure %1...","&Configurer %1..." }, | ||
150 | { "Configure S&hortcuts...","Configurer raccourci&s..." }, | ||
151 | { "Show Jump Bar","Voir barre" }, | ||
152 | { "Show Details","Voir détails" }, | ||
153 | { "Beam receive enabled","Réception IR activée" }, | ||
154 | { "Set Who Am I",""Qui suis-je"" }, | ||
155 | { "Set Categories","Catégories" }, | ||
156 | { "Remove "voice"...","Supprimer "Bis"..." }, | ||
157 | { "Import from Outlook...","Import depuis Outlook..." }, | ||
158 | { "Licence","Licence" }, | ||
159 | { "Faq","Faq" }, | ||
160 | { "What's New?","What's New?" }, | ||
161 | { "Sync HowTo","Sync HowTo" }, | ||
162 | { "&About KAddressBook","&About KAddressBook" }, | ||
163 | { "Select Incremental Search Field","Recherche incrémentale" }, | ||
164 | { "Synchronize","Synchroniser" }, | ||
165 | { "Configure...","Configurer..." }, | ||
166 | { "Enable Pi-Sync","Activer Pi-Sync" }, | ||
167 | { "Multiple sync","Multiple sync" }, | ||
168 | { "Import CSV List...","Import liste CSV..." }, | ||
169 | { "Export CSV List...","Export liste CSV.." }, | ||
170 | { "Import KDE 2 Addressbook...","Import KDE 2 Addressbook..." }, | ||
171 | { "Import vCard...","Import vCard..." }, | ||
172 | { "Export vCard 3.0...","Export vCard 3.0..." }, | ||
173 | { "Import Qtopia...","Import Qtopia..." }, | ||
174 | { "Export Qtopia...","Export Qtopia..." }, | ||
175 | { "Edit Contact","Editer Contact" }, | ||
176 | { "Ok","Ok" }, | ||
177 | { "Apply","Appliquer" }, | ||
178 | { "Cancel","Annuler" }, | ||
179 | { "KAddressbook/Pi","KAddressbook/Pi" }, | ||
180 | { "No Filter","Sans Filtre" }, | ||
181 | { "Given Name","Prénom" }, | ||
182 | { "Family Name","Nom de Famille" }, | ||
183 | { "Email Address","Adresse mail" }, | ||
184 | { "All Fields","Complète" }, | ||
185 | { "Question","Question" }, | ||
186 | { "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","Après l'importation\nvous pouvez avoir un ou plusieurs \ncatégories de numéros. (Ex. Bureau+Bis)\nCes numéros sont affichés comme "autres".\nValider "Oui" pour supprimer les "Bis"\ndes numéros avec plus d'une catégorie.\n\nSupprimer "Bis" ?" }, | ||
187 | { "No","Non" }, | ||
188 | { "Yes","Oui" }, | ||
189 | { "Synchronization Preferences","Préférences de synchro." }, | ||
190 | { "Local device name:","Nom du périphérique:" }, | ||
191 | { "New profile","Nouveau profil" }, | ||
192 | { "Clone profile","Copie de Profil" }, | ||
193 | { "Delete profile","Supprimer profil" }, | ||
194 | { "Profile:","Profil:" }, | ||
195 | { "Include in multiple ","Inclus dans multiple " }, | ||
196 | { "calendar ","calendrier " }, | ||
197 | { "addressbook ","agenda " }, | ||
198 | { "pwmanager","pwmanager" }, | ||
199 | { " sync"," sync" }, | ||
200 | { "Ask for preferences before sync","Choix des préférences avant sync" }, | ||
201 | { "Sync preferences","Préférences de synchro." }, | ||
202 | { "Take local entry on conflict","Priorité aux entrées locales" }, | ||
203 | { "Take remote entry on conflict","Priorité aux entrées distantes" }, | ||
204 | { "Take newest entry on conflict","Priorité aux entrées nouvelles" }, | ||
205 | { "Ask for every entry on conflict","Demander pour chaque nouvelle entrée" }, | ||
206 | { "Force: Take local entry always","Force: toujours entrées locales" }, | ||
207 | { "Force: Take remote entry always","Force: toujours entrées distantes" }, | ||
208 | { "Show summary after sync","Résumé après synchro." }, | ||
209 | { "Write back synced data","Ré-écriture données synchronisées" }, | ||
210 | { "-- Write back (on remote) existing entries only","-- Ecrire en retour (sur source distante) uniquement les entrées existantes" }, | ||
211 | { "-- Write back (calendar) entries in future only","-- Ecrire en retour, uniquement des entrées futures" }, | ||
212 | { "---- Max. weeks in future: ","---- Max. de semaines dans le futur: " }, | ||
213 | { "Profile kind","Type de profil" }, | ||
214 | { "Local file","Fichier local" }, | ||
215 | { "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi vers Kx/Pi sync )" }, | ||
216 | { "Remote file (w down/upload command)","Fichier distant (w down/upload commande)" }, | ||
217 | { "Mobile device (cell phone)","Mobile (GSM)" }, | ||
218 | { "I/O device: ","I/O device: " }, | ||
219 | { "Help...","Aide..." }, | ||
220 | { "Connection: ","Connection: " }, | ||
221 | { "Model(opt.): ","Model(opt.): " }, | ||
222 | { "Local file Cal:","Fichier local Cal:" }, | ||
223 | { "Local file ABook:","Fichier local ABook:" }, | ||
224 | { "Local file PWMgr:","Fichier local PWMgr:" }, | ||
225 | { "Choose...","Choisir..." }, | ||
226 | { "Addressbook file (*.vcf) is used by KA/Pi","Fichier agenda (*.vcf) est utilisé par KA/Pi" }, | ||
227 | { "Calendar:","Calendrier:" }, | ||
228 | { "AddressBook:","Agenda:" }, | ||
229 | { "PWManager:","PWManager:" }, | ||
230 | { "Pre sync (download) command:","Pre-sync (download) commande:" }, | ||
231 | { "Local temp file:","Fichier temporaire:" }, | ||
232 | { "Post sync (upload) command:","Post-sync (upload) commande:" }, | ||
233 | { "Addressbook file is used by KA/Pi","Fichier agenda est utilisé par KA/Pi" }, | ||
234 | { "Fill in default values for:","Compléter les valeurs par défaut:" }, | ||
235 | { "ssh/scp","ssh/scp" }, | ||
236 | { "ftp","ftp" }, | ||
237 | ################# | ||
238 | { "Hint: Use $PWD$ for placeholder of password!","INFO: utiliser $PWD$ à la place du mdp!" }, | ||
239 | { "Password for remote access: (could be the same for each)","Password for remote access: (could be the same for each)" }, | ||
240 | { "Remote IP address: (could be the same for each)","Remote IP address: (could be the same for each)" }, | ||
241 | { "Remote port number: (should be different for each)","Remote port number: (should be different for each)" }, | ||
242 | { "command for downloading remote file to local device","command for downloading remote file to local device" }, | ||
243 | { "command for uploading local temp file to remote device","command for uploading local temp file to remote device" }, | ||
244 | { "Insert device where\nphone is connected. E.g.:\n","Insert device where\nphone is connected. E.g.:\n" }, | ||
245 | { "KDE-Pim sync config","KDE-Pim sync config" }, | ||
246 | { "Insert kind of connection,e.g.:\n","Insert kind of connection,e.g.:\n" }, | ||
247 | { "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n" }, | ||
248 | ################# | ||
249 | { "KO/Pi config error","KO/Pi erreur de configuration" }, | ||
250 | { "Local device name undefined!\nPlease define device name!","Local device name undefined!\nPlease define device name!" }, | ||
251 | { "Edit Address Book Filters","Editer les filtres du carnet d'adresses" }, | ||
252 | { "&Add...","&Ajouter..." }, | ||
253 | { "&Edit...","&Editer..." }, | ||
254 | { "&Remove","Supp&rimer" }, | ||
255 | { "Modify View: ","Vue modifiée: " }, | ||
256 | { "Fields","Champs" }, | ||
257 | { "Select Fields to Display","Sélection champs à afficher" }, | ||
258 | { "All","Tous" }, | ||
259 | { "Frequent","Fréquent" }, | ||
260 | { "Address","Adresse" }, | ||
261 | { "Email","Email" }, | ||
262 | { "Personal","Personnel" }, | ||
263 | { "Organization","Organisation" }, | ||
264 | { "Custom","Libre" }, | ||
265 | { "&Selected\nfields:","Champ&s\nsélectionnés:" }, | ||
266 | { "Formatted Name","Nom mis en forme" }, | ||
267 | { "Additional Names","Alias" }, | ||
268 | { "Honorific Prefixes","Prefixes honoraires" }, | ||
269 | { "Honorific Suffixes","Suffixes honoraires" }, | ||
270 | { "Nick Name","Surnom" }, | ||
271 | { "Birthday","Naissance" }, | ||
272 | { "Home Address Street","Rue adresse personnelle" }, | ||
273 | { "Home Address Locality","Localité adresse personnelle" }, | ||
274 | { "Home Address Region","Région adresse personnelle" }, | ||
275 | { "Home Address Postal Code","Code postal adresse personnelle" }, | ||
276 | { "Home Address Country","Pays adresse personnelle" }, | ||
277 | { "Home Address Label","Nom adresse personnelle" }, | ||
278 | { "Business Address Street","Rue adresse bureau" }, | ||
279 | { "Business Address Locality","Localité adresse bureau" }, | ||
280 | { "Business Address Region","Région adresse bureau" }, | ||
281 | { "Business Address Postal Code","Code postal adresse bureau" }, | ||
282 | { "Business Address Country","Pays adresse bureau" }, | ||
283 | { "Business Address Label","Nom adresse bureau" }, | ||
284 | { "Home Phone","Tel. maison" }, | ||
285 | { "Business Phone","Tel. bureau" }, | ||
286 | { "Mobile Phone","Mobile" }, | ||
287 | { "Home Fax","Fax maison" }, | ||
288 | { "Business Fax","Fax bureau" }, | ||
289 | { "Car Phone","Tel. voiture" }, | ||
290 | { "ISDN","ISDN" }, | ||
291 | { "Pager","Pager" }, | ||
292 | { "Mail Client","Client Mail" }, | ||
293 | { "Title","Titre" }, | ||
294 | { "Role","Rôle" }, | ||
295 | { "Note","Note" }, | ||
296 | { "URL","URL" }, | ||
297 | { "Resource","Ressource" }, | ||
298 | { "SIP","SIP" }, | ||
299 | { "Default Filter","Filtre par défaut" }, | ||
300 | { "The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime.","Le filtre affiché par défaut est activé quand cette vue est affichée. Cette fonctionnalité vous permet de configurer des vues en intéraction avec certaines informations de basées sur le filtre. Une fois la vue activée, le filtre peut être changé à loisir." }, | ||
301 | { "No default filter","Pas de filtre par défaut" }, | ||
302 | { "Use last active filter","Utilisation dernier filtre" }, | ||
303 | { "Use filter:","Activer Filtre:" }, | ||
304 | { "Look & Feel","Look & Feel" }, | ||
305 | { "Row Separator","Séparation colonne" }, | ||
306 | { "Alternating backgrounds","Lignes alternées" }, | ||
307 | { "Single line","Ligne simple" }, | ||
308 | { "Enable background image:","Activer image de fond:" }, | ||
309 | { "Enable contact tooltips","Activer infos. contact" }, | ||
310 | { "&Enable custom Colors","Activ&er couleurs perso." }, | ||
311 | { "&Colors","&Couleurs" }, | ||
312 | { "If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used.","If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used." }, | ||
313 | { "Double click or press RETURN on a item to select a color for the related strings in the view.","Double click or press RETURN on a item to select a color for the related strings in the view." }, | ||
314 | { "&Enable custom fonts","Activ&er polices perso." }, | ||
315 | { "&Text font:","Police du &texte:" }, | ||
316 | { "&Header font:","Police de Titre &H:" }, | ||
317 | { "If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data.","If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data." }, | ||
318 | { "&Fonts","Polices" }, | ||
319 | { "Background Color","Couleur de fond" }, | ||
320 | { "Text Color","Couleur du texte" }, | ||
321 | { "Header Background Color","Couleur du fond de titre" }, | ||
322 | { "Header Text Color","Couleur du titre" }, | ||
323 | { "Highlight Color","Couleur surlignage" }, | ||
324 | { "Highlighted Text Color","Couleur texte surligné" }, | ||
325 | { "Alternating Background Color","Couleur du fond alterné" }, | ||
326 | { "Postal","Postale" }, | ||
327 | { "Dr.","Dr." }, | ||
328 | { "Miss","Mlle" }, | ||
329 | { "Mr.","M." }, | ||
330 | { "Mrs.","Mme." }, | ||
331 | { "Ms.","Mme." }, | ||
332 | { "Prof.","Prof." }, | ||
333 | { "I","I" }, | ||
334 | { "II","II" }, | ||
335 | { "III","III" }, | ||
336 | { "Jr.","Jr." }, | ||
337 | { "Sr.","Sr." }, | ||
338 | { "Name:","Nom:" }, | ||
339 | { "Documents","Documents" }, | ||
340 | { "Files","Fichiers" }, | ||
341 | { "File","Fichier" }, | ||
342 | { "Edit","Editer" }, | ||
343 | { "View","Vues" }, | ||
344 | { "Settings","Configurer" }, | ||
345 | { "All Files","Tout Fichier" }, | ||
346 | { "Name","Nom" }, | ||
347 | { "Size","Taille" }, | ||
348 | { "Date","Date" }, | ||
349 | { "Mime Type","Type Mime" }, | ||
350 | { "Geo Data Input","Données Géo." }, | ||
351 | { "Sexagesimal","Sexagesimal" }, | ||
352 | { "North","Nord" }, | ||
353 | { "South","Sud" }, | ||
354 | { "East","Est" }, | ||
355 | { "West","Ouest" }, | ||
356 | { "Undefined","Indéfini" }, | ||
357 | { "Edit Address","Modifier Adresse" }, | ||
358 | { "Street:","Rue:" }, | ||
359 | { "Post office box:","Boîte postale:" }, | ||
360 | { "Locality:","Localité:" }, | ||
361 | { "Region:","Region:" }, | ||
362 | { "Postal code:","Code postal:" }, | ||
363 | { "Country:","Pays:" }, | ||
364 | { "Afghanistan","Afghanistan" }, | ||
365 | { "Albania","Albanie" }, | ||
366 | { "Algeria","Algerie" }, | ||
367 | { "American Samoa","American Samoa" }, | ||
368 | { "Andorra","Andorre" }, | ||
369 | { "Angola","Angola" }, | ||
370 | { "Anguilla","Anguilla" }, | ||
371 | { "Antarctica","Antarctica" }, | ||
372 | { "Antigua and Barbuda","Antigua and Barbuda" }, | ||
373 | { "Argentina","Argentina" }, | ||
374 | { "Armenia","Armenia" }, | ||
375 | { "Aruba","Aruba" }, | ||
376 | { "Ashmore and Cartier Islands","Ashmore and Cartier Islands" }, | ||
377 | { "Australia","Australia" }, | ||
378 | { "Austria","Austria" }, | ||
379 | { "Azerbaijan","Azerbaijan" }, | ||
380 | { "Bahamas","Bahamas" }, | ||
381 | { "Bahrain","Bahrain" }, | ||
382 | { "Bangladesh","Bangladesh" }, | ||
383 | { "Barbados","Barbados" }, | ||
384 | { "Belarus","Belarus" }, | ||
385 | { "Belgium","Belgium" }, | ||
386 | { "Belize","Belize" }, | ||
387 | { "Benin","Benin" }, | ||
388 | { "Bermuda","Bermuda" }, | ||
389 | { "Bhutan","Bhutan" }, | ||
390 | { "Bolivia","Bolivia" }, | ||
391 | { "Bosnia and Herzegovina","Bosnia and Herzegovina" }, | ||
392 | { "Botswana","Botswana" }, | ||
393 | { "Brazil","Brazil" }, | ||
394 | { "Brunei","Brunei" }, | ||
395 | { "Bulgaria","Bulgaria" }, | ||
396 | { "Burkina Faso","Burkina Faso" }, | ||
397 | { "Burundi","Burundi" }, | ||
398 | { "Cambodia","Cambodia" }, | ||
399 | { "Cameroon","Cameroon" }, | ||
400 | { "Canada","Canada" }, | ||
401 | { "Cape Verde","Cape Verde" }, | ||
402 | { "Cayman Islands","Cayman Islands" }, | ||
403 | { "Central African Republic","Central African Republic" }, | ||
404 | { "Chad","Chad" }, | ||
405 | { "Chile","Chile" }, | ||
406 | { "China","China" }, | ||
407 | { "Colombia","Colombia" }, | ||
408 | { "Comoros","Comoros" }, | ||
409 | { "Congo","Congo" }, | ||
410 | { "Congo, Dem. Rep.","Congo, Dem. Rep." }, | ||
411 | { "Costa Rica","Costa Rica" }, | ||
412 | { "Croatia","Croatia" }, | ||
413 | { "Cuba","Cuba" }, | ||
414 | { "Cyprus","Cyprus" }, | ||
415 | { "Czech Republic","Czech Republic" }, | ||
416 | { "Denmark","Denmark" }, | ||
417 | { "Djibouti","Djibouti" }, | ||
418 | { "Dominica","Dominica" }, | ||
419 | { "Dominican Republic","Dominican Republic" }, | ||
420 | { "Ecuador","Ecuador" }, | ||
421 | { "Egypt","Egypt" }, | ||
422 | { "El Salvador","El Salvador" }, | ||
423 | { "Equatorial Guinea","Equatorial Guinea" }, | ||
424 | { "Eritrea","Eritrea" }, | ||
425 | { "Estonia","Estonia" }, | ||
426 | { "England","England" }, | ||
427 | { "Ethiopia","Ethiopia" }, | ||
428 | { "European Union","European Union" }, | ||
429 | { "Faroe Islands","Faroe Islands" }, | ||
430 | { "Fiji","Fiji" }, | ||
431 | { "Finland","Finland" }, | ||
432 | { "France","France" }, | ||
433 | { "French Polynesia","French Polynesia" }, | ||
434 | { "Gabon","Gabon" }, | ||
435 | { "Gambia","Gambia" }, | ||
436 | { "Georgia","Georgia" }, | ||
437 | { "Germany","Germany" }, | ||
438 | { "Ghana","Ghana" }, | ||
439 | { "Greece","Greece" }, | ||
440 | { "Greenland","Greenland" }, | ||
441 | { "Grenada","Grenada" }, | ||
442 | { "Guam","Guam" }, | ||
443 | { "Guatemala","Guatemala" }, | ||
444 | { "Guinea","Guinea" }, | ||
445 | { "Guinea-Bissau","Guinea-Bissau" }, | ||
446 | { "Guyana","Guyana" }, | ||
447 | { "Haiti","Haiti" }, | ||
448 | { "Honduras","Honduras" }, | ||
449 | { "Hong Kong","Hong Kong" }, | ||
450 | { "Hungary","Hungary" }, | ||
451 | { "Iceland","Iceland" }, | ||
452 | { "India","India" }, | ||
453 | { "Indonesia","Indonesia" }, | ||
454 | { "Iran","Iran" }, | ||
455 | { "Iraq","Iraq" }, | ||
456 | { "Ireland","Ireland" }, | ||
457 | { "Israel","Israel" }, | ||
458 | { "Italy","Italy" }, | ||
459 | { "Ivory Coast","Ivory Coast" }, | ||
460 | { "Jamaica","Jamaica" }, | ||
461 | { "Japan","Japan" }, | ||
462 | { "Jordan","Jordan" }, | ||
463 | { "Kazakhstan","Kazakhstan" }, | ||
464 | { "Kenya","Kenya" }, | ||
465 | { "Kiribati","Kiribati" }, | ||
466 | { "Korea, North","Korea, North" }, | ||
467 | { "Korea, South","Korea, South" }, | ||
468 | { "Kuwait","Kuwait" }, | ||
469 | { "Kyrgyzstan","Kyrgyzstan" }, | ||
470 | { "Laos","Laos" }, | ||
471 | { "Latvia","Latvia" }, | ||
472 | { "Lebanon","Lebanon" }, | ||
473 | { "Lesotho","Lesotho" }, | ||
474 | { "Liberia","Liberia" }, | ||
475 | { "Libya","Libya" }, | ||
476 | { "Liechtenstein","Liechtenstein" }, | ||
477 | { "Lithuania","Lithuania" }, | ||
478 | { "Luxembourg","Luxembourg" }, | ||
479 | { "Macau","Macau" }, | ||
480 | { "Madagascar","Madagascar" }, | ||
481 | { "Malawi","Malawi" }, | ||
482 | { "Malaysia","Malaysia" }, | ||
483 | { "Maldives","Maldives" }, | ||
484 | { "Mali","Mali" }, | ||
485 | { "Malta","Malta" }, | ||
486 | { "Marshall Islands","Marshall Islands" }, | ||
487 | { "Martinique","Martinique" }, | ||
488 | { "Mauritania","Mauritania" }, | ||
489 | { "Mauritius","Mauritius" }, | ||
490 | { "Mexico","Mexico" }, | ||
491 | { "Micronesia, Federated States Of","Micronesia, Federated States Of" }, | ||
492 | { "Moldova","Moldova" }, | ||
493 | { "Monaco","Monaco" }, | ||
494 | { "Mongolia","Mongolia" }, | ||
495 | { "Montserrat","Montserrat" }, | ||
496 | { "Morocco","Morocco" }, | ||
497 | { "Mozambique","Mozambique" }, | ||
498 | { "Myanmar","Myanmar" }, | ||
499 | { "Namibia","Namibia" }, | ||
500 | { "Nauru","Nauru" }, | ||
501 | { "Nepal","Nepal" }, | ||
502 | { "Netherlands","Netherlands" }, | ||
503 | { "Netherlands Antilles","Netherlands Antilles" }, | ||
504 | { "New Caledonia","New Caledonia" }, | ||
505 | { "New Zealand","New Zealand" }, | ||
506 | { "Nicaragua","Nicaragua" }, | ||
507 | { "Niger","Niger" }, | ||
508 | { "Nigeria","Nigeria" }, | ||
509 | { "Niue","Niue" }, | ||
510 | { "North Korea","North Korea" }, | ||
511 | { "Northern Ireland","Northern Ireland" }, | ||
512 | { "Northern Mariana Islands","Northern Mariana Islands" }, | ||
513 | { "Norway","Norway" }, | ||
514 | { "Oman","Oman" }, | ||
515 | { "Pakistan","Pakistan" }, | ||
516 | { "Palau","Palau" }, | ||
517 | { "Palestinian","Palestinian" }, | ||
518 | { "Panama","Panama" }, | ||
519 | { "Papua New Guinea","Papua New Guinea" }, | ||
520 | { "Paraguay","Paraguay" }, | ||
521 | { "Peru","Peru" }, | ||
522 | { "Philippines","Philippines" }, | ||
523 | { "Poland","Poland" }, | ||
524 | { "Portugal","Portugal" }, | ||
525 | { "Puerto Rico","Puerto Rico" }, | ||
526 | { "Qatar","Qatar" }, | ||
527 | { "Romania","Romania" }, | ||
528 | { "Russia","Russia" }, | ||
529 | { "Rwanda","Rwanda" }, | ||
530 | { "St. Kitts and Nevis","St. Kitts and Nevis" }, | ||
531 | { "St. Lucia","St. Lucia" }, | ||
532 | { "St. Vincent and the Grenadines","St. Vincent and the Grenadines" }, | ||
533 | { "San Marino","San Marino" }, | ||
534 | { "Sao Tome and Principe","Sao Tome and Principe" }, | ||
535 | { "Saudi Arabia","Saudi Arabia" }, | ||
536 | { "Senegal","Senegal" }, | ||
537 | { "Serbia & Montenegro","Serbia & Montenegro" }, | ||
538 | { "Seychelles","Seychelles" }, | ||
539 | { "Sierra Leone","Sierra Leone" }, | ||
540 | { "Singapore","Singapore" }, | ||
541 | { "Slovakia","Slovakia" }, | ||
542 | { "Slovenia","Slovenia" }, | ||
543 | { "Solomon Islands","Solomon Islands" }, | ||
544 | { "Somalia","Somalia" }, | ||
545 | { "South Africa","South Africa" }, | ||
546 | { "South Korea","South Korea" }, | ||
547 | { "Spain","Spain" }, | ||
548 | { "Sri Lanka","Sri Lanka" }, | ||
549 | { "Sudan","Sudan" }, | ||
550 | { "Suriname","Suriname" }, | ||
551 | { "Swaziland","Swaziland" }, | ||
552 | { "Sweden","Sweden" }, | ||
553 | { "Switzerland","Switzerland" }, | ||
554 | { "Syria","Syria" }, | ||
555 | { "Taiwan","Taiwan" }, | ||
556 | { "Tajikistan","Tajikistan" }, | ||
557 | { "Tanzania","Tanzania" }, | ||
558 | { "Thailand","Thailand" }, | ||
559 | { "Tibet","Tibet" }, | ||
560 | { "Togo","Togo" }, | ||
561 | { "Tonga","Tonga" }, | ||
562 | { "Trinidad and Tobago","Trinidad and Tobago" }, | ||
563 | { "Tunisia","Tunisia" }, | ||
564 | { "Turkey","Turkey" }, | ||
565 | { "Turkmenistan","Turkmenistan" }, | ||
566 | { "Turks and Caicos Islands","Turks and Caicos Islands" }, | ||
567 | { "Tuvalu","Tuvalu" }, | ||
568 | { "Uganda ","Uganda " }, | ||
569 | { "Ukraine","Ukraine" }, | ||
570 | { "United Arab Emirates","United Arab Emirates" }, | ||
571 | { "United Kingdom","United Kingdom" }, | ||
572 | { "United States","United States" }, | ||
573 | { "Uruguay","Uruguay" }, | ||
574 | { "Uzbekistan","Uzbekistan" }, | ||
575 | { "Vanuatu","Vanuatu" }, | ||
576 | { "Vatican City","Vatican City" }, | ||
577 | { "Venezuela","Venezuela" }, | ||
578 | { "Vietnam","Vietnam" }, | ||
579 | { "Western Samoa","Western Samoa" }, | ||
580 | { "Yemen","Yemen" }, | ||
581 | { "Yugoslavia","Yugoslavia" }, | ||
582 | { "Zaire","Zaire" }, | ||
583 | { "Zambia","Zambia" }, | ||
584 | { "Zimbabwe","Zimbabwe" }, | ||
585 | { "This is the preferred address","Adresse préférée" }, | ||
586 | { "New...","Nouveau..." }, | ||
587 | { "Change Type","Changer type" }, | ||
588 | { "Edit Address Type","Editer type d'adresse" }, | ||
589 | { "Address Types","Types d'adresse" }, | ||
590 | { "Domestic","Personnelle" }, | ||
591 | { "International","Internationale" }, | ||
592 | { "Parcel","Livraison" }, | ||
593 | { "Edit Contact Name","Editer nom du contact" }, | ||
594 | { "Honorific prefixes:","Préfixe honoraire:" }, | ||
595 | { "Given name:","Prénom:" }, | ||
596 | { "Additional names:","Alias:" }, | ||
597 | { "Family names:","Noms de famille:" }, | ||
598 | { "Honorific suffixes:","Suffixes honoraires:" }, | ||
599 | { "Parse name automatically","Mise en forme automatique" }, | ||
600 | { "Edit Phone Numbers","Editer Numéros de Tel." }, | ||
601 | { "Number","Numéro" }, | ||
602 | { "Type","Type" }, | ||
603 | { "Edit Phone Number","Editer Numéro de Tel." }, | ||
604 | { "Number:","Numéro:" }, | ||
605 | { "This is the preferred phone number","Numéro de Tel. préféré" }, | ||
606 | { "Types","Types" }, | ||
607 | { "Messenger","Messenger" }, | ||
608 | { "Other","Autre" }, | ||
609 | { "Video","Video" }, | ||
610 | { "Mailbox","Boîte mail" }, | ||
611 | { "Modem","Modem" }, | ||
612 | { "Car","Auto" }, | ||
613 | { "PCS","PCS" }, | ||
614 | { "Category","Catégorie" }, | ||
615 | { "Select Categories","Catégories sélectionnées" }, | ||
616 | { " &Deselect All "," &Déselectionnées toutes " }, | ||
617 | { " &Edit Categories "," &Editer Catégories " }, | ||
618 | { " &Manage new categories... "," Gestion nlles. catégories... " }, | ||
619 | { "&OK","&OK" }, | ||
620 | { "&Cancel","&Annuler" }, | ||
621 | { "Configure","Configurer" }, | ||
622 | { "Default","Défaut" }, | ||
623 | { "Addressbook","Agenda" }, | ||
624 | { "Details view font","Police par défaut" }, | ||
625 | { "phone:123","Tel.:123" }, | ||
626 | { "Search only after <return> key pressed","Recherche seulement après avoir validé par <enter>" }, | ||
627 | { "Honor KDE single click","Honorer le simple click de KDE" }, | ||
628 | { "Automatic name parsing for new addressees","Analyse automatique des noms pour les nouvelles adresses" }, | ||
629 | { "Display List and Details at once (restart)","Display List and Details at once (restart)" }, | ||
630 | { "Ask for quit when closing Ka/Pi","Confirmation avant de quitter Ka/Pi" }, | ||
631 | { "General","General" }, | ||
632 | { "Extensions (restart)","Extensions (restart)" }, | ||
633 | { "Description","Description" }, | ||
634 | { "Extensions","Extensions" }, | ||
635 | { "Prefixes","Prefixes" }, | ||
636 | { "Inclusions","Inclusions" }, | ||
637 | { "Suffixes","Suffixes" }, | ||
638 | { "Default formatted name:","Mise en forme par défaut:" }, | ||
639 | { "Empty","Vide" }, | ||
640 | { "Simple Name","Simple Name" }, | ||
641 | { "Full Name","Full Name" }, | ||
642 | { "Reverse Name","Reverse Name" }, | ||
643 | { "Contact","Contact" }, | ||
644 | { "Global","Global" }, | ||
645 | { "Phone","Phone" }, | ||
646 | { "SMS","SMS" }, | ||
647 | { "Language:(needs restart)","Langage:(redémarrage)" }, | ||
648 | { "English","Anglais" }, | ||
649 | { "German","Allemand" }, | ||
650 | { "French","Français" }, | ||
651 | { "Italian","Italien" }, | ||
652 | { "User defined (usertranslation.txt)","Défini par l'utilisateur (usertranslation.txt)" }, | ||
653 | { "Time Format(nr):","Format Temps(nr):" }, | ||
654 | { "24:00","24:00" }, | ||
655 | { "12:00am","12:00am" }, | ||
656 | { "Week starts on Sunday","Semaine démarre le Dimanche" }, | ||
657 | { "Locale","Locale" }, | ||
658 | { "Date Format:","Date Format:" }, | ||
659 | { "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, | ||
660 | { "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, | ||
661 | { "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, | ||
662 | { "User defined","Défini par l'utilisateur" }, | ||
663 | { "User long date:","Date longue:" }, | ||
664 | { "User short date:","Date courte:" }, | ||
665 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 avril 2004: %A %d %B %Y" }, | ||
666 | { "Mon 19.04.04: %a %d.%m.%y","Lun 19.04.04: %a %d.%m.%y" }, | ||
667 | { "Mon, 19.Apr.04: %a, %d.%b.%y","Lun, 19.Avr.04: %a, %d.%b.%y" }, | ||
668 | { "Date Format","Format Date" }, | ||
669 | { "Timezone:","Fuseau horaire :" }, | ||
670 | { "Add 30 min to selected Timezone","Ajout de 30 min au fuseau sélectionné" }, | ||
671 | { "Timezone has daylight saving","La zone a une heure d'été" }, | ||
672 | { "Actual start and end is the\nsunday before this date.","Le début et la fin de cette\npériode est le dimanche précédent la date." }, | ||
673 | { "The year in the date is ignored.","L'année dans cette date est ignorée." }, | ||
674 | { "Daylight start:","Heure d'été - départ :" }, | ||
675 | { "Daylight end:","Heure d'été - fin :" }, | ||
676 | { "Time Zone","Fuseau horaire" }, | ||
677 | { "Mon","Lun" }, | ||
678 | { "Time Zone","Fuseau horaire" }, | ||
679 | { "Used Mail Client","Client mail utilisé" }, | ||
680 | { "Channel:","Canal:" }, | ||
681 | { "Message:","Message:" }, | ||
682 | { "Parameters:","Paramètres:" }, | ||
683 | { "HINT: Delimiter=; Name=%1,Email=%2","INFO: Delimiteur=; Nom=%1,Email=%2" }, | ||
684 | { "extra Message:","Message supp.:" }, | ||
685 | { "extra Parameters:","Paramètres supp.:" }, | ||
686 | { "HINT: Emails=%1,Attachments=%2","INFO: Emails=%1,Pièce jointe=%2" }, | ||
687 | { "External Apps.","Prog.externes" }, | ||
688 | { "Used %1 Client","Utiliser comme Client %1" }, | ||
689 | { "No email client installed","Pas de client mail installé" }, | ||
690 | { "Userdefined email client","Client mail indéfini" }, | ||
691 | { "OM/Pi email client","OM/Pi Client mail" }, | ||
692 | { "Close KA/Pi?","Fermer KA/Pi?" }, | ||
693 | { "\nChanges will be saved!","\nModifications seront sauvées!" }, | ||
694 | { "Yes!","Yes!" }, | ||
695 | { "There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. ","Il y a eu une erreur pendant la sauvegarde\n du carnet d'adresses. Merci de vérifier\nsi aucune autre application ne l'utilise. " }, | ||
696 | { "Saving addressbook ... ","Sauvegarde Carnet d'adresses ... " }, | ||
697 | { "Addressbook saved!","Carnet d'adresses sauvé!" }, | ||
698 | { "Default Table View","Vue Table par défaut" }, | ||
699 | { "Merge and Remove","Fusion et Suppression" }, | ||
700 | { "Merge","Fusion" }, | ||
701 | { "Merge Contacts Editor","Fusion de contacts similaires" }, | ||
702 | { "New List...","Nouvelle liste..." }, | ||
703 | { "Rename List...","Renomer liste..." }, | ||
704 | { "Remove List","Supprimer liste" }, | ||
705 | { "Add Contact","Ajouter contact" }, | ||
706 | { "Change Email...","Changer Email..." }, | ||
707 | { "Remove Contact","Supprimer contact" }, | ||
708 | { "Use Preferred","Préféré" }, | ||
709 | { "Distribution List Editor","Editeur de liste de distribution" }, | ||
710 | { "Choose which contacts to export","Choisir contacts à exporter" }, | ||
711 | { "Which contacts do you want to export?","Quels contacts voulez-vous exporter ?" }, | ||
712 | { "Contact Selection","Sélection de Contact" }, | ||
713 | { "&All","Tous (&A)" }, | ||
714 | { "Export the entire address book","Export du carnet d'adresses complet" }, | ||
715 | { "&Selected","&Selectionné" }, | ||
716 | { "Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected.","Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected." }, | ||
717 | { "By matching &filter","Affichage filtré (&F)" }, | ||
718 | { "Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters","Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters" }, | ||
719 | { "By Cate&gories","Par Catégories" }, | ||
720 | { "Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories.","Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories." }, | ||
721 | { "Select a filter to decide which contacts to export.","Select a filter to decide which contacts to export." }, | ||
722 | { "Check the categories whose members you want to export.","Check the categories whose members you want to export." }, | ||
723 | { "Sorting","Trier" }, | ||
724 | { "Criterion:","Critère:" }, | ||
725 | { "Order:","Ordre:" }, | ||
726 | { "Ascending","Ascendant" }, | ||
727 | { "Descending","Descendant" }, | ||
728 | { "Save file","Sauver" }, | ||
729 | { "Error","Erreur" }, | ||
730 | { "Unable to export contacts.","Impossible d'exporter les contacts." }, | ||
731 | { "\nNo unsaved changes detected!\nNothing will be saved!","\nPas de modification à sauvegarder!" }, | ||
732 | { "Search:","Recherche:"} | ||
733 | { "Email address:","Email:" } | ||
734 | { "Set Standard","Par défaut" }, | ||
735 | { "Remove sync info","Supprimer infos. synchro." }, | ||
736 | { "For all profiles","Pour tous les profils" }, | ||
737 | { "","" }, | ||
738 | { "","" }, | ||
739 | { "","" }, | ||
740 | { "","" }, | ||
741 | { "","" }, | ||
diff --git a/bin/kdepim/kopiemail/frenchtranslation.txt b/bin/kdepim/kopiemail/frenchtranslation.txt new file mode 100644 index 0000000..50bf02e --- a/dev/null +++ b/bin/kdepim/kopiemail/frenchtranslation.txt | |||
@@ -0,0 +1,238 @@ | |||
1 | { "Language:(needs restart)","Langage:(redémarrage)" }, | ||
2 | { "English","Anglais" }, | ||
3 | { "German","Allemand" }, | ||
4 | { "French","Français" }, | ||
5 | { "Italian","Italien" }, | ||
6 | { "User defined (usertranslation.txt)","Défini par l'utilisateur (usertranslation.txt)" }, | ||
7 | { "Time Format(nr):","Format Temps(nr):" }, | ||
8 | { "24:00","24:00" }, | ||
9 | { "12:00am","12:00am" }, | ||
10 | { "Week starts on Sunday","Semaine démarre le Dimanche" }, | ||
11 | { "Locale","Locale" }, | ||
12 | { "Date Format:","Date Format:" }, | ||
13 | { "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, | ||
14 | { "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, | ||
15 | { "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, | ||
16 | { "User defined","Défini par l'utilisateur" }, | ||
17 | { "User long date:","Date longue :" }, | ||
18 | { "User short date:","Date courte :" }, | ||
19 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 avril 2004: %A %d %B %Y" }, | ||
20 | { "Mon 19.04.04: %a %d.%m.%y","Lun 19.04.04: %a %d.%m.%y" }, | ||
21 | { "Mon, 19.Apr.04: %a, %d.%b.%y","Lun, 19.Avr.04: %a, %d.%b.%y" }, | ||
22 | { "Date Format","Format Date" }, | ||
23 | { "Timezone:","Fuseau horaire :" }, | ||
24 | { "Add 30 min to selected Timezone","Ajout de 30 min au fuseau sélectionné" }, | ||
25 | { "Timezone has daylight saving","La zone a une heure d'été" }, | ||
26 | { "Actual start and end is the\nsunday before this date.","Le début et la fin de cette\npériode est un dimanche." }, | ||
27 | { "The year in the date is ignored.","L'année dans cette date est ignorée." }, | ||
28 | { "Daylight start:","Heure d'été - départ :" }, | ||
29 | { "Daylight end:","Heure d'été - fin :" }, | ||
30 | { "Time Zone","Fuseau horaire" }, | ||
31 | { "Mon","Lun" }, | ||
32 | { "Tue","Mar" }, | ||
33 | { "Wed","Mer" }, | ||
34 | { "Thu","Jeu" }, | ||
35 | { "Fri","Ven" }, | ||
36 | { "Sat","Sam" }, | ||
37 | { "Sun","Dim" }, | ||
38 | { "January","Janvier" }, | ||
39 | { "February","Février" }, | ||
40 | { "March","Mars" }, | ||
41 | { "April","Avril" }, | ||
42 | { "May","Mai" }, | ||
43 | { "June","Juin" }, | ||
44 | { "July","Juillet" }, | ||
45 | { "August","Août" }, | ||
46 | { "September","Septembre" }, | ||
47 | { "October","Octobre" }, | ||
48 | { "November","Novembre" }, | ||
49 | { "December","Decembre" }, | ||
50 | { "tomorrow","demain" }, | ||
51 | { "today","aujourd'hui" }, | ||
52 | { "yesterday","hier" }, | ||
53 | { "Monday","Lundi" }, | ||
54 | { "Tuesday","Mardi" }, | ||
55 | { "Wednesday","Mercredi" }, | ||
56 | { "Thursday","Jeudi" }, | ||
57 | { "Friday","Vendredi" }, | ||
58 | { "Saturday","Samedi" }, | ||
59 | { "Sunday","Dimanche" }, | ||
60 | { "Used Mail Client","Client mail utilisé" }, | ||
61 | { "Channel:","Canal:" }, | ||
62 | { "Message:","Message:" }, | ||
63 | { "Parameters:","Paramètres:" }, | ||
64 | { "HINT: Delimiter=; Name=%1,Email=%2","INFO: Delimiteur=; Nom=%1,Email=%2" }, | ||
65 | { "extra Message:","Message supp.:" }, | ||
66 | { "extra Parameters:","Paramètres supp.:" }, | ||
67 | { "HINT: Emails=%1,Attachments=%2","INFO: Emails=%1,Pièce jointe=%2" }, | ||
68 | { "External Apps.","Prog.externes" }, | ||
69 | { "+01:00 Europa/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, | ||
70 | { "Used %1 Client","Utiliser comme Client %1" }, | ||
71 | { "No email client installed","Pas de client mail installé" }, | ||
72 | { "Userdefined email client","Client mail indéfini" }, | ||
73 | { "OM/Pi email client","OM/Pi Client mail" }, | ||
74 | { "Delete","Détruire" }, | ||
75 | { "New","Nouveau" }, | ||
76 | { "Edit","Editer" }, | ||
77 | { "Close","Fermer" }, | ||
78 | { "Size","Taille" }, | ||
79 | { "Date","Date" }, | ||
80 | { "Please set at","Bitte einstellen in" }, | ||
81 | { "Settings@General TAB","Configuration@générale TAB" }, | ||
82 | { "KOpieMail/Pi","KOpieMail/Pi" }, | ||
83 | { "Mail","Mail" }, | ||
84 | { "Settings","Configuration" }, | ||
85 | { "Get all new mails","Relever tous les messages" }, | ||
86 | { "Get new messages","Relever nouveaux messages" }, | ||
87 | { "Compose new mail","Rédiger nouveau message" }, | ||
88 | { "Send queued mails","Envoi des messages en attente" }, | ||
89 | { "Show/Hide folders","Montrer/Cacher dossiers" }, | ||
90 | { "Drafts","Brouillons" } | ||
91 | { "Delete Mail","Détruire messages" }, | ||
92 | { "Edit settings","Configurer OM/Pi" }, | ||
93 | { "Configure accounts","Configurer comptes" }, | ||
94 | { "Mailbox","Boîte" }, | ||
95 | { "Subject","Sujet" }, | ||
96 | { "Sender","Expéditeur" }, | ||
97 | { "Size","Taille" }, | ||
98 | { "Date","Date" }, | ||
99 | { "Close","Fermer" }, | ||
100 | { "Help","Aide" }, | ||
101 | { "About","A propos" }, | ||
102 | { "Licence","Licence" }, | ||
103 | { "LibEtPan Licence","LibEtPan Licence" }, | ||
104 | { "Settings - some need a restart (nr)","Configuration - peut nécessiter un redémarrage (nr)" }, | ||
105 | { "HINT: Separate multiple\neMail addresses by ";"","INFO: Séparer les adresses par ";"" }, | ||
106 | { "Ignore above settings and\nuse KA/Pi "Who am I" instead!","Ignorer les réglages et utiliser\n"Qui suis-je !" de KA/Pi" }, | ||
107 | { "View mail as html","Afficher en html" }, | ||
108 | { "Send mails later","Envoyer plus tard" }, | ||
109 | { "Application(nr)","Application (nr)" }, | ||
110 | { "OK","OK" }, | ||
111 | { "Choose...","Choisir..." } | ||
112 | { "Fonts","Polices" } | ||
113 | { "Mail","Message" } | ||
114 | { "Generel","Général" } | ||
115 | { "Full &name:"," Nom complet:" } | ||
116 | { "E&mail address:","Adresse mail:" } | ||
117 | { "Compose mail:","Rédaction message:" }, | ||
118 | { "Dear Mr.","Cher M." }, | ||
119 | { "Read mail:","Lecture message:" }, | ||
120 | { "Hello","Bonjour" }, | ||
121 | { "Configure Accounts","Configurer Comptes" }, | ||
122 | { "Name of the Account","Nom du compte" }, | ||
123 | { "News","Groupes de discussion" }, | ||
124 | { "Account","Compte" }, | ||
125 | { "%1 groups subscribed","%1 Abonnements" } | ||
126 | { "Type","Type" }, | ||
127 | { "<p>Please select an account.</p>","<p>Merci de choisir un compte.</p>" }, | ||
128 | { "Error","Erreur" }, | ||
129 | { "Configure NNTP","Configurer News" }, | ||
130 | { "Port","Port :" }, | ||
131 | { "Server","Serveur :" }, | ||
132 | { "Use SSL","Utiliser SSL" }, | ||
133 | { "User","User :" }, | ||
134 | { "Password","Password :" }, | ||
135 | { "Use Login","Login" }, | ||
136 | { "Newsgroup","Newsgroup" }, | ||
137 | { "Get newsgroup list from server","Récupérer la liste de groupes depuis le serveur" }, | ||
138 | { "Filter:","Filtre:" }, | ||
139 | { "Show subscribed","Abonnements" }, | ||
140 | { "Groups","Groupe(s) de discussion" }, | ||
141 | { "Configure IMAP","Configurer IMAP" }, | ||
142 | { "Use secure sockets:","Utiliser un compte sécurisé :" }, | ||
143 | { "ssh $SERVER exec","ssh $SERVER exec" }, | ||
144 | { "Prefix","Prefixe" }, | ||
145 | { "Local storage folder:","Dossier de stockage :" }, | ||
146 | { "Get only messages smaller","Récupérer uniquement les mails inférieurs à :" }, | ||
147 | { "kB","kB" }, | ||
148 | { "Leave Messages on Server","Laisser les messages sur le serveur" }, | ||
149 | { "Configure POP3","Configurer POP3" }, | ||
150 | { "ssh $SERVER exec imapd","ssh $SERVER exec imapd" }, | ||
151 | { "Configure SMTP","Configurer SMTP" }, | ||
152 | { "Name of the SMTP Server","Nom des serveurs SMTP" }, | ||
153 | { "Port of the SMTP Server","Port des serveurs SMTP" }, | ||
154 | { "Fetching folder list","Hole Verzeichnis Liste" }, | ||
155 | { "Fetch ","Hole " }, | ||
156 | { "Fetching header list","Hole Titel Liste" }, | ||
157 | { "Mailbox has %1 mails","La Boîte contient %1 Messages" }, | ||
158 | { "Read this mail","Lire ce message" }, | ||
159 | { "Move/Copy this mail","Copier/Déplacer ce message" }, | ||
160 | { "Delete this mail","Détruire ce message" }, | ||
161 | { "Move/Copy all selected mail","Copier/Déplacer tous les messages choisis" }, | ||
162 | { "Delete all selected mails","Détruire tous les messages choisis" }, | ||
163 | { "Clear selection","Déselectionner" }, | ||
164 | { "Reply","Répondre" }, | ||
165 | { "Forward","Faire suivre" }, | ||
166 | { "Attachments","Pièce jointe" }, | ||
167 | { "Show Html","Afficher en html" }, | ||
168 | { "Description","Description" }, | ||
169 | { "Filename","Nom de fichier" }, | ||
170 | { "E-Mail by %1","Envoyé par %1" }, | ||
171 | { "Cc","Copie" }, | ||
172 | { "To","A : " }, | ||
173 | { "From","De : " }, | ||
174 | { "Select Addressee","Choisir une adresse" } | ||
175 | { "<p>Do you really want to delete this mail? <br><br>","<p>Voulez-vous vraiment détruire ce message ? <br><br>" }, | ||
176 | { "Mailbox has %1 mail(s)","La Boîte contient %1 message(s)" }, | ||
177 | { "Move/Copie all mails","Copier/Déplacer tous les messages" }, | ||
178 | { "Delete all mails","Détruire tous les messages" }, | ||
179 | { "Create new subfolder","Créer un sous-dossier" }, | ||
180 | { "Delete folder","Détruire le dossier" }, | ||
181 | { "Refresh folder list","Rafraichir la liste" }, | ||
182 | { "Create new folder","Créer un nouveau dossier" }, | ||
183 | { "Disconnect","Déconnecter" }, | ||
184 | { "Set offline","Hors-connexion" }, | ||
185 | { "Set online","Connecter" } | ||
186 | { "Select target box","Choisir la boîte de réception" }, | ||
187 | { "<b>Store mail(s) to</b>","<b>Stocker le(s) message(s) dans</b>" }, | ||
188 | { "Folder:","Dossier:" }, | ||
189 | { "Account:","Compte:" }, | ||
190 | { "Prefix will prepend, do not enter","Préfixe sera rajouté, inutile l'écrire!" }, | ||
191 | { "Move mail(s)","Déplacer message(s)" }, | ||
192 | { "apply only to mails smaller","appliquer uniquement sur les messages plus petits" }, | ||
193 | { "only mails smaller","Seulement messages inférieurs à:" | ||
194 | { " kB"," kB" }, | ||
195 | { " message %1 of %2"," message %1 de %2" }, | ||
196 | { "Copying...","Copie en cours..." }, | ||
197 | { "Copy message %1 of %2","Copie message %1 de %2" }, | ||
198 | { "Do you really want to delete\nall selected mails?","Voulez-vous vraiment détruire\ntous les messages sélectionnés?" }, | ||
199 | { "Delete All Mails","Suppression de tous les messages" }, | ||
200 | { "Deleting ...","Destruction en cours..." }, | ||
201 | { "Delete message %1 of %2","Destruction message %1 de %2" }, | ||
202 | { "Compose Message","Rédaction Message" }, | ||
203 | { "Reply-To","Répondre" }, | ||
204 | { "BCC","BCC" }, | ||
205 | { "Signature","Signature" }, | ||
206 | { "CC","Copie" }, | ||
207 | { "Options","Options" }, | ||
208 | { "Delete File","Détruire fichier" }, | ||
209 | { "Add File","Ajouter fichier" }, | ||
210 | { "Attachment","Pièce jointe" }, | ||
211 | { "send later","envoyer plus tard" }, | ||
212 | { "use:","via : " }, | ||
213 | { "Save","Sauver" }, | ||
214 | { "Name","Nom" }, | ||
215 | { "No Receiver spezified","Pas de destinataire spécifié" }, | ||
216 | { "Sending mail","Mail en cours d'envoi" }, | ||
217 | { "No","Non" }, | ||
218 | { "Yes","Oui" }, | ||
219 | { "Store message into drafts?\n","Sauvegarder\ncomme brouillon ?" }, | ||
220 | { "Store message?","Sauvegarder message ?" }, | ||
221 | { "Select Type","Choix du type" }, | ||
222 | { "Select Account Type","Choix du type de compte" }, | ||
223 | { "IMAP","IMAP (stocké sur serveur)" }, | ||
224 | { "POP3","POP3 (réception)" }, | ||
225 | { "SMTP","SMTP (envoi)" }, | ||
226 | { "<p>Do you really want to delete the selected Account?</p>","<p>Voulez-vous vraiment détruire\nle compte sélectionné?</p>" }, | ||
227 | { "Question","Question" }, | ||
228 | { "Send this message?","Envoyer ce message?" }, | ||
229 | { "Stop editing message","Arrêt de l'édition" }, | ||
230 | { "Sending mail %1 of %2","Envoi du message %1 de %2" }, | ||
231 | { "%1 of %2 bytes send","%1 de %2 bytes envoyés" }, | ||
232 | { "Refresh header list","Actualiser la liste d'entêtes" }, | ||
233 | { "","" }, | ||
234 | { "","" }, | ||
235 | { "","" }, | ||
236 | { "","" }, | ||
237 | { "","" }, | ||
238 | { "","" }, | ||
diff --git a/bin/kdepim/korganizer/frenchtranslation.txt b/bin/kdepim/korganizer/frenchtranslation.txt index fc783fa..fb073cd 100644 --- a/bin/kdepim/korganizer/frenchtranslation.txt +++ b/bin/kdepim/korganizer/frenchtranslation.txt | |||
@@ -1,838 +1,859 @@ | |||
1 | |||
1 | { "10 minutes","10 minutes", }, | 2 | { "10 minutes","10 minutes", }, |
2 | { "10th","10" }, | 3 | { "10th","10" }, |
3 | { "11th","11" }, | 4 | { "11th","11" }, |
4 | { "12 pm Format","Format 12h" }, | 5 | { "12 pm Format","Format 12h" }, |
5 | { "12th","12" }, | 6 | { "12th","12" }, |
6 | { "13th","13" }, | 7 | { "13th","13" }, |
7 | { "14th","14" }, | 8 | { "14th","14" }, |
8 | { "15th","15" }, | 9 | { "15th","15" }, |
9 | { "16th","16" }, | 10 | { "16th","16" }, |
10 | { "17th","17" }, | 11 | { "17th","17" }, |
11 | { "18th","18" }, | 12 | { "18th","18" }, |
12 | { "19th","19" }, | 13 | { "19th","19" }, |
13 | { "1 Day","1 jour" }, | 14 | { "1 Day","1 jour" }, |
14 | { "1 h","1 h" }, | 15 | { "1 h","1 h" }, |
15 | { "1 (high)","1 (haut)" }, | 16 | { "1 (high)","1 (haut)" }, |
16 | { "5 (low)","5 (bas)" }, | 17 | { "5 (low)","5 (bas)" }, |
17 | { "1st","1er" }, | 18 | { "1st","1er" }, |
18 | { "20th","20" }, | 19 | { "20th","20" }, |
19 | { "21st","21" }, | 20 | { "21st","21" }, |
20 | { "22nd","22" }, | 21 | { "22nd","22" }, |
21 | { "23rd","23" }, | 22 | { "23rd","23" }, |
22 | { "24:00 Hour Format","Format 24h" }, | 23 | { "24:00 Hour Format","Format 24h" }, |
23 | { "24th","24" }, | 24 | { "24th","24" }, |
24 | { "25th","25" }, | 25 | { "25th","25" }, |
25 | { "26th","26" }, | 26 | { "26th","26" }, |
26 | { "27th","27" }, | 27 | { "27th","27" }, |
27 | { "28th","28" }, | 28 | { "28th","28" }, |
28 | { "29th","29" }, | 29 | { "29th","29" }, |
29 | { "2nd","2" }, | 30 | { "2nd","2" }, |
30 | { "30 minutes","30 Minutes" }, | 31 | { "30 minutes","30 Minutes" }, |
31 | { "30th","30" }, | 32 | { "30th","30" }, |
32 | { "31st","31" }, | 33 | { "31st","31" }, |
33 | { "3rd","3" }, | 34 | { "3rd","3" }, |
34 | { "4th","4" }, | 35 | { "4th","4" }, |
35 | { "5 (lowest)","5 (mini)" }, | 36 | { "5 (lowest)","5 (mini)" }, |
36 | { "5th","5" }, | 37 | { "5th","5" }, |
37 | { "6th","6" }, | 38 | { "6th","6" }, |
38 | { "7th","7" }, | 39 | { "7th","7" }, |
39 | { "8th","8" }, | 40 | { "8th","8" }, |
40 | { "9th","9" }, | 41 | { "9th","9" }, |
41 | { "About...","A Propos..." }, | 42 | { "About...","A Propos..." }, |
42 | { "&Accept","V&Alider" }, | 43 | { "&Accept","V&Alider" }, |
43 | { "Accept","Valider" }, | 44 | { "Accept","Valider" }, |
44 | { "Accept A&ll","Tout Va&lider" }, | 45 | { "Accept A&ll","Tout Va&lider" }, |
45 | { "Access:",":" }, | 46 | { "Access:",":" }, |
46 | { "A corresponding event is missing in your calendar!","Un événement correspondant manque dans votre calendrier!" }, | 47 | { "A corresponding event is missing in your calendar!","Un événement correspondant manque dans votre calendrier!" }, |
47 | { "Actions","Actions" }, | 48 | { "Actions","Actions" }, |
48 | { "Add Filter","Ajout Filtre" }, | 49 | { "Add Filter","Ajout Filtre" }, |
49 | { "&Add","&Ajouter" }, | 50 | { "&Add","&Ajouter" }, |
50 | { "Add","Ajouter" }, | 51 | { "Add","Ajouter" }, |
51 | { "Additional email addresses:","autres emails:" }, | 52 | { "Additional email addresses:","autres emails:" }, |
52 | { "Additional email address:","autre email:" }, | 53 | { "Additional email address:","autre email:" }, |
53 | { "&Addressbook","c&arnet d'adresses" }, | 54 | { "&Addressbook","c&arnet d'adresses" }, |
54 | { "Address &Book...","carnet d'adresses &B" }, | 55 | { "Address &Book...","carnet d'adresses &B" }, |
55 | { "Agenda Size","Taille Agenda" }, | 56 | { "Agenda Size","Taille Agenda" }, |
56 | { "Agenda Size:","Taille de l'Agenda:" }, | 57 | { "Agenda Size:","Taille de l'Agenda:" }, |
57 | { "Agenda view:","Vue Agenda:" }, | 58 | { "Agenda view:","Vue Agenda:" }, |
58 | { "Agenda view background color:","Couleur de fond de la Vue Agenda:" }, | 59 | { "Agenda view background color:","Couleur de fond de la Vue Agenda:" }, |
59 | { "Alarm","Alarme" }, | 60 | { "Alarm","Alarme" }, |
60 | { "All attendees","Tous les Participants" }, | 61 | { "All attendees","Tous les Participants" }, |
61 | { "AllDayAgenda Height:","Hauteur de l'affichage journée:" }, | 62 | { "AllDayAgenda Height:","Hauteur de l'affichage journée:" }, |
62 | { "Allday","Journée" }, | 63 | { "Allday","Journée" }, |
63 | { "Anonymous","Anonyme" }, | 64 | { "Anonymous","Anonyme" }, |
64 | { "Apply","Appliquer" }, | 65 | { "Apply","Appliquer" }, |
65 | { "Apr","Avr" }, | 66 | { "Apr","Avr" }, |
66 | { "April","Avril" }, | 67 | { "April","Avril" }, |
67 | {"Ask for every entry on conflict","Demander pour chaque entrée en conflit"}, | 68 | {"Ask for every entry on conflict","Demander pour chaque entrée en conflit"}, |
68 | { "Ask for preferences before syncing","Demander les préfs. avant la synchro" }, | 69 | { "Ask for preferences before syncing","Demander les préfs. avant la synchro" }, |
69 | { "Ask for quit when closing KO/Pi","Confirmer avant de fermer KO/Pi" }, | 70 | { "Ask for quit when closing KO/Pi","Confirmer avant de fermer KO/Pi" }, |
70 | { "Attendees","Participants" }, | 71 | { "Attendees","Participants" }, |
71 | { "Aug","Août" }, | 72 | { "Aug","Août" }, |
72 | { "August","Août" }, | 73 | { "August","Août" }, |
73 | { "Auto-Save","Sauvegarde Auto" }, | 74 | { "Auto-Save","Sauvegarde Auto" }, |
74 | { "Auto save delay in minutes:","Fréquence de sauvegarde (min):" }, | 75 | { "Auto save delay in minutes:","Fréquence de sauvegarde (min):" }, |
75 | { "Auto saving...","Sauvegarde Automatique..." }, | 76 | { "Auto saving...","Sauvegarde Automatique..." }, |
76 | { "Begin on:","Début le:" }, | 77 | { "Begin on:","Début le:" }, |
77 | { "Begins on: %1","Début le: %1" }, | 78 | { "Begins on: %1","Début le: %1" }, |
78 | { "<b>From:</b> %1 <b>To:</b> %2","<b>De:</b> %1 <b>à:</b> %2" }, | 79 | { "<b>From:</b> %1 <b>To:</b> %2","<b>De:</b> %1 <b>à:</b> %2" }, |
79 | { "Bigger","Très grand" }, | 80 | { "Bigger","Très grand" }, |
80 | { "Biggest","Maxi" }, | 81 | { "Biggest","Maxi" }, |
81 | { "Big","Grand" }, | 82 | { "Big","Grand" }, |
82 | { "<b>On:</b> %1","<b>à:</b> %1" }, | 83 | { "<b>On:</b> %1","<b>à:</b> %1" }, |
83 | { "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Le:</b> %1 <b>de:S</b> %2 <b>à:</b> %3" }, | 84 | { "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Le:</b> %1 <b>de:S</b> %2 <b>à:</b> %3" }, |
84 | { "<b>Original event:</b><p>","<b>Evénement source:</b><p>" }, | 85 | { "<b>Original event:</b><p>","<b>Evénement source:</b><p>" }, |
85 | { " - both are modified after last sync"," - Les deux ont eu des modif. après la dernière synchro" }, | 86 | { " - both are modified after last sync"," - Les deux ont eu des modif. après la dernière synchro" }, |
86 | { "Busy","Occupé" }, | 87 | { "Busy","Occupé" }, |
87 | { "&Cancel","Annuler &C" }, | 88 | { "&Cancel","Annuler &C" }, |
88 | { "Cancel","Annuler" }, | 89 | { "Cancel","Annuler" }, |
89 | { "Cannot delete To-Do\nwhich has children.","Impossible d'efacer une tâche qui a des dépendances" }, | 90 | { "Cannot delete To-Do\nwhich has children.","Impossible d'efacer une tâche qui a des dépendances" }, |
90 | { "Cannot delete To-Do which has children.","Impossible d'efacer une tâche qui à des dépendances" }, | 91 | { "Cannot delete To-Do which has children.","Impossible d'efacer une tâche qui à des dépendances" }, |
91 | { "Can't generate mail:\nNo event selected.","Génération du mail impossible: pas d'événement sélectionné." }, | 92 | { "Can't generate mail:\nNo event selected.","Génération du mail impossible: pas d'événement sélectionné." }, |
92 | { "Categories...","Catégories..." }, | 93 | { "Categories...","Catégories..." }, |
93 | { "Categories","Catégories" }, | 94 | { "Categories","Catégories" }, |
94 | { "Category","Catégorie" }, | 95 | { "Category","Catégorie" }, |
95 | { "Center View","Centrer" }, | 96 | { "Center View","Centrer" }, |
96 | { "Change","Ändere" }, | 97 | { "Change","Ändere" }, |
97 | { "Cinema","Cinéma" }, | 98 | { "Cinema","Cinéma" }, |
98 | { "Click to add a new Todo","Cliquer pour ajouter nouvelle une tâche" }, | 99 | { "Click to add a new Todo","Cliquer pour ajouter nouvelle une tâche" }, |
99 | { "Clone Item","Cloner Objet" }, | 100 | { "Clone Item","Cloner Objet" }, |
100 | { "&Close","Fermer &C" }, | 101 | { "&Close","Fermer &C" }, |
101 | { "Close","Fermer" }, | 102 | { "Close","Fermer" }, |
102 | { "Close this dialog to abort deletion!","Fermer cette fenêtre pour annuler la suppression!" }, | 103 | { "Close this dialog to abort deletion!","Fermer cette fenêtre pour annuler la suppression!" }, |
103 | { "Colors","Couleurs" }, | 104 | { "Colors","Couleurs" }, |
104 | { "completed","Achevé" }, | 105 | { "completed","Achevé" }, |
105 | { "completed on %1","Achevé à %1" }, | 106 | { "completed on %1","Achevé à %1" }, |
106 | { "Complete","Finir" }, | 107 | { "Complete","Finir" }, |
107 | { "Confidential","Confidentiel" }, | 108 | { "Confidential","Confidentiel" }, |
108 | { "Configure...","Configurer..." }, | 109 | { "Configure...","Configurer..." }, |
109 | { "Confirm &deletes","Confirmer l'effacement" }, | 110 | { "Confirm &deletes","Confirmer l'effacement" }, |
110 | { "Couldn't load calendar\n '%1'.","impossible de charger le calendrier '%1'." }, | 111 | { "Couldn't load calendar\n '%1'.","impossible de charger le calendrier '%1'." }, |
111 | { "Counter-event Viewer","Compteur de Rdv." }, | 112 | { "Counter-event Viewer","Compteur de Rdv." }, |
112 | { "Daily ending hour:","Fin de journée:" }, | 113 | { "Daily ending hour:","Fin de journée:" }, |
113 | { "Daily starting hour:","Début de journée:" }, | 114 | { "Daily starting hour:","Début de journée:" }, |
114 | { "Daily","Quotidien" }, | 115 | { "Daily","Quotidien" }, |
115 | { "Date Format","Format de date" }, | 116 | { "Date Format","Format de date" }, |
116 | { "Date Format:","Format de date:" }, | 117 | { "Date Format:","Format de date:" }, |
117 | { "DateNavigator:(nr)","Calendrier" }, | 118 | { "DateNavigator:(nr)","Calendrier" }, |
118 | { "Dates: ","Dates: " }, | 119 | { "Dates: ","Dates: " }, |
119 | { "Date && Time","Date && Heure" }, | 120 | { "Date && Time","Date && Heure" }, |
120 | { "Day begins at:","Le jour commence à:" }, | 121 | { "Day begins at:","Le jour commence à:" }, |
121 | { "Days in Next-X-Days:","Jours dans "Prochains jours":" }, | 122 | { "Days in Next-X-Days:","Jours dans "Prochains jours":" }, |
122 | { "Days in What's Next:","Jours dans "A venir...":" }, | 123 | { "Days in What's Next:","Jours dans "A venir...":" }, |
123 | { "day(s)","Jours(s)" }, | 124 | { "day(s)","Jours(s)" }, |
124 | { "Days to show in Next-X-Days view:","Jours dans la vue des prochains jours:" }, | 125 | { "Days to show in Next-X-Days view:","Jours dans la vue des prochains jours:" }, |
125 | { "day","Jour" }, | 126 | { "day","Jour" }, |
126 | { "Dec","Dec" }, | 127 | { "Dec","Dec" }, |
127 | { "December","Decembre" }, | 128 | { "December","Decembre" }, |
128 | { "Default alarm time:","Alarme par défaut:" }, | 129 | { "Default alarm time:","Alarme par défaut:" }, |
129 | { "Default appointment time:","Rendez vous par défaut:" }, | 130 | { "Default appointment time:","Rendez vous par défaut:" }, |
130 | { "Default event color:","Couleur de l'évenemment par. def.:" }, | 131 | { "Default event color:","Couleur de l'évenemment par. def.:" }, |
131 | { "Default","Standard" }, | 132 | { "Default","Standard" }, |
132 | { "Def. duration of new app.:","Durée normale d'un RdV:" }, | 133 | { "Def. duration of new app.:","Durée normale d'un RdV:" }, |
133 | { "Delete all completed To-Dos?","Effacer toutes les tâches achevées?" }, | 134 | { "Delete all completed To-Dos?","Effacer toutes les tâches achevées?" }, |
134 | { "Delete All","Tout Effacer" }, | 135 | { "Delete All","Tout Effacer" }, |
135 | { "Delete all selected","Effacer la selection" }, | 136 | { "Delete all selected","Effacer la selection" }, |
136 | { "Delete Current","Effacer courant" }, | 137 | { "Delete Current","Effacer courant" }, |
137 | { "Delete Event...","Effacer Evénement..." }, | 138 | { "Delete Event...","Effacer Evénement..." }, |
138 | { "Delete Event","Effacer Evénement" }, | 139 | { "Delete Event","Effacer Evénement" }, |
139 | { "&Delete","&Effacer &D" }, | 140 | { "&Delete","Effacer" }, |
140 | { "Delete...","Effacer..." }, | 141 | { "Delete...","Effacer..." }, |
141 | { "Delete","Effacer" }, | 142 | { "Delete","Effacer" }, |
142 | { "Delete Todo...","Effacer Tâche..." }, | 143 | { "Delete Todo...","Effacer Tâche..." }, |
143 | { "Delete To-Do","Effacer Tâche" }, | 144 | { "Delete To-Do","Effacer Tâche" }, |
144 | { "Deleting item %d ...","Effacer l'objet %d..." }, | 145 | { "Deleting item %d ...","Effacer l'objet %d..." }, |
145 | { "Descriptions","Descriptions" }, | 146 | { "Descriptions","Descriptions" }, |
146 | { "Deselect All","Tout Déselectionner" }, | 147 | { "Deselect All","Tout Déselectionner" }, |
147 | { "Details","Details" }, | 148 | { "Details","Details" }, |
148 | { "Dinner","Diner" }, | 149 | { "Dinner","Diner" }, |
149 | { "Do you really want\nto close KO/Pi?","Voulez vous vraiment quitter KO/PI?" }, | 150 | { "Do you really want\nto close KO/Pi?","Voulez vous vraiment quitter KO/PI?" }, |
150 | { "Due Date","Fin" }, | 151 | { "Due Date","Fin" }, |
151 | { "Due: ","Fin: "}, | 152 | { "Due: ","Fin: "}, |
152 | { "Due Time","Fin le" }, | 153 | { "Due Time","Fin le" }, |
153 | { "Due:","Fin:"}, | 154 | { "Due:","Fin:"}, |
154 | { "Duration: ","Durée: " }, | 155 | { "Duration: ","Durée: " }, |
155 | { "Edit...","Modifier..." }, | 156 | { "&Edit...","Modifier..." }, |
156 | { "Edit","Modifier" }, | 157 | { "Edit","Modifier" }, |
157 | { "Edit Event...","Modifier Evénement..." }, | 158 | { "Edit Event...","Modifier Evénement..." }, |
158 | { "Edit Event","Modifier Evénement" }, | 159 | { "Edit Event","Modifier Evénement" }, |
159 | { "Edit exceptions","Modifier exceptions" }, | 160 | { "Edit exceptions","Modifier exceptions" }, |
160 | { "EditorBox:","Fenêtre d'édition:" }, | 161 | { "EditorBox:","Fenêtre d'édition:" }, |
161 | { "Edit Recurrence Range","Modifier la fréquence" }, | 162 | { "Edit Recurrence Range","Modifier la fréquence" }, |
162 | { "Edit Todo...","Modifier Tâche..." }, | 163 | { "Edit Todo...","Modifier Tâche..." }, |
163 | { "Edit To-Do","Modifier Tâche" }, | 164 | { "Edit To-Do","Modifier Tâche" }, |
164 | { "E&mail address:","E&mail:" }, | 165 | { "E&mail address:","E&mail:" }, |
165 | { "(EmptyEmail)","(PasDEmail)" }, | 166 | { "(EmptyEmail)","(PasDEmail)" }, |
166 | { "(EmptyName)","(SansNom)" }, | 167 | { "(EmptyName)","(SansNom)" }, |
167 | { "Enable Recurrence","Activer la périodicité" }, | 168 | { "Enable Recurrence","Activer la périodicité" }, |
168 | { "End after","Fin après"}, | 169 | { "End after","Fin après"}, |
169 | { "End by:","Fini le"}, | 170 | { "End by:","Fini le"}, |
170 | { "End Date","Date de fin" }, | 171 | { "End Date","Date de fin" }, |
171 | { "End:","Fin:" }, | 172 | { "End:","Fin:" }, |
172 | { "End Time","heure de fin" }, | 173 | { "End Time","heure de fin" }, |
173 | { "English","Anglais" }, | 174 | { "English","Anglais" }, |
174 | { "Event","Evénement" }, | 175 | { "Event","Evénement" }, |
175 | { "Event list","Liste Even..." }, | 176 | { "Event list","Liste Even..." }, |
176 | { "Events","Evénements" }, | 177 | { "Events","Evénements" }, |
177 | { "Event Viewer:","Voir Rdv:" }, | 178 | { "Event Viewer:","Voir Rdv:" }, |
178 | { "every","Tous les" }, | 179 | { "every","Tous les" }, |
179 | { "Exceptions...","Exceptions..." }, | 180 | { "Exceptions...","Exceptions..." }, |
180 | { "Exceptions","Exceptions" }, | 181 | { "Exceptions","Exceptions" }, |
181 | { "Exclude holidays","Exclure les congés" }, | 182 | { "Exclude holidays","Exclure les congés" }, |
182 | { "Exclude Saturdays","Exclure les samedis" }, | 183 | { "Exclude Saturdays","Exclure les samedis" }, |
183 | { "Feb","Fev" }, | 184 | { "Feb","Fev" }, |
184 | { "February","Fevrier" }, | 185 | { "February","Fevrier" }, |
185 | { "&Find","chercher &F" }, | 186 | { "&Find","chercher &F" }, |
186 | { "Fonts","Polices" }, | 187 | { "Fonts","Polices" }, |
187 | { "Force take local entry always","Priorité aux objets locaux" }, | 188 | { "Force take local entry always","Priorité aux objets locaux" }, |
188 | { "Force take remote entry always","Priorité aux objets distants"}, | 189 | { "Force take remote entry always","Priorité aux objets distants"}, |
189 | { "Free","Libre" }, | 190 | { "Free","Libre" }, |
190 | { "Friday","Vendredi" }, | 191 | { "Friday","Vendredi" }, |
191 | { "Fri","Ven" }, | 192 | { "Fri","Ven" }, |
192 | { "From:","De:" }, | 193 | { "From:","De:" }, |
193 | { "Full &name:","&Nom et prénom:" }, | 194 | { "Full &name:","&Nom et prénom:" }, |
194 | { "General","General" }, | 195 | { "General","General" }, |
195 | { "German","Allemand" }, | 196 | { "German","Allemand" }, |
196 | { "Gifts","Cadeaux" }, | 197 | { "Gifts","Cadeaux" }, |
197 | { "Go to Today","-> Aujourd'hui" }, | 198 | { "Go to Today","-> Aujourd'hui" }, |
198 | { "Help","Aide" }, | 199 | { "Help","Aide" }, |
199 | { "Hide Dates","Cacher les Dates" }, | 200 | { "Hide Dates","Cacher les Dates" }, |
200 | { "Highlight color:","Sélection:" }, | 201 | { "Highlight color:","Sélection:" }, |
201 | { "Holiday color:","Congés:" }, | 202 | { "Holiday color:","Congés:" }, |
202 | { "hour(s)","heure(s)" }, | 203 | { "hour(s)","heure(s)" }, |
203 | { "In %1 days: ","Dans %1 jours: " }, | 204 | { "In %1 days: ","Dans %1 jours: " }, |
204 | { "Incomplete Todo:","tâches en cours:" }, | 205 | { "Incomplete Todo:","tâches en cours:" }, |
205 | { "Information","Information" }, | 206 | { "Information","Information" }, |
206 | { "Invalid search expression,\ncannot perform ","Recherche impossible:\nexpression incorrecte" }, | 207 | { "Invalid search expression,\ncannot perform ","Recherche impossible:\nexpression incorrecte" }, |
207 | { "Jan","Jan" }, | 208 | { "Jan","Jan" }, |
208 | { "January","Janvier" }, | 209 | { "January","Janvier" }, |
209 | { "JournalView:","Journal:" }, | 210 | { "JournalView:","Journal:" }, |
210 | { "Journals","Journaux" }, | 211 | { "Journals","Journaux" }, |
211 | { "Jul","Jul" }, | 212 | { "Jul","Jul" }, |
212 | { "July","Juillet" }, | 213 | { "July","Juillet" }, |
213 | { "Jump to date","Aller à la date" }, | 214 | { "Jump to date","Aller à la date" }, |
214 | { "June","Juin" }, | 215 | { "June","Juin" }, |
215 | { "Jun","Jun" }, | 216 | { "Jun","Jun" }, |
216 | { "Key Bindings...","Raccoucis..." }, | 217 | { "Key Bindings...","Raccoucis..." }, |
217 | { "Kids","Enfants" }, | 218 | { "Kids","Enfants" }, |
218 | { "Known Problems...","Problèmes connus..." }, | 219 | { "Known Problems...","Problèmes connus..." }, |
219 | { "KO/Pi Find ","Recherche KO/Pi " }, | 220 | { "KO/Pi Find ","Recherche KO/Pi " }, |
220 | { "KO/Pi Find: ","Recherche : " }, | 221 | { "KO/Pi Find: ","Recherche : " }, |
221 | { "KO/Pi is starting ... "," Démarrage de KO/Pi ... le temps d'un café ..." }, | 222 | { "KO/Pi is starting ... "," Démarrage de KO/Pi ... le temps d'un café ..." }, |
222 | { "Language:(needs restart)","Langue (redémarrage!)" }, | 223 | { "Language:(needs restart)","Langue (redémarrage!)" }, |
223 | { "Language:","Langue" }, | 224 | { "Language:","Langue" }, |
224 | { "Large","Moyen +" }, | 225 | { "Large","Moyen +" }, |
225 | { "List View:","Liste:" }, | 226 | { "List View:","Liste:" }, |
226 | { "List View","Liste" }, | 227 | { "List View","Liste" }, |
227 | { "Load/Save","Charger/Enreg..." }, | 228 | { "Load/Save","Charger/Enreg..." }, |
228 | { "Load Template","Charger Modèle" }, | 229 | { "Load Template","Charger Modèle" }, |
229 | { "Locale","Traduction" }, | 230 | { "Locale","Traduction" }, |
230 | { "Local temp file:","données temp.:" }, | 231 | { "Local temp file:","données temp.:" }, |
231 | { "Location: ","Lieu: " }, | 232 | { "Location: ","Lieu: " }, |
232 | { "Location:","Lieu:" }, | 233 | { "Location:","Lieu:" }, |
233 | { "Mail client","Client Mail" }, | 234 | { "Mail client","Client Mail" }, |
234 | { "Mail Client","Client Mail" }, | 235 | { "Mail Client","Client Mail" }, |
235 | { "March","Mars" }, | 236 | { "March","Mars" }, |
236 | { "Mar","Mar" }, | 237 | { "Mar","Mar" }, |
237 | { "May","Mai" }, | 238 | { "May","Mai" }, |
238 | { "M. Bains line:","Ligne M. Bains:" }, | 239 | { "M. Bains line:","Ligne M. Bains:" }, |
239 | { "Medium","Moyen -" }, | 240 | { "Medium","Moyen -" }, |
240 | { "Method","Methode" }, | 241 | { "Method","Methode" }, |
241 | { "minute(s)","Minute(s)" }, | 242 | { "minute(s)","Minute(s)" }, |
242 | { "Monday","Lundi" }, | 243 | { "Monday","Lundi" }, |
243 | { "Mon","Lu" }, | 244 | { "Mon","Lu" }, |
244 | { "Monthly","Mensuel" }, | 245 | { "Monthly","Mensuel" }, |
245 | { "Month not long enough","Le mois est trop court" }, | 246 | { "Month not long enough","Le mois est trop court" }, |
246 | { "month(s)","Mois" }, | 247 | { "month(s)","Mois" }, |
247 | { "Month view:","Vue Mensuelle:" }, | 248 | { "Month view:","Vue Mensuelle:" }, |
248 | { "Month view uses category colors","Utiliser les couleurs des cat. dans la vue mensuelle" }, | 249 | { "Month view uses category colors","Utiliser les couleurs des cat. dans la vue mensuelle" }, |
249 | { "Todo view uses category colors","Utiliser les couleurs des cat. dans la vue des tâches" }, | 250 | { "Todo view uses category colors","Utiliser les couleurs des cat. dans la vue des tâches" }, |
250 | { "Move &Down","&Descendre" }, | 251 | { "Move &Down","&Descendre" }, |
251 | { "Move &Up","Monter &U" }, | 252 | { "Move &Up","Monter &U" }, |
252 | { "Name:","Nom:" }, | 253 | { "Name:","Nom:" }, |
253 | { "Name","Nom" }, | 254 | { "Name","Nom" }, |
254 | { "\nAre you sure you want\nto delete this event?","\nConfirmez vous la suppression \nde l'événement?" }, | 255 | { "\nAre you sure you want\nto delete this event?","\nConfirmez vous la suppression \nde l'événement?" }, |
255 | { "%n Days","%n Jours" }, | 256 | { "%n Days","%n Jours" }, |
256 | { "Never","Jameais" }, | 257 | { "Never","Jameais" }, |
257 | { "New event...","Nouv. Even..." }, | 258 | { "New event...","Nouv. Even..." }, |
258 | { "New event","Nouv. Even" }, | 259 | { "New event","Nouv. Even" }, |
259 | { "New Event...","Nouv. Even..." }, | 260 | { "New Event...","Nouv. Even..." }, |
260 | { "New Events/Todos should","Nouv. Even/Tâche doivent" }, | 261 | { "New Events/Todos should","Nouv. Even/Tâche doivent" }, |
261 | { "&New","&Nouveau" }, | 262 | { "&New","&Nouveau" }, |
262 | { "New","Nouveau", }, | 263 | { "New","Nouveau", }, |
263 | { "New Sub-Todo...","Nouv Sous-Tâche..." }, | 264 | { "New Sub-Todo...","Nouv Sous-Tâche..." }, |
264 | { "New Todo...","Nouv Tâche..." }, | 265 | { "New Todo...","Nouv Tâche..." }, |
265 | { "Next Alarm: ","Prochaine Sonnerie: ", }, | 266 | { "Next Alarm: ","Prochaine Sonnerie: ", }, |
266 | { "&Next Day","&prochai&n Jour", }, | 267 | { "&Next Day","&prochai&n Jour", }, |
267 | { "Next days view uses full window","Prochains jours sur toute la fenêtre" }, | 268 | { "Next days view uses full window","Prochains jours sur toute la fenêtre" }, |
268 | { "Next month","Prochain mois" }, | 269 | { "Next month","Prochain mois" }, |
269 | { "&Next Week","prochai&ne semaine" }, | 270 | { "&Next Week","prochai&ne semaine" }, |
270 | { "Next year","Prochaine Année" }, | 271 | { "Next year","Prochaine Année" }, |
271 | { "Next Year","Prochaine Année" }, | 272 | { "Next Year","Prochaine Année" }, |
272 | { "%n h","%n h" }, | 273 | { "%n h","%n h" }, |
273 | { "No ending date","Pas de date de fin" }, | 274 | { "No ending date","Pas de date de fin" }, |
274 | { "No event, nothing to do.","Pas d'événement, pas de tâche" }, | 275 | { "No event, nothing to do.","Pas d'événement, pas de tâche" }, |
275 | { "No event selected.","Aucun événement sélectionné" }, | 276 | { "No event selected.","Aucun événement sélectionné" }, |
276 | { "No","Non" }, | 277 | { "No","Non" }, |
277 | { "No program set","Aucun Programme choisi", }, | 278 | { "No program set","Aucun Programme choisi", }, |
278 | { "Normal","Moyen" }, | 279 | { "Normal","Moyen" }, |
279 | { "[No selection]","Aucune sélection", }, | 280 | { "[No selection]","Aucune sélection", }, |
280 | { "No sound set","Pas de son choisi", }, | 281 | { "No sound set","Pas de son choisi", }, |
281 | { "no time ","pas d'heure", }, | 282 | { "no time ","pas d'heure", }, |
282 | { "no time","pas d'heure", }, | 283 | { "no time","pas d'heure", }, |
283 | { "No Time","pas d'heure" }, | 284 | { "No Time","pas d'heure" }, |
284 | { "November","Novembre" }, | 285 | { "November","Novembre" }, |
285 | { "Nov","Nov", }, | 286 | { "Nov","Nov", }, |
286 | { "\nThis event recurs\nover multiple dates.\n","\nCet Evénement est périodique.\n" }, | 287 | { "\nThis event recurs\nover multiple dates.\n","\nCet Evénement est périodique.\n" }, |
287 | { "occurrence(s)","occurrence(s)" }, | 288 | { "occurrence(s)","occurrence(s)" }, |
288 | { "October","Octobre" }, | 289 | { "October","Octobre" }, |
289 | { "Oct","Oct", }, | 290 | { "Oct","Oct", }, |
290 | { "O-due!","Ü-fällig! " }, | 291 | { "O-due!","Ü-fällig! " }, |
291 | { "&OK","&OK" }, | 292 | { "&OK","&OK" }, |
292 | { "Ok+Show!","Ok+Afficher" }, | 293 | { "Ok+Show!","Ok+Afficher" }, |
293 | { "Organizer: %1","Organisateur %1" }, | 294 | { "Organizer: %1","Organisateur %1" }, |
294 | { "Organizer","Organisateur" }, | 295 | { "Organizer","Organisateur" }, |
295 | { "Owner: ","Propriétaire: " }, | 296 | { "Owner: ","Propriétaire: " }, |
296 | { "Owner:","Propriétaire:" }, | 297 | { "Owner:","Propriétaire:" }, |
297 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorité:</b> %2</p>" }, | 298 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorité:</b> %2</p>" }, |
298 | { "Pick a date to display","Choisir un jour à afficher" }, | 299 | { "Pick a date to display","Choisir un jour à afficher" }, |
299 | { "Please specify a valid due date.","Spécifiez une date de fin valide."}, | 300 | { "Please specify a valid due date.","Spécifiez une date de fin valide."}, |
300 | { "Please specify a valid end date, for example '%1'.","Spécifiez une date de fin valide. ex:'%1'." }, | 301 | { "Please specify a valid end date, for example '%1'.","Spécifiez une date de fin valide. ex:'%1'." }, |
301 | { "Please specify a valid start date.","Spécifiez une date de début valide." }, | 302 | { "Please specify a valid start date.","Spécifiez une date de début valide." }, |
302 | { "Please specify a valid start date, for example '%1'.","Spécifiez une date de début valide. ex:'%1'." }, | 303 | { "Please specify a valid start date, for example '%1'.","Spécifiez une date de début valide. ex:'%1'." }, |
303 | { "Please specify a valid start time.","Spécifiez une date de début valide"}, | 304 | { "Please specify a valid start time.","Spécifiez une date de début valide"}, |
304 | { "Please specify a valid start time, for example '%1'.","Spécifiez une date de début valide. ex:'%1'." }, | 305 | { "Please specify a valid start time, for example '%1'.","Spécifiez une date de début valide. ex:'%1'." }, |
305 | { "Preferences - some settings need a restart (nr)","Préférence - certains réglages nécessitent un redémarrage (bn)" }, | 306 | { "Preferences - some settings need a restart (nr)","Préférence - certains réglages nécessitent un redémarrage (bn)" }, |
306 | { "&Previous Day","Jour précédent" }, | 307 | { "&Previous Day","Jour précédent" }, |
307 | { "Previous month","Mois précédent" }, | 308 | { "Previous month","Mois précédent" }, |
308 | { "Previous Month","Mois précédent" }, | 309 | { "Previous Month","Mois précédent" }, |
309 | { "&Previous Week","Semaine précédente" }, | 310 | { "&Previous Week","Semaine précédente" }, |
310 | { "Previous year","Année Précédente" }, | 311 | { "Previous year","Année Précédente" }, |
311 | { "Previous Year","Année Précédente" }, | 312 | { "Previous Year","Année Précédente" }, |
312 | { "Printing","Imprimer" }, | 313 | { "Printing","Imprimer" }, |
313 | { "&Print...","Im&primer" }, | 314 | { "&Print...","Im&primer" }, |
314 | { "Print","Impression" }, | 315 | { "Print","Impression" }, |
315 | { "Print calendar...","Imprimer calendrier..." }, | 316 | { "Print calendar...","Imprimer calendrier..." }, |
316 | { "View Type","Type de vue"}, | 317 | { "View Type","Type de vue"}, |
317 | { "Print day","Jour" }, | 318 | { "Print day","Jour" }, |
318 | { "Print week","Semaine" }, | 319 | { "Print week","Semaine" }, |
319 | { "Print month","Mois" }, | 320 | { "Print month","Mois" }, |
320 | { "Print todos","Tâches" }, | 321 | { "Print todos","Tâches" }, |
321 | { "&Setup Printer...","Imprimante&s" }, | 322 | { "&Setup Printer...","Imprimante&s" }, |
322 | { "Date & Time Range","Date et interval" }, | 323 | { "Date & Time Range","Date et interval" }, |
323 | { "Start month:","Mois départ:" }, | 324 | { "Start month:","Mois départ:" }, |
324 | { "End month:","Mois fin:" }, | 325 | { "End month:","Mois fin:" }, |
325 | { "Print week numbers","Imprimer les numéros de semaine" }, | 326 | { "Print week numbers","Imprimer les numéros de semaine" }, |
326 | { "Include todos that are due on the printed day(s)","Inclure les tâches liées au(x) jour(s) imprimé(s)" }, | 327 | { "Include todos that are due on the printed day(s)","Inclure les tâches liées au(x) jour(s) imprimé(s)" }, |
327 | { "Priority:","Priorité:" }, | 328 | { "Priority:","Priorité:" }, |
328 | { "Private","Privé" }, | 329 | { "Private","Privé" }, |
329 | { "Proceed","Lancer" }, | 330 | { "Proceed","Lancer" }, |
330 | { "Public","Public" }, | 331 | { "Public","Public" }, |
331 | { "Purge","Entferne" }, | 332 | { "Purge","Entferne" }, |
332 | { "Purge Completed","Effacer les Tâches achevées" }, | 333 | { "Purge Completed","Effacer les Tâches achevées" }, |
333 | { "Purge To-Dos","Effacer les Tâches" }, | 334 | { "Purge To-Dos","Effacer les Tâches" }, |
334 | { "read-only","lecture seule" }, | 335 | { "read-only","lecture seule" }, |
335 | { "Recur every","Tous les " }, | 336 | { "Recur every","Tous les " }, |
336 | { "Recur in the month of","Reproduit au mois de" }, | 337 | { "Recur in the month of","Reproduit au mois de" }, |
337 | { "Recur on the","Reproduit le" }, | 338 | { "Recur on the","Reproduit le" }, |
338 | { "Recur on this day","Reproduit durant ce jour" }, | 339 | { "Recur on this day","Reproduit durant ce jour" }, |
339 | { "Recurrence Range...","Fréquence..." }, | 340 | { "Recurrence Range...","Fréquence..." }, |
340 | { "Recurrence Range","Fréquence" }, | 341 | { "Recurrence Range","Fréquence" }, |
341 | { "Recurrence Rule","Règle de périodicité" }, | 342 | { "Recurrence Rule","Règle de périodicité" }, |
342 | { "Recurrence","Périodicité" }, | 343 | { "Recurrence","Périodicité" }, |
343 | { "Recurs","Periode" }, | 344 | { "Recurs","Periode" }, |
344 | {"&Reject","&Rejetter"}, | 345 | {"&Reject","&Rejetter"}, |
345 | { "Reminder:","Rappel:" }, | 346 | { "Reminder:","Rappel:" }, |
346 | { "Rem.:","Rappel:" }, | 347 | { "Rem.:","Rappel:" }, |
347 | { "Rem.","Rappel:" }, | 348 | { "Rem.","Rappel:" }, |
348 | { "Remote file:","Fichier Distant:"}, | 349 | { "Remote file:","Fichier Distant:"}, |
349 | { "Remote IP:","IP Distante:" }, | 350 | { "Remote IP:","IP Distante:" }, |
350 | { "Remote syncing (via ssh/scp) network settings ","Synchro Distante (via ssh/scp) Paramètres réseau" }, | 351 | { "Remote syncing (via ssh/scp) network settings ","Synchro Distante (via ssh/scp) Paramètres réseau" }, |
351 | { "Remote user:","Utilisateur Dist."}, | 352 | { "Remote user:","Utilisateur Dist."}, |
352 | { "&Remove","efface&r" }, | 353 | { "&Remove","efface&r" }, |
353 | { "Remove","effacer" }, | 354 | { "Remove","effacer" }, |
354 | { "Request response","Demander une réponse" }, | 355 | { "Request response","Demander une réponse" }, |
355 | { "Role:","Rôle:" }, | 356 | { "Role:","Rôle:" }, |
356 | { "Role","Rôle" }, | 357 | { "Role","Rôle" }, |
357 | { "Sat","Sa" }, | 358 | { "Sat","Sa" }, |
358 | { "Saturday","Samedi" }, | 359 | { "Saturday","Samedi" }, |
359 | { "Search for:","Rechercher:" }, | 360 | { "Search for:","Rechercher:" }, |
360 | { "Search In","chercher dans" }, | 361 | { "Search In","chercher dans" }, |
361 | { "Search...","Chercher..." }, | 362 | { "Search...","Chercher..." }, |
362 | { "Search","Chercher" }, | 363 | { "Search","Chercher" }, |
363 | { "Select Addresses","Selectionner Adresses" }, | 364 | { "Select Addresses","Selectionner Adresses" }, |
364 | { "Select all","Tout sélectionner" }, | 365 | { "Select all","Tout sélectionner" }, |
365 | { "Select a month","Choisir Mois" }, | 366 | { "Select a month","Choisir Mois" }, |
366 | { "Select a week","Choisir Semaine" }, | 367 | { "Select a week","Choisir Semaine" }, |
367 | { "Select a year","Choisir année" }, | 368 | { "Select a year","Choisir année" }, |
368 | { "Send directly","Envoyer Directement" }, | 369 | { "Send directly","Envoyer Directement" }, |
369 | { "&Send Messages","envoyer les me&ssages", }, | 370 | { "&Send Messages","envoyer les me&ssages", }, |
370 | { "Sep","Sep" }, | 371 | { "Sep","Sep" }, |
371 | { "September","Septembre" }, | 372 | { "September","Septembre" }, |
372 | { "Shopping","Courses" }, | 373 | { "Shopping","Courses" }, |
373 | { "Use short date in (WN/E) view","Date abrégée dans la vue (WN/E)" }, | 374 | { "Use short date in (WN/E) view","Date abrégée dans la vue (WN/E)" }, |
374 | { "Show Dates","Voir dates" }, | 375 | { "Show Dates","Voir dates" }, |
375 | { "Show events that recur daily in date nav.","Voir les éven. quotidiens dans le calendrier" }, | 376 | { "Show events that recur daily in date nav.","Voir les éven. quotidiens dans le calendrier" }, |
376 | { "Show Event...","Voir éven..." }, | 377 | { "Show Event...","Voir éven..." }, |
377 | { "Show ev. that recur weekly in date nav.","Voir les éven. hebdo. dans le calendrier" }, | 378 | { "Show ev. that recur weekly in date nav.","Voir les éven. hebdo. dans le calendrier" }, |
378 | { "Show Marcus Bains line","Voir la ligne Marcus Bains" }, | 379 | { "Show Marcus Bains line","Voir la ligne Marcus Bains" }, |
379 | { "Show summary after syncing","Voir résumé après la Synchro" }, | 380 | { "Show summary after syncing","Voir résumé après la Synchro" }, |
380 | { "Show time as:","Heure:" }, | 381 | { "Show time as:","Heure:" }, |
381 | { "Show Todo...","Voir tâche..." }, | 382 | { "Show Todo...","Voir tâche..." }, |
382 | { "Show topmost todo prios in What's Next:","Afficher Tâches prio dans 'A venir':"}, | 383 | { "Show topmost todo prios in What's Next:","Afficher Tâches prio dans 'A venir':"}, |
383 | { "Show topmost todo prios in What Next:","Afficher Tâches prio dans 'A venir':"}, | 384 | { "Show topmost todo prios in What Next:","Afficher Tâches prio dans 'A venir':"}, |
384 | { "Show vertical screen (Needs restart)","Affichage Vertical (redémarrage!)" }, | 385 | { "Show vertical screen (Needs restart)","Affichage Vertical (redémarrage!)" }, |
385 | { "&Show","&Voir &I" }, | 386 | { "&Show","&Voir" }, |
386 | { "Show...","Voir..." }, | 387 | { "Show...","Voir..." }, |
387 | { "Show","Voir" }, | 388 | { "Show","Voir" }, |
388 | { "Small","Petit" }, | 389 | { "Small","Petit" }, |
389 | { "Sorry","Désolé" }, | 390 | { "Sorry","Désolé" }, |
390 | {"Sorry, the copy command failed!\nCommand was:\n","Désolé,\n erreur dans la commande:\n"}, | 391 | {"Sorry, the copy command failed!\nCommand was:\n","Désolé,\n erreur dans la commande:\n"}, |
391 | { "Start:","Démarrer:" }, | 392 | { "Start:","Démarrer:" }, |
392 | { "Start Date","Date Début" }, | 393 | { "Start Date","Date Début" }, |
393 | { "Start date: %1","Date Début: %1" }, | 394 | { "Start date: %1","Date Début: %1" }, |
394 | { "Start Time","Heure début" }, | 395 | { "Start Time","Heure début" }, |
395 | { "Status:","Etat:" }, | 396 | { "Status:","Etat:" }, |
396 | { "Status","Etat:" }, | 397 | { "Status","Etat:" }, |
397 | { "Summaries","Titre" }, | 398 | { "Summaries","Titre" }, |
398 | { "Summary:","Titre:" }, | 399 | { "Summary:","Titre:" }, |
399 | { "Summary","Titre" }, | 400 | { "Summary","Titre" }, |
400 | { "Sunday","Dimanche" }, | 401 | { "Sunday","Dimanche" }, |
401 | { "Sun","Dim" }, | 402 | { "Sun","Dim" }, |
402 | { "Sync preferences:","Prefs Synchro" }, | 403 | { "Sync preferences:","Prefs Synchro" }, |
403 | { "Sync Prefs","Prefs Synchro" }, | 404 | { "Sync Prefs","Prefs Synchro" }, |
404 | { "Syncronize","Synchroniser" }, | 405 | { "Syncronize","Synchroniser" }, |
405 | { "Take local entry on conflict","Conflit: prendre les objets locaux " }, | 406 | { "Take local entry on conflict","Conflit: prendre les objets locaux " }, |
406 | { "Take newest entry on conflict","Conflit: prendre les objets les plus récents" }, | 407 | { "Take newest entry on conflict","Conflit: prendre les objets les plus récents" }, |
407 | { "Take remote entry on conflict","Conflit: prendre les objets distants" }, | 408 | { "Take remote entry on conflict","Conflit: prendre les objets distants" }, |
408 | { "Template '%1' does not contain a valid Todo.","Le modèle '%1' ne contient pas de tâche valide" }, | 409 | { "Template '%1' does not contain a valid Todo.","Le modèle '%1' ne contient pas de tâche valide" }, |
409 | { "Template does not contain a valid Event.","Le modèle '%1' ne contient pas d'even. valide" }, | 410 | { "Template does not contain a valid Event.","Le modèle '%1' ne contient pas d'even. valide" }, |
410 | { "Template...","Modèle..." }, | 411 | { "Template...","Modèle..." }, |
411 | { "This day","Ce jour" }, | 412 | { "This day","Ce jour" }, |
412 | { "This is an experimental feature. ","Fonction experimentale" }, | 413 | { "This is an experimental feature. ","Fonction experimentale" }, |
413 | { "This item will be\npermanently deleted.","Cet objet sera\ndétruit." }, | 414 | { "This item will be\npermanently deleted.","Cet objet sera\ndétruit." }, |
414 | { "This item will be permanently deleted.", "Cet objet sera détruit" }, | 415 | { "This item will be permanently deleted.", "Cet objet sera détruit" }, |
415 | { "Thu","Jeu" }, | 416 | { "Thu","Jeu" }, |
416 | { "Thursday","Jeudi" }, | 417 | { "Thursday","Jeudi" }, |
417 | { "Time associated","Heure associée" }, | 418 | { "Time associated","Heure associée" }, |
418 | { "Time bar:","Barre des heures:" }, | 419 | { "Time bar:","Barre des heures:" }, |
419 | { "Time && Date","Date && Heure" }, | 420 | { "Time && Date","Date && Heure" }, |
420 | { "Time Format","Format heure" }, | 421 | { "Time Format","Format heure" }, |
421 | { "Time Format(nr):","Format heure (redémarrage!)" }, | 422 | { "Time Format(nr):","Format heure (redémarrage!)" }, |
422 | { "Date Labels:","Etiquettes date:" }, | 423 | { "Date Labels:","Etiquettes date:" }, |
423 | { "Time: ","Heure: " }, | 424 | { "Time: ","Heure: " }, |
424 | { "Timezone:","Période:" }, | 425 | { "Timezone:","Fuseau horaire :" }, |
425 | { "Tiny","Très petit" }, | 426 | { "Tiny","Très petit" }, |
426 | { "To: ","à: " }, | 427 | { "To: ","à: " }, |
427 | { "To:","à:" }, | 428 | { "To:","à:" }, |
428 | { "Today: ","Aujourd'hui: " }, | 429 | { "Today: ","Aujourd'hui: " }, |
429 | { "Todo due today color:","Couleurs des tâches du jour" }, | 430 | { "Todo due today color:","Couleurs des tâches du jour" }, |
430 | { "To-do items:","Tâches:" }, | 431 | { "To-do items:","Tâches:" }, |
431 | { "Todo overdue color:","Couleurs des taches en retard " }, | 432 | { "Todo overdue color:","Couleurs des taches en retard " }, |
432 | { "Todo","Tâche" }, | 433 | { "Todo","Tâche" }, |
433 | { "Todo Viewer","Visualisation" }, | 434 | { "Todo Viewer","Visualisation" }, |
434 | { "To-do view shows completed Todos","Voir les Tâches achevées dans la liste" }, | 435 | { "To-do view shows completed Todos","Voir les Tâches achevées dans la liste" }, |
435 | { "ToDoView:","Liste des tâches:" }, | 436 | { "ToDoView:","Liste des tâches:" }, |
436 | { "Toggle Alarm","Sonnerie" }, | 437 | { "Toggle Alarm","Sonnerie" }, |
437 | { "Toggle Allday","Afficher Journée" }, | 438 | { "Toggle Allday","Afficher Journée" }, |
438 | { "Tomorrow: ","Demain: " }, | 439 | { "Tomorrow: ","Demain: " }, |
439 | { "Tue","Mar" }, | 440 | { "Tue","Mar" }, |
440 | { "Tuesday","Mardi" }, | 441 | { "Tuesday","Mardi" }, |
441 | { "Two entries are in conflict, if: ","deux objets sont en conflit si:" }, | 442 | { "Two entries are in conflict, if: ","deux objets sont en conflit si:" }, |
442 | { "Unable to find template '%1'.","modèle '%1' introuvable." }, | 443 | { "Unable to find template '%1'.","modèle '%1' introuvable." }, |
443 | { "Unknown","Inconnu" }, | 444 | { "Unknown","Inconnu" }, |
444 | { "Up","Monter" }, | 445 | { "Up","Monter" }, |
445 | { "Use password (if not, ask when syncing)","mot de passe: (demandé sinon à la synchro)" }, | 446 | { "Use password (if not, ask when syncing)","mot de passe: (demandé sinon à la synchro)" }, |
446 | { "User defined","Choix utilisateur" }, | 447 | { "User defined","Choix utilisateur" }, |
447 | { "User long date:","Format Dates longues:" }, | 448 | { "User long date:","Format Dates longues:" }, |
448 | { "User short date:","Format Dates courtes:" }, | 449 | { "User short date:","Format Dates courtes:" }, |
449 | { "What's Next","A venir..." }, | 450 | { "What's Next","A venir..." }, |
450 | { "View","Vue" }, | 451 | { "View","Vue" }, |
451 | { "View Fonts","Voir police" }, | 452 | { "View Fonts","Voir police" }, |
452 | { "Views","Vues" }, | 453 | { "Views","Vues" }, |
453 | { "Wed","Mer" }, | 454 | { "Wed","Mer" }, |
454 | { "Wednesday","Mercredi" }, | 455 | { "Wednesday","Mercredi" }, |
455 | { "Week %1","Semaine %1" }, | 456 | { "Week %1","Semaine %1" }, |
456 | { "Weekly","Hebdomadaire" }, | 457 | { "Weekly","Hebdomadaire" }, |
457 | { "Week starts on Sunday","La semaine commence Dim." }, | 458 | { "Week starts on Sunday","La semaine commence Dim." }, |
458 | { "What's Next View:","Vue "A venir..." " }, | 459 | { "What's Next View:","Vue "A venir..." " }, |
459 | { "What's Next ?","A venir..." }, | 460 | { "What's Next ?","A venir..." }, |
460 | { "Working Hours","Horaires de travail" }, | 461 | { "Working Hours","Horaires de travail" }, |
461 | { "Working hours color:","Couleur des heures de travail:" }, | 462 | { "Working hours color:","Couleur des heures de travail:" }, |
462 | { "Write back existing entries only","Ne réécrire que les objets existants" }, | 463 | { "Write back existing entries only","Ne réécrire que les objets existants" }, |
463 | { "Write back synced file","Ne réécrire que les objets synchronisés" }, | 464 | { "Write back synced file","Ne réécrire que les objets synchronisés" }, |
464 | { "Yearly","Annuel" }, | 465 | { "Yearly","Annuel" }, |
465 | { "year(s)","année(s)" }, | 466 | { "year(s)","année(s)" }, |
466 | { "Yes","Oui" }, | 467 | { "Yes","Oui" }, |
467 | { "You have %d item(s) selected.\n","%d Objets sélectionnés.\n" }, | 468 | { "You have %d item(s) selected.\n","%d Objets sélectionnés.\n" }, |
468 | { "You have to restart KOrganizer for this setting to take effect.","Vous devez redémarrer KO/Pi pour que ces modifications prennent effet." }, | 469 | { "You have to restart KOrganizer for this setting to take effect.","Vous devez redémarrer KO/Pi pour que ces modifications prennent effet." }, |
469 | { "week(s) on:","Semaine(s) le: " }, | 470 | { "week(s) on:","Semaine(s) le: " }, |
470 | { "Full menu bar(nr)","Barre menu complète" }, | 471 | { "Full menu bar(nr)","Barre menu complète" }, |
471 | { "Timezone has daylight saving","Utilisation heure d'été" }, | 472 | { "Timezone has daylight saving","Utilisation heure d'été" }, |
472 | { "Actual start and end is the\nsunday before this date.","Date de départ est le\ndimanche précédent." }, | 473 | { "Actual start and end is the\nsunday before this date.","Le début et la fin de cette\npériode est le dimanche précédent la date.." }, |
473 | { "The year in the date is ignored.","L'année de cette date est ignorée." }, | 474 | { "The year in the date is ignored.","L'année de cette date est ignorée." }, |
474 | { "Daylight start:","Heure d'été à partir:" }, | 475 | { "Daylight start:","Heure d'été à partir:" }, |
475 | { "Daylight end:","Heure d'hiver à partir:" }, | 476 | { "Daylight end:","Heure d'hiver à partir:" }, |
476 | { "Time Zone","Heure de" }, | 477 | { "Add 30 min to selected Timezone","Ajout de 30 min au fuseau sélectionné" }, |
478 | { "Used Mail Client","Client mail utilisé" }, | ||
479 | { "Channel:","Canal:" }, | ||
480 | { "Message:","Message:" }, | ||
481 | { "Parameters:","Paramètres:" }, | ||
482 | { "HINT: Delimiter=; Name=%1,Email=%2","INFO: Delimiteur=; Nom=%1,Email=%2" }, | ||
483 | { "extra Message:","Message supp.:" }, | ||
484 | { "extra Parameters:","Paramètres supp.:" }, | ||
485 | { "HINT: Emails=%1,Attachments=%2","INFO: Emails=%1,Pièce jointe=%2" }, | ||
486 | { "External Apps.","Prog.externes" }, | ||
487 | { "+01:00 Europa/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, | ||
488 | { "Used %1 Client","Utiliser comme Client %1" }, | ||
489 | { "No email client installed","Pas de client mail installé" }, | ||
490 | { "Userdefined email client","Client mail indéfini" }, | ||
491 | { "OM/Pi email client","OM/Pi Client mail" }, | ||
492 | { "Time Zone","Fuseau horaire" }, | ||
477 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 Avril 2004: %A %d %B %Y" }, | 493 | { "Monday 19 April 2004: %A %d %B %Y","Lundi 19 Avril 2004: %A %d %B %Y" }, |
478 | { "%A: Monday --- %a: Mon","%A: Lundi --- %a: Lun" }, | 494 | { "%A: Monday --- %a: Mon","%A: Lundi --- %a: Lun" }, |
479 | { "minutely","par min" }, | 495 | { "minutely","par min" }, |
480 | { "hourly","horaire" }, | 496 | { "hourly","horaire" }, |
481 | { "daily","quotidien" }, | 497 | { "daily","quotidien" }, |
482 | { "weekly","hebdomadaire" }, | 498 | { "weekly","hebdomadaire" }, |
483 | { "monthly","mensuel" }, | 499 | { "monthly","mensuel" }, |
484 | { "day-monthly","jour-mois" }, | 500 | { "day-monthly","jour-mois" }, |
485 | { "month-yearly","mois-année" }, | 501 | { "month-yearly","mois-année" }, |
486 | { "day-yearly","jour-année" }, | 502 | { "day-yearly","jour-année" }, |
487 | { "position-yearly","pos-annuel" }, | 503 | { "position-yearly","pos-annuel" }, |
488 | { "Edit item on doubleclick (if not, show)","Double-cliquer pour éditer (sinon, pour voir)" }, | 504 | { "Edit item on doubleclick (if not, show)","Double-cliquer pour éditer (sinon, pour voir)" }, |
489 | { "Highlight current day in agenda","Surligner aujourd'hui dans l'agenda" }, | 505 | { "Highlight current day in agenda","Surligner aujourd'hui dans l'agenda" }, |
490 | { "Use light color for highlight current day","Couleur claire pour surligner aujourd'hui" }, | 506 | { "Use light color for highlight current day","Couleur claire pour surligner aujourd'hui" }, |
491 | { "Highlight selection in Time Edit","Surligner la selection dans le "time edit" " }, | 507 | { "Highlight selection in Time Edit","Surligner la selection dans le "time edit" " }, |
492 | { "Hold fullscreen on view change","Passer en plein écran au chgt. de vue" }, | 508 | { "Hold fullscreen on view change","Passer en plein écran au chgt. de vue" }, |
493 | { "Hold non-fullscreen on view change","Quitter le plein écran au chgt. de vue" }, | 509 | { "Hold non-fullscreen on view change","Quitter le plein écran au chgt. de vue" }, |
494 | { "Event list view uses full window","Liste des even. en plein écran" }, | 510 | { "Event list view uses full window","Liste des even. en plein écran" }, |
495 | { "Set agenda to DayBeginsAt on change","Jour de départ au chgt. de vue" }, | 511 | { "Set agenda to DayBeginsAt on change","Jour de départ au chgt. de vue" }, |
496 | { "Set agenda to current time on change","Heure de départ au chgt. de vue" }, | 512 | { "Set agenda to current time on change","Heure de départ au chgt. de vue" }, |
497 | { "Listview uses monthly timespan","Vue mensuelle de la liste" }, | 513 | { "Listview uses monthly timespan","Vue mensuelle de la liste" }, |
498 | { "Enable tooltips displaying summary of ev.","Bulles d'information des événements" }, | 514 | { "Enable tooltips displaying summary of ev.","Bulles d'information des événements" }, |
499 | { "ViewChange","Changer Vue" }, | 515 | { "ViewChange","Changer Vue" }, |
500 | { "Default alarm *.wav file:","Sonnerie par défaut (*.wav):" }, | 516 | { "Default alarm *.wav file:","Sonnerie par défaut (*.wav):" }, |
501 | { "This setting is useless for 5500 user!","Reglage inutile pour le Z5500" }, | 517 | { "This setting is useless for 5500 user!","Reglage inutile pour le Z5500" }, |
502 | { "File","Fichier" }, | 518 | { "File","Fichier" }, |
503 | { "Clone...","Cloner.." }, | 519 | { "Clone...","Cloner.." }, |
504 | { "Move...","Déplacer..." }, | 520 | { "Move...","Déplacer..." }, |
505 | { "Beam...","Env par IR..." }, | 521 | { "Beam...","Env par IR..." }, |
506 | { "&Clone...","&Cloner.." }, | 522 | { "&Clone...","&Cloner.." }, |
507 | { "&Move...","&Déplacer &M..." }, | 523 | { "&Move...","Déplacer..." }, |
508 | { "&Beam...","&Env par IR &B..." }, | 524 | { "&Beam...","&Env par IR &B..." }, |
509 | { "Show Completed","Tâches achevées" }, | 525 | { "Show Completed","Tâches achevées" }, |
510 | { "Show Quick Todo","Tâches rapides" }, | 526 | { "Show Quick Todo","Tâches rapides" }, |
511 | { "Unparent Todo","Tâche ss dépendance" }, | 527 | { "Unparent Todo","Tâche ss dépendance" }, |
512 | { "Save selected to file...","Sauver sélection..." }, | 528 | { "Save selected to file...","Sauver sélection..." }, |
513 | { "Add Categ. to selected...","Ajout Cat. à la sélection..." }, | 529 | { "Add Categ. to selected...","Ajout Cat. à la sélection..." }, |
514 | { "Set Categ. for selected...","Ajout Cat. à la sélection." }, | 530 | { "Set Categ. for selected...","Ajout Cat. à la sélection." }, |
515 | { "Beam selected via IR","Env Sel. par IR..." }, | 531 | { "Beam selected via IR","Env Sel. par IR..." }, |
516 | { "Search","Chercher" }, | 532 | { "Search","Chercher" }, |
517 | { "Date Picker","Choix Date" }, | 533 | { "Date Picker","Choix Date" }, |
518 | { "Day View","Vue journée" }, | 534 | { "Day View","Vue journée" }, |
519 | { "Work Week","Sem de trav" }, | 535 | { "Work Week","Sem de trav" }, |
520 | { "Week","Semaine" }, | 536 | { "Week","Semaine" }, |
521 | { "Month","Mois" }, | 537 | { "Month","Mois" }, |
522 | { "Todo View","Liste des tâches" }, | 538 | { "Todo View","Liste des tâches" }, |
523 | { "Journal","Journal" }, | 539 | { "Journal","Journal" }, |
524 | { "Next days","Jours suiv" }, | 540 | { "Next days","Jours suiv" }, |
525 | { "Print agenda selection...","Imprimer la sélection..." }, | 541 | { "Print agenda selection...","Imprimer la sélection..." }, |
526 | { "Toggle DateNavigator","Calendrier" }, | 542 | { "Toggle DateNavigator","Calendrier" }, |
527 | { "Toggle FilterView","Filtre" }, | 543 | { "Toggle FilterView","Filtre" }, |
528 | { "Prev. month","Mois préced" }, | 544 | { "Prev. month","Mois préced" }, |
529 | { "Go backward","Retour" }, | 545 | { "Go backward","Retour" }, |
530 | { "Go forward","Suite" }, | 546 | { "Go forward","Suite" }, |
531 | { "Synchronize","Synchroniser" }, | 547 | { "Synchronize","Synchroniser" }, |
532 | { "AgendaSize","Taille Agenda }, | 548 | { "AgendaSize","Taille Agenda }, |
533 | { "Import (*.ics/*.vcs) file","Importer (*.ics,*.vcs)" }, | 549 | { "Import (*.ics/*.vcs) file","Importer (*.ics,*.vcs)" }, |
534 | { "Import last file","Importer dern. fich." }, | 550 | { "Import last file","Importer dern. fich." }, |
535 | { "Import Opie/Qtopia Cal.","Importer Opie/Qtopia cal." }, | 551 | { "Import Opie/Qtopia Cal.","Importer Opie/Qtopia cal." }, |
536 | { "Import Birthdays (KA/Pi)","Importer anniversaires de KAPi" }, | 552 | { "Import Birthdays (KA/Pi)","Importer anniversaires de KAPi" }, |
537 | { "Import from OL","Importer depuis Outlook" }, | 553 | { "Import from OL","Importer depuis Outlook" }, |
538 | { "Load Calendar Backup","Ouvrir une sauvegarde" }, | 554 | { "Load Calendar Backup","Ouvrir une sauvegarde" }, |
539 | { "Save Calendar Backup","Créer une sauvegarde" }, | 555 | { "Save Calendar Backup","Créer une sauvegarde" }, |
540 | { "Export VCalendar","Exporter vCalendar" }, | 556 | { "Export VCalendar","Exporter vCalendar" }, |
541 | { "Manage new categories...","Gérer les nlles catégories" }, | 557 | { "Manage new categories...","Gérer les nlles catégories" }, |
542 | { "Beam complete calendar...","Env. tout par IR" }, | 558 | { "Beam complete calendar...","Env. tout par IR" }, |
543 | { "Beam filtered calendar...","Env. don. filtrées par IR" }, | 559 | { "Beam filtered calendar...","Env. don. filtrées par IR" }, |
544 | { "Remote via ssh","Distant par ssh" }, | 560 | { "Remote via ssh","Distant par ssh" }, |
545 | { "With local file","Fichier local" }, | 561 | { "With local file","Fichier local" }, |
546 | { "With last file","Dernier fichier" }, | 562 | { "With last file","Dernier fichier" }, |
547 | { "KO/Pi: Ready for beaming","KO/Pi: prêt a envoyer" }, | 563 | { "KO/Pi: Ready for beaming","KO/Pi: prêt a envoyer" }, |
548 | { "KO/Pi:Beaming done","KO/Pi: Envoi terminé!" }, | 564 | { "KO/Pi:Beaming done","KO/Pi: Envoi terminé!" }, |
549 | { "Save filename","Enrgister nom" }, | 565 | { "Save filename","Enrgister nom" }, |
550 | { "File already exists!\nOld file from:\n%1\nOverwrite?\n","Fichier déja existant!\nEcraser l'ancien fichier de:\n%1?\n" }, | 566 | { "File already exists!\nOld file from:\n%1\nOverwrite?\n","Fichier déja existant!\nEcraser l'ancien fichier de:\n%1?\n" }, |
551 | { "KO/Pi: Warning!","KO/Pi: Attention!" }, | 567 | { "KO/Pi: Warning!","KO/Pi: Attention!" }, |
552 | { "Overwrite!","Ecrase!" }, | 568 | { "Overwrite!","Ecrase!" }, |
553 | { "KO/Pi:Saved %1","KO/Pi:%1 Enregistré" }, | 569 | { "KO/Pi:Saved %1","KO/Pi:%1 Enregistré" }, |
554 | { "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Tous les objets sélectionnés\nseront définitivements effacés.\n(l'effacement peut être\nlong sur un PDA)\n" }, | 570 | { "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Tous les objets sélectionnés\nseront définitivements effacés.\n(l'effacement peut être\nlong sur un PDA)\n" }, |
555 | { "KO/Pi Confirmation","Confirmation KO/Pi" }, | 571 | { "KO/Pi Confirmation","Confirmation KO/Pi" }, |
556 | { "Close dialog to abort deletion!","Fermer la fenêtre pour annuler l'eff.!" }, | 572 | { "Close dialog to abort deletion!","Fermer la fenêtre pour annuler l'eff.!" }, |
557 | { "Deleting item %d ...","Effacer objet %d ..." }, | 573 | { "Deleting item %d ...","Effacer objet %d ..." }, |
558 | { "%d items remaining in list.","%d objets réstants." }, | 574 | { "%d items remaining in list.","%d objets réstants." }, |
559 | { "Size","Taille" }, | 575 | { "Size","Taille" }, |
560 | { "Date","Date" }, | 576 | { "Date","Date" }, |
561 | { "Mime Type","Type mime" }, | 577 | { "Mime Type","Type mime" }, |
562 | { "All Files","Ts les fichiers" }, | 578 | { "All Files","Ts les fichiers" }, |
563 | { "Files","Fichiers" }, | 579 | { "Files","Fichiers" }, |
564 | { "Documents","Documents" }, | 580 | { "Documents","Documents" }, |
565 | { "Select Categories","Selectionner Categ." }, | 581 | { "Select Categories","Selectionner Categ." }, |
566 | { " &Deselect All ","Tout &Desélectionner" }, | 582 | { " &Deselect All ","Tout &Desélectionner" }, |
567 | { "A&dd","Ajout &d" }, | 583 | { "A&dd","Ajout &d" }, |
568 | { "&Modify","&Modifier" }, | 584 | { "&Modify","&Modifier" }, |
569 | { "Edit Categories","Editer Catergories" }, | 585 | { "Edit Categories","Editer Catergories" }, |
570 | { " &Edit Categories "," &Editer Catergories " }, | 586 | { " &Edit Categories "," &Editer Catergories " }, |
571 | { "Beam Options","Env Options par IR" }, | 587 | { "Beam Options","Env Options par IR" }, |
572 | { " With timezone "," Avec zone " }, | 588 | { " With timezone "," Avec zone " }, |
573 | { " Local time ", " Heure locale " }, | 589 | { " Local time ", " Heure locale " }, |
574 | { "Manage new Categories","Gérer les nlles Catégories" }, | 590 | { "Manage new Categories","Gérer les nlles Catégories" }, |
575 | { "Add to category list","Ajouter à la liste" }, | 591 | { "Add to category list","Ajouter à la liste" }, |
576 | { "Remove from Events/Todos","Supprimer des Evénements/Tâches" }, | 592 | { "Remove from Events/Todos","Supprimer des Evénements/Tâches" }, |
577 | { "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Lors de l'Import/Chargement/Synchron\nil peut y avoir des nouvelles Catégories\ndans les événements et les tâches\nQue faire?\n " }, | 593 | { "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Lors de l'Import/Chargement/Synchron\nil peut y avoir des nouvelles Catégories\ndans les événements et les tâches\nQue faire?\n " }, |
578 | { "New categories not in list:","Nouvelles catégories qui ne sont pas dans la liste:" }, | 594 | { "New categories not in list:","Nouvelles catégories qui ne sont pas dans la liste:" }, |
579 | { "File format","Format date" }, | 595 | { "File format","Format date" }, |
580 | { "Time format","Format heure" }, | 596 | { "Time format","Format heure" }, |
581 | { "Delete all\ncompleted To-Dos?","Effacer les\Tâches?" }, | 597 | { "Delete all\ncompleted To-Dos?","Effacer les\Tâches?" }, |
582 | { "KO/Pi:Saving Data to File ...","KO/Pi: Enregistrement ..." }, | 598 | { "KO/Pi:Saving Data to File ...","KO/Pi: Enregistrement ..." }, |
583 | { "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Fichier enreg en %d sec %d ms" }, | 599 | { "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Fichier enreg en %d sec %d ms" }, |
584 | { "h","h" }, | 600 | { "h","h" }, |
585 | { "min","Min" }, | 601 | { "min","Min" }, |
586 | { "hou","h" }, | 602 | { "hou","h" }, |
587 | { "day","Jour" }, | 603 | { "day","Jour" }, |
588 | { "French","Français" }, | 604 | { "French","Français" }, |
589 | { "Time","Heure" }, | 605 | { "Time","Heure" }, |
590 | { "Event Viewer","Visualisation" }, | 606 | { "Event Viewer","Visualisation" }, |
591 | { "Cancel Sync","Annuler Synchro" }, | 607 | { "Cancel Sync","Annuler Synchro" }, |
592 | { "Remote","Distant" }, | 608 | { "Remote","Distant" }, |
593 | { "Local","Local" }, | 609 | { "Local","Local" }, |
594 | { "Conflict! Please choose entry","Conflit! Chosissez un objet" }, | 610 | { "Conflict! Please choose entry","Conflit! Chosissez un objet" }, |
595 | { "Local: ","Local: " }, | 611 | { "Local: ","Local: " }, |
596 | { "Remote: ","Distant: " }, | 612 | { "Remote: ","Distant: " }, |
597 | { "Last modified: ","Dernier modifié: " }, | 613 | { "Last modified: ","Dernier modifié: " }, |
598 | { "Location: ","Lieu: " }, | 614 | { "Location: ","Lieu: " }, |
599 | { "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>De:</b> %1 </p><p><b>à:</b> %2</p>" }, | 615 | { "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>De:</b> %1 </p><p><b>à:</b> %2</p>" }, |
600 | { "<p><b>On:</b> %1</p>","<p><b>le:</b> %1</p>" }, | 616 | { "<p><b>On:</b> %1</p>","<p><b>le:</b> %1</p>" }, |
601 | { "<p><b>From:</b> %1</p> ","<p><b>de:</b> %1</p> " }, | 617 | { "<p><b>From:</b> %1</p> ","<p><b>de:</b> %1</p> " }, |
602 | { "<p><b>To:</b> %1</p>","<p><b>à:</b> %1</p>" }, | 618 | { "<p><b>To:</b> %1</p>","<p><b>à:</b> %1</p>" }, |
603 | { "<p><b>On:</b> %1</p> ","<p><b>à:</b> %1</p> " }, | 619 | { "<p><b>On:</b> %1</p> ","<p><b>à:</b> %1</p> " }, |
604 | { "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>de:</b> %1 <b>à:</b> %2</p>" }, | 620 | { "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>de:</b> %1 <b>à:</b> %2</p>" }, |
605 | { "This is a %1 recurring event.","Ceci est un %1 événement récurrent." }, | 621 | { "This is a %1 recurring event.","Ceci est un %1 événement récurrent." }, |
606 | { "<b>Next recurrence is on:</b>","<b>Prochaine occurence le:</b>" }, | 622 | { "<b>Next recurrence is on:</b>","<b>Prochaine occurence le:</b>" }, |
607 | { "<b>Last recurrence was on:</b>","<b>Dernière occurence le:</b>" }, | 623 | { "<b>Last recurrence was on:</b>","<b>Dernière occurence le:</b>" }, |
608 | { "( %1 min before )","( %1 min avant )" }, | 624 | { "( %1 min before )","( %1 min avant )" }, |
609 | { "<b>Alarm on: ","<b>Sonnerie à: " }, | 625 | { "<b>Alarm on: ","<b>Sonnerie à: " }, |
610 | { "<b>Details: </b>","<b>Détails: </b>" }, | 626 | { "<b>Details: </b>","<b>Détails: </b>" }, |
611 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorité:</b> %2</p>" }, | 627 | { "<p><b>Priority:</b> %2</p>","<p><b>Priorité:</b> %2</p>" }, |
612 | { "<p><i>%1 % completed</i></p>","<p><i>%1 % achevé</i></p>" }, | 628 | { "<p><i>%1 % completed</i></p>","<p><i>%1 % achevé</i></p>" }, |
613 | { "Organizer","Organisateur" }, | 629 | { "Organizer","Organisateur" }, |
614 | { "Save","Enregistrer" }, | 630 | { "Save","Enregistrer" }, |
615 | { "Exit (+save)","Quitter (et Enreg.)" }, | 631 | { "Exit (+save)","Quitter (et Enreg.)" }, |
616 | { "Home","Maison" }, | 632 | { "Home","Maison" }, |
617 | { "Office","Bureau" }, | 633 | { "Office","Bureau" }, |
618 | { "Import Sharp Calendar","Import Sharp Calendar" }, | 634 | { "Import Sharp Calendar","Import Sharp Calendar" }, |
619 | { "This todo has been cancelled!","Cette tâche a été annulée!" }, | 635 | { "This todo has been cancelled!","Cette tâche a été annulée!" }, |
620 | { "This event has been cancelled!","Cet événement à été annulé!" }, | 636 | { "This event has been cancelled!","Cet événement à été annulé!" }, |
621 | { "Cancelled","Annulé" }, | 637 | { "Cancelled","Annulé" }, |
622 | { "Multiple sync","Synchro Multiple" }, | 638 | { "Multiple sync","Synchro Multiple" }, |
623 | { "Local file","Fichier local" }, | 639 | { "Local file","Fichier local" }, |
624 | { "Last file","Dernier fichier" }, | 640 | { "Last file","Dernier fichier" }, |
625 | { "Keys + Colors...","Touches + Couleur..." }, | 641 | { "Keys + Colors...","Touches + Couleur..." }, |
626 | { "Mini icons in toolbar(nr)","Mini Icônes(redem)" }, | 642 | { "Mini icons in toolbar(nr)","Mini Icônes(redem)" }, |
627 | { "Quick save(w/o Unicode)","sauvegarde rapide (sans Unicode)" }, | 643 | { "Quick save(w/o Unicode)","sauvegarde rapide (sans Unicode)" }, |
628 | { "Choose...","Choisir..." }, | 644 | { "Choose...","Choisir..." }, |
629 | { "Use colors for application:","Utiliser les couleur pour:" }, | 645 | { "Use colors for application:","Utiliser les couleur pour:" }, |
630 | { "Buttons, menus, etc.:","Boutons, Menus, etc.:" }, | 646 | { "Buttons, menus, etc.:","Boutons, Menus, etc.:" }, |
631 | { "Frames, labels, etc.:","Fenêtres, Etiquettes, etc.:" }, | 647 | { "Frames, labels, etc.:","Fenêtres, Etiquettes, etc.:" }, |
632 | { "Show parent To-Do's in What's Next view","Montrer Tâches primaires dans la vue "A venir..."" }, | 648 | { "Show parent To-Do's in What's Next view","Montrer Tâches primaires dans la vue "A venir..."" }, |
633 | { "Show location in What's Next view","Montrer le Lieu dans la vue "A venir..."" }, | 649 | { "Show location in What's Next view","Montrer le Lieu dans la vue "A venir..."" }, |
634 | { "Show events that recur ","Montrer les événements récurrents" }, | 650 | { "Show events that recur ","Montrer les événements récurrents" }, |
635 | { "Show in every cell ","Montrer dans toutes les cellules" }, | 651 | { "Show in every cell ","Montrer dans toutes les cellules" }, |
636 | { "short month","Mois courts" }, | 652 | { "short month","Mois courts" }, |
637 | { "icons","Icônes" }, | 653 | { "icons","Icônes" }, |
638 | { "Enable scrollbars in month view cells","Utiliser ascenseurs dans les cellules de la vue mensuelle" }, | 654 | { "Enable scrollbars in month view cells","Utiliser ascenseurs dans les cellules de la vue mensuelle" }, |
639 | { "Show Sat/Sun together","Sam/Dim ensemble" }, | 655 | { "Show Sat/Sun together","Sam/Dim ensemble" }, |
640 | { "Categorie colors are applied to text","Appliquer les couleurs des cat. au texte" }, | 656 | { "Categorie colors are applied to text","Appliquer les couleurs des cat. au texte" }, |
641 | { "Month view uses day colors","Vue Mensuelle en couleurs" }, | 657 | { "Month view uses day colors","Vue Mensuelle en couleurs" }, |
642 | { "Day color odd months","Couleurs des jours des mois pairs" }, | 658 | { "Day color odd months","Couleurs des jours des mois pairs" }, |
643 | { "Day color even months","Couleurs des jours des mois impairs" }, | 659 | { "Day color even months","Couleurs des jours des mois impairs" }, |
644 | { "Color for Sundays + category "Holiday"","Couleur Dimanche et Categorie "Fêrié"" }, | 660 | { "Color for Sundays + category "Holiday"","Couleur Dimanche et Categorie "Fêrié"" }, |
645 | { "To-do view shows complete as 'xx %'","Voir l'avancement comme ' xx % '" }, | 661 | { "To-do view shows complete as 'xx %'","Voir l'avancement comme ' xx % '" }, |
646 | { "Small To-do view uses smaller font","Police plus petite ds la petite liste des tâche" }, | 662 | { "Small To-do view uses smaller font","Police plus petite ds la petite liste des tâche" }, |
647 | { "Colors are applied to text","Colorier le texte" }, | 663 | { "Colors are applied to text","Colorier le texte" }, |
648 | { "Use internal alarm notification","Utiliser l'alarme interne" }, | 664 | { "Use internal alarm notification","Utiliser l'alarme interne" }, |
649 | { "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Attention: KO/Pi doit être lancé pour que l'alarme fonctionne... pour le Zaurus, il est conseillé de désactiver cette fonction et d'utiliser KO/Pi alarm.\n" }, | 665 | { "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Attention: KO/Pi doit être lancé pour que l'alarme fonctionne... pour le Zaurus, il est conseillé de désactiver cette fonction et d'utiliser KO/Pi alarm.\n" }, |
650 | { "Play beeps count:","Nombre de bips: " }, | 666 | { "Play beeps count:","Nombre de bips: " }, |
651 | { "Beeps interval in sec:","Interval entre bip: " }, | 667 | { "Beeps interval in sec:","Interval entre bip: " }, |
652 | { "Default suspend time in min:","Délai de mise en veille standard: " }, | 668 | { "Default suspend time in min:","Délai de mise en veille standard: " }, |
653 | { "Auto suspend count:","Décompte le la mise en veille" }, | 669 | { "Auto suspend count:","Décompte le la mise en veille" }, |
654 | { "Alarm *.wav file for newly created alarm:","Sonnerie *.wav pour la nouvelle alarme:" }, | 670 | { "Alarm *.wav file for newly created alarm:","Sonnerie *.wav pour la nouvelle alarme:" }, |
655 | { "New profile","Nouveau Profil" }, | 671 | { "New profile","Nouveau Profil" }, |
656 | { "Clone profile","Dupliquer Profil" }, | 672 | { "Clone profile","Dupliquer Profil" }, |
657 | { "Delete profile","Effacer Profil" }, | 673 | { "Delete profile","Effacer Profil" }, |
658 | { "Profile:","Profil:" }, | 674 | { "Profile:","Profil:" }, |
659 | { "Include in multiple sync","Inclure dans les synchro multiples" }, | 675 | { "Include in multiple sync","Inclure dans les synchro multiples" }, |
660 | { "Force: Take local entry always","Force: toujours les objets locaux" }, | 676 | { "Force: Take local entry always","Force: toujours les objets locaux" }, |
661 | { "Force: Take remote entry always","Force: toujours les objets distants" }, | 677 | { "Force: Take remote entry always","Force: toujours les objets distants" }, |
662 | { "Show summary after sync","Afficher un resumé après la synchro" }, | 678 | { "Show summary after sync","Afficher un resumé après la synchro" }, |
663 | { "Write back file","réécrire le fichier" }, | 679 | { "Write back file","réécrire le fichier" }, |
664 | { "Remote file (w down/upload command)","Fichier distant (par telechargement)" }, | 680 | { "Remote file (w down/upload command)","Fichier distant (par telechargement)" }, |
665 | { "Pre sync (download) command:","commande (téléchargement) av synchro:" }, | 681 | { "Pre sync (download) command:","commande (téléchargement) av synchro:" }, |
666 | { "Local device name:","nom machine locale:" }, | 682 | { "Local device name:","nom machine locale:" }, |
667 | { "Ask for preferences before sync","demander les préférences avant la synchro." }, | 683 | { "Ask for preferences before sync","demander les préférences avant la synchro." }, |
668 | { "Sync preferences","Prefs Synchro." }, | 684 | { "Sync preferences","Prefs Synchro." }, |
669 | { "Profile kind","Type de profile" }, | 685 | { "Profile kind","Type de profile" }, |
670 | { "Local file","Fichier local" }, | 686 | { "Local file","Fichier local" }, |
671 | { "Local file:","Fichier local:" }, | 687 | { "Local file:","Fichier local:" }, |
672 | { "Post sync (upload) command:","commande (envoi) apres sync:" }, | 688 | { "Post sync (upload) command:","commande (envoi) apres sync:" }, |
673 | { "Fill in default values for:","remplir les val. par def. pour:" }, | 689 | { "Fill in default values for:","remplir les val. par def. pour:" }, |
674 | { "Hint: Use $PWD$ for placeholder of password!","Truc: utiliser $PWD$ à la place du mdp!" }, | 690 | { "Hint: Use $PWD$ for placeholder of password!","INFO: utiliser $PWD$ à la place du mdp!" }, |
675 | { "Synchronization Preferences","Préférences de synchronisation"}, | 691 | { "Synchronization Preferences","Préférences de synchronisation"}, |
676 | { "Device","machine" }, | 692 | { "Device","machine" }, |
677 | { "Sync with file \n...%1\nfrom:\n%2\n","Synchro avec le ficher \n...%1\nde:\n%2\n" }, | 693 | { "Sync with file \n...%1\nfrom:\n%2\n","Synchro avec le ficher \n...%1\nde:\n%2\n" }, |
678 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Bilan de Synchronisation:\n\n %d objets ajoutés en local\n %d objets ajoutés en distant\n %d objets modifiés en local\n %d objets modifiés en distant\n %d objets effacés en local\n %d objets éffacés en distant\n" }, | 694 | { "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n","Bilan de Synchronisation:\n\n %d objets ajoutés en local\n %d objets ajoutés en distant\n %d objets modifiés en local\n %d objets modifiés en distant\n %d objets effacés en local\n %d objets éffacés en distant\n" }, |
679 | { "Synchronization successful","Synchronisation réussie" }, | 695 | { "Synchronization successful","Synchronisation réussie" }, |
680 | { "Sync cancelled or failed. Nothing synced.","Sync annulée ou erronée. Rien n'à été synchronisé." }, | 696 | { "Sync cancelled or failed. Nothing synced.","Sync annulée ou erronée. Rien n'à été synchronisé." }, |
681 | { "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Le fichier de synchro \n...%1\nn'existe pas!\nRien n'à été synchronisé!\n" }, | 697 | { "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Le fichier de synchro \n...%1\nn'existe pas!\nRien n'à été synchronisé!\n" }, |
682 | { "Sync filename(*.ics/*.vcs)","Fichier de synchro(*.ics/*.vcs)" }, | 698 | { "Sync filename(*.ics/*.vcs)","Fichier de synchro (*.ics/*.vcs)" }, |
683 | { "Enter password","Mot de Passe" }, | 699 | { "Enter password","Mot de Passe" }, |
684 | { "Do you really want\nto remote sync\nwith profile \n","Confirmer la synchro\ndistante avec le profil: \n" }, | 700 | { "Do you really want\nto remote sync\nwith profile \n","Confirmer la synchro\ndistante avec le profil: \n" }, |
685 | { "Copy remote file to local machine...","Copier le fichier distant en local..." }, | 701 | { "Copy remote file to local machine...","Copier le fichier distant en local..." }, |
686 | { "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Désole,la commande:\n %1 \na échoué \ntestez la commande sur la console\npour plus de detail.\n" }, | 702 | { "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Désolé,la commande:\n %1 \na échoué \ntestez la commande sur la console\npour plus de detail.\n" }, |
687 | { "Writing back file result: ","Réécrire le fichier résultat: " }, | 703 | { "Writing back file result: ","Réécrire le fichier résultat: " }, |
688 | { "Syncronization sucessfully completed","Synchronisation réussie" }, | 704 | { "Syncronization sucessfully completed","Synchronisation réussie" }, |
689 | { "Edit Calendar Filters","Editer les fitres de calendrier" }, | 705 | { "Edit Calendar Filters","Editer les fitres de calendrier" }, |
690 | { "Enter filter name:","Nom du nouv. filtre:" }, | 706 | { "Enter filter name:","Nom du nouv. filtre:" }, |
691 | { "Add Filter","Ajouter Filtre" }, | 707 | { "Add Filter","Ajouter Filtre" }, |
692 | { "Question","Question" }, | 708 | { "Question","Question" }, |
693 | { "Filter position: ","Position du filtre: " }, | 709 | { "Filter position: ","Position du filtre: " }, |
694 | { "Month View","Vue Mensuelle" }, | 710 | { "Month View","Vue Mensuelle" }, |
695 | { "This profil cannot be deleted!\n","Ce profil ne peut\npas être effacé!" }, | 711 | { "This profil cannot be deleted!\n","Ce profil ne peut\npas être effacé!" }, |
696 | { "KO/Pi config error","Erreur de config KO/Pi" }, | 712 | { "KO/Pi config error","Erreur de config KO/Pi" }, |
697 | { "Local device name undefined!\nPlease define device name!","Machine locale non nommée!\nDonnez un nom SVP!" }, | 713 | { "Local device name undefined!\nPlease define device name!","Machine locale non nommée!\nDonnez un nom SVP!" }, |
698 | { "Multiple profiles with same name!\nPlease use unique profile names!","Plusieurs profils ont le même nom!\nDonnez des noms de profils uniques!" }, | 714 | { "Multiple profiles with same name!\nPlease use unique profile names!","Plusieurs profils ont le même nom!\nDonnez des noms de profils uniques!" }, |
699 | { "Access: ","Voir: " }, | 715 | { "Access: ","Voir: " }, |
700 | { "Needs Action","Attente Action" }, | 716 | { "Needs Action","Attente Action" }, |
701 | { "Accepted","Validé" }, | 717 | { "Accepted","Validé" }, |
702 | { "Declined","Refusé" }, | 718 | { "Declined","Refusé" }, |
703 | { "Tentative","Essai" }, | 719 | { "Tentative","Essai" }, |
704 | { "Delegated","Délégué" }, | 720 | { "Delegated","Délégué" }, |
705 | { "Completed","Achevé" }, | 721 | { "Completed","Achevé" }, |
706 | { "In Process","En cours" }, | 722 | { "In Process","En cours" }, |
707 | { "Participant","Participant" }, | 723 | { "Participant","Participant" }, |
708 | { "Optional Participant","Participant facultatif" }, | 724 | { "Optional Participant","Participant facultatif" }, |
709 | { "Observer","Observateur" }, | 725 | { "Observer","Observateur" }, |
710 | { "Chair","Conducteur" }, | 726 | { "Chair","Conducteur" }, |
711 | { "Not supported \non desktop!\n","Pas supporté en version Desktop" }, | 727 | { "Not supported \non desktop!\n","Pas supporté en version Desktop" }, |
712 | { "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Pas de selection!\nimpression de la vue Agenda telle que vous la voyez.\nPour seélectionner une plage d'impression,\nselectionnez (en pointant avec le bouton droit appuyé) une plage de valeur\ndans une colonne. " }, | 728 | { "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Pas de selection!\nimpression de la vue Agenda telle que vous la voyez.\nPour seélectionner une plage d'impression,\nselectionnez (en pointant avec le bouton droit appuyé) une plage de valeur\ndans une colonne. " }, |
713 | { "Date range: ","Plage de dates: " }, | 729 | { "Date range: ","Plage de dates: " }, |
714 | { "Not supported \non PDA!\n","Non supporté\nsur le PDA. " }, | 730 | { "Not supported \non PDA!\n","Non supporté\nsur le PDA. " }, |
715 | { "Syncing - close to abort!","Synchro en cours - fermer pour annuler." }, | 731 | { "Syncing - close to abort!","Synchro en cours - fermer pour annuler." }, |
716 | { "Add / remove events","Ajout./supp Even." }, | 732 | { "Add / remove events","Ajout./supp Even." }, |
717 | { "File does not exist:\n '%1'.","Pas de fichier:\n '%1'." }, | 733 | { "File does not exist:\n '%1'.","Pas de fichier:\n '%1'." }, |
718 | { "Couldn't load calendar\n '%1'.","Imposs. de charger le calendrier:\n '%1'." }, | 734 | { "Couldn't load calendar\n '%1'.","Imposs. de charger le calendrier:\n '%1'." }, |
719 | { "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nLe fichier à changé!\nTaille: %1 octets.\nDernière modif: %2\nVoulez vous:\n\n - Enregistrer en écrasant le fichier?\n - Synchroniser avec le fichier, puis enregistrer?\n - Annuler sans enregistrer? \n" }, | 735 | { "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nLe fichier à changé!\nTaille: %1 octets.\nDernière modif: %2\nVoulez vous:\n\n - Enregistrer en écrasant le fichier?\n - Synchroniser avec le fichier, puis enregistrer?\n - Annuler sans enregistrer? \n" }, |
720 | { "Overwrite","Ecraser" }, | 736 | { "Overwrite","Ecraser" }, |
721 | { "Sync+save","Synchro+Enreg" }, | 737 | { "Sync+save","Synchro+Enreg" }, |
722 | { "Default","Par défaut" }, | 738 | { "Default","Par défaut" }, |
723 | { " Categories added to list! "," Catégories ajoutées à la liste! " }, | 739 | { " Categories added to list! "," Catégories ajoutées à la liste! " }, |
724 | { " %d items?"," %d Objets?" }, | 740 | { " %d items?"," %d Objets?" }, |
725 | { "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nCet événement est periodique!.\nÊtes vous sur de vouloir \neffacer cet Evénement\net toutes ses occurences?" }, | 741 | { "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nCet événement est periodique!.\nÊtes vous sur de vouloir \neffacer cet Evénement\net toutes ses occurences?" }, |
726 | { " ?\n\nDelete:\n"," ?\n\nEffacer:\n" }, | 742 | { " ?\n\nDelete:\n"," ?\n\nEffacer:\n" }, |
727 | { "Current","Courrant" }, | 743 | { "Current","Courrant" }, |
728 | { "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nCet événement est periodique!.\nVoulez vous effacer cet Evénement\net toutes ses occurences ou juste l'ocurrence du:\n" }, | 744 | { "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nCet événement est periodique!.\nVoulez vous effacer cet Evénement\net toutes ses occurences ou juste l'ocurrence du:\n" }, |
729 | { "All","Tout" }, | 745 | { "All","Tout" }, |
730 | { "Data Loss Warning","Attention: perte de données" }, | 746 | { "Data Loss Warning","Attention: perte de données" }, |
731 | { "Proceed","Executer" }, | 747 | { "Proceed","Executer" }, |
732 | { "The journal entries can not be\nexported to a vCalendar file.","Le journal ne peut être exporter\nvers un fichier vCalendar" }, | 748 | { "The journal entries can not be\nexported to a vCalendar file.","Le journal ne peut être exporter\nvers un fichier vCalendar" }, |
733 | { "Filter disabled ","Filtre désactivé" }, | 749 | { "Filter disabled ","Filtre désactivé" }, |
734 | { "Filter selected: ","Filtre sélectionné: " }, | 750 | { "Filter selected: ","Filtre sélectionné: " }, |
735 | { "Toggle Cancel","Annuler autres" }, | 751 | { "Toggle Cancel","Annuler autres" }, |
736 | { "&Toggle Cancel","Annuler au&tres" }, | 752 | { "&Toggle Cancel","Annuler au&tres" }, |
737 | { "Configure Toolbar","Configurer Toolbar" }, | 753 | { "Configure Toolbar","Configurer Toolbar" }, |
738 | { "Stretched TB","Rétrécir TB" }, | 754 | { "Stretched TB","Rétrécir TB" }, |
739 | { "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Le fichier d'import \n...%1\nn'existe pas!\nAucun import!\n" }, | 755 | { "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Le fichier d'import \n...%1\nn'existe pas!\nAucun import!\n" }, |
740 | { "Import filename(*.ics/*.vcs)","Fichier d'Import(*.ics/*.vcs)" }, | 756 | { "Import filename(*.ics/*.vcs)","Fichier d'Import(*.ics/*.vcs)" }, |
741 | { "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","En cas de double import\nles objets en double seront ignorés!\nVous pouvez créer une sauvegarde avec\nFichier - Créér une sauvegarde\npour annuler l'importation.\n" }, | 757 | { "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","En cas de double import\nles objets en double seront ignorés!\nVous pouvez créer une sauvegarde avec\nFichier - Créér une sauvegarde\npour annuler l'importation.\n" }, |
742 | { "Not supported \non desktop!\n","Uniquement sur le PDA!" }, | 758 | { "Not supported \non desktop!\n","Uniquement sur le PDA!" }, |
743 | { "Imported file successfully","Fichier importé avec succes" }, | 759 | { "Imported file successfully","Fichier importé avec succes" }, |
744 | { "Error importing file","Erreur lors de l'import du fichier" }, | 760 | { "Error importing file","Erreur lors de l'import du fichier" }, |
745 | { "Export vcal filename(*.vcs)","Export vcal (*.vcs)" }, | 761 | { "Export vcal filename(*.vcs)","Export vcal (*.vcs)" }, |
746 | { "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Enregistrement\fichier déja existant\n fichier du:\n%1\n Ecraser?\n" }, | 762 | { "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Enregistrement\fichier déja existant\n fichier du:\n%1\n Ecraser?\n" }, |
747 | { "Overwrite!","Ecraser!" }, | 763 | { "Overwrite!","Ecraser!" }, |
748 | { "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import du fichier \n...%1\ndu:\n%2\nLes doublons\nne seront pas importés!\n" }, | 764 | { "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import du fichier \n...%1\ndu:\n%2\nLes doublons\nne seront pas importés!\n" }, |
749 | { "Load backup filename","Charger une sauvegarde" }, | 765 | { "Load backup filename","Charger une sauvegarde" }, |
750 | { "Backup file\ndoes not exist!\nNothing loaded!","Le fichier de sauvegarde\nn'existe pas...\nAucun chargement!" }, | 766 | { "Backup file\ndoes not exist!\nNothing loaded!","Le fichier de sauvegarde\nn'existe pas...\nAucun chargement!" }, |
751 | { "KO/Pi:Loaded %1","KO/Pi: %1 Chargé" }, | 767 | { "KO/Pi:Loaded %1","KO/Pi: %1 Chargé" }, |
752 | { "Save backup filename","enregistrer le nom de svgde" }, | 768 | { "Save backup filename","enregistrer le nom de svgde" }, |
753 | { "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Sauvegarder fichier\nLe fichier existe!\nEffacer les données de:\n%1 ?\n" }, | 769 | { "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Sauvegarder fichier\nLe fichier existe!\nEffacer les données de:\n%1 ?\n" }, |
754 | { "KO/Pi:Saved %1","KO/Pi: %1 enregistré" }, | 770 | { "KO/Pi:Saved %1","KO/Pi: %1 enregistré" }, |
755 | { "Details of attendee","Liste des participants" }, | 771 | { "Details of attendee","Liste des participants" }, |
756 | { "Work phone:\n","Telephone Travail:\n" }, | 772 | { "Work phone:\n","Telephone Travail:\n" }, |
757 | { "Work mobile phone:\n","Portable travail:\n" }, | 773 | { "Work mobile phone:\n","Portable travail:\n" }, |
758 | { "Home phone:\n","Telephoneon privé:\n" }, | 774 | { "Home phone:\n","Telephoneon privé:\n" }, |
759 | { "Mobile home phone:\n","Portable privé:\n" }, | 775 | { "Mobile home phone:\n","Portable privé:\n" }, |
760 | { "Email:\n","Email:\n" }, | 776 | { "Email:\n","Email:\n" }, |
761 | { "Alarm disabled","Sonnerie désactivée" }, | 777 | { "Alarm disabled","Sonnerie désactivée" }, |
762 | { "Audio.Al.: ","Al.sonore: " }, | 778 | { "Audio.Al.: ","Al.sonore: " }, |
763 | { "Proc.Al.: ","Proc.Al.: " }, | 779 | { "Proc.Al.: ","Proc.Al.: " }, |
764 | { "No sound set","Pas de son" }, | 780 | { "No sound set","Pas de son" }, |
765 | { "*.wav|Wav Files","fichiers *.wav|Wav" }, | 781 | { "*.wav|Wav Files","fichiers *.wav|Wav" }, |
766 | { "No program set","Aucun programme" }, | 782 | { "No program set","Aucun programme" }, |
767 | { "Running '%1'","Lancer '%1'" }, | 783 | { "Running '%1'","Lancer '%1'" }, |
768 | { "Playing '%1'","Jouer '%1'" }, | 784 | { "Playing '%1'","Jouer '%1'" }, |
769 | { "Show Sync Events in WN/Agenda view","Voir les even. synchro dans la vue WN/Agenda" }, | 785 | { "Show Sync Events in WN/Agenda view","Voir les even. synchro dans la vue WN/Agenda" }, |
770 | { "User defined (usertranslation.txt)","Personnalisé (usertranslation.txt)" }, | 786 | { "User defined (usertranslation.txt)","Personnalisé (usertranslation.txt)" }, |
771 | { "Load!","Laden!" }, | 787 | { "Load!","Laden!" }, |
772 | { "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Sauvegarde du:\n%1\nLe chargement va \nécraser les données actuelles!\n" }, | 788 | { "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Sauvegarde du:\n%1\nLe chargement va \nécraser les données actuelles!\n" }, |
773 | { "KO/Pi Features and hints","KO/Pi fonctionnalités et astuces" }, | 789 | { "KO/Pi Features and hints","KO/Pi fonctionnalités et astuces" }, |
774 | { "KO/Pi User translation HowTo","KO/Pi création d'une traduction personnalisée" }, | 790 | { "KO/Pi User translation HowTo","KO/Pi création d'une traduction personnalisée" }, |
775 | { "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, | 791 | { "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, |
776 | { "Features + hints...","Caractéristiques + Trucs..." }, | 792 | { "Features + hints...","Caractéristiques + Trucs..." }, |
777 | { "User translation...","Traduction personnalisée..." }, | 793 | { "User translation...","Traduction personnalisée..." }, |
778 | { "Sync HowTo...","Synchronisation Mode d'emploi..." }, | 794 | { "Sync HowTo...","Synchronisation Mode d'emploi..." }, |
779 | { "Anniversary","Anniversaire" }, | 795 | { "Anniversary","Anniversaire" }, |
780 | { "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Lors d'un import d'anniversaire en double \nles événnements dupliqués seront ignorés \nà condition qu'il n'y ait pas eu \nde changement dans KO/Pi.\n" }, | 796 | { "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Lors d'un import d'anniversaire en double \nles événnements dupliqués seront ignorés \nà condition qu'il n'y ait pas eu \nde changement dans KO/Pi.\n" }, |
781 | { "Next recurrence is on: ","Prochaine répétition est:" }, | 797 | { "Next recurrence is on: ","Prochaine répétition est:" }, |
782 | { "<b>Alarm on: </b>","<b>Alarme activée: </b>" }, | 798 | { "<b>Alarm on: </b>","<b>Alarme activée: </b>" }, |
783 | { "<b>Access: </b>","<b>Accès: </b>" }, | 799 | { "<b>Access: </b>","<b>Accès: </b>" }, |
784 | { "(%1 min before)","(%1 min avant)" }, | 800 | { "(%1 min before)","(%1 min avant)" }, |
785 | { "<b>Categories: </b>","<b>Catégories: </b>" }, | 801 | { "<b>Categories: </b>","<b>Catégories: </b>" }, |
786 | { "Save Journal/Description...","Sauver Journal/Détails..." }, | 802 | { "Save Journal/Description...","Sauver Journal/Détails..." }, |
787 | { "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Ceci sauve le texte et détails\ndes Journaux/Tâches et Evénements choisis,\ndans un fichier texte." }, | 803 | { "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Ceci sauve le texte et détails\ndes Journaux/Tâches et Evénements choisis,\ndans un fichier texte." }, |
788 | { "Continue","Continuer" }, | 804 | { "Continue","Continuer" }, |
789 | { " birthdays/anniversaries added!"," Jours de naissance/anniversaires ajoutés!" }, | 805 | { " birthdays/anniversaries added!"," Jours de naissance/anniversaires ajoutés!" }, |
790 | { "Attendee:","Participant:" }, | 806 | { "Attendee:","Participant:" }, |
791 | { "Click OK to search ->","Pour chercher, cliquer sur OK ->" }, | 807 | { "Click OK to search ->","Pour chercher, cliquer sur OK ->" }, |
792 | { "On day ","Le jour " }, | 808 | { "On day ","Le jour " }, |
793 | { "%1 of ","%1 du mois" }, | 809 | { "%1 of ","%1 du mois" }, |
794 | { "%1 of the year","%1 de l'année" }, | 810 | { "%1 of the year","%1 de l'année" }, |
795 | { "Filter","Filtre" }, | 811 | { "Filter","Filtre" }, |
796 | { "Turn filter on","Filtre activé" }, | 812 | { "Turn filter on","Filtre activé" }, |
797 | { "Turn filter off","Filtre désactivé" }, | 813 | { "Turn filter off","Filtre désactivé" }, |
798 | { "Enable Pi-Sync","Activer Pi-Sync" }, | 814 | { "Enable Pi-Sync","Activer Pi-Sync" }, |
799 | { "Export to phone","Exporter vers GSM" }, | 815 | { "Export to phone","Exporter vers GSM" }, |
800 | { "Please read Help-Sync Howto\nto know what settings to use.","Merci de lire l'aide: "Sync Howto"\npour voir quels réglages utiliser." }, | 816 | { "Please read Help-Sync Howto\nto know what settings to use.","Merci de lire l'aide: "Sync Howto"\npour voir quels réglages utiliser." }, |
801 | { "I/O device: ","I/O device: " }, | 817 | { "I/O device: ","I/O device: " }, |
802 | { "Connection: ","Connection: " }, | 818 | { "Connection: ","Connection: " }, |
803 | { "Model(opt.): ","Modèle(opt.): " }, | 819 | { "Model(opt.): ","Modèle(opt.): " }, |
804 | { "Write back events in future only","Ré-écrire les événements futurs seulement" }, | 820 | { "Write back events in future only","Ré-écrire les événements futurs seulement" }, |
805 | { "Max. weeks in future: ","Max. de semaines dans le futur: " }, | 821 | { "Max. weeks in future: ","Max. de semaines dans le futur: " }, |
806 | { "NOTE: This will remove all old\ntodo/calendar data on phone!","Attention: cela va effacer toutes les\nanciennes Tâches/Dates du calendrier du GSM!" }, | 822 | { "NOTE: This will remove all old\ntodo/calendar data on phone!","Attention: cela va effacer toutes les\nanciennes Tâches/Dates du calendrier du GSM!" }, |
807 | { "Export to mobile phone!","Exporter vers le GSM!" }, | 823 | { "Export to mobile phone!","Exporter vers le GSM!" }, |
808 | { "Export complete calendar","Exporter le calendrier complet" }, | 824 | { "Export complete calendar","Exporter le calendrier complet" }, |
809 | { "Writing to phone...","Ecriture sur le GSM..." }, | 825 | { "Writing to phone...","Ecriture sur le GSM..." }, |
810 | { " This may take 1-3 minutes!","1-3 Minutes de patience!" }, | 826 | { " This may take 1-3 minutes!","1-3 Minutes de patience!" }, |
811 | { "Retry","Essayer à nouveau" }, | 827 | { "Retry","Essayer à nouveau" }, |
812 | { "KDE/Pim phone access","KDE/Pim contacte le GSM" }, | 828 | { "KDE/Pim phone access","KDE/Pim contacte le GSM" }, |
813 | { "Error accessing device!\nPlease turn on connection\nand retry!","Erreur d'accès au périphérique!\nMerci d'activer la connection\net essayer à nouveau!" }, | 829 | { "Error accessing device!\nPlease turn on connection\nand retry!","Erreur d'accès au périphérique!\nMerci d'activer la connection\net essayer à nouveau!" }, |
814 | { "Error exporting to phone!","Erreur d'exportation vers le GSM!" }, | 830 | { "Error exporting to phone!","Erreur d'exportation vers le GSM!" }, |
815 | { "Export filtered calendar","Exporter le calendrier filtré" }, | 831 | { "Export filtered calendar","Exporter le calendrier filtré" }, |
816 | { "Complete calendar...","Calendrier complet..." }, | 832 | { "Complete calendar...","Calendrier complet..." }, |
817 | { "Filtered calendar...","Calendrier filtré..." }, | 833 | { "Filtered calendar...","Calendrier filtré..." }, |
818 | { "Beam complete calendar...","Export calendrier complet via IR" }, | 834 | { "Beam complete calendar...","Export calendrier complet via IR" }, |
819 | { "Beam filtered calendar...","Export calendrier filtré via IR" }, | 835 | { "Beam filtered calendar...","Export calendrier filtré via IR" }, |
820 | { "-- Write back (on remote) existing entries only","-- Ecrire en retour (sur source distante) uniquement les entrées existantes" }, | 836 | { "-- Write back (on remote) existing entries only","-- Ecrire en retour (sur source distante) uniquement les entrées existantes" }, |
821 | { "-- Write back (calendar) entries in future only","-- Ecrire en retour, uniquement des entrées futures" }, | 837 | { "-- Write back (calendar) entries in future only","-- Ecrire en retour, uniquement des entrées futures" }, |
822 | { "---- Max. weeks in future: ","---- Max. de semaines dans le futur: " }, | 838 | { "---- Max. weeks in future: ","---- Max. de semaines dans le futur: " }, |
823 | { "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi vers Kx/Pi sync )" }, | 839 | { "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi vers Kx/Pi sync )" }, |
824 | { "Mobile device (cell phone)","Mobile (GSM)" }, | 840 | { "Mobile device (cell phone)","Mobile (GSM)" }, |
825 | { "Include in multiple ","Inclus dans Synchro. Multiple " }, | 841 | { "Include in multiple ","Inclus dans Synchro. Multiple " }, |
826 | { "Unselect","Supprimer" }, | 842 | { "Unselect","Supprimer" }, |
827 | { "Selected","Sélectionné" }, | 843 | { "Selected","Sélectionné" }, |
828 | { "Beam receive enabled","Réception IR activée" }, | 844 | { "Beam receive enabled","Réception IR activée" }, |
829 | { "External Apps.","Prog. externes" }, | 845 | { "External Apps.","Prog. externes" }, |
846 | { "Allday:","Journée :" }, | ||
847 | { "ToDo:","Tâche : " }, | ||
848 | { "Remove sync info","Supprimer infos. synchro." }, | ||
849 | { "For all profiles","Pour tous les profils" }, | ||
850 | { "Okay!","OK" } | ||
830 | { "","" }, | 851 | { "","" }, |
831 | { "","" }, | 852 | { "","" }, |
832 | { "","" }, | 853 | { "","" }, |
833 | { "","" }, | 854 | { "","" }, |
834 | { "","" }, | 855 | { "","" }, |
835 | { "","" }, | 856 | { "","" }, |
836 | { "","" }, | 857 | { "","" }, |
837 | { "","" }, | 858 | { "","" }, |
838 | 859 | ||
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp index 49fd14f..976e309 100644 --- a/kmicromail/composemail.cpp +++ b/kmicromail/composemail.cpp | |||
@@ -1,268 +1,272 @@ | |||
1 | // CHANGED 2004-08-06 Lutz Rogowski | 1 | // CHANGED 2004-08-06 Lutz Rogowski |
2 | 2 | ||
3 | 3 | ||
4 | #ifdef DESKTOP_VERSION | 4 | #ifdef DESKTOP_VERSION |
5 | #include <qapplication.h> | 5 | #include <qapplication.h> |
6 | #include <kabc/addresseedialog.h> | 6 | #include <kabc/addresseedialog.h> |
7 | #include <kabc/stdaddressbook.h> | 7 | #include <kabc/stdaddressbook.h> |
8 | #include <kabc/addressee.h> | 8 | #include <kabc/addressee.h> |
9 | #else | ||
10 | #include <qpe/qpeapplication.h> | ||
9 | #endif //DESKTOP_VERSION | 11 | #endif //DESKTOP_VERSION |
10 | #include <libkdepim/externalapphandler.h> | 12 | #include <libkdepim/externalapphandler.h> |
11 | 13 | ||
12 | #include "koprefs.h" | 14 | #include "koprefs.h" |
15 | #include <klocale.h> | ||
16 | #include <kglobal.h> | ||
13 | 17 | ||
14 | #ifdef MINIKDE_KDIALOG_H | 18 | #ifdef MINIKDE_KDIALOG_H |
15 | #undef MINIKDE_KDIALOG_H | 19 | #undef MINIKDE_KDIALOG_H |
16 | #endif | 20 | #endif |
17 | 21 | ||
18 | 22 | ||
19 | #include "composemail.h" | 23 | #include "composemail.h" |
20 | 24 | ||
21 | #include <libmailwrapper/smtpwrapper.h> | 25 | #include <libmailwrapper/smtpwrapper.h> |
22 | #include <libmailwrapper/storemail.h> | 26 | #include <libmailwrapper/storemail.h> |
23 | #include <libmailwrapper/abstractmail.h> | 27 | #include <libmailwrapper/abstractmail.h> |
24 | #include <libmailwrapper/mailtypes.h> | 28 | #include <libmailwrapper/mailtypes.h> |
25 | 29 | ||
26 | /* OPIE */ | 30 | /* OPIE */ |
27 | //#include <opie2/ofiledialog.h> | 31 | //#include <opie2/ofiledialog.h> |
28 | //#include <opie2/odebug.h> | 32 | //#include <opie2/odebug.h> |
29 | #include <kfiledialog.h> | 33 | #include <kfiledialog.h> |
30 | //#include <qpe/resource.h> | 34 | //#include <qpe/resource.h> |
31 | #include <qpe/global.h> | 35 | #include <qpe/global.h> |
32 | //#include <qpe/contact.h> | 36 | //#include <qpe/contact.h> |
33 | 37 | ||
34 | 38 | ||
35 | #include <qcombobox.h> | 39 | #include <qcombobox.h> |
36 | #include <qcheckbox.h> | 40 | #include <qcheckbox.h> |
37 | #include <qiconset.h> | 41 | #include <qiconset.h> |
38 | #include <qtimer.h> | 42 | #include <qtimer.h> |
39 | #include <qmessagebox.h> | 43 | #include <qmessagebox.h> |
40 | #include <qpushbutton.h> | 44 | #include <qpushbutton.h> |
41 | #include <qmultilineedit.h> | 45 | #include <qmultilineedit.h> |
42 | #include <qlabel.h> | 46 | #include <qlabel.h> |
43 | #include <qtabwidget.h> | 47 | #include <qtabwidget.h> |
44 | #include <qlistview.h> | 48 | #include <qlistview.h> |
45 | 49 | ||
46 | //using namespace Opie::Core; | 50 | //using namespace Opie::Core; |
47 | //using namespace Opie::Ui; | 51 | //using namespace Opie::Ui; |
48 | ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, bool modal ) | 52 | ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, bool modal ) |
49 | : ComposeMailUI( parent, name, modal ) | 53 | : ComposeMailUI( parent, name, modal ) |
50 | { | 54 | { |
51 | 55 | ||
52 | mPickLineEdit = 0; | 56 | mPickLineEdit = 0; |
53 | mEncoding = KOPrefs::instance()->mCurrentCodeName; | 57 | mEncoding = KOPrefs::instance()->mCurrentCodeName; |
54 | connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), | 58 | connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), |
55 | this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); | 59 | this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); |
56 | settings = sett; | 60 | settings = sett; |
57 | m_replyid = ""; | 61 | m_replyid = ""; |
58 | if ( KOPrefs::instance()->mUseKapi) { | 62 | if ( KOPrefs::instance()->mUseKapi) { |
59 | KConfig config( locateLocal("config", "kabcrc") ); | 63 | KConfig config( locateLocal("config", "kabcrc") ); |
60 | config.setGroup( "General" ); | 64 | config.setGroup( "General" ); |
61 | QString whoami_uid = config.readEntry( "WhoAmI" ); | 65 | QString whoami_uid = config.readEntry( "WhoAmI" ); |
62 | 66 | ||
63 | if ( whoami_uid.isEmpty() ) { | 67 | if ( whoami_uid.isEmpty() ) { |
64 | QMessageBox::information( 0, i18n( "Hint" ), | 68 | QMessageBox::information( 0, i18n( "Hint" ), |
65 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), | 69 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), |
66 | i18n( "Ok" ) ); | 70 | i18n( "Ok" ) ); |
67 | 71 | ||
68 | 72 | ||
69 | fillSettings(); | 73 | fillSettings(); |
70 | } else | 74 | } else |
71 | ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); | 75 | ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); |
72 | 76 | ||
73 | 77 | ||
74 | #ifdef DESKTOP_VERSION | 78 | #ifdef DESKTOP_VERSION |
75 | KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); | 79 | KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); |
76 | QStringList mails = con.emails(); | 80 | QStringList mails = con.emails(); |
77 | QString defmail = con.preferredEmail(); | 81 | QString defmail = con.preferredEmail(); |
78 | if ( mails.count() == 0) | 82 | if ( mails.count() == 0) |
79 | QMessageBox::information( 0, i18n( "Hint" ), | 83 | QMessageBox::information( 0, i18n( "Hint" ), |
80 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), | 84 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), |
81 | i18n( "Ok" ) ); | 85 | i18n( "Ok" ) ); |
82 | if (defmail.length()!=0) { | 86 | if (defmail.length()!=0) { |
83 | fromBox->insertItem(defmail); | 87 | fromBox->insertItem(defmail); |
84 | } | 88 | } |
85 | QStringList::ConstIterator sit = mails.begin(); | 89 | QStringList::ConstIterator sit = mails.begin(); |
86 | for (;sit!=mails.end();++sit) { | 90 | for (;sit!=mails.end();++sit) { |
87 | if ( (*sit)==defmail) | 91 | if ( (*sit)==defmail) |
88 | continue; | 92 | continue; |
89 | fromBox->insertItem((*sit)); | 93 | fromBox->insertItem((*sit)); |
90 | } | 94 | } |
91 | senderNameEdit->setText(con.formattedName()); | 95 | senderNameEdit->setText(con.formattedName()); |
92 | #endif | 96 | #endif |
93 | 97 | ||
94 | } else { | 98 | } else { |
95 | fillSettings(); | 99 | fillSettings(); |
96 | } | 100 | } |
97 | checkBoxLater->setChecked( KOPrefs::instance()->mSendLater ); | 101 | checkBoxLater->setChecked( KOPrefs::instance()->mSendLater ); |
98 | 102 | ||
99 | attList->addColumn( i18n( "Name" ) ); | 103 | attList->addColumn( i18n( "Name" ) ); |
100 | attList->addColumn( i18n( "Size" ) ); | 104 | attList->addColumn( i18n( "Size" ) ); |
101 | QList<Account> accounts = settings->getAccounts(); | 105 | QList<Account> accounts = settings->getAccounts(); |
102 | 106 | ||
103 | if ( QApplication::desktop()->width() < 320 ) | 107 | if ( QApplication::desktop()->width() < 320 ) |
104 | smtpAccountBox->setMaximumWidth( 80 ); | 108 | smtpAccountBox->setMaximumWidth( 80 ); |
105 | Account *it; | 109 | Account *it; |
106 | for ( it = accounts.first(); it; it = accounts.next() ) { | 110 | for ( it = accounts.first(); it; it = accounts.next() ) { |
107 | if ( it->getType()==MAILLIB::A_SMTP ) { | 111 | if ( it->getType()==MAILLIB::A_SMTP ) { |
108 | SMTPaccount *smtp = static_cast<SMTPaccount *>(it); | 112 | SMTPaccount *smtp = static_cast<SMTPaccount *>(it); |
109 | smtpAccountBox->insertItem( smtp->getAccountName() ); | 113 | smtpAccountBox->insertItem( smtp->getAccountName() ); |
110 | smtpAccounts.append( smtp ); | 114 | smtpAccounts.append( smtp ); |
111 | } | 115 | } |
112 | } | 116 | } |
113 | connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); | 117 | connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); |
114 | connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); | 118 | connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); |
115 | connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); | 119 | connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); |
116 | connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); | 120 | connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); |
117 | connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); | 121 | connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); |
118 | connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); | 122 | connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); |
119 | connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); | 123 | connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); |
120 | mMail = 0; | 124 | mMail = 0; |
121 | warnAttach = true; | 125 | warnAttach = true; |
122 | QIconSet icon; | 126 | QIconSet icon; |
123 | //icon = SmallIcon("fileexport"); | 127 | //icon = SmallIcon("fileexport"); |
124 | icon = SmallIcon("filesave"); | 128 | icon = SmallIcon("filesave"); |
125 | SaveButton->setIconSet (icon ) ; | 129 | SaveButton->setIconSet (icon ) ; |
126 | if ( QApplication::desktop()->width() < 320 ) { | 130 | if ( QApplication::desktop()->width() < 320 ) { |
127 | SaveButton->setText ("") ; | 131 | SaveButton->setText ("") ; |
128 | SaveButton->setMaximumSize ( SaveButton->sizeHint().height(),SaveButton->sizeHint().height()) ; | 132 | SaveButton->setMaximumSize ( SaveButton->sizeHint().height(),SaveButton->sizeHint().height()) ; |
129 | } | 133 | } |
130 | else | 134 | else |
131 | SaveButton->setText (i18n("Save")); | 135 | SaveButton->setText (i18n("Save")); |
132 | #ifndef DESKTOP_VERSION | 136 | #ifndef DESKTOP_VERSION |
133 | QPEApplication::setStylusOperation( message, QPEApplication::RightOnHold ); | 137 | QPEApplication::setStylusOperation( message, QPEApplication::RightOnHold ); |
134 | QPEApplication::setStylusOperation( senderNameEdit, QPEApplication::RightOnHold ); | 138 | QPEApplication::setStylusOperation( senderNameEdit, QPEApplication::RightOnHold ); |
135 | QPEApplication::setStylusOperation( subjectLine, QPEApplication::RightOnHold ); | 139 | QPEApplication::setStylusOperation( subjectLine, QPEApplication::RightOnHold ); |
136 | #endif | 140 | #endif |
137 | message->setFont ( KOPrefs::instance()->mComposeFont ); | 141 | message->setFont ( KOPrefs::instance()->mComposeFont ); |
138 | message->setWordWrap (QMultiLineEdit::WidgetWidth); | 142 | message->setWordWrap (QMultiLineEdit::WidgetWidth); |
139 | if ( smtpAccounts.count() > 0 ) { | 143 | if ( smtpAccounts.count() > 0 ) { |
140 | fillValues( smtpAccountBox->currentItem() ); | 144 | fillValues( smtpAccountBox->currentItem() ); |
141 | } else { | 145 | } else { |
142 | QMessageBox::information( 0, i18n( "Problem" ), | 146 | QMessageBox::information( 0, i18n( "Problem" ), |
143 | i18n( "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n" ), | 147 | i18n( "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n" ), |
144 | i18n( "Ok" ) ); | 148 | i18n( "Ok" ) ); |
145 | return; | 149 | return; |
146 | } | 150 | } |
147 | connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); | 151 | connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); |
148 | 152 | ||
149 | 153 | ||
150 | } | 154 | } |
151 | 155 | ||
152 | void ComposeMail::fillSettings() | 156 | void ComposeMail::fillSettings() |
153 | { | 157 | { |
154 | if ( QApplication::desktop()->width() < 320 ) | 158 | if ( QApplication::desktop()->width() < 320 ) |
155 | fromBox->setMaximumWidth( 100 ); | 159 | fromBox->setMaximumWidth( 100 ); |
156 | QStringList mailList = QStringList::split(";",KOPrefs::instance()->mEmail); | 160 | QStringList mailList = QStringList::split(";",KOPrefs::instance()->mEmail); |
157 | QStringList::ConstIterator sit = mailList.begin(); | 161 | QStringList::ConstIterator sit = mailList.begin(); |
158 | int pref = 0; | 162 | int pref = 0; |
159 | for (;sit!=mailList.end();++sit) { | 163 | for (;sit!=mailList.end();++sit) { |
160 | fromBox->insertItem((*sit)); | 164 | fromBox->insertItem((*sit)); |
161 | } | 165 | } |
162 | senderNameEdit->setText(KOPrefs::instance()->mName); | 166 | senderNameEdit->setText(KOPrefs::instance()->mName); |
163 | } | 167 | } |
164 | 168 | ||
165 | 169 | ||
166 | void ComposeMail::saveAsDraft() | 170 | void ComposeMail::saveAsDraft() |
167 | { | 171 | { |
168 | 172 | ||
169 | Opie::Core::OSmartPointer<Mail> mail= new Mail(); | 173 | Opie::Core::OSmartPointer<Mail> mail= new Mail(); |
170 | mail->setMail(fromBox->currentText()); | 174 | mail->setMail(fromBox->currentText()); |
171 | mail->setTo( toLine->text() ); | 175 | mail->setTo( toLine->text() ); |
172 | mail->setName(senderNameEdit->text()); | 176 | mail->setName(senderNameEdit->text()); |
173 | mail->setCC( ccLine->text() ); | 177 | mail->setCC( ccLine->text() ); |
174 | mail->setBCC( bccLine->text() ); | 178 | mail->setBCC( bccLine->text() ); |
175 | mail->setReply( replyLine->text() ); | 179 | mail->setReply( replyLine->text() ); |
176 | mail->setSubject( subjectLine->text() ); | 180 | mail->setSubject( subjectLine->text() ); |
177 | if (!m_replyid.isEmpty()) { | 181 | if (!m_replyid.isEmpty()) { |
178 | QStringList ids; | 182 | QStringList ids; |
179 | ids.append(m_replyid); | 183 | ids.append(m_replyid); |
180 | mail->setInreply(ids); | 184 | mail->setInreply(ids); |
181 | } | 185 | } |
182 | QString txt = message->text(); | 186 | QString txt = message->text(); |
183 | if ( !sigMultiLine->text().isEmpty() ) { | 187 | if ( !sigMultiLine->text().isEmpty() ) { |
184 | txt.append( "\n--\n" ); | 188 | txt.append( "\n--\n" ); |
185 | txt.append( sigMultiLine->text() ); | 189 | txt.append( sigMultiLine->text() ); |
186 | } | 190 | } |
187 | mail->setMessage( txt ); | 191 | mail->setMessage( txt ); |
188 | mail->setCharset (mEncoding); | 192 | mail->setCharset (mEncoding); |
189 | /* only use the default drafts folder name! */ | 193 | /* only use the default drafts folder name! */ |
190 | Storemail wrapper(AbstractMail::draftFolder()); | 194 | Storemail wrapper(AbstractMail::draftFolder()); |
191 | wrapper.storeMail(mail); | 195 | wrapper.storeMail(mail); |
192 | 196 | ||
193 | AttachViewItem *it = (AttachViewItem *) attList->firstChild(); | 197 | AttachViewItem *it = (AttachViewItem *) attList->firstChild(); |
194 | /* attachments we will ignore! */ | 198 | /* attachments we will ignore! */ |
195 | if ( it != 0 ) { | 199 | if ( it != 0 ) { |
196 | if ( warnAttach ) | 200 | if ( warnAttach ) |
197 | QMessageBox::warning(0,i18n("Store message"), | 201 | QMessageBox::warning(0,i18n("Store message"), |
198 | i18n("<center>Attachments will not be stored in \"Draft\" folder</center>")); | 202 | i18n("<center>Attachments will not be stored in \"Draft\" folder</center>")); |
199 | warnAttach = false; | 203 | warnAttach = false; |
200 | } | 204 | } |
201 | setStatus( i18n("Mail saved as draft!") ); | 205 | setStatus( i18n("Mail saved as draft!") ); |
202 | } | 206 | } |
203 | void ComposeMail::clearStatus() | 207 | void ComposeMail::clearStatus() |
204 | { | 208 | { |
205 | topLevelWidget()->setCaption( i18n("Compose mail") ); | 209 | topLevelWidget()->setCaption( i18n("Compose mail") ); |
206 | } | 210 | } |
207 | void ComposeMail::setStatus( QString status ) | 211 | void ComposeMail::setStatus( QString status ) |
208 | { | 212 | { |
209 | topLevelWidget()->setCaption( status ); | 213 | topLevelWidget()->setCaption( status ); |
210 | QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; | 214 | QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; |
211 | } | 215 | } |
212 | void ComposeMail::pickAddress( ) | 216 | void ComposeMail::pickAddress( ) |
213 | { | 217 | { |
214 | 218 | ||
215 | QLineEdit *line = mPickLineEdit; | 219 | QLineEdit *line = mPickLineEdit; |
216 | if ( line == 0 ) | 220 | if ( line == 0 ) |
217 | return; | 221 | return; |
218 | #ifdef DESKTOP_VERSION | 222 | #ifdef DESKTOP_VERSION |
219 | //qDebug(" ComposeMail::pickAddress "); | 223 | //qDebug(" ComposeMail::pickAddress "); |
220 | QString names ;//= AddressPicker::getNames(); | 224 | QString names ;//= AddressPicker::getNames(); |
221 | 225 | ||
222 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); | 226 | KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); |
223 | uint i=0; | 227 | uint i=0; |
224 | for (i=0; i < list.count(); i++) { | 228 | for (i=0; i < list.count(); i++) { |
225 | if ( !list[i].preferredEmail().isEmpty()) { | 229 | if ( !list[i].preferredEmail().isEmpty()) { |
226 | if ( ! names.isEmpty() ) | 230 | if ( ! names.isEmpty() ) |
227 | names+= ","; | 231 | names+= ","; |
228 | names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; | 232 | names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; |
229 | 233 | ||
230 | } | 234 | } |
231 | } | 235 | } |
232 | 236 | ||
233 | 237 | ||
234 | if ( line->text().isEmpty() ) { | 238 | if ( line->text().isEmpty() ) { |
235 | line->setText( names ); | 239 | line->setText( names ); |
236 | } else if ( !names.isEmpty() ) { | 240 | } else if ( !names.isEmpty() ) { |
237 | line->setText( line->text() + ", " + names ); | 241 | line->setText( line->text() + ", " + names ); |
238 | } | 242 | } |
239 | #else | 243 | #else |
240 | bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); | 244 | bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); |
241 | // the result should now arrive through method insertAttendees | 245 | // the result should now arrive through method insertAttendees |
242 | #endif | 246 | #endif |
243 | } | 247 | } |
244 | //the map includes name/email pairs, that comes from Ka/Pi | 248 | //the map includes name/email pairs, that comes from Ka/Pi |
245 | void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) | 249 | void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) |
246 | { | 250 | { |
247 | //qDebug("ComposeMail::insertAttendees "); | 251 | //qDebug("ComposeMail::insertAttendees "); |
248 | raise(); | 252 | raise(); |
249 | 253 | ||
250 | if ( mPickLineEdit == 0 ) { //whoami received | 254 | if ( mPickLineEdit == 0 ) { //whoami received |
251 | QString defmail = uidList[0]; | 255 | QString defmail = uidList[0]; |
252 | if ( emailList.count() == 0 ) | 256 | if ( emailList.count() == 0 ) |
253 | QMessageBox::information( 0, i18n( "Hint" ), | 257 | QMessageBox::information( 0, i18n( "Hint" ), |
254 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), | 258 | i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), |
255 | i18n( "Ok" ) ); | 259 | i18n( "Ok" ) ); |
256 | if (defmail.length()!=0) { | 260 | if (defmail.length()!=0) { |
257 | fromBox->insertItem(defmail); | 261 | fromBox->insertItem(defmail); |
258 | } | 262 | } |
259 | QStringList::ConstIterator sit = emailList.begin(); | 263 | QStringList::ConstIterator sit = emailList.begin(); |
260 | int pref = 0; | 264 | int pref = 0; |
261 | for (;sit!=emailList.end();++sit) { | 265 | for (;sit!=emailList.end();++sit) { |
262 | if ( (*sit)==defmail) | 266 | if ( (*sit)==defmail) |
263 | continue; | 267 | continue; |
264 | fromBox->insertItem((*sit)); | 268 | fromBox->insertItem((*sit)); |
265 | } | 269 | } |
266 | senderNameEdit->setText(nameList[0]); | 270 | senderNameEdit->setText(nameList[0]); |
267 | return; | 271 | return; |
268 | } | 272 | } |
diff --git a/kmicromail/libmailwrapper/genericwrapper.cpp b/kmicromail/libmailwrapper/genericwrapper.cpp index eac05e5..1ed9f34 100644 --- a/kmicromail/libmailwrapper/genericwrapper.cpp +++ b/kmicromail/libmailwrapper/genericwrapper.cpp | |||
@@ -1,494 +1,496 @@ | |||
1 | // CHANGED 2004-09-31 Lutz Rogowski | 1 | // CHANGED 2004-09-31 Lutz Rogowski |
2 | #include "genericwrapper.h" | 2 | #include "genericwrapper.h" |
3 | #include <libetpan/libetpan.h> | 3 | #include <libetpan/libetpan.h> |
4 | #include "mailtypes.h" | 4 | #include "mailtypes.h" |
5 | 5 | ||
6 | #include <kconfig.h> | 6 | #include <kconfig.h> |
7 | #include <kglobal.h> | 7 | #include <kglobal.h> |
8 | #include <kstandarddirs.h> | 8 | #include <kstandarddirs.h> |
9 | 9 | ||
10 | 10 | ||
11 | using namespace Opie::Core; | 11 | using namespace Opie::Core; |
12 | Genericwrapper::Genericwrapper() | 12 | Genericwrapper::Genericwrapper() |
13 | : AbstractMail() | 13 | : AbstractMail() |
14 | { | 14 | { |
15 | bodyCache.clear(); | 15 | bodyCache.clear(); |
16 | m_storage = 0; | 16 | m_storage = 0; |
17 | m_folder = 0; | 17 | m_folder = 0; |
18 | } | 18 | } |
19 | 19 | ||
20 | Genericwrapper::~Genericwrapper() | 20 | Genericwrapper::~Genericwrapper() |
21 | { | 21 | { |
22 | if (m_folder) { | 22 | if (m_folder) { |
23 | mailfolder_free(m_folder); | 23 | mailfolder_free(m_folder); |
24 | } | 24 | } |
25 | if (m_storage) { | 25 | if (m_storage) { |
26 | mailstorage_free(m_storage); | 26 | mailstorage_free(m_storage); |
27 | } | 27 | } |
28 | cleanMimeCache(); | 28 | cleanMimeCache(); |
29 | } | 29 | } |
30 | const QDateTime Genericwrapper::parseDateTime( mailimf_date_time *date ) | 30 | const QDateTime Genericwrapper::parseDateTime( mailimf_date_time *date ) |
31 | { | 31 | { |
32 | 32 | ||
33 | QDate da (date->dt_year,date->dt_month, date->dt_day ); | 33 | QDate da (date->dt_year,date->dt_month, date->dt_day ); |
34 | QTime ti ( date->dt_hour, date->dt_min, date->dt_sec ); | 34 | QTime ti ( date->dt_hour, date->dt_min, date->dt_sec ); |
35 | QDateTime dt ( da ,ti ); | 35 | QDateTime dt ( da ,ti ); |
36 | int addsec = -date->dt_zone*36; | 36 | int addsec = -date->dt_zone*36; |
37 | //qDebug("adsec1 %d ",addsec ); | 37 | //qDebug("adsec1 %d ",addsec ); |
38 | dt = dt.addSecs( addsec ); | 38 | dt = dt.addSecs( addsec ); |
39 | int off = KGlobal::locale()->localTimeOffset( dt ); | 39 | int off = KGlobal::locale()->localTimeOffset( dt ); |
40 | //qDebug("adsec2 %d ",off*60 ); | 40 | //qDebug("adsec2 %d ",off*60 ); |
41 | 41 | ||
42 | dt = dt.addSecs( off*60 ); | 42 | dt = dt.addSecs( off*60 ); |
43 | return dt; | 43 | return dt; |
44 | #if 0 | 44 | #if 0 |
45 | QString ret; | 45 | QString ret; |
46 | if ( dt.date() == QDate::currentDate () ) | 46 | if ( dt.date() == QDate::currentDate () ) |
47 | ret = KGlobal::locale()->formatTime( dt.time(),true); | 47 | ret = KGlobal::locale()->formatTime( dt.time(),true); |
48 | 48 | ||
49 | else { | 49 | else { |
50 | ret = KGlobal::locale()->formatDateTime( dt,true,true); | 50 | ret = KGlobal::locale()->formatDateTime( dt,true,true); |
51 | } | 51 | } |
52 | #endif | 52 | #endif |
53 | #if 0 | 53 | #if 0 |
54 | if ( off < 0 ) | 54 | if ( off < 0 ) |
55 | ret += " -"; | 55 | ret += " -"; |
56 | else | 56 | else |
57 | ret += " +"; | 57 | ret += " +"; |
58 | ret += QString::number( off / 60 ); | 58 | ret += QString::number( off / 60 ); |
59 | ret += "h"; | 59 | ret += "h"; |
60 | #endif | 60 | #endif |
61 | #if 0 | 61 | #if 0 |
62 | char tmp[23]; | 62 | char tmp[23]; |
63 | 63 | ||
64 | // snprintf( tmp, 23, "%02i.%02i.%04i %02i:%02i:%02i %+05i", | 64 | // snprintf( tmp, 23, "%02i.%02i.%04i %02i:%02i:%02i %+05i", |
65 | // date->dt_day, date->dt_month, date->dt_year, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); | 65 | // date->dt_day, date->dt_month, date->dt_year, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); |
66 | snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %+05i", | 66 | snprintf( tmp, 23, "%04i-%02i-%02i %02i:%02i:%02i %+05i", |
67 | date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); | 67 | date->dt_year,date->dt_month, date->dt_day, date->dt_hour, date->dt_min, date->dt_sec, date->dt_zone ); |
68 | 68 | ||
69 | 69 | ||
70 | return QString( tmp ); | 70 | return QString( tmp ); |
71 | #endif | 71 | #endif |
72 | //return ret; | 72 | //return ret; |
73 | } | 73 | } |
74 | 74 | ||
75 | void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime) | 75 | void Genericwrapper::fillSingleBody(RecPartP&target,mailmessage*,mailmime*mime) |
76 | { | 76 | { |
77 | if (!mime) { | 77 | if (!mime) { |
78 | return; | 78 | return; |
79 | } | 79 | } |
80 | mailmime_field*field = 0; | 80 | mailmime_field*field = 0; |
81 | mailmime_single_fields fields; | 81 | mailmime_single_fields fields; |
82 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); | 82 | memset(&fields, 0, sizeof(struct mailmime_single_fields)); |
83 | if (mime->mm_mime_fields != NULL) { | 83 | if (mime->mm_mime_fields != NULL) { |
84 | mailmime_single_fields_init(&fields, mime->mm_mime_fields, | 84 | mailmime_single_fields_init(&fields, mime->mm_mime_fields, |
85 | mime->mm_content_type); | 85 | mime->mm_content_type); |
86 | } | 86 | } |
87 | 87 | ||
88 | mailmime_content*type = fields.fld_content; | 88 | mailmime_content*type = fields.fld_content; |
89 | clistcell*current; | 89 | clistcell*current; |
90 | if (!type) { | 90 | if (!type) { |
91 | target->setType("text"); | 91 | target->setType("text"); |
92 | target->setSubtype("plain"); | 92 | target->setSubtype("plain"); |
93 | } else { | 93 | } else { |
94 | target->setSubtype(type->ct_subtype); | 94 | target->setSubtype(type->ct_subtype); |
95 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { | 95 | switch(type->ct_type->tp_data.tp_discrete_type->dt_type) { |
96 | case MAILMIME_DISCRETE_TYPE_TEXT: | 96 | case MAILMIME_DISCRETE_TYPE_TEXT: |
97 | target->setType("text"); | 97 | target->setType("text"); |
98 | break; | 98 | break; |
99 | case MAILMIME_DISCRETE_TYPE_IMAGE: | 99 | case MAILMIME_DISCRETE_TYPE_IMAGE: |
100 | target->setType("image"); | 100 | target->setType("image"); |
101 | break; | 101 | break; |
102 | case MAILMIME_DISCRETE_TYPE_AUDIO: | 102 | case MAILMIME_DISCRETE_TYPE_AUDIO: |
103 | target->setType("audio"); | 103 | target->setType("audio"); |
104 | break; | 104 | break; |
105 | case MAILMIME_DISCRETE_TYPE_VIDEO: | 105 | case MAILMIME_DISCRETE_TYPE_VIDEO: |
106 | target->setType("video"); | 106 | target->setType("video"); |
107 | break; | 107 | break; |
108 | case MAILMIME_DISCRETE_TYPE_APPLICATION: | 108 | case MAILMIME_DISCRETE_TYPE_APPLICATION: |
109 | target->setType("application"); | 109 | target->setType("application"); |
110 | break; | 110 | break; |
111 | case MAILMIME_DISCRETE_TYPE_EXTENSION: | 111 | case MAILMIME_DISCRETE_TYPE_EXTENSION: |
112 | default: | 112 | default: |
113 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { | 113 | if (type->ct_type->tp_data.tp_discrete_type->dt_extension) { |
114 | target->setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); | 114 | target->setType(type->ct_type->tp_data.tp_discrete_type->dt_extension); |
115 | } | 115 | } |
116 | break; | 116 | break; |
117 | } | 117 | } |
118 | if (type->ct_parameters) { | 118 | if (type->ct_parameters) { |
119 | fillParameters(target,type->ct_parameters); | 119 | fillParameters(target,type->ct_parameters); |
120 | } | 120 | } |
121 | } | 121 | } |
122 | if (mime->mm_mime_fields && mime->mm_mime_fields->fld_list) { | 122 | if (mime->mm_mime_fields && mime->mm_mime_fields->fld_list) { |
123 | for (current=clist_begin(mime->mm_mime_fields->fld_list);current!=0;current=clist_next(current)) { | 123 | for (current=clist_begin(mime->mm_mime_fields->fld_list);current!=0;current=clist_next(current)) { |
124 | field = (mailmime_field*)current->data; | 124 | field = (mailmime_field*)current->data; |
125 | switch(field->fld_type) { | 125 | switch(field->fld_type) { |
126 | case MAILMIME_FIELD_TRANSFER_ENCODING: | 126 | case MAILMIME_FIELD_TRANSFER_ENCODING: |
127 | target->setEncoding(getencoding(field->fld_data.fld_encoding)); | 127 | target->setEncoding(getencoding(field->fld_data.fld_encoding)); |
128 | break; | 128 | break; |
129 | case MAILMIME_FIELD_ID: | 129 | case MAILMIME_FIELD_ID: |
130 | target->setIdentifier(field->fld_data.fld_id); | 130 | target->setIdentifier(field->fld_data.fld_id); |
131 | break; | 131 | break; |
132 | case MAILMIME_FIELD_DESCRIPTION: | 132 | case MAILMIME_FIELD_DESCRIPTION: |
133 | target->setDescription(field->fld_data.fld_description); | 133 | target->setDescription(field->fld_data.fld_description); |
134 | break; | 134 | break; |
135 | default: | 135 | default: |
136 | break; | 136 | break; |
137 | } | 137 | } |
138 | } | 138 | } |
139 | } | 139 | } |
140 | } | 140 | } |
141 | 141 | ||
142 | void Genericwrapper::fillParameters(RecPartP&target,clist*parameters) | 142 | void Genericwrapper::fillParameters(RecPartP&target,clist*parameters) |
143 | { | 143 | { |
144 | if (!parameters) {return;} | 144 | if (!parameters) {return;} |
145 | clistcell*current=0; | 145 | clistcell*current=0; |
146 | mailmime_parameter*param; | 146 | mailmime_parameter*param; |
147 | for (current=clist_begin(parameters);current!=0;current=clist_next(current)) { | 147 | for (current=clist_begin(parameters);current!=0;current=clist_next(current)) { |
148 | param = (mailmime_parameter*)current->data; | 148 | param = (mailmime_parameter*)current->data; |
149 | if (param) { | 149 | if (param) { |
150 | target->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); | 150 | target->addParameter(QString(param->pa_name).lower(),QString(param->pa_value)); |
151 | } | 151 | } |
152 | } | 152 | } |
153 | } | 153 | } |
154 | 154 | ||
155 | QString Genericwrapper::getencoding(mailmime_mechanism*aEnc) | 155 | QString Genericwrapper::getencoding(mailmime_mechanism*aEnc) |
156 | { | 156 | { |
157 | QString enc="7bit"; | 157 | QString enc="7bit"; |
158 | if (!aEnc) return enc; | 158 | if (!aEnc) return enc; |
159 | switch(aEnc->enc_type) { | 159 | switch(aEnc->enc_type) { |
160 | case MAILMIME_MECHANISM_7BIT: | 160 | case MAILMIME_MECHANISM_7BIT: |
161 | enc = "7bit"; | 161 | enc = "7bit"; |
162 | break; | 162 | break; |
163 | case MAILMIME_MECHANISM_8BIT: | 163 | case MAILMIME_MECHANISM_8BIT: |
164 | enc = "8bit"; | 164 | enc = "8bit"; |
165 | break; | 165 | break; |
166 | case MAILMIME_MECHANISM_BINARY: | 166 | case MAILMIME_MECHANISM_BINARY: |
167 | enc = "binary"; | 167 | enc = "binary"; |
168 | break; | 168 | break; |
169 | case MAILMIME_MECHANISM_QUOTED_PRINTABLE: | 169 | case MAILMIME_MECHANISM_QUOTED_PRINTABLE: |
170 | enc = "quoted-printable"; | 170 | enc = "quoted-printable"; |
171 | break; | 171 | break; |
172 | case MAILMIME_MECHANISM_BASE64: | 172 | case MAILMIME_MECHANISM_BASE64: |
173 | enc = "base64"; | 173 | enc = "base64"; |
174 | break; | 174 | break; |
175 | case MAILMIME_MECHANISM_TOKEN: | 175 | case MAILMIME_MECHANISM_TOKEN: |
176 | default: | 176 | default: |
177 | if (aEnc->enc_token) { | 177 | if (aEnc->enc_token) { |
178 | enc = QString(aEnc->enc_token); | 178 | enc = QString(aEnc->enc_token); |
179 | } | 179 | } |
180 | break; | 180 | break; |
181 | } | 181 | } |
182 | return enc; | 182 | return enc; |
183 | } | 183 | } |
184 | 184 | ||
185 | void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) | 185 | void Genericwrapper::traverseBody(RecBodyP&target,mailmessage*message,mailmime*mime,QValueList<int>recList,unsigned int current_rec,int current_count) |
186 | { | 186 | { |
187 | if (current_rec >= 10) { | 187 | if (current_rec >= 10) { |
188 | ; // odebug << "too deep recursion!" << oendl; | 188 | ; // odebug << "too deep recursion!" << oendl; |
189 | } | 189 | } |
190 | if (!message || !mime) { | 190 | if (!message || !mime) { |
191 | return; | 191 | return; |
192 | } | 192 | } |
193 | int r; | 193 | int r; |
194 | char*data = 0; | 194 | char*data = 0; |
195 | size_t len; | 195 | size_t len; |
196 | clistiter * cur = 0; | 196 | clistiter * cur = 0; |
197 | QString b; | 197 | QString b; |
198 | RecPartP part = new RecPart(); | 198 | RecPartP part = new RecPart(); |
199 | 199 | ||
200 | switch (mime->mm_type) { | 200 | switch (mime->mm_type) { |
201 | case MAILMIME_SINGLE: | 201 | case MAILMIME_SINGLE: |
202 | { | 202 | { |
203 | QValueList<int>countlist = recList; | 203 | QValueList<int>countlist = recList; |
204 | countlist.append(current_count); | 204 | countlist.append(current_count); |
205 | r = mailmessage_fetch_section(message,mime,&data,&len); | 205 | r = mailmessage_fetch_section(message,mime,&data,&len); |
206 | part->setSize(len); | 206 | part->setSize(len); |
207 | part->setPositionlist(countlist); | 207 | part->setPositionlist(countlist); |
208 | b = gen_attachment_id(); | 208 | b = gen_attachment_id(); |
209 | part->setIdentifier(b); | 209 | part->setIdentifier(b); |
210 | fillSingleBody(part,message,mime); | 210 | fillSingleBody(part,message,mime); |
211 | if (part->Type()=="text" && target->Bodytext().isNull()) { | 211 | if (part->Type()=="text" && target->Bodytext().isNull()) { |
212 | encodedString*rs = new encodedString(); | 212 | encodedString*rs = new encodedString(); |
213 | rs->setContent(data,len); | 213 | rs->setContent(data,len); |
214 | encodedString*res = decode_String(rs,part->Encoding()); | 214 | encodedString*res = decode_String(rs,part->Encoding()); |
215 | if (countlist.count()>2) { | 215 | if (countlist.count()>2) { |
216 | bodyCache[b]=rs; | 216 | bodyCache[b]=rs; |
217 | target->addPart(part); | 217 | target->addPart(part); |
218 | } else { | 218 | } else { |
219 | delete rs; | 219 | delete rs; |
220 | } | 220 | } |
221 | b = QString(res->Content()); | 221 | b = QString(res->Content()); |
222 | delete res; | 222 | delete res; |
223 | size_t index = 0; | 223 | size_t index = 0; |
224 | char*resu = 0; | 224 | char*resu = 0; |
225 | int err = MAILIMF_NO_ERROR; | 225 | int err = MAILIMF_NO_ERROR; |
226 | QString charset = part->searchParamter( "charset"); | 226 | QString charset = part->searchParamter( "charset"); |
227 | qDebug("CHARSET %s ",charset.latin1() ); | 227 | qDebug("CHARSET %s ",charset.latin1() ); |
228 | #if 0 | ||
228 | if (false ) { | 229 | if (false ) { |
229 | //if ( !charset.isEmpty() ) { | 230 | //if ( !charset.isEmpty() ) { |
230 | target->setCharset( charset ); | 231 | target->setCharset( charset ); |
231 | err = mailmime_encoded_phrase_parse(charset.latin1(), | 232 | err = mailmime_encoded_phrase_parse(charset.latin1(), |
232 | b.latin1(), b.length(),&index, "utf-8",&resu); | 233 | b.latin1(), b.length(),&index, "utf-8",&resu); |
233 | if (err == MAILIMF_NO_ERROR && resu && strlen(resu)) { | 234 | if (err == MAILIMF_NO_ERROR && resu && strlen(resu)) { |
234 | //qDebug("res %d %s ", index, resu); | 235 | //qDebug("res %d %s ", index, resu); |
235 | b = QString::fromUtf8(resu); | 236 | b = QString::fromUtf8(resu); |
236 | } | 237 | } |
237 | if (resu) free(resu); | 238 | if (resu) free(resu); |
238 | } | 239 | } |
240 | #endif | ||
239 | target->setBodytext(b); | 241 | target->setBodytext(b); |
240 | target->setDescription(part); | 242 | target->setDescription(part); |
241 | } else { | 243 | } else { |
242 | bodyCache[b]=new encodedString(data,len); | 244 | bodyCache[b]=new encodedString(data,len); |
243 | target->addPart(part); | 245 | target->addPart(part); |
244 | } | 246 | } |
245 | } | 247 | } |
246 | break; | 248 | break; |
247 | case MAILMIME_MULTIPLE: | 249 | case MAILMIME_MULTIPLE: |
248 | { | 250 | { |
249 | unsigned int ccount = 1; | 251 | unsigned int ccount = 1; |
250 | mailmime*cbody=0; | 252 | mailmime*cbody=0; |
251 | QValueList<int>countlist = recList; | 253 | QValueList<int>countlist = recList; |
252 | for (cur = clist_begin(mime->mm_data.mm_multipart.mm_mp_list) ; cur != NULL ; cur = clist_next(cur)) { | 254 | for (cur = clist_begin(mime->mm_data.mm_multipart.mm_mp_list) ; cur != NULL ; cur = clist_next(cur)) { |
253 | cbody = (mailmime*)clist_content(cur); | 255 | cbody = (mailmime*)clist_content(cur); |
254 | if (cbody->mm_type==MAILMIME_MULTIPLE) { | 256 | if (cbody->mm_type==MAILMIME_MULTIPLE) { |
255 | RecPartP targetPart = new RecPart(); | 257 | RecPartP targetPart = new RecPart(); |
256 | targetPart->setType("multipart"); | 258 | targetPart->setType("multipart"); |
257 | countlist.append(current_count); | 259 | countlist.append(current_count); |
258 | targetPart->setPositionlist(countlist); | 260 | targetPart->setPositionlist(countlist); |
259 | target->addPart(targetPart); | 261 | target->addPart(targetPart); |
260 | } | 262 | } |
261 | traverseBody(target,message, cbody,countlist,current_rec+1,ccount); | 263 | traverseBody(target,message, cbody,countlist,current_rec+1,ccount); |
262 | if (cbody->mm_type==MAILMIME_MULTIPLE) { | 264 | if (cbody->mm_type==MAILMIME_MULTIPLE) { |
263 | countlist = recList; | 265 | countlist = recList; |
264 | } | 266 | } |
265 | ++ccount; | 267 | ++ccount; |
266 | } | 268 | } |
267 | } | 269 | } |
268 | break; | 270 | break; |
269 | case MAILMIME_MESSAGE: | 271 | case MAILMIME_MESSAGE: |
270 | { | 272 | { |
271 | QValueList<int>countlist = recList; | 273 | QValueList<int>countlist = recList; |
272 | countlist.append(current_count); | 274 | countlist.append(current_count); |
273 | /* the own header is always at recursion 0 - we don't need that */ | 275 | /* the own header is always at recursion 0 - we don't need that */ |
274 | if (current_rec > 0) { | 276 | if (current_rec > 0) { |
275 | part->setPositionlist(countlist); | 277 | part->setPositionlist(countlist); |
276 | r = mailmessage_fetch_section(message,mime,&data,&len); | 278 | r = mailmessage_fetch_section(message,mime,&data,&len); |
277 | part->setSize(len); | 279 | part->setSize(len); |
278 | part->setPositionlist(countlist); | 280 | part->setPositionlist(countlist); |
279 | b = gen_attachment_id(); | 281 | b = gen_attachment_id(); |
280 | part->setIdentifier(b); | 282 | part->setIdentifier(b); |
281 | part->setType("message"); | 283 | part->setType("message"); |
282 | part->setSubtype("rfc822"); | 284 | part->setSubtype("rfc822"); |
283 | bodyCache[b]=new encodedString(data,len); | 285 | bodyCache[b]=new encodedString(data,len); |
284 | target->addPart(part); | 286 | target->addPart(part); |
285 | } | 287 | } |
286 | if (mime->mm_data.mm_message.mm_msg_mime != NULL) { | 288 | if (mime->mm_data.mm_message.mm_msg_mime != NULL) { |
287 | traverseBody(target,message,mime->mm_data.mm_message.mm_msg_mime,countlist,current_rec+1); | 289 | traverseBody(target,message,mime->mm_data.mm_message.mm_msg_mime,countlist,current_rec+1); |
288 | } | 290 | } |
289 | } | 291 | } |
290 | break; | 292 | break; |
291 | } | 293 | } |
292 | } | 294 | } |
293 | 295 | ||
294 | RecBodyP Genericwrapper::parseMail( mailmessage * msg ) | 296 | RecBodyP Genericwrapper::parseMail( mailmessage * msg ) |
295 | { | 297 | { |
296 | int err = MAILIMF_NO_ERROR; | 298 | int err = MAILIMF_NO_ERROR; |
297 | //mailmime_single_fields fields; | 299 | //mailmime_single_fields fields; |
298 | /* is bound to msg and will be freed there */ | 300 | /* is bound to msg and will be freed there */ |
299 | mailmime * mime=0; | 301 | mailmime * mime=0; |
300 | RecBodyP body = new RecBody(); | 302 | RecBodyP body = new RecBody(); |
301 | //memset(&fields, 0, sizeof(struct mailmime_single_fields)); | 303 | //memset(&fields, 0, sizeof(struct mailmime_single_fields)); |
302 | err = mailmessage_get_bodystructure(msg,&mime); | 304 | err = mailmessage_get_bodystructure(msg,&mime); |
303 | QValueList<int>recList; | 305 | QValueList<int>recList; |
304 | traverseBody(body,msg,mime,recList); | 306 | traverseBody(body,msg,mime,recList); |
305 | return body; | 307 | return body; |
306 | } | 308 | } |
307 | 309 | ||
308 | 310 | ||
309 | QString Genericwrapper::parseAddressList( mailimf_address_list *list ) | 311 | QString Genericwrapper::parseAddressList( mailimf_address_list *list ) |
310 | { | 312 | { |
311 | QString result( "" ); | 313 | QString result( "" ); |
312 | 314 | ||
313 | bool first = true; | 315 | bool first = true; |
314 | if (list == 0) return result; | 316 | if (list == 0) return result; |
315 | for ( clistiter *current = clist_begin( list->ad_list ); current != NULL; current = current->next ) { | 317 | for ( clistiter *current = clist_begin( list->ad_list ); current != NULL; current = current->next ) { |
316 | mailimf_address *addr = (mailimf_address *) current->data; | 318 | mailimf_address *addr = (mailimf_address *) current->data; |
317 | 319 | ||
318 | if ( !first ) { | 320 | if ( !first ) { |
319 | result.append( "," ); | 321 | result.append( "," ); |
320 | } else { | 322 | } else { |
321 | first = false; | 323 | first = false; |
322 | } | 324 | } |
323 | 325 | ||
324 | switch ( addr->ad_type ) { | 326 | switch ( addr->ad_type ) { |
325 | case MAILIMF_ADDRESS_MAILBOX: | 327 | case MAILIMF_ADDRESS_MAILBOX: |
326 | result.append( parseMailbox( addr->ad_data.ad_mailbox ) ); | 328 | result.append( parseMailbox( addr->ad_data.ad_mailbox ) ); |
327 | break; | 329 | break; |
328 | case MAILIMF_ADDRESS_GROUP: | 330 | case MAILIMF_ADDRESS_GROUP: |
329 | result.append( parseGroup( addr->ad_data.ad_group ) ); | 331 | result.append( parseGroup( addr->ad_data.ad_group ) ); |
330 | break; | 332 | break; |
331 | default: | 333 | default: |
332 | ; // odebug << "Generic: unkown mailimf address type" << oendl; | 334 | ; // odebug << "Generic: unkown mailimf address type" << oendl; |
333 | break; | 335 | break; |
334 | } | 336 | } |
335 | } | 337 | } |
336 | 338 | ||
337 | return result; | 339 | return result; |
338 | } | 340 | } |
339 | 341 | ||
340 | QString Genericwrapper::parseGroup( mailimf_group *group ) | 342 | QString Genericwrapper::parseGroup( mailimf_group *group ) |
341 | { | 343 | { |
342 | QString result( "" ); | 344 | QString result( "" ); |
343 | 345 | ||
344 | result.append( group->grp_display_name ); | 346 | result.append( group->grp_display_name ); |
345 | result.append( ": " ); | 347 | result.append( ": " ); |
346 | 348 | ||
347 | if ( group->grp_mb_list != NULL ) { | 349 | if ( group->grp_mb_list != NULL ) { |
348 | result.append( parseMailboxList( group->grp_mb_list ) ); | 350 | result.append( parseMailboxList( group->grp_mb_list ) ); |
349 | } | 351 | } |
350 | 352 | ||
351 | result.append( ";" ); | 353 | result.append( ";" ); |
352 | 354 | ||
353 | return result; | 355 | return result; |
354 | } | 356 | } |
355 | 357 | ||
356 | QString Genericwrapper::parseMailbox( mailimf_mailbox *box ) | 358 | QString Genericwrapper::parseMailbox( mailimf_mailbox *box ) |
357 | { | 359 | { |
358 | QString result( "" ); | 360 | QString result( "" ); |
359 | 361 | ||
360 | if ( box->mb_display_name == NULL ) { | 362 | if ( box->mb_display_name == NULL ) { |
361 | result.append( box->mb_addr_spec ); | 363 | result.append( box->mb_addr_spec ); |
362 | } else { | 364 | } else { |
363 | result.append( convert_String(box->mb_display_name) ); | 365 | result.append( convert_String(box->mb_display_name) ); |
364 | result.append( " <" ); | 366 | result.append( " <" ); |
365 | result.append( box->mb_addr_spec ); | 367 | result.append( box->mb_addr_spec ); |
366 | result.append( ">" ); | 368 | result.append( ">" ); |
367 | } | 369 | } |
368 | 370 | ||
369 | return result; | 371 | return result; |
370 | } | 372 | } |
371 | 373 | ||
372 | QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list ) | 374 | QString Genericwrapper::parseMailboxList( mailimf_mailbox_list *list ) |
373 | { | 375 | { |
374 | QString result( "" ); | 376 | QString result( "" ); |
375 | 377 | ||
376 | bool first = true; | 378 | bool first = true; |
377 | for ( clistiter *current = clist_begin( list->mb_list ); current != NULL; current = current->next ) { | 379 | for ( clistiter *current = clist_begin( list->mb_list ); current != NULL; current = current->next ) { |
378 | mailimf_mailbox *box = (mailimf_mailbox *) current->data; | 380 | mailimf_mailbox *box = (mailimf_mailbox *) current->data; |
379 | 381 | ||
380 | if ( !first ) { | 382 | if ( !first ) { |
381 | result.append( "," ); | 383 | result.append( "," ); |
382 | } else { | 384 | } else { |
383 | first = false; | 385 | first = false; |
384 | } | 386 | } |
385 | 387 | ||
386 | result.append( parseMailbox( box ) ); | 388 | result.append( parseMailbox( box ) ); |
387 | } | 389 | } |
388 | 390 | ||
389 | return result; | 391 | return result; |
390 | } | 392 | } |
391 | 393 | ||
392 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part) | 394 | encodedString* Genericwrapper::fetchDecodedPart(const RecMailP&,const RecPartP&part) |
393 | { | 395 | { |
394 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); | 396 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
395 | if (it==bodyCache.end()) return new encodedString(); | 397 | if (it==bodyCache.end()) return new encodedString(); |
396 | encodedString*t = decode_String(it.data(),part->Encoding()); | 398 | encodedString*t = decode_String(it.data(),part->Encoding()); |
397 | return t; | 399 | return t; |
398 | } | 400 | } |
399 | 401 | ||
400 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part) | 402 | encodedString* Genericwrapper::fetchRawPart(const RecMailP&,const RecPartP&part) |
401 | { | 403 | { |
402 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); | 404 | QMap<QString,encodedString*>::ConstIterator it = bodyCache.find(part->Identifier()); |
403 | if (it==bodyCache.end()) return new encodedString(); | 405 | if (it==bodyCache.end()) return new encodedString(); |
404 | encodedString*t = it.data(); | 406 | encodedString*t = it.data(); |
405 | return t; | 407 | return t; |
406 | } | 408 | } |
407 | 409 | ||
408 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) | 410 | QString Genericwrapper::fetchTextPart(const RecMailP&mail,const RecPartP&part) |
409 | { | 411 | { |
410 | encodedString*t = fetchDecodedPart(mail,part); | 412 | encodedString*t = fetchDecodedPart(mail,part); |
411 | QString text=t->Content(); | 413 | QString text=t->Content(); |
412 | delete t; | 414 | delete t; |
413 | return text; | 415 | return text; |
414 | } | 416 | } |
415 | 417 | ||
416 | void Genericwrapper::cleanMimeCache() | 418 | void Genericwrapper::cleanMimeCache() |
417 | { | 419 | { |
418 | QMap<QString,encodedString*>::Iterator it = bodyCache.begin(); | 420 | QMap<QString,encodedString*>::Iterator it = bodyCache.begin(); |
419 | for (;it!=bodyCache.end();++it) { | 421 | for (;it!=bodyCache.end();++it) { |
420 | encodedString*t = it.data(); | 422 | encodedString*t = it.data(); |
421 | //it.setValue(0); | 423 | //it.setValue(0); |
422 | if (t) delete t; | 424 | if (t) delete t; |
423 | } | 425 | } |
424 | bodyCache.clear(); | 426 | bodyCache.clear(); |
425 | ; // odebug << "Genericwrapper: cache cleaned" << oendl; | 427 | ; // odebug << "Genericwrapper: cache cleaned" << oendl; |
426 | } | 428 | } |
427 | 429 | ||
428 | QStringList Genericwrapper::parseInreplies(mailimf_in_reply_to * in_replies) | 430 | QStringList Genericwrapper::parseInreplies(mailimf_in_reply_to * in_replies) |
429 | { | 431 | { |
430 | QStringList res; | 432 | QStringList res; |
431 | if (!in_replies || !in_replies->mid_list) return res; | 433 | if (!in_replies || !in_replies->mid_list) return res; |
432 | clistiter * current = 0; | 434 | clistiter * current = 0; |
433 | for ( current = clist_begin( in_replies->mid_list ); current != NULL; current = current->next ) { | 435 | for ( current = clist_begin( in_replies->mid_list ); current != NULL; current = current->next ) { |
434 | QString h((char*)current->data); | 436 | QString h((char*)current->data); |
435 | while (h.length()>0 && h[0]=='<') { | 437 | while (h.length()>0 && h[0]=='<') { |
436 | h.remove(0,1); | 438 | h.remove(0,1); |
437 | } | 439 | } |
438 | while (h.length()>0 && h[h.length()-1]=='>') { | 440 | while (h.length()>0 && h[h.length()-1]=='>') { |
439 | h.remove(h.length()-1,1); | 441 | h.remove(h.length()-1,1); |
440 | } | 442 | } |
441 | if (h.length()>0) { | 443 | if (h.length()>0) { |
442 | res.append(h); | 444 | res.append(h); |
443 | } | 445 | } |
444 | } | 446 | } |
445 | return res; | 447 | return res; |
446 | } | 448 | } |
447 | 449 | ||
448 | void Genericwrapper::parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to, int maxSizeInKb) | 450 | void Genericwrapper::parseList(QValueList<Opie::Core::OSmartPointer<RecMail> > &target,mailsession*session,const QString&mailbox,bool mbox_as_to, int maxSizeInKb) |
449 | { | 451 | { |
450 | int r; | 452 | int r; |
451 | mailmessage_list * env_list = 0; | 453 | mailmessage_list * env_list = 0; |
452 | r = mailsession_get_messages_list(session,&env_list); | 454 | r = mailsession_get_messages_list(session,&env_list); |
453 | if (r != MAIL_NO_ERROR) { | 455 | if (r != MAIL_NO_ERROR) { |
454 | ; // odebug << "Error message list" << oendl; | 456 | ; // odebug << "Error message list" << oendl; |
455 | return; | 457 | return; |
456 | } | 458 | } |
457 | r = mailsession_get_envelopes_list(session, env_list); | 459 | r = mailsession_get_envelopes_list(session, env_list); |
458 | if (r != MAIL_NO_ERROR) { | 460 | if (r != MAIL_NO_ERROR) { |
459 | ; // odebug << "Error filling message list" << oendl; | 461 | ; // odebug << "Error filling message list" << oendl; |
460 | if (env_list) { | 462 | if (env_list) { |
461 | mailmessage_list_free(env_list); | 463 | mailmessage_list_free(env_list); |
462 | } | 464 | } |
463 | return; | 465 | return; |
464 | } | 466 | } |
465 | mailimf_references * refs = 0; | 467 | mailimf_references * refs = 0; |
466 | mailimf_in_reply_to * in_replies = 0; | 468 | mailimf_in_reply_to * in_replies = 0; |
467 | uint32_t i = 0; | 469 | uint32_t i = 0; |
468 | for(; i < carray_count(env_list->msg_tab) ; ++i) { | 470 | for(; i < carray_count(env_list->msg_tab) ; ++i) { |
469 | mailmessage * msg; | 471 | mailmessage * msg; |
470 | QBitArray mFlags(7); | 472 | QBitArray mFlags(7); |
471 | msg = (mailmessage*)carray_get(env_list->msg_tab, i); | 473 | msg = (mailmessage*)carray_get(env_list->msg_tab, i); |
472 | if (msg->msg_fields == NULL) { | 474 | if (msg->msg_fields == NULL) { |
473 | //; // odebug << "could not fetch envelope of message " << i << "" << oendl; | 475 | //; // odebug << "could not fetch envelope of message " << i << "" << oendl; |
474 | continue; | 476 | continue; |
475 | } | 477 | } |
476 | RecMailP mail = new RecMail(); | 478 | RecMailP mail = new RecMail(); |
477 | mail->setWrapper(this); | 479 | mail->setWrapper(this); |
478 | mail_flags * flag_result = 0; | 480 | mail_flags * flag_result = 0; |
479 | r = mailmessage_get_flags(msg,&flag_result); | 481 | r = mailmessage_get_flags(msg,&flag_result); |
480 | if (r == MAIL_ERROR_NOT_IMPLEMENTED) { | 482 | if (r == MAIL_ERROR_NOT_IMPLEMENTED) { |
481 | mFlags.setBit(FLAG_SEEN); | 483 | mFlags.setBit(FLAG_SEEN); |
482 | } | 484 | } |
483 | mailimf_single_fields single_fields; | 485 | mailimf_single_fields single_fields; |
484 | mailimf_single_fields_init(&single_fields, msg->msg_fields); | 486 | mailimf_single_fields_init(&single_fields, msg->msg_fields); |
485 | mail->setMsgsize(msg->msg_size); | 487 | mail->setMsgsize(msg->msg_size); |
486 | mail->setFlags(mFlags); | 488 | mail->setFlags(mFlags); |
487 | mail->setMbox(mailbox); | 489 | mail->setMbox(mailbox); |
488 | mail->setNumber(msg->msg_index); | 490 | mail->setNumber(msg->msg_index); |
489 | if (single_fields.fld_subject) | 491 | if (single_fields.fld_subject) |
490 | mail->setSubject( convert_String(single_fields.fld_subject->sbj_value)); | 492 | mail->setSubject( convert_String(single_fields.fld_subject->sbj_value)); |
491 | if (single_fields.fld_from) | 493 | if (single_fields.fld_from) |
492 | mail->setFrom(parseMailboxList(single_fields.fld_from->frm_mb_list)); | 494 | mail->setFrom(parseMailboxList(single_fields.fld_from->frm_mb_list)); |
493 | if (!mbox_as_to) { | 495 | if (!mbox_as_to) { |
494 | if (single_fields.fld_to) | 496 | if (single_fields.fld_to) |
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index 8c0a4cb..0e4a64f 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp | |||
@@ -1,274 +1,275 @@ | |||
1 | 1 | ||
2 | // CHANGED 2004-08-06 Lutz Rogowski | 2 | // CHANGED 2004-08-06 Lutz Rogowski |
3 | #include <qlabel.h> | 3 | #include <qlabel.h> |
4 | #include <qvbox.h> | 4 | #include <qvbox.h> |
5 | #include <qheader.h> | 5 | #include <qheader.h> |
6 | #include <qtimer.h> | 6 | #include <qtimer.h> |
7 | #include <qlayout.h> | 7 | #include <qlayout.h> |
8 | //#include <kdialog.h> | 8 | //#include <kdialog.h> |
9 | #include <kiconloader.h> | 9 | #include <kiconloader.h> |
10 | #include <kapplication.h> | 10 | #include <kapplication.h> |
11 | 11 | ||
12 | #ifdef DESKTOP_VERSION | 12 | #ifdef DESKTOP_VERSION |
13 | #include <qapplication.h> | 13 | #include <qapplication.h> |
14 | #include <qstatusbar.h> | 14 | #include <qstatusbar.h> |
15 | #include <kabc/stdaddressbook.h> | 15 | #include <kabc/stdaddressbook.h> |
16 | extern QStatusBar* globalSstatusBarMainWindow; | 16 | extern QStatusBar* globalSstatusBarMainWindow; |
17 | #else | 17 | #else |
18 | #include <qpe/qpeapplication.h> | 18 | #include <qpe/qpeapplication.h> |
19 | #include <klocale.h> | ||
19 | #endif | 20 | #endif |
20 | #include "defines.h" | 21 | #include "defines.h" |
21 | #include "mainwindow.h" | 22 | #include "mainwindow.h" |
22 | #include <KDGanttMinimizeSplitter.h> | 23 | #include <KDGanttMinimizeSplitter.h> |
23 | 24 | ||
24 | #include "koprefs.h" | 25 | #include "koprefs.h" |
25 | 26 | ||
26 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 27 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
27 | : QMainWindow( parent, name ) //, flags ) | 28 | : QMainWindow( parent, name ) //, flags ) |
28 | { | 29 | { |
29 | #ifdef DESKTOP_VERSION | 30 | #ifdef DESKTOP_VERSION |
30 | globalSstatusBarMainWindow = statusBar(); | 31 | globalSstatusBarMainWindow = statusBar(); |
31 | #endif | 32 | #endif |
32 | setCaption( i18n( "KOpieMail/Pi" ) ); | 33 | setCaption( i18n( "KOpieMail/Pi" ) ); |
33 | setToolBarsMovable( false ); | 34 | setToolBarsMovable( false ); |
34 | //KABC::StdAddressBook::self(); | 35 | //KABC::StdAddressBook::self(); |
35 | toolBar = new QToolBar( this ); | 36 | toolBar = new QToolBar( this ); |
36 | menuBar = new QPEMenuBar( toolBar ); | 37 | menuBar = new QPEMenuBar( toolBar ); |
37 | mailMenu = new QPopupMenu( menuBar ); | 38 | mailMenu = new QPopupMenu( menuBar ); |
38 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); | 39 | menuBar->insertItem( i18n( "Mail" ), mailMenu ); |
39 | settingsMenu = new QPopupMenu( menuBar ); | 40 | settingsMenu = new QPopupMenu( menuBar ); |
40 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); | 41 | menuBar->insertItem( i18n( "Settings" ), settingsMenu ); |
41 | 42 | ||
42 | addToolBar( toolBar ); | 43 | addToolBar( toolBar ); |
43 | toolBar->setHorizontalStretchable( true ); | 44 | toolBar->setHorizontalStretchable( true ); |
44 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), | 45 | QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), |
45 | 0, 0, this ); | 46 | 0, 0, this ); |
46 | connect(getMail, SIGNAL( activated() ), | 47 | connect(getMail, SIGNAL( activated() ), |
47 | SLOT( slotGetAllMail() ) ); | 48 | SLOT( slotGetAllMail() ) ); |
48 | getMail->addTo( mailMenu ); | 49 | getMail->addTo( mailMenu ); |
49 | 50 | ||
50 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), | 51 | getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), |
51 | 0, 0, this ); | 52 | 0, 0, this ); |
52 | getMail->addTo( toolBar ); | 53 | getMail->addTo( toolBar ); |
53 | getMail->addTo( mailMenu ); | 54 | getMail->addTo( mailMenu ); |
54 | connect(getMail, SIGNAL( activated() ), | 55 | connect(getMail, SIGNAL( activated() ), |
55 | SLOT( slotGetMail() ) ); | 56 | SLOT( slotGetMail() ) ); |
56 | 57 | ||
57 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), | 58 | composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), |
58 | 0, 0, this ); | 59 | 0, 0, this ); |
59 | composeMail->addTo( toolBar ); | 60 | composeMail->addTo( toolBar ); |
60 | composeMail->addTo( mailMenu ); | 61 | composeMail->addTo( mailMenu ); |
61 | 62 | ||
62 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , | 63 | sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , |
63 | 0, 0, this ); | 64 | 0, 0, this ); |
64 | sendQueued->addTo( toolBar ); | 65 | sendQueued->addTo( toolBar ); |
65 | sendQueued->addTo( mailMenu ); | 66 | sendQueued->addTo( mailMenu ); |
66 | 67 | ||
67 | /* | 68 | /* |
68 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, | 69 | syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, |
69 | 0, 0, this ); | 70 | 0, 0, this ); |
70 | syncFolders->addTo( toolBar ); | 71 | syncFolders->addTo( toolBar ); |
71 | syncFolders->addTo( mailMenu ); | 72 | syncFolders->addTo( mailMenu ); |
72 | */ | 73 | */ |
73 | 74 | ||
74 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , | 75 | showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , |
75 | 0, 0, this, 0, true ); | 76 | 0, 0, this, 0, true ); |
76 | showFolders->addTo( toolBar ); | 77 | showFolders->addTo( toolBar ); |
77 | showFolders->addTo( mailMenu ); | 78 | showFolders->addTo( mailMenu ); |
78 | showFolders->setOn( true ); | 79 | showFolders->setOn( true ); |
79 | connect(showFolders, SIGNAL( toggled(bool) ), | 80 | connect(showFolders, SIGNAL( toggled(bool) ), |
80 | SLOT( slotShowFolders(bool) ) ); | 81 | SLOT( slotShowFolders(bool) ) ); |
81 | 82 | ||
82 | /* | 83 | /* |
83 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), | 84 | searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), |
84 | 0, 0, this ); | 85 | 0, 0, this ); |
85 | searchMails->addTo( toolBar ); | 86 | searchMails->addTo( toolBar ); |
86 | searchMails->addTo( mailMenu ); | 87 | searchMails->addTo( mailMenu ); |
87 | */ | 88 | */ |
88 | 89 | ||
89 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); | 90 | deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); |
90 | deleteMails->addTo( toolBar ); | 91 | deleteMails->addTo( toolBar ); |
91 | deleteMails->addTo( mailMenu ); | 92 | deleteMails->addTo( mailMenu ); |
92 | connect( deleteMails, SIGNAL( activated() ), | 93 | connect( deleteMails, SIGNAL( activated() ), |
93 | SLOT( slotDeleteMail() ) ); | 94 | SLOT( slotDeleteMail() ) ); |
94 | 95 | ||
95 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , | 96 | editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , |
96 | 0, 0, this ); | 97 | 0, 0, this ); |
97 | editSettings->addTo( settingsMenu ); | 98 | editSettings->addTo( settingsMenu ); |
98 | connect( editSettings, SIGNAL( activated() ), | 99 | connect( editSettings, SIGNAL( activated() ), |
99 | SLOT( slotEditSettings() ) ); | 100 | SLOT( slotEditSettings() ) ); |
100 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , | 101 | editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , |
101 | 0, 0, this ); | 102 | 0, 0, this ); |
102 | editAccounts->addTo( settingsMenu ); | 103 | editAccounts->addTo( settingsMenu ); |
103 | codecMenu = new QPopupMenu( menuBar ); | 104 | codecMenu = new QPopupMenu( menuBar ); |
104 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); | 105 | codecMenu->insertItem( "Western (iso-8859-1)",0,0); |
105 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); | 106 | codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); |
106 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); | 107 | codecMenu->insertItem( "Western (iso-8859-15)",2,2); |
107 | codecMenu->insertItem( "Chinese (big-5)",3,3); | 108 | codecMenu->insertItem( "Chinese (big-5)",3,3); |
108 | codecMenu->insertItem( "Unicode (utf-8)",4,4); | 109 | codecMenu->insertItem( "Unicode (utf-8)",4,4); |
109 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); | 110 | codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); |
110 | //disabled | 111 | //disabled |
111 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); | 112 | //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); |
112 | //setCentralWidget( view ); | 113 | //setCentralWidget( view ); |
113 | 114 | ||
114 | QVBox* wrapperBox = new QVBox( this ); | 115 | QVBox* wrapperBox = new QVBox( this ); |
115 | setCentralWidget( wrapperBox ); | 116 | setCentralWidget( wrapperBox ); |
116 | 117 | ||
117 | // QWidget *view = new QWidget( wrapperBox ); | 118 | // QWidget *view = new QWidget( wrapperBox ); |
118 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); | 119 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); |
119 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); | 120 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); |
120 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); | 121 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); |
121 | 122 | ||
122 | folderView = new AccountView( split ); | 123 | folderView = new AccountView( split ); |
123 | folderView->header()->hide(); | 124 | folderView->header()->hide(); |
124 | folderView->setRootIsDecorated( false ); | 125 | folderView->setRootIsDecorated( false ); |
125 | folderView->addColumn( i18n( "Mailbox" ) ); | 126 | folderView->addColumn( i18n( "Mailbox" ) ); |
126 | 127 | ||
127 | //layout->addWidget( folderView ); | 128 | //layout->addWidget( folderView ); |
128 | 129 | ||
129 | mailView = new QListView( split ); | 130 | mailView = new QListView( split ); |
130 | mailView->addColumn( i18n( " " ) ); | 131 | mailView->addColumn( i18n( " " ) ); |
131 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); | 132 | mailView->addColumn( i18n( "Subject" ),QListView::Manual ); |
132 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); | 133 | mailView->addColumn( i18n( "Sender" ),QListView::Manual ); |
133 | mailView->addColumn( i18n( "Size" ),QListView::Manual); | 134 | mailView->addColumn( i18n( "Size" ),QListView::Manual); |
134 | mailView->addColumn( i18n( "Date" ),QListView::Manual); | 135 | mailView->addColumn( i18n( "Date" ),QListView::Manual); |
135 | mailView->setAllColumnsShowFocus(true); | 136 | mailView->setAllColumnsShowFocus(true); |
136 | //mailView->setSorting(-1); | 137 | //mailView->setSorting(-1); |
137 | mailView->setRootIsDecorated( false ); | 138 | mailView->setRootIsDecorated( false ); |
138 | statusWidget = new StatusWidget( wrapperBox ); | 139 | statusWidget = new StatusWidget( wrapperBox ); |
139 | statusWidget->hide(); | 140 | statusWidget->hide(); |
140 | 141 | ||
141 | //layout->addWidget( mailView ); | 142 | //layout->addWidget( mailView ); |
142 | //layout->setStretchFactor( folderView, 1 ); | 143 | //layout->setStretchFactor( folderView, 1 ); |
143 | //layout->setStretchFactor( mailView, 2 ); | 144 | //layout->setStretchFactor( mailView, 2 ); |
144 | 145 | ||
145 | slotAdjustLayout(); | 146 | slotAdjustLayout(); |
146 | #ifndef DESKTOP_VERSION | 147 | #ifndef DESKTOP_VERSION |
147 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 148 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
148 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 149 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
149 | #endif | 150 | #endif |
150 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, | 151 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, |
151 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 152 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
152 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, | 153 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, |
153 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 154 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
154 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 155 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
155 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 156 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
156 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 157 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
157 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 158 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
158 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 159 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
159 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 160 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
160 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 161 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
161 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 162 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
162 | //mailView->setMultiSelection ( true ); | 163 | //mailView->setMultiSelection ( true ); |
163 | mailView->setSelectionMode( QListView::Extended ); | 164 | mailView->setSelectionMode( QListView::Extended ); |
164 | QValueList<int> list; | 165 | QValueList<int> list; |
165 | int fw = 100; | 166 | int fw = 100; |
166 | if ( QApplication::desktop()->width() > 320 ) | 167 | if ( QApplication::desktop()->width() > 320 ) |
167 | fw = 50; | 168 | fw = 50; |
168 | list.append( fw ); | 169 | list.append( fw ); |
169 | list.append( 100 ); | 170 | list.append( 100 ); |
170 | split->setSizes( list ); | 171 | split->setSizes( list ); |
171 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 172 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
172 | mailView->setShowSortIndicator ( true ); | 173 | mailView->setShowSortIndicator ( true ); |
173 | QLabel *spacer = new QLabel( toolBar ); | 174 | QLabel *spacer = new QLabel( toolBar ); |
174 | spacer->setBackgroundMode( QWidget::PaletteButton ); | 175 | spacer->setBackgroundMode( QWidget::PaletteButton ); |
175 | toolBar->setStretchableWidget( spacer ); | 176 | toolBar->setStretchableWidget( spacer ); |
176 | 177 | ||
177 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); | 178 | QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); |
178 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); | 179 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); |
179 | if ( QApplication::desktop()->width() > 320 ) | 180 | if ( QApplication::desktop()->width() > 320 ) |
180 | closeMail->addTo(toolBar); | 181 | closeMail->addTo(toolBar); |
181 | closeMail->addTo(mailMenu); | 182 | closeMail->addTo(mailMenu); |
182 | 183 | ||
183 | 184 | ||
184 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); | 185 | QPopupMenu* helpMenu = new QPopupMenu( menuBar ); |
185 | menuBar->insertItem( i18n( "Help" ), helpMenu ); | 186 | menuBar->insertItem( i18n( "Help" ), helpMenu ); |
186 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); | 187 | QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); |
187 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); | 188 | connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); |
188 | li->addTo(helpMenu); | 189 | li->addTo(helpMenu); |
189 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); | 190 | li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); |
190 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); | 191 | connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); |
191 | li->addTo(helpMenu); | 192 | li->addTo(helpMenu); |
192 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); | 193 | li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); |
193 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); | 194 | connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); |
194 | li->addTo(helpMenu); | 195 | li->addTo(helpMenu); |
195 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); | 196 | connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); |
196 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); | 197 | slotSetCodec( KOPrefs::instance()->mCurrentCodec ); |
197 | #ifdef DESKTOP_VERSION | 198 | #ifdef DESKTOP_VERSION |
198 | resize ( 640, 480 ); | 199 | resize ( 640, 480 ); |
199 | #endif | 200 | #endif |
200 | } | 201 | } |
201 | 202 | ||
202 | MainWindow::~MainWindow() | 203 | MainWindow::~MainWindow() |
203 | { | 204 | { |
204 | } | 205 | } |
205 | 206 | ||
206 | void MainWindow::slotSetCodec( int codec ) | 207 | void MainWindow::slotSetCodec( int codec ) |
207 | { | 208 | { |
208 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); | 209 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); |
209 | //qDebug("codec %d ", codec); | 210 | //qDebug("codec %d ", codec); |
210 | KOPrefs::instance()->mCurrentCodec = codec; | 211 | KOPrefs::instance()->mCurrentCodec = codec; |
211 | KOPrefs::instance()->isDirty = true; | 212 | KOPrefs::instance()->isDirty = true; |
212 | QString name; | 213 | QString name; |
213 | switch ( codec ) { | 214 | switch ( codec ) { |
214 | case 0: | 215 | case 0: |
215 | name = "iso-8859-1"; | 216 | name = "iso-8859-1"; |
216 | break; | 217 | break; |
217 | case 1: | 218 | case 1: |
218 | name = "iso-8859-5"; | 219 | name = "iso-8859-5"; |
219 | break; | 220 | break; |
220 | case 2: | 221 | case 2: |
221 | name = "iso-8859-15"; | 222 | name = "iso-8859-15"; |
222 | break; | 223 | break; |
223 | case 3: | 224 | case 3: |
224 | name = "big-5"; | 225 | name = "big-5"; |
225 | break; | 226 | break; |
226 | case 4: | 227 | case 4: |
227 | name = "utf-8"; | 228 | name = "utf-8"; |
228 | break; | 229 | break; |
229 | case 5: | 230 | case 5: |
230 | name = KOPrefs::instance()->mSendCodec.lower(); | 231 | name = KOPrefs::instance()->mSendCodec.lower(); |
231 | break; | 232 | break; |
232 | } | 233 | } |
233 | KOPrefs::instance()->mCurrentCodeName = name ; | 234 | KOPrefs::instance()->mCurrentCodeName = name ; |
234 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); | 235 | codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); |
235 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); | 236 | codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); |
236 | } | 237 | } |
237 | void MainWindow::showLicence() | 238 | void MainWindow::showLicence() |
238 | { | 239 | { |
239 | KApplication::showLicence(); | 240 | KApplication::showLicence(); |
240 | } | 241 | } |
241 | void MainWindow::showAbout() | 242 | void MainWindow::showAbout() |
242 | { | 243 | { |
243 | QString version; | 244 | QString version; |
244 | #include <../version> | 245 | #include <../version> |
245 | 246 | ||
246 | QString cap = "About KOpieMail/Pi"; | 247 | QString cap = "About KOpieMail/Pi"; |
247 | QString text =i18n("KOpieMail/Platform-independent\n") + | 248 | QString text =i18n("KOpieMail/Platform-independent\n") + |
248 | "(OM/Pi) " + version + " - " | 249 | "(OM/Pi) " + version + " - " |
249 | 250 | ||
250 | #ifdef DESKTOP_VERSION | 251 | #ifdef DESKTOP_VERSION |
251 | "Desktop Edition\n" | 252 | "Desktop Edition\n" |
252 | #else | 253 | #else |
253 | "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" | 254 | "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" |
254 | #endif | 255 | #endif |
255 | "www.pi-sync.net\n\n" | 256 | "www.pi-sync.net\n\n" |
256 | 257 | ||
257 | 258 | ||
258 | 259 | ||
259 | "Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n" | 260 | "Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n" |
260 | "KOpieMail/Pi is based on Opie Mail\n" | 261 | "KOpieMail/Pi is based on Opie Mail\n" |
261 | "Copyright (c) Rajko Albrecht and the Opie team\n" | 262 | "Copyright (c) Rajko Albrecht and the Opie team\n" |
262 | "KOpieMail/Pi is licensed under the GPL\n" | 263 | "KOpieMail/Pi is licensed under the GPL\n" |
263 | "\n" | 264 | "\n" |
264 | "KOpieMail/Pi uses LibEtPan - a mail stuff library\n" | 265 | "KOpieMail/Pi uses LibEtPan - a mail stuff library\n" |
265 | "Copyright (C) 2001, 2002 - DINH Viet Hoa\n" | 266 | "Copyright (C) 2001, 2002 - DINH Viet Hoa\n" |
266 | "libEtPan has its own licence - see LibEtPan licence\n"; | 267 | "libEtPan has its own licence - see LibEtPan licence\n"; |
267 | 268 | ||
268 | KApplication::showText( cap, text ); | 269 | KApplication::showText( cap, text ); |
269 | } | 270 | } |
270 | void MainWindow::showEtpanLicence() | 271 | void MainWindow::showEtpanLicence() |
271 | { | 272 | { |
272 | KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" ); | 273 | KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" ); |
273 | 274 | ||
274 | } | 275 | } |