You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by da...@apache.org on 2016/10/02 17:51:01 UTC
svn commit: r1763089 [1/3] - in
/bloodhound/branches/bep_0011_batch_create_tickets: ./
bloodhound_dashboard/ bloodhound_dashboard/bhdashboard/widgets/templates/
bloodhound_multiproduct/ bloodhound_multiproduct/multiproduct/
bloodhound_multiproduct/test...
Author: dammina
Date: Sun Oct 2 17:51:00 2016
New Revision: 1763089
URL: http://svn.apache.org/viewvc?rev=1763089&view=rev
Log:
Sync the bep_0011_batch_create_tickets branch with ^/trunk.
Added:
bloodhound/branches/bep_0011_batch_create_tickets/Vagrantfile
- copied unchanged from r1763083, bloodhound/trunk/Vagrantfile
bloodhound/branches/bep_0011_batch_create_tickets/installer/bhsetup/
- copied from r1763083, bloodhound/trunk/installer/bhsetup/
bloodhound/branches/bep_0011_batch_create_tickets/installer/setup.cfg
- copied unchanged from r1763083, bloodhound/trunk/installer/setup.cfg
bloodhound/branches/bep_0011_batch_create_tickets/installer/setup.py
- copied unchanged from r1763083, bloodhound/trunk/installer/setup.py
bloodhound/branches/bep_0011_batch_create_tickets/salt/
- copied from r1763083, bloodhound/trunk/salt/
Removed:
bloodhound/branches/bep_0011_batch_create_tickets/installer/createdigest.py
Modified:
bloodhound/branches/bep_0011_batch_create_tickets/ (props changed)
bloodhound/branches/bep_0011_batch_create_tickets/.rat-ignore
bloodhound/branches/bep_0011_batch_create_tickets/RELEASE_NOTES
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/bhdashboard/widgets/templates/widget_relations.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/setup.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/api.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/env.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/hooks.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/setup.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/tests/ticket/model.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/bhrelations/web_ui.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/setup.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_search/setup.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/locale/fr/LC_MESSAGES/bhtheme.po
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/locale/messages.pot
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_admin_components.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_admin_milestones.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_admin_products.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_admin_repositories.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_admin_users.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_admin_versions.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_attachment.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_batch_modify.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_login.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_milestone_edit.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_prefs_account.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_prefs_general.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_product_edit.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_register.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_reset_password.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bh_ticket.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/templates/bloodhound_theme.html
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/tests/__init__.py (props changed)
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/tests/theme.py (props changed)
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/theme.py
bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/setup.py
bloodhound/branches/bep_0011_batch_create_tickets/installer/README.rst
bloodhound/branches/bep_0011_batch_create_tickets/installer/bloodhound_setup.py
bloodhound/branches/bep_0011_batch_create_tickets/installer/requirements-dev.txt
bloodhound/branches/bep_0011_batch_create_tickets/installer/requirements.txt
bloodhound/branches/bep_0011_batch_create_tickets/installer/tests.py
bloodhound/branches/bep_0011_batch_create_tickets/trac/ (props changed)
bloodhound/branches/bep_0011_batch_create_tickets/trac/trac/hooks.py
Propchange: bloodhound/branches/bep_0011_batch_create_tickets/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Oct 2 17:51:00 2016
@@ -1,3 +1,4 @@
/bloodhound/branches/bep_0003_multiproduct:1461360-1463488
/bloodhound/branches/bep_0010_ticket_numbering:1506462-1517786
+/bloodhound/trunk:1598681-1763083
/incubator/bloodhound/branches/bep_0003_multiproduct:1420073-1461359
Modified: bloodhound/branches/bep_0011_batch_create_tickets/.rat-ignore
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/.rat-ignore?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/.rat-ignore (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/.rat-ignore Sun Oct 2 17:51:00 2016
@@ -1,4 +1,5 @@
.rat-ignore
+.gitignore
**/CHANGES
**/MANIFEST.in
**/TESTING_README
@@ -12,4 +13,4 @@ installer/README.rst
trac/
bloodhound_relations/bhrelations/default-pages/
bloodhound_multiproduct/tests/admin/*.txt
-bloodhound_multiproduct/tests/*.txt
\ No newline at end of file
+bloodhound_multiproduct/tests/*.txt
Modified: bloodhound/branches/bep_0011_batch_create_tickets/RELEASE_NOTES
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/RELEASE_NOTES?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/RELEASE_NOTES (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/RELEASE_NOTES Sun Oct 2 17:51:00 2016
@@ -1,6 +1,5 @@
0.8
* i18n internationalization.
- * Multiproduct support for CommitTicketUpdater.
* Quick Create Ticket form sets product based on context and forwards
values to the ticket form when "More fields" is selected.
* Fixed caching issue that prevented product-scope trac-admin commands
@@ -8,16 +7,19 @@
* Improved presentation of the Products page.
* Improvements to ticket timeline (comments section).
* BloodhoundSearch now supports Whoosh >= 2.5.1 (upgraded from 2.4.1).
- * Fixed errors in BloodhoundRelations validation logic.
+ * Fixed several errors in BloodhoundRelations validation logic.
* Bootstrap template for the Roadmap and Edit Product views.
* Bloodhound installer support for MySQL database.
+ * Product edits were always reported as anonymous.
+ * Quick Create Ticket displays the last created ticket for a short time
+ after it is created.
* Numerous other important fixes and minor enhancements.
* Not fixed for this release
* Cache is not properly refreshed for resources including wiki pages,
- milestones, components and permissions; leading to stale data being
- displayed after INSERTs and DELETEs (#613, #614, #620, #681, #719, #748).
+ components and permissions; leading to stale data being displayed
+ after INSERTs and DELETEs (#614, #620, #681, #719, #748).
* Products cannot be deleted (#517).
* Duplicate relation is not added when batch modifying tickets (#761).
* TicketDeleter component can't be used with BloodhoundTheme (#427).
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/bhdashboard/widgets/templates/widget_relations.html
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/bhdashboard/widgets/templates/widget_relations.html?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/bhdashboard/widgets/templates/widget_relations.html (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/bhdashboard/widgets/templates/widget_relations.html Sun Oct 2 17:51:00 2016
@@ -22,7 +22,14 @@
xmlns:py="http://genshi.edgewall.org/"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:i18n="http://genshi.edgewall.org/i18n"
- i18n:domain="bhdashboard">
+ i18n:domain="bhdashboard"
+ py:with="can_append = 'TICKET_APPEND' in perm(ticket.resource);
+ can_create = 'TICKET_CREATE' in perm(ticket.resource) and not ticket.exists;
+ can_modify = 'TICKET_CHGPROP' in perm(ticket.resource);
+ can_edit = 'TICKET_EDIT_DESCRIPTION' in perm(ticket.resource);
+ has_property_editor = not version and version != 0 and not cnum_edit
+ and (can_append or can_modify or can_edit or can_create);
+ ">
<py:choose test="">
<py:when test="relations">
@@ -64,7 +71,7 @@
</py:otherwise>
</py:choose>
- <div class="btn-group">
+ <div py:if="has_property_editor" class="btn-group">
<form method="get" action="${href.ticket(ticket.id, 'relations')}">
<button type="submit" class="btn" id="manage-relations"><i class="icon-retweet"></i> Manage relations</button>
</form>
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/setup.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/setup.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/setup.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_dashboard/setup.py Sun Oct 2 17:51:00 2016
@@ -38,6 +38,7 @@ versions = [
(0, 6, 0),
(0, 7, 0),
(0, 8, 0),
+ (0, 9, 0),
]
latest = '.'.join(str(x) for x in versions[-1])
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/api.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/api.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/api.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/api.py Sun Oct 2 17:51:00 2016
@@ -506,16 +506,15 @@ class MultiProductSystem(Component):
def _enable_multiproduct_hooks(self):
# enable multi product hooks in environment configuration
- import multiproduct.hooks
- import inspect
config_update = False
- hook_path = os.path.realpath(inspect.getsourcefile(multiproduct.hooks))
if not 'environment_factory' in self.env.config['trac']:
- self.env.config['trac'].set('environment_factory', hook_path)
+ self.env.config['trac'].set('environment_factory',
+ 'multiproduct.hooks.MultiProductEnvironmentFactory')
config_update = True
if not 'request_factory' in self.env.config['trac']:
- self.env.config['trac'].set('request_factory', hook_path)
+ self.env.config['trac'].set('request_factory',
+ 'multiproduct.hooks.ProductRequestFactory')
config_update = True
if config_update:
self.log.info(
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/env.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/env.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/env.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/env.py Sun Oct 2 17:51:00 2016
@@ -365,6 +365,8 @@ class ProductEnvironment(Component, Comp
g_env = env.parent if isinstance(env,
ProductEnvironment) else env
return f(self, g_env, *args, **kwargs)
+ __call__.clear = f.clear
+
return __call__
def product_env_keymap(args, kwds, kwd_mark):
@@ -397,6 +399,10 @@ class ProductEnvironment(Component, Comp
setup_participants = ExtensionPoint(trac.env.IEnvironmentSetupParticipant)
multi_product_support_components = ExtensionPoint(ISupportMultiProductEnvironment)
+ @classmethod
+ def clear_env_cache(cls):
+ cls.__metaclass__.__call__.clear()
+
@property
def product_setup_participants(self):
return [
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/hooks.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/hooks.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/hooks.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/multiproduct/hooks.py Sun Oct 2 17:51:00 2016
@@ -37,6 +37,8 @@ PRODUCT_RE = re.compile(r'^/products(?:/
class MultiProductEnvironmentFactory(EnvironmentFactoryBase):
def open_environment(self, environ, env_path, global_env, use_cache=False):
+ # clearing product environment cache - bh:ticket:613
+ multiproduct.env.ProductEnvironment.clear_env_cache()
environ.setdefault('SCRIPT_NAME', '') # bh:ticket:594
env = pid = product_path = None
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/setup.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/setup.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/setup.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/setup.py Sun Oct 2 17:51:00 2016
@@ -55,7 +55,7 @@ except ImportError:
setup(
name = 'BloodhoundMultiProduct',
- version = '0.8.0',
+ version = '0.9.0',
description = "Multiproduct support for Apache(TM) Bloodhound.",
author = "Apache Bloodhound",
license = "Apache License v2",
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/tests/ticket/model.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/tests/ticket/model.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/tests/ticket/model.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_multiproduct/tests/ticket/model.py Sun Oct 2 17:51:00 2016
@@ -33,6 +33,13 @@ from multiproduct.model import Product
from multiproduct.env import ProductEnvironment
from tests.env import MultiproductTestCase
+try:
+ import threading
+except ImportError:
+ threading = None
+from Queue import Queue
+
+
class ProductTicketTestCase(TicketTestCase, MultiproductTestCase):
def setUp(self):
@@ -146,6 +153,70 @@ class ProductMilestoneTestCase(Milestone
self.global_env.reset_db()
self.env = self.global_env = None
+ @unittest.skipUnless(threading, 'Threading required for test')
+ def test_milestone_threads(self):
+ """ Ensure that in threaded (e.g. mod_wsgi) situations, we get
+ an accurate list of milestones from Milestone.list
+
+ The basic strategy is:
+ thread-1 requests a list of milestones
+ thread-2 adds a milestone
+ thread-1 requests a new list of milestones
+ To pass, thread-1 should have a list of milestones that matches
+ those that are in the database.
+ """
+ lock = threading.RLock()
+ results = []
+ # two events to coordinate the workers and ensure that the threads
+ # alternate appropriately
+ e1 = threading.Event()
+ e2 = threading.Event()
+
+ def task(add):
+ """the thread task - either we are discovering or adding events"""
+ with lock:
+ env = ProductEnvironment(self.global_env,
+ self.default_product)
+ if add:
+ name = 'milestone_from_' + threading.current_thread().name
+ milestone = Milestone(env)
+ milestone.name = name
+ milestone.insert()
+ else:
+ # collect the names of milestones reported by Milestone and
+ # directly from the db - as sets to ease comparison later
+ results.append({
+ 'from_t': set([m.name for m in Milestone.select(env)]),
+ 'from_db': set(
+ [v[0] for v in self.env.db_query(
+ "SELECT name FROM milestone")])})
+
+ def worker1():
+ """ check milestones in this thread twice either side of ceding
+ control to worker2
+ """
+ task(False)
+ e1.set()
+ e2.wait()
+ task(False)
+
+ def worker2():
+ """ adds a milestone when worker1 allows us to then cede control
+ back to worker1
+ """
+ e1.wait()
+ task(True)
+ e2.set()
+
+ t1, t2 = [threading.Thread(target=f) for f in (worker1, worker2)]
+ t1.start()
+ t2.start()
+ t1.join()
+ t2.join()
+
+ r = results[-1] # note we only care about the final result
+ self.assertEqual(r['from_t'], r['from_db'])
+
def test_update_milestone(self):
self.env.db_transaction("INSERT INTO milestone (name) VALUES ('Test')")
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/bhrelations/web_ui.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/bhrelations/web_ui.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/bhrelations/web_ui.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/bhrelations/web_ui.py Sun Oct 2 17:51:00 2016
@@ -65,7 +65,8 @@ class RelationManagementModule(Component
except ValueError:
raise TracError(_('Invalid ticket id.'))
- req.perm.require('TICKET_VIEW')
+ # For access to the relation management, TICKET_MODIFY is required.
+ req.perm.require('TICKET_MODIFY')
relsys = RelationsSystem(self.env)
data = {
@@ -74,7 +75,6 @@ class RelationManagementModule(Component
if req.method == 'POST':
# for modifying the relations TICKET_MODIFY is required for
# both the source and the destination tickets
- req.perm.require('TICKET_MODIFY')
if 'remove' in req.args:
rellist = req.args.get('sel')
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/setup.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/setup.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/setup.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_relations/setup.py Sun Oct 2 17:51:00 2016
@@ -36,6 +36,7 @@ versions = [
(0, 6, 0),
(0, 7, 0),
(0, 8, 0),
+ (0, 9, 0),
]
latest = '.'.join(str(x) for x in versions[-1])
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_search/setup.py
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_search/setup.py?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_search/setup.py (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_search/setup.py Sun Oct 2 17:51:00 2016
@@ -36,6 +36,7 @@ versions = [
(0, 6, 0),
(0, 7, 0),
(0, 8, 0),
+ (0, 9, 0),
]
latest = '.'.join(str(x) for x in versions[-1])
Modified: bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/locale/fr/LC_MESSAGES/bhtheme.po
URL: http://svn.apache.org/viewvc/bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/locale/fr/LC_MESSAGES/bhtheme.po?rev=1763089&r1=1763088&r2=1763089&view=diff
==============================================================================
--- bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/locale/fr/LC_MESSAGES/bhtheme.po (original)
+++ bloodhound/branches/bep_0011_batch_create_tickets/bloodhound_theme/bhtheme/locale/fr/LC_MESSAGES/bhtheme.po Sun Oct 2 17:51:00 2016
@@ -5,27 +5,26 @@
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
-#
+#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-
# Translations template for BloodhoundTheme.
-# Copyright (C) 2014 ORGANIZATION
+# Copyright (C) 2014 Apache Software Foundation
# This file is distributed under the same license as the BloodhoundTheme project.
# Translators:
# SaintGermain <sa...@gmail.com>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: bloodhound\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-02-14 19:28+0100\n"
-"PO-Revision-Date: 2014-02-14 18:31+0000\n"
+"Report-Msgid-Bugs-To: dev@bloodhound.apache.org\n"
+"POT-Creation-Date: 2014-07-06 22:10+0200\n"
+"PO-Revision-Date: 2014-07-06 20:11+0000\n"
"Last-Translator: SaintGermain <sa...@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/bloodhound/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -35,48 +34,48 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: bhtheme/theme.py:158
+#: bhtheme/theme.py:161
msgid ""
"A short version of application name most commonly\n"
"displayed in text, titles and labels"
msgstr "Une version courte du nom de l'application généralement affichée dans les textes, titres et labels"
-#: bhtheme/theme.py:162
+#: bhtheme/theme.py:165
msgid ""
"This is full name with trade mark and\n"
"everything, it is currently used in footers and about page only"
msgstr "C'est le nom complet avec tout, y compris la marque, cela est actuellement seulement utilisé dans les pieds de page et la page d'à propos"
-#: bhtheme/theme.py:167
+#: bhtheme/theme.py:170
msgid "Text to display before full application name in footers"
msgstr "Texte à afficher avant le nom complet de l'application dans les pieds de page"
-#: bhtheme/theme.py:171
+#: bhtheme/theme.py:174
msgid "Text to display after full application name in footers"
msgstr "Texte à afficher après le nom complet de l'application dans les pieds de page"
-#: bhtheme/theme.py:175
+#: bhtheme/theme.py:178
msgid "Text to use as the right aligned footer"
msgstr "Texte à utiliser pour le pied de page aligné à droite"
-#: bhtheme/theme.py:353
+#: bhtheme/theme.py:356
msgid "Previous"
msgstr "Précédente"
-#: bhtheme/theme.py:353
+#: bhtheme/theme.py:356
msgid "Next"
msgstr "Suivante"
-#: bhtheme/theme.py:423
+#: bhtheme/theme.py:426
msgid "(Global settings)"
msgstr "(Paramètres généraux)"
-#: bhtheme/theme.py:480
+#: bhtheme/theme.py:483
#, python-format
msgid "Edit product %(prefix)s"
msgstr "Modifier le produit %(prefix)s"
-#: bhtheme/theme.py:483 bhtheme/templates/bh_milestone_view.html:71
+#: bhtheme/theme.py:486 bhtheme/templates/bh_milestone_view.html:71
#: bhtheme/templates/bh_product_view.html:60
#: bhtheme/templates/bh_report_list.html:121
#: bhtheme/templates/bh_ticket_change.html:71
@@ -84,39 +83,39 @@ msgstr "Modifier le produit %(prefix)s"
msgid "Edit"
msgstr "Modifier"
-#: bhtheme/theme.py:487
+#: bhtheme/theme.py:490
msgid "Home page"
msgstr "Page d'accueil"
-#: bhtheme/theme.py:489
+#: bhtheme/theme.py:492
msgid "Home"
msgstr "Accueil"
-#: bhtheme/theme.py:491
+#: bhtheme/theme.py:494
msgid "Tickets dashboard"
msgstr "Tableau de bord des tickets"
-#: bhtheme/theme.py:493 bhtheme/templates/bh_admin_milestones.html:149
+#: bhtheme/theme.py:496 bhtheme/templates/bh_admin_milestones.html:149
msgid "Tickets"
msgstr "Tickets"
-#: bhtheme/theme.py:495 bhtheme/theme.py:497
+#: bhtheme/theme.py:498 bhtheme/theme.py:500
msgid "Wiki"
msgstr "Wiki"
-#: bhtheme/theme.py:501
+#: bhtheme/theme.py:504
msgid "Browse"
msgstr "Explorer"
-#: bhtheme/theme.py:516
+#: bhtheme/theme.py:519
msgid "Source"
msgstr "Source"
-#: bhtheme/theme.py:523
+#: bhtheme/theme.py:541
msgid "Multiple selection fields displayed in create ticket menu"
msgstr "Champs de sélection multiple affiché dans le menu de création de tickets"
-#: bhtheme/theme.py:577
+#: bhtheme/theme.py:601
#, python-format
msgid "Missing ticket field '%(field)s'."
msgstr "Champs '%(field)s' manquant dans le ticket."
@@ -212,7 +211,7 @@ msgstr "Extensions installées"
#: bhtheme/templates/bh_admin_components.html:120
#: bhtheme/templates/bh_admin_enums.html:76
#: bhtheme/templates/bh_admin_milestones.html:148
-#: bhtheme/templates/bh_admin_products.html:132
+#: bhtheme/templates/bh_admin_products.html:133
#: bhtheme/templates/bh_admin_repositories.html:181
#: bhtheme/templates/bh_admin_versions.html:119
#: bhtheme/templates/bh_user_table.html:40
@@ -407,10 +406,10 @@ msgstr "Retour aux comptes"
#: bhtheme/templates/bh_account_details.html:212
#: bhtheme/templates/bh_diff_options.html:71
-#: bhtheme/templates/bh_query.html:255
+#: bhtheme/templates/bh_query.html:254
#: bhtheme/templates/bh_report_view.html:99
#: bhtheme/templates/bh_revisionlog.html:121
-#: bhtheme/templates/bh_roadmap.html:47 bhtheme/templates/bh_timeline.html:58
+#: bhtheme/templates/bh_roadmap.html:52 bhtheme/templates/bh_timeline.html:58
msgid "Update"
msgstr "Mise à jour"
@@ -561,6 +560,7 @@ msgstr "Projet"
#: bhtheme/templates/bh_admin_repositories.html:165
#: bhtheme/templates/bh_admin_versions.html:47
#: bhtheme/templates/bh_admin_versions.html:93
+#: bhtheme/templates/bh_product_edit.html:56
#: bhtheme/templates/bh_register.html:135
msgid "Name:"
msgstr "Nom :"
@@ -576,8 +576,9 @@ msgstr "URL :"
#: bhtheme/templates/bh_admin_products.html:73
#: bhtheme/templates/bh_admin_repositories.html:116
#: bhtheme/templates/bh_admin_versions.html:62
+#: bhtheme/templates/bh_product_edit.html:63
#: bhtheme/templates/bh_report_edit.html:51
-#: bhtheme/templates/bh_ticket.html:579
+#: bhtheme/templates/bh_ticket.html:557
msgid "Description:"
msgstr "Description :"
@@ -619,7 +620,7 @@ msgstr "Format ISO 8601"
#: bhtheme/templates/bh_admin_logging.html:80
#: bhtheme/templates/bh_admin_milestones.html:175
#: bhtheme/templates/bh_admin_plugins.html:170
-#: bhtheme/templates/bh_admin_products.html:155
+#: bhtheme/templates/bh_admin_products.html:156
#: bhtheme/templates/bh_admin_versions.html:138
msgid "Apply changes"
msgstr "Enregistrer les changements"
@@ -642,6 +643,10 @@ msgstr "Propriétaire :"
msgid "Modify Component:"
msgstr "Modifier le composant :"
+#: bhtheme/templates/bh_admin_components.html:71
+msgid "Describe this component using WikiFormatting"
+msgstr "Décrivez ce composant en utilisant le WikiFormatting"
+
#: bhtheme/templates/bh_admin_components.html:75
#: bhtheme/templates/bh_admin_products.html:81
msgid ""
@@ -660,17 +665,18 @@ msgstr "[1:Tip] L'utilisation du\n
#: bhtheme/templates/bh_attachment.html:108
#: bhtheme/templates/bh_milestone_delete.html:66
#: bhtheme/templates/bh_milestone_edit.html:151
+#: bhtheme/templates/bh_product_edit.html:79
#: bhtheme/templates/bh_report_delete.html:44
#: bhtheme/templates/bh_report_edit.html:82
-#: bhtheme/templates/bh_ticket.html:388 bhtheme/templates/bh_ticket.html:444
+#: bhtheme/templates/bh_ticket.html:366 bhtheme/templates/bh_ticket.html:422
#: bhtheme/templates/bh_ticket_change.html:98
#: bhtheme/templates/bh_ticket_delete.html:61
#: bhtheme/templates/bh_ticket_delete.html:86
#: bhtheme/templates/bh_wiki_delete.html:124
#: bhtheme/templates/bh_wiki_edit_form.html:102
#: bhtheme/templates/bh_wiki_rename.html:55
-#: bhtheme/templates/bloodhound_theme.html:186
-#: bhtheme/templates/bloodhound_theme.html:339
+#: bhtheme/templates/bloodhound_theme.html:189
+#: bhtheme/templates/bloodhound_theme.html:342
msgid "Cancel"
msgstr "Annuler"
@@ -683,7 +689,7 @@ msgstr "Ajouter un composant :"
#: bhtheme/templates/bh_admin_milestones.html:133
#: bhtheme/templates/bh_admin_perms.html:58
#: bhtheme/templates/bh_admin_perms.html:87
-#: bhtheme/templates/bh_admin_products.html:119
+#: bhtheme/templates/bh_admin_products.html:120
#: bhtheme/templates/bh_admin_repositories.html:155
#: bhtheme/templates/bh_admin_repositories.html:171
#: bhtheme/templates/bh_admin_versions.html:107
@@ -691,14 +697,14 @@ msgid "Add"
msgstr "Ajouter"
#: bhtheme/templates/bh_admin_components.html:120
-#: bhtheme/templates/bh_admin_products.html:132
+#: bhtheme/templates/bh_admin_products.html:133
msgid "Owner"
msgstr "Propriétaire"
#: bhtheme/templates/bh_admin_components.html:120
#: bhtheme/templates/bh_admin_enums.html:76
#: bhtheme/templates/bh_admin_milestones.html:149
-#: bhtheme/templates/bh_admin_products.html:132
+#: bhtheme/templates/bh_admin_products.html:133
#: bhtheme/templates/bh_admin_repositories.html:46
#: bhtheme/templates/bh_admin_versions.html:120
msgid "Default"
@@ -708,7 +714,7 @@ msgstr "Défaut"
#: bhtheme/templates/bh_admin_enums.html:99
#: bhtheme/templates/bh_admin_milestones.html:173
#: bhtheme/templates/bh_admin_perms.html:160
-#: bhtheme/templates/bh_admin_products.html:153
+#: bhtheme/templates/bh_admin_products.html:154
#: bhtheme/templates/bh_admin_repositories.html:203
#: bhtheme/templates/bh_admin_versions.html:136
msgid "Remove selected items"
@@ -722,8 +728,8 @@ msgstr "Supprimer les éléments s�
#: bhtheme/templates/bh_admin_milestones.html:185
#: bhtheme/templates/bh_admin_perms.html:62
#: bhtheme/templates/bh_admin_perms.html:91
-#: bhtheme/templates/bh_admin_products.html:161
-#: bhtheme/templates/bh_admin_products.html:168
+#: bhtheme/templates/bh_admin_products.html:162
+#: bhtheme/templates/bh_admin_products.html:169
#: bhtheme/templates/bh_admin_versions.html:142
#: bhtheme/templates/bh_admin_versions.html:149
#: bhtheme/templates/bh_diff_form.html:80
@@ -736,7 +742,7 @@ msgstr "Note"
#: bhtheme/templates/bh_admin_components.html:144
#: bhtheme/templates/bh_admin_enums.html:111
#: bhtheme/templates/bh_admin_milestones.html:179
-#: bhtheme/templates/bh_admin_products.html:161
+#: bhtheme/templates/bh_admin_products.html:162
#: bhtheme/templates/bh_admin_versions.html:142
msgid ""
"You can remove all items from this list to completely hide this\n"
@@ -746,7 +752,7 @@ msgstr "La suppression de l'intégrali
#: bhtheme/templates/bh_admin_components.html:150
#: bhtheme/templates/bh_admin_enums.html:118
#: bhtheme/templates/bh_admin_milestones.html:185
-#: bhtheme/templates/bh_admin_products.html:168
+#: bhtheme/templates/bh_admin_products.html:169
#: bhtheme/templates/bh_admin_versions.html:149
msgid ""
"As long as you don't add any items to the list, this field\n"
@@ -840,6 +846,11 @@ msgstr "Format : %(datehint)s"
msgid "Completed:"
msgstr "Atteint le :"
+#: bhtheme/templates/bh_admin_milestones.html:90
+#: bhtheme/templates/bh_milestone_edit.html:84
+msgid "Describe this milestone using WikiFormatting"
+msgstr "Décrivez ce jalon en utilisant le WikiFormatting"
+
#: bhtheme/templates/bh_admin_milestones.html:93
msgid ""
"[1:Tip]\n"
@@ -910,7 +921,7 @@ msgstr "Sujet"
#: bhtheme/templates/bh_admin_perms.html:104
#: bhtheme/templates/bh_admin_perms.html:133
#: bhtheme/templates/bh_batch_modify.html:61
-#: bhtheme/templates/bh_ticket.html:657
+#: bhtheme/templates/bh_ticket.html:635
msgid "Action"
msgstr "Action"
@@ -998,18 +1009,23 @@ msgstr "Modifier le Produit :"
#: bhtheme/templates/bh_admin_products.html:59
#: bhtheme/templates/bh_admin_products.html:105
+#: bhtheme/templates/bh_product_edit.html:50
msgid "Prefix:"
msgstr "Préfixe :"
+#: bhtheme/templates/bh_admin_products.html:77
+msgid "Describe this product using WikiFormatting"
+msgstr "Décrivez ce produit en utilisant le WikiFormatting"
+
#: bhtheme/templates/bh_admin_products.html:103
msgid "Add Product:"
msgstr "Ajouter Produit :"
-#: bhtheme/templates/bh_admin_products.html:132
+#: bhtheme/templates/bh_admin_products.html:133
msgid "Prefix"
msgstr "Préfixe"
-#: bhtheme/templates/bh_admin_products.html:157
+#: bhtheme/templates/bh_admin_products.html:158
msgid "Clear default"
msgstr "Effacer la valeur par défaut"
@@ -1056,6 +1072,10 @@ msgstr "Répertoire :"
msgid "Hide from repository index"
msgstr "Ne pas montrer dans l'index des dépôts"
+#: bhtheme/templates/bh_admin_repositories.html:120
+msgid "Describe this repository using WikiFormatting"
+msgstr "Décrivez ce dépôt en utilisant le WikiFormatting"
+
#: bhtheme/templates/bh_admin_repositories.html:123
#: bhtheme/templates/bh_admin_versions.html:70
msgid ""
@@ -1111,27 +1131,56 @@ msgstr "Ajouter/modifier le compte :"
msgid "Username:"
msgstr "Nom d'utilisateur :"
+#: bhtheme/templates/bh_admin_users.html:68
+#: bhtheme/templates/bh_reset_password.html:76
+msgid "e.g. myuser"
+msgstr "p. ex. myuser"
+
#: bhtheme/templates/bh_admin_users.html:75 bhtheme/templates/bh_login.html:65
#: bhtheme/templates/bh_prefs_account.html:52
#: bhtheme/templates/bh_register.html:69
msgid "Password:"
msgstr "Mot de passe :"
+#: bhtheme/templates/bh_admin_users.html:80
+#: bhtheme/templates/bh_admin_users.html:83
+#: bhtheme/templates/bh_prefs_account.html:56
+msgid "Type your password"
+msgstr "Entrez votre mot de passe"
+
#: bhtheme/templates/bh_admin_users.html:91
#: bhtheme/templates/bh_prefs_account.html:125
#: bhtheme/templates/bh_register.html:82
msgid "Confirm Password:"
msgstr "Confirmer le mot de passe :"
+#: bhtheme/templates/bh_admin_users.html:96
+#: bhtheme/templates/bh_admin_users.html:99
+#: bhtheme/templates/bh_register.html:88
+msgid "Must match password"
+msgstr "Le mot de passe doit être identique"
+
#: bhtheme/templates/bh_admin_users.html:107
msgid "Pre-/Surname (Nickname):"
msgstr "Surnom :"
+#: bhtheme/templates/bh_admin_users.html:108
+#: bhtheme/templates/bh_register.html:137
+msgid "e.g. John Smith"
+msgstr "p. ex. John Smith"
+
#: bhtheme/templates/bh_admin_users.html:114
#: bhtheme/templates/bh_reset_password.html:81
msgid "Email Address:"
msgstr "Adresse électronique :"
+#: bhtheme/templates/bh_admin_users.html:119
+#: bhtheme/templates/bh_register.html:101
+#: bhtheme/templates/bh_register.html:150
+#: bhtheme/templates/bh_reset_password.html:87
+msgid "user@domain.com"
+msgstr "user@domain.com"
+
#: bhtheme/templates/bh_admin_users.html:125
msgid "Add a new user account or edit an existing one."
msgstr "Ajouter un nouveau compte utilisateur ou modifier un compte existant."
@@ -1178,6 +1227,10 @@ msgstr "Modification d'une version :"
msgid "Released:"
msgstr "Livrée :"
+#: bhtheme/templates/bh_admin_versions.html:66
+msgid "Describe this version using WikiFormatting"
+msgstr "Décrivez cette version en utilisant le WikiFormatting"
+
#: bhtheme/templates/bh_admin_versions.html:91
msgid "Add Version:"
msgstr "Ajout d'une version :"
@@ -1219,7 +1272,7 @@ msgid "Attachment Info"
msgstr "Informations sur la pièce jointe"
#: bhtheme/templates/bh_attachment.html:64
-#: bhtheme/templates/bh_ticket.html:686
+#: bhtheme/templates/bh_ticket.html:664
#: bhtheme/templates/bh_wiki_edit_form.html:67
msgid "Your email or username:"
msgstr "Adresse électronique ou nom d'utilisateur :"
@@ -1228,6 +1281,10 @@ msgstr "Adresse électronique ou nom d
msgid "Description of the file:"
msgstr "Description du fichier :"
+#: bhtheme/templates/bh_attachment.html:70
+msgid "optional"
+msgstr "optionnel"
+
#: bhtheme/templates/bh_attachment.html:76
msgid "Replace existing attachment of the same name"
msgstr "Remplacer toute pièce jointe existante avec le même nom"
@@ -1266,8 +1323,8 @@ msgstr "Joindre un autre fichier"
#: bhtheme/templates/bh_attachment.html:131
#: bhtheme/templates/bh_milestone_edit.html:83
#: bhtheme/templates/bh_ticket_box.html:123
-#: bhtheme/templates/bloodhound_theme.html:165
-#: bhtheme/templates/bloodhound_theme.html:318
+#: bhtheme/templates/bloodhound_theme.html:168
+#: bhtheme/templates/bloodhound_theme.html:321
msgid "Description"
msgstr "Description"
@@ -1303,6 +1360,10 @@ msgstr "Champs concernés par la modif
msgid "Comment:"
msgstr "Commentaire :"
+#: bhtheme/templates/bh_batch_modify.html:35
+msgid "Describe changes using WikiFormatting"
+msgstr "Décrivez les changements en utilisant le WikiFormatting"
+
#: bhtheme/templates/bh_batch_modify.html:44
msgid "Add Field:"
msgstr "Ajouter le champ :"
@@ -1885,7 +1946,7 @@ msgstr "Date"
#: bhtheme/templates/bh_history_view.html:54
#: bhtheme/templates/bh_revisionlog.html:143
-#: bhtheme/templates/bh_ticket.html:681
+#: bhtheme/templates/bh_ticket.html:659
msgid "Author"
msgstr "Auteur"
@@ -1935,11 +1996,19 @@ msgstr "Télécharger tous les fichi
#: bhtheme/templates/bh_login.html:33 bhtheme/templates/bh_login.html:51
#: bhtheme/templates/bh_login.html:86
#: bhtheme/templates/bloodhound_theme.html:73
-#: bhtheme/templates/bloodhound_theme.html:202
-#: bhtheme/templates/bloodhound_theme.html:353
+#: bhtheme/templates/bloodhound_theme.html:205
+#: bhtheme/templates/bloodhound_theme.html:356
msgid "Login"
msgstr "Connexion"
+#: bhtheme/templates/bh_login.html:60
+msgid "User name"
+msgstr "Nom d'utilisateur"
+
+#: bhtheme/templates/bh_login.html:67
+msgid "Password"
+msgstr "Mot de passe"
+
#: bhtheme/templates/bh_login.html:73 bhtheme/templates/bh_login.html:99
#: bhtheme/templates/bh_login.html:102
msgid "Forgot your password?"
@@ -2020,7 +2089,8 @@ msgid "Retarget associated open tickets
msgstr "Déplacer les tickets ouverts associés au jalon :"
#: bhtheme/templates/bh_milestone_edit.html:147
-#: bhtheme/templates/bh_ticket.html:385 bhtheme/templates/bh_ticket.html:441
+#: bhtheme/templates/bh_product_edit.html:77
+#: bhtheme/templates/bh_ticket.html:363 bhtheme/templates/bh_ticket.html:419
#: bhtheme/templates/bh_ticket_change.html:95
#: bhtheme/templates/bh_wiki_edit_form.html:93
#: bhtheme/templates/bh_wiki_edit_form.html:98
@@ -2041,7 +2111,6 @@ msgid ""
msgstr "[1:\n[2:Note :] consultez [3:TracRoadmap] pour obtenir de l'aide sur l'utilisation de la feuille de route.\n]"
#: bhtheme/templates/bh_milestone_view.html:35
-#: bhtheme/templates/bh_roadmap.html:62
#, python-format
msgid "Completed %(duration)s ago (%(date)s)"
msgstr "Atteint %(duration)s (%(date)s)"
@@ -2139,7 +2208,7 @@ msgid "Back to roadmap"
msgstr "Retour à la feuille de route"
#: bhtheme/templates/bh_path_general.html:89
-#: bhtheme/templates/bh_roadmap.html:29 bhtheme/templates/bh_roadmap.html:51
+#: bhtheme/templates/bh_roadmap.html:31 bhtheme/templates/bh_roadmap.html:37
msgid "Roadmap"
msgstr "Feuille de route"
@@ -2215,10 +2284,22 @@ msgstr "Modifier le mot de passe"
msgid "Old Password:"
msgstr "Ancien mot de passe :"
+#: bhtheme/templates/bh_prefs_account.html:103
+msgid "Type current password"
+msgstr "Entrez le mot de passe actuel"
+
#: bhtheme/templates/bh_prefs_account.html:110
msgid "New Password:"
msgstr "Nouveau mot de passe :"
+#: bhtheme/templates/bh_prefs_account.html:118
+msgid "Type new password"
+msgstr "Entrez le nouveau mot de passe"
+
+#: bhtheme/templates/bh_prefs_account.html:133
+msgid "Must match new password"
+msgstr "Le nouveau mot de passe doit être identique"
+
#: bhtheme/templates/bh_prefs_advanced.html:30
msgid "Advanced"
msgstr "Avancé"
@@ -2357,10 +2438,18 @@ msgstr "Général"
msgid "Full name:"
msgstr "Nom complet :"
+#: bhtheme/templates/bh_prefs_general.html:37
+msgid "Jack Pumpkinhead"
+msgstr "Jack Pumpkinhead"
+
#: bhtheme/templates/bh_prefs_general.html:43
msgid "Email address:"
msgstr "Adresse électronique :"
+#: bhtheme/templates/bh_prefs_general.html:45
+msgid "jack@marvelous.land-of.oz"
+msgstr "jack@marvelous.land-of.oz"
+
#: bhtheme/templates/bh_prefs_general.html:52
msgid ""
"This information is used to automatically populate some forms\n"
@@ -2483,6 +2572,26 @@ msgstr "[1:L'aperçu HTML n'est pas di
msgid "Try [1:downloading] the file instead."
msgstr "Essayez plutôt de [1:télécharger] le fichier."
+#: bhtheme/templates/bh_product_edit.html:32
+#: bhtheme/templates/bh_product_edit.html:40
+msgid "Edit Product"
+msgstr "Modifier le Produit"
+
+#: bhtheme/templates/bh_product_edit.html:33
+#: bhtheme/templates/bh_product_edit.html:41
+msgid "New Product"
+msgstr "Nouveau Produit"
+
+#: bhtheme/templates/bh_product_edit.html:69
+msgid ""
+"[1:Tip]\n"
+" You may use [2:WikiFormatting] here."
+msgstr "[1:Tip]\n L'utilisation du [2:WikiFormatting] est possible ici."
+
+#: bhtheme/templates/bh_product_edit.html:78
+msgid "Add Product"
+msgstr "Ajouter Produit"
+
#: bhtheme/templates/bh_product_list.html:43
msgid "Add new product"
msgstr "Ajouter un nouveau Produit"
@@ -2544,32 +2653,32 @@ msgid_plural "%(num)s matches"
msgstr[0] "%(num)s résultat correspondant"
msgstr[1] "%(num)s résultats correspondants"
-#: bhtheme/templates/bh_query.html:67
+#: bhtheme/templates/bh_query.html:66
msgid "Filters"
msgstr "Filtres"
-#: bhtheme/templates/bh_query.html:68
+#: bhtheme/templates/bh_query.html:67
msgid "Query filters"
msgstr "Filtres de requête"
-#: bhtheme/templates/bh_query.html:74 bhtheme/templates/bh_query.html:178
+#: bhtheme/templates/bh_query.html:73 bhtheme/templates/bh_query.html:177
msgid "Or"
msgstr "Ou"
-#: bhtheme/templates/bh_query.html:102
+#: bhtheme/templates/bh_query.html:101
#: bhtheme/templates/bloodhound_theme.html:74
msgid "or"
msgstr "ou"
-#: bhtheme/templates/bh_query.html:137
+#: bhtheme/templates/bh_query.html:136
msgid "yes"
msgstr "oui"
-#: bhtheme/templates/bh_query.html:140
+#: bhtheme/templates/bh_query.html:139
msgid "no"
msgstr "non"
-#: bhtheme/templates/bh_query.html:150
+#: bhtheme/templates/bh_query.html:149
msgid ""
"[1:between]\n"
" [2:]\n"
@@ -2577,67 +2686,69 @@ msgid ""
" [4:]"
msgstr "[1:entre]\n [2:]\n [3:et]\n [4:]"
-#: bhtheme/templates/bh_query.html:164
+#: bhtheme/templates/bh_query.html:163
msgid "And"
msgstr "Et"
-#: bhtheme/templates/bh_query.html:201
+#: bhtheme/templates/bh_query.html:200
msgid "Columns"
msgstr "Colonnes"
-#: bhtheme/templates/bh_query.html:219
+#: bhtheme/templates/bh_query.html:218
msgid "Group results by"
msgstr "Grouper les résultats par"
-#: bhtheme/templates/bh_query.html:231
+#: bhtheme/templates/bh_query.html:230
msgid "descending"
msgstr "décroissant"
-#: bhtheme/templates/bh_query.html:234
+#: bhtheme/templates/bh_query.html:233
#: bhtheme/templates/bh_report_view.html:76
msgid "Max items per page"
msgstr "Nombre maximum d'objets par page"
-#: bhtheme/templates/bh_query.html:240
+#: bhtheme/templates/bh_query.html:239
msgid "Show under each result:"
msgstr "Afficher sous chaque résultat :"
-#: bhtheme/templates/bh_query.html:276
+#: bhtheme/templates/bh_query.html:275
#, python-format
msgid "Edit report {%(id)s} corresponding to this query"
msgstr "Modifier le rapport {%(id)s} correspondant à cette requête"
-#: bhtheme/templates/bh_query.html:276
+#: bhtheme/templates/bh_query.html:275
msgid "Edit query"
msgstr "Modifier la requête"
-#: bhtheme/templates/bh_query.html:285
+#: bhtheme/templates/bh_query.html:284
msgid "Save query"
msgstr "Enregistrer la requête"
-#: bhtheme/templates/bh_query.html:285
+#: bhtheme/templates/bh_query.html:284
#, python-format
msgid "Save updated query in report {%(id)s}"
msgstr "Enregister la requête mise à jour dans le rapport {%(id)s}"
-#: bhtheme/templates/bh_query.html:285
+#: bhtheme/templates/bh_query.html:284
msgid "Create new report from current query"
msgstr "Créer un nouveau rapport à partir de la requête actuelle"
-#: bhtheme/templates/bh_query.html:294
+#: bhtheme/templates/bh_query.html:293
#, python-format
msgid "Delete report {%(id)s} corresponding to this query"
msgstr "Supprimer le rapport {%(id)s} correspondant à cette requête"
-#: bhtheme/templates/bh_query.html:294
+#: bhtheme/templates/bh_query.html:293
msgid "Delete query"
msgstr "Supprimer la requête"
-#: bhtheme/templates/bh_query.html:302
+#: bhtheme/templates/bh_query.html:300
msgid ""
-"[1:Note] See [2:TracQuery]\n"
-" for help on using queries."
-msgstr "[1:Note :] consultez [2:TracQuery] pour obtenir de l'aide sur l'utilisation des requêtes."
+"[1:\n"
+" [2:Note]\n"
+" See [3:TracQuery] for help on using queries.\n"
+" ]"
+msgstr "[1:\n [2:Note]\n Consultez [3:TracQuery] pour obtenir de l'aide sur l'utilisation des requêtes.\n ]"
#: bhtheme/templates/bh_register.html:39
msgid "@name=username"
@@ -2651,6 +2762,14 @@ msgstr "Enregistrer un compte"
msgid "Required"
msgstr "Requis"
+#: bhtheme/templates/bh_register.html:63
+msgid "e.g. newuser"
+msgstr "p. ex. newuser"
+
+#: bhtheme/templates/bh_register.html:75
+msgid "Better use letters and numbers"
+msgstr "Utilisation de lettres et de chiffres recommandée"
+
#: bhtheme/templates/bh_register.html:95
#: bhtheme/templates/bh_register.html:144
msgid "Email:"
@@ -2754,7 +2873,6 @@ msgstr "Retourner à la dernière re
#: bhtheme/templates/bh_report_list.html:62
#: bhtheme/templates/bh_report_list.html:72
-#: bhtheme/templates/bh_ticket_actions.html:35
msgid "Tip"
msgstr "Astuce"
@@ -2803,7 +2921,7 @@ msgid "View report"
msgstr "Voir le rapport"
#: bhtheme/templates/bh_report_list.html:132
-#: bhtheme/templates/bloodhound_theme.html:284
+#: bhtheme/templates/bloodhound_theme.html:287
msgid "Warning"
msgstr "Attention :"
@@ -3000,42 +3118,56 @@ msgid ""
" for help on using the revision log."
msgstr "[1:Note :] consultez [2:TracRevisionLog] pour obtenir de l'aide relative au journal des révisions."
-#: bhtheme/templates/bh_roadmap.html:39
-msgid "Show completed milestones"
+#: bhtheme/templates/bh_roadmap.html:45
+msgid ""
+"Show completed\n"
+" milestones"
msgstr "Afficher les jalons déjà atteints"
-#: bhtheme/templates/bh_roadmap.html:44
+#: bhtheme/templates/bh_roadmap.html:50
msgid "Hide milestones with no due date"
msgstr "Cacher les jalons sans date d'échéance"
-#: bhtheme/templates/bh_roadmap.html:57
+#: bhtheme/templates/bh_roadmap.html:63
msgid "Milestone:"
msgstr "Jalon :"
#: bhtheme/templates/bh_roadmap.html:67
#, python-format
-msgid "[1:%(duration)s late] (%(date)s)"
+msgid ""
+"Completed %(duration)s ago\n"
+" (%(date)s)"
+msgstr "Atteint il y a %(duration)s (%(date)s)"
+
+#: bhtheme/templates/bh_roadmap.html:73
+#, python-format
+msgid ""
+"[1:%(duration)s late]\n"
+" (%(date)s)"
msgstr "[1:%(duration)s en retard] (%(date)s)"
-#: bhtheme/templates/bh_roadmap.html:72
+#: bhtheme/templates/bh_roadmap.html:79
#, python-format
-msgid "Due in %(duration)s (%(date)s)"
+msgid ""
+"Due in %(duration)s\n"
+" (%(date)s)"
msgstr "Échéance prévue dans %(duration)s (%(date)s)"
-#: bhtheme/templates/bh_roadmap.html:76
+#: bhtheme/templates/bh_roadmap.html:85
msgid "No date set"
msgstr "Aucune date d'échéance"
-#: bhtheme/templates/bh_roadmap.html:95
+#: bhtheme/templates/bh_roadmap.html:104
msgid "Add new milestone"
msgstr "Ajouter un nouveau jalon"
-#: bhtheme/templates/bh_roadmap.html:99
+#: bhtheme/templates/bh_roadmap.html:108
msgid ""
-"[1:Note:] See\n"
-" [2:TracRoadmap] for help on using\n"
-" the roadmap."
-msgstr "[1:Note :] consultez [2:TracRoadmap] pour obtenir de l'aide sur l'utilisation de la feuille de route."
+"[1:\n"
+" [2:Note]\n"
+" See [3:TracRoadmap] for help on using the roadmap.\n"
+" ]"
+msgstr "[1:\n [2:Note]\n Consultez [3:TracRoadmap] pour obtenir de l'aide sur l'utilisation de la feuille de route.\n ]"
#: bhtheme/templates/bh_search.html:31
msgid "Search Results"
@@ -3075,86 +3207,90 @@ msgstr "[1:Note :] consultez [2:TracS
msgid "Sort by %(col)s %(direction)s"
msgstr "Trier selon %(col)s %(direction)s"
-#: bhtheme/templates/bh_ticket.html:55 bhtheme/templates/bh_ticket.html:363
-#: bhtheme/templates/bloodhound_theme.html:153
-#: bhtheme/templates/bloodhound_theme.html:305
+#: bhtheme/templates/bh_ticket.html:55 bhtheme/templates/bh_ticket.html:341
+#: bhtheme/templates/bloodhound_theme.html:156
+#: bhtheme/templates/bloodhound_theme.html:308
msgid "New Ticket"
msgstr "Nouveau ticket"
-#: bhtheme/templates/bh_ticket.html:350
+#: bhtheme/templates/bh_ticket.html:328
#, python-format
msgid "Ticket #%(id)s"
msgstr "Ticket #%(id)s"
-#: bhtheme/templates/bh_ticket.html:355
+#: bhtheme/templates/bh_ticket.html:333
msgid "at [1:Initial Version]"
msgstr "à la [1:version initiale]"
-#: bhtheme/templates/bh_ticket.html:358
+#: bhtheme/templates/bh_ticket.html:336
#, python-format
msgid "at [1:Version %(version)s]"
msgstr "à la [1:version %(version)s]"
-#: bhtheme/templates/bh_ticket.html:368
+#: bhtheme/templates/bh_ticket.html:346
msgid "Assigned to"
msgstr "Affecté à"
-#: bhtheme/templates/bh_ticket.html:372
+#: bhtheme/templates/bh_ticket.html:350
#, python-format
msgid "last modified %(modified)s"
msgstr "ernière modification %(modified)s"
-#: bhtheme/templates/bh_ticket.html:374
+#: bhtheme/templates/bh_ticket.html:352
msgid "(ticket not yet created)"
msgstr "(ticket pas encore créé)"
-#: bhtheme/templates/bh_ticket.html:381 bhtheme/templates/bh_ticket.html:542
+#: bhtheme/templates/bh_ticket.html:359 bhtheme/templates/bh_ticket.html:520
msgid "Modify Ticket"
msgstr "Modifier le ticket"
-#: bhtheme/templates/bh_ticket.html:388 bhtheme/templates/bh_ticket.html:444
+#: bhtheme/templates/bh_ticket.html:366 bhtheme/templates/bh_ticket.html:422
msgid "Discard changes"
msgstr "Abandonner les changements"
-#: bhtheme/templates/bh_ticket.html:397
+#: bhtheme/templates/bh_ticket.html:375
msgid "Go to the ticket editor"
msgstr "Aller à l'éditeur de ticket"
-#: bhtheme/templates/bh_ticket.html:397
+#: bhtheme/templates/bh_ticket.html:375
msgid "Modify"
msgstr "Modifier"
-#: bhtheme/templates/bh_ticket.html:454
+#: bhtheme/templates/bh_ticket.html:413 bhtheme/templates/bh_ticket.html:506
+msgid "Enter new comment"
+msgstr "Entrez un nouveau commentaire"
+
+#: bhtheme/templates/bh_ticket.html:432
msgid "I have files to attach to this ticket"
msgstr "Joindre des fichiers à ce ticket"
-#: bhtheme/templates/bh_ticket.html:463
+#: bhtheme/templates/bh_ticket.html:441
msgid "Create ticket"
msgstr "Créer ticket"
-#: bhtheme/templates/bh_ticket.html:485
+#: bhtheme/templates/bh_ticket.html:463
msgid ""
"[1:Note:] See\n"
" [2:TracTickets] for help on using tickets."
msgstr "[1:Note :] consultez [2:TracTickets] pour obtenir de l'aide sur l'utilisation des tickets."
-#: bhtheme/templates/bh_ticket.html:496
+#: bhtheme/templates/bh_ticket.html:474
msgid "Newest first"
msgstr "Récents d'abord"
-#: bhtheme/templates/bh_ticket.html:500
+#: bhtheme/templates/bh_ticket.html:478
msgid "Oldest first"
msgstr "Anciens d'abord"
-#: bhtheme/templates/bh_ticket.html:514
+#: bhtheme/templates/bh_ticket.html:492
msgid "View ticket fields and description"
msgstr "Voir les champs du ticket et la description"
-#: bhtheme/templates/bh_ticket.html:514
+#: bhtheme/templates/bh_ticket.html:492
msgid "View"
msgstr "Voir"
-#: bhtheme/templates/bh_ticket.html:516
+#: bhtheme/templates/bh_ticket.html:494
msgid ""
"[1:Warning]\n"
" This ticket has been modified since you started editing. You should review the\n"
@@ -3163,11 +3299,11 @@ msgid ""
" You can nevertheless proceed and submit your changes if you wish so."
msgstr "[1:Avertissement]\nCe ticket a été modifié par quelqu'un d'autre dans l'intervalle. Vous devez passer en revue ces\n [2:autres modifications] qui ont été rajoutées ci-dessus,\n ainsi que tout [3:conflit] montré dans l'aperçu ci-dessous.\n Vous pouvez toutefois continuer et valider vos modifications si vous le souhaitez."
-#: bhtheme/templates/bh_ticket.html:530
+#: bhtheme/templates/bh_ticket.html:508
msgid "Submit"
msgstr "Soumettre"
-#: bhtheme/templates/bh_ticket.html:531
+#: bhtheme/templates/bh_ticket.html:509
msgid ""
"[1:Tip]\n"
" You may use\n"
@@ -3175,61 +3311,61 @@ msgid ""
" here."
msgstr "[1:Tip]\nL'utilisation du\n [2:WikiFormatting]\n est possible ici."
-#: bhtheme/templates/bh_ticket.html:548
+#: bhtheme/templates/bh_ticket.html:526
msgid "Change Properties"
msgstr "Modification des propriétés"
-#: bhtheme/templates/bh_ticket.html:549
+#: bhtheme/templates/bh_ticket.html:527
msgid "Properties"
msgstr "Propriétés"
-#: bhtheme/templates/bh_ticket.html:555
+#: bhtheme/templates/bh_ticket.html:533
msgid "Product:"
msgstr "Produit :"
-#: bhtheme/templates/bh_ticket.html:565
+#: bhtheme/templates/bh_ticket.html:543
msgid "Summary:"
msgstr "Résumé :"
-#: bhtheme/templates/bh_ticket.html:572
+#: bhtheme/templates/bh_ticket.html:550
msgid "Reporter:"
msgstr "Rapporteur :"
-#: bhtheme/templates/bh_ticket.html:583
+#: bhtheme/templates/bh_ticket.html:561
msgid ""
"[1:Tip]\n"
" You may use\n"
" [2:WikiFormatting] here."
msgstr "[1:Tip]\nL'utilisation du\n [2:WikiFormatting]\n est possible ici."
-#: bhtheme/templates/bh_ticket.html:597
+#: bhtheme/templates/bh_ticket.html:575
#, python-format
msgid "%(field)s:"
msgstr "%(field)s :"
-#: bhtheme/templates/bh_ticket.html:631
+#: bhtheme/templates/bh_ticket.html:609
msgid "This checkbox allows you to add or remove yourself from the CC list."
msgstr "Cette case à cocher vous permet de vous ajouter ou de vous enlever de la liste des utilisateurs en copie CC."
-#: bhtheme/templates/bh_ticket.html:637
+#: bhtheme/templates/bh_ticket.html:615
msgid "Space or comma delimited email addresses and usernames are accepted."
msgstr "Sont acceptés, les noms d'utilisateur ou adresses électroniques séparés par des espaces ou des virgules."
-#: bhtheme/templates/bh_ticket.html:682
+#: bhtheme/templates/bh_ticket.html:660
#: bhtheme/templates/bh_ticket_box.html:76
msgid "Reporter"
msgstr "Rapporteur"
-#: bhtheme/templates/bh_ticket.html:695
+#: bhtheme/templates/bh_ticket.html:673
#: bhtheme/templates/bh_wiki_edit_form.html:71
msgid "E-mail address and user name can be saved in the [1:Preferences]."
msgstr "L'adresse électronique et le nom d'utilisateur peuvent être enregistrés dans les [1:préférences]."
-#: bhtheme/templates/bh_ticket.html:702
+#: bhtheme/templates/bh_ticket.html:680
msgid "Go to the list of attachments"
msgstr "Allez à la liste des pièces jointes"
-#: bhtheme/templates/bh_ticket.html:702
+#: bhtheme/templates/bh_ticket.html:680
msgid "Attachments"
msgstr "Fichiers joints"
@@ -3751,66 +3887,76 @@ msgstr "Recherche Bloodhound"
msgid "Search all products. Try TracLinks."
msgstr "Recherche dans tous les produits. Tente les TracLinks."
-#: bhtheme/templates/bloodhound_theme.html:144
+#: bhtheme/templates/bloodhound_theme.html:147
msgid "Create Ticket"
msgstr "Créer Ticket"
-#: bhtheme/templates/bloodhound_theme.html:159
-#: bhtheme/templates/bloodhound_theme.html:312
+#: bhtheme/templates/bloodhound_theme.html:162
+#: bhtheme/templates/bloodhound_theme.html:315
msgid "Summary"
msgstr "Résumé"
-#: bhtheme/templates/bloodhound_theme.html:184
-#: bhtheme/templates/bloodhound_theme.html:337
+#: bhtheme/templates/bloodhound_theme.html:163
+#: bhtheme/templates/bloodhound_theme.html:316
+msgid "Ticket summary"
+msgstr "Résumé du ticket"
+
+#: bhtheme/templates/bloodhound_theme.html:169
+#: bhtheme/templates/bloodhound_theme.html:322
+msgid "Ticket description"
+msgstr "Description du ticket"
+
+#: bhtheme/templates/bloodhound_theme.html:187
+#: bhtheme/templates/bloodhound_theme.html:340
msgid "Create"
msgstr "Créer"
-#: bhtheme/templates/bloodhound_theme.html:185
-#: bhtheme/templates/bloodhound_theme.html:338
+#: bhtheme/templates/bloodhound_theme.html:188
+#: bhtheme/templates/bloodhound_theme.html:341
msgid "More fields"
msgstr "Plus de champs"
-#: bhtheme/templates/bloodhound_theme.html:194
-#: bhtheme/templates/bloodhound_theme.html:345
+#: bhtheme/templates/bloodhound_theme.html:197
+#: bhtheme/templates/bloodhound_theme.html:348
msgid "TICKET_CREATE"
msgstr ""
-#: bhtheme/templates/bloodhound_theme.html:194
+#: bhtheme/templates/bloodhound_theme.html:197
msgid ""
"privileges are required to perform this operation.\n"
" You don't have the required permissions"
msgstr "Ce droit est nécessaire pour effectuer cette opération.\nVous n'avez pas les permissions suffisantes."
-#: bhtheme/templates/bloodhound_theme.html:204
+#: bhtheme/templates/bloodhound_theme.html:207
msgid ""
"Please contact your administrator or team leader to \n"
" request these."
msgstr "Merci de contacter votre administrateur ou bien votre responsable d'équipe pour les obtenir."
-#: bhtheme/templates/bloodhound_theme.html:235
+#: bhtheme/templates/bloodhound_theme.html:238
msgid "More"
msgstr "Plus"
-#: bhtheme/templates/bloodhound_theme.html:292
+#: bhtheme/templates/bloodhound_theme.html:295
msgid "Success"
msgstr "Succès"
-#: bhtheme/templates/bloodhound_theme.html:345
+#: bhtheme/templates/bloodhound_theme.html:348
msgid ""
"privileges are required to perform this operation.\n"
" You don't have the required permissions"
msgstr "Ce droit est nécessaire pour effectuer cette opération.\nVous n'avez pas les permissions suffisantes."
-#: bhtheme/templates/bloodhound_theme.html:355
+#: bhtheme/templates/bloodhound_theme.html:358
msgid ""
"Please contact your administrator or team leader to \n"
" request these."
msgstr "Merci de contacter votre administrateur ou bien votre responsable d'équipe pour les obtenir."
-#: bhtheme/templates/bloodhound_theme.html:360
+#: bhtheme/templates/bloodhound_theme.html:363
msgid "Close"
msgstr "Fermé"
-#: bhtheme/templates/bloodhound_theme.html:391
+#: bhtheme/templates/bloodhound_theme.html:394
msgid "Powered by"
msgstr "Animé par"