diff options
| -rw-r--r-- | chimere/locale/fr/LC_MESSAGES/django.po | 249 | ||||
| -rw-r--r-- | chimere/utils.py | 10 | 
2 files changed, 146 insertions, 113 deletions
diff --git a/chimere/locale/fr/LC_MESSAGES/django.po b/chimere/locale/fr/LC_MESSAGES/django.po index b54a53b..ddb0302 100644 --- a/chimere/locale/fr/LC_MESSAGES/django.po +++ b/chimere/locale/fr/LC_MESSAGES/django.po @@ -7,18 +7,18 @@ msgid ""  msgstr ""  "Project-Id-Version: 0.2\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-01 16:32+0200\n" +"POT-Creation-Date: 2012-10-04 22:49+0200\n"  "PO-Revision-Date: 2010-03-20 20:00+0100\n"  "Last-Translator: Étienne Loks <etienne.loks@peacefrogs.net>\n"  "MIME-Version: 1.0\n"  "Content-Type: text/plain; charset=UTF-8\n"  "Content-Transfer-Encoding: 8bit\n" -#: __init__.py:8 models.py:574 +#: __init__.py:8 models.py:576  msgid "Multimedia files"  msgstr "Fichiers multimedias" -#: __init__.py:9 models.py:631 +#: __init__.py:9 models.py:633  msgid "Picture files"  msgstr "Fichiers d'image" @@ -111,39 +111,54 @@ msgstr "Courriel (optionnel) "  msgid "Object"  msgstr "Objet" -#: forms.py:163 +#: forms.py:115 +msgid "Shapefiles must be provided in a zipped archive." +msgstr "" +"Les fichiers Shapefiles doivent être fournis regroupés dans une archive zip." + +#: forms.py:119 +msgid "You have to set \"source\" or \"source file\" but not both." +msgstr "" +"Vous devez spécifier le champ « Source » ou « Fichier source » mais pas les " +"deux." + +#: forms.py:123 +msgid "You have to set \"source\" or \"source file\"." +msgstr "Vous devez spécifier le champ « Source » ou « Fichier source »." + +#: forms.py:182  msgid "End date has been set with no start date"  msgstr "Une date de fin a été donnée sans date de début" -#: forms.py:174 +#: forms.py:193  msgid "This field is mandatory for the selected categories"  msgstr "Ce champ est obligatoire pour les catégories sélectionnées" -#: forms.py:379 +#: forms.py:398  msgid "File"  msgstr "Fichier" -#: forms.py:385 +#: forms.py:404  msgid "Bad file format: this must be a GPX or KML file"  msgstr "Mauvais format de fichier : KML et GPX sont supportés" -#: forms.py:390 models.py:49 models.py:102 models.py:123 models.py:136 -#: models.py:150 models.py:246 models.py:521 models.py:564 models.py:608 -#: models.py:725 models.py:1018 models.py:1030 models.py:1115 utils.py:444 +#: forms.py:409 models.py:49 models.py:102 models.py:123 models.py:136 +#: models.py:150 models.py:248 models.py:523 models.py:566 models.py:610 +#: models.py:727 models.py:1021 models.py:1033 models.py:1118 utils.py:444  #: templates/chimere/edit.html:39 templates/chimere/edit_route.html:36  msgid "Name"  msgstr "Nom" -#: forms.py:399 models.py:1067 +#: forms.py:418 models.py:1070  msgid "Area"  msgstr "Zone" -#: models.py:50 models.py:124 models.py:151 models.py:257 models.py:525 -#: models.py:1036 models.py:1117 +#: models.py:50 models.py:124 models.py:151 models.py:259 models.py:527 +#: models.py:1039 models.py:1120  msgid "Available"  msgstr "Disponible" -#: models.py:51 models.py:1126 +#: models.py:51 models.py:1129  msgid "Date"  msgstr "Date" @@ -167,8 +182,8 @@ msgstr "Thème de couleur"  msgid "Code"  msgstr "Code" -#: models.py:112 models.py:125 models.py:157 models.py:566 models.py:623 -#: models.py:1035 models.py:1104 models.py:1116 +#: models.py:112 models.py:125 models.py:157 models.py:568 models.py:625 +#: models.py:1038 models.py:1107 models.py:1119  msgid "Order"  msgstr "Ordre" @@ -180,15 +195,15 @@ msgstr "Couleur"  msgid "Category"  msgstr "Catégorie" -#: models.py:137 models.py:517 models.py:609 models.py:790 +#: models.py:137 models.py:519 models.py:611 models.py:793  msgid "Image"  msgstr "Image" -#: models.py:139 models.py:611 models.py:792 +#: models.py:139 models.py:613 models.py:795  msgid "Height"  msgstr "Hauteur" -#: models.py:140 models.py:612 models.py:793 +#: models.py:140 models.py:614 models.py:796  msgid "Width"  msgstr "Largeur" @@ -204,7 +219,7 @@ msgstr "Disponible pour soumission"  msgid "Marker"  msgstr "Point d'intérêt" -#: models.py:159 models.py:786 models.py:801 +#: models.py:159 models.py:789 models.py:804  #: templates/chimere/edit_route.html:27  msgid "Route"  msgstr "Trajet" @@ -229,7 +244,7 @@ msgstr "Sous-catégories"  msgid "Importer type"  msgstr "Type d'import" -#: models.py:222 models.py:268 +#: models.py:222 models.py:270  msgid "Source"  msgstr "Source" @@ -257,243 +272,247 @@ msgstr "SRID"  msgid "Zipped file"  msgstr "Fichier zippé" -#: models.py:236 +#: models.py:234 +msgid "Source file" +msgstr "Fichier source" + +#: models.py:238  msgid "Importer"  msgstr "Import" -#: models.py:248 +#: models.py:250  msgid "Submitter session key"  msgstr "Clé de session du demandeur" -#: models.py:250 +#: models.py:252  msgid "Submitter name or nickname"  msgstr "Nom ou pseudo du demandeur" -#: models.py:252 +#: models.py:254  msgid "Submitter email"  msgstr "Courriel du demandeur" -#: models.py:254 +#: models.py:256  msgid "Submitter comment"  msgstr "Commentaire du demandeur" -#: models.py:256 +#: models.py:258  msgid "Submited"  msgstr "Soumis" -#: models.py:258 +#: models.py:260  msgid "Modified"  msgstr "Modifié" -#: models.py:259 +#: models.py:261  msgid "Disabled"  msgstr "Désactivé" -#: models.py:260 +#: models.py:262  msgid "Imported"  msgstr "Importé" -#: models.py:261 +#: models.py:263  msgid "Excluded"  msgstr "Exclu" -#: models.py:263 +#: models.py:265  msgid "Status"  msgstr "État" -#: models.py:264 +#: models.py:266  msgid "Import key"  msgstr "Clé d'import" -#: models.py:266 +#: models.py:268  msgid "Import version"  msgstr "Version de l'import" -#: models.py:270 +#: models.py:272  msgid "Modified since last import"  msgstr "Modifié depuis le dernier import" -#: models.py:272 +#: models.py:274  msgid "Not to be imported inside OSM"  msgstr "À ne pas importer dans OSM" -#: models.py:275 templates/chimere/edit.html:56 +#: models.py:277 templates/chimere/edit.html:56  #: templates/chimere/edit_route.html:52  msgid "Start date"  msgstr "Date de début" -#: models.py:276 +#: models.py:278  msgid "Not mandatory. Set it for dated item such as event. Format YYYY-MM-DD"  msgstr ""  "Optionnel. Précisez ce champ pour les éléments datés comme un événement. "  "Format du champ : AAAA-MM-JJ" -#: models.py:278 templates/chimere/edit.html:62 +#: models.py:280 templates/chimere/edit.html:62  #: templates/chimere/edit_route.html:58  msgid "End date"  msgstr "Date de fin" -#: models.py:279 +#: models.py:281  msgid ""  "Not mandatory. Set it only if you have a multi-day event. Format YYYY-MM-DD"  msgstr ""  "Optionnel. Précisez ce champ seulement pour des événements durant plusieurs "  "jours. Format du champ : AAAA-MM-JJ" -#: models.py:315 +#: models.py:317  msgid "Reference marker"  msgstr "Point d'intérêt de référence" -#: models.py:316 utils.py:449 utils.py:450 +#: models.py:318 utils.py:449 utils.py:450  msgid "Localisation"  msgstr "Localisation" -#: models.py:318 +#: models.py:320  msgid "Available Date"  msgstr "Date de mise en disponibilité" -#: models.py:322 utils.py:448 templates/chimere/edit.html:49 +#: models.py:324 utils.py:448 templates/chimere/edit.html:49  #: templates/chimere/edit_route.html:46  msgid "Description"  msgstr "Description" -#: models.py:377 models.py:1151 +#: models.py:379 models.py:1154  msgid "Point of interest"  msgstr "Point d'intérêt" -#: models.py:515 +#: models.py:517  msgid "Audio"  msgstr "Audio" -#: models.py:516 +#: models.py:518  msgid "Video"  msgstr "Vidéo" -#: models.py:518 +#: models.py:520  msgid "Other"  msgstr "Autre" -#: models.py:519 +#: models.py:521  msgid "Media type"  msgstr "Type de media" -#: models.py:522 +#: models.py:524  msgid "Mime type"  msgstr "Type mime" -#: models.py:524 +#: models.py:526  msgid "Inside an iframe"  msgstr "À l'intérieur d'un iframe" -#: models.py:528 +#: models.py:530  msgid "Multimedia type"  msgstr "Type de multimedia" -#: models.py:529 +#: models.py:531  msgid "Multimedia types"  msgstr "Types de multimedia" -#: models.py:565 +#: models.py:567  msgid "Url"  msgstr "Url" -#: models.py:568 models.py:613 +#: models.py:570 models.py:615  msgid "Display inside the description?"  msgstr "Apparaît dans la description ?" -#: models.py:573 +#: models.py:575  msgid "Multimedia file"  msgstr "Fichier multimedia" -#: models.py:615 +#: models.py:617  msgid "Thumbnail"  msgstr "Miniature" -#: models.py:619 +#: models.py:621  msgid "Thumbnail height"  msgstr "Hauteur de la miniature" -#: models.py:621 +#: models.py:623  msgid "Thumbnail width"  msgstr "Largeur de la miniature" -#: models.py:630 +#: models.py:632  msgid "Picture file"  msgstr "Fichier d'image" -#: models.py:726 +#: models.py:728  msgid "Raw file (gpx or kml)"  msgstr "Fichier brut (gpx ou kml)" -#: models.py:727 +#: models.py:730  msgid "Simplified file"  msgstr "Fichier simplifié" -#: models.py:729 +#: models.py:732  msgid "KML"  msgstr "KML" -#: models.py:729 +#: models.py:732  msgid "GPX"  msgstr "GPX" -#: models.py:734 +#: models.py:737  msgid "Route file"  msgstr "Fichier de trajet" -#: models.py:735 +#: models.py:738  msgid "Route files"  msgstr "Fichiers de trajet" -#: models.py:785 +#: models.py:788  msgid "Reference route"  msgstr "Trajet de référence" -#: models.py:789 +#: models.py:792  msgid "Associated file"  msgstr "Fichier associé" -#: models.py:1019 +#: models.py:1022  msgid "Layer code"  msgstr "Code pour la couche" -#: models.py:1025 +#: models.py:1028  msgid "Layer"  msgstr "Couche" -#: models.py:1031 +#: models.py:1034  msgid "Area urn"  msgstr "Urn de la zone" -#: models.py:1033 templates/chimere/blocks/welcome.html:3 +#: models.py:1036 templates/chimere/blocks/welcome.html:3  msgid "Welcome message"  msgstr "Message d'accueil" -#: models.py:1037 +#: models.py:1040  msgid "Upper left corner"  msgstr "Coin en haut à gauche" -#: models.py:1039 +#: models.py:1042  msgid "Lower right corner"  msgstr "Coin en bas à droite" -#: models.py:1041 +#: models.py:1044  msgid "Default area"  msgstr "Zone par défaut" -#: models.py:1042 +#: models.py:1045  msgid "Only one area is set by default"  msgstr "Seule une zone est définie par défaut" -#: models.py:1046 +#: models.py:1049  msgid "Sub-categories checked by default"  msgstr "Sous-catégories cochées par défaut" -#: models.py:1048 +#: models.py:1051  msgid "Sub-categories dynamicaly displayed"  msgstr "Sous-categories affichées dynamiquement" -#: models.py:1049 +#: models.py:1052  msgid ""  "If checked, categories are only displayed in the menu if they are available "  "on the current extent." @@ -501,68 +520,68 @@ msgstr ""  "Si coché, les catégories sont disponibles sur le menu seulement si elles "  "apparaissent sur la zone affichée." -#: models.py:1053 models.py:1120 +#: models.py:1056 models.py:1123  msgid "Restricted to theses sub-categories"  msgstr "Restreindre à ces sous-categories" -#: models.py:1054 +#: models.py:1057  msgid "If no sub-category is set all sub-categories are available"  msgstr ""  "Si aucune sous-catégorie n'est définie toutes les sous-catégories sont "  "disponibles" -#: models.py:1056 +#: models.py:1059  msgid "Link to an external CSS"  msgstr "Lien vers une feuille de style externe" -#: models.py:1058 +#: models.py:1061  msgid "Restrict to the area extent"  msgstr "Restreindre à l'étendue de la zone" -#: models.py:1105 +#: models.py:1108  msgid "Default layer"  msgstr "Couche par défaut" -#: models.py:1109 models.py:1110 +#: models.py:1112 models.py:1113  msgid "Layers"  msgstr "Couches" -#: models.py:1118 +#: models.py:1121  msgid "Mandatory"  msgstr "Obligatoire" -#: models.py:1121 +#: models.py:1124  msgid ""  "If no sub-category is set all the property applies to all sub-categories"  msgstr ""  "Si aucune sous-catégorie n'est précisée, cette propriété est disponible pour "  "toutes les sous-catégories" -#: models.py:1123 +#: models.py:1126  msgid "Text"  msgstr "Texte" -#: models.py:1124 +#: models.py:1127  msgid "Long text"  msgstr "Texte long" -#: models.py:1125 +#: models.py:1128  msgid "Password"  msgstr "Mot de passe" -#: models.py:1131 +#: models.py:1134  msgid "Type"  msgstr "Type" -#: models.py:1136 models.py:1153 +#: models.py:1139 models.py:1156  msgid "Property model"  msgstr "Modèle de propriété" -#: models.py:1154 +#: models.py:1157  msgid "Value"  msgstr "Valeur" -#: models.py:1158 +#: models.py:1161  msgid "Property"  msgstr "Propriété" @@ -616,24 +635,32 @@ msgstr "Export échoué"  msgid "Export canceled"  msgstr "Export annulé" -#: utils.py:118 utils.py:166 +#: utils.py:118 utils.py:167  msgid "Bad zip file"  msgstr "Mauvais fichier zip" -#: utils.py:169 +#: utils.py:170  msgid "Missing file(s) inside the zip file"  msgstr "Fichier(s) manquant(s) dans l'archive zip" -#: utils.py:301 +#: utils.py:211 +msgid "Bad XML file" +msgstr "Mauvais fichier XML" + +#: utils.py:298  msgid "Error while reading the data source."  msgstr "Erreur lors de la lecture de la source." -#: utils.py:336 +#: utils.py:333  msgid "Type of geographic item of this shapefile is not managed by Chimère."  msgstr ""  "Les types des éléments géographiques de ce fichier Shapefile ne sont pas "  "gérés par Chimère." +#: utils.py:353 +msgid "Bad Shapefile" +msgstr "Mauvais fichier Shapefile" +  #: utils.py:393  msgid "Could not create file!"  msgstr "Ne peut pas créer le fichier !" @@ -647,15 +674,15 @@ msgstr "Ne peut pas créer un champ"  msgid "Categories"  msgstr "Catégories" -#: utils.py:509 +#: utils.py:506  msgid "Nothing to import"  msgstr "Rien à importer" -#: utils.py:589 +#: utils.py:586  msgid "New items imported - validate them before exporting"  msgstr "Nouveaux éléments importés - valider ceux-ci avant d'exporter" -#: utils.py:591 +#: utils.py:588  msgid ""  "There are items from a former import not yet validated - validate them "  "before exporting" @@ -663,15 +690,15 @@ msgstr ""  "Il y a des éléments d'un import précédent pas encore validé - Validez les "  "avant d'exporter" -#: utils.py:601 +#: utils.py:598  msgid "Bad param"  msgstr "Mauvais paramètre" -#: utils.py:616 +#: utils.py:613  msgid "No non ambigious tag is defined in the XAPI request"  msgstr "Pas de tag non ambigü définis dans la requête XAPI" -#: utils.py:618 +#: utils.py:615  msgid ""  "No bounding box is defined in the XAPI request.If you are sure to manage the "  "entire planet set the bounding box to -180,-90,180,90" @@ -680,19 +707,19 @@ msgstr ""  "vouloir lancer la requête sur la planète entière fixez la « bounding  box » "  "à -180,-90,180,90" -#: views.py:234 +#: views.py:235  msgid "There are missing field(s) and/or errors in the submited form."  msgstr "Il y a des champs manquants ou des erreurs dans ce formulaire." -#: views.py:316 +#: views.py:317  msgid "Bad file. Please check it with an external software."  msgstr "Fichier incohérent. Merci de le vérifier avec un logiciel externe." -#: views.py:438 +#: views.py:439  msgid "Comments/request on the map"  msgstr "Commentaires/requètes sur la carte" -#: views.py:441 +#: views.py:442  msgid ""  "Thank you for your contribution. It will be taken into account. If you have "  "left your email you may be contacted soon for more details." @@ -701,15 +728,15 @@ msgstr ""  "laissé votre courriel vous serez peut-être contacté bientôt pour plus de "  "détails." -#: views.py:445 +#: views.py:446  msgid "Temporary error. Renew your message later."  msgstr "Erreur temporaire. Réenvoyez votre message plus tard." -#: views.py:577 +#: views.py:578  msgid "No category available in this area."  msgstr "Pas de catégorie disponible sur cette zone." -#: views.py:684 +#: views.py:686  msgid "Incorrect choice in the list"  msgstr "Choix incorrect dans la liste" diff --git a/chimere/utils.py b/chimere/utils.py index 4ecf3c4..09901c8 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -205,7 +205,10 @@ class KMLManager(ImportManager):                  if line.strip():                      break              doc = StringIO.StringIO("\n".join(splitted[idx:])) -        tree = etree.parse(doc) +        try: +            tree = etree.parse(doc) +        except: +            return (0, 0, _(u"Bad XML file"))          # try to get default namespace          if not self.ns:              self.ns = tree.getroot().nsmap[None] @@ -344,7 +347,10 @@ class ShapefileManager(ImportManager):                                 name.decode(settings.CHIMERE_SHAPEFILE_ENCODING))                      except:                          continue -            geoms = [feat.geom.wkt] +            try: +                geoms = [feat.geom.wkt] +            except: +                return (0, 0, _(u"Bad Shapefile"))              if feat.geom.geom_type == 'MultiLineString':                  geoms = [geom.wkt for geom in feat.geom]              import_key = feat.get(id_name) if id_name and len(geoms) == 1 else ''  | 
