Refactoring pour que la version ajax utilise la même macro que la version standard.
--- /dev/null
+#! /bin/sh
+
+msgfmt -o locales/fr/LC_MESSAGES/portfolio.mo locales/fr/LC_MESSAGES/portfolio.po
+msgfmt -o locales/en/LC_MESSAGES/portfolio.mo locales/en/LC_MESSAGES/portfolio.po
--- /dev/null
+#: o/ImageManipulationTool.py:40
+msgid "Processor"
+msgstr ""
+
+#: o/ImageManipulationTool.py:56
+msgid "Process started."
+msgstr ""
+
+#: o/ImageManipulationTool.py:64
+msgid "Process stopped."
+msgstr ""
+
+#: o/skins/add_to_cart.py:20 o/skins/my_cart.py:73
+msgid "You must enter an integer for quantity (found: %s)"
+msgstr ""
+
+#: o/skins/add_to_cart.py:23 o/skins/my_cart.py:75
+msgid "You must enter a positive value for quantity (found: %s)"
+msgstr ""
+
+#: o/skins/add_to_cart.py:49 o/skins/my_cart.py:85
+msgid "Only %d available copies of this photo in this size."
+msgstr ""
+
+#: o/skins/add_to_cart.py:51 o/skins/my_cart.py:87
+msgid "Only one last available copy of this photo in this size."
+msgstr ""
+
+#: o/skins/add_to_cart.py:53
+msgid "No more available copy of this photo in this size."
+msgstr ""
+
+#: o/skins/add_to_cart.py:62
+msgid ""
+"Your cart is locked:\n"
+"please complete your current order first."
+msgstr ""
+
+#: o/skins/add_to_cart.py:72 o/skins/add_to_cart.py:74
+msgid "Added to cart."
+msgstr ""
+
+#: o/skins/add_to_selection.py:37
+msgid "%s added to selection."
+msgstr ""
+
+#: o/skins/add_to_selection.py:39
+msgid "This %s is already in the selection."
+msgstr ""
+
+#: o/skins/get_slide_buyable_items.pt:21 o/skins/photo_layout_macros.pt:47
+#: o/skins/photo_layout_macros.pt:49 o/skins/photo_view.pt:91
+#: o/skins/photo_view.pt:94
+msgid "Add to cart"
+msgstr ""
+
+#: o/skins/get_slide_buyable_items.pt:27
+msgid "quantity:"
+msgstr ""
+
+#: o/skins/get_slide_buyable_items.pt:34
+msgid "Cancel"
+msgstr ""
+
+#: o/skins/lightbox_save_control.py:10
+msgid "No photo selected."
+msgstr ""
+
+#: o/skins/lightbox_save_control.py:21
+msgid "You must enter a title."
+msgstr ""
+
+#: o/skins/lightbox_save_control.py:27
+msgid "Lightbox created."
+msgstr ""
+
+#. Default: ""
+#: o/skins/lightbox_view_template.pt:19
+msgid "lightbox_selected_explanations"
+msgstr ""
+
+#: o/skins/lightbox_view_template.pt:22 o/skins/selection_view_template.pt:20
+msgid "${DYNAMIC_CONTENT}"
+msgstr ""
+
+#: o/skins/metadata_edit_form_macros.pt:258
+msgid "Save"
+msgstr ""
+
+#: o/skins/my_cart.py:58
+msgid "Order >>"
+msgstr ""
+
+#: o/skins/my_cart.py:60
+msgid "Shipping >>"
+msgstr ""
+
+#: o/skins/my_cart.py:89
+msgid "No more available copy of this photo and in this size."
+msgstr ""
+
+#: o/skins/my_cart.py:138 o/skins/my_cart_template.pt:113
+msgid "My cart"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:26
+msgid "Image"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:27
+msgid "Printing format and type"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:28
+msgid "Quantity"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:29
+msgid "Amount (incl tax)"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:53
+msgid "refresh amount"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:59
+msgid "delete"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:69
+msgid "Prints"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:70
+msgid "Total"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:80 o/skins/sell_macros.pt:16
+msgid "Shipping"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:85
+msgid "VAT"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:90
+msgid "Total amount to pay"
+msgstr ""
+
+#: o/skins/my_cart_template.pt:114
+msgid "Your cart is currently empty."
+msgstr ""
+
+#: o/skins/photo_info.pt:9
+msgid "Preview:"
+msgstr ""
+
+#: o/skins/photo_info.pt:18 o/skins/save_as_lightbox_template.pt:15
+msgid "Title"
+msgstr ""
+
+#: o/skins/photo_info.pt:22
+msgid "Type"
+msgstr ""
+
+#: o/skins/photo_info.pt:26
+msgid "Created"
+msgstr ""
+
+#: o/skins/photo_info.pt:30
+msgid "Modified"
+msgstr ""
+
+#: o/skins/photo_info.pt:34
+msgid "Dimensions"
+msgstr ""
+
+#: o/skins/photo_layout_macros.pt:32 o/skins/photo_layout_macros.pt:34
+msgid "Add to selection"
+msgstr ""
+
+#: o/skins/photo_layout_macros.pt:39 o/skins/photo_layout_macros.pt:41
+msgid "Remove to selection"
+msgstr ""
+
+#: o/skins/photo_layout_macros.pt:54 o/skins/photo_layout_macros.pt:56
+#: o/skins/portfolio_presentation_template.pt:47
+msgid "Delete"
+msgstr ""
+
+#: o/skins/photo_layout_macros.pt:65 o/skins/photo_layout_macros.pt:68
+msgid "Hide for anonymous"
+msgstr ""
+
+#: o/skins/photo_layout_macros.pt:76 o/skins/photo_layout_macros.pt:79
+msgid "Show for anonymous"
+msgstr ""
+
+#: o/skins/photo_medium.pt:37 o/skins/photo_medium.pt:38
+msgid "previous"
+msgstr ""
+
+#: o/skins/photo_medium.pt:44 o/skins/photo_medium.pt:45
+msgid "next"
+msgstr ""
+
+#: o/skins/photo_medium.pt:52
+msgid "zoom in"
+msgstr ""
+
+#: o/skins/photo_medium.pt:52
+msgid "zoom out"
+msgstr ""
+
+#: o/skins/photo_view.pt:31
+msgid "Empty image: upload an image file in \"Edit\" tab."
+msgstr ""
+
+#: o/skins/photo_view.pt:46 o/skins/photo_view.pt:49
+msgid "Previous"
+msgstr ""
+
+#: o/skins/photo_view.pt:52 o/skins/photo_view.pt:55
+msgid "Next"
+msgstr ""
+
+#: o/skins/photo_view.pt:58
+msgid "slide show"
+msgstr ""
+
+#: o/skins/photo_view.pt:69 o/skins/photo_view.pt:72
+msgid "Back to portfolio..."
+msgstr ""
+
+#: o/skins/photo_view.pt:75 o/skins/photo_view.pt:77
+msgid "Full screen (f)"
+msgstr ""
+
+#: o/skins/photo_view.pt:99 o/skins/photo_view.pt:104
+msgid "Edit metadata"
+msgstr ""
+
+#: o/skins/photo_view.pt:116 o/skins/photo_view_ajax_template.pt:18
+msgid "Keywords"
+msgstr ""
+
+#: o/skins/photo_view.pt:123 o/skins/photo_view_ajax_template.pt:26
+msgid "reference:"
+msgstr ""
+
+#: o/skins/photo_view.pt:129 o/skins/photo_view_ajax_template.pt:33
+msgid "download picture"
+msgstr ""
+
+#: o/skins/portfolio_presentation_template.pt:22
+msgid "Delete presentation"
+msgstr ""
+
+#: o/skins/save_as_lightbox_template.pt:12
+msgid "Save current selection as lightbox"
+msgstr ""
+
+#: o/skins/save_as_lightbox_template.pt:21
+msgid "Description"
+msgstr ""
+
+#: o/skins/selection_view.py:64 o/skins/selection_view.py:66
+#: o/skins/selection_view_template.pt:18 o/skins/selectioncontext.py:115
+#: o/skins/selectioncontext.py:117
+msgid "My selection"
+msgstr ""
+
+#: o/skins/selection_view_template.pt:23
+msgid "You are editing this ligthbox:"
+msgstr ""
+
+#: o/skins/selection_view_template.pt:30
+msgid "Save as..."
+msgstr ""
+
+#: o/skins/selection_view_template.pt:33
+msgid "${please_login} if you want to save this selection."
+msgstr ""
+
+#. Default: "Please log in"
+#: o/skins/selection_view_template.pt:34
+msgid "login_to_save_seletion"
+msgstr ""
+
+#: o/skins/selection_view_template.pt:38
+msgid "Empty selection."
+msgstr ""
+
+#: o/skins/sell_macros.pt:14
+msgid "Cart"
+msgstr ""
+
+#: o/skins/sell_macros.pt:15
+msgid "Authentication"
+msgstr ""
+
+#: o/skins/sell_macros.pt:17
+msgid "Payment"
+msgstr ""
+
+#: o/skins/sell_macros.pt:18
+msgid "Confirmation"
+msgstr ""
+
+#: o/skins/shipping_set_control.py:8
+msgid "Please enter a name."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:9
+msgid "Please enter an address."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:10
+msgid "Please enter a city."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:11
+msgid "Please enter zip code."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:12
+msgid "Please enter a country."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:27
+msgid "No cart found. Your session may have expired."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:30
+msgid "Shipping informations saved."
+msgstr ""
+
+#: o/skins/shipping_template.pt:14
+msgid "Please set shipping informations"
+msgstr ""
+
+#: o/skins/shipping_template.pt:19 o/skins/shipping_template.pt:60
+msgid "Validate >>"
+msgstr ""
+
+#: o/skins/shipping_template.pt:23
+msgid "Fullname"
+msgstr ""
+
+#: o/skins/shipping_template.pt:29
+msgid "Address"
+msgstr ""
+
+#: o/skins/shipping_template.pt:36
+msgid "City"
+msgstr ""
+
+#: o/skins/shipping_template.pt:42
+msgid "Zip code"
+msgstr ""
+
+#: o/skins/shipping_template.pt:48
+msgid "Country"
+msgstr ""
+
+#: o/skins/zoom_view.pt:32
+msgid "back"
+msgstr ""
+
+# from portfolio-manual
+msgid "not saved yet"
+msgstr ""
+
+msgid "Load in my selection"
+msgstr ""
+
+msgid "Unload from my selection"
+msgstr ""
+
+msgid "My albums"
+msgstr ""
+
+msgid "You don't have any album yet."
+msgstr ""
+
+msgid "%m/%d/%Y %H:%M:%S"
+msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: Plinn 2.0\n"
-"POT-Creation-Date: $Date: Mon Sep 7 10:25:46 2009 $\n"
-"PO-Revision-Date: 2009-09-07 10:27+0200\n"
+"POT-Creation-Date: Sun Jun 29 07:16:48 2014\n"
+"PO-Revision-Date: 2014-06-29 07:19+0200\n"
"Last-Translator: Benoît PIN\n"
"Language-Team: CRI http://cri.ensmp.fr\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Domain: plinn\n"
"X-Is-Fallback-For: fr-fr, fr-be fr-ca fr-lu fr-mc fr-ch\n"
-#: ImageManipulationTool.py:42
+#: o/ImageManipulationTool.py:40
msgid "Processor"
msgstr "Processeur"
-#: ImageManipulationTool.py:58
+#: o/ImageManipulationTool.py:56
msgid "Process started."
msgstr "Processus démarré"
-#: ImageManipulationTool.py:66
+#: o/ImageManipulationTool.py:64
msgid "Process stopped."
msgstr "Processus arrêté"
-#: skins/add_to_cart.py:14 skins/my_cart.py:73
+#: o/skins/add_to_cart.py:20 o/skins/my_cart.py:73
msgid "You must enter an integer for quantity (found: %s)"
msgstr "Vous devez entrer un nombre entier pour la quantité (trouvé : %s)"
-#: skins/add_to_cart.py:17 skins/my_cart.py:75
+#: o/skins/add_to_cart.py:23 o/skins/my_cart.py:75
msgid "You must enter a positive value for quantity (found: %s)"
msgstr "Vous devez entrer un nombre positif pour la quantité (trouvé : %s)"
-#: skins/add_to_cart.py:39 skins/my_cart.py:85
+#: o/skins/add_to_cart.py:49 o/skins/my_cart.py:85
msgid "Only %d available copies of this photo in this size."
msgstr "Seulement %s tirages encore disponibles pour cette photo à ce format."
-#: skins/add_to_cart.py:41 skins/my_cart.py:87
+#: o/skins/add_to_cart.py:51 o/skins/my_cart.py:87
msgid "Only one last available copy of this photo in this size."
msgstr "Plus qu'un dernier tirage disponible pour cette photo à ce format."
-#: skins/add_to_cart.py:43
+#: o/skins/add_to_cart.py:53
msgid "No more available copy of this photo in this size."
msgstr "Plus aucun tirage disponible pour cette photo à ce format."
-#: skins/add_to_cart.py:48
+#: o/skins/add_to_cart.py:62
msgid ""
"Your cart is locked:\n"
"please complete your current order first."
"veuillez d'abord solder votre commande."
# from portfolio-manual
-#: skins/add_to_cart.py:54
+#: o/skins/add_to_cart.py:72 o/skins/add_to_cart.py:74
msgid "Added to cart."
msgstr "Ajouté au panier."
# from portfolio-manual
-#: skins/add_to_selection.py:37
+#: o/skins/add_to_selection.py:37
msgid "%s added to selection."
msgstr "%s ajoutée à la sélection."
-#: skins/add_to_selection.py:39
+#: o/skins/add_to_selection.py:39
msgid "This %s is already in the selection."
msgstr "Cette %s est déjà dans la sélection."
# from portfolio-manual
-#: skins/get_slide_buyable_items.pt:21 skins/photo_layout_macros.pt:43
-#: skins/photo_layout_macros.pt:45 skins/photo_view.pt:91
-#: skins/photo_view.pt:94
+#: o/skins/get_slide_buyable_items.pt:21 o/skins/photo_layout_macros.pt:47
+#: o/skins/photo_layout_macros.pt:49 o/skins/photo_view.pt:91
+#: o/skins/photo_view.pt:94
msgid "Add to cart"
msgstr "Ajouter au panier"
-#: skins/get_slide_buyable_items.pt:27
+#: o/skins/get_slide_buyable_items.pt:27
msgid "quantity:"
msgstr "quantité :"
-#: skins/get_slide_buyable_items.pt:34
+#: o/skins/get_slide_buyable_items.pt:34
msgid "Cancel"
msgstr "Annuler"
-#: skins/lightbox_save_control.py:10
+#: o/skins/lightbox_save_control.py:10
msgid "No photo selected."
msgstr "Aucune photo sélectionnée."
-#: skins/lightbox_save_control.py:21
+#: o/skins/lightbox_save_control.py:21
msgid "You must enter a title."
msgstr "Vous devez entrer un titre."
-#: skins/lightbox_save_control.py:27
+#: o/skins/lightbox_save_control.py:27
msgid "Lightbox created."
msgstr "Table lumineuse créée."
#. Default: ""
-#: skins/lightbox_view_template.pt:19
+#: o/skins/lightbox_view_template.pt:19
msgid "lightbox_selected_explanations"
msgstr ""
"Cette table lumineuse est sélectionnée : les images que vous sélectionnerez "
"à présent seront automatiquement sauvegardées à cet endroit."
-#: skins/lightbox_view_template.pt:22 skins/selection_view_template.pt:20
+#: o/skins/lightbox_view_template.pt:22 o/skins/selection_view_template.pt:20
msgid "${DYNAMIC_CONTENT}"
msgstr ""
-#: skins/metadata_edit_form_macros.pt:258
+#: o/skins/metadata_edit_form_macros.pt:258
msgid "Save"
msgstr "Enregistrer"
-#: skins/my_cart.py:138 skins/my_cart_template.pt:113
-msgid "My cart"
-msgstr "Mon panier"
-
-#: skins/my_cart.py:58
+#: o/skins/my_cart.py:58
msgid "Order >>"
msgstr "Commander >>"
-#: skins/my_cart.py:60
+#: o/skins/my_cart.py:60
msgid "Shipping >>"
msgstr "Livraison >>"
-#: skins/my_cart.py:89
+#: o/skins/my_cart.py:89
msgid "No more available copy of this photo and in this size."
msgstr "Plus aucun tirage disponible pour cette photo à ce format."
-#: skins/my_cart_template.pt:114
-msgid "Your cart is currently empty."
-msgstr "Votre panier est actuellement vide."
+#: o/skins/my_cart.py:138 o/skins/my_cart_template.pt:113
+msgid "My cart"
+msgstr "Mon panier"
-#: skins/my_cart_template.pt:26
+#: o/skins/my_cart_template.pt:26
msgid "Image"
msgstr "Image"
-#: skins/my_cart_template.pt:27
+#: o/skins/my_cart_template.pt:27
msgid "Printing format and type"
msgstr "Format d'impression et type de support"
-#: skins/my_cart_template.pt:28
+#: o/skins/my_cart_template.pt:28
msgid "Quantity"
msgstr "Quantité"
-#: skins/my_cart_template.pt:29
+#: o/skins/my_cart_template.pt:29
msgid "Amount (incl tax)"
msgstr "Prix (TTC)"
-#: skins/my_cart_template.pt:53
+#: o/skins/my_cart_template.pt:53
msgid "refresh amount"
msgstr "actualiser le montant"
-#: skins/my_cart_template.pt:59
+#: o/skins/my_cart_template.pt:59
msgid "delete"
msgstr "supprimer"
-#: skins/my_cart_template.pt:69
+#: o/skins/my_cart_template.pt:69
msgid "Prints"
msgstr "Tirages"
-#: skins/my_cart_template.pt:70
+#: o/skins/my_cart_template.pt:70
msgid "Total"
msgstr "Total"
-#: skins/my_cart_template.pt:80 skins/sell_macros.pt:16
+#: o/skins/my_cart_template.pt:80 o/skins/sell_macros.pt:16
msgid "Shipping"
msgstr "Livraison"
-#: skins/my_cart_template.pt:85
+#: o/skins/my_cart_template.pt:85
msgid "VAT"
msgstr "TVA"
-#: skins/my_cart_template.pt:90
+#: o/skins/my_cart_template.pt:90
msgid "Total amount to pay"
msgstr "Montant total à payer"
-#: skins/photo_info.pt:18 skins/save_as_lightbox_template.pt:15
+#: o/skins/my_cart_template.pt:114
+msgid "Your cart is currently empty."
+msgstr "Votre panier est actuellement vide."
+
+#: o/skins/photo_info.pt:9
+msgid "Preview:"
+msgstr "Aperçu :"
+
+#: o/skins/photo_info.pt:18 o/skins/save_as_lightbox_template.pt:15
msgid "Title"
msgstr "Titre"
-#: skins/photo_info.pt:22
+#: o/skins/photo_info.pt:22
msgid "Type"
msgstr "Type"
-#: skins/photo_info.pt:26
+#: o/skins/photo_info.pt:26
msgid "Created"
msgstr "Créé"
-#: skins/photo_info.pt:30
+#: o/skins/photo_info.pt:30
msgid "Modified"
msgstr "Modifié"
-#: skins/photo_info.pt:34
+#: o/skins/photo_info.pt:34
msgid "Dimensions"
msgstr "Dimensions"
-#: skins/photo_info.pt:9
-msgid "Preview:"
-msgstr "Aperçu :"
-
# from portfolio-manual
-#: skins/photo_layout_macros.pt:28 skins/photo_layout_macros.pt:30
+#: o/skins/photo_layout_macros.pt:32 o/skins/photo_layout_macros.pt:34
msgid "Add to selection"
msgstr "Ajouter à la sélection"
# from portfolio-manual
-#: skins/photo_layout_macros.pt:35 skins/photo_layout_macros.pt:37
+#: o/skins/photo_layout_macros.pt:39 o/skins/photo_layout_macros.pt:41
msgid "Remove to selection"
msgstr "Retirer de la sélection"
-#: skins/photo_layout_macros.pt:50 skins/photo_layout_macros.pt:52
-#: skins/portfolio_presentation_template.pt:47
+#: o/skins/photo_layout_macros.pt:54 o/skins/photo_layout_macros.pt:56
+#: o/skins/portfolio_presentation_template.pt:47
msgid "Delete"
msgstr "Supprimer"
-#: skins/photo_layout_macros.pt:61 skins/photo_layout_macros.pt:64
+#: o/skins/photo_layout_macros.pt:65 o/skins/photo_layout_macros.pt:68
msgid "Hide for anonymous"
msgstr "Masquer pour les anonymes"
-#: skins/photo_layout_macros.pt:72 skins/photo_layout_macros.pt:75
+#: o/skins/photo_layout_macros.pt:76 o/skins/photo_layout_macros.pt:79
msgid "Show for anonymous"
msgstr "Montrer aux anonymes"
-#: skins/photo_medium.pt:37 skins/photo_medium.pt:38
+#: o/skins/photo_medium.pt:37 o/skins/photo_medium.pt:38
msgid "previous"
msgstr "précédente"
-#: skins/photo_medium.pt:44 skins/photo_medium.pt:45
+#: o/skins/photo_medium.pt:44 o/skins/photo_medium.pt:45
msgid "next"
msgstr "suivante"
-#: skins/photo_medium.pt:52
+#: o/skins/photo_medium.pt:52
msgid "zoom in"
msgstr "zoom avant"
-#: skins/photo_medium.pt:52
+#: o/skins/photo_medium.pt:52
msgid "zoom out"
msgstr "zoom arrière"
-#: skins/photo_view.pt:115 skins/photo_view_ajax_template.pt:18
-msgid "Keywords"
-msgstr "Mots-clefs"
-
-#: skins/photo_view.pt:122 skins/photo_view_ajax_template.pt:26
-msgid "reference:"
-msgstr "référence :"
-
-#: skins/photo_view.pt:127 skins/photo_view_ajax_template.pt:33
-msgid "download picture"
-msgstr "télécharger l'image"
-
-#: skins/photo_view.pt:29
+#: o/skins/photo_view.pt:31
msgid "Empty image: upload an image file in \"Edit\" tab."
msgstr "Image vide : envoyer un fichier d'image dans l'onglet « Modifier »."
-#: skins/photo_view.pt:44 skins/photo_view.pt:47
+#: o/skins/photo_view.pt:46 o/skins/photo_view.pt:49
msgid "Previous"
msgstr "Précédente"
-#: skins/photo_view.pt:50 skins/photo_view.pt:53
+#: o/skins/photo_view.pt:52 o/skins/photo_view.pt:55
msgid "Next"
msgstr "Suivante"
-#: skins/photo_view.pt:69 skins/photo_view.pt:72
+#: o/skins/photo_view.pt:58
+msgid "slide show"
+msgstr "diaporama"
+
+#: o/skins/photo_view.pt:69 o/skins/photo_view.pt:72
msgid "Back to portfolio..."
msgstr "Retour à la collection"
-#: skins/photo_view.pt:75 skins/photo_view.pt:77
+#: o/skins/photo_view.pt:75 o/skins/photo_view.pt:77
msgid "Full screen (f)"
msgstr "Plein écran (f)"
-#: skins/photo_view.pt:99 skins/photo_view.pt:104
+#: o/skins/photo_view.pt:99 o/skins/photo_view.pt:104
msgid "Edit metadata"
msgstr "Modifier les métadonnées"
-#: skins/portfolio_edit_template.pt:36
-msgid "If a file already exists"
-msgstr "Si un fichier existe déjà"
+#: o/skins/photo_view.pt:116 o/skins/photo_view_ajax_template.pt:18
+msgid "Keywords"
+msgstr "Mots-clefs"
-#: skins/portfolio_edit_template.pt:39
-msgid "overwrite"
-msgstr "écraser"
+#: o/skins/photo_view.pt:123 o/skins/photo_view_ajax_template.pt:26
+msgid "reference:"
+msgstr "référence :"
-#: skins/portfolio_edit_template.pt:44
-msgid "rename"
-msgstr "renommer"
+#: o/skins/photo_view.pt:129 o/skins/photo_view_ajax_template.pt:33
+msgid "download picture"
+msgstr "télécharger l'image"
-#: skins/portfolio_presentation_template.pt:22
+#: o/skins/portfolio_presentation_template.pt:22
msgid "Delete presentation"
msgstr "Supprimer la présentation"
-#: skins/save_as_lightbox_template.pt:12
+#: o/skins/save_as_lightbox_template.pt:12
msgid "Save current selection as lightbox"
msgstr "Enregistrer la sélection dans une table lumineuse"
-#: skins/save_as_lightbox_template.pt:21
+#: o/skins/save_as_lightbox_template.pt:21
msgid "Description"
msgstr "Description"
-#: skins/selection_view.py:64 skins/selection_view.py:66
-#: skins/selectioncontext.py:114 skins/selectioncontext.py:116
-#: skins/selection_view_template.pt:18
+#: o/skins/selection_view.py:64 o/skins/selection_view.py:66
+#: o/skins/selection_view_template.pt:18 o/skins/selectioncontext.py:115
+#: o/skins/selectioncontext.py:117
msgid "My selection"
msgstr "Ma sélection"
-#: skins/selection_view_template.pt:23
+#: o/skins/selection_view_template.pt:23
msgid "You are editing this ligthbox:"
msgstr "Vous éditez cette table lumineuse :"
-#: skins/selection_view_template.pt:30
+#: o/skins/selection_view_template.pt:30
msgid "Save as..."
msgstr "Enregistrer sous..."
-#: skins/selection_view_template.pt:33
+#: o/skins/selection_view_template.pt:33
msgid "${please_login} if you want to save this selection."
msgstr "Si vous souhaiter enregistrer cette sélection, ${please_login}"
#. Default: "Please log in"
-#: skins/selection_view_template.pt:34
+#: o/skins/selection_view_template.pt:34
msgid "login_to_save_seletion"
msgstr "veuillez vous connecter."
-#: skins/selection_view_template.pt:38
+#: o/skins/selection_view_template.pt:38
msgid "Empty selection."
msgstr "Sélection vide."
-#: skins/sell_macros.pt:14
+#: o/skins/sell_macros.pt:14
msgid "Cart"
msgstr "Panier"
-#: skins/sell_macros.pt:15
+#: o/skins/sell_macros.pt:15
msgid "Authentication"
msgstr "Identification"
-#: skins/sell_macros.pt:17
+#: o/skins/sell_macros.pt:17
msgid "Payment"
msgstr "Paiement"
-#: skins/sell_macros.pt:18
+#: o/skins/sell_macros.pt:18
msgid "Confirmation"
msgstr "Confirmation"
-#: skins/shipping_set_control.py:10
+#: o/skins/shipping_set_control.py:8
+msgid "Please enter a name."
+msgstr "Veuillez entrer un nom."
+
+#: o/skins/shipping_set_control.py:9
+msgid "Please enter an address."
+msgstr "Veuillez entrer une adresse."
+
+#: o/skins/shipping_set_control.py:10
msgid "Please enter a city."
msgstr "Veuillez entrer une ville."
-#: skins/shipping_set_control.py:11
+#: o/skins/shipping_set_control.py:11
msgid "Please enter zip code."
msgstr "Veuillez entrer un code postal."
-#: skins/shipping_set_control.py:12
+#: o/skins/shipping_set_control.py:12
msgid "Please enter a country."
msgstr "Veuillez entrer un pays."
-#: skins/shipping_set_control.py:27
+#: o/skins/shipping_set_control.py:27
msgid "No cart found. Your session may have expired."
msgstr "Pas de panier trouvé. Votre session a peut-être expirée."
-#: skins/shipping_set_control.py:30
+#: o/skins/shipping_set_control.py:30
msgid "Shipping informations saved."
msgstr "Informations de livraison enregistrées."
-#: skins/shipping_set_control.py:8
-msgid "Please enter a name."
-msgstr "Veuillez entrer un nom."
-
-#: skins/shipping_set_control.py:9
-msgid "Please enter an address."
-msgstr "Veuillez entrer une adresse."
-
-#: skins/shipping_template.pt:14
+#: o/skins/shipping_template.pt:14
msgid "Please set shipping informations"
msgstr "Veuillez remplir les informations de livraison."
-#: skins/shipping_template.pt:19 skins/shipping_template.pt:60
+#: o/skins/shipping_template.pt:19 o/skins/shipping_template.pt:60
msgid "Validate >>"
msgstr "Valider >>"
-#: skins/shipping_template.pt:23
+#: o/skins/shipping_template.pt:23
msgid "Fullname"
msgstr "Nom complet"
-#: skins/shipping_template.pt:29
+#: o/skins/shipping_template.pt:29
msgid "Address"
msgstr "Adresse"
-#: skins/shipping_template.pt:36
+#: o/skins/shipping_template.pt:36
msgid "City"
msgstr "Ville"
-#: skins/shipping_template.pt:42
+#: o/skins/shipping_template.pt:42
msgid "Zip code"
msgstr "Code postal"
-#: skins/shipping_template.pt:48
+#: o/skins/shipping_template.pt:48
msgid "Country"
msgstr "Pays"
-#: skins/zoom_view.pt:27
+#: o/skins/zoom_view.pt:32
msgid "back"
msgstr "retour"
msgid "You don't have any album yet."
msgstr "Vous n'avez pas encore de collection."
-#~ msgid "slide show"
-#~ msgstr "diaporama"
+# Date et heure de prise de vue
+msgid "%m/%d/%Y %H:%M:%S"
+msgstr "%d/%m/%Y %H:%M:%S"
+
+#~ msgid "If a file already exists"
+#~ msgstr "Si un fichier existe déjà"
+
+#~ msgid "overwrite"
+#~ msgstr "écraser"
+
+#~ msgid "rename"
+#~ msgstr "renommer"
#~ msgid "stopped"
#~ msgstr "arrêté"
msgid "You don't have any album yet."
msgstr ""
+
+# date et heure de prise de vue
+msgid "%m/%d/%Y %H:%M:%S"
+msgstr ""
-############################################################
-# Copyright © 2005-2008 Benoît PIN <benoit.pin@ensmp.fr> #
-# Plinn - http://plinn.org #
-# #
-# This program is free software; you can redistribute it #
-# and/or modify it under the terms of the Creative Commons #
-# "Attribution-Noncommercial 2.0 Generic" #
-# http://creativecommons.org/licenses/by-nc/2.0/ #
-############################################################
+##############################################################################
+#
+# Copyright (c) 2003-2004 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
msgid ""
msgstr ""
-"Project-Id-Version: Plinn - Portfolio 2\n"
-"POT-Creation-Date: $Date: Mon Sep 7 10:25:46 2009 $\n"
-"Language-Team: Benoît Pin <benoit.pin@ensmp.fr>\n"
+"Project-Id-Version: 3.0\n"
+"POT-Creation-Date: Sun Jun 29 07:19:35 2014\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Zope 3 Developers <zope-dev@zope.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: zope/app/locales/extract.py\n"
-#: ImageManipulationTool.py:42
+#: o/ImageManipulationTool.py:40
msgid "Processor"
msgstr ""
-#: ImageManipulationTool.py:58
+#: o/ImageManipulationTool.py:56
msgid "Process started."
msgstr ""
-#: ImageManipulationTool.py:66
+#: o/ImageManipulationTool.py:64
msgid "Process stopped."
msgstr ""
-#: skins/add_to_cart.py:14
-#: skins/my_cart.py:73
+#: o/skins/add_to_cart.py:20
+#: o/skins/my_cart.py:73
msgid "You must enter an integer for quantity (found: %s)"
msgstr ""
-#: skins/add_to_cart.py:17
-#: skins/my_cart.py:75
+#: o/skins/add_to_cart.py:23
+#: o/skins/my_cart.py:75
msgid "You must enter a positive value for quantity (found: %s)"
msgstr ""
-#: skins/add_to_cart.py:39
-#: skins/my_cart.py:85
+#: o/skins/add_to_cart.py:49
+#: o/skins/my_cart.py:85
msgid "Only %d available copies of this photo in this size."
msgstr ""
-#: skins/add_to_cart.py:41
-#: skins/my_cart.py:87
+#: o/skins/add_to_cart.py:51
+#: o/skins/my_cart.py:87
msgid "Only one last available copy of this photo in this size."
msgstr ""
-#: skins/add_to_cart.py:43
+#: o/skins/add_to_cart.py:53
msgid "No more available copy of this photo in this size."
msgstr ""
-#: skins/add_to_cart.py:48
+#: o/skins/add_to_cart.py:62
msgid ""
"Your cart is locked:\n"
"please complete your current order first."
msgstr ""
-#: skins/add_to_cart.py:54
+#: o/skins/add_to_cart.py:72
+#: o/skins/add_to_cart.py:74
msgid "Added to cart."
msgstr ""
-#: skins/add_to_selection.py:37
+#: o/skins/add_to_selection.py:37
msgid "%s added to selection."
msgstr ""
-#: skins/add_to_selection.py:39
+#: o/skins/add_to_selection.py:39
msgid "This %s is already in the selection."
msgstr ""
-#: skins/get_slide_buyable_items.pt:21
-#: skins/photo_layout_macros.pt:43
-#: skins/photo_layout_macros.pt:45
-#: skins/photo_view.pt:91
-#: skins/photo_view.pt:94
+#: o/skins/get_slide_buyable_items.pt:21
+#: o/skins/photo_layout_macros.pt:47
+#: o/skins/photo_layout_macros.pt:49
+#: o/skins/photo_view.pt:91
+#: o/skins/photo_view.pt:94
msgid "Add to cart"
msgstr ""
-#: skins/get_slide_buyable_items.pt:27
+#: o/skins/get_slide_buyable_items.pt:27
msgid "quantity:"
msgstr ""
-#: skins/get_slide_buyable_items.pt:34
+#: o/skins/get_slide_buyable_items.pt:34
msgid "Cancel"
msgstr ""
-#: skins/lightbox_save_control.py:10
+#: o/skins/lightbox_save_control.py:10
msgid "No photo selected."
msgstr ""
-#: skins/lightbox_save_control.py:21
+#: o/skins/lightbox_save_control.py:21
msgid "You must enter a title."
msgstr ""
-#: skins/lightbox_save_control.py:27
+#: o/skins/lightbox_save_control.py:27
msgid "Lightbox created."
msgstr ""
-#: skins/lightbox_view_template.pt:19
+#: o/skins/lightbox_view_template.pt:19
#. Default: ""
msgid "lightbox_selected_explanations"
msgstr ""
-#: skins/lightbox_view_template.pt:22
-#: skins/selection_view_template.pt:20
+#: o/skins/lightbox_view_template.pt:22
+#: o/skins/selection_view_template.pt:20
msgid "${DYNAMIC_CONTENT}"
msgstr ""
-#: skins/metadata_edit_form_macros.pt:258
+#: o/skins/metadata_edit_form_macros.pt:258
msgid "Save"
msgstr ""
-#: skins/my_cart.py:138
-#: skins/my_cart_template.pt:113
-msgid "My cart"
-msgstr ""
-
-#: skins/my_cart.py:58
+#: o/skins/my_cart.py:58
msgid "Order >>"
msgstr ""
-#: skins/my_cart.py:60
+#: o/skins/my_cart.py:60
msgid "Shipping >>"
msgstr ""
-#: skins/my_cart.py:89
+#: o/skins/my_cart.py:89
msgid "No more available copy of this photo and in this size."
msgstr ""
-#: skins/my_cart_template.pt:114
-msgid "Your cart is currently empty."
+#: o/skins/my_cart.py:138
+#: o/skins/my_cart_template.pt:113
+msgid "My cart"
msgstr ""
-#: skins/my_cart_template.pt:26
+#: o/skins/my_cart_template.pt:26
msgid "Image"
msgstr ""
-#: skins/my_cart_template.pt:27
+#: o/skins/my_cart_template.pt:27
msgid "Printing format and type"
msgstr ""
-#: skins/my_cart_template.pt:28
+#: o/skins/my_cart_template.pt:28
msgid "Quantity"
msgstr ""
-#: skins/my_cart_template.pt:29
+#: o/skins/my_cart_template.pt:29
msgid "Amount (incl tax)"
msgstr ""
-#: skins/my_cart_template.pt:53
-#: skins/my_cart_template.pt:53
+#: o/skins/my_cart_template.pt:53
+#: o/skins/my_cart_template.pt:53
msgid "refresh amount"
msgstr ""
-#: skins/my_cart_template.pt:59
-#: skins/my_cart_template.pt:59
+#: o/skins/my_cart_template.pt:59
+#: o/skins/my_cart_template.pt:59
msgid "delete"
msgstr ""
-#: skins/my_cart_template.pt:69
+#: o/skins/my_cart_template.pt:69
msgid "Prints"
msgstr ""
-#: skins/my_cart_template.pt:70
+#: o/skins/my_cart_template.pt:70
msgid "Total"
msgstr ""
-#: skins/my_cart_template.pt:80
-#: skins/sell_macros.pt:16
+#: o/skins/my_cart_template.pt:80
+#: o/skins/sell_macros.pt:16
msgid "Shipping"
msgstr ""
-#: skins/my_cart_template.pt:85
+#: o/skins/my_cart_template.pt:85
msgid "VAT"
msgstr ""
-#: skins/my_cart_template.pt:90
+#: o/skins/my_cart_template.pt:90
msgid "Total amount to pay"
msgstr ""
-#: skins/photo_info.pt:18
-#: skins/save_as_lightbox_template.pt:15
+#: o/skins/my_cart_template.pt:114
+msgid "Your cart is currently empty."
+msgstr ""
+
+#: o/skins/photo_info.pt:9
+msgid "Preview:"
+msgstr ""
+
+#: o/skins/photo_info.pt:18
+#: o/skins/save_as_lightbox_template.pt:15
msgid "Title"
msgstr ""
-#: skins/photo_info.pt:22
+#: o/skins/photo_info.pt:22
msgid "Type"
msgstr ""
-#: skins/photo_info.pt:26
+#: o/skins/photo_info.pt:26
msgid "Created"
msgstr ""
-#: skins/photo_info.pt:30
+#: o/skins/photo_info.pt:30
msgid "Modified"
msgstr ""
-#: skins/photo_info.pt:34
+#: o/skins/photo_info.pt:34
msgid "Dimensions"
msgstr ""
-#: skins/photo_info.pt:9
-msgid "Preview:"
-msgstr ""
-
-#: skins/photo_layout_macros.pt:28
-#: skins/photo_layout_macros.pt:30
+#: o/skins/photo_layout_macros.pt:32
+#: o/skins/photo_layout_macros.pt:34
msgid "Add to selection"
msgstr ""
-#: skins/photo_layout_macros.pt:35
-#: skins/photo_layout_macros.pt:37
+#: o/skins/photo_layout_macros.pt:39
+#: o/skins/photo_layout_macros.pt:41
msgid "Remove to selection"
msgstr ""
-#: skins/photo_layout_macros.pt:50
-#: skins/photo_layout_macros.pt:52
-#: skins/portfolio_presentation_template.pt:47
+#: o/skins/photo_layout_macros.pt:54
+#: o/skins/photo_layout_macros.pt:56
+#: o/skins/portfolio_presentation_template.pt:47
msgid "Delete"
msgstr ""
-#: skins/photo_layout_macros.pt:61
-#: skins/photo_layout_macros.pt:64
+#: o/skins/photo_layout_macros.pt:65
+#: o/skins/photo_layout_macros.pt:68
msgid "Hide for anonymous"
msgstr ""
-#: skins/photo_layout_macros.pt:72
-#: skins/photo_layout_macros.pt:75
+#: o/skins/photo_layout_macros.pt:76
+#: o/skins/photo_layout_macros.pt:79
msgid "Show for anonymous"
msgstr ""
-#: skins/photo_medium.pt:37
-#: skins/photo_medium.pt:38
+#: o/skins/photo_medium.pt:37
+#: o/skins/photo_medium.pt:38
msgid "previous"
msgstr ""
-#: skins/photo_medium.pt:44
-#: skins/photo_medium.pt:45
+#: o/skins/photo_medium.pt:44
+#: o/skins/photo_medium.pt:45
msgid "next"
msgstr ""
-#: skins/photo_medium.pt:52
+#: o/skins/photo_medium.pt:52
msgid "zoom in"
msgstr ""
-#: skins/photo_medium.pt:52
+#: o/skins/photo_medium.pt:52
msgid "zoom out"
msgstr ""
-#: skins/photo_view.pt:115
-#: skins/photo_view_ajax_template.pt:18
-msgid "Keywords"
-msgstr ""
-
-#: skins/photo_view.pt:122
-#: skins/photo_view_ajax_template.pt:26
-msgid "reference:"
-msgstr ""
-
-#: skins/photo_view.pt:127
-#: skins/photo_view_ajax_template.pt:33
-msgid "download picture"
-msgstr ""
-
-#: skins/photo_view.pt:29
+#: o/skins/photo_view.pt:31
msgid "Empty image: upload an image file in \"Edit\" tab."
msgstr ""
-#: skins/photo_view.pt:44
-#: skins/photo_view.pt:47
+#: o/skins/photo_view.pt:46
+#: o/skins/photo_view.pt:49
msgid "Previous"
msgstr ""
-#: skins/photo_view.pt:50
-#: skins/photo_view.pt:53
+#: o/skins/photo_view.pt:52
+#: o/skins/photo_view.pt:55
msgid "Next"
msgstr ""
-#: skins/photo_view.pt:69
-#: skins/photo_view.pt:72
+#: o/skins/photo_view.pt:58
+msgid "slide show"
+msgstr ""
+
+#: o/skins/photo_view.pt:69
+#: o/skins/photo_view.pt:72
msgid "Back to portfolio..."
msgstr ""
-#: skins/photo_view.pt:75
-#: skins/photo_view.pt:77
+#: o/skins/photo_view.pt:75
+#: o/skins/photo_view.pt:77
msgid "Full screen (f)"
msgstr ""
-#: skins/photo_view.pt:99
-#: skins/photo_view.pt:104
+#: o/skins/photo_view.pt:99
+#: o/skins/photo_view.pt:104
msgid "Edit metadata"
msgstr ""
-#: skins/portfolio_edit_template.pt:36
-msgid "If a file already exists"
+#: o/skins/photo_view.pt:116
+#: o/skins/photo_view_ajax_template.pt:18
+msgid "Keywords"
msgstr ""
-#: skins/portfolio_edit_template.pt:39
-msgid "overwrite"
+#: o/skins/photo_view.pt:123
+#: o/skins/photo_view_ajax_template.pt:26
+msgid "reference:"
msgstr ""
-#: skins/portfolio_edit_template.pt:44
-msgid "rename"
+#: o/skins/photo_view.pt:129
+#: o/skins/photo_view_ajax_template.pt:33
+msgid "download picture"
msgstr ""
-#: skins/portfolio_presentation_template.pt:22
+#: o/skins/portfolio_presentation_template.pt:22
msgid "Delete presentation"
msgstr ""
-#: skins/save_as_lightbox_template.pt:12
+#: o/skins/save_as_lightbox_template.pt:12
msgid "Save current selection as lightbox"
msgstr ""
-#: skins/save_as_lightbox_template.pt:21
+#: o/skins/save_as_lightbox_template.pt:21
msgid "Description"
msgstr ""
-#: skins/selection_view.py:64
-#: skins/selection_view.py:66
-#: skins/selectioncontext.py:114
-#: skins/selectioncontext.py:116
-#: skins/selection_view_template.pt:18
+#: o/skins/selection_view.py:64
+#: o/skins/selection_view.py:66
+#: o/skins/selection_view_template.pt:18
+#: o/skins/selectioncontext.py:115
+#: o/skins/selectioncontext.py:117
msgid "My selection"
msgstr ""
-#: skins/selection_view_template.pt:23
+#: o/skins/selection_view_template.pt:23
msgid "You are editing this ligthbox:"
msgstr ""
-#: skins/selection_view_template.pt:30
+#: o/skins/selection_view_template.pt:30
msgid "Save as..."
msgstr ""
-#: skins/selection_view_template.pt:33
+#: o/skins/selection_view_template.pt:33
msgid "${please_login} if you want to save this selection."
msgstr ""
-#: skins/selection_view_template.pt:34
+#: o/skins/selection_view_template.pt:34
#. Default: "Please log in"
msgid "login_to_save_seletion"
msgstr ""
-#: skins/selection_view_template.pt:38
+#: o/skins/selection_view_template.pt:38
msgid "Empty selection."
msgstr ""
-#: skins/sell_macros.pt:14
+#: o/skins/sell_macros.pt:14
msgid "Cart"
msgstr ""
-#: skins/sell_macros.pt:15
+#: o/skins/sell_macros.pt:15
msgid "Authentication"
msgstr ""
-#: skins/sell_macros.pt:17
+#: o/skins/sell_macros.pt:17
msgid "Payment"
msgstr ""
-#: skins/sell_macros.pt:18
+#: o/skins/sell_macros.pt:18
msgid "Confirmation"
msgstr ""
-#: skins/shipping_set_control.py:10
+#: o/skins/shipping_set_control.py:8
+msgid "Please enter a name."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:9
+msgid "Please enter an address."
+msgstr ""
+
+#: o/skins/shipping_set_control.py:10
msgid "Please enter a city."
msgstr ""
-#: skins/shipping_set_control.py:11
+#: o/skins/shipping_set_control.py:11
msgid "Please enter zip code."
msgstr ""
-#: skins/shipping_set_control.py:12
+#: o/skins/shipping_set_control.py:12
msgid "Please enter a country."
msgstr ""
-#: skins/shipping_set_control.py:27
+#: o/skins/shipping_set_control.py:27
msgid "No cart found. Your session may have expired."
msgstr ""
-#: skins/shipping_set_control.py:30
+#: o/skins/shipping_set_control.py:30
msgid "Shipping informations saved."
msgstr ""
-#: skins/shipping_set_control.py:8
-msgid "Please enter a name."
-msgstr ""
-
-#: skins/shipping_set_control.py:9
-msgid "Please enter an address."
-msgstr ""
-
-#: skins/shipping_template.pt:14
+#: o/skins/shipping_template.pt:14
msgid "Please set shipping informations"
msgstr ""
-#: skins/shipping_template.pt:19
-#: skins/shipping_template.pt:60
+#: o/skins/shipping_template.pt:19
+#: o/skins/shipping_template.pt:60
msgid "Validate >>"
msgstr ""
-#: skins/shipping_template.pt:23
+#: o/skins/shipping_template.pt:23
msgid "Fullname"
msgstr ""
-#: skins/shipping_template.pt:29
+#: o/skins/shipping_template.pt:29
msgid "Address"
msgstr ""
-#: skins/shipping_template.pt:36
+#: o/skins/shipping_template.pt:36
msgid "City"
msgstr ""
-#: skins/shipping_template.pt:42
+#: o/skins/shipping_template.pt:42
msgid "Zip code"
msgstr ""
-#: skins/shipping_template.pt:48
+#: o/skins/shipping_template.pt:48
msgid "Country"
msgstr ""
-#: skins/zoom_view.pt:27
+#: o/skins/zoom_view.pt:32
+#: o/skins/zoom_view.pt:32
msgid "back"
msgstr ""
msgid "You don't have any album yet."
msgstr ""
+
+# date et heure de prise de vue
+msgid "%m/%d/%Y %H:%M:%S"
+msgstr ""
<body i18n:domain="portfolio">
<div metal:fill-slot="main_no_tabs" tal:omit-tag=""
tal:define="contextInfos options/contextInfos|here/getPhotoContextInfos;
- index contextInfos/index">
+ index contextInfos/index;
+ translate nocall:modules/Products/Portfolio/utils/translate;
+ _ python:lambda msg : translate(msg, here)">
<div id="photo_viewer">
<table cellspacing="0" class="photo_viewer">
<tr>
</a>
</div>
<div id="image_metadata" class="image_metadata">
- <span tal:define="title here/Title" tal:condition="title" tal:omit-tag="">
- <span class="photographer" tal:define="creator here/Creator" tal:content="python:'%s :' % creator" tal:condition="creator">Benoît PIN</span>
- <span class="title_summary" tal:content="title"></span>
- </span>
- <div class="description" tal:content="here/Description"></div>
- <div tal:define="keywords here/Subject" tal:condition="keywords">
- <h4 i18n:translate="">Keywords</h4>
- <ul class="keywords"
- tal:define="mq nocall:modules/ZTUtils/make_query;
- kwurl python:lambda k: '%s/search?%s' % (portal_url, mq(Subject=k, portal_type=['Photo']))">
- <li tal:repeat="k keywords"><a tal:content="k" tal:attributes="href python:kwurl(k)">bla</a></li>
- </ul>
- </div>
- <div><span i18n:translate="" tal:omit-tag="">reference:</span> <span tal:replace="context/getId">bidule.jpg</span></div>
- <div tal:define="rights here/Rights"
- tal:content="python:rights.startswith('©') and rights or '© %s' % rights"></div>
- <div tal:define="ViewRawImage python:modules['Products.Portfolio.permissions'].ViewRawImage"
- tal:condition="python:mtool.checkPermission(ViewRawImage, here)" style="font-weight:bold; margin-top:1em">
- <a tal:attributes="href string:${here/absolute_url}/photo_download" i18n:translate="">download picture</a>
+ <div metal:define-macro="image_metadata" tal:omit-tag="">
+ <span tal:define="title here/Title" tal:condition="title" tal:omit-tag="">
+ <span class="photographer" tal:define="creator here/Creator" tal:content="python:'%s :' % creator" tal:condition="creator">Benoît PIN</span>
+ <span class="title_summary" tal:content="title"></span>
+ </span>
+ <div tal:content="python:here.DateTimeOriginal().strftime(_('%m/%d/%Y %H:%M:%S'))"></div>
+ <div class="description" tal:content="here/Description"></div>
+ <div tal:define="keywords here/Subject" tal:condition="keywords">
+ <h4 i18n:translate="">Keywords</h4>
+ <ul class="keywords"
+ tal:define="mq nocall:modules/ZTUtils/make_query;
+ kwurl python:lambda k: '%s/search?%s' % (portal_url, mq(Subject=k, portal_type=['Photo']))">
+ <li tal:repeat="k keywords"><a tal:content="k" tal:attributes="href python:kwurl(k)">bla</a></li>
+ </ul>
+ </div>
+ <div><span i18n:translate="" tal:omit-tag="">reference:</span> <span tal:replace="context/getId">bidule.jpg</span></div>
+ <div tal:define="rights here/Rights"
+ tal:condition="rights"
+ tal:content="python:rights.startswith('©') and rights or '© %s' % rights"></div>
+ <div tal:define="ViewRawImage python:modules['Products.Portfolio.permissions'].ViewRawImage"
+ tal:condition="python:mtool.checkPermission(ViewRawImage, here)" style="font-weight:bold; margin-top:1em">
+ <a tal:attributes="href string:${here/absolute_url}/photo_download" i18n:translate="">download picture</a>
+ </div>
</div>
</div>
</td>
buyable = False
options['buyable'] = buyable
-
return context.photo_view_ajax_template(**options)
\ No newline at end of file
-<?xml version="1.0" encoding="UTF-8"?>
<fragments i18n:domain="portfolio"
- tal:define="imgId here/getId"
- xmlns:i18n="http://xml.zope.org/namespaces/i18n"
- xmlns:tal="http://xml.zope.org/namespaces/tal">
+ tal:define="imgId here/getId;
+ translate nocall:modules/Products/Portfolio/utils/translate;
+ _ python:lambda msg : translate(msg, here)"
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n"
+ xmlns:tal="http://xml.zope.org/namespaces/tal"
+ xmlns:metal="http://xml.zope.org/namespaces/metal">
+ <div metal:use-macro="here/main_template_macros/macros/global_defines" tal:omit-tag=""/>
<imageattributes tal:attributes="alt here/Title;
backToContextUrl options/backToContextUrl;
lastBcUrl options/lastBcUrl;
img_id imgId;
buyable options/buyable"/>
<fragment id="image_metadata"><span tal:replace="structure string:<![CDATA[" />
- <span tal:define="title here/Title" tal:condition="title" tal:omit-tag="">
- <span class="photographer" tal:define="creator here/Creator" tal:content="python:'%s :' % creator" tal:condition="creator">Benoît PIN</span>
- <span class="title_summary" tal:content="title"></span>
- </span>
- <div class="description" tal:content="here/Description"></div>
- <div tal:define="keywords here/Subject" tal:condition="keywords">
- <h4 i18n:translate="">Keywords</h4>
- <ul class="keywords"
- tal:define="portal_url here/portal_url;
- mq nocall:modules/ZTUtils/make_query;
- kwurl python:lambda k: '%s/search?%s' % (portal_url, mq(Subject=k, portal_type=['Photo']))">
- <li tal:repeat="k keywords"><a tal:content="k" tal:attributes="href python:kwurl(k)">bla</a></li>
- </ul>
- </div>
- <div><span i18n:translate="" tal:omit-tag="">reference:</span> <span tal:replace="imgId">bidule.jpg</span></div>
- <div tal:define="rights here/Rights"
- tal:content="python:rights.startswith('©') and rights or '© %s' % rights"></div>
- <div tal:define="ViewRawImage python:modules['Products.Portfolio.permissions'].ViewRawImage;
- mtool here/portal_membership"
- tal:condition="python:mtool.checkPermission(ViewRawImage, here)" style="font-weight:bold; margin-top:1em"
- i18n:domain="portfolio">
- <a tal:attributes="href string:${here/absolute_url}/photo_download" i18n:translate="">download picture</a>
- </div>
-
+ <div metal:use-macro="here/photo_view/macros/image_metadata">image metadata</div>
<span tal:replace="structure string:]]>" /></fragment>
<fragment id="BC_Object_URL" tal:content="options/lastBcUrl"></fragment>
+ <tal:block tal:define="dummy python:request.RESPONSE.setHeader('Content-Type', 'text/xml;;charset=utf-8')"/>
</fragments>
\ No newline at end of file
--- /dev/null
+#! /bin/sh
+
+i18nextract --path . --site_zcml ../../etc/site.zcml --domain portfolio -o locales
+
+cat locales/portfolio.pot locales/portfolio-manual.pot > locales/portfolio-all.pot
+mv locales/portfolio-all.pot locales/portfolio.pot
+
+msgmerge --update --no-fuzzy-matching locales/fr/LC_MESSAGES/portfolio.po locales/portfolio.pot
+msgmerge --update --no-fuzzy-matching locales/en/LC_MESSAGES/portfolio.po locales/portfolio.pot