changeset 2328:d3f1b71099ab codereview

merged beta into code-review
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 22 May 2012 22:15:29 +0200
parents e5c0f201ca0b (current diff) 69b836e383df (diff)
children 20e307d5250f
files rhodecode/__init__.py rhodecode/config/setup/__init__.py rhodecode/lib/helpers.py rhodecode/lib/vcs/backends/git/changeset.py rhodecode/templates/_data_table/_dt_elements.html rhodecode/templates/changelog/changelog.html rhodecode/templates/changeset/changeset.html rhodecode/templates/changeset/changeset_file_comment.html
diffstat 39 files changed, 4996 insertions(+), 1227 deletions(-) [+]
line wrap: on
line diff
--- a/CONTRIBUTORS	Thu May 17 12:54:44 2012 +0200
+++ b/CONTRIBUTORS	Tue May 22 22:15:29 2012 +0200
@@ -18,4 +18,5 @@
     Aras Pranckevicius <aras@unity3d.com>
     Tony Bussieres <t.bussieres@gmail.com>
     Erwin Kroon <e.kroon@smartmetersolutions.nl>
-    nansenat16 <nansenat16@null.tw>
\ No newline at end of file
+    nansenat16 <nansenat16@null.tw>
+    Vincent Duvert <vincent@duvert.net>
\ No newline at end of file
--- a/docs/changelog.rst	Thu May 17 12:54:44 2012 +0200
+++ b/docs/changelog.rst	Tue May 22 22:15:29 2012 +0200
@@ -13,19 +13,23 @@
 news
 ++++
  
- - new codereview system
- - changed setup-app into setup-rhodecode and added default options to it.
+- new codereview system
+- changed setup-app into setup-rhodecode and added default options to it.
  
 fixes
 +++++
 
-1.3.6 (**2012-05-16**)
+
+
+1.3.6 (**2012-05-17**)
 ----------------------
 
 news
 ++++
 
 - chinese traditional translation
+- changed setup-app into setup-rhodecode and added arguments for auto-setup 
+  mode that doesn't need user interaction 
 
 fixes
 +++++
@@ -34,6 +38,7 @@
 - fixed __future__ import error on rcextensions
 - made simplejson required lib for speedup on JSON encoding
 - fixes #449 bad regex could get more than revisions from parsing history
+- don't clear DB session when CELERY_EAGER is turned ON
 
 1.3.5 (**2012-05-10**)
 ----------------------
--- a/docs/usage/git_support.rst	Thu May 17 12:54:44 2012 +0200
+++ b/docs/usage/git_support.rst	Tue May 22 22:15:29 2012 +0200
@@ -5,11 +5,13 @@
 ===========
 
 
-Git support in RhodeCode 1.3 was enabled by default. 
+Git support in RhodeCode 1.3 was enabled by default. You need to have a git
+client installed on the machine to make git fully work.
+
 Although There are some limitations on git usage.
 
-- No hooks are runned for git push/pull actions.
-- logs in action journals don't have git operations
+- hooks that are executed on pull/push are not *real* hooks, they are 
+  just emulating the behavior, and are executed **BEFORE** action takes place.
 - large pushes needs http server with chunked encoding support.
  
 if you plan to use git you need to run RhodeCode with some
@@ -17,14 +19,19 @@
 i recommend using waitress_ or gunicorn_ (linux only) for `paste` wsgi app 
 replacement.
 
-To use waitress simply change change the following in the .ini file::
+To use, simply change change the following in the .ini file::
 
     use = egg:Paste#http
 
-To::
+to::
     
     use = egg:waitress#main
 
+or::
+
+    use = egg:gunicorn#main
+    
+    
 And comment out bellow options::
 
     threadpool_workers = 
--- a/rhodecode/__init__.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/__init__.py	Tue May 22 22:15:29 2012 +0200
@@ -89,6 +89,7 @@
 }
 
 CELERY_ON = False
+CELERY_EAGER = False
 
 # link to config for pylons
 CONFIG = {}
--- a/rhodecode/config/environment.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/config/environment.py	Tue May 22 22:15:29 2012 +0200
@@ -47,6 +47,7 @@
 
     # store some globals into rhodecode
     rhodecode.CELERY_ON = str2bool(config['app_conf'].get('use_celery'))
+    rhodecode.CELERY_EAGER = str2bool(config['app_conf'].get('celery.always.eager'))
 
     config['routes.map'] = make_map(config)
     config['pylons.app_globals'] = app_globals.Globals(config)
--- a/rhodecode/config/setup/__init__.py	Thu May 17 12:54:44 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-import os
-from paste.script.appinstall import AbstractInstallCommand
-from paste.script.command import BadCommand
-from paste.deploy import appconfig
-
-
-class SetupCommand(AbstractInstallCommand):
-
-    default_verbosity = 1
-    max_args = 1
-    min_args = 1
-    summary = "Setup an application, given a config file"
-    usage = "CONFIG_FILE"
-
-    description = """\
-    Note: this is an experimental command, and it will probably change
-    in several ways by the next release.
-
-    Setup an application according to its configuration file.  This is
-    the second part of a two-phase web application installation
-    process (the first phase is prepare-app).  The setup process may
-    consist of things like creating directories and setting up
-    databases.
-    """
-
-    parser = AbstractInstallCommand.standard_parser(
-        simulate=True, quiet=True, interactive=True)
-    parser.add_option('--user',
-                      action='store',
-                      dest='username',
-                      default=None,
-                      help='Admin Username')
-    parser.add_option('--email',
-                      action='store',
-                      dest='email',
-                      default=None,
-                      help='Admin Email')
-    parser.add_option('--password',
-                      action='store',
-                      dest='password',
-                      default=None,
-                      help='Admin password min 6 chars')
-    parser.add_option('--repos',
-                      action='store',
-                      dest='repos_location',
-                      default=None,
-                      help='Absolute path to repositories location')
-    parser.add_option('--name',
-                      action='store',
-                      dest='section_name',
-                      default=None,
-                      help='The name of the section to set up (default: app:main)')
-
-    def command(self):
-        config_spec = self.args[0]
-        section = self.options.section_name
-        if section is None:
-            if '#' in config_spec:
-                config_spec, section = config_spec.split('#', 1)
-            else:
-                section = 'main'
-        if not ':' in section:
-            plain_section = section
-            section = 'app:'+section
-        else:
-            plain_section = section.split(':', 1)[0]
-        if not config_spec.startswith('config:'):
-            config_spec = 'config:' + config_spec
-        if plain_section != 'main':
-            config_spec += '#' + plain_section
-        config_file = config_spec[len('config:'):].split('#', 1)[0]
-        config_file = os.path.join(os.getcwd(), config_file)
-        self.logging_file_config(config_file)
-        conf = appconfig(config_spec, relative_to=os.getcwd())
-        ep_name = conf.context.entry_point_name
-        ep_group = conf.context.protocol
-        dist = conf.context.distribution
-        if dist is None:
-            raise BadCommand(
-                "The section %r is not the application (probably a filter).  "
-                "You should add #section_name, where section_name is the "
-                "section that configures your application" % plain_section)
-        installer = self.get_installer(dist, ep_group, ep_name)
-        installer.setup_config(
-            self, config_file, section, self.sysconfig_install_vars(installer))
-        self.call_sysconfig_functions(
-            'post_setup_hook', installer, config_file)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/config/setup_rhodecode.py	Tue May 22 22:15:29 2012 +0200
@@ -0,0 +1,87 @@
+import os
+from paste.script.appinstall import AbstractInstallCommand
+from paste.script.command import BadCommand
+from paste.deploy import appconfig
+
+
+class SetupCommand(AbstractInstallCommand):
+
+    default_verbosity = 1
+    max_args = 1
+    min_args = 1
+    summary = "Setup an application, given a config file"
+    usage = "CONFIG_FILE"
+
+    description = """\
+    Note: this is an experimental command, and it will probably change
+    in several ways by the next release.
+
+    Setup an application according to its configuration file.  This is
+    the second part of a two-phase web application installation
+    process (the first phase is prepare-app).  The setup process may
+    consist of things like creating directories and setting up
+    databases.
+    """
+
+    parser = AbstractInstallCommand.standard_parser(
+        simulate=True, quiet=True, interactive=True)
+    parser.add_option('--user',
+                      action='store',
+                      dest='username',
+                      default=None,
+                      help='Admin Username')
+    parser.add_option('--email',
+                      action='store',
+                      dest='email',
+                      default=None,
+                      help='Admin Email')
+    parser.add_option('--password',
+                      action='store',
+                      dest='password',
+                      default=None,
+                      help='Admin password min 6 chars')
+    parser.add_option('--repos',
+                      action='store',
+                      dest='repos_location',
+                      default=None,
+                      help='Absolute path to repositories location')
+    parser.add_option('--name',
+                      action='store',
+                      dest='section_name',
+                      default=None,
+                      help='The name of the section to set up (default: app:main)')
+
+    def command(self):
+        config_spec = self.args[0]
+        section = self.options.section_name
+        if section is None:
+            if '#' in config_spec:
+                config_spec, section = config_spec.split('#', 1)
+            else:
+                section = 'main'
+        if not ':' in section:
+            plain_section = section
+            section = 'app:'+section
+        else:
+            plain_section = section.split(':', 1)[0]
+        if not config_spec.startswith('config:'):
+            config_spec = 'config:' + config_spec
+        if plain_section != 'main':
+            config_spec += '#' + plain_section
+        config_file = config_spec[len('config:'):].split('#', 1)[0]
+        config_file = os.path.join(os.getcwd(), config_file)
+        self.logging_file_config(config_file)
+        conf = appconfig(config_spec, relative_to=os.getcwd())
+        ep_name = conf.context.entry_point_name
+        ep_group = conf.context.protocol
+        dist = conf.context.distribution
+        if dist is None:
+            raise BadCommand(
+                "The section %r is not the application (probably a filter).  "
+                "You should add #section_name, where section_name is the "
+                "section that configures your application" % plain_section)
+        installer = self.get_installer(dist, ep_group, ep_name)
+        installer.setup_config(
+            self, config_file, section, self.sysconfig_install_vars(installer))
+        self.call_sysconfig_functions(
+            'post_setup_hook', installer, config_file)
--- a/rhodecode/controllers/files.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/controllers/files.py	Tue May 22 22:15:29 2012 +0200
@@ -22,7 +22,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
+from __future__ import with_statement
 import os
 import logging
 import traceback
@@ -32,6 +32,7 @@
 from pylons.i18n.translation import _
 from pylons.controllers.util import redirect
 from pylons.decorators import jsonify
+from paste.fileapp import FileApp, _FileIter
 
 from rhodecode.lib import diffs
 from rhodecode.lib import helpers as h
@@ -360,23 +361,26 @@
         except (ImproperArchiveTypeError, KeyError):
             return _('Unknown archive type')
 
-        archive = tempfile.NamedTemporaryFile(mode='w+r+b', delete=False)
-        cs.fill_archive(stream=archive, kind=fileformat, subrepos=subrepos)
-        archive.close()
-        response.content_type = content_type
-        response.content_disposition = 'attachment; filename=%s-%s%s' \
-            % (repo_name, revision[:12], ext)
-        response.content_length = str(os.path.getsize(archive.name))
+        fd, archive = tempfile.mkstemp()
+        t = open(archive, 'wb')
+        cs.fill_archive(stream=t, kind=fileformat, subrepos=subrepos)
+        t.close()
 
-        def get_chunked_archive(tmpfile):
+        def get_chunked_archive(archive):
+            stream = open(archive, 'rb')
             while True:
-                data = tmpfile.read(16 * 1024)
+                data = stream.read(16 * 1024)
                 if not data:
-                    tmpfile.close()
-                    os.unlink(tmpfile.name)
+                    stream.close()
+                    os.close(fd)
+                    os.remove(archive)
                     break
                 yield data
-        return get_chunked_archive(tmpfile=open(archive.name,'rb'))
+
+        response.content_disposition = str('attachment; filename=%s-%s%s' \
+                                           % (repo_name, revision[:12], ext))
+        response.content_type = str(content_type)
+        return get_chunked_archive(archive)
 
     @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
                                    'repository.admin')
--- a/rhodecode/controllers/search.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/controllers/search.py	Tue May 22 22:15:29 2012 +0200
@@ -30,7 +30,7 @@
 
 from rhodecode.lib.auth import LoginRequired
 from rhodecode.lib.base import BaseController, render
-from rhodecode.lib.indexers import SCHEMA, IDX_NAME, ResultWrapper
+from rhodecode.lib.indexers import SCHEMA, IDX_NAME, WhooshResultWrapper
 
 from webhelpers.paginate import Page
 from webhelpers.util import update_params
@@ -38,6 +38,7 @@
 from whoosh.index import open_dir, EmptyIndexError
 from whoosh.qparser import QueryParser, QueryParserError
 from whoosh.query import Phrase, Wildcard, Term, Prefix
+from rhodecode.model.repo import RepoModel
 
 log = logging.getLogger(__name__)
 
@@ -99,10 +100,10 @@
                     def url_generator(**kw):
                         return update_params("?q=%s&type=%s" \
                                            % (c.cur_query, c.cur_search), **kw)
