Affichage de la date / heure de capture dans les métadonnées présentées.
authorBenoît Pin <benoit.pin@gmail.com>
Sun, 29 Jun 2014 05:57:50 +0000 (07:57 +0200)
committerBenoît Pin <benoit.pin@gmail.com>
Sun, 29 Jun 2014 05:57:50 +0000 (07:57 +0200)
Refactoring pour que la version ajax utilise la même macro que la version standard.

compile-i18n.sh [new file with mode: 0755]
locales/en/LC_MESSAGES/portfolio.po [new file with mode: 0644]
locales/fr/LC_MESSAGES/portfolio.mo
locales/fr/LC_MESSAGES/portfolio.po
locales/portfolio-manual.pot
locales/portfolio.pot
skins/photo_view.pt
skins/photo_view_ajax.py
skins/photo_view_ajax_template.pt
update-i18n.sh [new file with mode: 0755]

diff --git a/compile-i18n.sh b/compile-i18n.sh
new file mode 100755 (executable)
index 0000000..6d8b420
--- /dev/null
@@ -0,0 +1,4 @@
+#! /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
diff --git a/locales/en/LC_MESSAGES/portfolio.po b/locales/en/LC_MESSAGES/portfolio.po
new file mode 100644 (file)
index 0000000..a7e0595
--- /dev/null
@@ -0,0 +1,387 @@
+#: 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 ""
index 29bd5ce..2be79dd 100644 (file)
Binary files a/locales/fr/LC_MESSAGES/portfolio.mo and b/locales/fr/LC_MESSAGES/portfolio.mo differ
index 35147bf..a1e9fa2 100644 (file)
@@ -1,10 +1,11 @@
 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"
@@ -15,39 +16,39 @@ msgstr ""
 "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."
@@ -56,348 +57,340 @@ msgstr ""
 "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"
 
@@ -416,8 +409,18 @@ msgstr "Mes collections"
 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é"
index 459fdd9..9008180 100644 (file)
@@ -14,3 +14,7 @@ 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 ""
index 36f2352..f1a927d 100644 (file)
-############################################################
-# 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 ""
 
@@ -439,3 +440,7 @@ 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 ""
index e447bbd..c311a1b 100644 (file)
@@ -21,7 +21,9 @@
   <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>
index d1e98be..419f7fe 100755 (executable)
@@ -21,5 +21,4 @@ else :
        buyable = False
 
 options['buyable'] = buyable
-
 return context.photo_view_ajax_template(**options)
\ No newline at end of file
index 8833698..d4c2b6c 100644 (file)
@@ -1,38 +1,19 @@
-<?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:&lt;![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
diff --git a/update-i18n.sh b/update-i18n.sh
new file mode 100755 (executable)
index 0000000..b20a40e
--- /dev/null
@@ -0,0 +1,9 @@
+#! /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