diff --git a/app/src/gambas3/.lang/.pot b/app/src/gambas3/.lang/.pot index 0c63ad031..54011ec13 100644 --- a/app/src/gambas3/.lang/.pot +++ b/app/src/gambas3/.lang/.pot @@ -4005,6 +4005,10 @@ msgstr "" msgid "&Close" msgstr "" +#: FPatch.class:168 +msgid "That file does not look like a patch file!" +msgstr "" + #: FProfile.form:60 msgid "Show relative durations" msgstr "" @@ -6285,14 +6289,14 @@ msgid "'tar' has returned the following error code:" msgstr "" #: Patch.class:36 -msgid "Not a valid Gambas project" +msgid "The directory is not a Gambas project" msgstr "" #: Patch.class:50 -msgid "Unsupported source file type" +msgid "Unsupported source archive format" msgstr "" -#: Patch.class:176 +#: Patch.class:177 msgid "Patch didn't apply:\n" msgstr "" diff --git a/app/src/gambas3/.lang/fr.mo b/app/src/gambas3/.lang/fr.mo index 4dfb9c3a5..0e11ae71e 100644 Binary files a/app/src/gambas3/.lang/fr.mo and b/app/src/gambas3/.lang/fr.mo differ diff --git a/app/src/gambas3/.lang/fr.po b/app/src/gambas3/.lang/fr.po index 5b7bd9885..14156dbd3 100644 --- a/app/src/gambas3/.lang/fr.po +++ b/app/src/gambas3/.lang/fr.po @@ -683,7 +683,6 @@ msgstr "ATTENTION ! Bibliothèque introuvable." msgid "Provides" msgstr "Fournit" -#: CLibraryInfo.class:153 ComponentItem.class:153 FPropertyComponent.form:142 #: LibraryItem.class:60 msgid "Requires" msgstr "Nécessite" @@ -732,7 +731,6 @@ msgstr "Évaluateur" msgid "Event loop" msgstr "Boucle d'évènements" -#: CProjectTree.class:285 FMain.form:1079 FSearch.class:97 FSelectIcon.form:31 #: Project.module:1732 msgid "Project" msgstr "Projet" @@ -773,21 +771,6 @@ msgstr "Cette semaine" msgid "This month" msgstr "Ce mois-ci" -#: CWaitingAnimation.class:56 FColorChooser.form:60 FConflict.class:185 -#: FConnectionEditor.class:294 FCreateFile.form:437 FDebugInfo.form:263 -#: FEditor.class:2373 FExportData.class:126 FFieldChooser.form:138 -#: FFileProperty.class:140 FFontChooser.form:40 FForm.class:3141 -#: FGotoLine.form:23 FHelpBrowser.form:61 FImageEditor.class:346 -#: FImageOffsetSelection.form:33 FImageResize.form:49 FImageRotate.form:32 -#: FInfo.class:263 FList.form:121 FMain.class:212 FMakeInstall.class:350 -#: FMenu.form:365 FNewConnection.form:255 FNewTable.form:86 -#: FNewTranslation.form:21 FOpenProject.form:158 FOption.class:675 -#: FPasteSpecial.form:77 FPasteTable.form:107 FProjectProperty.form:761 -#: FProjectVersion.class:201 FPropertyComponent.form:267 FProxy.form:57 -#: FReportBorderChooser.form:48 FReportBrushChooser.form:36 -#: FReportCoordChooser.form:26 FReportPaddingChooser.form:75 FSave.form:28 -#: FSaveProjectAs.form:76 FSearch.class:869 FSelectExtraFile.form:43 -#: FSelectIcon.form:87 FSnippet.form:57 FTableChooser.form:68 FText.form:41 #: FTextEditor.class:599 FTranslate.class:554 Project.module:505 msgid "Cancel" msgstr "Annuler" @@ -800,12 +783,10 @@ msgstr "La police Gambas est publiée sous licence « SIL Open Font License »." msgid "This program is published under the GNU General Public License." msgstr "Ce programme est publié sous la « Licence Publique Générale GNU »." -#: ComponentItem.class:139 FProjectProperty.class:1267 #: FPropertyComponent.form:80 msgid "Experimental" msgstr "Expérimental" -#: ComponentItem.class:141 FProjectProperty.class:1265 #: FPropertyComponent.form:80 msgid "Not finished but stable" msgstr "Non terminé mais stable" @@ -871,23 +852,9 @@ msgid "The program has stopped unexpectedly:" msgstr "Le programme s'est arrêté inopinément :" #: Design.module:367 -msgid "" -"The program has returned\n" -"the value: &1" -msgstr "" -"Le programme a retourné\n" -"la valeur : &1" +msgid "The program has returned\nthe value: &1" +msgstr "Le programme a retourné\nla valeur : &1" -#: Design.module:428 FColorChooser.form:54 FConnectionEditor.class:452 -#: FCreateFile.form:443 FFieldChooser.form:132 FFontChooser.form:34 -#: FGotoLine.form:17 FImageOffsetSelection.form:27 FImageResize.form:103 -#: FImageRotate.form:26 FInfo.form:181 FList.form:115 FMain.class:1841 -#: FMakeInstall.class:299 FMenu.form:360 FNewConnection.form:249 -#: FNewTable.form:80 FNewTranslation.form:15 FOpenProject.form:152 -#: FPasteSpecial.form:71 FProjectProperty.form:755 FPropertyComponent.form:261 -#: FProxy.form:63 FReportBorderChooser.form:54 FReportBrushChooser.form:42 -#: FReportCoordChooser.form:32 FReportPaddingChooser.form:69 -#: FSelectExtraFile.form:37 FSelectIcon.form:82 FSnippet.form:51 #: FTableChooser.form:62 FText.form:35 msgid "OK" msgstr "OK" @@ -917,12 +884,7 @@ msgid "Gambas Almost Means Basic!" msgstr "-" #: FAbout.form:57 -msgid "" -"
This program is FREE SOFTWARE; you can redistribute it AND/OR modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2, or (at your option) any later version.
\n" -"\n" -"This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
\n" +msgid "This program is FREE SOFTWARE; you can redistribute it AND/OR modify it under the terms of the GNU General Public License as published by the Free Software Foundation ; either version 2, or (at your option) any later version.
\n\nThis program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
\n" msgstr "Ce programme est un LOGICIEL LIBRE. Vous pouvez le redistribuer ET/OU le modifier selon les termes de la Licence Publique Générale GNU telle qu'elle est publiée par la Free Software Foundation ; soit la version 2, ou bien n'importe quelle version ultérieure de votre choix.
Ce programme est distribué en espérant qu'il soit utile MAIS SANS GARANTIE D'AUCUNE SORTE ; y compris les garanties implicites de COMMERCIABILITÉ ET DE CONFORMITÉ À UNE UTILISATION PARTICULIÈRE. Se reporter à la Licence Publique Générale GNU pour plus d'information.
\n" #: FAbout.form:63 @@ -946,24 +908,16 @@ msgid "&Edit" msgstr "&Éditer" #: FConflict.class:24 -msgid "" -"This file is in conflict with the revision #&1.\n" -"You must resolve the conflict in order to use the file." -msgstr "" -"Ce fichier entre en conflit avec la révision #&1.\n" -"Vous devez résoudre le conflit pour pouvoir utiliser ce fichier de nouveau." +msgid "This file is in conflict with the revision #&1.\nYou must resolve the conflict in order to use the file." +msgstr "Ce fichier entre en conflit avec la révision #&1.\nVous devez résoudre le conflit pour pouvoir utiliser ce fichier de nouveau." #: FConflict.class:130 msgid "Version conflict" msgstr "Conflit de version" #: FConflict.class:185 -msgid "" -"The file has been modified.\n" -"Do you really want to close the dialog?" -msgstr "" -"Le fichier a été modifié.\n" -"Désirez-vous réellement fermer la boite de dialogue ?" +msgid "The file has been modified.\nDo you really want to close the dialog?" +msgstr "Le fichier a été modifié.\nDésirez-vous réellement fermer la boite de dialogue ?" #: FConflict.class:213 msgid "Some conflicts are not yet resolved." @@ -974,12 +928,8 @@ msgid "Unable to resolve the conflict." msgstr "Impossible de résoudre le conflit." #: FConflict.class:248 -msgid "" -"The file has been modified.\n" -"Do you really want to open another file?" -msgstr "" -"Le fichier a été modifié.\n" -"Désirez-vous réellement ouvrir un autre fichier ?" +msgid "The file has been modified.\nDo you really want to open another file?" +msgstr "Le fichier a été modifié.\nDésirez-vous réellement ouvrir un autre fichier ?" #: FConflict.class:256 msgid "Conflict files" @@ -989,42 +939,30 @@ msgstr "Fichiers en conflits" msgid "Open" msgstr "Ouvrir" -#: FConflict.form:53 FConnectionEditor.form:358 FEditor.form:144 -#: FForm.form:239 FImageEditor.form:123 FMenu.form:105 FOutput.form:58 #: FProjectVersion.form:234 FTextEditor.form:108 msgid "Cut" msgstr "Couper" -#: FConflict.form:59 FConnectionEditor.form:147 FEditor.form:150 -#: FForm.form:246 FImageEditor.form:131 FMenu.form:111 FOutput.form:65 #: FProjectVersion.form:240 FTextEditor.form:115 msgid "Copy" msgstr "Copier" -#: FConflict.form:65 FConnectionEditor.form:379 FEditor.form:157 -#: FForm.form:259 FImageEditor.form:138 FMenu.form:117 FOutput.form:72 #: FPasteTable.form:101 FProjectVersion.form:246 FTextEditor.form:122 msgid "Paste" msgstr "Coller" -#: FConflict.form:71 FConnectionEditor.form:386 FEditor.form:128 -#: FForm.form:222 FImageEditor.form:104 FOption.form:561 FOutput.form:41 #: FProjectVersion.form:252 FTextEditor.form:91 msgid "Undo" msgstr "Annuler" -#: FConflict.form:77 FConnectionEditor.form:393 FEditor.form:135 -#: FForm.form:229 FImageEditor.form:112 FOutput.form:48 #: FProjectVersion.form:258 FTextEditor.form:98 msgid "Redo" msgstr "Rétablir" -#: FConflict.form:83 FEditor.form:452 FMenu.form:127 FProjectVersion.form:264 #: FTextEditor.form:326 msgid "Indent" msgstr "Indenter" -#: FConflict.form:89 FEditor.form:460 FMenu.form:133 FProjectVersion.form:270 #: FTextEditor.form:334 msgid "Unindent" msgstr "Désindenter" @@ -1033,7 +971,6 @@ msgstr "Désindenter" msgid "Text" msgstr "Texte" -#: FConflict.form:120 FCreateFile.form:213 FReportBrushChooser.form:49 #: Project.module:199 msgid "Image" msgstr "Image" @@ -1058,21 +995,14 @@ msgstr "Enregi&strer" msgid "Sol&ve" msgstr "&Résoudre" -#: FConflict.form:184 FDebugInfo.form:270 FEditor.form:310 -#: FFileProperty.form:75 FForm.form:408 FImageEditor.form:335 -#: FImportTable.form:222 FProjectVersion.form:323 FSystemInfo.form:83 #: FTextEditor.form:244 FTips.form:83 msgid "Close" msgstr "Fermer" -#: FConnectionEditor.class:34 FCreateFile.form:289 FDebugInfo.class:38 -#: FMakeInstall.form:162 FNewConnection.form:60 FNewTable.form:33 #: FOption.form:1038 msgid "Name" msgstr "Nom" -#: FConnectionEditor.class:39 FCreateFile.form:340 FCreateProject.form:97 -#: FDebugInfo.class:76 FInfo.form:84 FNewConnection.form:74 FNewTable.form:48 #: FProxy.form:27 msgid "Type" msgstr "Type" @@ -1129,7 +1059,6 @@ msgstr "Blob" msgid "Boolean" msgstr "Booléen" -#: FConnectionEditor.class:571 FProjectVersion.class:280 #: MConnection.module:112 msgid "Date" msgstr "Date" @@ -1214,13 +1143,10 @@ msgstr "Désirez-vous vraiment supprimer les lignes sélectionnées ?" msgid "Connection editor" msgstr "Editeur de connexion" -#: FConnectionEditor.form:100 FEditor.form:323 FForm.form:421 #: FImageEditor.form:328 FMenu.class:70 FTextEditor.form:237 msgid "Save" msgstr "Enregistrer" -#: FConnectionEditor.form:108 FEditor.form:317 FForm.form:415 -#: FHelpBrowser.form:67 FImageEditor.form:321 FTextEditor.form:231 #: FTranslate.class:650 msgid "Reload" msgstr "Recharger" @@ -1317,7 +1243,6 @@ msgstr "Exporter vers un fichier CSV" msgid "Export..." msgstr "Exporter..." -#: FConnectionEditor.form:460 FForm.form:266 FMain.class:212 #: FNewConnection.class:325 FOption.class:858 FTranslate.class:554 msgid "Delete" msgstr "Supprimer" @@ -1378,8 +1303,6 @@ msgstr "Fichier HTML" msgid "Style sheet" msgstr "Feuille de style" -#: FCreateFile.form:299 FCreateProject.form:273 FImportTable.form:57 -#: FMakePatch.form:63 FProjectProperty.form:281 FPropertyComponent.form:63 #: FSearch.form:100 msgid "Options" msgstr "Options" @@ -1465,12 +1388,8 @@ msgid "CGI Web application" msgstr "Application Web CGI" #: FCreateProject.form:258 -msgid "" -"Application stored in a\n" -"Subversion repository" -msgstr "" -"Application stockée dans un\n" -"référentiel Subversion" +msgid "Application stored in a\nSubversion repository" +msgstr "Application stockée dans un\nréférentiel Subversion" #: FCreateProject.form:287 msgid "Internationalization" @@ -1580,7 +1499,6 @@ msgstr "Expression" msgid "Function" msgstr "Fonction" -#: FDebugInfo.class:55 FImageEditor.form:523 FImportTable.class:56 #: FOption.form:642 msgid "Line" msgstr "Ligne" @@ -1605,7 +1523,6 @@ msgstr "Message" msgid "native code" msgstr "code natif" -#: FDebugInfo.class:570 FImageEditor.form:610 FList.class:153 #: FOption.class:675 FOutput.form:79 msgid "Clear" msgstr "Effacer" @@ -1718,17 +1635,11 @@ msgstr "La chaîne recherchée est introuvable." msgid "Stack backtrace" msgstr "Pile des appels" -#: FEditor.class:2373 FImageEditor.class:346 FTextEditor.class:599 -msgid "" -"The file has been modified.\n" -"\n" -"All your changes will be lost." -msgstr "" -"Le fichier a été modifié.\n" -"\n" -"Toutes les modifications seront perdues." +#: FEditor.class:2379 FImageEditor.class:346 FTextEditor.class:599 +msgid "The file has been modified.\n\nAll your changes will be lost." +msgstr "Le fichier a été modifié.\n\nToutes les modifications seront perdues." -#: FEditor.class:2795 FTextEditor.class:973 +#: FEditor.class:2801 FTextEditor.class:973 msgid "(Declarations)" msgstr "(Déclarations)" @@ -1877,14 +1788,8 @@ msgid "&Overwrite" msgstr "&Remplacer" #: FExportData.class:126 -msgid "" -"This file already exists.\n" -"\n" -"Do you want to overwrite it?" -msgstr "" -"Ce fichier existe déjà.\n" -"\n" -"Désirez-vous le remplacer ?" +msgid "This file already exists.\n\nDo you want to overwrite it?" +msgstr "Ce fichier existe déjà.\n\nDésirez-vous le remplacer ?" #: FExportData.form:31 FImportTable.form:100 msgid "Delimiter character" @@ -1966,7 +1871,6 @@ msgstr "Le fichier n'est pas versionné, et doit être ajouté au référentiel. msgid "This file has not been modified since the last commit." msgstr "Ce fichier est inchangé depuis le dernier envoi vers le réferentiel." -#: FFileProperty.class:140 FInfo.class:263 FMakeInstall.class:350 #: FProjectVersion.class:201 FSave.form:21 Project.module:3317 msgid "Continue" msgstr "Continuer" @@ -2000,14 +1904,8 @@ msgid "Component missing for control &1" msgstr "Composant introuvable pour le contrôle &1" #: FForm.class:3141 -msgid "" -"The form has been modified.\n" -"\n" -"All your changes will be lost." -msgstr "" -"Le formulaire a été modifié.\n" -"\n" -"Tous vos changements seront perdus." +msgid "The form has been modified.\n\nAll your changes will be lost." +msgstr "Le formulaire a été modifié.\n\nTous vos changements seront perdus." #: FForm.form:129 msgid "Select" @@ -2509,7 +2407,6 @@ msgstr "Formes" msgid "Opacity" msgstr "Opacité" -#: FImageProperty.form:360 FInfo.form:97 FSelectIcon.form:54 #: FTranslate.class:70 msgid "Size" msgstr "Taille" @@ -2835,14 +2732,8 @@ msgid "New folder" msgstr "Nouveau dossier" #: FMain.class:855 -msgid "" -"The GNU translation tools are not installed on your system.\n" -"\n" -"Please install them to be able to do the translation." -msgstr "" -"Les outils de traduction GNU ne sont pas installés sur votre système.\n" -"\n" -"Veuillez les installer pour pouvoir effectuer la traduction." +msgid "The GNU translation tools are not installed on your system.\n\nPlease install them to be able to do the translation." +msgstr "Les outils de traduction GNU ne sont pas installés sur votre système.\n\nVeuillez les installer pour pouvoir effectuer la traduction." #: FMain.class:1093 FPropertyComponent.class:232 msgid "Library properties" @@ -3176,7 +3067,6 @@ msgstr "&Nouvelle connexion..." msgid "&Open" msgstr "&Ouvrir" -#: FMain.form:840 FMakeInstall.form:595 FOption.form:991 #: FProjectProperty.form:516 FPropertyComponent.form:236 msgid "&Remove" msgstr "&Supprimer" @@ -3518,12 +3408,8 @@ msgid "Mimetypes" msgstr "Types MIME" #: FMakeInstall.form:531 -msgid "" -"Enter the mimetypes handled by your application there.\n" -"Please enter one mimetype by line.\n" -msgstr "" -"Saisissez les types MIME gérés par votre application.\n" -"Veuillez saisir un type MIME par ligne.\n" +msgid "Enter the mimetypes handled by your application there.\nPlease enter one mimetype by line.\n" +msgstr "Saisissez les types MIME gérés par votre application.\nVeuillez saisir un type MIME par ligne.\n" #: FMakeInstall.form:543 msgid "Additional configuration" @@ -3566,9 +3452,7 @@ msgid "Extra autoconf tests" msgstr "Tests autoconf supplémentaires" #: FMakeInstall.form:700 -msgid "" -"Add extra tests for the configuration process.\n" -"Leave this blank if you don't need it, or if you don't know anything about autoconf scripts." +msgid "Add extra tests for the configuration process.\n
Leave this blank if you don't need it, or if you don't know anything about autoconf scripts." msgstr "Ajout de tests supplémentaires au processus de configuration.
Laissez ce champ vide si vous n'en avez pas besoin, ou si vous ne connaissez rien aux scripts autoconf." #: FMakeInstall.form:708 @@ -3584,18 +3468,8 @@ msgid "Create package" msgstr "Création du paquetage" #: FMakeInstall.form:726 -msgid "" -"All needed information have been collected. You can now create the installation packages for your application...\n" -"
Click on the OK button to create the packages.\n" -"
Click on the Previous button if you had made a mistake.\n" -"
Click on the Cancel button to cancel the operation.\n" -"\n" -msgstr "" -"Toutes les informations nécessaires ont été collectées. Vous pouvez maintenant créer les paquetages d'installations de votre application...\n" -"
Cliquez sur le bouton OK pour créer les paquetages.\n" -"
Cliquez sur le bouton Précédent pour corriger une erreur.\n" -"
Cliquez sur le bouton Annuler pour abandonner l'opération.\n" -"\n" +msgid "All needed information have been collected. You can now create the installation packages for your application...\n
Click on the OK button to create the packages.\n
Click on the Previous button if you had made a mistake.\n
Click on the Cancel button to cancel the operation.\n\n" +msgstr "Toutes les informations nécessaires ont été collectées. Vous pouvez maintenant créer les paquetages d'installations de votre application...\n
Cliquez sur le bouton OK pour créer les paquetages.\n
Cliquez sur le bouton Précédent pour corriger une erreur.\n
Cliquez sur le bouton Annuler pour abandonner l'opération.\n\n" #: FMakePatch.class:23 msgid "Please select the origin archive." @@ -4166,16 +4040,8 @@ msgid "Quiet external commands" msgstr "Commandes externes silencieuses" #: FOutput.class:31 -msgid "" -"Welcome to the Gambas console.\n" -"To evaluate any expression, type '?' followed by\n" -"the expression, then hit return.\n" -"\n" -msgstr "" -"Bienvenue sur la console de Gambas.\n" -"Pour évaluer une expression, tapez '?' suivi de\n" -"l'expression, puis appuyez sur RETURN.\n" -"\n" +msgid "Welcome to the Gambas console.\nTo evaluate any expression, type '?' followed by\nthe expression, then hit return.\n\n" +msgstr "Bienvenue sur la console de Gambas.\nPour évaluer une expression, tapez '?' suivi de\nl'expression, puis appuyez sur RETURN.\n\n" #: FOutput.form:30 msgid "Console - Gambas" @@ -4229,6 +4095,10 @@ msgstr "La table existe déjà" msgid "Also copy table &data" msgstr "Copier aussi le &contenu de la table" +#: FPatch.class:168 +msgid "That file does not look like a patch file!" +msgstr "Ce fichier ne ressemble pas à fichier patch !" + #: FPatch.form:22 msgid "Patch the current project" msgstr "Patcher le projet courant" @@ -6489,41 +6359,41 @@ msgstr "\"Debianisation\" des sources..." msgid "Creating package..." msgstr "Création du paquetage..." -#: Package.module:766 +#: Package.module:767 msgid "'dpkg-buildpackage' has failed." msgstr "'dpkg-buildpackage' a échoué." -#: Package.module:863 +#: Package.module:864 msgid "Initializing ~/RPM directory." msgstr "Initialisation du répertoire ~/RPM." -#: Package.module:883 +#: Package.module:884 msgid "Creating source package." msgstr "Création du paquetage des sources." -#: Package.module:907 +#: Package.module:908 msgid "Creating .spec file." msgstr "Creation du fichier .spec." -#: Package.module:1141 +#: Package.module:1142 msgid "'rpmbuild' has returned the following error code:" msgstr "'rpmbuild' a retourné le code d'erreur suivant :" -#: Package.module:1365 +#: Package.module:1366 msgid "'tar' has returned the following error code:" msgstr "'tar' a retourné le code d'erreur suivant:" #: Patch.class:36 -msgid "Not a valid Gambas project" -msgstr "" +msgid "The directory is not a Gambas project" +msgstr "Le répertoire n'est pas un projet Gambas" #: Patch.class:50 -msgid "Unsupported source file type" -msgstr "" +msgid "Unsupported source archive format" +msgstr "Format d'archive des sources non supporté" -#: Patch.class:176 +#: Patch.class:177 msgid "Patch didn't apply:\n" -msgstr "" +msgstr "Le patch n'a pas été appliqué :\n" #: Project.module:194 msgid "Automation" @@ -6574,14 +6444,8 @@ msgid "This project does not exist." msgstr "Ce projet n'existe pas." #: Project.module:486 -msgid "" -"Unable to find Gambas IDE executable in directory:\n" -"\n" -"&1" -msgstr "" -"Impossible de trouver l'exécutable de l'EDI Gambas dans le répertoire :\n" -"\n" -"&1" +msgid "Unable to find Gambas IDE executable in directory:\n\n&1" +msgstr "Impossible de trouver l'exécutable de l'EDI Gambas dans le répertoire :\n\n&1" #: Project.module:499 msgid "This is not a Gambas project." @@ -6596,14 +6460,8 @@ msgid "Convert" msgstr "Convertir" #: Project.module:505 -msgid "" -"This is a Gambas 2.0 project.\n" -"\n" -"Do you want to convert it?" -msgstr "" -"Ceci est un projet Gambas 2.0.\n" -"\n" -"Désirez-vous le convertir ?" +msgid "This is a Gambas 2.0 project.\n\nDo you want to convert it?" +msgstr "Ceci est un projet Gambas 2.0.\n\nDésirez-vous le convertir ?" #: Project.module:523 msgid "Do not open" @@ -6614,14 +6472,8 @@ msgid "Open after all" msgstr "Ouvrir malgré tout" #: Project.module:523 -msgid "" -"This project seems to be already opened.\n" -"\n" -"Opening the same project twice can lead to data loss." -msgstr "" -"Il semble que ce projet soit déjà ouvert.\n" -"\n" -"Ouvrir le même projet deux fois peut provoquer des pertes de données." +msgid "This project seems to be already opened.\n\nOpening the same project twice can lead to data loss." +msgstr "Il semble que ce projet soit déjà ouvert.\n\nOuvrir le même projet deux fois peut provoquer des pertes de données." #: Project.module:529 msgid "It cannot be converted." @@ -6696,12 +6548,8 @@ msgid "in &1." msgstr "dans &1." #: Project.module:2382 -msgid "" -"Some project source files are in conflict.\n" -"Please solve them if you want to compile the project." -msgstr "" -"Certains fichiers sources du projet sont en conflit.\n" -"Veuillez résoudre ces conflits pour pouvoir compiler le projet." +msgid "Some project source files are in conflict.\nPlease solve them if you want to compile the project." +msgstr "Certains fichiers sources du projet sont en conflit.\nVeuillez résoudre ces conflits pour pouvoir compiler le projet." #: Project.module:2386 msgid "Compiling project" @@ -6862,3 +6710,4 @@ msgstr "&1 Gio" #: VersionControl.module:115 msgid "command timeout" msgstr "la commande ne répond pas" + diff --git a/app/src/gambas3/.src/Editor/Code/FCompletion.class b/app/src/gambas3/.src/Editor/Code/FCompletion.class index 227a14cf0..da0f55166 100644 --- a/app/src/gambas3/.src/Editor/Code/FCompletion.class +++ b/app/src/gambas3/.src/Editor/Code/FCompletion.class @@ -972,10 +972,10 @@ Public Sub timHideLater_Timer() End - Static Public Sub IsPath(sWord As String) As Boolean +Static Public Sub IsPath(sWord As String) As Boolean If Left(sWord) = "/" Or If Left(sWord) = "~" Or If Left(sWord, 2) = "./" Or If sWord Begins "icon:/" Then Return True End - \ No newline at end of file + diff --git a/app/src/gambas3/.src/Editor/Image/FImageEditor.class b/app/src/gambas3/.src/Editor/Image/FImageEditor.class index 4370b2d38..c4381d5b7 100644 --- a/app/src/gambas3/.src/Editor/Image/FImageEditor.class +++ b/app/src/gambas3/.src/Editor/Image/FImageEditor.class @@ -1510,7 +1510,7 @@ Public Sub imvImage_Draw(hZoom As Image) Paint.Background = Color.White - Paint.Rectangle(- 4, - 3, 9, 9) + Paint.Rectangle(-5, -4, 9, 9) Paint.MoveTo(0, - imvImage.H) Paint.LineTo(0, imvImage.H) @@ -1521,7 +1521,7 @@ Public Sub imvImage_Draw(hZoom As Image) Paint.Background = Color.Black - Paint.Rectangle(- 3, - 2, 7, 7) + Paint.Rectangle(-4, -3, 7, 7) Paint.MoveTo(0, - imvImage.H) Paint.LineTo(0, imvImage.H) diff --git a/app/src/gambas3/.src/Project.module b/app/src/gambas3/.src/Project.module index 05b140dc7..4af7958fe 100644 --- a/app/src/gambas3/.src/Project.module +++ b/app/src/gambas3/.src/Project.module @@ -1863,7 +1863,7 @@ Public Function IsForm(hFile As Object) As Boolean End -Private Sub IsTextFile(sPath As String) As Boolean +Public Sub IsTextFile(sPath As String) As Boolean Dim hFile As File Dim sStr As String diff --git a/app/src/gambas3/.src/Project/Patch/FPatch.class b/app/src/gambas3/.src/Project/Patch/FPatch.class index a69b7dc5f..f6b7eeab4 100644 --- a/app/src/gambas3/.src/Project/Patch/FPatch.class +++ b/app/src/gambas3/.src/Project/Patch/FPatch.class @@ -163,6 +163,12 @@ Public Sub txtPath_Click() Dialog.Filter = ["*.patch;*.diff", ("Patch/Diff files")] If Dialog.OpenFile() Then Return + + If Not Project.IsTextFile(Dialog.Path) Then + Message.Warning(("That file does not look like a patch file!")) + Return + Endif + txtPath.Text = Dialog.Path diff --git a/app/src/gambas3/.src/Project/Patch/Patch.class b/app/src/gambas3/.src/Project/Patch/Patch.class index 4cc52f4c5..9e6f8edfc 100644 --- a/app/src/gambas3/.src/Project/Patch/Patch.class +++ b/app/src/gambas3/.src/Project/Patch/Patch.class @@ -33,7 +33,7 @@ Static Private Function PrepareOldSource(sOldSource As String) As String If IsDir(sOldSource) Then If Not Exist(sOldSource &/ ".project") Then - Error.Raise(("Not a valid Gambas project")) + Error.Raise(("The directory is not a Gambas project")) Return Null Endif Project.MakeSourcePackageFromTo(sOldSource, sOldArchive) @@ -47,9 +47,10 @@ Static Private Function PrepareOldSource(sOldSource As String) As String Else If Right$(sOldSource, 3) = ".xz" Then sType = "J" Else - Error.Raise(("Unsupported source file type")) + Error.Raise(("Unsupported source archive format")) Return Null Endif + Mkdir sOld Shell Subst$("tar -&1xf &2 -C &3 --strip-components=1", sType, Shell$(sOldSource), sOld) Wait If Exist(sOldArchive) Then Kill sOldArchive diff --git a/app/src/gambas3/img/search.png b/app/src/gambas3/img/search.png index 5049025b5..cd8e4496c 100644 Binary files a/app/src/gambas3/img/search.png and b/app/src/gambas3/img/search.png differ diff --git a/gb.gmp/src/gb.gmp.component b/gb.gmp/src/gb.gmp.component index 10e636c3f..2ed93b42f 100644 --- a/gb.gmp/src/gb.gmp.component +++ b/gb.gmp/src/gb.gmp.component @@ -1,3 +1,3 @@ [Component] -Author= -Alpha=1 +Author=Benoît Minisini +State=Stable diff --git a/gb.gsl/src/c_complex.c b/gb.gsl/src/c_complex.c index 6992bc96f..8dbf54938 100644 --- a/gb.gsl/src/c_complex.c +++ b/gb.gsl/src/c_complex.c @@ -172,14 +172,9 @@ static CCOMPLEX *_neg(CCOMPLEX *a) return COMPLEX_create(gsl_complex_negative(a->number)); } -static CCOMPLEX *_abs(CCOMPLEX *a) +static double _fabs(CCOMPLEX *a) { - gsl_complex n; - - n.dat[0] = gsl_complex_abs(a->number); - n.dat[1] = 0; - - return COMPLEX_create(n); + return gsl_complex_abs(a->number); } /*static CCOMPLEX *_powi(CCOMPLEX *a, int i) @@ -237,7 +232,7 @@ static GB_OPERATOR_DESC _operator = .divf = (void *)_divf, .pow = (void *)_pow, .powf = (void *)_powf, - .abs = (void *)_abs, + .fabs = (void *)_fabs, .neg = (void *)_neg }; diff --git a/main/gbx/gbx_class.h b/main/gbx/gbx_class.h index 1472abe6d..213c8c2f7 100644 --- a/main/gbx/gbx_class.h +++ b/main/gbx/gbx_class.h @@ -247,7 +247,7 @@ enum { CO_MUL, CO_MULF, CO_MULO, CO_DIV, CO_DIVF, CO_DIVO, CO_POW, CO_POWF, CO_POWO, - CO_NEG, CO_ABS, CO_SGN, + CO_NEG, CO_ABS, CO_FABS, CO_SGN, CO_STRENGTH }; diff --git a/main/gbx/gbx_exec.h b/main/gbx/gbx_exec.h index 83ef4c998..c1da01dba 100644 --- a/main/gbx/gbx_exec.h +++ b/main/gbx/gbx_exec.h @@ -313,6 +313,7 @@ void EXEC_operator(uchar what, uchar op, VALUE *P1, VALUE *P2); void EXEC_operator_object_add_quick(VALUE *P1, double val); int EXEC_comparator(uchar what, uchar op, VALUE *P1, VALUE *P2); void EXEC_operator_object_sgn(VALUE *P1); +void EXEC_operator_object_fabs(VALUE *P1); void EXEC_operator_object_single(uchar op, VALUE *P1); #endif /* */ diff --git a/main/gbx/gbx_exec_operator.c b/main/gbx/gbx_exec_operator.c index f62620589..7e0bd8dd4 100644 --- a/main/gbx/gbx_exec_operator.c +++ b/main/gbx/gbx_exec_operator.c @@ -46,6 +46,9 @@ typedef typedef int (*FUNC_I_O)(void *); +typedef + double (*FUNC_F_O)(void *); + static void raise_error(void *o1, void *o2) { if (o2 && OBJECT_class(o2) == OBJECT_class(o1)) @@ -324,6 +327,26 @@ void EXEC_operator_object_sgn(VALUE *P1) } } +void EXEC_operator_object_fabs(VALUE *P1) +{ + if (P1->_object.object) + { + void *func = OBJECT_class(P1->_object.object)->operators[CO_FABS]; + double result = (*(FUNC_F_O)func)(P1->_object.object); + OBJECT_UNREF(P1->_object.object); + P1->type = T_FLOAT; + P1->_float.value = result; + } + else + THROW(E_NULL); + + if (EXEC_has_native_error()) + { + EXEC_set_native_error(FALSE); + PROPAGATE(); + } +} + void EXEC_operator_object_single(uchar op, VALUE *P1) { if (P1->_object.object) diff --git a/main/gbx/gbx_subr_math.c b/main/gbx/gbx_subr_math.c index f489420ac..d76400e79 100644 --- a/main/gbx/gbx_subr_math.c +++ b/main/gbx/gbx_subr_math.c @@ -607,6 +607,54 @@ __END: } \ }) +#define MANAGE_VARIANT_OBJECT_2(_func, _op, _op2) \ +({ \ + type = P1->type; \ + \ + if (TYPE_is_number_date(type)) \ + { \ + *PC |= type; \ + goto *jump[type]; \ + } \ + \ + if (EXEC_check_operator_single(P1, _op)) \ + { \ + if (P1->type != T_OBJECT) \ + *PC |= T_DATE + 1; \ + goto *jump[T_DATE + 1]; \ + } \ + if (EXEC_check_operator_single(P1, _op2)) \ + { \ + if (P1->type != T_OBJECT) \ + *PC |= T_DATE + 2; \ + goto *jump[T_DATE + 2]; \ + } \ + \ + if (TYPE_is_variant(type)) \ + { \ + VARIANT_undo(P1); \ + type = P1->type; \ + if (TYPE_is_number_date(type)) \ + { \ + (_func)(code | type); \ + VALUE_conv_variant(P1); \ + return; \ + } \ + if (EXEC_check_operator_single(P1, _op)) \ + { \ + (_func)(T_DATE + 1); \ + VALUE_conv_variant(P1); \ + return; \ + } \ + if (EXEC_check_operator_single(P1, _op2)) \ + { \ + (_func)(T_DATE + 2); \ + VALUE_conv_variant(P1); \ + return; \ + } \ + } \ +}) + void SUBR_sgn(ushort code) { @@ -734,7 +782,7 @@ __ERROR: void SUBR_abs(ushort code) { static void *jump[] = { - &&__VARIANT, &&__BOOLEAN, &&__BYTE, &&__SHORT, &&__INTEGER, &&__LONG, &&__SINGLE, &&__FLOAT, &&__ERROR, &&__OBJECT + &&__VARIANT, &&__BOOLEAN, &&__BYTE, &&__SHORT, &&__INTEGER, &&__LONG, &&__SINGLE, &&__FLOAT, &&__ERROR, &&__OBJECT, &&__OBJECT_FLOAT }; VALUE *P1; @@ -778,10 +826,15 @@ __OBJECT: EXEC_operator_object_single(CO_ABS, P1); return; - + +__OBJECT_FLOAT: + + EXEC_operator_object_fabs(P1); + return; + __VARIANT: - MANAGE_VARIANT_OBJECT(SUBR_abs, CO_ABS); + MANAGE_VARIANT_OBJECT_2(SUBR_abs, CO_ABS, CO_FABS); __ERROR: diff --git a/main/lib/complex/ccomplex.c b/main/lib/complex/ccomplex.c index 0f5873a2b..1a07f8edb 100644 --- a/main/lib/complex/ccomplex.c +++ b/main/lib/complex/ccomplex.c @@ -157,9 +157,9 @@ static int _equalf(CCOMPLEX *a, double f, bool invert) return RE(a) == f && IM(a) == 0; } -static CCOMPLEX *_abs(CCOMPLEX *a) +static double _fabs(CCOMPLEX *a) { - return COMPLEX_make(a, ABS(a), 0); + return ABS(a); } static CCOMPLEX *_neg(CCOMPLEX *a) @@ -290,7 +290,7 @@ static GB_OPERATOR_DESC _operator = .divf = (void *)_divf, .pow = (void *)_pow, .powf = (void *)_powf, - .abs = (void *)_abs, + .fabs = (void *)_fabs, .neg = (void *)_neg }; diff --git a/main/lib/geom/cpoint_temp.h b/main/lib/geom/cpoint_temp.h index 786d2eafc..e7676399b 100644 --- a/main/lib/geom/cpoint_temp.h +++ b/main/lib/geom/cpoint_temp.h @@ -83,7 +83,7 @@ static int _equal_##__name(__struct *a, __struct *b, bool invert) return a->x == b->x && a->y == b->y; \ } \ \ -static double _abs_##__name(__struct *a) \ +static double _fabs_##__name(__struct *a) \ { \ return hypot(a->x, a->y); \ } \ @@ -102,7 +102,7 @@ static GB_OPERATOR_DESC _operator_##__name = .mulo = (void *)_mulo_##__name, \ .divf = (void *)_divf_##__name, \ .divo = (void *)_divo_##__name, \ - .abs = (void *)_abs_##__name, \ + .fabs = (void *)_fabs_##__name, \ .neg = (void *)_neg_##__name, \ }; \ \ diff --git a/main/share/gambas.h b/main/share/gambas.h index 93e301d25..443e2d42a 100644 --- a/main/share/gambas.h +++ b/main/share/gambas.h @@ -857,6 +857,7 @@ typedef void *(*powo)(void *, void *, bool); void *(*neg)(void *); void *(*abs)(void *); + double (*fabs)(void *); int (*sgn)(void *); intptr_t _reserved; }