-
+                    repo_location = RepoModel().repos_path
                     c.formated_results = Page(
-                        ResultWrapper(search_type, searcher, matcher,
-                                      highlight_items),
+                        WhooshResultWrapper(search_type, searcher, matcher,
+                                            highlight_items, repo_location),
                         page=p,
                         item_count=res_ln,
                         items_per_page=10,
--- a/rhodecode/controllers/summary.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/controllers/summary.py	Tue May 22 22:15:29 2012 +0200
@@ -51,6 +51,7 @@
 from rhodecode.lib.celerylib.tasks import get_commits_stats
 from rhodecode.lib.helpers import RepoPage
 from rhodecode.lib.compat import json, OrderedDict
+from rhodecode.lib.vcs.nodes import FileNode
 
 log = logging.getLogger(__name__)
 
@@ -197,6 +198,8 @@
                 for f in README_FILES:
                     try:
                         readme = cs.get_node(f)
+                        if not isinstance(readme, FileNode):
+                            continue
                         readme_file = f
                         readme_data = renderer.render(readme.content, f)
                         log.debug('Found readme %s' % readme_file)
Binary file rhodecode/i18n/fr/LC_MESSAGES/rhodecode.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/i18n/fr/LC_MESSAGES/rhodecode.po	Tue May 22 22:15:29 2012 +0200
@@ -0,0 +1,3135 @@
+# French translations for RhodeCode.
+# Copyright (C) 2011 ORGANIZATION
+# This file is distributed under the same license as the RhodeCode project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: RhodeCode 1.1.5\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2012-05-20 11:45+0200\n"
+"PO-Revision-Date: 2012-05-20 11:36+0100\n"
+"Last-Translator: Vincent Duvert <vincent@duvert.net>\n"
+"Language-Team: fr <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: rhodecode/controllers/changelog.py:96
+msgid "All Branches"
+msgstr "Toutes les branches"
+
+#: rhodecode/controllers/changeset.py:79
+msgid "show white space"
+msgstr "afficher les espaces et tabulations"
+
+#: rhodecode/controllers/changeset.py:86 rhodecode/controllers/changeset.py:93
+msgid "ignore white space"
+msgstr "ignorer les espaces et tabulations"
+
+#: rhodecode/controllers/changeset.py:153
+#, python-format
+msgid "%s line context"
+msgstr "afficher %s lignes de contexte"
+
+#: rhodecode/controllers/changeset.py:320
+#: rhodecode/controllers/changeset.py:335 rhodecode/lib/diffs.py:62
+msgid "binary file"
+msgstr "fichier binaire"
+
+#: rhodecode/controllers/error.py:69
+msgid "Home page"
+msgstr "Accueil"
+
+#: rhodecode/controllers/error.py:98
+msgid "The request could not be understood by the server due to malformed syntax."
+msgstr ""
+"Le serveur n’a pas pu interpréter la requête à cause d’une erreur de "
+"syntaxe"
+
+#: rhodecode/controllers/error.py:101
+msgid "Unauthorized access to resource"
+msgstr "Accès interdit à cet ressource"
+
+#: rhodecode/controllers/error.py:103
+msgid "You don't have permission to view this page"
+msgstr "Vous n’avez pas la permission de voir cette page"
+
+#: rhodecode/controllers/error.py:105
+msgid "The resource could not be found"
+msgstr "Ressource introuvable"
+
+#: rhodecode/controllers/error.py:107
+msgid ""
+"The server encountered an unexpected condition which prevented it from "
+"fulfilling the request."
+msgstr ""
+"La requête n’a pu être traitée en raison d’une erreur survenue sur le "
+"serveur."
+
+#: rhodecode/controllers/feed.py:48
+#, python-format
+msgid "Changes on %s repository"
+msgstr "Changements sur le dépôt %s"
+
+#: rhodecode/controllers/feed.py:49
+#, python-format
+msgid "%s %s feed"
+msgstr "Flux %s de %s"
+
+#: rhodecode/controllers/files.py:86
+#: rhodecode/templates/admin/repos/repo_add.html:13
+msgid "add new"
+msgstr "ajouter un nouveau"
+
+#: rhodecode/controllers/files.py:87
+#, python-format
+msgid "There are no files yet %s"
+msgstr "Il n’y a pas encore de fichiers %s"
+
+#: rhodecode/controllers/files.py:247
+#, python-format
+msgid "Edited %s via RhodeCode"
+msgstr "%s édité via RhodeCode"
+
+#: rhodecode/controllers/files.py:252
+msgid "No changes"
+msgstr "Aucun changement"
+
+#: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
+#, python-format
+msgid "Successfully committed to %s"
+msgstr "Commit réalisé avec succès sur %s"
+
+#: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
+msgid "Error occurred during commit"
+msgstr "Une erreur est survenue durant le commit"
+
+#: rhodecode/controllers/files.py:288
+#, python-format
+msgid "Added %s via RhodeCode"
+msgstr "%s ajouté par RhodeCode"
+
+#: rhodecode/controllers/files.py:302
+msgid "No content"
+msgstr "Aucun contenu"
+
+#: rhodecode/controllers/files.py:306
+msgid "No filename"
+msgstr "Aucun nom de fichier"
+
+#: rhodecode/controllers/files.py:347
+msgid "downloads disabled"
+msgstr "Les téléchargements sont désactivés"
+
+#: rhodecode/controllers/files.py:358
+#, python-format
+msgid "Unknown revision %s"
+msgstr "Révision %s inconnue."
+
+#: rhodecode/controllers/files.py:360
+msgid "Empty repository"
+msgstr "Dépôt vide."
+
+#: rhodecode/controllers/files.py:362
+msgid "Unknown archive type"
+msgstr "Type d’archive inconnu"
+
+#: rhodecode/controllers/files.py:461
+#: rhodecode/templates/changeset/changeset_range.html:5
+#: rhodecode/templates/changeset/changeset_range.html:13
+#: rhodecode/templates/changeset/changeset_range.html:31
+msgid "Changesets"
+msgstr "Changesets"
+
+#: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:227
+#: rhodecode/templates/branches/branches.html:5
+msgid "Branches"
+msgstr "Branches"
+
+#: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:228
+#: rhodecode/templates/tags/tags.html:5
+msgid "Tags"
+msgstr "Tags"
+
+#: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
+#, python-format
+msgid ""
+"%s repository is not mapped to db perhaps it was created or renamed from "
+"the filesystem please run the application again in order to rescan "
+"repositories"
+msgstr ""
+"Le dépôt %s n’est pas représenté dans la base de données. Il a "
+"probablement été créé ou renommé manuellement. Veuillez relancer "
+"l’application pour rescanner les dépôts."
+
+#: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
+#, python-format
+msgid ""
+"%s repository is not mapped to db perhaps it was created or renamed from "
+"the file system please run the application again in order to rescan "
+"repositories"
+msgstr ""
+"Le dépôt %s n’est pas représenté dans la base de données. Il a "
+"probablement été créé ou renommé manuellement. Veuillez relancer "
+"l’application pour rescanner les dépôts."
+
+#: rhodecode/controllers/forks.py:163
+#, python-format
+msgid "forked %s repository as %s"
+msgstr "dépôt %s forké en tant que %s"
+
+#: rhodecode/controllers/forks.py:177
+#, python-format
+msgid "An error occurred during repository forking %s"
+msgstr "Une erreur est survenue durant le fork du dépôt %s."
+
+#: rhodecode/controllers/journal.py:53
+#, python-format
+msgid "%s public journal %s feed"
+msgstr "%s — Flux %s du journal public"
+
+#: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:224
+#: rhodecode/templates/admin/repos/repo_edit.html:177
+#: rhodecode/templates/base/base.html:307
+#: rhodecode/templates/base/base.html:309
+#: rhodecode/templates/base/base.html:311
+msgid "Public journal"
+msgstr "Journal public"
+
+#: rhodecode/controllers/login.py:116
+msgid "You have successfully registered into rhodecode"
+msgstr "Vous vous êtes inscrits avec succès à RhodeCode"
+
+#: rhodecode/controllers/login.py:137
+msgid "Your password reset link was sent"
+msgstr "Un lien de rénitialisation de votre mot de passe vous a été envoyé."
+
+#: rhodecode/controllers/login.py:157
+msgid ""
+"Your password reset was successful, new password has been sent to your "
+"email"
+msgstr ""
+"Votre mot de passe a été réinitialisé. Votre nouveau mot de passe vous a "
+"été envoyé par e-mail."
+
+#: rhodecode/controllers/search.py:113
+msgid "Invalid search query. Try quoting it."
+msgstr "Requête invalide. Essayer de la mettre entre guillemets."
+
+#: rhodecode/controllers/search.py:118
+msgid "There is no index to search in. Please run whoosh indexer"
+msgstr ""
+"L’index de recherche n’est pas présent. Veuillez exécuter l’indexeur de "
+"code Whoosh."
+
+#: rhodecode/controllers/search.py:122
+msgid "An error occurred during this search operation"
+msgstr "Une erreur est survenue durant l’opération de recherche."
+
+#: rhodecode/controllers/settings.py:103
+#: rhodecode/controllers/admin/repos.py:211
+#, python-format
+msgid "Repository %s updated successfully"
+msgstr "Dépôt %s mis à jour avec succès."
+
+#: rhodecode/controllers/settings.py:121
+#: rhodecode/controllers/admin/repos.py:229
+#, python-format
+msgid "error occurred during update of repository %s"
+msgstr "Une erreur est survenue lors de la mise à jour du dépôt %s."
+
+#: rhodecode/controllers/settings.py:139
+#: rhodecode/controllers/admin/repos.py:247
+#, python-format
+msgid ""
+"%s repository is not mapped to db perhaps it was moved or renamed  from "
+"the filesystem please run the application again in order to rescan "
+"repositories"
+msgstr ""
+"Le dépôt %s n’est pas représenté dans la base de données. Il a "
+"probablement été déplacé ou renommé manuellement. Veuillez relancer "
+"l’application pour rescanner les dépôts."
+
+#: rhodecode/controllers/settings.py:151
+#: rhodecode/controllers/admin/repos.py:259
+#, python-format
+msgid "deleted repository %s"
+msgstr "Dépôt %s supprimé"
+
+#: rhodecode/controllers/settings.py:155
+#: rhodecode/controllers/admin/repos.py:269
+#: rhodecode/controllers/admin/repos.py:275
+#, python-format
+msgid "An error occurred during deletion of %s"
+msgstr "Erreur pendant la suppression de %s"
+
+#: rhodecode/controllers/summary.py:137
+msgid "No data loaded yet"
+msgstr "Aucune donnée actuellement disponible."
+
+#: rhodecode/controllers/summary.py:141
+#: rhodecode/templates/summary/summary.html:139
+msgid "Statistics are disabled for this repository"
+msgstr "La mise à jour des statistiques est désactivée pour ce dépôt."
+
+#: rhodecode/controllers/admin/ldap_settings.py:49
+msgid "BASE"
+msgstr "Base"
+
+#: rhodecode/controllers/admin/ldap_settings.py:50
+msgid "ONELEVEL"
+msgstr "Un niveau"
+
+#: rhodecode/controllers/admin/ldap_settings.py:51
+msgid "SUBTREE"
+msgstr "Sous-arbre"
+
+#: rhodecode/controllers/admin/ldap_settings.py:55
+msgid "NEVER"
+msgstr "NEVER"
+
+#: rhodecode/controllers/admin/ldap_settings.py:56
+msgid "ALLOW"
+msgstr "Autoriser"
+
+#: rhodecode/controllers/admin/ldap_settings.py:57
+msgid "TRY"
+msgstr "TRY"
+
+#: rhodecode/controllers/admin/ldap_settings.py:58
+msgid "DEMAND"
+msgstr "DEMAND"
+
+#: rhodecode/controllers/admin/ldap_settings.py:59
+msgid "HARD"
+msgstr "HARD"
+
+#: rhodecode/controllers/admin/ldap_settings.py:63
+msgid "No encryption"
+msgstr "Pas de chiffrement"
+
+#: rhodecode/controllers/admin/ldap_settings.py:64
+msgid "LDAPS connection"
+msgstr "Connection LDAPS"
+
+#: rhodecode/controllers/admin/ldap_settings.py:65
+msgid "START_TLS on LDAP connection"
+msgstr "START_TLS à la connexion"
+
+#: rhodecode/controllers/admin/ldap_settings.py:125
+msgid "Ldap settings updated successfully"
+msgstr "Mise à jour réussie des réglages LDAP"
+
+#: rhodecode/controllers/admin/ldap_settings.py:129
+msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
+msgstr "Impossible d’activer LDAP. La bibliothèque « python-ldap » est manquante."
+
+#: rhodecode/controllers/admin/ldap_settings.py:146
+msgid "error occurred during update of ldap settings"
+msgstr "Une erreur est survenue durant la mise à jour des réglages du LDAP."
+
+#: rhodecode/controllers/admin/permissions.py:59
+msgid "None"
+msgstr "Aucun"
+
+#: rhodecode/controllers/admin/permissions.py:60
+msgid "Read"
+msgstr "Lire"
+
+#: rhodecode/controllers/admin/permissions.py:61
+msgid "Write"
+msgstr "Écrire"
+
+#: rhodecode/controllers/admin/permissions.py:62
+#: rhodecode/templates/admin/ldap/ldap.html:9
+#: rhodecode/templates/admin/permissions/permissions.html:9
+#: rhodecode/templates/admin/repos/repo_add.html:9
+#: rhodecode/templates/admin/repos/repo_edit.html:9
+#: rhodecode/templates/admin/repos/repos.html:10
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
+#: rhodecode/templates/admin/settings/hooks.html:9
+#: rhodecode/templates/admin/settings/settings.html:9
+#: rhodecode/templates/admin/users/user_add.html:8
+#: rhodecode/templates/admin/users/user_edit.html:9
+#: rhodecode/templates/admin/users/user_edit.html:122
+#: rhodecode/templates/admin/users/users.html:9
+#: rhodecode/templates/admin/users_groups/users_group_add.html:8
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:9
+#: rhodecode/templates/admin/users_groups/users_groups.html:9
+#: rhodecode/templates/base/base.html:197
+#: rhodecode/templates/base/base.html:326
+#: rhodecode/templates/base/base.html:328
+#: rhodecode/templates/base/base.html:330
+msgid "Admin"
+msgstr "Administration"
+
+#: rhodecode/controllers/admin/permissions.py:65
+msgid "disabled"
+msgstr "Désactivé"
+
+#: rhodecode/controllers/admin/permissions.py:67
+msgid "allowed with manual account activation"
+msgstr "Autorisé avec activation manuelle du compte"
+
+#: rhodecode/controllers/admin/permissions.py:69
+msgid "allowed with automatic account activation"
+msgstr "Autorisé avec activation automatique du compte"
+
+#: rhodecode/controllers/admin/permissions.py:71
+msgid "Disabled"
+msgstr "Interdite"
+
+#: rhodecode/controllers/admin/permissions.py:72
+msgid "Enabled"
+msgstr "Autorisée"
+
+#: rhodecode/controllers/admin/permissions.py:106
+msgid "Default permissions updated successfully"
+msgstr "Permissions par défaut mises à jour avec succès"
+
+#: rhodecode/controllers/admin/permissions.py:123
+msgid "error occurred during update of permissions"
+msgstr "erreur pendant la mise à jour des permissions"
+
+#: rhodecode/controllers/admin/repos.py:116
+msgid "--REMOVE FORK--"
+msgstr "[Pas un fork]"
+
+#: rhodecode/controllers/admin/repos.py:144
+#, python-format
+msgid "created repository %s from %s"
+msgstr "Le dépôt %s a été créé depuis %s."
+
+#: rhodecode/controllers/admin/repos.py:148
+#, python-format
+msgid "created repository %s"
+msgstr "Le dépôt %s a été créé."
+
+#: rhodecode/controllers/admin/repos.py:177
+#, python-format
+msgid "error occurred during creation of repository %s"
+msgstr "Une erreur est survenue durant la création du dépôt %s."
+
+#: rhodecode/controllers/admin/repos.py:264
+#, python-format
+msgid "Cannot delete %s it still contains attached forks"
+msgstr "Impossible de supprimer le dépôt %s : Des forks y sont attachés."
+
+#: rhodecode/controllers/admin/repos.py:293
+msgid "An error occurred during deletion of repository user"
+msgstr "Une erreur est survenue durant la suppression de l’utilisateur du dépôt."
+
+#: rhodecode/controllers/admin/repos.py:312
+msgid "An error occurred during deletion of repository users groups"
+msgstr ""
+"Une erreur est survenue durant la suppression du groupe d’utilisateurs de"
+" ce dépôt."
+
+#: rhodecode/controllers/admin/repos.py:329
+msgid "An error occurred during deletion of repository stats"
+msgstr "Une erreur est survenue durant la suppression des statistiques du dépôt."
+
+#: rhodecode/controllers/admin/repos.py:345
+msgid "An error occurred during cache invalidation"
+msgstr "Une erreur est survenue durant l’invalidation du cache."
+
+#: rhodecode/controllers/admin/repos.py:365
+msgid "Updated repository visibility in public journal"
+msgstr "La visibilité du dépôt dans le journal public a été mise à jour."
+
+#: rhodecode/controllers/admin/repos.py:369
+msgid "An error occurred during setting this repository in public journal"
+msgstr ""
+"Une erreur est survenue durant la configuration du journal public pour ce"
+" dépôt."
+
+#: rhodecode/controllers/admin/repos.py:374 rhodecode/model/forms.py:54
+msgid "Token mismatch"
+msgstr "Jeton d’authentification incorrect."
+
+#: rhodecode/controllers/admin/repos.py:387
+msgid "Pulled from remote location"
+msgstr "Les changements distants ont été récupérés."
+
+#: rhodecode/controllers/admin/repos.py:389
+msgid "An error occurred during pull from remote location"
+msgstr "Une erreur est survenue durant le pull depuis la source distante."
+
+#: rhodecode/controllers/admin/repos.py:405
+msgid "Nothing"
+msgstr "[Aucun dépôt]"
+
+#: rhodecode/controllers/admin/repos.py:407
+#, python-format
+msgid "Marked repo %s as fork of %s"
+msgstr "Le dépôt %s a été marké comme fork de %s"
+
+#: rhodecode/controllers/admin/repos.py:411
+msgid "An error occurred during this operation"
+msgstr "Une erreur est survenue durant cette opération."
+
+#: rhodecode/controllers/admin/repos_groups.py:119
+#, python-format
+msgid "created repos group %s"
+msgstr "Le groupe de dépôts %s a été créé."
+
+#: rhodecode/controllers/admin/repos_groups.py:132
+#, python-format
+msgid "error occurred during creation of repos group %s"
+msgstr "Une erreur est survenue durant la création du groupe de dépôts %s."
+
+#: rhodecode/controllers/admin/repos_groups.py:166
+#, python-format
+msgid "updated repos group %s"
+msgstr "Le groupe de dépôts %s a été mis à jour."
+
+#: rhodecode/controllers/admin/repos_groups.py:179
+#, python-format
+msgid "error occurred during update of repos group %s"
+msgstr "Une erreur est survenue durant la mise à jour du groupe de dépôts %s."
+
+#: rhodecode/controllers/admin/repos_groups.py:198
+#, python-format
+msgid "This group contains %s repositores and cannot be deleted"
+msgstr "Ce groupe contient %s dépôts et ne peut être supprimé."
+
+#: rhodecode/controllers/admin/repos_groups.py:205
+#, python-format
+msgid "removed repos group %s"
+msgstr "Le groupe de dépôts %s a été supprimé."
+
+#: rhodecode/controllers/admin/repos_groups.py:210
+msgid "Cannot delete this group it still contains subgroups"
+msgstr "Impossible de supprimer ce groupe : Il contient des sous-groupes."
+
+#: rhodecode/controllers/admin/repos_groups.py:215
+#: rhodecode/controllers/admin/repos_groups.py:220
+#, python-format
+msgid "error occurred during deletion of repos group %s"
+msgstr "Une erreur est survenue durant la suppression du groupe de dépôts %s."
+
+#: rhodecode/controllers/admin/repos_groups.py:240
+msgid "An error occurred during deletion of group user"
+msgstr ""
+"Une erreur est survenue durant la suppression de l’utilisateur du groupe "
+"de dépôts."
+
+#: rhodecode/controllers/admin/repos_groups.py:260
+msgid "An error occurred during deletion of group users groups"
+msgstr ""
+"Une erreur est survenue durant la suppression du groupe d’utilisateurs du"
+" groupe de dépôts."
+
+#: rhodecode/controllers/admin/settings.py:120
+#, python-format
+msgid "Repositories successfully rescanned added: %s,removed: %s"
+msgstr "Après re-scan : %s ajouté(s), %s enlevé(s)"
+
+#: rhodecode/controllers/admin/settings.py:129
+msgid "Whoosh reindex task scheduled"
+msgstr "La tâche de réindexation Whoosh a été planifiée."
+
+#: rhodecode/controllers/admin/settings.py:154
+msgid "Updated application settings"
+msgstr "Réglages mis à jour"
+
+#: rhodecode/controllers/admin/settings.py:159
+#: rhodecode/controllers/admin/settings.py:226
+msgid "error occurred during updating application settings"
+msgstr "Une erreur est survenue durant la mise à jour des options."
+
+#: rhodecode/controllers/admin/settings.py:221
+msgid "Updated mercurial settings"
+msgstr "Réglages de Mercurial mis à jour"
+
+#: rhodecode/controllers/admin/settings.py:246
+msgid "Added new hook"
+msgstr "Le nouveau hook a été ajouté."
+
+#: rhodecode/controllers/admin/settings.py:258
+msgid "Updated hooks"
+msgstr "Hooks mis à jour"
+
+#: rhodecode/controllers/admin/settings.py:262
+msgid "error occurred during hook creation"
+msgstr "Une erreur est survenue durant la création du hook."
+
+#: rhodecode/controllers/admin/settings.py:281
+msgid "Email task created"
+msgstr "La tâche d’e-mail a été créée."
+
+#: rhodecode/controllers/admin/settings.py:336
+msgid "You can't edit this user since it's crucial for entire application"
+msgstr ""
+"Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
+" fonctionnement de l’application."
+
+#: rhodecode/controllers/admin/settings.py:365
+msgid "Your account was updated successfully"
+msgstr "Votre compte a été mis à jour avec succès"
+
+#: rhodecode/controllers/admin/settings.py:384
+#: rhodecode/controllers/admin/users.py:132
+#, python-format
+msgid "error occurred during update of user %s"
+msgstr "Une erreur est survenue durant la mise à jour de l’utilisateur %s."
+
+#: rhodecode/controllers/admin/users.py:79
+#, python-format
+msgid "created user %s"
+msgstr "utilisateur %s créé"
+
+#: rhodecode/controllers/admin/users.py:92
+#, python-format
+msgid "error occurred during creation of user %s"
+msgstr "Une erreur est survenue durant la création de l’utilisateur %s."
+
+#: rhodecode/controllers/admin/users.py:118
+msgid "User updated successfully"
+msgstr "L’utilisateur a été mis à jour avec succès."
+
+#: rhodecode/controllers/admin/users.py:149
+msgid "successfully deleted user"
+msgstr "L’utilisateur a été supprimé avec succès."
+
+#: rhodecode/controllers/admin/users.py:154
+msgid "An error occurred during deletion of user"
+msgstr "Une erreur est survenue durant la suppression de l’utilisateur."
+
+#: rhodecode/controllers/admin/users.py:169
+msgid "You can't edit this user"
+msgstr "Vous ne pouvez pas éditer cet utilisateur"
+
+#: rhodecode/controllers/admin/users.py:199
+#: rhodecode/controllers/admin/users_groups.py:215
+msgid "Granted 'repository create' permission to user"
+msgstr "La permission de création de dépôts a été accordée à l’utilisateur."
+
+#: rhodecode/controllers/admin/users.py:208
+#: rhodecode/controllers/admin/users_groups.py:225
+msgid "Revoked 'repository create' permission to user"
+msgstr "La permission de création de dépôts a été révoquée à l’utilisateur."
+
+#: rhodecode/controllers/admin/users_groups.py:79
+#, python-format
+msgid "created users group %s"
+msgstr "Le groupe d’utilisateurs %s a été créé."
+
+#: rhodecode/controllers/admin/users_groups.py:92
+#, python-format
+msgid "error occurred during creation of users group %s"
+msgstr "Une erreur est survenue durant la création du groupe d’utilisateurs %s."
+
+#: rhodecode/controllers/admin/users_groups.py:128
+#, python-format
+msgid "updated users group %s"
+msgstr "Le groupe d’utilisateurs %s a été mis à jour."
+
+#: rhodecode/controllers/admin/users_groups.py:148
+#, python-format
+msgid "error occurred during update of users group %s"
+msgstr "Une erreur est survenue durant la mise à jour du groupe d’utilisateurs %s."
+
+#: rhodecode/controllers/admin/users_groups.py:165
+msgid "successfully deleted users group"
+msgstr "Le groupe d’utilisateurs a été supprimé avec succès."
+
+#: rhodecode/controllers/admin/users_groups.py:170
+msgid "An error occurred during deletion of users group"
+msgstr "Une erreur est survenue lors de la suppression du groupe d’utilisateurs."
+
+#: rhodecode/lib/auth.py:497
+msgid "You need to be a registered user to perform this action"
+msgstr "Vous devez être un utilisateur enregistré pour effectuer cette action."
+
+#: rhodecode/lib/auth.py:538
+msgid "You need to be a signed in to view this page"
+msgstr "Vous devez être connecté pour visualiser cette page."
+
+#: rhodecode/lib/diffs.py:78
+msgid "Changeset was to big and was cut off, use diff menu to display this diff"
+msgstr ""
+"Cet ensemble de changements était trop gros pour être affiché et a été "
+"découpé, utilisez le menu « Diff » pour afficher les différences."
+
+#: rhodecode/lib/diffs.py:88
+msgid "No changes detected"
+msgstr "Aucun changement détecté."
+
+#: rhodecode/lib/helpers.py:412
+msgid "True"
+msgstr "Vrai"
+
+#: rhodecode/lib/helpers.py:416
+msgid "False"
+msgstr "Faux"
+
+#: rhodecode/lib/helpers.py:475
+#, python-format
+msgid "Show all combined changesets %s->%s"
+msgstr "Afficher les changements combinés %s->%s"
+
+#: rhodecode/lib/helpers.py:481
+msgid "compare view"
+msgstr "vue de comparaison"
+
+#: rhodecode/lib/helpers.py:501
+msgid "and"
+msgstr "et"
+
+#: rhodecode/lib/helpers.py:502
+#, python-format
+msgid "%s more"
+msgstr "%s de plus"
+
+#: rhodecode/lib/helpers.py:503 rhodecode/templates/changelog/changelog.html:40
+msgid "revisions"
+msgstr "révisions"
+
+#: rhodecode/lib/helpers.py:526
+msgid "fork name "
+msgstr "Nom du fork"
+
+#: rhodecode/lib/helpers.py:529
+msgid "[deleted] repository"
+msgstr "[a supprimé] le dépôt"
+
+#: rhodecode/lib/helpers.py:530 rhodecode/lib/helpers.py:535
+msgid "[created] repository"
+msgstr "[a créé] le dépôt"
+
+#: rhodecode/lib/helpers.py:531
+msgid "[created] repository as fork"
+msgstr "[a créé] le dépôt en tant que fork"
+
+#: rhodecode/lib/helpers.py:532 rhodecode/lib/helpers.py:536
+msgid "[forked] repository"
+msgstr "[a forké] le dépôt"
+
+#: rhodecode/lib/helpers.py:533 rhodecode/lib/helpers.py:537
+msgid "[updated] repository"
+msgstr "[a mis à jour] le dépôt"
+
+#: rhodecode/lib/helpers.py:534
+msgid "[delete] repository"
+msgstr "[a supprimé] le dépôt"
+
+#: rhodecode/lib/helpers.py:538
+msgid "[pushed] into"
+msgstr "[a pushé] dans"
+
+#: rhodecode/lib/helpers.py:539
+msgid "[committed via RhodeCode] into"
+msgstr "[a commité via RhodeCode] dans"
+
+#: rhodecode/lib/helpers.py:540
+msgid "[pulled from remote] into"
+msgstr "[a pullé depuis un site distant] dans"
+
+#: rhodecode/lib/helpers.py:541
+msgid "[pulled] from"
+msgstr "[a pullé] depuis"
+
+#: rhodecode/lib/helpers.py:542
+msgid "[started following] repository"
+msgstr "[suit maintenant] le dépôt"
+
+#: rhodecode/lib/helpers.py:543
+msgid "[stopped following] repository"
+msgstr "[ne suit plus] le dépôt"
+
+#: rhodecode/lib/helpers.py:721
+#, python-format
+msgid " and %s more"
+msgstr "et %s de plus"
+
+#: rhodecode/lib/helpers.py:725
+msgid "No Files"
+msgstr "Aucun fichier"
+
+#: rhodecode/lib/utils2.py:335
+#, python-format
+msgid "%d year"
+msgid_plural "%d years"
+msgstr[0] "%d an"
+msgstr[1] "%d ans"
+
+#: rhodecode/lib/utils2.py:336
+#, python-format
+msgid "%d month"
+msgid_plural "%d months"
+msgstr[0] "%d mois"
+msgstr[1] "%d mois"
+
+#: rhodecode/lib/utils2.py:337
+#, python-format
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] "%d jour"
+msgstr[1] "%d jours"
+
+#: rhodecode/lib/utils2.py:338
+#, python-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] "%d heure"
+msgstr[1] "%d heures"
+
+#: rhodecode/lib/utils2.py:339
+#, python-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d minute"
+msgstr[1] "%d minutes"
+
+#: rhodecode/lib/utils2.py:340
+#, python-format
+msgid "%d second"
+msgid_plural "%d seconds"
+msgstr[0] "%d seconde"
+msgstr[1] "%d secondes"
+
+#: rhodecode/lib/utils2.py:355
+#, python-format
+msgid "%s ago"
+msgstr "Il y a %s"
+
+#: rhodecode/lib/utils2.py:357
+#, python-format
+msgid "%s and %s ago"
+msgstr "Il y a %s et %s"
+
+#: rhodecode/lib/utils2.py:360
+msgid "just now"
+msgstr "à l’instant"
+
+#: rhodecode/lib/celerylib/tasks.py:269
+msgid "password reset link"
+msgstr "Réinitialisation du mot de passe"
+
+#: rhodecode/model/comment.py:85
+#, python-format
+msgid "on line %s"
+msgstr "à la ligne %s"
+
+#: rhodecode/model/comment.py:113
+msgid "[Mention]"
+msgstr "[Mention]"
+
+#: rhodecode/model/forms.py:72
+msgid "Invalid username"
+msgstr "Nom d’utilisateur invalide"
+
+#: rhodecode/model/forms.py:80
+msgid "This username already exists"
+msgstr "Ce nom d’utilisateur existe déjà"
+
+#: rhodecode/model/forms.py:85
+msgid ""
+"Username may only contain alphanumeric characters underscores, periods or"
+" dashes and must begin with alphanumeric character"
+msgstr ""
+"Le nom d’utilisateur peut contenir uniquement des caractères alpha-"
+"numériques ainsi que les caractères suivants : « _ . - ». Il doit "
+"commencer par un caractère alpha-numérique."
+
+#: rhodecode/model/forms.py:101
+msgid "Invalid group name"
+msgstr "Nom de groupe invalide"
+
+#: rhodecode/model/forms.py:111
+msgid "This users group already exists"
+msgstr "Ce groupe d’utilisateurs existe déjà."
+
+#: rhodecode/model/forms.py:117
+msgid ""
+"RepoGroup name may only contain  alphanumeric characters underscores, "
+"periods or dashes and must begin with alphanumeric character"
+msgstr ""
+"Le nom de groupe de dépôts peut contenir uniquement des caractères alpha-"
+"numériques ainsi que les caractères suivants : « _ . - ». Il doit "
+"commencer par un caractère alpha-numérique."
+
+#: rhodecode/model/forms.py:145
+msgid "Cannot assign this group as parent"
+msgstr "Impossible d’assigner ce groupe en tant que parent."
+
+#: rhodecode/model/forms.py:164
+msgid "This group already exists"
+msgstr "Ce groupe existe déjà."
+
+#: rhodecode/model/forms.py:176
+msgid "Repository with this name already exists"
+msgstr "Un dépôt portant ce nom existe déjà."
+
+#: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
+#: rhodecode/model/forms.py:213
+msgid "Invalid characters in password"
+msgstr "Caractères incorrects dans le mot de passe"
+
+#: rhodecode/model/forms.py:226
+msgid "Passwords do not match"
+msgstr "Les mots de passe ne correspondent pas."
+
+#: rhodecode/model/forms.py:232
+msgid "invalid password"
+msgstr "mot de passe invalide"
+
+#: rhodecode/model/forms.py:233
+msgid "invalid user name"
+msgstr "nom d’utilisateur invalide"
+
+#: rhodecode/model/forms.py:234
+msgid "Your account is disabled"
+msgstr "Votre compte est désactivé"
+
+#: rhodecode/model/forms.py:274
+msgid "This username is not valid"
+msgstr "Ce nom d’utilisateur n’est plus valide"
+
+#: rhodecode/model/forms.py:287
+msgid "This repository name is disallowed"
+msgstr "Ce nom de dépôt est interdit"
+
+#: rhodecode/model/forms.py:310
+#, python-format
+msgid "This repository already exists in a group \"%s\""
+msgstr "Ce dépôt existe déjà dans le groupe « %s »."
+
+#: rhodecode/model/forms.py:317
+#, python-format
+msgid "There is a group with this name already \"%s\""
+msgstr "Un groupe portant le nom « %s » existe déjà."
+
+#: rhodecode/model/forms.py:324
+msgid "This repository already exists"
+msgstr "Ce dépôt existe déjà"
+
+#: rhodecode/model/forms.py:367
+msgid "invalid clone url"
+msgstr "URL de clonage invalide."
+
+#: rhodecode/model/forms.py:384
+msgid "Invalid clone url, provide a valid clone http\\s url"
+msgstr ""
+"URL à cloner invalide. Veuillez fournir une URL valide commençant par "
+"http(s)."
+
+#: rhodecode/model/forms.py:398
+msgid "Fork have to be the same type as original"
+msgstr "Le fork doit être du même type que l’original"
+
+#: rhodecode/model/forms.py:414
+msgid "This username or users group name is not valid"
+msgstr "Ce nom d’utilisateur ou de groupe n’est pas valide."
+
+#: rhodecode/model/forms.py:480
+msgid "This is not a valid path"
+msgstr "Ceci n’est pas un chemin valide"
+
+#: rhodecode/model/forms.py:494
+msgid "This e-mail address is already taken"
+msgstr "Cette adresse e-mail est déjà enregistrée"
+
+#: rhodecode/model/forms.py:507
+msgid "This e-mail address doesn't exist."
+msgstr "Cette adresse e-mail n’existe pas"
+
+#: rhodecode/model/forms.py:530
+msgid ""
+"The LDAP Login attribute of the CN must be specified - this is the name "
+"of the attribute that is equivalent to 'username'"
+msgstr ""
+"L’attribut Login du CN doit être spécifié. Cet attribut correspond au nom"
+" d’utilisateur."
+
+#: rhodecode/model/forms.py:549
+msgid "Please enter a login"
+msgstr "Veuillez entrer un identifiant"
+
+#: rhodecode/model/forms.py:550
+#, python-format
+msgid "Enter a value %(min)i characters long or more"
+msgstr "Entrez une valeur d’au moins %(min)i caractères de long."
+
+#: rhodecode/model/forms.py:558
+msgid "Please enter a password"
+msgstr "Veuillez entrer un mot de passe"
+
+#: rhodecode/model/forms.py:559
+#, python-format
+msgid "Enter %(min)i characters or more"
+msgstr "Entrez au moins %(min)i caractères"
+
+#: rhodecode/model/notification.py:175
+msgid "commented on commit"
+msgstr "a posté un commentaire sur le commit"
+
+#: rhodecode/model/notification.py:176
+msgid "sent message"
+msgstr "a envoyé un message"
+
+#: rhodecode/model/notification.py:177
+msgid "mentioned you"
+msgstr "vous a mentioné"
+
+#: rhodecode/model/notification.py:178
+msgid "registered in RhodeCode"
+msgstr "s’est enregistré sur RhodeCode"
+
+#: rhodecode/model/user.py:235
+msgid "new user registration"
+msgstr "Nouveau compte utilisateur enregistré"
+
+#: rhodecode/model/user.py:259 rhodecode/model/user.py:279
+msgid "You can't Edit this user since it's crucial for entire application"
+msgstr ""
+"Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
+" fonctionnement de l’application."
+
+#: rhodecode/model/user.py:300
+msgid "You can't remove this user since it's crucial for entire application"
+msgstr ""
+"Vous ne pouvez pas supprimer cet utilisateur ; il est nécessaire pour le "
+"bon fonctionnement de l’application."
+
+#: rhodecode/model/user.py:306
+#, python-format
+msgid ""
+"user \"%s\" still owns %s repositories and cannot be removed. Switch "
+"owners or remove those repositories. %s"
+msgstr ""
+"L’utilisateur « %s » possède %s dépôts et ne peut être supprimé. Changez "
+"les propriétaires de ces dépôts. %s"
+
+#: rhodecode/templates/index.html:3
+msgid "Dashboard"
+msgstr "Tableau de bord"
+
+#: rhodecode/templates/index_base.html:6
+#: rhodecode/templates/admin/users/user_edit_my_account.html:115
+#: rhodecode/templates/bookmarks/bookmarks.html:10
+#: rhodecode/templates/branches/branches.html:9
+#: rhodecode/templates/journal/journal.html:31
+#: rhodecode/templates/tags/tags.html:10
+msgid "quick filter..."
+msgstr "filtre rapide"
+
+#: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
+msgid "repositories"
+msgstr "Dépôts"
+
+#: rhodecode/templates/index_base.html:13
+#: rhodecode/templates/index_base.html:15
+#: rhodecode/templates/admin/repos/repos.html:22
+msgid "ADD REPOSITORY"
+msgstr "AJOUTER UN DÉPÔT"
+
+#: rhodecode/templates/index_base.html:29
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
+#: rhodecode/templates/admin/users_groups/users_group_add.html:32
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:33
+msgid "Group name"
+msgstr "Nom de groupe"
+
+#: rhodecode/templates/index_base.html:30
+#: rhodecode/templates/index_base.html:67
+#: rhodecode/templates/index_base.html:132
+#: rhodecode/templates/index_base.html:158
+#: rhodecode/templates/admin/repos/repo_add_base.html:47
+#: rhodecode/templates/admin/repos/repo_edit.html:66
+#: rhodecode/templates/admin/repos/repos.html:37
+#: rhodecode/templates/admin/repos/repos.html:84
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
+#: rhodecode/templates/forks/fork.html:49
+#: rhodecode/templates/settings/repo_settings.html:57
+#: rhodecode/templates/summary/summary.html:100
+msgid "Description"
+msgstr "Description"
+
+#: rhodecode/templates/index_base.html:40
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
+msgid "Repositories group"
+msgstr "Groupe de dépôts"
+
+#: rhodecode/templates/index_base.html:66
+#: rhodecode/templates/index_base.html:156
+#: rhodecode/templates/admin/repos/repo_add_base.html:9
+#: rhodecode/templates/admin/repos/repo_edit.html:32
+#: rhodecode/templates/admin/repos/repos.html:36
+#: rhodecode/templates/admin/repos/repos.html:82
+#: rhodecode/templates/admin/users/user_edit_my_account.html:133
+#: rhodecode/templates/admin/users/user_edit_my_account.html:183
+#: rhodecode/templates/admin/users/user_edit_my_account.html:249
+#: rhodecode/templates/admin/users/user_edit_my_account.html:284
+#: rhodecode/templates/bookmarks/bookmarks.html:36
+#: rhodecode/templates/bookmarks/bookmarks_data.html:6
+#: rhodecode/templates/branches/branches.html:36
+#: rhodecode/templates/files/files_browser.html:47
+#: rhodecode/templates/journal/journal.html:50
+#: rhodecode/templates/journal/journal.html:98
+#: rhodecode/templates/journal/journal.html:177
+#: rhodecode/templates/settings/repo_settings.html:31
+#: rhodecode/templates/summary/summary.html:38
+#: rhodecode/templates/summary/summary.html:114
+#: rhodecode/templates/tags/tags.html:36
+#: rhodecode/templates/tags/tags_data.html:6
+msgid "Name"
+msgstr "Nom"
+
+#: rhodecode/templates/index_base.html:68
+#: rhodecode/templates/admin/repos/repos.html:38
+msgid "Last change"
+msgstr "Dernière modification"
+
+#: rhodecode/templates/index_base.html:69
+#: rhodecode/templates/index_base.html:161
+#: rhodecode/templates/admin/repos/repos.html:39
+#: rhodecode/templates/admin/repos/repos.html:87
+#: rhodecode/templates/admin/users/user_edit_my_account.html:251
+#: rhodecode/templates/journal/journal.html:179
+msgid "Tip"
+msgstr "Sommet"
+
+#: rhodecode/templates/index_base.html:70
+#: rhodecode/templates/index_base.html:163
+#: rhodecode/templates/admin/repos/repo_edit.html:103
+#: rhodecode/templates/admin/repos/repos.html:89
+msgid "Owner"
+msgstr "Propriétaire"
+
+#: rhodecode/templates/index_base.html:71
+#: rhodecode/templates/journal/public_journal.html:20
+#: rhodecode/templates/summary/summary.html:43
+#: rhodecode/templates/summary/summary.html:46
+msgid "RSS"
+msgstr "RSS"
+
+#: rhodecode/templates/index_base.html:72
+#: rhodecode/templates/journal/public_journal.html:23
+msgid "Atom"
+msgstr "Atom"
+
+#: rhodecode/templates/index_base.html:102
+#: rhodecode/templates/index_base.html:104
+#, python-format
+msgid "Subscribe to %s rss feed"
+msgstr "S’abonner au flux RSS de %s"
+
+#: rhodecode/templates/index_base.html:109
+#: rhodecode/templates/index_base.html:111
+#, python-format
+msgid "Subscribe to %s atom feed"
+msgstr "S’abonner au flux ATOM de %s"
+
+#: rhodecode/templates/index_base.html:130
+msgid "Group Name"
+msgstr "Nom du groupe"
+
+#: rhodecode/templates/index_base.html:148
+#: rhodecode/templates/index_base.html:188
+#: rhodecode/templates/admin/repos/repos.html:112
+#: rhodecode/templates/admin/users/user_edit_my_account.html:270
+#: rhodecode/templates/bookmarks/bookmarks.html:60
+#: rhodecode/templates/branches/branches.html:60
+#: rhodecode/templates/journal/journal.html:202
+#: rhodecode/templates/tags/tags.html:60
+msgid "Click to sort ascending"
+msgstr "Tri ascendant"
+
+#: rhodecode/templates/index_base.html:149
+#: rhodecode/templates/index_base.html:189
+#: rhodecode/templates/admin/repos/repos.html:113
+#: rhodecode/templates/admin/users/user_edit_my_account.html:271
+#: rhodecode/templates/bookmarks/bookmarks.html:61
+#: rhodecode/templates/branches/branches.html:61
+#: rhodecode/templates/journal/journal.html:203
+#: rhodecode/templates/tags/tags.html:61
+msgid "Click to sort descending"
+msgstr "Tri descendant"
+
+#: rhodecode/templates/index_base.html:159
+#: rhodecode/templates/admin/repos/repos.html:85
+msgid "Last Change"
+msgstr "Dernière modification"
+
+#: rhodecode/templates/index_base.html:190
+#: rhodecode/templates/admin/repos/repos.html:114
+#: rhodecode/templates/admin/users/user_edit_my_account.html:272
+#: rhodecode/templates/bookmarks/bookmarks.html:62
+#: rhodecode/templates/branches/branches.html:62
+#: rhodecode/templates/journal/journal.html:204
+#: rhodecode/templates/tags/tags.html:62
+msgid "No records found."
+msgstr "Aucun élément n’a été trouvé."
+
+#: rhodecode/templates/index_base.html:191
+#: rhodecode/templates/admin/repos/repos.html:115
+#: rhodecode/templates/admin/users/user_edit_my_account.html:273
+#: rhodecode/templates/bookmarks/bookmarks.html:63
+#: rhodecode/templates/branches/branches.html:63
+#: rhodecode/templates/journal/journal.html:205
+#: rhodecode/templates/tags/tags.html:63
+msgid "Data error."
+msgstr "Erreur d’intégrité des données."
+
+#: rhodecode/templates/index_base.html:192
+#: rhodecode/templates/admin/repos/repos.html:116
+#: rhodecode/templates/admin/users/user_edit_my_account.html:274
+#: rhodecode/templates/bookmarks/bookmarks.html:64
+#: rhodecode/templates/branches/branches.html:64
+#: rhodecode/templates/journal/journal.html:206
+#: rhodecode/templates/tags/tags.html:64
+msgid "Loading..."
+msgstr "Chargement…"
+
+#: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
+msgid "Sign In"
+msgstr "Connexion"
+
+#: rhodecode/templates/login.html:21
+msgid "Sign In to"
+msgstr "Connexion à"
+
+#: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
+#: rhodecode/templates/admin/admin_log.html:5
+#: rhodecode/templates/admin/users/user_add.html:32
+#: rhodecode/templates/admin/users/user_edit.html:50
+#: rhodecode/templates/admin/users/user_edit_my_account.html:49
+#: rhodecode/templates/base/base.html:83
+#: rhodecode/templates/summary/summary.html:113
+msgid "Username"
+msgstr "Nom d’utilisateur"
+
+#: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
+#: rhodecode/templates/admin/ldap/ldap.html:46
+#: rhodecode/templates/admin/users/user_add.html:41
+#: rhodecode/templates/base/base.html:92
+msgid "Password"
+msgstr "Mot de passe"
+
+#: rhodecode/templates/login.html:50
+msgid "Remember me"
+msgstr "Se souvenir de moi"
+
+#: rhodecode/templates/login.html:60
+msgid "Forgot your password ?"
+msgstr "Mot de passe oublié ?"
+
+#: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
+msgid "Don't have an account ?"
+msgstr "Vous n’avez pas de compte ?"
+
+#: rhodecode/templates/password_reset.html:5
+msgid "Reset your password"
+msgstr "Mot de passe oublié ?"
+
+#: rhodecode/templates/password_reset.html:11
+msgid "Reset your password to"
+msgstr "Réinitialiser votre mot de passe"
+
+#: rhodecode/templates/password_reset.html:21
+msgid "Email address"
+msgstr "Adresse e-mail"
+
+#: rhodecode/templates/password_reset.html:30
+msgid "Reset my password"
+msgstr "Réinitialiser mon mot de passe"
+
+#: rhodecode/templates/password_reset.html:31
+msgid "Password reset link will be send to matching email address"
+msgstr "Votre nouveau mot de passe sera envoyé à l’adresse correspondante."
+
+#: rhodecode/templates/register.html:5 rhodecode/templates/register.html:74
+msgid "Sign Up"
+msgstr "Inscription"
+
+#: rhodecode/templates/register.html:11
+msgid "Sign Up to"
+msgstr "Inscription à"
+
+#: rhodecode/templates/register.html:38
+msgid "Re-enter password"
+msgstr "Confirmation"
+
+#: rhodecode/templates/register.html:47
+#: rhodecode/templates/admin/users/user_add.html:59
+#: rhodecode/templates/admin/users/user_edit.html:86
+#: rhodecode/templates/admin/users/user_edit_my_account.html:76
+msgid "First Name"
+msgstr "Prénom"
+
+#: rhodecode/templates/register.html:56
+#: rhodecode/templates/admin/users/user_add.html:68
+#: rhodecode/templates/admin/users/user_edit.html:95
+#: rhodecode/templates/admin/users/user_edit_my_account.html:85
+msgid "Last Name"
+msgstr "Nom"
+
+#: rhodecode/templates/register.html:65
+#: rhodecode/templates/admin/users/user_add.html:77
+#: rhodecode/templates/admin/users/user_edit.html:104
+#: rhodecode/templates/admin/users/user_edit_my_account.html:94
+#: rhodecode/templates/summary/summary.html:115
+msgid "Email"
+msgstr "E-mail"
+
+#: rhodecode/templates/register.html:76
+msgid "Your account will be activated right after registration"
+msgstr "Votre compte utilisateur sera actif dès la fin de l’enregistrement."
+
+#: rhodecode/templates/register.html:78
+msgid "Your account must wait for activation by administrator"
+msgstr "Votre compte utilisateur devra être activé par un administrateur."
+
+#: rhodecode/templates/repo_switcher_list.html:11
+#: rhodecode/templates/admin/repos/repo_add_base.html:56
+#: rhodecode/templates/admin/repos/repo_edit.html:76
+#: rhodecode/templates/settings/repo_settings.html:67
+msgid "Private repository"
+msgstr "Dépôt privé"
+
+#: rhodecode/templates/repo_switcher_list.html:16
+msgid "Public repository"
+msgstr "Dépôt public"
+
+#: rhodecode/templates/switch_to_list.html:3
+#: rhodecode/templates/branches/branches.html:14
+msgid "branches"
+msgstr "Branches"
+
+#: rhodecode/templates/switch_to_list.html:10
+#: rhodecode/templates/branches/branches_data.html:51
+msgid "There are no branches yet"
+msgstr "Aucune branche n’a été créée pour le moment."
+
+#: rhodecode/templates/switch_to_list.html:15
+#: rhodecode/templates/shortlog/shortlog_data.html:10
+#: rhodecode/templates/tags/tags.html:15
+msgid "tags"
+msgstr "Tags"
+
+#: rhodecode/templates/switch_to_list.html:22
+#: rhodecode/templates/tags/tags_data.html:33
+msgid "There are no tags yet"
+msgstr "Aucun tag n’a été créé pour le moment."
+
+#: rhodecode/templates/switch_to_list.html:28
+#: rhodecode/templates/bookmarks/bookmarks.html:15
+msgid "bookmarks"
+msgstr "Signets"
+
+#: rhodecode/templates/switch_to_list.html:35
+#: rhodecode/templates/bookmarks/bookmarks_data.html:32
+msgid "There are no bookmarks yet"
+msgstr "Aucun signet n’a été créé."
+
+#: rhodecode/templates/admin/admin.html:5
+#: rhodecode/templates/admin/admin.html:9
+msgid "Admin journal"
+msgstr "Historique d’administration"
+
+#: rhodecode/templates/admin/admin_log.html:6
+#: rhodecode/templates/admin/repos/repos.html:41
+#: rhodecode/templates/admin/repos/repos.html:90
+#: rhodecode/templates/admin/users/user_edit_my_account.html:135
+#: rhodecode/templates/admin/users/user_edit_my_account.html:136
+#: rhodecode/templates/journal/journal.html:52
+#: rhodecode/templates/journal/journal.html:53
+msgid "Action"
+msgstr "Action"
+
+#: rhodecode/templates/admin/admin_log.html:7
+msgid "Repository"
+msgstr "Dépôt"
+
+#: rhodecode/templates/admin/admin_log.html:8
+#: rhodecode/templates/bookmarks/bookmarks.html:37
+#: rhodecode/templates/bookmarks/bookmarks_data.html:7
+#: rhodecode/templates/branches/branches.html:37
+#: rhodecode/templates/tags/tags.html:37
+#: rhodecode/templates/tags/tags_data.html:7
+msgid "Date"
+msgstr "Date"
+
+#: rhodecode/templates/admin/admin_log.html:9
+msgid "From IP"
+msgstr "Depuis l’adresse IP"
+
+#: rhodecode/templates/admin/admin_log.html:52
+msgid "No actions yet"
+msgstr "Aucune action n’a été enregistrée pour le moment."
+
+#: rhodecode/templates/admin/ldap/ldap.html:5
+msgid "LDAP administration"
+msgstr "Administration LDAP"
+
+#: rhodecode/templates/admin/ldap/ldap.html:11
+msgid "Ldap"
+msgstr "LDAP"
+
+#: rhodecode/templates/admin/ldap/ldap.html:28
+msgid "Connection settings"
+msgstr "Options de connexion"
+
+#: rhodecode/templates/admin/ldap/ldap.html:30
+msgid "Enable LDAP"
+msgstr "Activer le LDAP"
+
+#: rhodecode/templates/admin/ldap/ldap.html:34
+msgid "Host"
+msgstr "Serveur"
+
+#: rhodecode/templates/admin/ldap/ldap.html:38
+msgid "Port"
+msgstr "Port"
+
+#: rhodecode/templates/admin/ldap/ldap.html:42
+msgid "Account"
+msgstr "Compte"
+
+#: rhodecode/templates/admin/ldap/ldap.html:50
+msgid "Connection security"
+msgstr "Connexion sécurisée"
+
+#: rhodecode/templates/admin/ldap/ldap.html:54
+msgid "Certificate Checks"
+msgstr "Vérif. des certificats"
+
+#: rhodecode/templates/admin/ldap/ldap.html:57
+msgid "Search settings"
+msgstr "Réglages de recherche"
+
+#: rhodecode/templates/admin/ldap/ldap.html:59
+msgid "Base DN"
+msgstr "Base de recherche"
+
+#: rhodecode/templates/admin/ldap/ldap.html:63
+msgid "LDAP Filter"
+msgstr "Filtre de recherche"
+
+#: rhodecode/templates/admin/ldap/ldap.html:67
+msgid "LDAP Search Scope"
+msgstr "Portée de recherche"
+
+#: rhodecode/templates/admin/ldap/ldap.html:70
+msgid "Attribute mappings"
+msgstr "Correspondance des attributs"
+
+#: rhodecode/templates/admin/ldap/ldap.html:72
+msgid "Login Attribute"
+msgstr "Attribut pour le nom d’utilisateur"
+
+#: rhodecode/templates/admin/ldap/ldap.html:76
+msgid "First Name Attribute"
+msgstr "Attribut pour le prénom"
+
+#: rhodecode/templates/admin/ldap/ldap.html:80
+msgid "Last Name Attribute"
+msgstr "Attribut pour le nom de famille"
+
+#: rhodecode/templates/admin/ldap/ldap.html:84
+msgid "E-mail Attribute"
+msgstr "Attribut pour l’e-mail"
+
+#: rhodecode/templates/admin/ldap/ldap.html:89
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
+#: rhodecode/templates/admin/settings/hooks.html:73
+#: rhodecode/templates/admin/users/user_edit.html:129
+#: rhodecode/templates/admin/users/user_edit.html:154
+#: rhodecode/templates/admin/users/user_edit_my_account.html:102
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:115
+#: rhodecode/templates/settings/repo_settings.html:84
+msgid "Save"
+msgstr "Enregistrer"
+
+#: rhodecode/templates/admin/notifications/notifications.html:5
+#: rhodecode/templates/admin/notifications/notifications.html:9
+msgid "My Notifications"
+msgstr "Mes notifications"
+
+#: rhodecode/templates/admin/notifications/notifications.html:29
+msgid "Mark all read"
+msgstr "Tout marquer comme lu"
+
+#: rhodecode/templates/admin/notifications/notifications_data.html:38
+msgid "No notifications here yet"
+msgstr "Aucune notification pour le moment."
+
+#: rhodecode/templates/admin/notifications/show_notification.html:5
+#: rhodecode/templates/admin/notifications/show_notification.html:11
+msgid "Show notification"
+msgstr "Notification"
+
+#: rhodecode/templates/admin/notifications/show_notification.html:9
+msgid "Notifications"
+msgstr "Notifications"
+
+#: rhodecode/templates/admin/permissions/permissions.html:5
+msgid "Permissions administration"
+msgstr "Gestion des permissions"
+
+#: rhodecode/templates/admin/permissions/permissions.html:11
+#: rhodecode/templates/admin/repos/repo_edit.html:116
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
+#: rhodecode/templates/admin/users/user_edit.html:139
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:100
+#: rhodecode/templates/settings/repo_settings.html:77
+msgid "Permissions"
+msgstr "Permissions"
+
+#: rhodecode/templates/admin/permissions/permissions.html:24
+msgid "Default permissions"
+msgstr "Permissions par défaut"
+
+#: rhodecode/templates/admin/permissions/permissions.html:31
+msgid "Anonymous access"
+msgstr "Accès anonyme"
+
+#: rhodecode/templates/admin/permissions/permissions.html:41
+msgid "Repository permission"
+msgstr "Permissions du dépôt"
+
+#: rhodecode/templates/admin/permissions/permissions.html:49
+msgid ""
+"All default permissions on each repository will be reset to choosen "
+"permission, note that all custom default permission on repositories will "
+"be lost"
+msgstr ""
+"Les permissions par défaut de chaque dépôt vont être remplacées par la "
+"permission choisie. Toutes les permissions par défaut des dépôts seront "
+"perdues."
+
+#: rhodecode/templates/admin/permissions/permissions.html:50
+msgid "overwrite existing settings"
+msgstr "Écraser les permissions existantes"
+
+#: rhodecode/templates/admin/permissions/permissions.html:55
+msgid "Registration"
+msgstr "Enregistrement"
+
+#: rhodecode/templates/admin/permissions/permissions.html:63
+msgid "Repository creation"
+msgstr "Création de dépôt"
+
+#: rhodecode/templates/admin/permissions/permissions.html:71
+#: rhodecode/templates/admin/repos/repo_edit.html:218
+msgid "set"
+msgstr "Définir"
+
+#: rhodecode/templates/admin/repos/repo_add.html:5
+#: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
+msgid "Add repository"
+msgstr "Ajouter un dépôt"
+
+#: rhodecode/templates/admin/repos/repo_add.html:11
+#: rhodecode/templates/admin/repos/repo_edit.html:11
+#: rhodecode/templates/admin/repos/repos.html:10
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
+msgid "Repositories"
+msgstr "Dépôts"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:20
+#: rhodecode/templates/summary/summary.html:90
+#: rhodecode/templates/summary/summary.html:91
+msgid "Clone from"
+msgstr "Cloner depuis"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:24
+#: rhodecode/templates/admin/repos/repo_edit.html:44
+#: rhodecode/templates/settings/repo_settings.html:43
+msgid "Optional http[s] url from which repository should be cloned."
+msgstr "URL http(s) depuis laquelle le dépôt doit être cloné."
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:29
+#: rhodecode/templates/admin/repos/repo_edit.html:49
+#: rhodecode/templates/admin/repos_groups/repos_groups.html:4
+#: rhodecode/templates/forks/fork.html:41
+#: rhodecode/templates/settings/repo_settings.html:48
+msgid "Repository group"
+msgstr "Groupe de dépôt"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:33
+#: rhodecode/templates/admin/repos/repo_edit.html:53
+#: rhodecode/templates/settings/repo_settings.html:52
+msgid "Optional select a group to put this repository into."
+msgstr "Sélectionnez un groupe (optionel) dans lequel sera placé le dépôt."
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:38
+#: rhodecode/templates/admin/repos/repo_edit.html:58
+msgid "Type"
+msgstr "Type"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:42
+msgid "Type of repository to create."
+msgstr "Type de dépôt à créer."
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:51
+#: rhodecode/templates/admin/repos/repo_edit.html:70
+#: rhodecode/templates/settings/repo_settings.html:61
+msgid "Keep it short and to the point. Use a README file for longer descriptions."
+msgstr ""
+"Gardez cette description précise et concise. Utilisez un fichier README "
+"pour des descriptions plus détaillées."
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:60
+#: rhodecode/templates/admin/repos/repo_edit.html:80
+#: rhodecode/templates/settings/repo_settings.html:71
+msgid ""
+"Private repositories are only visible to people explicitly added as "
+"collaborators."
+msgstr ""
+"Les dépôts privés sont visibles seulement par les utilisateurs ajoutés "
+"comme collaborateurs."
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:64
+msgid "add"
+msgstr "Ajouter"
+
+#: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
+msgid "add new repository"
+msgstr "ajouter un nouveau dépôt"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:5
+msgid "Edit repository"
+msgstr "Éditer le dépôt"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:13
+#: rhodecode/templates/admin/users/user_edit.html:13
+#: rhodecode/templates/admin/users/user_edit_my_account.html:155
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:13
+#: rhodecode/templates/files/files_source.html:32
+#: rhodecode/templates/journal/journal.html:72
+msgid "edit"
+msgstr "éditer"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:40
+#: rhodecode/templates/settings/repo_settings.html:39
+msgid "Clone uri"
+msgstr "URL de clone"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:85
+msgid "Enable statistics"
+msgstr "Activer les statistiques"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:89
+msgid "Enable statistics window on summary page."
+msgstr "Afficher les statistiques sur la page du dépôt."
+
+#: rhodecode/templates/admin/repos/repo_edit.html:94
+msgid "Enable downloads"
+msgstr "Activer les téléchargements"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:98
+msgid "Enable download menu on summary page."
+msgstr "Afficher le menu de téléchargements sur la page du dépôt."
+
+#: rhodecode/templates/admin/repos/repo_edit.html:108
+msgid "Change owner of this repository."
+msgstr "Changer le propriétaire de ce dépôt."
+
+#: rhodecode/templates/admin/repos/repo_edit.html:134
+msgid "Administration"
+msgstr "Administration"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:137
+msgid "Statistics"
+msgstr "Statistiques"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:141
+msgid "Reset current statistics"
+msgstr "Réinitialiser les statistiques"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:141
+msgid "Confirm to remove current statistics"
+msgstr "Souhaitez-vous vraiment réinitialiser les statistiques de ce dépôt ?"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:144
+msgid "Fetched to rev"
+msgstr "Parcouru jusqu’à la révision"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:145
+msgid "Stats gathered"
+msgstr "Statistiques obtenues"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:153
+msgid "Remote"
+msgstr "Dépôt distant"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:157
+msgid "Pull changes from remote location"
+msgstr "Récupérer les changements depuis le site distant"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:157
+msgid "Confirm to pull changes from remote side"
+msgstr "Voulez-vous vraiment récupérer les changements depuis le site distant ?"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:168
+msgid "Cache"
+msgstr "Cache"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:172
+msgid "Invalidate repository cache"
+msgstr "Invalider le cache du dépôt"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:172
+msgid "Confirm to invalidate repository cache"
+msgstr "Voulez-vous vraiment invalider le cache du dépôt ?"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:183
+msgid "Remove from public journal"
+msgstr "Supprimer du journal public"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:185
+msgid "Add to public journal"
+msgstr "Ajouter le dépôt au journal public"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:190
+msgid ""
+"All actions made on this repository will be accessible to everyone in "
+"public journal"
+msgstr ""
+"Le descriptif des actions réalisées sur ce dépôt sera visible à tous "
+"depuis le journal public."
+
+#: rhodecode/templates/admin/repos/repo_edit.html:197
+#: rhodecode/templates/changeset/changeset_file_comment.html:19
+msgid "Delete"
+msgstr "Supprimer"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:201
+msgid "Remove this repository"
+msgstr "Supprimer ce dépôt"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:201
+msgid "Confirm to delete this repository"
+msgstr "Voulez-vous vraiment supprimer ce dépôt ?"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:205
+msgid ""
+"This repository will be renamed in a special way in order to be "
+"unaccesible for RhodeCode and VCS systems.\n"
+"                         If you need fully delete it from filesystem "
+"please do it manually"
+msgstr ""
+"Ce dépôt sera renommé de manière à le rendre inaccessible à RhodeCode et "
+"au système de gestion de versions.\n"
+"Si vous voulez le supprimer complètement, effectuez la suppression "
+"manuellement."
+
+#: rhodecode/templates/admin/repos/repo_edit.html:213
+msgid "Set as fork"
+msgstr "Indiquer comme fork"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:222
+msgid "Manually set this repository as a fork of another"
+msgstr "Permet d’indiquer manuellement que ce dépôt est un fork d’un autre dépôt."
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:3
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
+msgid "none"
+msgstr "Aucune"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:4
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
+msgid "read"
+msgstr "Lecture"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:5
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
+msgid "write"
+msgstr "Écriture"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:6
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
+#: rhodecode/templates/admin/users/users.html:38
+#: rhodecode/templates/base/base.html:214
+msgid "admin"
+msgstr "Administration"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:7
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
+msgid "member"
+msgstr "Membre"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:16
+#: rhodecode/templates/data_table/_dt_elements.html:61
+#: rhodecode/templates/journal/journal.html:123
+#: rhodecode/templates/summary/summary.html:71
+msgid "private repository"
+msgstr "Dépôt privé"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:33
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:53
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
+msgid "revoke"
+msgstr "Révoquer"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:75
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
+msgid "Add another member"
+msgstr "Ajouter un utilisateur"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:89
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
+msgid "Failed to remove user"
+msgstr "Échec de suppression de l’utilisateur"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:104
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
+msgid "Failed to remove users group"
+msgstr "Erreur lors de la suppression du groupe d’utilisateurs."
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:123
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:112
+msgid "Group"
+msgstr "Groupe"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:124
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:113
+#: rhodecode/templates/admin/users_groups/users_groups.html:33
+msgid "members"
+msgstr "Membres"
+
+#: rhodecode/templates/admin/repos/repos.html:5
+msgid "Repositories administration"
+msgstr "Administration des dépôts"
+
+#: rhodecode/templates/admin/repos/repos.html:40
+#: rhodecode/templates/summary/summary.html:107
+msgid "Contact"
+msgstr "Contact"
+
+#: rhodecode/templates/admin/repos/repos.html:68
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
+#: rhodecode/templates/admin/users/users.html:55
+#: rhodecode/templates/admin/users_groups/users_groups.html:44
+msgid "delete"
+msgstr "Supprimer"
+
+#: rhodecode/templates/admin/repos/repos.html:68
+#: rhodecode/templates/admin/users/user_edit_my_account.html:158
+#, python-format
+msgid "Confirm to delete this repository: %s"
+msgstr "Voulez-vous vraiment supprimer le dépôt %s ?"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups.html:8
+msgid "Groups"
+msgstr "Groupes"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups.html:12
+msgid "with"
+msgstr "avec support de"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
+msgid "Add repos group"
+msgstr "Créer un groupe de dépôt"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
+msgid "Repos groups"
+msgstr "Groupes de dépôts"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
+msgid "add new repos group"
+msgstr "Nouveau groupe de dépôt"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
+msgid "Group parent"
+msgstr "Parent du groupe"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
+#: rhodecode/templates/admin/users/user_add.html:94
+#: rhodecode/templates/admin/users_groups/users_group_add.html:49
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:90
+msgid "save"
+msgstr "Enregistrer"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
+msgid "Edit repos group"
+msgstr "Éditer le groupe de dépôt"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
+msgid "edit repos group"
+msgstr "Édition du groupe de dépôt"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
+#: rhodecode/templates/admin/settings/settings.html:112
+#: rhodecode/templates/admin/settings/settings.html:177
+#: rhodecode/templates/admin/users/user_edit.html:130
+#: rhodecode/templates/admin/users/user_edit.html:155
+#: rhodecode/templates/admin/users/user_edit_my_account.html:103
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:116
+#: rhodecode/templates/files/files_add.html:82
+#: rhodecode/templates/files/files_edit.html:68
+#: rhodecode/templates/settings/repo_settings.html:85
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
+msgid "Repositories groups administration"
+msgstr "Administration des groupes de dépôts"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
+msgid "ADD NEW GROUP"
+msgstr "AJOUTER UN NOUVEAU GROUPE"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
+msgid "Number of toplevel repositories"
+msgstr "Nombre de sous-dépôts"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
+#: rhodecode/templates/admin/users/users.html:40
+#: rhodecode/templates/admin/users_groups/users_groups.html:35
+msgid "action"
+msgstr "Action"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
+#, python-format
+msgid "Confirm to delete this group: %s"
+msgstr "Voulez-vous vraiment supprimer le groupe « %s » ?"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
+msgid "There are no repositories groups yet"
+msgstr "Aucun groupe de dépôts n’a été créé pour le moment."
+
+#: rhodecode/templates/admin/settings/hooks.html:5
+#: rhodecode/templates/admin/settings/settings.html:5
+msgid "Settings administration"
+msgstr "Administration générale"
+
+#: rhodecode/templates/admin/settings/hooks.html:9
+#: rhodecode/templates/admin/settings/settings.html:9
+#: rhodecode/templates/settings/repo_settings.html:5
+#: rhodecode/templates/settings/repo_settings.html:13
+msgid "Settings"
+msgstr "Options"
+
+#: rhodecode/templates/admin/settings/hooks.html:24
+msgid "Built in hooks - read only"
+msgstr "Hooks prédéfinis (lecture seule)"
+
+#: rhodecode/templates/admin/settings/hooks.html:40
+msgid "Custom hooks"
+msgstr "Hooks personnalisés"
+
+#: rhodecode/templates/admin/settings/hooks.html:56
+msgid "remove"
+msgstr "Enlever"
+
+#: rhodecode/templates/admin/settings/hooks.html:88
+msgid "Failed to remove hook"
+msgstr "Erreur lors de la suppression du hook."
+
+#: rhodecode/templates/admin/settings/settings.html:24
+msgid "Remap and rescan repositories"
+msgstr "Ré-associer et re-scanner les dépôts"
+
+#: rhodecode/templates/admin/settings/settings.html:32
+msgid "rescan option"
+msgstr "Option de re-scan"
+
+#: rhodecode/templates/admin/settings/settings.html:38
+msgid ""
+"In case a repository was deleted from filesystem and there are leftovers "
+"in the database check this option to scan obsolete data in database and "
+"remove it."
+msgstr ""
+"Cochez cette option pour supprimer d’éventuelles données obsolètes "
+"(concernant des dépôts manuellement supprimés) de la base de données."
+
+#: rhodecode/templates/admin/settings/settings.html:39
+msgid "destroy old data"
+msgstr "Supprimer les données obsolètes"
+
+#: rhodecode/templates/admin/settings/settings.html:45
+msgid "Rescan repositories"
+msgstr "Re-scanner les dépôts"
+
+#: rhodecode/templates/admin/settings/settings.html:51
+msgid "Whoosh indexing"
+msgstr "Indexation Whoosh"
+
+#: rhodecode/templates/admin/settings/settings.html:59
+msgid "index build option"
+msgstr "Option d’indexation"
+
+#: rhodecode/templates/admin/settings/settings.html:64
+msgid "build from scratch"
+msgstr "Purger et reconstruire l’index"
+
+#: rhodecode/templates/admin/settings/settings.html:70
+msgid "Reindex"
+msgstr "Mettre à jour l’index"
+
+#: rhodecode/templates/admin/settings/settings.html:76
+msgid "Global application settings"
+msgstr "Réglages d’application globaux"
+
+#: rhodecode/templates/admin/settings/settings.html:85
+msgid "Application name"
+msgstr "Nom de l’application"
+
+#: rhodecode/templates/admin/settings/settings.html:94
+msgid "Realm text"
+msgstr "Texte du royaume"
+
+#: rhodecode/templates/admin/settings/settings.html:103
+msgid "GA code"
+msgstr "Code GA"
+
+#: rhodecode/templates/admin/settings/settings.html:111
+#: rhodecode/templates/admin/settings/settings.html:176
+msgid "Save settings"
+msgstr "Enregister les options"
+
+#: rhodecode/templates/admin/settings/settings.html:118
+msgid "Mercurial settings"
+msgstr "Options de Mercurial"
+
+#: rhodecode/templates/admin/settings/settings.html:127
+msgid "Web"
+msgstr "Web"
+
+#: rhodecode/templates/admin/settings/settings.html:132
+msgid "require ssl for pushing"
+msgstr "SSL requis pour les pushs"
+
+#: rhodecode/templates/admin/settings/settings.html:139
+msgid "Hooks"
+msgstr "Hooks"
+
+#: rhodecode/templates/admin/settings/settings.html:144
+msgid "Update repository after push (hg update)"
+msgstr "Mettre à jour les dépôts après un push (hg update)"
+
+#: rhodecode/templates/admin/settings/settings.html:148
+msgid "Show repository size after push"
+msgstr "Afficher la taille du dépôt après un push"
+
+#: rhodecode/templates/admin/settings/settings.html:152
+msgid "Log user push commands"
+msgstr "Journaliser les commandes de push"
+
+#: rhodecode/templates/admin/settings/settings.html:156
+msgid "Log user pull commands"
+msgstr "Journaliser les commandes de pull"
+
+#: rhodecode/templates/admin/settings/settings.html:160
+msgid "advanced setup"
+msgstr "Avancé"
+
+#: rhodecode/templates/admin/settings/settings.html:165
+msgid "Repositories location"
+msgstr "Emplacement des dépôts"
+
+#: rhodecode/templates/admin/settings/settings.html:170
+msgid ""
+"This a crucial application setting. If you are really sure you need to "
+"change this, you must restart application in order to make this setting "
+"take effect. Click this label to unlock."
+msgstr ""
+"Ce réglage ne devrait pas être modifié en temps normal. Si vous devez "
+"vraiment le faire, redémarrer l’application une fois le changement "
+"effectué. Cliquez sur ce texte pour déverrouiller."
+
+#: rhodecode/templates/admin/settings/settings.html:171
+msgid "unlock"
+msgstr "Déverrouiller"
+
+#: rhodecode/templates/admin/settings/settings.html:191
+msgid "Test Email"
+msgstr "E-mail de test"
+
+#: rhodecode/templates/admin/settings/settings.html:199
+msgid "Email to"
+msgstr "Envoyer l’e-mail à"
+
+#: rhodecode/templates/admin/settings/settings.html:207
+msgid "Send"
+msgstr "Envoyer"
+
+#: rhodecode/templates/admin/settings/settings.html:213
+msgid "System Info and Packages"
+msgstr "Information système et paquets"
+
+#: rhodecode/templates/admin/settings/settings.html:216
+msgid "show"
+msgstr "Montrer"
+
+#: rhodecode/templates/admin/users/user_add.html:5
+msgid "Add user"
+msgstr "Ajouter un utilisateur"
+
+#: rhodecode/templates/admin/users/user_add.html:10
+#: rhodecode/templates/admin/users/user_edit.html:11
+#: rhodecode/templates/admin/users/users.html:9
+msgid "Users"
+msgstr "Utilisateurs"
+
+#: rhodecode/templates/admin/users/user_add.html:12
+msgid "add new user"
+msgstr "nouvel utilisateur"
+
+#: rhodecode/templates/admin/users/user_add.html:50
+msgid "Password confirmation"
+msgstr "Confirmation"
+
+#: rhodecode/templates/admin/users/user_add.html:86
+#: rhodecode/templates/admin/users/user_edit.html:113
+#: rhodecode/templates/admin/users_groups/users_group_add.html:41
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:42
+msgid "Active"
+msgstr "Actif"
+
+#: rhodecode/templates/admin/users/user_edit.html:5
+msgid "Edit user"
+msgstr "Éditer l'utilisateur"
+
+#: rhodecode/templates/admin/users/user_edit.html:34
+#: rhodecode/templates/admin/users/user_edit_my_account.html:33
+msgid "Change your avatar at"
+msgstr "Vous pouvez changer votre avatar sur"
+
+#: rhodecode/templates/admin/users/user_edit.html:35
+#: rhodecode/templates/admin/users/user_edit_my_account.html:34
+msgid "Using"
+msgstr "en utilisant l’adresse"
+
+#: rhodecode/templates/admin/users/user_edit.html:43
+#: rhodecode/templates/admin/users/user_edit_my_account.html:43
+msgid "API key"
+msgstr "Clé d’API"
+
+#: rhodecode/templates/admin/users/user_edit.html:59
+msgid "LDAP DN"
+msgstr "DN LDAP"
+
+#: rhodecode/templates/admin/users/user_edit.html:68
+#: rhodecode/templates/admin/users/user_edit_my_account.html:58
+msgid "New password"
+msgstr "Nouveau mot de passe"
+
+#: rhodecode/templates/admin/users/user_edit.html:77
+#: rhodecode/templates/admin/users/user_edit_my_account.html:67
+msgid "New password confirmation"
+msgstr "Confirmation du nouveau mot de passe"
+
+#: rhodecode/templates/admin/users/user_edit.html:147
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:108
+msgid "Create repositories"
+msgstr "Création de dépôts"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:5
+#: rhodecode/templates/base/base.html:124
+msgid "My account"
+msgstr "Mon compte"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:9
+msgid "My Account"
+msgstr "Mon compte"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:116
+#: rhodecode/templates/journal/journal.html:32
+msgid "My repos"
+msgstr "Mes dépôts"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:116
+msgid "My permissions"
+msgstr "Mes permissions"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:121
+#: rhodecode/templates/journal/journal.html:37
+msgid "ADD"
+msgstr "AJOUTER"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:134
+#: rhodecode/templates/bookmarks/bookmarks.html:40
+#: rhodecode/templates/bookmarks/bookmarks_data.html:9
+#: rhodecode/templates/branches/branches.html:40
+#: rhodecode/templates/journal/journal.html:51
+#: rhodecode/templates/tags/tags.html:40
+#: rhodecode/templates/tags/tags_data.html:9
+msgid "Revision"
+msgstr "Révision"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:155
+#: rhodecode/templates/journal/journal.html:72
+msgid "private"
+msgstr "privé"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:165
+#: rhodecode/templates/journal/journal.html:85
+msgid "No repositories yet"
+msgstr "Aucun dépôt pour le moment"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:167
+#: rhodecode/templates/journal/journal.html:87
+msgid "create one now"
+msgstr "En créer un maintenant"
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:184
+#: rhodecode/templates/admin/users/user_edit_my_account.html:285
+msgid "Permission"
+msgstr "Permission"
+
+#: rhodecode/templates/admin/users/users.html:5
+msgid "Users administration"
+msgstr "Administration des utilisateurs"
+
+#: rhodecode/templates/admin/users/users.html:23
+msgid "ADD NEW USER"
+msgstr "NOUVEL UTILISATEUR"
+
+#: rhodecode/templates/admin/users/users.html:33
+msgid "username"
+msgstr "Nom d’utilisateur"
+
+#: rhodecode/templates/admin/users/users.html:34
+#: rhodecode/templates/branches/branches_data.html:6
+msgid "name"
+msgstr "Prénom"
+
+#: rhodecode/templates/admin/users/users.html:35
+msgid "lastname"
+msgstr "Nom de famille"
+
+#: rhodecode/templates/admin/users/users.html:36
+msgid "last login"
+msgstr "Dernière connexion"
+
+#: rhodecode/templates/admin/users/users.html:37
+#: rhodecode/templates/admin/users_groups/users_groups.html:34
+msgid "active"
+msgstr "Actif"
+
+#: rhodecode/templates/admin/users/users.html:39
+#: rhodecode/templates/base/base.html:223
+msgid "ldap"
+msgstr "LDAP"
+
+#: rhodecode/templates/admin/users/users.html:56
+#, python-format
+msgid "Confirm to delete this user: %s"
+msgstr "Voulez-vous vraiment supprimer l’utilisateur « %s » ?"
+
+#: rhodecode/templates/admin/users_groups/users_group_add.html:5
+msgid "Add users group"
+msgstr "Ajouter un groupe d’utilisateur"
+
+#: rhodecode/templates/admin/users_groups/users_group_add.html:10
+#: rhodecode/templates/admin/users_groups/users_groups.html:9
+msgid "Users groups"
+msgstr "Groupes d’utilisateurs"
+
+#: rhodecode/templates/admin/users_groups/users_group_add.html:12
+msgid "add new users group"
+msgstr "Ajouter un nouveau groupe"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:5
+msgid "Edit users group"
+msgstr "Éditer le groupe d’utilisateurs"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:11
+msgid "UsersGroups"
+msgstr "UsersGroups"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:50
+msgid "Members"
+msgstr "Membres"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:58
+msgid "Choosen group members"
+msgstr "Membres du groupe"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:61
+msgid "Remove all elements"
+msgstr "Tout enlever"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:75
+msgid "Available members"
+msgstr "Membres disponibles"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:79
+msgid "Add all elements"
+msgstr "Tout ajouter"
+
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:126
+msgid "Group members"
+msgstr "Membres du groupe"
+
+#: rhodecode/templates/admin/users_groups/users_groups.html:5
+msgid "Users groups administration"
+msgstr "Gestion des groupes d’utilisateurs"
+
+#: rhodecode/templates/admin/users_groups/users_groups.html:23
+msgid "ADD NEW USER GROUP"
+msgstr "AJOUTER UN NOUVEAU GROUPE"
+
+#: rhodecode/templates/admin/users_groups/users_groups.html:32
+msgid "group name"
+msgstr "Nom du groupe"
+
+#: rhodecode/templates/admin/users_groups/users_groups.html:45
+#, python-format
+msgid "Confirm to delete this users group: %s"
+msgstr "Voulez-vous vraiment supprimer le groupe d‘utilisateurs « %s » ?"
+
+#: rhodecode/templates/base/base.html:41
+msgid "Submit a bug"
+msgstr "Signaler un bogue"
+
+#: rhodecode/templates/base/base.html:77
+msgid "Login to your account"
+msgstr "Connexion à votre compte"
+
+#: rhodecode/templates/base/base.html:100
+msgid "Forgot password ?"
+msgstr "Mot de passe oublié ?"
+
+#: rhodecode/templates/base/base.html:107
+msgid "Log In"
+msgstr "Connexion"
+
+#: rhodecode/templates/base/base.html:118
+msgid "Inbox"
+msgstr "Boîte de réception"
+
+#: rhodecode/templates/base/base.html:122
+#: rhodecode/templates/base/base.html:289
+#: rhodecode/templates/base/base.html:291
+#: rhodecode/templates/base/base.html:293
+msgid "Home"
+msgstr "Accueil"
+
+#: rhodecode/templates/base/base.html:123
+#: rhodecode/templates/base/base.html:298
+#: rhodecode/templates/base/base.html:300
+#: rhodecode/templates/base/base.html:302
+#: rhodecode/templates/journal/journal.html:4
+#: rhodecode/templates/journal/journal.html:17
+#: rhodecode/templates/journal/public_journal.html:4
+msgid "Journal"
+msgstr "Historique"
+
+#: rhodecode/templates/base/base.html:125
+msgid "Log Out"
+msgstr "Se déconnecter"
+
+#: rhodecode/templates/base/base.html:144
+msgid "Switch repository"
+msgstr "Aller au dépôt"
+
+#: rhodecode/templates/base/base.html:146
+msgid "Products"
+msgstr "Produits"
+
+#: rhodecode/templates/base/base.html:152
+#: rhodecode/templates/base/base.html:182
+msgid "loading..."
+msgstr "Chargement…"
+
+#: rhodecode/templates/base/base.html:158
+#: rhodecode/templates/base/base.html:160
+#: rhodecode/templates/base/base.html:162
+#: rhodecode/templates/data_table/_dt_elements.html:9
+#: rhodecode/templates/data_table/_dt_elements.html:11
+#: rhodecode/templates/data_table/_dt_elements.html:13
+#: rhodecode/templates/summary/summary.html:4
+msgid "Summary"
+msgstr "Résumé"
+
+#: rhodecode/templates/base/base.html:166
+#: rhodecode/templates/base/base.html:168
+#: rhodecode/templates/base/base.html:170
+#: rhodecode/templates/changelog/changelog.html:6
+#: rhodecode/templates/changelog/changelog.html:15
+#: rhodecode/templates/data_table/_dt_elements.html:17
+#: rhodecode/templates/data_table/_dt_elements.html:19
+#: rhodecode/templates/data_table/_dt_elements.html:21
+msgid "Changelog"
+msgstr "Historique"
+
+#: rhodecode/templates/base/base.html:175
+#: rhodecode/templates/base/base.html:177
+#: rhodecode/templates/base/base.html:179
+msgid "Switch to"
+msgstr "Aller"
+
+#: rhodecode/templates/base/base.html:186
+#: rhodecode/templates/base/base.html:188
+#: rhodecode/templates/base/base.html:190
+#: rhodecode/templates/data_table/_dt_elements.html:25
+#: rhodecode/templates/data_table/_dt_elements.html:27
+#: rhodecode/templates/data_table/_dt_elements.html:29
+#: rhodecode/templates/files/files.html:4
+#: rhodecode/templates/files/files.html:40
+msgid "Files"
+msgstr "Fichiers"
+
+#: rhodecode/templates/base/base.html:195
+#: rhodecode/templates/base/base.html:199
+msgid "Options"
+msgstr "Options"
+
+#: rhodecode/templates/base/base.html:204
+#: rhodecode/templates/base/base.html:206
+#: rhodecode/templates/base/base.html:224
+msgid "settings"
+msgstr "Réglages"
+
+#: rhodecode/templates/base/base.html:209
+#: rhodecode/templates/data_table/_dt_elements.html:74
+#: rhodecode/templates/forks/fork.html:13
+msgid "fork"
+msgstr "Fork"
+
+#: rhodecode/templates/base/base.html:210
+msgid "search"
+msgstr "Rechercher"
+
+#: rhodecode/templates/base/base.html:217
+msgid "journal"
+msgstr "Journal"
+
+#: rhodecode/templates/base/base.html:219
+msgid "repositories groups"
+msgstr "Groupes de dépôts"
+
+#: rhodecode/templates/base/base.html:220
+msgid "users"
+msgstr "Utilisateurs"
+
+#: rhodecode/templates/base/base.html:221
+msgid "users groups"
+msgstr "Groupes d’utilisateurs"
+
+#: rhodecode/templates/base/base.html:222
+msgid "permissions"
+msgstr "Permissions"
+
+#: rhodecode/templates/base/base.html:235
+#: rhodecode/templates/base/base.html:237
+#: rhodecode/templates/followers/followers.html:5
+msgid "Followers"
+msgstr "Followers"
+
+#: rhodecode/templates/base/base.html:243
+#: rhodecode/templates/base/base.html:245
+#: rhodecode/templates/forks/forks.html:5
+msgid "Forks"
+msgstr "Forks"
+
+#: rhodecode/templates/base/base.html:316
+#: rhodecode/templates/base/base.html:318
+#: rhodecode/templates/base/base.html:320
+#: rhodecode/templates/search/search.html:4
+#: rhodecode/templates/search/search.html:24
+#: rhodecode/templates/search/search.html:46
+msgid "Search"
+msgstr "Rechercher"
+
+#: rhodecode/templates/base/root.html:53
+msgid "add another comment"
+msgstr "Nouveau commentaire"
+
+#: rhodecode/templates/base/root.html:54
+#: rhodecode/templates/journal/journal.html:111
+#: rhodecode/templates/summary/summary.html:52
+msgid "Stop following this repository"
+msgstr "Arrêter de suivre ce dépôt"
+
+#: rhodecode/templates/base/root.html:55
+#: rhodecode/templates/summary/summary.html:56
+msgid "Start following this repository"
+msgstr "Suivre ce dépôt"
+
+#: rhodecode/templates/bookmarks/bookmarks.html:5
+msgid "Bookmarks"
+msgstr "Signets"
+
+#: rhodecode/templates/bookmarks/bookmarks.html:39
+#: rhodecode/templates/bookmarks/bookmarks_data.html:8
+#: rhodecode/templates/branches/branches.html:39
+#: rhodecode/templates/tags/tags.html:39
+#: rhodecode/templates/tags/tags_data.html:8
+msgid "Author"
+msgstr "Auteur"
+
+#: rhodecode/templates/branches/branches_data.html:7
+msgid "date"
+msgstr "Date"
+
+#: rhodecode/templates/branches/branches_data.html:8
+#: rhodecode/templates/shortlog/shortlog_data.html:8
+msgid "author"
+msgstr "Auteur"
+
+#: rhodecode/templates/branches/branches_data.html:9
+#: rhodecode/templates/shortlog/shortlog_data.html:5
+msgid "revision"
+msgstr "Révision"
+
+#: rhodecode/templates/changelog/changelog.html:15
+#, python-format
+msgid "showing %d out of %d revision"
+msgid_plural "showing %d out of %d revisions"
+msgstr[0] "Affichage de %d révision sur %d"
+msgstr[1] "Affichage de %d révisions sur %d"
+
+#: rhodecode/templates/changelog/changelog.html:38
+msgid "Show"
+msgstr "Afficher"
+
+#: rhodecode/templates/changelog/changelog.html:64
+#: rhodecode/templates/summary/summary.html:352
+msgid "show more"
+msgstr "montrer plus"
+
+#: rhodecode/templates/changelog/changelog.html:68
+msgid "Affected number of files, click to show more details"
+msgstr "Nombre de fichiers modifiés, cliquez pour plus de détails"
+
+#: rhodecode/templates/changelog/changelog.html:82
+#: rhodecode/templates/changeset/changeset.html:72
+msgid "Parent"
+msgstr "Parent"
+
+#: rhodecode/templates/changelog/changelog.html:88
+#: rhodecode/templates/changeset/changeset.html:78
+msgid "No parents"
+msgstr "Aucun parent"
+
+#: rhodecode/templates/changelog/changelog.html:93
+#: rhodecode/templates/changeset/changeset.html:82
+msgid "merge"
+msgstr "Fusion"
+
+#: rhodecode/templates/changelog/changelog.html:96
+#: rhodecode/templates/changeset/changeset.html:85
+#: rhodecode/templates/files/files.html:29
+#: rhodecode/templates/files/files_add.html:33
+#: rhodecode/templates/files/files_edit.html:33
+#: rhodecode/templates/shortlog/shortlog_data.html:9
+msgid "branch"
+msgstr "Branche"
+
+#: rhodecode/templates/changelog/changelog.html:102
+msgid "bookmark"
+msgstr "Signet"
+
+#: rhodecode/templates/changelog/changelog.html:108
+#: rhodecode/templates/changeset/changeset.html:90
+msgid "tag"
+msgstr "Tag"
+
+#: rhodecode/templates/changelog/changelog.html:144
+msgid "Show selected changes __S -> __E"
+msgstr "Afficher les changements sélections de __S à __E"
+
+#: rhodecode/templates/changelog/changelog.html:235
+msgid "There are no changes yet"
+msgstr "Il n’y a aucun changement pour le moment"
+
+#: rhodecode/templates/changelog/changelog_details.html:2
+#: rhodecode/templates/changeset/changeset.html:60
+msgid "removed"
+msgstr "Supprimés"
+
+#: rhodecode/templates/changelog/changelog_details.html:3
+#: rhodecode/templates/changeset/changeset.html:61
+msgid "changed"
+msgstr "Modifiés"
+
+#: rhodecode/templates/changelog/changelog_details.html:4
+#: rhodecode/templates/changeset/changeset.html:62
+msgid "added"
+msgstr "Ajoutés"
+
+#: rhodecode/templates/changelog/changelog_details.html:6
+#: rhodecode/templates/changelog/changelog_details.html:7
+#: rhodecode/templates/changelog/changelog_details.html:8
+#: rhodecode/templates/changeset/changeset.html:64
+#: rhodecode/templates/changeset/changeset.html:65
+#: rhodecode/templates/changeset/changeset.html:66
+#, python-format
+msgid "affected %s files"
+msgstr "%s fichiers affectés"
+
+#: rhodecode/templates/changeset/changeset.html:6
+#: rhodecode/templates/changeset/changeset.html:14
+msgid "Changeset"
+msgstr "Changements"
+
+#: rhodecode/templates/changeset/changeset.html:37
+#: rhodecode/templates/changeset/diff_block.html:20
+msgid "raw diff"
+msgstr "Diff brut"
+
+#: rhodecode/templates/changeset/changeset.html:38
+#: rhodecode/templates/changeset/diff_block.html:21
+msgid "download diff"
+msgstr "Télécharger le diff"
+
+#: rhodecode/templates/changeset/changeset.html:42
+#: rhodecode/templates/changeset/changeset_file_comment.html:69
+#, python-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commentaire"
+msgstr[1] "%d commentaires"
+
+#: rhodecode/templates/changeset/changeset.html:42
+#: rhodecode/templates/changeset/changeset_file_comment.html:69
+#, python-format
+msgid "(%d inline)"
+msgid_plural "(%d inline)"
+msgstr[0] "(et %d en ligne)"
+msgstr[1] "(et %d en ligne)"
+
+#: rhodecode/templates/changeset/changeset.html:97
+#, python-format
+msgid "%s files affected with %s insertions and %s deletions:"
+msgstr "%s fichiers affectés avec %s insertions et %s suppressions :"
+
+#: rhodecode/templates/changeset/changeset.html:113
+msgid "Changeset was too big and was cut off..."
+msgstr "Cet ensemble de changements était trop important et a été découpé…"
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:35
+msgid "Submitting..."
+msgstr "Envoi…"
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:38
+msgid "Commenting on line {1}."
+msgstr "Commentaire sur la ligne {1}."
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:39
+#: rhodecode/templates/changeset/changeset_file_comment.html:100
+#, python-format
+msgid "Comments parsed using %s syntax with %s support."
+msgstr ""
+"Les commentaires sont analysés avec la syntaxe %s, avec le support de la "
+"commande %s."
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:41
+#: rhodecode/templates/changeset/changeset_file_comment.html:102
+msgid "Use @username inside this text to send notification to this RhodeCode user"
+msgstr ""
+"Utilisez @nomutilisateur dans ce texte pour envoyer une notification à "
+"l’utilisateur RhodeCode en question."
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:47
+#: rhodecode/templates/changeset/changeset_file_comment.html:107
+msgid "Comment"
+msgstr "Commentaire"
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:48
+#: rhodecode/templates/changeset/changeset_file_comment.html:59
+msgid "Hide"
+msgstr "Masquer"
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:55
+msgid "You need to be logged in to comment."
+msgstr "Vous devez être connecté pour poster des commentaires."
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:55
+msgid "Login now"
+msgstr "Se connecter maintenant"
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:97
+msgid "Leave a comment"
+msgstr "Laisser un commentaire"
+
+#: rhodecode/templates/changeset/changeset_range.html:29
+msgid "Compare View"
+msgstr "Comparaison"
+
+#: rhodecode/templates/changeset/changeset_range.html:49
+msgid "Files affected"
+msgstr "Fichiers affectés"
+
+#: rhodecode/templates/changeset/diff_block.html:19
+msgid "diff"
+msgstr "Diff"
+
+#: rhodecode/templates/changeset/diff_block.html:27
+msgid "show inline comments"
+msgstr "Afficher les commentaires"
+
+#: rhodecode/templates/data_table/_dt_elements.html:33
+#: rhodecode/templates/data_table/_dt_elements.html:35
+#: rhodecode/templates/data_table/_dt_elements.html:37
+#: rhodecode/templates/forks/fork.html:5
+msgid "Fork"
+msgstr "Fork"
+
+#: rhodecode/templates/data_table/_dt_elements.html:54
+#: rhodecode/templates/journal/journal.html:117
+#: rhodecode/templates/summary/summary.html:63
+msgid "Mercurial repository"
+msgstr "Dépôt Mercurial"
+
+#: rhodecode/templates/data_table/_dt_elements.html:56
+#: rhodecode/templates/journal/journal.html:119
+#: rhodecode/templates/summary/summary.html:66
+msgid "Git repository"
+msgstr "Dépôt Git"
+
+#: rhodecode/templates/data_table/_dt_elements.html:63
+#: rhodecode/templates/journal/journal.html:125
+#: rhodecode/templates/summary/summary.html:73
+msgid "public repository"
+msgstr "Dépôt public"
+
+#: rhodecode/templates/data_table/_dt_elements.html:74
+#: rhodecode/templates/summary/summary.html:82
+#: rhodecode/templates/summary/summary.html:83
+msgid "Fork of"
+msgstr "Fork de"
+
+#: rhodecode/templates/data_table/_dt_elements.html:86
+msgid "No changesets yet"
+msgstr "Dépôt vide"
+
+#: rhodecode/templates/email_templates/main.html:8
+msgid "This is an notification from RhodeCode."
+msgstr "Ceci est une notification de RhodeCode."
+
+#: rhodecode/templates/errors/error_document.html:44
+#, python-format
+msgid "You will be redirected to %s in %s seconds"
+msgstr "Vous serez redirigé vers %s dans %s secondes."
+
+#: rhodecode/templates/files/file_diff.html:4
+#: rhodecode/templates/files/file_diff.html:12
+msgid "File diff"
+msgstr "Diff de fichier"
+
+#: rhodecode/templates/files/files.html:12
+#: rhodecode/templates/summary/summary.html:328
+msgid "files"
+msgstr "Fichiers"
+
+#: rhodecode/templates/files/files.html:44
+msgid "search truncated"
+msgstr "Résultats tronqués"
+
+#: rhodecode/templates/files/files.html:45
+msgid "no matching files"
+msgstr "Aucun fichier ne correspond"
+
+#: rhodecode/templates/files/files_add.html:4
+#: rhodecode/templates/files/files_edit.html:4
+msgid "Edit file"
+msgstr "Éditer un fichier"
+
+#: rhodecode/templates/files/files_add.html:19
+msgid "add file"
+msgstr "Ajouter un fichier"
+
+#: rhodecode/templates/files/files_add.html:40
+msgid "Add new file"
+msgstr "Ajouter un nouveau fichier"
+
+#: rhodecode/templates/files/files_add.html:45
+msgid "File Name"
+msgstr "Nom de fichier"
+
+#: rhodecode/templates/files/files_add.html:49
+#: rhodecode/templates/files/files_add.html:58
+msgid "or"
+msgstr "ou"
+
+#: rhodecode/templates/files/files_add.html:49
+#: rhodecode/templates/files/files_add.html:54
+msgid "Upload file"
+msgstr "Téléverser un fichier"
+
+#: rhodecode/templates/files/files_add.html:58
+msgid "Create new file"
+msgstr "Créer un nouveau fichier"
+
+#: rhodecode/templates/files/files_add.html:63
+#: rhodecode/templates/files/files_edit.html:39
+#: rhodecode/templates/files/files_ypjax.html:3
+msgid "Location"
+msgstr "Emplacement"
+
+#: rhodecode/templates/files/files_add.html:67
+msgid "use / to separate directories"
+msgstr "Utilisez / pour séparer les répertoires"
+
+#: rhodecode/templates/files/files_add.html:77
+#: rhodecode/templates/files/files_edit.html:63
+#: rhodecode/templates/shortlog/shortlog_data.html:6
+msgid "commit message"
+msgstr "Message de commit"
+
+#: rhodecode/templates/files/files_add.html:81
+#: rhodecode/templates/files/files_edit.html:67
+msgid "Commit changes"
+msgstr "Commiter les changements"
+
+#: rhodecode/templates/files/files_browser.html:13
+msgid "view"
+msgstr "voir"
+
+#: rhodecode/templates/files/files_browser.html:14
+msgid "previous revision"
+msgstr "révision précédente"
+
+#: rhodecode/templates/files/files_browser.html:16
+msgid "next revision"
+msgstr "révision suivante"
+
+#: rhodecode/templates/files/files_browser.html:23
+msgid "follow current branch"
+msgstr "Suivre la branche actuelle"
+
+#: rhodecode/templates/files/files_browser.html:27
+msgid "search file list"
+msgstr "Rechercher un fichier"
+
+#: rhodecode/templates/files/files_browser.html:31
+#: rhodecode/templates/shortlog/shortlog_data.html:65
+msgid "add new file"
+msgstr "Ajouter un fichier"
+
+#: rhodecode/templates/files/files_browser.html:35
+msgid "Loading file list..."
+msgstr "Chargement de la liste des fichiers…"
+
+#: rhodecode/templates/files/files_browser.html:48
+msgid "Size"
+msgstr "Taille"
+
+#: rhodecode/templates/files/files_browser.html:49
+msgid "Mimetype"
+msgstr "Type MIME"
+
+#: rhodecode/templates/files/files_browser.html:50
+msgid "Last Revision"
+msgstr "Dernière révision"
+
+#: rhodecode/templates/files/files_browser.html:51
+msgid "Last modified"
+msgstr "Dernière modification"
+
+#: rhodecode/templates/files/files_browser.html:52
+msgid "Last commiter"
+msgstr "Dernier commiteur"
+
+#: rhodecode/templates/files/files_edit.html:19
+msgid "edit file"
+msgstr "Éditer le fichier"
+
+#: rhodecode/templates/files/files_edit.html:49
+#: rhodecode/templates/files/files_source.html:26
+msgid "show annotation"
+msgstr "Afficher les annotations"
+
+#: rhodecode/templates/files/files_edit.html:50
+#: rhodecode/templates/files/files_source.html:28
+#: rhodecode/templates/files/files_source.html:56
+msgid "show as raw"
+msgstr "montrer le fichier brut"
+
+#: rhodecode/templates/files/files_edit.html:51
+#: rhodecode/templates/files/files_source.html:29
+msgid "download as raw"
+msgstr "télécharger le fichier brut"
+
+#: rhodecode/templates/files/files_edit.html:54
+msgid "source"
+msgstr "Source"
+
+#: rhodecode/templates/files/files_edit.html:59
+msgid "Editing file"
+msgstr "Édition du fichier"
+
+#: rhodecode/templates/files/files_source.html:2
+msgid "History"
+msgstr "Historique"
+
+#: rhodecode/templates/files/files_source.html:24
+msgid "show source"
+msgstr "montrer les sources"
+
+#: rhodecode/templates/files/files_source.html:47
+#, python-format
+msgid "Binary file (%s)"
+msgstr "Fichier binaire (%s)"
+
+#: rhodecode/templates/files/files_source.html:56
+msgid "File is too big to display"
+msgstr "Ce fichier est trop gros pour être affiché."
+
+#: rhodecode/templates/files/files_source.html:112
+msgid "Selection link"
+msgstr "Lien vers la sélection"
+
+#: rhodecode/templates/files/files_ypjax.html:5
+msgid "annotation"
+msgstr "annotation"
+
+#: rhodecode/templates/files/files_ypjax.html:15
+msgid "Go back"
+msgstr "Revenir en arrière"
+
+#: rhodecode/templates/files/files_ypjax.html:16
+msgid "No files at given path"
+msgstr "Aucun fichier à cet endroit"
+
+#: rhodecode/templates/followers/followers.html:13
+msgid "followers"
+msgstr "followers"
+
+#: rhodecode/templates/followers/followers_data.html:12
+msgid "Started following"
+msgstr "Date de début"
+
+#: rhodecode/templates/forks/fork.html:31
+msgid "Fork name"
+msgstr "Nom du fork"
+
+#: rhodecode/templates/forks/fork.html:57
+msgid "Private"
+msgstr "Privé"
+
+#: rhodecode/templates/forks/fork.html:65
+msgid "Copy permissions"
+msgstr "Copier les permissions"
+
+#: rhodecode/templates/forks/fork.html:73
+msgid "Update after clone"
+msgstr "MÀJ après le clonage"
+
+#: rhodecode/templates/forks/fork.html:80
+msgid "fork this repository"
+msgstr "Forker ce dépôt"
+
+#: rhodecode/templates/forks/forks.html:13
+msgid "forks"
+msgstr "forks"
+
+#: rhodecode/templates/forks/forks_data.html:17
+msgid "forked"
+msgstr "forké"
+
+#: rhodecode/templates/forks/forks_data.html:34
+msgid "There are no forks yet"
+msgstr "Il n’y a pas encore de forks."
+
+#: rhodecode/templates/journal/journal.html:20
+msgid "Refresh"
+msgstr "Rafraîchir"
+
+#: rhodecode/templates/journal/journal.html:32
+msgid "Watched"
+msgstr "Surveillé"
+
+#: rhodecode/templates/journal/journal.html:105
+msgid "following user"
+msgstr "utilisateur suivant"
+
+#: rhodecode/templates/journal/journal.html:105
+msgid "user"
+msgstr "utilisateur"
+
+#: rhodecode/templates/journal/journal.html:138
+msgid "You are not following any users or repositories"
+msgstr "Vous ne suivez aucun utilisateur ou dépôt"
+
+#: rhodecode/templates/journal/journal_data.html:47
+msgid "No entries yet"
+msgstr "Aucune entrée pour le moment"
+
+#: rhodecode/templates/journal/public_journal.html:17
+msgid "Public Journal"
+msgstr "Journal public"
+
+#: rhodecode/templates/search/search.html:7
+#: rhodecode/templates/search/search.html:26
+msgid "in repository: "
+msgstr "dans le dépôt :"
+
+#: rhodecode/templates/search/search.html:9
+#: rhodecode/templates/search/search.html:28
+msgid "in all repositories"
+msgstr "dans tous les dépôts"
+
+#: rhodecode/templates/search/search.html:42
+msgid "Search term"
+msgstr "Termes de la recherches"
+
+#: rhodecode/templates/search/search.html:54
+msgid "Search in"
+msgstr "Rechercher dans"
+
+#: rhodecode/templates/search/search.html:57
+msgid "File contents"
+msgstr "Le contenu des fichiers"
+
+#: rhodecode/templates/search/search.html:59
+msgid "File names"
+msgstr "Les noms de fichiers"
+
+#: rhodecode/templates/search/search_content.html:21
+#: rhodecode/templates/search/search_path.html:15
+msgid "Permission denied"
+msgstr "Permission refusée"
+
+#: rhodecode/templates/shortlog/shortlog.html:5
+#: rhodecode/templates/summary/summary.html:209
+msgid "Shortlog"
+msgstr "Résumé des changements"
+
+#: rhodecode/templates/shortlog/shortlog.html:14
+msgid "shortlog"
+msgstr "Résumé"
+
+#: rhodecode/templates/shortlog/shortlog_data.html:7
+msgid "age"
+msgstr "Âge"
+
+#: rhodecode/templates/shortlog/shortlog_data.html:18
+msgid "No commit message"
+msgstr "Pas de message de commit"
+
+#: rhodecode/templates/shortlog/shortlog_data.html:62
+msgid "Add or upload files directly via RhodeCode"
+msgstr "Ajouter ou téléverser des fichiers directement via RhodeCode…"
+
+#: rhodecode/templates/shortlog/shortlog_data.html:71
+msgid "Push new repo"
+msgstr "Pusher le nouveau dépôt"
+
+#: rhodecode/templates/shortlog/shortlog_data.html:79
+msgid "Existing repository?"
+msgstr "Le dépôt existe déjà ?"
+
+#: rhodecode/templates/summary/summary.html:12
+msgid "summary"
+msgstr "résumé"
+
+#: rhodecode/templates/summary/summary.html:44
+#: rhodecode/templates/summary/summary.html:47
+msgid "ATOM"
+msgstr "ATOM"
+
+#: rhodecode/templates/summary/summary.html:77
+#, python-format
+msgid "Non changable ID %s"
+msgstr "Identifiant permanent : %s"
+
+#: rhodecode/templates/summary/summary.html:82
+msgid "public"
+msgstr "publique"
+
+#: rhodecode/templates/summary/summary.html:90
+msgid "remote clone"
+msgstr "Clone distant"
+
+#: rhodecode/templates/summary/summary.html:121
+msgid "Clone url"
+msgstr "URL de clone"
+
+#: rhodecode/templates/summary/summary.html:124
+msgid "Show by Name"
+msgstr "Afficher par nom"
+
+#: rhodecode/templates/summary/summary.html:125
+msgid "Show by ID"
+msgstr "Afficher par ID"
+
+#: rhodecode/templates/summary/summary.html:133
+msgid "Trending files"
+msgstr "Populaires"
+
+#: rhodecode/templates/summary/summary.html:141
+#: rhodecode/templates/summary/summary.html:157
+#: rhodecode/templates/summary/summary.html:185
+msgid "enable"
+msgstr "Activer"
+
+#: rhodecode/templates/summary/summary.html:149
+msgid "Download"
+msgstr "Téléchargements"
+
+#: rhodecode/templates/summary/summary.html:153
+msgid "There are no downloads yet"
+msgstr "Il n’y a pas encore de téléchargements proposés."
+
+#: rhodecode/templates/summary/summary.html:155
+msgid "Downloads are disabled for this repository"
+msgstr "Les téléchargements sont désactivés pour ce dépôt."
+
+#: rhodecode/templates/summary/summary.html:164
+msgid "Check this to download archive with subrepos"
+msgstr "Télécharger une archive contenant également les sous-dépôts éventuels"
+
+#: rhodecode/templates/summary/summary.html:164
+msgid "with subrepos"
+msgstr "avec les sous-dépôts"
+
+#: rhodecode/templates/summary/summary.html:177
+msgid "Commit activity by day / author"
+msgstr "Activité de commit par jour et par auteur"
+
+#: rhodecode/templates/summary/summary.html:188
+msgid "Stats gathered: "
+msgstr "Statistiques obtenues :"
+
+#: rhodecode/templates/summary/summary.html:211
+msgid "Quick start"
+msgstr "Démarrage rapide"
+
+#: rhodecode/templates/summary/summary.html:281
+#, python-format
+msgid "Download %s as %s"
+msgstr "Télécharger %s comme archive %s"
+
+#: rhodecode/templates/summary/summary.html:638
+msgid "commits"
+msgstr "commits"
+
+#: rhodecode/templates/summary/summary.html:639
+msgid "files added"
+msgstr "fichiers ajoutés"
+
+#: rhodecode/templates/summary/summary.html:640
+msgid "files changed"
+msgstr "fichiers modifiés"
+
+#: rhodecode/templates/summary/summary.html:641
+msgid "files removed"
+msgstr "fichiers supprimés"
+
+#: rhodecode/templates/summary/summary.html:644
+msgid "commit"
+msgstr "commit"
+
+#: rhodecode/templates/summary/summary.html:645
+msgid "file added"
+msgstr "fichier ajouté"
+
+#: rhodecode/templates/summary/summary.html:646
+msgid "file changed"
+msgstr "fichié modifié"
+
+#: rhodecode/templates/summary/summary.html:647
+msgid "file removed"
+msgstr "fichier supprimé"
+
--- a/rhodecode/i18n/rhodecode.pot	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/i18n/rhodecode.pot	Tue May 22 22:15:29 2012 +0200
@@ -1,14 +1,14 @@
 # Translations template for RhodeCode.
-# Copyright (C) 2011 ORGANIZATION
+# Copyright (C) 2012 ORGANIZATION
 # This file is distributed under the same license as the RhodeCode project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
 #
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: RhodeCode 1.2.0\n"
+"Project-Id-Version: RhodeCode 1.4.0\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2011-09-14 15:50-0300\n"
+"POT-Creation-Date: 2012-05-20 11:45+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,19 +17,28 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 0.9.6\n"
 
-#: rhodecode/controllers/changeset.py:108 rhodecode/controllers/changeset.py:149
-#: rhodecode/controllers/changeset.py:216 rhodecode/controllers/changeset.py:229
+#: rhodecode/controllers/changelog.py:96
+msgid "All Branches"
+msgstr ""
+
+#: rhodecode/controllers/changeset.py:79
+msgid "show white space"
+msgstr ""
+
+#: rhodecode/controllers/changeset.py:86 rhodecode/controllers/changeset.py:93
+msgid "ignore white space"
+msgstr ""
+
+#: rhodecode/controllers/changeset.py:153
+#, python-format
+msgid "%s line context"
+msgstr ""
+
+#: rhodecode/controllers/changeset.py:320 rhodecode/controllers/changeset.py:335
+#: rhodecode/lib/diffs.py:62
 msgid "binary file"
 msgstr ""
 
-#: rhodecode/controllers/changeset.py:123 rhodecode/controllers/changeset.py:168
-msgid "Changeset is to big and was cut off, see raw changeset instead"
-msgstr ""
-
-#: rhodecode/controllers/changeset.py:159
-msgid "Diff is to big and was cut off, see raw diff instead"
-msgstr ""
-
 #: rhodecode/controllers/error.py:69
 msgid "Home page"
 msgstr ""
@@ -66,153 +75,175 @@
 msgid "%s %s feed"
 msgstr ""
 
-#: rhodecode/controllers/files.py:72
-msgid "There are no files yet"
-msgstr ""
-
-#: rhodecode/controllers/files.py:262
+#: rhodecode/controllers/files.py:86
+#: rhodecode/templates/admin/repos/repo_add.html:13
+msgid "add new"
+msgstr ""
+
+#: rhodecode/controllers/files.py:87
+#, python-format
+msgid "There are no files yet %s"
+msgstr ""
+
+#: rhodecode/controllers/files.py:247
 #, python-format
 msgid "Edited %s via RhodeCode"
 msgstr ""
 
-#: rhodecode/controllers/files.py:267 rhodecode/templates/files/file_diff.html:40
+#: rhodecode/controllers/files.py:252
 msgid "No changes"
 msgstr ""
 
-#: rhodecode/controllers/files.py:278
+#: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
 #, python-format
 msgid "Successfully committed to %s"
 msgstr ""
 
-#: rhodecode/controllers/files.py:283
+#: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
 msgid "Error occurred during commit"
 msgstr ""
 
-#: rhodecode/controllers/files.py:308
+#: rhodecode/controllers/files.py:288
+#, python-format
+msgid "Added %s via RhodeCode"
+msgstr ""
+
+#: rhodecode/controllers/files.py:302
+msgid "No content"
+msgstr ""
+
+#: rhodecode/controllers/files.py:306
+msgid "No filename"
+msgstr ""
+
+#: rhodecode/controllers/files.py:347
 msgid "downloads disabled"
 msgstr ""
 
-#: rhodecode/controllers/files.py:313
+#: rhodecode/controllers/files.py:358
 #, python-format
 msgid "Unknown revision %s"
 msgstr ""
 
-#: rhodecode/controllers/files.py:315
+#: rhodecode/controllers/files.py:360
 msgid "Empty repository"
 msgstr ""
 
-#: rhodecode/controllers/files.py:317
+#: rhodecode/controllers/files.py:362
 msgid "Unknown archive type"
 msgstr ""
 
-#: rhodecode/controllers/files.py:385 rhodecode/controllers/files.py:398
-msgid "Binary file"
-msgstr ""
-
-#: rhodecode/controllers/files.py:417
-#: rhodecode/templates/changeset/changeset_range.html:4
-#: rhodecode/templates/changeset/changeset_range.html:12
-#: rhodecode/templates/changeset/changeset_range.html:29
+#: rhodecode/controllers/files.py:461
+#: rhodecode/templates/changeset/changeset_range.html:5
+#: rhodecode/templates/changeset/changeset_range.html:13
+#: rhodecode/templates/changeset/changeset_range.html:31
 msgid "Changesets"
 msgstr ""
 
-#: rhodecode/controllers/files.py:418 rhodecode/controllers/summary.py:175
+#: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:227
 #: rhodecode/templates/branches/branches.html:5
-#: rhodecode/templates/summary/summary.html:690
 msgid "Branches"
 msgstr ""
 
-#: rhodecode/controllers/files.py:419 rhodecode/controllers/summary.py:176
-#: rhodecode/templates/summary/summary.html:679
+#: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:228
 #: rhodecode/templates/tags/tags.html:5
 msgid "Tags"
 msgstr ""
 
-#: rhodecode/controllers/journal.py:50
+#: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
 #, python-format
-msgid "%s public journal %s feed"
-msgstr ""
-
-#: rhodecode/controllers/journal.py:178 rhodecode/controllers/journal.py:212
-#: rhodecode/templates/admin/repos/repo_edit.html:171
-#: rhodecode/templates/base/base.html:50
-msgid "Public journal"
-msgstr ""
-
-#: rhodecode/controllers/login.py:111
-msgid "You have successfully registered into rhodecode"
-msgstr ""
-
-#: rhodecode/controllers/login.py:133
-msgid "Your password reset link was sent"
-msgstr ""
-
-#: rhodecode/controllers/login.py:155
-msgid "Your password reset was successful, new password has been sent to your email"
-msgstr ""
-
-#: rhodecode/controllers/search.py:109
-msgid "Invalid search query. Try quoting it."
-msgstr ""
-
-#: rhodecode/controllers/search.py:114
-msgid "There is no index to search in. Please run whoosh indexer"
-msgstr ""
-
-#: rhodecode/controllers/search.py:118
-msgid "An error occurred during this search operation"
-msgstr ""
-
-#: rhodecode/controllers/settings.py:61 rhodecode/controllers/settings.py:171
+msgid ""
+"%s repository is not mapped to db perhaps it was created or renamed from the "
+"filesystem please run the application again in order to rescan repositories"
+msgstr ""
+
+#: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was created or renamed from the "
 "file system please run the application again in order to rescan repositories"
 msgstr ""
 
-#: rhodecode/controllers/settings.py:109 rhodecode/controllers/admin/repos.py:239
+#: rhodecode/controllers/forks.py:163
+#, python-format
+msgid "forked %s repository as %s"
+msgstr ""
+
+#: rhodecode/controllers/forks.py:177
+#, python-format
+msgid "An error occurred during repository forking %s"
+msgstr ""
+
+#: rhodecode/controllers/journal.py:53
+#, python-format
+msgid "%s public journal %s feed"
+msgstr ""
+
+#: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:224
+#: rhodecode/templates/admin/repos/repo_edit.html:177
+#: rhodecode/templates/base/base.html:307 rhodecode/templates/base/base.html:309
+#: rhodecode/templates/base/base.html:311
+msgid "Public journal"
+msgstr ""
+
+#: rhodecode/controllers/login.py:116
+msgid "You have successfully registered into rhodecode"
+msgstr ""
+
+#: rhodecode/controllers/login.py:137
+msgid "Your password reset link was sent"
+msgstr ""
+
+#: rhodecode/controllers/login.py:157
+msgid "Your password reset was successful, new password has been sent to your email"
+msgstr ""
+
+#: rhodecode/controllers/search.py:113
+msgid "Invalid search query. Try quoting it."
+msgstr ""
+
+#: rhodecode/controllers/search.py:118
+msgid "There is no index to search in. Please run whoosh indexer"
+msgstr ""
+
+#: rhodecode/controllers/search.py:122
+msgid "An error occurred during this search operation"
+msgstr ""
+
+#: rhodecode/controllers/settings.py:103 rhodecode/controllers/admin/repos.py:211
 #, python-format
 msgid "Repository %s updated successfully"
 msgstr ""
 
-#: rhodecode/controllers/settings.py:126 rhodecode/controllers/admin/repos.py:257
+#: rhodecode/controllers/settings.py:121 rhodecode/controllers/admin/repos.py:229
 #, python-format
 msgid "error occurred during update of repository %s"
 msgstr ""
 
-#: rhodecode/controllers/settings.py:144 rhodecode/controllers/admin/repos.py:275
+#: rhodecode/controllers/settings.py:139 rhodecode/controllers/admin/repos.py:247
 #, python-format
 msgid ""
 "%s repository is not mapped to db perhaps it was moved or renamed  from the "
 "filesystem please run the application again in order to rescan repositories"
 msgstr ""
 
-#: rhodecode/controllers/settings.py:156 rhodecode/controllers/admin/repos.py:287
+#: rhodecode/controllers/settings.py:151 rhodecode/controllers/admin/repos.py:259
 #, python-format
 msgid "deleted repository %s"
 msgstr ""
 
-#: rhodecode/controllers/settings.py:159 rhodecode/controllers/admin/repos.py:297
-#: rhodecode/controllers/admin/repos.py:303
+#: rhodecode/controllers/settings.py:155 rhodecode/controllers/admin/repos.py:269
+#: rhodecode/controllers/admin/repos.py:275
 #, python-format
 msgid "An error occurred during deletion of %s"
 msgstr ""
 
-#: rhodecode/controllers/settings.py:193
-#, python-format
-msgid "forked %s repository as %s"
-msgstr ""
-
-#: rhodecode/controllers/settings.py:211
-#, python-format
-msgid "An error occurred during repository forking %s"
-msgstr ""
-
-#: rhodecode/controllers/summary.py:123
+#: rhodecode/controllers/summary.py:137
 msgid "No data loaded yet"
 msgstr ""
 
-#: rhodecode/controllers/summary.py:126
+#: rhodecode/controllers/summary.py:141
+#: rhodecode/templates/summary/summary.html:139
 msgid "Statistics are disabled for this repository"
 msgstr ""
 
@@ -260,31 +291,31 @@
 msgid "START_TLS on LDAP connection"
 msgstr ""
 
-#: rhodecode/controllers/admin/ldap_settings.py:115
+#: rhodecode/controllers/admin/ldap_settings.py:125
 msgid "Ldap settings updated successfully"
 msgstr ""
 
-#: rhodecode/controllers/admin/ldap_settings.py:120
+#: rhodecode/controllers/admin/ldap_settings.py:129
 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
 msgstr ""
 
-#: rhodecode/controllers/admin/ldap_settings.py:134
+#: rhodecode/controllers/admin/ldap_settings.py:146
 msgid "error occurred during update of ldap settings"
 msgstr ""
 
-#: rhodecode/controllers/admin/permissions.py:56
-msgid "None"
-msgstr ""
-
-#: rhodecode/controllers/admin/permissions.py:57
-msgid "Read"
-msgstr ""
-
-#: rhodecode/controllers/admin/permissions.py:58
-msgid "Write"
-msgstr ""
-
 #: rhodecode/controllers/admin/permissions.py:59
+msgid "None"
+msgstr ""
+
+#: rhodecode/controllers/admin/permissions.py:60
+msgid "Read"
+msgstr ""
+
+#: rhodecode/controllers/admin/permissions.py:61
+msgid "Write"
+msgstr ""
+
+#: rhodecode/controllers/admin/permissions.py:62
 #: rhodecode/templates/admin/ldap/ldap.html:9
 #: rhodecode/templates/admin/permissions/permissions.html:9
 #: rhodecode/templates/admin/repos/repo_add.html:9
@@ -297,546 +328,650 @@
 #: rhodecode/templates/admin/settings/settings.html:9
 #: rhodecode/templates/admin/users/user_add.html:8
 #: rhodecode/templates/admin/users/user_edit.html:9
-#: rhodecode/templates/admin/users/user_edit.html:110
+#: rhodecode/templates/admin/users/user_edit.html:122
 #: rhodecode/templates/admin/users/users.html:9
 #: rhodecode/templates/admin/users_groups/users_group_add.html:8
 #: rhodecode/templates/admin/users_groups/users_group_edit.html:9
 #: rhodecode/templates/admin/users_groups/users_groups.html:9
-#: rhodecode/templates/base/base.html:279 rhodecode/templates/base/base.html:366
-#: rhodecode/templates/base/base.html:368 rhodecode/templates/base/base.html:370
+#: rhodecode/templates/base/base.html:197 rhodecode/templates/base/base.html:326
+#: rhodecode/templates/base/base.html:328 rhodecode/templates/base/base.html:330
 msgid "Admin"
 msgstr ""
 
-#: rhodecode/controllers/admin/permissions.py:62
+#: rhodecode/controllers/admin/permissions.py:65
 msgid "disabled"
 msgstr ""
 
-#: rhodecode/controllers/admin/permissions.py:64
+#: rhodecode/controllers/admin/permissions.py:67
 msgid "allowed with manual account activation"
 msgstr ""
 
-#: rhodecode/controllers/admin/permissions.py:66
-msgid "allowed with automatic account activation"
-msgstr ""
-
-#: rhodecode/controllers/admin/permissions.py:68
-msgid "Disabled"
-msgstr ""
-
 #: rhodecode/controllers/admin/permissions.py:69
+msgid "allowed with automatic account activation"
+msgstr ""
+
+#: rhodecode/controllers/admin/permissions.py:71
+msgid "Disabled"
+msgstr ""
+
+#: rhodecode/controllers/admin/permissions.py:72
 msgid "Enabled"
 msgstr ""
 
-#: rhodecode/controllers/admin/permissions.py:102
+#: rhodecode/controllers/admin/permissions.py:106
 msgid "Default permissions updated successfully"
 msgstr ""
 
-#: rhodecode/controllers/admin/permissions.py:119
+#: rhodecode/controllers/admin/permissions.py:123
 msgid "error occurred during update of permissions"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:96
-#, python-format
-msgid ""
-"%s repository is not mapped to db perhaps it was created or renamed from the "
-"filesystem please run the application again in order to rescan repositories"
-msgstr ""
-
-#: rhodecode/controllers/admin/repos.py:172
+#: rhodecode/controllers/admin/repos.py:116
+msgid "--REMOVE FORK--"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:144
 #, python-format
 msgid "created repository %s from %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:176
+#: rhodecode/controllers/admin/repos.py:148
 #, python-format
 msgid "created repository %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:205
+#: rhodecode/controllers/admin/repos.py:177
 #, python-format
 msgid "error occurred during creation of repository %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:292
+#: rhodecode/controllers/admin/repos.py:264
 #, python-format
 msgid "Cannot delete %s it still contains attached forks"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:320
+#: rhodecode/controllers/admin/repos.py:293
 msgid "An error occurred during deletion of repository user"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:335
+#: rhodecode/controllers/admin/repos.py:312
 msgid "An error occurred during deletion of repository users groups"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:352
+#: rhodecode/controllers/admin/repos.py:329
 msgid "An error occurred during deletion of repository stats"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:367
+#: rhodecode/controllers/admin/repos.py:345
 msgid "An error occurred during cache invalidation"
 msgstr ""
 
+#: rhodecode/controllers/admin/repos.py:365
+msgid "Updated repository visibility in public journal"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:369
+msgid "An error occurred during setting this repository in public journal"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:374 rhodecode/model/forms.py:54
+msgid "Token mismatch"
+msgstr ""
+
 #: rhodecode/controllers/admin/repos.py:387
-msgid "Updated repository visibility in public journal"
-msgstr ""
-
-#: rhodecode/controllers/admin/repos.py:390
-msgid "An error occurred during setting this repository in public journal"
-msgstr ""
-
-#: rhodecode/controllers/admin/repos.py:395 rhodecode/model/forms.py:53
-msgid "Token mismatch"
-msgstr ""
-
-#: rhodecode/controllers/admin/repos.py:408
 msgid "Pulled from remote location"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos.py:410
+#: rhodecode/controllers/admin/repos.py:389
 msgid "An error occurred during pull from remote location"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos_groups.py:83
+#: rhodecode/controllers/admin/repos.py:405
+msgid "Nothing"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:407
+#, python-format
+msgid "Marked repo %s as fork of %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:411
+msgid "An error occurred during this operation"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos_groups.py:119
 #, python-format
 msgid "created repos group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos_groups.py:96
+#: rhodecode/controllers/admin/repos_groups.py:132
 #, python-format
 msgid "error occurred during creation of repos group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos_groups.py:130
+#: rhodecode/controllers/admin/repos_groups.py:166
 #, python-format
 msgid "updated repos group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos_groups.py:143
+#: rhodecode/controllers/admin/repos_groups.py:179
 #, python-format
 msgid "error occurred during update of repos group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos_groups.py:164
+#: rhodecode/controllers/admin/repos_groups.py:198
 #, python-format
 msgid "This group contains %s repositores and cannot be deleted"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos_groups.py:171
+#: rhodecode/controllers/admin/repos_groups.py:205
 #, python-format
 msgid "removed repos group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/repos_groups.py:175
+#: rhodecode/controllers/admin/repos_groups.py:210
+msgid "Cannot delete this group it still contains subgroups"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos_groups.py:215
+#: rhodecode/controllers/admin/repos_groups.py:220
 #, python-format
 msgid "error occurred during deletion of repos group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:109
+#: rhodecode/controllers/admin/repos_groups.py:240
+msgid "An error occurred during deletion of group user"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos_groups.py:260
+msgid "An error occurred during deletion of group users groups"
+msgstr ""
+
+#: rhodecode/controllers/admin/settings.py:120
 #, python-format
 msgid "Repositories successfully rescanned added: %s,removed: %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:118
+#: rhodecode/controllers/admin/settings.py:129
 msgid "Whoosh reindex task scheduled"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:143
+#: rhodecode/controllers/admin/settings.py:154
 msgid "Updated application settings"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:148
-#: rhodecode/controllers/admin/settings.py:215
+#: rhodecode/controllers/admin/settings.py:159
+#: rhodecode/controllers/admin/settings.py:226
 msgid "error occurred during updating application settings"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:210
+#: rhodecode/controllers/admin/settings.py:221
 msgid "Updated mercurial settings"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:236
+#: rhodecode/controllers/admin/settings.py:246
 msgid "Added new hook"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:247
+#: rhodecode/controllers/admin/settings.py:258
 msgid "Updated hooks"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:251
+#: rhodecode/controllers/admin/settings.py:262
 msgid "error occurred during hook creation"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:310
+#: rhodecode/controllers/admin/settings.py:281
+msgid "Email task created"
+msgstr ""
+
+#: rhodecode/controllers/admin/settings.py:336
 msgid "You can't edit this user since it's crucial for entire application"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:339
+#: rhodecode/controllers/admin/settings.py:365
 msgid "Your account was updated successfully"
 msgstr ""
 
-#: rhodecode/controllers/admin/settings.py:359
-#: rhodecode/controllers/admin/users.py:130
+#: rhodecode/controllers/admin/settings.py:384
+#: rhodecode/controllers/admin/users.py:132
 #, python-format
 msgid "error occurred during update of user %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:78
+#: rhodecode/controllers/admin/users.py:79
 #, python-format
 msgid "created user %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:90
+#: rhodecode/controllers/admin/users.py:92
 #, python-format
 msgid "error occurred during creation of user %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:116
+#: rhodecode/controllers/admin/users.py:118
 msgid "User updated successfully"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:146
+#: rhodecode/controllers/admin/users.py:149
 msgid "successfully deleted user"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:150
+#: rhodecode/controllers/admin/users.py:154
 msgid "An error occurred during deletion of user"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:166
+#: rhodecode/controllers/admin/users.py:169
 msgid "You can't edit this user"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:195
-#: rhodecode/controllers/admin/users_groups.py:202
+#: rhodecode/controllers/admin/users.py:199
+#: rhodecode/controllers/admin/users_groups.py:215
 msgid "Granted 'repository create' permission to user"
 msgstr ""
 
-#: rhodecode/controllers/admin/users.py:204
-#: rhodecode/controllers/admin/users_groups.py:211
+#: rhodecode/controllers/admin/users.py:208
+#: rhodecode/controllers/admin/users_groups.py:225
 msgid "Revoked 'repository create' permission to user"
 msgstr ""
 
-#: rhodecode/controllers/admin/users_groups.py:74
+#: rhodecode/controllers/admin/users_groups.py:79
 #, python-format
 msgid "created users group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/users_groups.py:86
+#: rhodecode/controllers/admin/users_groups.py:92
 #, python-format
 msgid "error occurred during creation of users group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/users_groups.py:119
+#: rhodecode/controllers/admin/users_groups.py:128
 #, python-format
 msgid "updated users group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/users_groups.py:138
+#: rhodecode/controllers/admin/users_groups.py:148
 #, python-format
 msgid "error occurred during update of users group %s"
 msgstr ""
 
-#: rhodecode/controllers/admin/users_groups.py:154
+#: rhodecode/controllers/admin/users_groups.py:165
 msgid "successfully deleted users group"
 msgstr ""
 
-#: rhodecode/controllers/admin/users_groups.py:158
+#: rhodecode/controllers/admin/users_groups.py:170
 msgid "An error occurred during deletion of users group"
 msgstr ""
 
-#: rhodecode/lib/__init__.py:279
-msgid "year"
-msgstr ""
-
-#: rhodecode/lib/__init__.py:280
-msgid "month"
-msgstr ""
-
-#: rhodecode/lib/__init__.py:281
-msgid "day"
-msgstr ""
-
-#: rhodecode/lib/__init__.py:282
-msgid "hour"
-msgstr ""
-
-#: rhodecode/lib/__init__.py:283
-msgid "minute"
-msgstr ""
-
-#: rhodecode/lib/__init__.py:284
-msgid "second"
-msgstr ""
-
-#: rhodecode/lib/__init__.py:293
-msgid "ago"
-msgstr ""
-
-#: rhodecode/lib/__init__.py:296
-msgid "just now"
-msgstr ""
-
-#: rhodecode/lib/auth.py:377
+#: rhodecode/lib/auth.py:497
 msgid "You need to be a registered user to perform this action"
 msgstr ""
 
-#: rhodecode/lib/auth.py:421
+#: rhodecode/lib/auth.py:538
 msgid "You need to be a signed in to view this page"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:307
+#: rhodecode/lib/diffs.py:78
+msgid "Changeset was to big and was cut off, use diff menu to display this diff"
+msgstr ""
+
+#: rhodecode/lib/diffs.py:88
+msgid "No changes detected"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:412
 msgid "True"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:311
+#: rhodecode/lib/helpers.py:416
 msgid "False"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:352
+#: rhodecode/lib/helpers.py:475
 #, python-format
 msgid "Show all combined changesets %s->%s"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:356
+#: rhodecode/lib/helpers.py:481
 msgid "compare view"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:365
+#: rhodecode/lib/helpers.py:501
 msgid "and"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:365
+#: rhodecode/lib/helpers.py:502
 #, python-format
 msgid "%s more"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:367 rhodecode/templates/changelog/changelog.html:14
-#: rhodecode/templates/changelog/changelog.html:39
+#: rhodecode/lib/helpers.py:503 rhodecode/templates/changelog/changelog.html:40
 msgid "revisions"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:385
+#: rhodecode/lib/helpers.py:526
 msgid "fork name "
 msgstr ""
 
-#: rhodecode/lib/helpers.py:388
+#: rhodecode/lib/helpers.py:529
 msgid "[deleted] repository"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:389 rhodecode/lib/helpers.py:393
+#: rhodecode/lib/helpers.py:530 rhodecode/lib/helpers.py:535
 msgid "[created] repository"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:390 rhodecode/lib/helpers.py:394
+#: rhodecode/lib/helpers.py:531
+msgid "[created] repository as fork"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:532 rhodecode/lib/helpers.py:536
 msgid "[forked] repository"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:391 rhodecode/lib/helpers.py:395
+#: rhodecode/lib/helpers.py:533 rhodecode/lib/helpers.py:537
 msgid "[updated] repository"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:392
+#: rhodecode/lib/helpers.py:534
 msgid "[delete] repository"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:396
+#: rhodecode/lib/helpers.py:538
 msgid "[pushed] into"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:397
+#: rhodecode/lib/helpers.py:539
 msgid "[committed via RhodeCode] into"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:398
+#: rhodecode/lib/helpers.py:540
 msgid "[pulled from remote] into"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:399
+#: rhodecode/lib/helpers.py:541
 msgid "[pulled] from"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:400
+#: rhodecode/lib/helpers.py:542
 msgid "[started following] repository"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:401
+#: rhodecode/lib/helpers.py:543
 msgid "[stopped following] repository"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:577
+#: rhodecode/lib/helpers.py:721
 #, python-format
 msgid " and %s more"
 msgstr ""
 
-#: rhodecode/lib/helpers.py:581
+#: rhodecode/lib/helpers.py:725
 msgid "No Files"
 msgstr ""
 
-#: rhodecode/model/forms.py:66
+#: rhodecode/lib/utils2.py:335
+#, python-format
+msgid "%d year"
+msgid_plural "%d years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/lib/utils2.py:336
+#, python-format
+msgid "%d month"
+msgid_plural "%d months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/lib/utils2.py:337
+#, python-format
+msgid "%d day"
+msgid_plural "%d days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/lib/utils2.py:338
+#, python-format
+msgid "%d hour"
+msgid_plural "%d hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/lib/utils2.py:339
+#, python-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/lib/utils2.py:340
+#, python-format
+msgid "%d second"
+msgid_plural "%d seconds"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/lib/utils2.py:355
+#, python-format
+msgid "%s ago"
+msgstr ""
+
+#: rhodecode/lib/utils2.py:357
+#, python-format
+msgid "%s and %s ago"
+msgstr ""
+
+#: rhodecode/lib/utils2.py:360
+msgid "just now"
+msgstr ""
+
+#: rhodecode/lib/celerylib/tasks.py:269
+msgid "password reset link"
+msgstr ""
+
+#: rhodecode/model/comment.py:85
+#, python-format
+msgid "on line %s"
+msgstr ""
+
+#: rhodecode/model/comment.py:113
+msgid "[Mention]"
+msgstr ""
+
+#: rhodecode/model/forms.py:72
 msgid "Invalid username"
 msgstr ""
 
-#: rhodecode/model/forms.py:75
+#: rhodecode/model/forms.py:80
 msgid "This username already exists"
 msgstr ""
 
-#: rhodecode/model/forms.py:79
+#: rhodecode/model/forms.py:85
 msgid ""
 "Username may only contain alphanumeric characters underscores, periods or "
 "dashes and must begin with alphanumeric character"
 msgstr ""
 
-#: rhodecode/model/forms.py:94
+#: rhodecode/model/forms.py:101
 msgid "Invalid group name"
 msgstr ""
 
-#: rhodecode/model/forms.py:104
+#: rhodecode/model/forms.py:111
 msgid "This users group already exists"
 msgstr ""
 
-#: rhodecode/model/forms.py:110
+#: rhodecode/model/forms.py:117
 msgid ""
-"Group name may only contain alphanumeric characters underscores, periods or "
-"dashes and must begin with alphanumeric character"
-msgstr ""
-
-#: rhodecode/model/forms.py:132
+"RepoGroup name may only contain  alphanumeric characters underscores, periods"
+" or dashes and must begin with alphanumeric character"
+msgstr ""
+
+#: rhodecode/model/forms.py:145
 msgid "Cannot assign this group as parent"
 msgstr ""
 
-#: rhodecode/model/forms.py:148
+#: rhodecode/model/forms.py:164
 msgid "This group already exists"
 msgstr ""
 
-#: rhodecode/model/forms.py:164 rhodecode/model/forms.py:172
-#: rhodecode/model/forms.py:180
+#: rhodecode/model/forms.py:176
+msgid "Repository with this name already exists"
+msgstr ""
+
+#: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
+#: rhodecode/model/forms.py:213
 msgid "Invalid characters in password"
 msgstr ""
 
-#: rhodecode/model/forms.py:191
+#: rhodecode/model/forms.py:226
 msgid "Passwords do not match"
 msgstr ""
 
-#: rhodecode/model/forms.py:196
+#: rhodecode/model/forms.py:232
 msgid "invalid password"
 msgstr ""
 
-#: rhodecode/model/forms.py:197
-msgid "invalid user name"
-msgstr ""
-
-#: rhodecode/model/forms.py:198
-msgid "Your account is disabled"
-msgstr ""
-
 #: rhodecode/model/forms.py:233
-msgid "This username is not valid"
-msgstr ""
-
-#: rhodecode/model/forms.py:245
-msgid "This repository name is disallowed"
-msgstr ""
-
-#: rhodecode/model/forms.py:266
-#, python-format
-msgid "This repository already exists in group \"%s\""
+msgid "invalid user name"
+msgstr ""
+
+#: rhodecode/model/forms.py:234
+msgid "Your account is disabled"
 msgstr ""
 
 #: rhodecode/model/forms.py:274
+msgid "This username is not valid"
+msgstr ""
+
+#: rhodecode/model/forms.py:287
+msgid "This repository name is disallowed"
+msgstr ""
+
+#: rhodecode/model/forms.py:310
+#, python-format
+msgid "This repository already exists in a group \"%s\""
+msgstr ""
+
+#: rhodecode/model/forms.py:317
+#, python-format
+msgid "There is a group with this name already \"%s\""
+msgstr ""
+
+#: rhodecode/model/forms.py:324
 msgid "This repository already exists"
 msgstr ""
 
-#: rhodecode/model/forms.py:312 rhodecode/model/forms.py:319
+#: rhodecode/model/forms.py:367
 msgid "invalid clone url"
 msgstr ""
 
-#: rhodecode/model/forms.py:322
+#: rhodecode/model/forms.py:384
 msgid "Invalid clone url, provide a valid clone http\\s url"
 msgstr ""
 
-#: rhodecode/model/forms.py:334
+#: rhodecode/model/forms.py:398
 msgid "Fork have to be the same type as original"
 msgstr ""
 
-#: rhodecode/model/forms.py:341
+#: rhodecode/model/forms.py:414
 msgid "This username or users group name is not valid"
 msgstr ""
 
-#: rhodecode/model/forms.py:403
+#: rhodecode/model/forms.py:480
 msgid "This is not a valid path"
 msgstr ""
 
-#: rhodecode/model/forms.py:416
+#: rhodecode/model/forms.py:494
 msgid "This e-mail address is already taken"
 msgstr ""
 
-#: rhodecode/model/forms.py:427
+#: rhodecode/model/forms.py:507
 msgid "This e-mail address doesn't exist."
 msgstr ""
 
-#: rhodecode/model/forms.py:447
+#: rhodecode/model/forms.py:530
 msgid ""
 "The LDAP Login attribute of the CN must be specified - this is the name of "
 "the attribute that is equivalent to 'username'"
 msgstr ""
 
-#: rhodecode/model/forms.py:466
+#: rhodecode/model/forms.py:549
 msgid "Please enter a login"
 msgstr ""
 
-#: rhodecode/model/forms.py:467
+#: rhodecode/model/forms.py:550
 #, python-format
 msgid "Enter a value %(min)i characters long or more"
 msgstr ""
 
-#: rhodecode/model/forms.py:475
+#: rhodecode/model/forms.py:558
 msgid "Please enter a password"
 msgstr ""
 
-#: rhodecode/model/forms.py:476
+#: rhodecode/model/forms.py:559
 #, python-format
 msgid "Enter %(min)i characters or more"
 msgstr ""
 
-#: rhodecode/model/user.py:145
-msgid "[RhodeCode] New User registration"
-msgstr ""
-
-#: rhodecode/model/user.py:157 rhodecode/model/user.py:179
+#: rhodecode/model/notification.py:175
+msgid "commented on commit"
+msgstr ""
+
+#: rhodecode/model/notification.py:176
+msgid "sent message"
+msgstr ""
+
+#: rhodecode/model/notification.py:177
+msgid "mentioned you"
+msgstr ""
+
+#: rhodecode/model/notification.py:178
+msgid "registered in RhodeCode"
+msgstr ""
+
+#: rhodecode/model/user.py:235
+msgid "new user registration"
+msgstr ""
+
+#: rhodecode/model/user.py:259 rhodecode/model/user.py:279
 msgid "You can't Edit this user since it's crucial for entire application"
 msgstr ""
 
-#: rhodecode/model/user.py:201
+#: rhodecode/model/user.py:300
 msgid "You can't remove this user since it's crucial for entire application"
 msgstr ""
 
-#: rhodecode/model/user.py:204
+#: rhodecode/model/user.py:306
 #, python-format
 msgid ""
-"This user still owns %s repositories and cannot be removed. Switch owners or "
-"remove those repositories"
-msgstr ""
-
-#: rhodecode/templates/index.html:4
+"user \"%s\" still owns %s repositories and cannot be removed. Switch owners "
+"or remove those repositories. %s"
+msgstr ""
+
+#: rhodecode/templates/index.html:3
 msgid "Dashboard"
 msgstr ""
 
-#: rhodecode/templates/index_base.html:22
-#: rhodecode/templates/admin/users/user_edit_my_account.html:102
+#: rhodecode/templates/index_base.html:6
+#: rhodecode/templates/admin/users/user_edit_my_account.html:115
+#: rhodecode/templates/bookmarks/bookmarks.html:10
+#: rhodecode/templates/branches/branches.html:9
+#: rhodecode/templates/journal/journal.html:31
+#: rhodecode/templates/tags/tags.html:10
 msgid "quick filter..."
 msgstr ""
 
-#: rhodecode/templates/index_base.html:23 rhodecode/templates/base/base.html:300
+#: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
 msgid "repositories"
 msgstr ""
 
+#: rhodecode/templates/index_base.html:13 rhodecode/templates/index_base.html:15
+#: rhodecode/templates/admin/repos/repos.html:22
+msgid "ADD REPOSITORY"
+msgstr ""
+
 #: rhodecode/templates/index_base.html:29
-#: rhodecode/templates/admin/repos/repos.html:22
-msgid "ADD NEW REPOSITORY"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:41
 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
@@ -845,145 +980,150 @@
 msgid "Group name"
 msgstr ""
 
-#: rhodecode/templates/index_base.html:42 rhodecode/templates/index_base.html:73
-#: rhodecode/templates/admin/repos/repo_add_base.html:44
-#: rhodecode/templates/admin/repos/repo_edit.html:64
-#: rhodecode/templates/admin/repos/repos.html:31
+#: rhodecode/templates/index_base.html:30 rhodecode/templates/index_base.html:67
+#: rhodecode/templates/index_base.html:132 rhodecode/templates/index_base.html:158
+#: rhodecode/templates/admin/repos/repo_add_base.html:47
+#: rhodecode/templates/admin/repos/repo_edit.html:66
+#: rhodecode/templates/admin/repos/repos.html:37
+#: rhodecode/templates/admin/repos/repos.html:84
 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
-#: rhodecode/templates/settings/repo_fork.html:40
-#: rhodecode/templates/settings/repo_settings.html:40
-#: rhodecode/templates/summary/summary.html:92
+#: rhodecode/templates/forks/fork.html:49
+#: rhodecode/templates/settings/repo_settings.html:57
+#: rhodecode/templates/summary/summary.html:100
 msgid "Description"
 msgstr ""
 
-#: rhodecode/templates/index_base.html:53
+#: rhodecode/templates/index_base.html:40
 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
 msgid "Repositories group"
 msgstr ""
 
+#: rhodecode/templates/index_base.html:66 rhodecode/templates/index_base.html:156
+#: rhodecode/templates/admin/repos/repo_add_base.html:9
+#: rhodecode/templates/admin/repos/repo_edit.html:32
+#: rhodecode/templates/admin/repos/repos.html:36
+#: rhodecode/templates/admin/repos/repos.html:82
+#: rhodecode/templates/admin/users/user_edit_my_account.html:133
+#: rhodecode/templates/admin/users/user_edit_my_account.html:183
+#: rhodecode/templates/admin/users/user_edit_my_account.html:249
+#: rhodecode/templates/admin/users/user_edit_my_account.html:284
+#: rhodecode/templates/bookmarks/bookmarks.html:36
+#: rhodecode/templates/bookmarks/bookmarks_data.html:6
+#: rhodecode/templates/branches/branches.html:36
+#: rhodecode/templates/files/files_browser.html:47
+#: rhodecode/templates/journal/journal.html:50
+#: rhodecode/templates/journal/journal.html:98
+#: rhodecode/templates/journal/journal.html:177
+#: rhodecode/templates/settings/repo_settings.html:31
+#: rhodecode/templates/summary/summary.html:38
+#: rhodecode/templates/summary/summary.html:114
+#: rhodecode/templates/tags/tags.html:36 rhodecode/templates/tags/tags_data.html:6
+msgid "Name"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:68
+#: rhodecode/templates/admin/repos/repos.html:38
+msgid "Last change"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:69 rhodecode/templates/index_base.html:161
+#: rhodecode/templates/admin/repos/repos.html:39
+#: rhodecode/templates/admin/repos/repos.html:87
+#: rhodecode/templates/admin/users/user_edit_my_account.html:251
+#: rhodecode/templates/journal/journal.html:179
+msgid "Tip"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:70 rhodecode/templates/index_base.html:163
+#: rhodecode/templates/admin/repos/repo_edit.html:103
+#: rhodecode/templates/admin/repos/repos.html:89
+msgid "Owner"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:71
+#: rhodecode/templates/journal/public_journal.html:20
+#: rhodecode/templates/summary/summary.html:43
+#: rhodecode/templates/summary/summary.html:46
+msgid "RSS"
+msgstr ""
+
 #: rhodecode/templates/index_base.html:72
-#: rhodecode/templates/admin/repos/repo_add_base.html:9
-#: rhodecode/templates/admin/repos/repo_edit.html:32
-#: rhodecode/templates/admin/repos/repos.html:30
-#: rhodecode/templates/admin/users/user_edit_my_account.html:117
-#: rhodecode/templates/files/files_browser.html:157
-#: rhodecode/templates/settings/repo_settings.html:31
-#: rhodecode/templates/summary/summary.html:31
-#: rhodecode/templates/summary/summary.html:107
-msgid "Name"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:74
-#: rhodecode/templates/admin/repos/repos.html:32
-#: rhodecode/templates/summary/summary.html:114
-msgid "Last change"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:75
-#: rhodecode/templates/admin/repos/repos.html:33
-msgid "Tip"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:76
-#: rhodecode/templates/admin/repos/repo_edit.html:97
-msgid "Owner"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:77
-#: rhodecode/templates/journal/public_journal.html:20
-#: rhodecode/templates/summary/summary.html:180
-#: rhodecode/templates/summary/summary.html:183
-msgid "RSS"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:78
 #: rhodecode/templates/journal/public_journal.html:23
-#: rhodecode/templates/summary/summary.html:181
-#: rhodecode/templates/summary/summary.html:184
 msgid "Atom"
 msgstr ""
 
-#: rhodecode/templates/index_base.html:87 rhodecode/templates/index_base.html:89
-#: rhodecode/templates/index_base.html:91 rhodecode/templates/base/base.html:209
-#: rhodecode/templates/base/base.html:211 rhodecode/templates/base/base.html:213
-#: rhodecode/templates/summary/summary.html:4
-msgid "Summary"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:95 rhodecode/templates/index_base.html:97
-#: rhodecode/templates/index_base.html:99 rhodecode/templates/base/base.html:225
-#: rhodecode/templates/base/base.html:227 rhodecode/templates/base/base.html:229
-#: rhodecode/templates/changelog/changelog.html:6
-#: rhodecode/templates/changelog/changelog.html:14
-msgid "Changelog"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:103 rhodecode/templates/index_base.html:105
-#: rhodecode/templates/index_base.html:107 rhodecode/templates/base/base.html:268
-#: rhodecode/templates/base/base.html:270 rhodecode/templates/base/base.html:272
-#: rhodecode/templates/files/files.html:4
-msgid "Files"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:116
-#: rhodecode/templates/admin/repos/repos.html:42
-#: rhodecode/templates/admin/users/user_edit_my_account.html:127
-#: rhodecode/templates/summary/summary.html:48
-msgid "Mercurial repository"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:118
-#: rhodecode/templates/admin/repos/repos.html:44
-#: rhodecode/templates/admin/users/user_edit_my_account.html:129
-#: rhodecode/templates/summary/summary.html:51
-msgid "Git repository"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:123
-#: rhodecode/templates/admin/repos/repo_edit_perms.html:16
-#: rhodecode/templates/journal/journal.html:53
-#: rhodecode/templates/summary/summary.html:56
-msgid "private repository"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:125
-#: rhodecode/templates/journal/journal.html:55
-#: rhodecode/templates/summary/summary.html:58
-msgid "public repository"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:133 rhodecode/templates/base/base.html:291
-#: rhodecode/templates/settings/repo_fork.html:13
-msgid "fork"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:134
-#: rhodecode/templates/admin/repos/repos.html:60
-#: rhodecode/templates/admin/users/user_edit_my_account.html:143
-#: rhodecode/templates/summary/summary.html:69
-#: rhodecode/templates/summary/summary.html:71
-msgid "Fork of"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:155
-#: rhodecode/templates/admin/repos/repos.html:73
-msgid "No changesets yet"
-msgstr ""
-
-#: rhodecode/templates/index_base.html:161 rhodecode/templates/index_base.html:163
+#: rhodecode/templates/index_base.html:102 rhodecode/templates/index_base.html:104
 #, python-format
 msgid "Subscribe to %s rss feed"
 msgstr ""
 
-#: rhodecode/templates/index_base.html:168 rhodecode/templates/index_base.html:170
+#: rhodecode/templates/index_base.html:109 rhodecode/templates/index_base.html:111
 #, python-format
 msgid "Subscribe to %s atom feed"
 msgstr ""
 
+#: rhodecode/templates/index_base.html:130
+msgid "Group Name"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:148 rhodecode/templates/index_base.html:188
+#: rhodecode/templates/admin/repos/repos.html:112
+#: rhodecode/templates/admin/users/user_edit_my_account.html:270
+#: rhodecode/templates/bookmarks/bookmarks.html:60
+#: rhodecode/templates/branches/branches.html:60
+#: rhodecode/templates/journal/journal.html:202
+#: rhodecode/templates/tags/tags.html:60
+msgid "Click to sort ascending"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:149 rhodecode/templates/index_base.html:189
+#: rhodecode/templates/admin/repos/repos.html:113
+#: rhodecode/templates/admin/users/user_edit_my_account.html:271
+#: rhodecode/templates/bookmarks/bookmarks.html:61
+#: rhodecode/templates/branches/branches.html:61
+#: rhodecode/templates/journal/journal.html:203
+#: rhodecode/templates/tags/tags.html:61
+msgid "Click to sort descending"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:159
+#: rhodecode/templates/admin/repos/repos.html:85
+msgid "Last Change"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:190
+#: rhodecode/templates/admin/repos/repos.html:114
+#: rhodecode/templates/admin/users/user_edit_my_account.html:272
+#: rhodecode/templates/bookmarks/bookmarks.html:62
+#: rhodecode/templates/branches/branches.html:62
+#: rhodecode/templates/journal/journal.html:204
+#: rhodecode/templates/tags/tags.html:62
+msgid "No records found."
+msgstr ""
+
+#: rhodecode/templates/index_base.html:191
+#: rhodecode/templates/admin/repos/repos.html:115
+#: rhodecode/templates/admin/users/user_edit_my_account.html:273
+#: rhodecode/templates/bookmarks/bookmarks.html:63
+#: rhodecode/templates/branches/branches.html:63
+#: rhodecode/templates/journal/journal.html:205
+#: rhodecode/templates/tags/tags.html:63
+msgid "Data error."
+msgstr ""
+
+#: rhodecode/templates/index_base.html:192
+#: rhodecode/templates/admin/repos/repos.html:116
+#: rhodecode/templates/admin/users/user_edit_my_account.html:274
+#: rhodecode/templates/bookmarks/bookmarks.html:64
+#: rhodecode/templates/branches/branches.html:64
+#: rhodecode/templates/journal/journal.html:206
+#: rhodecode/templates/tags/tags.html:64
+msgid "Loading..."
+msgstr ""
+
 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
-#: rhodecode/templates/base/base.html:38
 msgid "Sign In"
 msgstr ""
 
@@ -994,25 +1134,29 @@
 #: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
 #: rhodecode/templates/admin/admin_log.html:5
 #: rhodecode/templates/admin/users/user_add.html:32
-#: rhodecode/templates/admin/users/user_edit.html:47
-#: rhodecode/templates/admin/users/user_edit_my_account.html:45
-#: rhodecode/templates/base/base.html:15
-#: rhodecode/templates/summary/summary.html:106
+#: rhodecode/templates/admin/users/user_edit.html:50
+#: rhodecode/templates/admin/users/user_edit_my_account.html:49
+#: rhodecode/templates/base/base.html:83
+#: rhodecode/templates/summary/summary.html:113
 msgid "Username"
 msgstr ""
 
 #: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
 #: rhodecode/templates/admin/ldap/ldap.html:46
 #: rhodecode/templates/admin/users/user_add.html:41
-#: rhodecode/templates/base/base.html:24
+#: rhodecode/templates/base/base.html:92
 msgid "Password"
 msgstr ""
 
+#: rhodecode/templates/login.html:50
+msgid "Remember me"
+msgstr ""
+
 #: rhodecode/templates/login.html:60
 msgid "Forgot your password ?"
 msgstr ""
 
-#: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:35
+#: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
 msgid "Don't have an account ?"
 msgstr ""
 
@@ -1049,24 +1193,24 @@
 msgstr ""
 
 #: rhodecode/templates/register.html:47
-#: rhodecode/templates/admin/users/user_add.html:50
-#: rhodecode/templates/admin/users/user_edit.html:74
-#: rhodecode/templates/admin/users/user_edit_my_account.html:63
+#: rhodecode/templates/admin/users/user_add.html:59
+#: rhodecode/templates/admin/users/user_edit.html:86
+#: rhodecode/templates/admin/users/user_edit_my_account.html:76
 msgid "First Name"
 msgstr ""
 
 #: rhodecode/templates/register.html:56
-#: rhodecode/templates/admin/users/user_add.html:59
-#: rhodecode/templates/admin/users/user_edit.html:83
-#: rhodecode/templates/admin/users/user_edit_my_account.html:72
+#: rhodecode/templates/admin/users/user_add.html:68
+#: rhodecode/templates/admin/users/user_edit.html:95
+#: rhodecode/templates/admin/users/user_edit_my_account.html:85
 msgid "Last Name"
 msgstr ""
 
 #: rhodecode/templates/register.html:65
-#: rhodecode/templates/admin/users/user_add.html:68
-#: rhodecode/templates/admin/users/user_edit.html:92
-#: rhodecode/templates/admin/users/user_edit_my_account.html:81
-#: rhodecode/templates/summary/summary.html:108
+#: rhodecode/templates/admin/users/user_add.html:77
+#: rhodecode/templates/admin/users/user_edit.html:104
+#: rhodecode/templates/admin/users/user_edit_my_account.html:94
+#: rhodecode/templates/summary/summary.html:115
 msgid "Email"
 msgstr ""
 
@@ -1078,19 +1222,59 @@
 msgid "Your account must wait for activation by administrator"
 msgstr ""
 
-#: rhodecode/templates/repo_switcher_list.html:14
+#: rhodecode/templates/repo_switcher_list.html:11
+#: rhodecode/templates/admin/repos/repo_add_base.html:56
+#: rhodecode/templates/admin/repos/repo_edit.html:76
+#: rhodecode/templates/settings/repo_settings.html:67
 msgid "Private repository"
 msgstr ""
 
-#: rhodecode/templates/repo_switcher_list.html:19
+#: rhodecode/templates/repo_switcher_list.html:16
 msgid "Public repository"
 msgstr ""
 
+#: rhodecode/templates/switch_to_list.html:3
+#: rhodecode/templates/branches/branches.html:14
+msgid "branches"
+msgstr ""
+
+#: rhodecode/templates/switch_to_list.html:10
+#: rhodecode/templates/branches/branches_data.html:51
+msgid "There are no branches yet"
+msgstr ""
+
+#: rhodecode/templates/switch_to_list.html:15
+#: rhodecode/templates/shortlog/shortlog_data.html:10
+#: rhodecode/templates/tags/tags.html:15
+msgid "tags"
+msgstr ""
+
+#: rhodecode/templates/switch_to_list.html:22
+#: rhodecode/templates/tags/tags_data.html:33
+msgid "There are no tags yet"
+msgstr ""
+
+#: rhodecode/templates/switch_to_list.html:28
+#: rhodecode/templates/bookmarks/bookmarks.html:15
+msgid "bookmarks"
+msgstr ""
+
+#: rhodecode/templates/switch_to_list.html:35
+#: rhodecode/templates/bookmarks/bookmarks_data.html:32
+msgid "There are no bookmarks yet"
+msgstr ""
+
 #: rhodecode/templates/admin/admin.html:5 rhodecode/templates/admin/admin.html:9
 msgid "Admin journal"
 msgstr ""
 
 #: rhodecode/templates/admin/admin_log.html:6
+#: rhodecode/templates/admin/repos/repos.html:41
+#: rhodecode/templates/admin/repos/repos.html:90
+#: rhodecode/templates/admin/users/user_edit_my_account.html:135
+#: rhodecode/templates/admin/users/user_edit_my_account.html:136
+#: rhodecode/templates/journal/journal.html:52
+#: rhodecode/templates/journal/journal.html:53
 msgid "Action"
 msgstr ""
 
@@ -1099,6 +1283,10 @@
 msgstr ""
 
 #: rhodecode/templates/admin/admin_log.html:8
+#: rhodecode/templates/bookmarks/bookmarks.html:37
+#: rhodecode/templates/bookmarks/bookmarks_data.html:7
+#: rhodecode/templates/branches/branches.html:37
+#: rhodecode/templates/tags/tags.html:37 rhodecode/templates/tags/tags_data.html:7
 msgid "Date"
 msgstr ""
 
@@ -1183,23 +1371,48 @@
 msgstr ""
 
 #: rhodecode/templates/admin/ldap/ldap.html:89
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
 #: rhodecode/templates/admin/settings/hooks.html:73
-#: rhodecode/templates/admin/users/user_edit.html:117
-#: rhodecode/templates/admin/users/user_edit.html:142
-#: rhodecode/templates/admin/users/user_edit_my_account.html:89
-#: rhodecode/templates/admin/users_groups/users_group_edit.html:263
+#: rhodecode/templates/admin/users/user_edit.html:129
+#: rhodecode/templates/admin/users/user_edit.html:154
+#: rhodecode/templates/admin/users/user_edit_my_account.html:102
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:115
+#: rhodecode/templates/settings/repo_settings.html:84
 msgid "Save"
 msgstr ""
 
+#: rhodecode/templates/admin/notifications/notifications.html:5
+#: rhodecode/templates/admin/notifications/notifications.html:9
+msgid "My Notifications"
+msgstr ""
+
+#: rhodecode/templates/admin/notifications/notifications.html:29
+msgid "Mark all read"
+msgstr ""
+
+#: rhodecode/templates/admin/notifications/notifications_data.html:38
+msgid "No notifications here yet"
+msgstr ""
+
+#: rhodecode/templates/admin/notifications/show_notification.html:5
+#: rhodecode/templates/admin/notifications/show_notification.html:11
+msgid "Show notification"
+msgstr ""
+
+#: rhodecode/templates/admin/notifications/show_notification.html:9
+msgid "Notifications"
+msgstr ""
+
 #: rhodecode/templates/admin/permissions/permissions.html:5
 msgid "Permissions administration"
 msgstr ""
 
 #: rhodecode/templates/admin/permissions/permissions.html:11
-#: rhodecode/templates/admin/repos/repo_edit.html:109
-#: rhodecode/templates/admin/users/user_edit.html:127
-#: rhodecode/templates/admin/users_groups/users_group_edit.html:248
-#: rhodecode/templates/settings/repo_settings.html:58
+#: rhodecode/templates/admin/repos/repo_edit.html:116
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
+#: rhodecode/templates/admin/users/user_edit.html:139
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:100
+#: rhodecode/templates/settings/repo_settings.html:77
 msgid "Permissions"
 msgstr ""
 
@@ -1235,6 +1448,7 @@
 msgstr ""
 
 #: rhodecode/templates/admin/permissions/permissions.html:71
+#: rhodecode/templates/admin/repos/repo_edit.html:218
 msgid "set"
 msgstr ""
 
@@ -1250,35 +1464,56 @@
 msgid "Repositories"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_add.html:13
-msgid "add new"
-msgstr ""
-
 #: rhodecode/templates/admin/repos/repo_add_base.html:20
-#: rhodecode/templates/summary/summary.html:80
-#: rhodecode/templates/summary/summary.html:82
+#: rhodecode/templates/summary/summary.html:90
+#: rhodecode/templates/summary/summary.html:91
 msgid "Clone from"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_add_base.html:28
-#: rhodecode/templates/admin/repos/repo_edit.html:48
+#: rhodecode/templates/admin/repos/repo_add_base.html:24
+#: rhodecode/templates/admin/repos/repo_edit.html:44
+#: rhodecode/templates/settings/repo_settings.html:43
+msgid "Optional http[s] url from which repository should be cloned."
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:29
+#: rhodecode/templates/admin/repos/repo_edit.html:49
 #: rhodecode/templates/admin/repos_groups/repos_groups.html:4
+#: rhodecode/templates/forks/fork.html:41
+#: rhodecode/templates/settings/repo_settings.html:48
 msgid "Repository group"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_add_base.html:36
-#: rhodecode/templates/admin/repos/repo_edit.html:56
+#: rhodecode/templates/admin/repos/repo_add_base.html:33
+#: rhodecode/templates/admin/repos/repo_edit.html:53
+#: rhodecode/templates/settings/repo_settings.html:52
+msgid "Optional select a group to put this repository into."
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:38
+#: rhodecode/templates/admin/repos/repo_edit.html:58
 msgid "Type"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_add_base.html:52
-#: rhodecode/templates/admin/repos/repo_edit.html:73
-#: rhodecode/templates/settings/repo_fork.html:48
-#: rhodecode/templates/settings/repo_settings.html:49
-msgid "Private"
-msgstr ""
-
-#: rhodecode/templates/admin/repos/repo_add_base.html:59
+#: rhodecode/templates/admin/repos/repo_add_base.html:42
+msgid "Type of repository to create."
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:51
+#: rhodecode/templates/admin/repos/repo_edit.html:70
+#: rhodecode/templates/settings/repo_settings.html:61
+msgid "Keep it short and to the point. Use a README file for longer descriptions."
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:60
+#: rhodecode/templates/admin/repos/repo_edit.html:80
+#: rhodecode/templates/settings/repo_settings.html:71
+msgid ""
+"Private repositories are only visible to people explicitly added as "
+"collaborators."
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:64
 msgid "add"
 msgstr ""
 
@@ -1292,138 +1527,192 @@
 
 #: rhodecode/templates/admin/repos/repo_edit.html:13
 #: rhodecode/templates/admin/users/user_edit.html:13
-#: rhodecode/templates/admin/users/user_edit_my_account.html:148
+#: rhodecode/templates/admin/users/user_edit_my_account.html:155
 #: rhodecode/templates/admin/users_groups/users_group_edit.html:13
-#: rhodecode/templates/files/files_annotate.html:49
-#: rhodecode/templates/files/files_source.html:20
+#: rhodecode/templates/files/files_source.html:32
+#: rhodecode/templates/journal/journal.html:72
 msgid "edit"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit.html:40
+#: rhodecode/templates/settings/repo_settings.html:39
 msgid "Clone uri"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:81
+#: rhodecode/templates/admin/repos/repo_edit.html:85
 msgid "Enable statistics"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit.html:89
+msgid "Enable statistics window on summary page."
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:94
 msgid "Enable downloads"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:127
-msgid "Administration"
-msgstr ""
-
-#: rhodecode/templates/admin/repos/repo_edit.html:130
-msgid "Statistics"
+#: rhodecode/templates/admin/repos/repo_edit.html:98
+msgid "Enable download menu on summary page."
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:108
+msgid "Change owner of this repository."
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit.html:134
-msgid "Reset current statistics"
-msgstr ""
-
-#: rhodecode/templates/admin/repos/repo_edit.html:134
-msgid "Confirm to remove current statistics"
+msgid "Administration"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit.html:137
+msgid "Statistics"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:141
+msgid "Reset current statistics"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:141
+msgid "Confirm to remove current statistics"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:144
 msgid "Fetched to rev"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:138
-msgid "Percentage of stats gathered"
-msgstr ""
-
-#: rhodecode/templates/admin/repos/repo_edit.html:147
+#: rhodecode/templates/admin/repos/repo_edit.html:145
+msgid "Stats gathered"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:153
 msgid "Remote"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:151
+#: rhodecode/templates/admin/repos/repo_edit.html:157
 msgid "Pull changes from remote location"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:151
+#: rhodecode/templates/admin/repos/repo_edit.html:157
 msgid "Confirm to pull changes from remote side"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:162
+#: rhodecode/templates/admin/repos/repo_edit.html:168
 msgid "Cache"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:166
+#: rhodecode/templates/admin/repos/repo_edit.html:172
 msgid "Invalidate repository cache"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:166
+#: rhodecode/templates/admin/repos/repo_edit.html:172
 msgid "Confirm to invalidate repository cache"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:177
+#: rhodecode/templates/admin/repos/repo_edit.html:183
 msgid "Remove from public journal"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:179
-msgid "Add to public journal"
-msgstr ""
-
 #: rhodecode/templates/admin/repos/repo_edit.html:185
+msgid "Add to public journal"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:190
+msgid ""
+"All actions made on this repository will be accessible to everyone in public "
+"journal"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:197
+#: rhodecode/templates/changeset/changeset_file_comment.html:19
 msgid "Delete"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:189
+#: rhodecode/templates/admin/repos/repo_edit.html:201
 msgid "Remove this repository"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit.html:189
-#: rhodecode/templates/admin/repos/repos.html:79
+#: rhodecode/templates/admin/repos/repo_edit.html:201
 msgid "Confirm to delete this repository"
 msgstr ""
 
+#: rhodecode/templates/admin/repos/repo_edit.html:205
+msgid ""
+"This repository will be renamed in a special way in order to be unaccesible "
+"for RhodeCode and VCS systems.\n"
+"                         If you need fully delete it from filesystem please "
+"do it manually"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:213
+msgid "Set as fork"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:222
+msgid "Manually set this repository as a fork of another"
+msgstr ""
+
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
 msgid "none"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:4
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
 msgid "read"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:5
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
 msgid "write"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:6
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
 #: rhodecode/templates/admin/users/users.html:38
-#: rhodecode/templates/base/base.html:296
+#: rhodecode/templates/base/base.html:214
 msgid "admin"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:7
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
 msgid "member"
 msgstr ""
 
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:16
+#: rhodecode/templates/data_table/_dt_elements.html:61
+#: rhodecode/templates/journal/journal.html:123
+#: rhodecode/templates/summary/summary.html:71
+msgid "private repository"
+msgstr ""
+
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:53
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
 msgid "revoke"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:75
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
 msgid "Add another member"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:89
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
 msgid "Failed to remove user"
 msgstr ""
 
 #: rhodecode/templates/admin/repos/repo_edit_perms.html:104
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
 msgid "Failed to remove users group"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit_perms.html:205
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:123
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:112
 msgid "Group"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repo_edit_perms.html:206
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:124
+#: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:113
 #: rhodecode/templates/admin/users_groups/users_groups.html:33
 msgid "members"
 msgstr ""
@@ -1432,43 +1721,29 @@
 msgid "Repositories administration"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repos.html:34
-#: rhodecode/templates/summary/summary.html:100
+#: rhodecode/templates/admin/repos/repos.html:40
+#: rhodecode/templates/summary/summary.html:107
 msgid "Contact"
 msgstr ""
 
-#: rhodecode/templates/admin/repos/repos.html:35
-#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
-#: rhodecode/templates/admin/users/user_edit_my_account.html:119
-#: rhodecode/templates/admin/users/users.html:40
-#: rhodecode/templates/admin/users_groups/users_groups.html:35
-msgid "action"
-msgstr ""
-
-#: rhodecode/templates/admin/repos/repos.html:51
-#: rhodecode/templates/admin/users/user_edit_my_account.html:134
-#: rhodecode/templates/admin/users/user_edit_my_account.html:148
-msgid "private"
-msgstr ""
-
-#: rhodecode/templates/admin/repos/repos.html:53
-#: rhodecode/templates/admin/repos/repos.html:59
-#: rhodecode/templates/admin/users/user_edit_my_account.html:136
-#: rhodecode/templates/admin/users/user_edit_my_account.html:142
-#: rhodecode/templates/summary/summary.html:68
-msgid "public"
-msgstr ""
-
-#: rhodecode/templates/admin/repos/repos.html:79
+#: rhodecode/templates/admin/repos/repos.html:68
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
 #: rhodecode/templates/admin/users/users.html:55
+#: rhodecode/templates/admin/users_groups/users_groups.html:44
 msgid "delete"
 msgstr ""
 
+#: rhodecode/templates/admin/repos/repos.html:68
+#: rhodecode/templates/admin/users/user_edit_my_account.html:158
+#, python-format
+msgid "Confirm to delete this repository: %s"
+msgstr ""
+
 #: rhodecode/templates/admin/repos_groups/repos_groups.html:8
 msgid "Groups"
 msgstr ""
 
-#: rhodecode/templates/admin/repos_groups/repos_groups.html:13
+#: rhodecode/templates/admin/repos_groups/repos_groups.html:12
 msgid "with"
 msgstr ""
 
@@ -1491,8 +1766,7 @@
 msgstr ""
 
 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
-#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
-#: rhodecode/templates/admin/users/user_add.html:85
+#: rhodecode/templates/admin/users/user_add.html:94
 #: rhodecode/templates/admin/users_groups/users_group_add.html:49
 #: rhodecode/templates/admin/users_groups/users_group_edit.html:90
 msgid "save"
@@ -1506,6 +1780,19 @@
 msgid "edit repos group"
 msgstr ""
 
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
+#: rhodecode/templates/admin/settings/settings.html:112
+#: rhodecode/templates/admin/settings/settings.html:177
+#: rhodecode/templates/admin/users/user_edit.html:130
+#: rhodecode/templates/admin/users/user_edit.html:155
+#: rhodecode/templates/admin/users/user_edit_my_account.html:103
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:116
+#: rhodecode/templates/files/files_add.html:82
+#: rhodecode/templates/files/files_edit.html:68
+#: rhodecode/templates/settings/repo_settings.html:85
+msgid "Reset"
+msgstr ""
+
 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
 msgid "Repositories groups administration"
 msgstr ""
@@ -1515,11 +1802,18 @@
 msgstr ""
 
 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
-msgid "Number of repositories"
+msgid "Number of toplevel repositories"
+msgstr ""
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
+#: rhodecode/templates/admin/users/users.html:40
+#: rhodecode/templates/admin/users_groups/users_groups.html:35
+msgid "action"
 msgstr ""
 
 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
-msgid "Confirm to delete this group"
+#, python-format
+msgid "Confirm to delete this group: %s"
 msgstr ""
 
 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
@@ -1610,20 +1904,10 @@
 msgstr ""
 
 #: rhodecode/templates/admin/settings/settings.html:111
-#: rhodecode/templates/admin/settings/settings.html:177
+#: rhodecode/templates/admin/settings/settings.html:176
 msgid "Save settings"
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:112
-#: rhodecode/templates/admin/settings/settings.html:178
-#: rhodecode/templates/admin/users/user_edit.html:118
-#: rhodecode/templates/admin/users/user_edit.html:143
-#: rhodecode/templates/admin/users/user_edit_my_account.html:90
-#: rhodecode/templates/admin/users_groups/users_group_edit.html:264
-#: rhodecode/templates/files/files_edit.html:50
-msgid "Reset"
-msgstr ""
-
 #: rhodecode/templates/admin/settings/settings.html:118
 msgid "Mercurial settings"
 msgstr ""
@@ -1640,41 +1924,61 @@
 msgid "Hooks"
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:142
-msgid "advanced setup"
-msgstr ""
-
-#: rhodecode/templates/admin/settings/settings.html:147
+#: rhodecode/templates/admin/settings/settings.html:144
 msgid "Update repository after push (hg update)"
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:151
+#: rhodecode/templates/admin/settings/settings.html:148
 msgid "Show repository size after push"
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:155
+#: rhodecode/templates/admin/settings/settings.html:152
 msgid "Log user push commands"
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:159
+#: rhodecode/templates/admin/settings/settings.html:156
 msgid "Log user pull commands"
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:166
+#: rhodecode/templates/admin/settings/settings.html:160
+msgid "advanced setup"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:165
 msgid "Repositories location"
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:171
+#: rhodecode/templates/admin/settings/settings.html:170
 msgid ""
 "This a crucial application setting. If you are really sure you need to change"
 " this, you must restart application in order to make this setting take "
 "effect. Click this label to unlock."
 msgstr ""
 
-#: rhodecode/templates/admin/settings/settings.html:172
+#: rhodecode/templates/admin/settings/settings.html:171
 msgid "unlock"
 msgstr ""
 
+#: rhodecode/templates/admin/settings/settings.html:191
+msgid "Test Email"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:199
+msgid "Email to"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:207
+msgid "Send"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:213
+msgid "System Info and Packages"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:216
+msgid "show"
+msgstr ""
+
 #: rhodecode/templates/admin/users/user_add.html:5
 msgid "Add user"
 msgstr ""
@@ -1689,8 +1993,12 @@
 msgid "add new user"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_add.html:77
-#: rhodecode/templates/admin/users/user_edit.html:101
+#: rhodecode/templates/admin/users/user_add.html:50
+msgid "Password confirmation"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_add.html:86
+#: rhodecode/templates/admin/users/user_edit.html:113
 #: rhodecode/templates/admin/users_groups/users_group_add.html:41
 #: rhodecode/templates/admin/users_groups/users_group_edit.html:42
 msgid "Active"
@@ -1700,36 +2008,42 @@
 msgid "Edit user"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_edit.html:33
-#: rhodecode/templates/admin/users/user_edit_my_account.html:32
-msgid "Change your avatar at"
-msgstr ""
-
 #: rhodecode/templates/admin/users/user_edit.html:34
 #: rhodecode/templates/admin/users/user_edit_my_account.html:33
+msgid "Change your avatar at"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_edit.html:35
+#: rhodecode/templates/admin/users/user_edit_my_account.html:34
 msgid "Using"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_edit.html:40
-#: rhodecode/templates/admin/users/user_edit_my_account.html:39
+#: rhodecode/templates/admin/users/user_edit.html:43
+#: rhodecode/templates/admin/users/user_edit_my_account.html:43
 msgid "API key"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_edit.html:56
+#: rhodecode/templates/admin/users/user_edit.html:59
 msgid "LDAP DN"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_edit.html:65
-#: rhodecode/templates/admin/users/user_edit_my_account.html:54
+#: rhodecode/templates/admin/users/user_edit.html:68
+#: rhodecode/templates/admin/users/user_edit_my_account.html:58
 msgid "New password"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_edit.html:135
-#: rhodecode/templates/admin/users_groups/users_group_edit.html:256
+#: rhodecode/templates/admin/users/user_edit.html:77
+#: rhodecode/templates/admin/users/user_edit_my_account.html:67
+msgid "New password confirmation"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_edit.html:147
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:108
 msgid "Create repositories"
 msgstr ""
 
 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
+#: rhodecode/templates/base/base.html:124
 msgid "My account"
 msgstr ""
 
@@ -1737,29 +2051,49 @@
 msgid "My Account"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_edit_my_account.html:101
-msgid "My repositories"
-msgstr ""
-
-#: rhodecode/templates/admin/users/user_edit_my_account.html:107
-msgid "ADD REPOSITORY"
-msgstr ""
-
-#: rhodecode/templates/admin/users/user_edit_my_account.html:118
-#: rhodecode/templates/branches/branches_data.html:7
-#: rhodecode/templates/shortlog/shortlog_data.html:8
-#: rhodecode/templates/tags/tags_data.html:7
-msgid "revision"
-msgstr ""
-
-#: rhodecode/templates/admin/users/user_edit_my_account.html:157
+#: rhodecode/templates/admin/users/user_edit_my_account.html:116
+#: rhodecode/templates/journal/journal.html:32
+msgid "My repos"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:116
+msgid "My permissions"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:121
+#: rhodecode/templates/journal/journal.html:37
+msgid "ADD"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:134
+#: rhodecode/templates/bookmarks/bookmarks.html:40
+#: rhodecode/templates/bookmarks/bookmarks_data.html:9
+#: rhodecode/templates/branches/branches.html:40
+#: rhodecode/templates/journal/journal.html:51
+#: rhodecode/templates/tags/tags.html:40 rhodecode/templates/tags/tags_data.html:9
+msgid "Revision"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:155
+#: rhodecode/templates/journal/journal.html:72
+msgid "private"
+msgstr ""
+
+#: rhodecode/templates/admin/users/user_edit_my_account.html:165
+#: rhodecode/templates/journal/journal.html:85
 msgid "No repositories yet"
 msgstr ""
 
-#: rhodecode/templates/admin/users/user_edit_my_account.html:159
+#: rhodecode/templates/admin/users/user_edit_my_account.html:167
+#: rhodecode/templates/journal/journal.html:87
 msgid "create one now"
 msgstr ""
 
+#: rhodecode/templates/admin/users/user_edit_my_account.html:184
+#: rhodecode/templates/admin/users/user_edit_my_account.html:285
+msgid "Permission"
+msgstr ""
+
 #: rhodecode/templates/admin/users/users.html:5
 msgid "Users administration"
 msgstr ""
@@ -1773,8 +2107,7 @@
 msgstr ""
 
 #: rhodecode/templates/admin/users/users.html:34
-#: rhodecode/templates/branches/branches_data.html:5
-#: rhodecode/templates/tags/tags_data.html:5
+#: rhodecode/templates/branches/branches_data.html:6
 msgid "name"
 msgstr ""
 
@@ -1792,12 +2125,13 @@
 msgstr ""
 
 #: rhodecode/templates/admin/users/users.html:39
-#: rhodecode/templates/base/base.html:305
+#: rhodecode/templates/base/base.html:223
 msgid "ldap"
 msgstr ""
 
 #: rhodecode/templates/admin/users/users.html:56
-msgid "Confirm to delete this user"
+#, python-format
+msgid "Confirm to delete this user: %s"
 msgstr ""
 
 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
@@ -1841,6 +2175,10 @@
 msgid "Add all elements"
 msgstr ""
 
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:126
+msgid "Group members"
+msgstr ""
+
 #: rhodecode/templates/admin/users_groups/users_groups.html:5
 msgid "Users groups administration"
 msgstr ""
@@ -1853,301 +2191,409 @@
 msgid "group name"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:32
+#: rhodecode/templates/admin/users_groups/users_groups.html:45
+#, python-format
+msgid "Confirm to delete this users group: %s"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:41
+msgid "Submit a bug"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:77
+msgid "Login to your account"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:100
 msgid "Forgot password ?"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:57 rhodecode/templates/base/base.html:338
-#: rhodecode/templates/base/base.html:340 rhodecode/templates/base/base.html:342
+#: rhodecode/templates/base/base.html:107
+msgid "Log In"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:118
+msgid "Inbox"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:122 rhodecode/templates/base/base.html:289
+#: rhodecode/templates/base/base.html:291 rhodecode/templates/base/base.html:293
 msgid "Home"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:61 rhodecode/templates/base/base.html:347
-#: rhodecode/templates/base/base.html:349 rhodecode/templates/base/base.html:351
+#: rhodecode/templates/base/base.html:123 rhodecode/templates/base/base.html:298
+#: rhodecode/templates/base/base.html:300 rhodecode/templates/base/base.html:302
 #: rhodecode/templates/journal/journal.html:4
 #: rhodecode/templates/journal/journal.html:17
 #: rhodecode/templates/journal/public_journal.html:4
 msgid "Journal"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:66
-msgid "Login"
-msgstr ""
-
-#: rhodecode/templates/base/base.html:68
+#: rhodecode/templates/base/base.html:125
 msgid "Log Out"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:107
-msgid "Submit a bug"
-msgstr ""
-
-#: rhodecode/templates/base/base.html:141
+#: rhodecode/templates/base/base.html:144
 msgid "Switch repository"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:143
+#: rhodecode/templates/base/base.html:146
 msgid "Products"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:149
+#: rhodecode/templates/base/base.html:152 rhodecode/templates/base/base.html:182
 msgid "loading..."
 msgstr ""
 
-#: rhodecode/templates/base/base.html:234 rhodecode/templates/base/base.html:236
-#: rhodecode/templates/base/base.html:238
+#: rhodecode/templates/base/base.html:158 rhodecode/templates/base/base.html:160
+#: rhodecode/templates/base/base.html:162
+#: rhodecode/templates/data_table/_dt_elements.html:9
+#: rhodecode/templates/data_table/_dt_elements.html:11
+#: rhodecode/templates/data_table/_dt_elements.html:13
+#: rhodecode/templates/summary/summary.html:4
+msgid "Summary"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:166 rhodecode/templates/base/base.html:168
+#: rhodecode/templates/base/base.html:170
+#: rhodecode/templates/changelog/changelog.html:6
+#: rhodecode/templates/changelog/changelog.html:15
+#: rhodecode/templates/data_table/_dt_elements.html:17
+#: rhodecode/templates/data_table/_dt_elements.html:19
+#: rhodecode/templates/data_table/_dt_elements.html:21
+msgid "Changelog"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:175 rhodecode/templates/base/base.html:177
+#: rhodecode/templates/base/base.html:179
 msgid "Switch to"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:242
-#: rhodecode/templates/branches/branches.html:13
-msgid "branches"
-msgstr ""
-
-#: rhodecode/templates/base/base.html:249
-#: rhodecode/templates/branches/branches_data.html:52
-msgid "There are no branches yet"
-msgstr ""
-
-#: rhodecode/templates/base/base.html:254
-#: rhodecode/templates/shortlog/shortlog_data.html:10
-#: rhodecode/templates/tags/tags.html:14
-msgid "tags"
-msgstr ""
-
-#: rhodecode/templates/base/base.html:261
-#: rhodecode/templates/tags/tags_data.html:32
-msgid "There are no tags yet"
-msgstr ""
-
-#: rhodecode/templates/base/base.html:277 rhodecode/templates/base/base.html:281
-#: rhodecode/templates/files/files_annotate.html:40
-#: rhodecode/templates/files/files_source.html:11
+#: rhodecode/templates/base/base.html:186 rhodecode/templates/base/base.html:188
+#: rhodecode/templates/base/base.html:190
+#: rhodecode/templates/data_table/_dt_elements.html:25
+#: rhodecode/templates/data_table/_dt_elements.html:27
+#: rhodecode/templates/data_table/_dt_elements.html:29
+#: rhodecode/templates/files/files.html:4 rhodecode/templates/files/files.html:40
+msgid "Files"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:195 rhodecode/templates/base/base.html:199
 msgid "Options"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:286 rhodecode/templates/base/base.html:288
-#: rhodecode/templates/base/base.html:306
+#: rhodecode/templates/base/base.html:204 rhodecode/templates/base/base.html:206
+#: rhodecode/templates/base/base.html:224
 msgid "settings"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:292
+#: rhodecode/templates/base/base.html:209
+#: rhodecode/templates/data_table/_dt_elements.html:74
+#: rhodecode/templates/forks/fork.html:13
+msgid "fork"
+msgstr ""
+
+#: rhodecode/templates/base/base.html:210
 msgid "search"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:299
+#: rhodecode/templates/base/base.html:217
 msgid "journal"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:301
+#: rhodecode/templates/base/base.html:219
 msgid "repositories groups"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:302
+#: rhodecode/templates/base/base.html:220
 msgid "users"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:303
+#: rhodecode/templates/base/base.html:221
 msgid "users groups"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:304
+#: rhodecode/templates/base/base.html:222
 msgid "permissions"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:317 rhodecode/templates/base/base.html:319
+#: rhodecode/templates/base/base.html:235 rhodecode/templates/base/base.html:237
 #: rhodecode/templates/followers/followers.html:5
 msgid "Followers"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:325 rhodecode/templates/base/base.html:327
+#: rhodecode/templates/base/base.html:243 rhodecode/templates/base/base.html:245
 #: rhodecode/templates/forks/forks.html:5
 msgid "Forks"
 msgstr ""
 
-#: rhodecode/templates/base/base.html:356 rhodecode/templates/base/base.html:358
-#: rhodecode/templates/base/base.html:360 rhodecode/templates/search/search.html:4
+#: rhodecode/templates/base/base.html:316 rhodecode/templates/base/base.html:318
+#: rhodecode/templates/base/base.html:320 rhodecode/templates/search/search.html:4
 #: rhodecode/templates/search/search.html:24
 #: rhodecode/templates/search/search.html:46
 msgid "Search"
 msgstr ""
 
-#: rhodecode/templates/base/root.html:57
-#: rhodecode/templates/journal/journal.html:48
-#: rhodecode/templates/summary/summary.html:36
+#: rhodecode/templates/base/root.html:53
+msgid "add another comment"
+msgstr ""
+
+#: rhodecode/templates/base/root.html:54
+#: rhodecode/templates/journal/journal.html:111
+#: rhodecode/templates/summary/summary.html:52
 msgid "Stop following this repository"
 msgstr ""
 
-#: rhodecode/templates/base/root.html:66
-#: rhodecode/templates/summary/summary.html:40
+#: rhodecode/templates/base/root.html:55
+#: rhodecode/templates/summary/summary.html:56
 msgid "Start following this repository"
 msgstr ""
 
-#: rhodecode/templates/branches/branches_data.html:4
-#: rhodecode/templates/tags/tags_data.html:4
+#: rhodecode/templates/bookmarks/bookmarks.html:5
+msgid "Bookmarks"
+msgstr ""
+
+#: rhodecode/templates/bookmarks/bookmarks.html:39
+#: rhodecode/templates/bookmarks/bookmarks_data.html:8
+#: rhodecode/templates/branches/branches.html:39
+#: rhodecode/templates/tags/tags.html:39 rhodecode/templates/tags/tags_data.html:8
+msgid "Author"
+msgstr ""
+
+#: rhodecode/templates/branches/branches_data.html:7
 msgid "date"
 msgstr ""
 
-#: rhodecode/templates/branches/branches_data.html:6
-#: rhodecode/templates/shortlog/shortlog_data.html:7
-#: rhodecode/templates/tags/tags_data.html:6
-msgid "author"
-msgstr ""
-
 #: rhodecode/templates/branches/branches_data.html:8
-#: rhodecode/templates/shortlog/shortlog_data.html:11
-#: rhodecode/templates/tags/tags_data.html:8
-msgid "links"
-msgstr ""
-
-#: rhodecode/templates/branches/branches_data.html:23
-#: rhodecode/templates/branches/branches_data.html:43
-#: rhodecode/templates/shortlog/shortlog_data.html:39
-#: rhodecode/templates/tags/tags_data.html:24
-msgid "changeset"
-msgstr ""
-
-#: rhodecode/templates/branches/branches_data.html:25
-#: rhodecode/templates/branches/branches_data.html:45
-#: rhodecode/templates/files/files.html:12
-#: rhodecode/templates/shortlog/shortlog_data.html:41
-#: rhodecode/templates/summary/summary.html:233
-#: rhodecode/templates/tags/tags_data.html:26
-msgid "files"
-msgstr ""
-
-#: rhodecode/templates/changelog/changelog.html:14
-msgid "showing "
-msgstr ""
-
-#: rhodecode/templates/changelog/changelog.html:14
-msgid "out of"
-msgstr ""
-
-#: rhodecode/templates/changelog/changelog.html:37
+#: rhodecode/templates/shortlog/shortlog_data.html:8
+msgid "author"
+msgstr ""
+
+#: rhodecode/templates/branches/branches_data.html:9
+#: rhodecode/templates/shortlog/shortlog_data.html:5
+msgid "revision"
+msgstr ""
+
+#: rhodecode/templates/changelog/changelog.html:15
+#, python-format
+msgid "showing %d out of %d revision"
+msgid_plural "showing %d out of %d revisions"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/templates/changelog/changelog.html:38
 msgid "Show"
 msgstr ""
 
-#: rhodecode/templates/changelog/changelog.html:50
-#: rhodecode/templates/changeset/changeset.html:42
-#: rhodecode/templates/summary/summary.html:609
-msgid "commit"
-msgstr ""
-
-#: rhodecode/templates/changelog/changelog.html:63
+#: rhodecode/templates/changelog/changelog.html:64
+#: rhodecode/templates/summary/summary.html:352
+msgid "show more"
+msgstr ""
+
+#: rhodecode/templates/changelog/changelog.html:68
 msgid "Affected number of files, click to show more details"
 msgstr ""
 
-#: rhodecode/templates/changelog/changelog.html:67
-#: rhodecode/templates/changeset/changeset.html:66
-msgid "merge"
-msgstr ""
-
-#: rhodecode/templates/changelog/changelog.html:72
-#: rhodecode/templates/changeset/changeset.html:72
-msgid "Parent"
-msgstr ""
-
-#: rhodecode/templates/changelog/changelog.html:77
-#: rhodecode/templates/changeset/changeset.html:77
-msgid "No parents"
-msgstr ""
-
 #: rhodecode/templates/changelog/changelog.html:82
-#: rhodecode/templates/changeset/changeset.html:80
+#: rhodecode/templates/changeset/changeset.html:72
+msgid "Parent"
+msgstr ""
+
+#: rhodecode/templates/changelog/changelog.html:88
+#: rhodecode/templates/changeset/changeset.html:78
+msgid "No parents"
+msgstr ""
+
+#: rhodecode/templates/changelog/changelog.html:93
+#: rhodecode/templates/changeset/changeset.html:82
+msgid "merge"
+msgstr ""
+
+#: rhodecode/templates/changelog/changelog.html:96
+#: rhodecode/templates/changeset/changeset.html:85
 #: rhodecode/templates/files/files.html:29
-#: rhodecode/templates/files/files_annotate.html:25
+#: rhodecode/templates/files/files_add.html:33
 #: rhodecode/templates/files/files_edit.html:33
 #: rhodecode/templates/shortlog/shortlog_data.html:9
 msgid "branch"
 msgstr ""
 
-#: rhodecode/templates/changelog/changelog.html:86
-#: rhodecode/templates/changeset/changeset.html:83
+#: rhodecode/templates/changelog/changelog.html:102
+msgid "bookmark"
+msgstr ""
+
+#: rhodecode/templates/changelog/changelog.html:108
+#: rhodecode/templates/changeset/changeset.html:90
 msgid "tag"
 msgstr ""
 
-#: rhodecode/templates/changelog/changelog.html:122
+#: rhodecode/templates/changelog/changelog.html:144
 msgid "Show selected changes __S -> __E"
 msgstr ""
 
-#: rhodecode/templates/changelog/changelog.html:172
-#: rhodecode/templates/shortlog/shortlog_data.html:61
+#: rhodecode/templates/changelog/changelog.html:235
 msgid "There are no changes yet"
 msgstr ""
 
 #: rhodecode/templates/changelog/changelog_details.html:2
-#: rhodecode/templates/changeset/changeset.html:55
+#: rhodecode/templates/changeset/changeset.html:60
 msgid "removed"
 msgstr ""
 
 #: rhodecode/templates/changelog/changelog_details.html:3
-#: rhodecode/templates/changeset/changeset.html:56
+#: rhodecode/templates/changeset/changeset.html:61
 msgid "changed"
 msgstr ""
 
 #: rhodecode/templates/changelog/changelog_details.html:4
-#: rhodecode/templates/changeset/changeset.html:57
+#: rhodecode/templates/changeset/changeset.html:62
 msgid "added"
 msgstr ""
 
 #: rhodecode/templates/changelog/changelog_details.html:6
 #: rhodecode/templates/changelog/changelog_details.html:7
 #: rhodecode/templates/changelog/changelog_details.html:8
-#: rhodecode/templates/changeset/changeset.html:59
-#: rhodecode/templates/changeset/changeset.html:60
-#: rhodecode/templates/changeset/changeset.html:61
+#: rhodecode/templates/changeset/changeset.html:64
+#: rhodecode/templates/changeset/changeset.html:65
+#: rhodecode/templates/changeset/changeset.html:66
 #, python-format
 msgid "affected %s files"
 msgstr ""
 
 #: rhodecode/templates/changeset/changeset.html:6
 #: rhodecode/templates/changeset/changeset.html:14
-#: rhodecode/templates/changeset/changeset.html:31
 msgid "Changeset"
 msgstr ""
 
-#: rhodecode/templates/changeset/changeset.html:32
-#: rhodecode/templates/changeset/changeset.html:121
-#: rhodecode/templates/changeset/changeset_range.html:78
-#: rhodecode/templates/files/file_diff.html:32
-#: rhodecode/templates/files/file_diff.html:42
+#: rhodecode/templates/changeset/changeset.html:37
+#: rhodecode/templates/changeset/diff_block.html:20
 msgid "raw diff"
 msgstr ""
 
-#: rhodecode/templates/changeset/changeset.html:34
-#: rhodecode/templates/changeset/changeset.html:123
-#: rhodecode/templates/changeset/changeset_range.html:80
-#: rhodecode/templates/files/file_diff.html:34
+#: rhodecode/templates/changeset/changeset.html:38
+#: rhodecode/templates/changeset/diff_block.html:21
 msgid "download diff"
 msgstr ""
 
-#: rhodecode/templates/changeset/changeset.html:90
+#: rhodecode/templates/changeset/changeset.html:42
+#: rhodecode/templates/changeset/changeset_file_comment.html:69
+#, python-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/templates/changeset/changeset.html:42
+#: rhodecode/templates/changeset/changeset_file_comment.html:69
+#, python-format
+msgid "(%d inline)"
+msgid_plural "(%d inline)"
+msgstr[0] ""
+msgstr[1] ""
+
+#: rhodecode/templates/changeset/changeset.html:97
+#, python-format
+msgid "%s files affected with %s insertions and %s deletions:"
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset.html:113
+msgid "Changeset was too big and was cut off..."
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:35
+msgid "Submitting..."
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:38
+msgid "Commenting on line {1}."
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:39
+#: rhodecode/templates/changeset/changeset_file_comment.html:100
 #, python-format
-msgid "%s files affected with %s additions and %s deletions."
-msgstr ""
-
-#: rhodecode/templates/changeset/changeset.html:101
-msgid "Changeset was too big and was cut off..."
-msgstr ""
-
-#: rhodecode/templates/changeset/changeset.html:119
-#: rhodecode/templates/changeset/changeset_range.html:76
-#: rhodecode/templates/files/file_diff.html:30
+msgid "Comments parsed using %s syntax with %s support."
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:41
+#: rhodecode/templates/changeset/changeset_file_comment.html:102
+msgid "Use @username inside this text to send notification to this RhodeCode user"
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:47
+#: rhodecode/templates/changeset/changeset_file_comment.html:107
+msgid "Comment"
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:48
+#: rhodecode/templates/changeset/changeset_file_comment.html:59
+msgid "Hide"
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:55
+msgid "You need to be logged in to comment."
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:55
+msgid "Login now"
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_file_comment.html:97
+msgid "Leave a comment"
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_range.html:29
+msgid "Compare View"
+msgstr ""
+
+#: rhodecode/templates/changeset/changeset_range.html:49
+msgid "Files affected"
+msgstr ""
+
+#: rhodecode/templates/changeset/diff_block.html:19
 msgid "diff"
 msgstr ""
 
-#: rhodecode/templates/changeset/changeset.html:132
-#: rhodecode/templates/changeset/changeset_range.html:89
-msgid "No changes in this file"
-msgstr ""
-
-#: rhodecode/templates/changeset/changeset_range.html:30
-msgid "Compare View"
-msgstr ""
-
-#: rhodecode/templates/changeset/changeset_range.html:52
-msgid "Files affected"
+#: rhodecode/templates/changeset/diff_block.html:27
+msgid "show inline comments"
+msgstr ""
+
+#: rhodecode/templates/data_table/_dt_elements.html:33
+#: rhodecode/templates/data_table/_dt_elements.html:35
+#: rhodecode/templates/data_table/_dt_elements.html:37
+#: rhodecode/templates/forks/fork.html:5
+msgid "Fork"
+msgstr ""
+
+#: rhodecode/templates/data_table/_dt_elements.html:54
+#: rhodecode/templates/journal/journal.html:117
+#: rhodecode/templates/summary/summary.html:63
+msgid "Mercurial repository"
+msgstr ""
+
+#: rhodecode/templates/data_table/_dt_elements.html:56
+#: rhodecode/templates/journal/journal.html:119
+#: rhodecode/templates/summary/summary.html:66
+msgid "Git repository"
+msgstr ""
+
+#: rhodecode/templates/data_table/_dt_elements.html:63
+#: rhodecode/templates/journal/journal.html:125
+#: rhodecode/templates/summary/summary.html:73
+msgid "public repository"
+msgstr ""
+
+#: rhodecode/templates/data_table/_dt_elements.html:74
+#: rhodecode/templates/summary/summary.html:82
+#: rhodecode/templates/summary/summary.html:83
+msgid "Fork of"
+msgstr ""
+
+#: rhodecode/templates/data_table/_dt_elements.html:86
+msgid "No changesets yet"
+msgstr ""
+
+#: rhodecode/templates/email_templates/main.html:8
+msgid "This is an notification from RhodeCode."
 msgstr ""
 
 #: rhodecode/templates/errors/error_document.html:44
@@ -2160,80 +2606,69 @@
 msgid "File diff"
 msgstr ""
 
-#: rhodecode/templates/files/file_diff.html:42
-msgid "Diff is to big to display"
-msgstr ""
-
-#: rhodecode/templates/files/files.html:37
-#: rhodecode/templates/files/files_annotate.html:31
+#: rhodecode/templates/files/files.html:12
+#: rhodecode/templates/summary/summary.html:328
+msgid "files"
+msgstr ""
+
+#: rhodecode/templates/files/files.html:44
+msgid "search truncated"
+msgstr ""
+
+#: rhodecode/templates/files/files.html:45
+msgid "no matching files"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:4
+#: rhodecode/templates/files/files_edit.html:4
+msgid "Edit file"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:19
+msgid "add file"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:40
+msgid "Add new file"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:45
+msgid "File Name"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:49
+#: rhodecode/templates/files/files_add.html:58
+msgid "or"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:49
+#: rhodecode/templates/files/files_add.html:54
+msgid "Upload file"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:58
+msgid "Create new file"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:63
 #: rhodecode/templates/files/files_edit.html:39
+#: rhodecode/templates/files/files_ypjax.html:3
 msgid "Location"
 msgstr ""
 
-#: rhodecode/templates/files/files.html:46
-msgid "Go back"
-msgstr ""
-
-#: rhodecode/templates/files/files.html:47
-msgid "No files at given path"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:4
-msgid "File annotate"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:12
-msgid "annotate"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:33
-#: rhodecode/templates/files/files_browser.html:160
-#: rhodecode/templates/files/files_source.html:2
-msgid "Revision"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:36
-#: rhodecode/templates/files/files_browser.html:158
-#: rhodecode/templates/files/files_source.html:7
-msgid "Size"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:38
-#: rhodecode/templates/files/files_browser.html:159
-#: rhodecode/templates/files/files_source.html:9
-msgid "Mimetype"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:41
-msgid "show source"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:43
-#: rhodecode/templates/files/files_annotate.html:78
-#: rhodecode/templates/files/files_source.html:14
-#: rhodecode/templates/files/files_source.html:51
-msgid "show as raw"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:45
-#: rhodecode/templates/files/files_source.html:16
-msgid "download as raw"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:54
-#: rhodecode/templates/files/files_source.html:25
-msgid "History"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:73
-#: rhodecode/templates/files/files_source.html:46
-#, python-format
-msgid "Binary file (%s)"
-msgstr ""
-
-#: rhodecode/templates/files/files_annotate.html:78
-#: rhodecode/templates/files/files_source.html:51
-msgid "File is too big to display"
+#: rhodecode/templates/files/files_add.html:67
+msgid "use / to separate directories"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:77
+#: rhodecode/templates/files/files_edit.html:63
+#: rhodecode/templates/shortlog/shortlog_data.html:6
+msgid "commit message"
+msgstr ""
+
+#: rhodecode/templates/files/files_add.html:81
+#: rhodecode/templates/files/files_edit.html:67
+msgid "Commit changes"
 msgstr ""
 
 #: rhodecode/templates/files/files_browser.html:13
@@ -2256,51 +2691,96 @@
 msgid "search file list"
 msgstr ""
 
-#: rhodecode/templates/files/files_browser.html:32
+#: rhodecode/templates/files/files_browser.html:31
+#: rhodecode/templates/shortlog/shortlog_data.html:65
+msgid "add new file"
+msgstr ""
+
+#: rhodecode/templates/files/files_browser.html:35
 msgid "Loading file list..."
 msgstr ""
 
-#: rhodecode/templates/files/files_browser.html:111
-msgid "search truncated"
-msgstr ""
-
-#: rhodecode/templates/files/files_browser.html:122
-msgid "no matching files"
-msgstr ""
-
-#: rhodecode/templates/files/files_browser.html:161
+#: rhodecode/templates/files/files_browser.html:48
+msgid "Size"
+msgstr ""
+
+#: rhodecode/templates/files/files_browser.html:49
+msgid "Mimetype"
+msgstr ""
+
+#: rhodecode/templates/files/files_browser.html:50
+msgid "Last Revision"
+msgstr ""
+
+#: rhodecode/templates/files/files_browser.html:51
 msgid "Last modified"
 msgstr ""
 
-#: rhodecode/templates/files/files_browser.html:162
+#: rhodecode/templates/files/files_browser.html:52
 msgid "Last commiter"
 msgstr ""
 
-#: rhodecode/templates/files/files_edit.html:4
-msgid "Edit file"
-msgstr ""
-
 #: rhodecode/templates/files/files_edit.html:19
 msgid "edit file"
 msgstr ""
 
-#: rhodecode/templates/files/files_edit.html:45
-#: rhodecode/templates/shortlog/shortlog_data.html:5
-msgid "commit message"
+#: rhodecode/templates/files/files_edit.html:49
+#: rhodecode/templates/files/files_source.html:26
+msgid "show annotation"
+msgstr ""
+
+#: rhodecode/templates/files/files_edit.html:50
+#: rhodecode/templates/files/files_source.html:28
+#: rhodecode/templates/files/files_source.html:56
+msgid "show as raw"
 msgstr ""
 
 #: rhodecode/templates/files/files_edit.html:51
-msgid "Commit changes"
-msgstr ""
-
-#: rhodecode/templates/files/files_source.html:12
-msgid "show annotation"
-msgstr ""
-
-#: rhodecode/templates/files/files_source.html:153
+#: rhodecode/templates/files/files_source.html:29
+msgid "download as raw"
+msgstr ""
+
+#: rhodecode/templates/files/files_edit.html:54
+msgid "source"
+msgstr ""
+
+#: rhodecode/templates/files/files_edit.html:59
+msgid "Editing file"
+msgstr ""
+
+#: rhodecode/templates/files/files_source.html:2
+msgid "History"
+msgstr ""
+
+#: rhodecode/templates/files/files_source.html:24
+msgid "show source"
+msgstr ""
+
+#: rhodecode/templates/files/files_source.html:47
+#, python-format
+msgid "Binary file (%s)"
+msgstr ""
+
+#: rhodecode/templates/files/files_source.html:56
+msgid "File is too big to display"
+msgstr ""
+
+#: rhodecode/templates/files/files_source.html:112
 msgid "Selection link"
 msgstr ""
 
+#: rhodecode/templates/files/files_ypjax.html:5
+msgid "annotation"
+msgstr ""
+
+#: rhodecode/templates/files/files_ypjax.html:15
+msgid "Go back"
+msgstr ""
+
+#: rhodecode/templates/files/files_ypjax.html:16
+msgid "No files at given path"
+msgstr ""
+
 #: rhodecode/templates/followers/followers.html:13
 msgid "followers"
 msgstr ""
@@ -2309,6 +2789,26 @@
 msgid "Started following"
 msgstr ""
 
+#: rhodecode/templates/forks/fork.html:31
+msgid "Fork name"
+msgstr ""
+
+#: rhodecode/templates/forks/fork.html:57
+msgid "Private"
+msgstr ""
+
+#: rhodecode/templates/forks/fork.html:65
+msgid "Copy permissions"
+msgstr ""
+
+#: rhodecode/templates/forks/fork.html:73
+msgid "Update after clone"
+msgstr ""
+
+#: rhodecode/templates/forks/fork.html:80
+msgid "fork this repository"
+msgstr ""
+
 #: rhodecode/templates/forks/forks.html:13
 msgid "forks"
 msgstr ""
@@ -2321,23 +2821,27 @@
 msgid "There are no forks yet"
 msgstr ""
 
-#: rhodecode/templates/journal/journal.html:34
-msgid "Following"
-msgstr ""
-
-#: rhodecode/templates/journal/journal.html:41
+#: rhodecode/templates/journal/journal.html:20
+msgid "Refresh"
+msgstr ""
+
+#: rhodecode/templates/journal/journal.html:32
+msgid "Watched"
+msgstr ""
+
+#: rhodecode/templates/journal/journal.html:105
 msgid "following user"
 msgstr ""
 
-#: rhodecode/templates/journal/journal.html:41
+#: rhodecode/templates/journal/journal.html:105
 msgid "user"
 msgstr ""
 
-#: rhodecode/templates/journal/journal.html:65
+#: rhodecode/templates/journal/journal.html:138
 msgid "You are not following any users or repositories"
 msgstr ""
 
-#: rhodecode/templates/journal/journal_data.html:46
+#: rhodecode/templates/journal/journal_data.html:47
 msgid "No entries yet"
 msgstr ""
 
@@ -2371,25 +2875,13 @@
 msgid "File names"
 msgstr ""
 
-#: rhodecode/templates/search/search_content.html:20
+#: rhodecode/templates/search/search_content.html:21
 #: rhodecode/templates/search/search_path.html:15
 msgid "Permission denied"
 msgstr ""
 
-#: rhodecode/templates/settings/repo_fork.html:5
-msgid "Fork"
-msgstr ""
-
-#: rhodecode/templates/settings/repo_fork.html:31
-msgid "Fork name"
-msgstr ""
-
-#: rhodecode/templates/settings/repo_fork.html:55
-msgid "fork this repository"
-msgstr ""
-
 #: rhodecode/templates/shortlog/shortlog.html:5
-#: rhodecode/templates/summary/summary.html:666
+#: rhodecode/templates/summary/summary.html:209
 msgid "Shortlog"
 msgstr ""
 
@@ -2397,104 +2889,136 @@
 msgid "shortlog"
 msgstr ""
 
-#: rhodecode/templates/shortlog/shortlog_data.html:6
+#: rhodecode/templates/shortlog/shortlog_data.html:7
 msgid "age"
 msgstr ""
 
+#: rhodecode/templates/shortlog/shortlog_data.html:18
+msgid "No commit message"
+msgstr ""
+
+#: rhodecode/templates/shortlog/shortlog_data.html:62
+msgid "Add or upload files directly via RhodeCode"
+msgstr ""
+
+#: rhodecode/templates/shortlog/shortlog_data.html:71
+msgid "Push new repo"
+msgstr ""
+
+#: rhodecode/templates/shortlog/shortlog_data.html:79
+msgid "Existing repository?"
+msgstr ""
+
 #: rhodecode/templates/summary/summary.html:12
 msgid "summary"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:79
+#: rhodecode/templates/summary/summary.html:44
+#: rhodecode/templates/summary/summary.html:47
+msgid "ATOM"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:77
+#, python-format
+msgid "Non changable ID %s"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:82
+msgid "public"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:90
 msgid "remote clone"
 msgstr ""
 
 #: rhodecode/templates/summary/summary.html:121
-msgid "by"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:128
 msgid "Clone url"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:137
-msgid "Trending source files"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:146
+#: rhodecode/templates/summary/summary.html:124
+msgid "Show by Name"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:125
+msgid "Show by ID"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:133
+msgid "Trending files"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:141
+#: rhodecode/templates/summary/summary.html:157
+#: rhodecode/templates/summary/summary.html:185
+msgid "enable"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:149
 msgid "Download"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:150
+#: rhodecode/templates/summary/summary.html:153
 msgid "There are no downloads yet"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:152
+#: rhodecode/templates/summary/summary.html:155
 msgid "Downloads are disabled for this repository"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:154
-#: rhodecode/templates/summary/summary.html:320
-msgid "enable"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:162
-#: rhodecode/templates/summary/summary.html:297
+#: rhodecode/templates/summary/summary.html:164
+msgid "Check this to download archive with subrepos"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:164
+msgid "with subrepos"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:177
+msgid "Commit activity by day / author"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:188
+msgid "Stats gathered: "
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:211
+msgid "Quick start"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:281
 #, python-format
 msgid "Download %s as %s"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:168
-msgid "Check this to download archive with subrepos"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:168
-msgid "with subrepos"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:176
-msgid "Feeds"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:257
-#: rhodecode/templates/summary/summary.html:684
-#: rhodecode/templates/summary/summary.html:695
-msgid "show more"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:312
-msgid "Commit activity by day / author"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:324
-msgid "Loaded in"
-msgstr ""
-
-#: rhodecode/templates/summary/summary.html:603
+#: rhodecode/templates/summary/summary.html:638
 msgid "commits"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:604
+#: rhodecode/templates/summary/summary.html:639
 msgid "files added"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:605
+#: rhodecode/templates/summary/summary.html:640
 msgid "files changed"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:606
+#: rhodecode/templates/summary/summary.html:641
 msgid "files removed"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:610
+#: rhodecode/templates/summary/summary.html:644
+msgid "commit"
+msgstr ""
+
+#: rhodecode/templates/summary/summary.html:645
 msgid "file added"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:611
+#: rhodecode/templates/summary/summary.html:646
 msgid "file changed"
 msgstr ""
 
-#: rhodecode/templates/summary/summary.html:612
+#: rhodecode/templates/summary/summary.html:647
 msgid "file removed"
 msgstr ""
 
--- a/rhodecode/lib/celerylib/__init__.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/celerylib/__init__.py	Tue May 22 22:15:29 2012 +0200
@@ -35,7 +35,7 @@
 from decorator import decorator
 
 from rhodecode.lib.vcs.utils.lazy import LazyProperty
-from rhodecode import CELERY_ON
+from rhodecode import CELERY_ON, CELERY_EAGER
 from rhodecode.lib.utils2 import str2bool, safe_str
 from rhodecode.lib.pidlock import DaemonLock, LockHeld
 from rhodecode.model import init_model
@@ -122,7 +122,7 @@
             ret = func(*fargs, **fkwargs)
             return ret
         finally:
-            if CELERY_ON:
+            if CELERY_ON and CELERY_EAGER is False:
                 meta.Session.remove()
 
     return decorator(__wrapper, func)
--- a/rhodecode/lib/celerylib/tasks.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/celerylib/tasks.py	Tue May 22 22:15:29 2012 +0200
@@ -39,7 +39,7 @@
 
 from rhodecode.lib.vcs import get_backend
 
-from rhodecode import CELERY_ON
+from rhodecode import CELERY_ON, CELERY_EAGER
 from rhodecode.lib.utils2 import safe_str
 from rhodecode.lib.celerylib import run_task, locked_task, dbsession, \
     str2bool, __get_lockkey, LockHeld, DaemonLock, get_session
--- a/rhodecode/lib/helpers.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/helpers.py	Tue May 22 22:15:29 2012 +0200
@@ -42,6 +42,8 @@
 from rhodecode.lib.utils2 import str2bool, safe_unicode, safe_str, \
     get_changeset_safe
 from rhodecode.lib.markup_renderer import MarkupRenderer
+from rhodecode.lib.vcs.exceptions import ChangesetDoesNotExistError
+from rhodecode.lib.vcs.backends.base import BaseChangeset
 from rhodecode.model.changeset_status import ChangesetStatusModel
 
 log = logging.getLogger(__name__)
@@ -448,22 +450,30 @@
 
         repo = user_log.repository.scm_instance
 
-        message = lambda rev: rev.message
-        lnk = lambda rev, repo_name: (
-            link_to('r%s:%s' % (rev.revision, rev.short_id),
-                    url('changeset_home', repo_name=repo_name,
-                        revision=rev.raw_id),
-                    title=tooltip(message(rev)), class_='tooltip')
-        )
+        def lnk(rev, repo_name):
+
+            if isinstance(rev, BaseChangeset):
+                lbl = 'r%s:%s' % (rev.revision, rev.short_id)
+                _url = url('changeset_home', repo_name=repo_name, 
+                           revision=rev.raw_id)
+                title = tooltip(rev.message)
+            else:
+                lbl = '%s' % rev
+                _url = '#'
+                title = _('Changeset not found')
+
+            return link_to(lbl, _url, title=title, class_='tooltip',)
 
         revs = []
         if len(filter(lambda v: v != '', revs_ids)) > 0:
-            # get only max revs_top_limit of changeset for performance/ui reasons
-            revs = [
-                x for x in repo.get_changesets(revs_ids[0],
-                                               revs_ids[:revs_top_limit][-1])
-            ]
-
+            for rev in revs_ids[:revs_top_limit]:
+                try:
+                    rev = repo.get_changeset(rev)
+                    revs.append(rev)
+                except ChangesetDoesNotExistError:
+                    log.error('cannot find revision %s in this repo' % rev)
+                    revs.append(rev)
+                    continue
         cs_links = []
         cs_links.append(" " + ', '.join(
             [lnk(rev, repo_name) for rev in revs[:revs_limit]]
--- a/rhodecode/lib/hooks.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/hooks.py	Tue May 22 22:15:29 2012 +0200
@@ -24,13 +24,15 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 import os
 import sys
+import binascii
+from inspect import isfunction
 
 from mercurial.scmutil import revrange
 from mercurial.node import nullrev
+
 from rhodecode import EXTENSIONS
 from rhodecode.lib import helpers as h
 from rhodecode.lib.utils import action_logger
-from inspect import isfunction
 
 
 def _get_scm_size(alias, root_path):
@@ -134,8 +136,8 @@
                 return (len(repo) - 1, 0)
 
         stop, start = get_revs(repo, [node + ':'])
-
-        revs = (str(repo[r]) for r in xrange(start, stop + 1))
+        h = binascii.hexlify
+        revs = (h(repo[r].node()) for r in xrange(start, stop + 1))
     elif scm == 'git':
         revs = []
 
--- a/rhodecode/lib/indexers/__init__.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/indexers/__init__.py	Tue May 22 22:15:29 2012 +0200
@@ -129,13 +129,15 @@
                           default=False)
 
 
-class ResultWrapper(object):
-    def __init__(self, search_type, searcher, matcher, highlight_items):
+class WhooshResultWrapper(object):
+    def __init__(self, search_type, searcher, matcher, highlight_items,
+                 repo_location):
         self.search_type = search_type
         self.searcher = searcher
         self.matcher = matcher
         self.highlight_items = highlight_items
         self.fragment_size = 200
+        self.repo_location = repo_location
 
     @LazyProperty
     def doc_ids(self):
@@ -178,8 +180,9 @@
 
     def get_full_content(self, docid):
         res = self.searcher.stored_fields(docid[0])
-        f_path = res['path'][res['path'].find(res['repository']) \
-                             + len(res['repository']):].lstrip('/')
+        full_repo_path = jn(self.repo_location, res['repository'])
+        f_path = res['path'].split(full_repo_path)[-1]
+        f_path = f_path.lstrip(os.sep)
 
         content_short = self.get_short_content(res, docid[1])
         res.update({'content_short': content_short,
--- a/rhodecode/lib/middleware/simplegit.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/middleware/simplegit.py	Tue May 22 22:15:29 2012 +0200
@@ -62,7 +62,9 @@
 
 
 dulserver.DEFAULT_HANDLERS = {
+  #git-ls-remote, git-clone, git-fetch and git-pull
   'git-upload-pack': SimpleGitUploadPackHandler,
+  #git-push
   'git-receive-pack': dulserver.ReceivePackHandler,
 }
 
@@ -196,7 +198,6 @@
         baseui = make_ui('db')
         self.__inject_extras(repo_path, baseui, extras)
 
-
         try:
             # invalidate cache on push
             if action == 'push':
--- a/rhodecode/lib/utils2.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/utils2.py	Tue May 22 22:15:29 2012 +0200
@@ -24,6 +24,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 import re
+from datetime import datetime
+from pylons.i18n.translation import _, ungettext
 from rhodecode.lib.vcs.utils.lazy import LazyProperty
 
 
@@ -284,40 +286,76 @@
     return engine
 
 
-def age(curdate):
+def age(prevdate):
     """
     turns a datetime into an age string.
 
-    :param curdate: datetime object
+    :param prevdate: datetime object
     :rtype: unicode
     :returns: unicode words describing age
     """
 
-    from datetime import datetime
-    from webhelpers.date import time_ago_in_words
+    order = ['year', 'month', 'day', 'hour', 'minute', 'second']
+    deltas = {}
+
+    # Get date parts deltas
+    now = datetime.now()
+    for part in order:
+        deltas[part] = getattr(now, part) - getattr(prevdate, part)
 
-    _ = lambda s: s
+    # Fix negative offsets (there is 1 second between 10:59:59 and 11:00:00,
+    # not 1 hour, -59 minutes and -59 seconds)
 
-    if not curdate:
-        return ''
+    for num, length in [(5, 60), (4, 60), (3, 24)]:  # seconds, minutes, hours
+        part = order[num]
+        carry_part = order[num - 1]
+        
+        if deltas[part] < 0:
+            deltas[part] += length
+            deltas[carry_part] -= 1
 
-    agescales = [(_(u"year"), 3600 * 24 * 365),
-                 (_(u"month"), 3600 * 24 * 30),
-                 (_(u"day"), 3600 * 24),
-                 (_(u"hour"), 3600),
-                 (_(u"minute"), 60),
-                 (_(u"second"), 1), ]
-
-    age = datetime.now() - curdate
-    age_seconds = (age.days * agescales[2][1]) + age.seconds
-    pos = 1
-    for scale in agescales:
-        if scale[1] <= age_seconds:
-            if pos == 6:
-                pos = 5
-            return '%s %s' % (time_ago_in_words(curdate,
-                                                agescales[pos][0]), _('ago'))
-        pos += 1
+    # Same thing for days except that the increment depends on the (variable)
+    # number of days in the month
+    month_lengths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
+    if deltas['day'] < 0:
+        if prevdate.month == 2 and (prevdate.year % 4 == 0 and
+            (prevdate.year % 100 != 0 or prevdate.year % 400 == 0)):
+            deltas['day'] += 29
+        else:
+            deltas['day'] += month_lengths[prevdate.month - 1]
+        
+        deltas['month'] -= 1
+    
+    if deltas['month'] < 0:
+        deltas['month'] += 12
+        deltas['year'] -= 1
+    
+    # Format the result
+    fmt_funcs = {
+        'year': lambda d: ungettext(u'%d year', '%d years', d) % d,
+        'month': lambda d: ungettext(u'%d month', '%d months', d) % d,
+        'day': lambda d: ungettext(u'%d day', '%d days', d) % d,
+        'hour': lambda d: ungettext(u'%d hour', '%d hours', d) % d,
+        'minute': lambda d: ungettext(u'%d minute', '%d minutes', d) % d,
+        'second': lambda d: ungettext(u'%d second', '%d seconds', d) % d,
+    }
+    
+    for i, part in enumerate(order):
+        value = deltas[part]
+        if value == 0:
+            continue
+        
+        if i < 5:
+            sub_part = order[i + 1]
+            sub_value = deltas[sub_part]
+        else:
+            sub_value = 0
+        
+        if sub_value == 0:
+            return _(u'%s ago') % fmt_funcs[part](value)
+        
+        return _(u'%s and %s ago') % (fmt_funcs[part](value),
+            fmt_funcs[sub_part](sub_value))
 
     return _(u'just now')
 
--- a/rhodecode/lib/vcs/backends/git/changeset.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/vcs/backends/git/changeset.py	Tue May 22 22:15:29 2012 +0200
@@ -38,7 +38,6 @@
         self._tree_id = commit.tree
 
         self.message = safe_unicode(commit.message)
-
         #self.branch = None
         self.tags = []
         self.nodes = {}
--- a/rhodecode/lib/vcs/backends/git/repository.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/lib/vcs/backends/git/repository.py	Tue May 22 22:15:29 2012 +0200
@@ -66,6 +66,7 @@
                 'config'),
             abspath(get_user_home(), '.gitconfig'),
         ]
+        self.bare = self._repo.bare
 
     @LazyProperty
     def revisions(self):
@@ -93,15 +94,20 @@
         if isinstance(cmd, basestring):
             cmd = [cmd]
             _str_cmd = True
+ 
+        gitenv = os.environ
+        gitenv['GIT_CONFIG_NOGLOBAL'] = '1'
 
-        cmd = ['GIT_CONFIG_NOGLOBAL=1', 'git'] + _copts + cmd
+        cmd = ['git'] + _copts + cmd
         if _str_cmd:
             cmd = ' '.join(cmd)
         try:
             opts = dict(
                 shell=isinstance(cmd, basestring),
                 stdout=PIPE,
-                stderr=PIPE)
+                stderr=PIPE,
+                env=gitenv,
+            )
             if os.path.isdir(self.path):
                 opts['cwd'] = self.path
             p = Popen(cmd, **opts)
@@ -226,9 +232,10 @@
         try:
             return time.mktime(self.get_changeset().date.timetuple())
         except RepositoryError:
+            idx_loc = '' if self.bare else '.git'
             # fallback to filesystem
-            in_path = os.path.join(self.path, '.git', "index")
-            he_path = os.path.join(self.path, '.git', "HEAD")
+            in_path = os.path.join(self.path, idx_loc, "index")
+            he_path = os.path.join(self.path, idx_loc, "HEAD")
             if os.path.exists(in_path):
                 return os.stat(in_path).st_mtime
             else:
@@ -236,8 +243,9 @@
 
     @LazyProperty
     def description(self):
+        idx_loc = '' if self.bare else '.git'
         undefined_description = u'unknown'
-        description_path = os.path.join(self.path, '.git', 'description')
+        description_path = os.path.join(self.path, idx_loc, 'description')
         if os.path.isfile(description_path):
             return safe_unicode(open(description_path).read())
         else:
--- a/rhodecode/model/repo.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/model/repo.py	Tue May 22 22:15:29 2012 +0200
@@ -458,8 +458,12 @@
                 )
         )
         backend = get_backend(alias)
-
-        backend(repo_path, create=True, src_url=clone_uri)
+        if alias == 'hg':
+            backend(repo_path, create=True, src_url=clone_uri)
+        elif alias == 'git':
+            backend(repo_path, create=True, src_url=clone_uri, bare=True)
+        else:
+            raise Exception('Undefined alias %s' % alias)
 
     def __rename_repo(self, old, new):
         """
@@ -489,10 +493,15 @@
         """
         rm_path = os.path.join(self.repos_path, repo.repo_name)
         log.info("Removing %s" % (rm_path))
-        # disable hg/git
+        # disable hg/git internal that it doesn't get detected as repo
         alias = repo.repo_type
-        shutil.move(os.path.join(rm_path, '.%s' % alias),
-                    os.path.join(rm_path, 'rm__.%s' % alias))
+
+        bare = getattr(repo.scm_instance, 'bare', False)
+
+        if not bare:
+            # skip this for bare git repos
+            shutil.move(os.path.join(rm_path, '.%s' % alias),
+                        os.path.join(rm_path, 'rm__.%s' % alias))
         # disable repo
         _d = 'rm__%s__%s' % (datetime.now().strftime('%Y%m%d_%H%M%S_%f'),
                              repo.repo_name)
--- a/rhodecode/templates/_data_table/_dt_elements.html	Thu May 17 12:54:44 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-## DATA TABLE RE USABLE ELEMENTS
-## usage:
-## <%namespace name="dt" file="/_data_table/_dt_elements.html"/>
-
-<%def name="quick_menu(repo_name)">
-  <ul class="menu_items hidden">
-    <li style="border-top:1px solid #003367;margin-left:18px;padding-left:-99px"></li>
-    <li>
-       <a title="${_('Summary')}" href="${h.url('summary_home',repo_name=repo_name)}">
-       <span class="icon">
-           <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
-       </span>
-       <span>${_('Summary')}</span>
-       </a>
-    </li>
-    <li>
-       <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=repo_name)}">
-       <span class="icon">
-           <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
-       </span>
-       <span>${_('Changelog')}</span>
-       </a>
-    </li>
-    <li>
-       <a title="${_('Files')}" href="${h.url('files_home',repo_name=repo_name)}">
-       <span class="icon">
-           <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
-       </span>
-       <span>${_('Files')}</span>
-       </a>
-    </li>
-    <li>
-       <a title="${_('Fork')}" href="${h.url('repo_fork_home',repo_name=repo_name)}">
-       <span class="icon">
-           <img src="${h.url('/images/icons/arrow_divide.png')}" alt="${_('Fork')}" />
-       </span>
-       <span>${_('Fork')}</span>
-       </a>
-    </li>
-  </ul>
-</%def>
-
-<%def name="repo_name(name,rtype,private,fork_of,short_name=False, admin=False)">
-    <%
-    def get_name(name,short_name=short_name):
-      if short_name:
-        return name.split('/')[-1]
-      else:
-        return name
-    %>
-  <div style="white-space: nowrap">
-   ##TYPE OF REPO
-   %if h.is_hg(rtype):
-     <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
-   %elif h.is_git(rtype):
-     <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
-   %endif
-
-   ##PRIVATE/PUBLIC
-   %if private:
-      <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
-   %else:
-      <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
-   %endif
-
-   ##NAME
-   %if admin:
-    ${h.link_to(get_name(name),h.url('edit_repo',repo_name=name),class_="repo_name")}
-   %else:
-    ${h.link_to(get_name(name),h.url('summary_home',repo_name=name),class_="repo_name")}
-   %endif
-   %if fork_of:
-        <a href="${h.url('summary_home',repo_name=fork_of)}">
-        <img class="icon" alt="${_('fork')}" title="${_('Fork of')} ${fork_of}" src="${h.url('/images/icons/arrow_divide.png')}"/></a>
-   %endif
-  </div>
-</%def>
-
-
-
-<%def name="revision(name,rev,tip,author,last_msg)">
-  <div>
-  %if rev >= 0:
-      <pre><a title="${h.tooltip('%s:\n\n%s' % (author,last_msg))}" class="tooltip" href="${h.url('changeset_home',repo_name=name,revision=tip)}">${'r%s:%s' % (rev,h.short_id(tip))}</a></pre>
-  %else:
-      ${_('No changesets yet')}
-  %endif
-  </div>
-</%def>
--- a/rhodecode/templates/admin/repos/repos.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/admin/repos/repos.html	Tue May 22 22:15:29 2012 +0200
@@ -27,7 +27,7 @@
     <div class="table">
         <div id='repos_list_wrap' class="yui-skin-sam">
         <%cnt=0%>
-        <%namespace name="dt" file="/_data_table/_dt_elements.html"/>
+        <%namespace name="dt" file="/data_table/_dt_elements.html"/>
 
         <table id="repos_list">
          <thead>
--- a/rhodecode/templates/admin/repos_groups/repos_groups_show.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/admin/repos_groups/repos_groups_show.html	Tue May 22 22:15:29 2012 +0200
@@ -51,7 +51,7 @@
                       <td><b>${gr.repositories.count()}</b></td>
 		               <td>
 		                 ${h.form(url('repos_group', id=gr.group_id),method='delete')}
-		                   ${h.submit('remove_%s' % gr.name,'delete',class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this group: %s') % gr.name+"');")}
+		                   ${h.submit('remove_%s' % gr.name,_('delete'),class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this group: %s') % gr.name+"');")}
 		                 ${h.end_form()}
 		               </td>
                   </tr>
--- a/rhodecode/templates/admin/users/user_edit_my_account.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/admin/users/user_edit_my_account.html	Tue May 22 22:15:29 2012 +0200
@@ -136,7 +136,7 @@
             <th class="left">${_('Action')}</th>
 	    </thead>
 	     <tbody>
-         <%namespace name="dt" file="/_data_table/_dt_elements.html"/>
+         <%namespace name="dt" file="/data_table/_dt_elements.html"/>
 	     %if c.user_repos:
 		     %for repo in c.user_repos:
 		        <tr>
--- a/rhodecode/templates/admin/users_groups/users_groups.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/admin/users_groups/users_groups.html	Tue May 22 22:15:29 2012 +0200
@@ -41,7 +41,7 @@
                     <td>${h.bool2icon(u_group.users_group_active)}</td>
                     <td>
                         ${h.form(url('users_group', id=u_group.users_group_id),method='delete')}
-                            ${h.submit('remove_','delete',id="remove_group_%s" % u_group.users_group_id,
+                            ${h.submit('remove_',_('delete'),id="remove_group_%s" % u_group.users_group_id,
                             class_="delete_icon action_button",onclick="return  confirm('"+_('Confirm to delete this users group: %s') % u_group.users_group_name+"');")}
                         ${h.end_form()}
                     </td>
--- a/rhodecode/templates/changelog/changelog.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/changelog/changelog.html	Tue May 22 22:15:29 2012 +0200
@@ -11,7 +11,8 @@
     &raquo;
     ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
     &raquo;
-    ${_('Changelog')} - ${_('showing ')} ${c.size if c.size <= c.total_cs else c.total_cs} ${_('out of')} ${c.total_cs} ${_('revisions')}
+    <% size = c.size if c.size <= c.total_cs else c.total_cs %>
+    ${_('Changelog')} - ${ungettext('showing %d out of %d revision', 'showing %d out of %d revisions', size) % (size, c.total_cs)}
 </%def>
 
 <%def name="page_nav()">
--- a/rhodecode/templates/changeset/changeset.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/changeset/changeset.html	Tue May 22 22:15:29 2012 +0200
@@ -45,8 +45,8 @@
                   ${c.ignorews_url(request.GET)}
                   ${c.context_url(request.GET)}
                 </div>
-                <div class="comments-number" style="float:right;padding-right:5px">${len(c.comments)} comment(s) (${c.inline_cnt} ${_('inline')})</div>
-            </div>       
+                <div class="comments-number" style="float:right;padding-right:5px">${ungettext("%d comment", "%d comments", len(c.comments)) % len(c.comments)} ${ungettext("(%d inline)", "(%d inline)", c.inline_cnt) % c.inline_cnt}</div>
+			</div>
 		</div>
 	    <div id="changeset_content">
 			<div class="container">
--- a/rhodecode/templates/changeset/changeset_file_comment.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/changeset/changeset_file_comment.html	Tue May 22 22:15:29 2012 +0200
@@ -42,10 +42,10 @@
     <div class="overlay"><div class="overlay-text">${_('Submitting...')}</div></div>
       ${h.form(h.url('changeset_comment', repo_name=c.repo_name, revision=changeset.raw_id),class_='inline-form')}
       <div class="clearfix">
-          <div class="comment-help">${_('Commenting on line')} {1}. ${_('Comments parsed using')}
-          <a href="${h.url('rst_help')}">RST</a> ${_('syntax')} ${_('with')}
-          <span style="color:#003367" class="tooltip" title="${_('Use @username inside this text to send notification to this RhodeCode user')}">@mention</span> ${_('support')}
-          </div>          
+          <div class="comment-help">${_('Commenting on line {1}.')}
+          ${(_('Comments parsed using %s syntax with %s support.') % (('<a href="%s">RST</a>' % h.url('rst_help')),
+          	'<span style="color:#003367" class="tooltip" title="%s">@mention</span>' %
+          	_('Use @username inside this text to send notification to this RhodeCode user')))|n}</div>
           <textarea id="text_{1}" name="text"></textarea>
       </div>
       <div class="comment-button">
@@ -59,7 +59,7 @@
       ${h.form('')}
       <div class="clearfix">
           <div class="comment-help">
-            ${'You need to be logged in to comment.'} <a href="${h.url('login_home',came_from=h.url.current())}">${_('Login now')}</a>
+            ${_('You need to be logged in to comment.')} <a href="${h.url('login_home',came_from=h.url.current())}">${_('Login now')}</a>
           </div>
       </div>
       <div class="comment-button">
@@ -73,7 +73,7 @@
 
 
 <%def name="inlines(changeset)">
-    <div class="comments-number">${len(c.comments)} comment(s) (${c.inline_cnt} ${_('inline')})</div>
+    <div class="comments-number">${ungettext("%d comment", "%d comments", len(c.comments)) % len(c.comments)} ${ungettext("(%d inline)", "(%d inline)", c.inline_cnt) % c.inline_cnt}</div>
     %for path, lines in c.inline_comments:
         % for line,comments in lines.iteritems():
             <div style="display:none" class="inline-comment-placeholder" path="${path}" target_id="${h.safeid(h.safe_unicode(path))}">
@@ -105,8 +105,9 @@
         <strong>${_('Leave a comment')}</strong>
         <div class="clearfix">
             <div class="comment-help">
-                ${_('Comments parsed using')} <a href="${h.url('rst_help')}">RST</a> ${_('syntax')}
-                ${_('with')} <span style="color:#003367" class="tooltip" title="${_('Use @username inside this text to send notification to this RhodeCode user')}">@mention</span> ${_('support')}
+                ${(_('Comments parsed using %s syntax with %s support.') % (('<a href="%s">RST</a>' % h.url('rst_help')),
+          		'<span style="color:#003367" class="tooltip" title="%s">@mention</span>' %
+          		_('Use @username inside this text to send notification to this RhodeCode user')))|n}
                 | <span class="tooltip" title="${_('Check this to change current status of code-review for this changeset')}"> ${_('change status')}
                   <input style="vertical-align: bottom;margin-bottom:-2px" id="show_changeset_status_box" type="checkbox" name="change_changeset_status" />
                   </span> 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/templates/data_table/_dt_elements.html	Tue May 22 22:15:29 2012 +0200
@@ -0,0 +1,89 @@
+## DATA TABLE RE USABLE ELEMENTS
+## usage:
+## <%namespace name="dt" file="/data_table/_dt_elements.html"/>
+
+<%def name="quick_menu(repo_name)">
+  <ul class="menu_items hidden">
+    <li style="border-top:1px solid #003367;margin-left:18px;padding-left:-99px"></li>
+    <li>
+       <a title="${_('Summary')}" href="${h.url('summary_home',repo_name=repo_name)}">
+       <span class="icon">
+           <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
+       </span>
+       <span>${_('Summary')}</span>
+       </a>
+    </li>
+    <li>
+       <a title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=repo_name)}">
+       <span class="icon">
+           <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
+       </span>
+       <span>${_('Changelog')}</span>
+       </a>
+    </li>
+    <li>
+       <a title="${_('Files')}" href="${h.url('files_home',repo_name=repo_name)}">
+       <span class="icon">
+           <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
+       </span>
+       <span>${_('Files')}</span>
+       </a>
+    </li>
+    <li>
+       <a title="${_('Fork')}" href="${h.url('repo_fork_home',repo_name=repo_name)}">
+       <span class="icon">
+           <img src="${h.url('/images/icons/arrow_divide.png')}" alt="${_('Fork')}" />
+       </span>
+       <span>${_('Fork')}</span>
+       </a>
+    </li>
+  </ul>
+</%def>
+
+<%def name="repo_name(name,rtype,private,fork_of,short_name=False, admin=False)">
+    <%
+    def get_name(name,short_name=short_name):
+      if short_name:
+        return name.split('/')[-1]
+      else:
+        return name
+    %>
+  <div style="white-space: nowrap">
+   ##TYPE OF REPO
+   %if h.is_hg(rtype):
+     <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
+   %elif h.is_git(rtype):
+     <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
+   %endif
+
+   ##PRIVATE/PUBLIC
+   %if private:
+      <img class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
+   %else:
+      <img class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
+   %endif
+
+   ##NAME
+   %if admin:
+    ${h.link_to(get_name(name),h.url('edit_repo',repo_name=name),class_="repo_name")}
+   %else:
+    ${h.link_to(get_name(name),h.url('summary_home',repo_name=name),class_="repo_name")}
+   %endif
+   %if fork_of:
+        <a href="${h.url('summary_home',repo_name=fork_of)}">
+        <img class="icon" alt="${_('fork')}" title="${_('Fork of')} ${fork_of}" src="${h.url('/images/icons/arrow_divide.png')}"/></a>
+   %endif
+  </div>
+</%def>
+
+
+
+<%def name="revision(name,rev,tip,author,last_msg)">
+  <div>
+  %if rev >= 0:
+      <pre><a title="${h.tooltip('%s:\n\n%s' % (author,last_msg))}" class="tooltip" href="${h.url('changeset_home',repo_name=name,revision=tip)}">${'r%s:%s' % (rev,h.short_id(tip))}</a></pre>
+  %else:
+      ${_('No changesets yet')}
+  %endif
+  </div>
+</%def>
--- a/rhodecode/templates/index_base.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/index_base.html	Tue May 22 22:15:29 2012 +0200
@@ -57,7 +57,7 @@
             </div>
             <div id='repos_list_wrap' class="yui-skin-sam">
             <%cnt=0%>
-            <%namespace name="dt" file="/_data_table/_dt_elements.html"/>
+            <%namespace name="dt" file="/data_table/_dt_elements.html"/>
 
             <table id="repos_list">
             <thead>
--- a/rhodecode/templates/journal/journal.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/journal/journal.html	Tue May 22 22:15:29 2012 +0200
@@ -53,7 +53,7 @@
                   <th class="left">${_('Action')}</th>
              </thead>
              <tbody>
-                 <%namespace name="dt" file="/_data_table/_dt_elements.html"/>
+                 <%namespace name="dt" file="/data_table/_dt_elements.html"/>
                  %for repo in c.user_repos:
                     <tr>
                         ##QUICK MENU
--- a/rhodecode/templates/settings/repo_settings.html	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/templates/settings/repo_settings.html	Tue May 22 22:15:29 2012 +0200
@@ -81,8 +81,8 @@
                 </div>
 
             <div class="buttons">
-              ${h.submit('save','Save',class_="ui-button")}
-              ${h.reset('reset','Reset',class_="ui-button")}
+              ${h.submit('save',_('Save'),class_="ui-button")}
+              ${h.reset('reset',_('Reset'),class_="ui-button")}
             </div>
         </div>
     </div>
--- a/rhodecode/tests/functional/test_changeset_comments.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/tests/functional/test_changeset_comments.py	Tue May 22 22:15:29 2012 +0200
@@ -40,8 +40,8 @@
                                 repo_name=HG_REPO, revision=rev))
         # test DB
         self.assertEqual(ChangesetComment.query().count(), 1)
-        self.assertTrue('''<div class="comments-number">%s '''
-                        '''comment(s) (0 inline)</div>''' % 1 in response.body)
+        response.mustcontain('''<div class="comments-number">%s comment '''
+                             '''(0 inline)</div>''' % 1)
 
         self.assertEqual(Notification.query().count(), 1)
         self.assertEqual(ChangesetComment.query().count(), 1)
@@ -76,7 +76,7 @@
         #test DB
         self.assertEqual(ChangesetComment.query().count(), 1)
         response.mustcontain(
-            '''<div class="comments-number">0 comment(s)'''
+            '''<div class="comments-number">0 comments'''
             ''' (%s inline)</div>''' % 1
         )
         response.mustcontain(
@@ -115,8 +115,8 @@
                                 repo_name=HG_REPO, revision=rev))
         # test DB
         self.assertEqual(ChangesetComment.query().count(), 1)
-        self.assertTrue('''<div class="comments-number">%s '''
-                        '''comment(s) (0 inline)</div>''' % 1 in response.body)
+        response.mustcontain('''<div class="comments-number">%s '''
+                             '''comment (0 inline)</div>''' % 1)
 
         self.assertEqual(Notification.query().count(), 2)
         users = [x.user.username for x in UserNotification.query().all()]
@@ -148,5 +148,5 @@
 
         response = self.app.get(url(controller='changeset', action='index',
                                 repo_name=HG_REPO, revision=rev))
-        self.assertTrue('''<div class="comments-number">0 comment(s)'''
-                        ''' (0 inline)</div>''' in response.body)
+        response.mustcontain('''<div class="comments-number">0 comments'''
+                             ''' (0 inline)</div>''')
--- a/rhodecode/tests/functional/test_files.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/tests/functional/test_files.py	Tue May 22 22:15:29 2012 +0200
@@ -193,19 +193,19 @@
             short = '27cd5cce30c9%s' % arch_ext
             fname = '27cd5cce30c96924232dffcd24178a07ffeb5dfc%s' % arch_ext
             filename = '%s-%s' % (HG_REPO, short)
-            response = self.app.get(url(controller='files', 
+            response = self.app.get(url(controller='files',
                                         action='archivefile',
                                         repo_name=HG_REPO,
                                         fname=fname))
 
             self.assertEqual(response.status, '200 OK')
-            self.assertEqual(response.response._headers.items(),
-             [('Pragma', 'no-cache'),
-              ('Cache-Control', 'no-cache'),
-              ('Content-Type', '%s; charset=utf-8' % info[0]),
-              ('Content-Disposition', 'attachment; filename=%s' % filename),
-             ]
-            )
+            heads = [
+                ('Pragma', 'no-cache'), 
+                ('Cache-Control', 'no-cache'), 
+                ('Content-Disposition', 'attachment; filename=%s' % filename),
+                ('Content-Type', '%s; charset=utf-8' % info[0]),
+            ]
+            self.assertEqual(response.response._headers.items(), heads)
 
     def test_archival_wrong_ext(self):
         self.log_user()
@@ -213,7 +213,8 @@
         for arch_ext in ['tar', 'rar', 'x', '..ax', '.zipz']:
             fname = '27cd5cce30c96924232dffcd24178a07ffeb5dfc%s' % arch_ext
 
-            response = self.app.get(url(controller='files', action='archivefile',
+            response = self.app.get(url(controller='files', 
+                                        action='archivefile',
                                         repo_name=HG_REPO,
                                         fname=fname))
             response.mustcontain('Unknown archive type')
@@ -221,10 +222,11 @@
     def test_archival_wrong_revision(self):
         self.log_user()
 
-        for rev in ['00x000000', 'tar', 'wrong', '@##$@$424213232', '232dffcd']:
+        for rev in ['00x000000', 'tar', 'wrong', '@##$@$42413232', '232dffcd']:
             fname = '%s.zip' % rev
 
-            response = self.app.get(url(controller='files', action='archivefile',
+            response = self.app.get(url(controller='files',
+                                        action='archivefile',
                                         repo_name=HG_REPO,
                                         fname=fname))
             response.mustcontain('Unknown revision')
--- a/rhodecode/tests/test_libs.py	Thu May 17 12:54:44 2012 +0200
+++ b/rhodecode/tests/test_libs.py	Tue May 22 22:15:29 2012 +0200
@@ -23,10 +23,10 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-
+import unittest
+import datetime
+from rhodecode.tests import *
 
-import unittest
-from rhodecode.tests import *
 
 proto = 'http'
 TEST_URLS = [
@@ -116,3 +116,16 @@
         'marian.user', 'marco-polo', 'marco_polo'
         ], key=lambda k: k.lower())
         self.assertEqual(s, extract_mentioned_users(sample))
+
+    def test_age(self):
+        from rhodecode.lib.utils2 import age
+        n = datetime.datetime.now()
+        delt = lambda *args, **kwargs: datetime.timedelta(*args, **kwargs)
+        self.assertEqual(age(n), u'just now')
+        self.assertEqual(age(n - delt(seconds=1)), u'1 second ago')
+        self.assertEqual(age(n - delt(seconds=60 * 2)), u'2 minutes ago')
+        self.assertEqual(age(n - delt(hours=1)), u'1 hour ago')
+        self.assertEqual(age(n - delt(hours=24)), u'1 day ago')
+        self.assertEqual(age(n - delt(hours=24 * 5)), u'5 days ago')
+        self.assertEqual(age(n - delt(hours=24 * 32)), u'1 month and 2 days ago')
+        self.assertEqual(age(n - delt(hours=24 * 400)), u'1 year and 1 month ago')
--- a/setup.py	Thu May 17 12:54:44 2012 +0200
+++ b/setup.py	Tue May 22 22:15:29 2012 +0200
@@ -94,7 +94,7 @@
     main = pylons.util:PylonsInstaller
 
     [paste.global_paster_command]
-    setup-rhodecode=rhodecode.config.setup:SetupCommand
+    setup-rhodecode=rhodecode.config.setup_rhodecode:SetupCommand
     make-index=rhodecode.lib.indexers:MakeIndex
     make-rcext=rhodecode.config.rcextensions.make_rcextensions:MakeRcExt
     upgrade-db=rhodecode.lib.dbmigrate:UpgradeDb