##// END OF EJS Templates
merge with VinDuV fork
marcink -
r2424:2dc4cfa4 merge beta
parent child Browse files
Show More
@@ -1,128 +1,128 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 rhodecode.controllers.feed
3 rhodecode.controllers.feed
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~
5
5
6 Feed controller for rhodecode
6 Feed controller for rhodecode
7
7
8 :created_on: Apr 23, 2010
8 :created_on: Apr 23, 2010
9 :author: marcink
9 :author: marcink
10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
11 :license: GPLv3, see COPYING for more details.
11 :license: GPLv3, see COPYING for more details.
12 """
12 """
13 # This program is free software: you can redistribute it and/or modify
13 # This program is free software: you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License as published by
14 # it under the terms of the GNU General Public License as published by
15 # the Free Software Foundation, either version 3 of the License, or
15 # the Free Software Foundation, either version 3 of the License, or
16 # (at your option) any later version.
16 # (at your option) any later version.
17 #
17 #
18 # This program is distributed in the hope that it will be useful,
18 # This program is distributed in the hope that it will be useful,
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 # GNU General Public License for more details.
21 # GNU General Public License for more details.
22 #
22 #
23 # You should have received a copy of the GNU General Public License
23 # You should have received a copy of the GNU General Public License
24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25
25
26 import logging
26 import logging
27
27
28 from pylons import url, response, tmpl_context as c
28 from pylons import url, response, tmpl_context as c
29 from pylons.i18n.translation import _
29 from pylons.i18n.translation import _
30
30
31 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
31 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
32
32
33 from rhodecode.lib import helpers as h
33 from rhodecode.lib import helpers as h
34 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
34 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
35 from rhodecode.lib.base import BaseRepoController
35 from rhodecode.lib.base import BaseRepoController
36 from rhodecode.lib.diffs import DiffProcessor
36 from rhodecode.lib.diffs import DiffProcessor
37
37
38 log = logging.getLogger(__name__)
38 log = logging.getLogger(__name__)
39
39
40
40
41 class FeedController(BaseRepoController):
41 class FeedController(BaseRepoController):
42
42
43 @LoginRequired(api_access=True)
43 @LoginRequired(api_access=True)
44 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
44 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
45 'repository.admin')
45 'repository.admin')
46 def __before__(self):
46 def __before__(self):
47 super(FeedController, self).__before__()
47 super(FeedController, self).__before__()
48 #common values for feeds
48 #common values for feeds
49 self.description = _('Changes on %s repository')
49 self.description = _('Changes on %s repository')
50 self.title = self.title = _('%s %s feed') % (c.rhodecode_name, '%s')
50 self.title = self.title = _('%s %s feed') % (c.rhodecode_name, '%s')
51 self.language = 'en-us'
51 self.language = 'en-us'
52 self.ttl = "5"
52 self.ttl = "5"
53 self.feed_nr = 20
53 self.feed_nr = 20
54
54
55 def _get_title(self, cs):
55 def _get_title(self, cs):
56 return "%s" % (
56 return "%s" % (
57 h.shorter(cs.message, 160)
57 h.shorter(cs.message, 160)
58 )
58 )
59
59
60 def __changes(self, cs):
60 def __changes(self, cs):
61 changes = []
61 changes = []
62
62
63 diffprocessor = DiffProcessor(cs.diff())
63 diffprocessor = DiffProcessor(cs.diff())
64 stats = diffprocessor.prepare(inline_diff=False)
64 stats = diffprocessor.prepare(inline_diff=False)
65 for st in stats:
65 for st in stats:
66 st.update({'added': st['stats'][0],
66 st.update({'added': st['stats'][0],
67 'removed': st['stats'][1]})
67 'removed': st['stats'][1]})
68 changes.append('\n %(operation)s %(filename)s '
68 changes.append('\n %(operation)s %(filename)s '
69 '(%(added)s lines added, %(removed)s lines removed)'
69 '(%(added)s lines added, %(removed)s lines removed)'
70 % st)
70 % st)
71 return changes
71 return changes
72
72
73 def __get_desc(self, cs):
73 def __get_desc(self, cs):
74 desc_msg = []
74 desc_msg = []
75 desc_msg.append('%s %s %s:<br/>' % (cs.author, _('commited on'),
75 desc_msg.append('%s %s %s:<br/>' % (cs.author, _('commited on'),
76 cs.date))
76 h.fmt_date(cs.date)))
77 desc_msg.append('<pre>')
77 desc_msg.append('<pre>')
78 desc_msg.append(cs.message)
78 desc_msg.append(cs.message)
79 desc_msg.append('\n')
79 desc_msg.append('\n')
80 desc_msg.extend(self.__changes(cs))
80 desc_msg.extend(self.__changes(cs))
81 desc_msg.append('</pre>')
81 desc_msg.append('</pre>')
82 return desc_msg
82 return desc_msg
83
83
84 def atom(self, repo_name):
84 def atom(self, repo_name):
85 """Produce an atom-1.0 feed via feedgenerator module"""
85 """Produce an atom-1.0 feed via feedgenerator module"""
86 feed = Atom1Feed(
86 feed = Atom1Feed(
87 title=self.title % repo_name,
87 title=self.title % repo_name,
88 link=url('summary_home', repo_name=repo_name,
88 link=url('summary_home', repo_name=repo_name,
89 qualified=True),
89 qualified=True),
90 description=self.description % repo_name,
90 description=self.description % repo_name,
91 language=self.language,
91 language=self.language,
92 ttl=self.ttl
92 ttl=self.ttl
93 )
93 )
94
94
95 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])):
95 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])):
96 feed.add_item(title=self._get_title(cs),
96 feed.add_item(title=self._get_title(cs),
97 link=url('changeset_home', repo_name=repo_name,
97 link=url('changeset_home', repo_name=repo_name,
98 revision=cs.raw_id, qualified=True),
98 revision=cs.raw_id, qualified=True),
99 author_name=cs.author,
99 author_name=cs.author,
100 description=''.join(self.__get_desc(cs)),
100 description=''.join(self.__get_desc(cs)),
101 pubdate=cs.date,
101 pubdate=cs.date,
102 )
102 )
103
103
104 response.content_type = feed.mime_type
104 response.content_type = feed.mime_type
105 return feed.writeString('utf-8')
105 return feed.writeString('utf-8')
106
106
107 def rss(self, repo_name):
107 def rss(self, repo_name):
108 """Produce an rss2 feed via feedgenerator module"""
108 """Produce an rss2 feed via feedgenerator module"""
109 feed = Rss201rev2Feed(
109 feed = Rss201rev2Feed(
110 title=self.title % repo_name,
110 title=self.title % repo_name,
111 link=url('summary_home', repo_name=repo_name,
111 link=url('summary_home', repo_name=repo_name,
112 qualified=True),
112 qualified=True),
113 description=self.description % repo_name,
113 description=self.description % repo_name,
114 language=self.language,
114 language=self.language,
115 ttl=self.ttl
115 ttl=self.ttl
116 )
116 )
117
117
118 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])):
118 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])):
119 feed.add_item(title=self._get_title(cs),
119 feed.add_item(title=self._get_title(cs),
120 link=url('changeset_home', repo_name=repo_name,
120 link=url('changeset_home', repo_name=repo_name,
121 revision=cs.raw_id, qualified=True),
121 revision=cs.raw_id, qualified=True),
122 author_name=cs.author,
122 author_name=cs.author,
123 description=''.join(self.__get_desc(cs)),
123 description=''.join(self.__get_desc(cs)),
124 pubdate=cs.date,
124 pubdate=cs.date,
125 )
125 )
126
126
127 response.content_type = feed.mime_type
127 response.content_type = feed.mime_type
128 return feed.writeString('utf-8')
128 return feed.writeString('utf-8')
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -1,3172 +1,3231 b''
1 # French translations for RhodeCode.
1 # French translations for RhodeCode.
2 # Copyright (C) 2011 ORGANIZATION
2 # Copyright (C) 2011 ORGANIZATION
3 # This file is distributed under the same license as the RhodeCode project.
3 # This file is distributed under the same license as the RhodeCode project.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
5 #
5 #
6 msgid ""
6 msgid ""
7 msgstr ""
7 msgstr ""
8 "Project-Id-Version: RhodeCode 1.1.5\n"
8 "Project-Id-Version: RhodeCode 1.1.5\n"
9 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
9 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10 "POT-Creation-Date: 2012-06-03 01:06+0200\n"
10 "POT-Creation-Date: 2012-06-05 20:42+0200\n"
11 "PO-Revision-Date: 2012-05-20 11:36+0100\n"
11 "PO-Revision-Date: 2012-06-05 20:07+0100\n"
12 "Last-Translator: Vincent Duvert <vincent@duvert.net>\n"
12 "Last-Translator: Vincent Duvert <vincent@duvert.net>\n"
13 "Language-Team: fr <LL@li.org>\n"
13 "Language-Team: fr <LL@li.org>\n"
14 "Plural-Forms: nplurals=2; plural=(n > 1)\n"
14 "Plural-Forms: nplurals=2; plural=(n > 1)\n"
15 "MIME-Version: 1.0\n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=utf-8\n"
16 "Content-Type: text/plain; charset=utf-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
17 "Content-Transfer-Encoding: 8bit\n"
18 "Generated-By: Babel 0.9.6\n"
18 "Generated-By: Babel 0.9.6\n"
19
19
20 #: rhodecode/controllers/changelog.py:95
20 #: rhodecode/controllers/changelog.py:94
21 msgid "All Branches"
21 msgid "All Branches"
22 msgstr "Toutes les branches"
22 msgstr "Toutes les branches"
23
23
24 #: rhodecode/controllers/changeset.py:80
24 #: rhodecode/controllers/changeset.py:80
25 msgid "show white space"
25 msgid "show white space"
26 msgstr "afficher les espaces et tabulations"
26 msgstr "afficher les espaces et tabulations"
27
27
28 #: rhodecode/controllers/changeset.py:87 rhodecode/controllers/changeset.py:94
28 #: rhodecode/controllers/changeset.py:87 rhodecode/controllers/changeset.py:94
29 msgid "ignore white space"
29 msgid "ignore white space"
30 msgstr "ignorer les espaces et tabulations"
30 msgstr "ignorer les espaces et tabulations"
31
31
32 #: rhodecode/controllers/changeset.py:154
32 #: rhodecode/controllers/changeset.py:154
33 #, python-format
33 #, python-format
34 msgid "%s line context"
34 msgid "%s line context"
35 msgstr "afficher %s lignes de contexte"
35 msgstr "afficher %s lignes de contexte"
36
36
37 #: rhodecode/controllers/changeset.py:324
37 #: rhodecode/controllers/changeset.py:324
38 #: rhodecode/controllers/changeset.py:339 rhodecode/lib/diffs.py:62
38 #: rhodecode/controllers/changeset.py:339 rhodecode/lib/diffs.py:62
39 msgid "binary file"
39 msgid "binary file"
40 msgstr "fichier binaire"
40 msgstr "fichier binaire"
41
41
42 #: rhodecode/controllers/error.py:69
42 #: rhodecode/controllers/error.py:69
43 msgid "Home page"
43 msgid "Home page"
44 msgstr "Accueil"
44 msgstr "Accueil"
45
45
46 #: rhodecode/controllers/error.py:98
46 #: rhodecode/controllers/error.py:98
47 msgid "The request could not be understood by the server due to malformed syntax."
47 msgid "The request could not be understood by the server due to malformed syntax."
48 msgstr ""
48 msgstr ""
49 "Le serveur n’a pas pu interpréter la requête à cause d’une erreur de "
49 "Le serveur n’a pas pu interpréter la requête à cause d’une erreur de "
50 "syntaxe"
50 "syntaxe"
51
51
52 #: rhodecode/controllers/error.py:101
52 #: rhodecode/controllers/error.py:101
53 msgid "Unauthorized access to resource"
53 msgid "Unauthorized access to resource"
54 msgstr "Accès interdit à cet ressource"
54 msgstr "Accès interdit à cet ressource"
55
55
56 #: rhodecode/controllers/error.py:103
56 #: rhodecode/controllers/error.py:103
57 msgid "You don't have permission to view this page"
57 msgid "You don't have permission to view this page"
58 msgstr "Vous n’avez pas la permission de voir cette page"
58 msgstr "Vous n’avez pas la permission de voir cette page"
59
59
60 #: rhodecode/controllers/error.py:105
60 #: rhodecode/controllers/error.py:105
61 msgid "The resource could not be found"
61 msgid "The resource could not be found"
62 msgstr "Ressource introuvable"
62 msgstr "Ressource introuvable"
63
63
64 #: rhodecode/controllers/error.py:107
64 #: rhodecode/controllers/error.py:107
65 msgid ""
65 msgid ""
66 "The server encountered an unexpected condition which prevented it from "
66 "The server encountered an unexpected condition which prevented it from "
67 "fulfilling the request."
67 "fulfilling the request."
68 msgstr ""
68 msgstr ""
69 "La requête n’a pu être traitée en raison d’une erreur survenue sur le "
69 "La requête n’a pu être traitée en raison d’une erreur survenue sur le "
70 "serveur."
70 "serveur."
71
71
72 #: rhodecode/controllers/feed.py:48
72 #: rhodecode/controllers/feed.py:49
73 #, python-format
73 #, python-format
74 msgid "Changes on %s repository"
74 msgid "Changes on %s repository"
75 msgstr "Changements sur le dépôt %s"
75 msgstr "Changements sur le dépôt %s"
76
76
77 #: rhodecode/controllers/feed.py:49
77 #: rhodecode/controllers/feed.py:50
78 #, python-format
78 #, python-format
79 msgid "%s %s feed"
79 msgid "%s %s feed"
80 msgstr "Flux %s de %s"
80 msgstr "Flux %s de %s"
81
81
82 #: rhodecode/controllers/feed.py:75
83 msgid "commited on"
84 msgstr "a commité, le"
85
82 #: rhodecode/controllers/files.py:86
86 #: rhodecode/controllers/files.py:86
83 #: rhodecode/templates/admin/repos/repo_add.html:13
87 #: rhodecode/templates/admin/repos/repo_add.html:13
84 msgid "add new"
88 msgid "add new"
85 msgstr "ajouter un nouveau"
89 msgstr "ajouter un nouveau"
86
90
87 #: rhodecode/controllers/files.py:87
91 #: rhodecode/controllers/files.py:87
88 #, python-format
92 #, python-format
89 msgid "There are no files yet %s"
93 msgid "There are no files yet %s"
90 msgstr "Il n’y a pas encore de fichiers %s"
94 msgstr "Il n’y a pas encore de fichiers %s"
91
95
92 #: rhodecode/controllers/files.py:247
96 #: rhodecode/controllers/files.py:247
93 #, python-format
97 #, python-format
94 msgid "Edited %s via RhodeCode"
98 msgid "Edited %s via RhodeCode"
95 msgstr "%s édité via RhodeCode"
99 msgstr "%s édité via RhodeCode"
96
100
97 #: rhodecode/controllers/files.py:252
101 #: rhodecode/controllers/files.py:252
98 msgid "No changes"
102 msgid "No changes"
99 msgstr "Aucun changement"
103 msgstr "Aucun changement"
100
104
101 #: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
105 #: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
102 #, python-format
106 #, python-format
103 msgid "Successfully committed to %s"
107 msgid "Successfully committed to %s"
104 msgstr "Commit réalisé avec succès sur %s"
108 msgstr "Commit réalisé avec succès sur %s"
105
109
106 #: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
110 #: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
107 msgid "Error occurred during commit"
111 msgid "Error occurred during commit"
108 msgstr "Une erreur est survenue durant le commit"
112 msgstr "Une erreur est survenue durant le commit"
109
113
110 #: rhodecode/controllers/files.py:288
114 #: rhodecode/controllers/files.py:288
111 #, python-format
115 #, python-format
112 msgid "Added %s via RhodeCode"
116 msgid "Added %s via RhodeCode"
113 msgstr "%s ajouté par RhodeCode"
117 msgstr "%s ajouté par RhodeCode"
114
118
115 #: rhodecode/controllers/files.py:302
119 #: rhodecode/controllers/files.py:302
116 msgid "No content"
120 msgid "No content"
117 msgstr "Aucun contenu"
121 msgstr "Aucun contenu"
118
122
119 #: rhodecode/controllers/files.py:306
123 #: rhodecode/controllers/files.py:306
120 msgid "No filename"
124 msgid "No filename"
121 msgstr "Aucun nom de fichier"
125 msgstr "Aucun nom de fichier"
122
126
123 #: rhodecode/controllers/files.py:347
127 #: rhodecode/controllers/files.py:347
124 msgid "downloads disabled"
128 msgid "downloads disabled"
125 msgstr "Les téléchargements sont désactivés"
129 msgstr "Les téléchargements sont désactivés"
126
130
127 #: rhodecode/controllers/files.py:358
131 #: rhodecode/controllers/files.py:358
128 #, python-format
132 #, python-format
129 msgid "Unknown revision %s"
133 msgid "Unknown revision %s"
130 msgstr "Révision %s inconnue."
134 msgstr "Révision %s inconnue."
131
135
132 #: rhodecode/controllers/files.py:360
136 #: rhodecode/controllers/files.py:360
133 msgid "Empty repository"
137 msgid "Empty repository"
134 msgstr "Dépôt vide."
138 msgstr "Dépôt vide."
135
139
136 #: rhodecode/controllers/files.py:362
140 #: rhodecode/controllers/files.py:362
137 msgid "Unknown archive type"
141 msgid "Unknown archive type"
138 msgstr "Type d’archive inconnu"
142 msgstr "Type d’archive inconnu"
139
143
140 #: rhodecode/controllers/files.py:461
144 #: rhodecode/controllers/files.py:461
141 #: rhodecode/templates/changeset/changeset_range.html:5
142 #: rhodecode/templates/changeset/changeset_range.html:13
145 #: rhodecode/templates/changeset/changeset_range.html:13
143 #: rhodecode/templates/changeset/changeset_range.html:31
146 #: rhodecode/templates/changeset/changeset_range.html:31
144 msgid "Changesets"
147 msgid "Changesets"
145 msgstr "Changesets"
148 msgstr "Changesets"
146
149
147 #: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:230
150 #: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:230
148 #: rhodecode/templates/branches/branches.html:5
149 msgid "Branches"
151 msgid "Branches"
150 msgstr "Branches"
152 msgstr "Branches"
151
153
152 #: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:231
154 #: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:231
153 #: rhodecode/templates/tags/tags.html:5
154 msgid "Tags"
155 msgid "Tags"
155 msgstr "Tags"
156 msgstr "Tags"
156
157
157 #: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
158 #: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
158 #, python-format
159 #, python-format
159 msgid ""
160 msgid ""
160 "%s repository is not mapped to db perhaps it was created or renamed from "
161 "%s repository is not mapped to db perhaps it was created or renamed from "
161 "the filesystem please run the application again in order to rescan "
162 "the filesystem please run the application again in order to rescan "
162 "repositories"
163 "repositories"
163 msgstr ""
164 msgstr ""
164 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
165 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
165 "probablement été créé ou renommé manuellement. Veuillez relancer "
166 "probablement été créé ou renommé manuellement. Veuillez relancer "
166 "l’application pour rescanner les dépôts."
167 "l’application pour rescanner les dépôts."
167
168
168 #: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
169 #: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
169 #, python-format
170 #, python-format
170 msgid ""
171 msgid ""
171 "%s repository is not mapped to db perhaps it was created or renamed from "
172 "%s repository is not mapped to db perhaps it was created or renamed from "
172 "the file system please run the application again in order to rescan "
173 "the file system please run the application again in order to rescan "
173 "repositories"
174 "repositories"
174 msgstr ""
175 msgstr ""
175 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
176 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
176 "probablement été créé ou renommé manuellement. Veuillez relancer "
177 "probablement été créé ou renommé manuellement. Veuillez relancer "
177 "l’application pour rescanner les dépôts."
178 "l’application pour rescanner les dépôts."
178
179
179 #: rhodecode/controllers/forks.py:163
180 #: rhodecode/controllers/forks.py:163
180 #, python-format
181 #, python-format
181 msgid "forked %s repository as %s"
182 msgid "forked %s repository as %s"
182 msgstr "dépôt %s forké en tant que %s"
183 msgstr "dépôt %s forké en tant que %s"
183
184
184 #: rhodecode/controllers/forks.py:177
185 #: rhodecode/controllers/forks.py:177
185 #, python-format
186 #, python-format
186 msgid "An error occurred during repository forking %s"
187 msgid "An error occurred during repository forking %s"
187 msgstr "Une erreur est survenue durant le fork du dépôt %s."
188 msgstr "Une erreur est survenue durant le fork du dépôt %s."
188
189
189 #: rhodecode/controllers/journal.py:53
190 #: rhodecode/controllers/journal.py:53
190 #, python-format
191 #, python-format
191 msgid "%s public journal %s feed"
192 msgid "%s public journal %s feed"
192 msgstr "%s — Flux %s du journal public"
193 msgstr "%s — Flux %s du journal public"
193
194
194 #: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:223
195 #: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:223
195 #: rhodecode/templates/admin/repos/repo_edit.html:177
196 #: rhodecode/templates/admin/repos/repo_edit.html:177
196 #: rhodecode/templates/base/base.html:307
197 #: rhodecode/templates/base/base.html:307
197 #: rhodecode/templates/base/base.html:309
198 #: rhodecode/templates/base/base.html:309
198 #: rhodecode/templates/base/base.html:311
199 #: rhodecode/templates/base/base.html:311
199 msgid "Public journal"
200 msgid "Public journal"
200 msgstr "Journal public"
201 msgstr "Journal public"
201
202
202 #: rhodecode/controllers/login.py:116
203 #: rhodecode/controllers/login.py:116
203 msgid "You have successfully registered into rhodecode"
204 msgid "You have successfully registered into rhodecode"
204 msgstr "Vous vous êtes inscrits avec succès à RhodeCode"
205 msgstr "Vous vous êtes inscrits avec succès à RhodeCode"
205
206
206 #: rhodecode/controllers/login.py:137
207 #: rhodecode/controllers/login.py:137
207 msgid "Your password reset link was sent"
208 msgid "Your password reset link was sent"
208 msgstr "Un lien de rénitialisation de votre mot de passe vous a été envoyé."
209 msgstr "Un lien de rénitialisation de votre mot de passe vous a été envoyé."
209
210
210 #: rhodecode/controllers/login.py:157
211 #: rhodecode/controllers/login.py:157
211 msgid ""
212 msgid ""
212 "Your password reset was successful, new password has been sent to your "
213 "Your password reset was successful, new password has been sent to your "
213 "email"
214 "email"
214 msgstr ""
215 msgstr ""
215 "Votre mot de passe a été réinitialisé. Votre nouveau mot de passe vous a "
216 "Votre mot de passe a été réinitialisé. Votre nouveau mot de passe vous a "
216 "été envoyé par e-mail."
217 "été envoyé par e-mail."
217
218
218 #: rhodecode/controllers/search.py:114
219 #: rhodecode/controllers/search.py:114
219 msgid "Invalid search query. Try quoting it."
220 msgid "Invalid search query. Try quoting it."
220 msgstr "Requête invalide. Essayer de la mettre entre guillemets."
221 msgstr "Requête invalide. Essayer de la mettre entre guillemets."
221
222
222 #: rhodecode/controllers/search.py:119
223 #: rhodecode/controllers/search.py:119
223 msgid "There is no index to search in. Please run whoosh indexer"
224 msgid "There is no index to search in. Please run whoosh indexer"
224 msgstr ""
225 msgstr ""
225 "L’index de recherche n’est pas présent. Veuillez exécuter l’indexeur de "
226 "L’index de recherche n’est pas présent. Veuillez exécuter l’indexeur de "
226 "code Whoosh."
227 "code Whoosh."
227
228
228 #: rhodecode/controllers/search.py:123
229 #: rhodecode/controllers/search.py:123
229 msgid "An error occurred during this search operation"
230 msgid "An error occurred during this search operation"
230 msgstr "Une erreur est survenue durant l’opération de recherche."
231 msgstr "Une erreur est survenue durant l’opération de recherche."
231
232
232 #: rhodecode/controllers/settings.py:103
233 #: rhodecode/controllers/settings.py:103
233 #: rhodecode/controllers/admin/repos.py:213
234 #: rhodecode/controllers/admin/repos.py:213
234 #, python-format
235 #, python-format
235 msgid "Repository %s updated successfully"
236 msgid "Repository %s updated successfully"
236 msgstr "Dépôt %s mis à jour avec succès."
237 msgstr "Dépôt %s mis à jour avec succès."
237
238
238 #: rhodecode/controllers/settings.py:121
239 #: rhodecode/controllers/settings.py:121
239 #: rhodecode/controllers/admin/repos.py:231
240 #: rhodecode/controllers/admin/repos.py:231
240 #, python-format
241 #, python-format
241 msgid "error occurred during update of repository %s"
242 msgid "error occurred during update of repository %s"
242 msgstr "Une erreur est survenue lors de la mise à jour du dépôt %s."
243 msgstr "Une erreur est survenue lors de la mise à jour du dépôt %s."
243
244
244 #: rhodecode/controllers/settings.py:139
245 #: rhodecode/controllers/settings.py:139
245 #: rhodecode/controllers/admin/repos.py:249
246 #: rhodecode/controllers/admin/repos.py:249
246 #, python-format
247 #, python-format
247 msgid ""
248 msgid ""
248 "%s repository is not mapped to db perhaps it was moved or renamed from "
249 "%s repository is not mapped to db perhaps it was moved or renamed from "
249 "the filesystem please run the application again in order to rescan "
250 "the filesystem please run the application again in order to rescan "
250 "repositories"
251 "repositories"
251 msgstr ""
252 msgstr ""
252 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
253 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
253 "probablement été déplacé ou renommé manuellement. Veuillez relancer "
254 "probablement été déplacé ou renommé manuellement. Veuillez relancer "
254 "l’application pour rescanner les dépôts."
255 "l’application pour rescanner les dépôts."
255
256
256 #: rhodecode/controllers/settings.py:151
257 #: rhodecode/controllers/settings.py:151
257 #: rhodecode/controllers/admin/repos.py:261
258 #: rhodecode/controllers/admin/repos.py:261
258 #, python-format
259 #, python-format
259 msgid "deleted repository %s"
260 msgid "deleted repository %s"
260 msgstr "Dépôt %s supprimé"
261 msgstr "Dépôt %s supprimé"
261
262
262 #: rhodecode/controllers/settings.py:155
263 #: rhodecode/controllers/settings.py:155
263 #: rhodecode/controllers/admin/repos.py:271
264 #: rhodecode/controllers/admin/repos.py:271
264 #: rhodecode/controllers/admin/repos.py:277
265 #: rhodecode/controllers/admin/repos.py:277
265 #, python-format
266 #, python-format
266 msgid "An error occurred during deletion of %s"
267 msgid "An error occurred during deletion of %s"
267 msgstr "Erreur pendant la suppression de %s"
268 msgstr "Erreur pendant la suppression de %s"
268
269
269 #: rhodecode/controllers/summary.py:138
270 #: rhodecode/controllers/summary.py:138
270 msgid "No data loaded yet"
271 msgid "No data loaded yet"
271 msgstr "Aucune donnée actuellement disponible."
272 msgstr "Aucune donnée actuellement disponible."
272
273
273 #: rhodecode/controllers/summary.py:142
274 #: rhodecode/controllers/summary.py:142
274 #: rhodecode/templates/summary/summary.html:139
275 #: rhodecode/templates/summary/summary.html:139
275 msgid "Statistics are disabled for this repository"
276 msgid "Statistics are disabled for this repository"
276 msgstr "La mise à jour des statistiques est désactivée pour ce dépôt."
277 msgstr "La mise à jour des statistiques est désactivée pour ce dépôt."
277
278
278 #: rhodecode/controllers/admin/ldap_settings.py:49
279 #: rhodecode/controllers/admin/ldap_settings.py:49
279 msgid "BASE"
280 msgid "BASE"
280 msgstr "Base"
281 msgstr "Base"
281
282
282 #: rhodecode/controllers/admin/ldap_settings.py:50
283 #: rhodecode/controllers/admin/ldap_settings.py:50
283 msgid "ONELEVEL"
284 msgid "ONELEVEL"
284 msgstr "Un niveau"
285 msgstr "Un niveau"
285
286
286 #: rhodecode/controllers/admin/ldap_settings.py:51
287 #: rhodecode/controllers/admin/ldap_settings.py:51
287 msgid "SUBTREE"
288 msgid "SUBTREE"
288 msgstr "Sous-arbre"
289 msgstr "Sous-arbre"
289
290
290 #: rhodecode/controllers/admin/ldap_settings.py:55
291 #: rhodecode/controllers/admin/ldap_settings.py:55
291 msgid "NEVER"
292 msgid "NEVER"
292 msgstr "NEVER"
293 msgstr "NEVER"
293
294
294 #: rhodecode/controllers/admin/ldap_settings.py:56
295 #: rhodecode/controllers/admin/ldap_settings.py:56
295 msgid "ALLOW"
296 msgid "ALLOW"
296 msgstr "Autoriser"
297 msgstr "Autoriser"
297
298
298 #: rhodecode/controllers/admin/ldap_settings.py:57
299 #: rhodecode/controllers/admin/ldap_settings.py:57
299 msgid "TRY"
300 msgid "TRY"
300 msgstr "TRY"
301 msgstr "TRY"
301
302
302 #: rhodecode/controllers/admin/ldap_settings.py:58
303 #: rhodecode/controllers/admin/ldap_settings.py:58
303 msgid "DEMAND"
304 msgid "DEMAND"
304 msgstr "DEMAND"
305 msgstr "DEMAND"
305
306
306 #: rhodecode/controllers/admin/ldap_settings.py:59
307 #: rhodecode/controllers/admin/ldap_settings.py:59
307 msgid "HARD"
308 msgid "HARD"
308 msgstr "HARD"
309 msgstr "HARD"
309
310
310 #: rhodecode/controllers/admin/ldap_settings.py:63
311 #: rhodecode/controllers/admin/ldap_settings.py:63
311 msgid "No encryption"
312 msgid "No encryption"
312 msgstr "Pas de chiffrement"
313 msgstr "Pas de chiffrement"
313
314
314 #: rhodecode/controllers/admin/ldap_settings.py:64
315 #: rhodecode/controllers/admin/ldap_settings.py:64
315 msgid "LDAPS connection"
316 msgid "LDAPS connection"
316 msgstr "Connection LDAPS"
317 msgstr "Connection LDAPS"
317
318
318 #: rhodecode/controllers/admin/ldap_settings.py:65
319 #: rhodecode/controllers/admin/ldap_settings.py:65
319 msgid "START_TLS on LDAP connection"
320 msgid "START_TLS on LDAP connection"
320 msgstr "START_TLS à la connexion"
321 msgstr "START_TLS à la connexion"
321
322
322 #: rhodecode/controllers/admin/ldap_settings.py:125
323 #: rhodecode/controllers/admin/ldap_settings.py:125
323 msgid "Ldap settings updated successfully"
324 msgid "Ldap settings updated successfully"
324 msgstr "Mise à jour réussie des réglages LDAP"
325 msgstr "Mise à jour réussie des réglages LDAP"
325
326
326 #: rhodecode/controllers/admin/ldap_settings.py:129
327 #: rhodecode/controllers/admin/ldap_settings.py:129
327 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
328 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
328 msgstr "Impossible d’activer LDAP. La bibliothèque « python-ldap » est manquante."
329 msgstr "Impossible d’activer LDAP. La bibliothèque « python-ldap » est manquante."
329
330
330 #: rhodecode/controllers/admin/ldap_settings.py:146
331 #: rhodecode/controllers/admin/ldap_settings.py:146
331 msgid "error occurred during update of ldap settings"
332 msgid "error occurred during update of ldap settings"
332 msgstr "Une erreur est survenue durant la mise à jour des réglages du LDAP."
333 msgstr "Une erreur est survenue durant la mise à jour des réglages du LDAP."
333
334
334 #: rhodecode/controllers/admin/permissions.py:59
335 #: rhodecode/controllers/admin/permissions.py:59
335 msgid "None"
336 msgid "None"
336 msgstr "Aucun"
337 msgstr "Aucun"
337
338
338 #: rhodecode/controllers/admin/permissions.py:60
339 #: rhodecode/controllers/admin/permissions.py:60
339 msgid "Read"
340 msgid "Read"
340 msgstr "Lire"
341 msgstr "Lire"
341
342
342 #: rhodecode/controllers/admin/permissions.py:61
343 #: rhodecode/controllers/admin/permissions.py:61
343 msgid "Write"
344 msgid "Write"
344 msgstr "Écrire"
345 msgstr "Écrire"
345
346
346 #: rhodecode/controllers/admin/permissions.py:62
347 #: rhodecode/controllers/admin/permissions.py:62
347 #: rhodecode/templates/admin/ldap/ldap.html:9
348 #: rhodecode/templates/admin/ldap/ldap.html:9
348 #: rhodecode/templates/admin/permissions/permissions.html:9
349 #: rhodecode/templates/admin/permissions/permissions.html:9
349 #: rhodecode/templates/admin/repos/repo_add.html:9
350 #: rhodecode/templates/admin/repos/repo_add.html:9
350 #: rhodecode/templates/admin/repos/repo_edit.html:9
351 #: rhodecode/templates/admin/repos/repo_edit.html:9
351 #: rhodecode/templates/admin/repos/repos.html:10
352 #: rhodecode/templates/admin/repos/repos.html:10
352 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
353 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
353 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
354 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
354 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
355 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
355 #: rhodecode/templates/admin/settings/hooks.html:9
356 #: rhodecode/templates/admin/settings/hooks.html:9
356 #: rhodecode/templates/admin/settings/settings.html:9
357 #: rhodecode/templates/admin/settings/settings.html:9
357 #: rhodecode/templates/admin/users/user_add.html:8
358 #: rhodecode/templates/admin/users/user_add.html:8
358 #: rhodecode/templates/admin/users/user_edit.html:9
359 #: rhodecode/templates/admin/users/user_edit.html:9
359 #: rhodecode/templates/admin/users/user_edit.html:122
360 #: rhodecode/templates/admin/users/user_edit.html:122
360 #: rhodecode/templates/admin/users/users.html:9
361 #: rhodecode/templates/admin/users/users.html:9
361 #: rhodecode/templates/admin/users_groups/users_group_add.html:8
362 #: rhodecode/templates/admin/users_groups/users_group_add.html:8
362 #: rhodecode/templates/admin/users_groups/users_group_edit.html:9
363 #: rhodecode/templates/admin/users_groups/users_group_edit.html:9
363 #: rhodecode/templates/admin/users_groups/users_groups.html:9
364 #: rhodecode/templates/admin/users_groups/users_groups.html:9
364 #: rhodecode/templates/base/base.html:197
365 #: rhodecode/templates/base/base.html:197
365 #: rhodecode/templates/base/base.html:326
366 #: rhodecode/templates/base/base.html:326
366 #: rhodecode/templates/base/base.html:328
367 #: rhodecode/templates/base/base.html:328
367 #: rhodecode/templates/base/base.html:330
368 #: rhodecode/templates/base/base.html:330
368 msgid "Admin"
369 msgid "Admin"
369 msgstr "Administration"
370 msgstr "Administration"
370
371
371 #: rhodecode/controllers/admin/permissions.py:65
372 #: rhodecode/controllers/admin/permissions.py:65
372 msgid "disabled"
373 msgid "disabled"
373 msgstr "Désactivé"
374 msgstr "Désactivé"
374
375
375 #: rhodecode/controllers/admin/permissions.py:67
376 #: rhodecode/controllers/admin/permissions.py:67
376 msgid "allowed with manual account activation"
377 msgid "allowed with manual account activation"
377 msgstr "Autorisé avec activation manuelle du compte"
378 msgstr "Autorisé avec activation manuelle du compte"
378
379
379 #: rhodecode/controllers/admin/permissions.py:69
380 #: rhodecode/controllers/admin/permissions.py:69
380 msgid "allowed with automatic account activation"
381 msgid "allowed with automatic account activation"
381 msgstr "Autorisé avec activation automatique du compte"
382 msgstr "Autorisé avec activation automatique du compte"
382
383
383 #: rhodecode/controllers/admin/permissions.py:71
384 #: rhodecode/controllers/admin/permissions.py:71
384 msgid "Disabled"
385 msgid "Disabled"
385 msgstr "Interdite"
386 msgstr "Interdite"
386
387
387 #: rhodecode/controllers/admin/permissions.py:72
388 #: rhodecode/controllers/admin/permissions.py:72
388 msgid "Enabled"
389 msgid "Enabled"
389 msgstr "Autorisée"
390 msgstr "Autorisée"
390
391
391 #: rhodecode/controllers/admin/permissions.py:106
392 #: rhodecode/controllers/admin/permissions.py:106
392 msgid "Default permissions updated successfully"
393 msgid "Default permissions updated successfully"
393 msgstr "Permissions par défaut mises à jour avec succès"
394 msgstr "Permissions par défaut mises à jour avec succès"
394
395
395 #: rhodecode/controllers/admin/permissions.py:123
396 #: rhodecode/controllers/admin/permissions.py:123
396 msgid "error occurred during update of permissions"
397 msgid "error occurred during update of permissions"
397 msgstr "erreur pendant la mise à jour des permissions"
398 msgstr "erreur pendant la mise à jour des permissions"
398
399
399 #: rhodecode/controllers/admin/repos.py:116
400 #: rhodecode/controllers/admin/repos.py:116
400 msgid "--REMOVE FORK--"
401 msgid "--REMOVE FORK--"
401 msgstr "[Pas un fork]"
402 msgstr "[Pas un fork]"
402
403
403 #: rhodecode/controllers/admin/repos.py:144
404 #: rhodecode/controllers/admin/repos.py:144
404 #, python-format
405 #, python-format
405 msgid "created repository %s from %s"
406 msgid "created repository %s from %s"
406 msgstr "Le dépôt %s a été créé depuis %s."
407 msgstr "Le dépôt %s a été créé depuis %s."
407
408
408 #: rhodecode/controllers/admin/repos.py:148
409 #: rhodecode/controllers/admin/repos.py:148
409 #, python-format
410 #, python-format
410 msgid "created repository %s"
411 msgid "created repository %s"
411 msgstr "Le dépôt %s a été créé."
412 msgstr "Le dépôt %s a été créé."
412
413
413 #: rhodecode/controllers/admin/repos.py:179
414 #: rhodecode/controllers/admin/repos.py:179
414 #, python-format
415 #, python-format
415 msgid "error occurred during creation of repository %s"
416 msgid "error occurred during creation of repository %s"
416 msgstr "Une erreur est survenue durant la création du dépôt %s."
417 msgstr "Une erreur est survenue durant la création du dépôt %s."
417
418
418 #: rhodecode/controllers/admin/repos.py:266
419 #: rhodecode/controllers/admin/repos.py:266
419 #, python-format
420 #, python-format
420 msgid "Cannot delete %s it still contains attached forks"
421 msgid "Cannot delete %s it still contains attached forks"
421 msgstr "Impossible de supprimer le dépôt %s : Des forks y sont attachés."
422 msgstr "Impossible de supprimer le dépôt %s : Des forks y sont attachés."
422
423
423 #: rhodecode/controllers/admin/repos.py:295
424 #: rhodecode/controllers/admin/repos.py:295
424 msgid "An error occurred during deletion of repository user"
425 msgid "An error occurred during deletion of repository user"
425 msgstr "Une erreur est survenue durant la suppression de l’utilisateur du dépôt."
426 msgstr "Une erreur est survenue durant la suppression de l’utilisateur du dépôt."
426
427
427 #: rhodecode/controllers/admin/repos.py:314
428 #: rhodecode/controllers/admin/repos.py:314
428 msgid "An error occurred during deletion of repository users groups"
429 msgid "An error occurred during deletion of repository users groups"
429 msgstr ""
430 msgstr ""
430 "Une erreur est survenue durant la suppression du groupe d’utilisateurs de"
431 "Une erreur est survenue durant la suppression du groupe d’utilisateurs de"
431 " ce dépôt."
432 " ce dépôt."
432
433
433 #: rhodecode/controllers/admin/repos.py:331
434 #: rhodecode/controllers/admin/repos.py:331
434 msgid "An error occurred during deletion of repository stats"
435 msgid "An error occurred during deletion of repository stats"
435 msgstr "Une erreur est survenue durant la suppression des statistiques du dépôt."
436 msgstr "Une erreur est survenue durant la suppression des statistiques du dépôt."
436
437
437 #: rhodecode/controllers/admin/repos.py:347
438 #: rhodecode/controllers/admin/repos.py:347
438 msgid "An error occurred during cache invalidation"
439 msgid "An error occurred during cache invalidation"
439 msgstr "Une erreur est survenue durant l’invalidation du cache."
440 msgstr "Une erreur est survenue durant l’invalidation du cache."
440
441
441 #: rhodecode/controllers/admin/repos.py:367
442 #: rhodecode/controllers/admin/repos.py:367
442 msgid "Updated repository visibility in public journal"
443 msgid "Updated repository visibility in public journal"
443 msgstr "La visibilité du dépôt dans le journal public a été mise à jour."
444 msgstr "La visibilité du dépôt dans le journal public a été mise à jour."
444
445
445 #: rhodecode/controllers/admin/repos.py:371
446 #: rhodecode/controllers/admin/repos.py:371
446 msgid "An error occurred during setting this repository in public journal"
447 msgid "An error occurred during setting this repository in public journal"
447 msgstr ""
448 msgstr ""
448 "Une erreur est survenue durant la configuration du journal public pour ce"
449 "Une erreur est survenue durant la configuration du journal public pour ce"
449 " dépôt."
450 " dépôt."
450
451
451 #: rhodecode/controllers/admin/repos.py:376 rhodecode/model/forms.py:54
452 #: rhodecode/controllers/admin/repos.py:376 rhodecode/model/forms.py:54
452 msgid "Token mismatch"
453 msgid "Token mismatch"
453 msgstr "Jeton d’authentification incorrect."
454 msgstr "Jeton d’authentification incorrect."
454
455
455 #: rhodecode/controllers/admin/repos.py:389
456 #: rhodecode/controllers/admin/repos.py:389
456 msgid "Pulled from remote location"
457 msgid "Pulled from remote location"
457 msgstr "Les changements distants ont été récupérés."
458 msgstr "Les changements distants ont été récupérés."
458
459
459 #: rhodecode/controllers/admin/repos.py:391
460 #: rhodecode/controllers/admin/repos.py:391
460 msgid "An error occurred during pull from remote location"
461 msgid "An error occurred during pull from remote location"
461 msgstr "Une erreur est survenue durant le pull depuis la source distante."
462 msgstr "Une erreur est survenue durant le pull depuis la source distante."
462
463
463 #: rhodecode/controllers/admin/repos.py:407
464 #: rhodecode/controllers/admin/repos.py:407
464 msgid "Nothing"
465 msgid "Nothing"
465 msgstr "[Aucun dépôt]"
466 msgstr "[Aucun dépôt]"
466
467
467 #: rhodecode/controllers/admin/repos.py:409
468 #: rhodecode/controllers/admin/repos.py:409
468 #, python-format
469 #, python-format
469 msgid "Marked repo %s as fork of %s"
470 msgid "Marked repo %s as fork of %s"
470 msgstr "Le dépôt %s a été marké comme fork de %s"
471 msgstr "Le dépôt %s a été marké comme fork de %s"
471
472
472 #: rhodecode/controllers/admin/repos.py:413
473 #: rhodecode/controllers/admin/repos.py:413
473 msgid "An error occurred during this operation"
474 msgid "An error occurred during this operation"
474 msgstr "Une erreur est survenue durant cette opération."
475 msgstr "Une erreur est survenue durant cette opération."
475
476
476 #: rhodecode/controllers/admin/repos_groups.py:119
477 #: rhodecode/controllers/admin/repos_groups.py:119
477 #, python-format
478 #, python-format
478 msgid "created repos group %s"
479 msgid "created repos group %s"
479 msgstr "Le groupe de dépôts %s a été créé."
480 msgstr "Le groupe de dépôts %s a été créé."
480
481
481 #: rhodecode/controllers/admin/repos_groups.py:132
482 #: rhodecode/controllers/admin/repos_groups.py:132
482 #, python-format
483 #, python-format
483 msgid "error occurred during creation of repos group %s"
484 msgid "error occurred during creation of repos group %s"
484 msgstr "Une erreur est survenue durant la création du groupe de dépôts %s."
485 msgstr "Une erreur est survenue durant la création du groupe de dépôts %s."
485
486
486 #: rhodecode/controllers/admin/repos_groups.py:166
487 #: rhodecode/controllers/admin/repos_groups.py:166
487 #, python-format
488 #, python-format
488 msgid "updated repos group %s"
489 msgid "updated repos group %s"
489 msgstr "Le groupe de dépôts %s a été mis à jour."
490 msgstr "Le groupe de dépôts %s a été mis à jour."
490
491
491 #: rhodecode/controllers/admin/repos_groups.py:179
492 #: rhodecode/controllers/admin/repos_groups.py:179
492 #, python-format
493 #, python-format
493 msgid "error occurred during update of repos group %s"
494 msgid "error occurred during update of repos group %s"
494 msgstr "Une erreur est survenue durant la mise à jour du groupe de dépôts %s."
495 msgstr "Une erreur est survenue durant la mise à jour du groupe de dépôts %s."
495
496
496 #: rhodecode/controllers/admin/repos_groups.py:198
497 #: rhodecode/controllers/admin/repos_groups.py:198
497 #, python-format
498 #, python-format
498 msgid "This group contains %s repositores and cannot be deleted"
499 msgid "This group contains %s repositores and cannot be deleted"
499 msgstr "Ce groupe contient %s dépôts et ne peut être supprimé."
500 msgstr "Ce groupe contient %s dépôts et ne peut être supprimé."
500
501
501 #: rhodecode/controllers/admin/repos_groups.py:205
502 #: rhodecode/controllers/admin/repos_groups.py:205
502 #, python-format
503 #, python-format
503 msgid "removed repos group %s"
504 msgid "removed repos group %s"
504 msgstr "Le groupe de dépôts %s a été supprimé."
505 msgstr "Le groupe de dépôts %s a été supprimé."
505
506
506 #: rhodecode/controllers/admin/repos_groups.py:210
507 #: rhodecode/controllers/admin/repos_groups.py:210
507 msgid "Cannot delete this group it still contains subgroups"
508 msgid "Cannot delete this group it still contains subgroups"
508 msgstr "Impossible de supprimer ce groupe : Il contient des sous-groupes."
509 msgstr "Impossible de supprimer ce groupe : Il contient des sous-groupes."
509
510
510 #: rhodecode/controllers/admin/repos_groups.py:215
511 #: rhodecode/controllers/admin/repos_groups.py:215
511 #: rhodecode/controllers/admin/repos_groups.py:220
512 #: rhodecode/controllers/admin/repos_groups.py:220
512 #, python-format
513 #, python-format
513 msgid "error occurred during deletion of repos group %s"
514 msgid "error occurred during deletion of repos group %s"
514 msgstr "Une erreur est survenue durant la suppression du groupe de dépôts %s."
515 msgstr "Une erreur est survenue durant la suppression du groupe de dépôts %s."
515
516
516 #: rhodecode/controllers/admin/repos_groups.py:240
517 #: rhodecode/controllers/admin/repos_groups.py:240
517 msgid "An error occurred during deletion of group user"
518 msgid "An error occurred during deletion of group user"
518 msgstr ""
519 msgstr ""
519 "Une erreur est survenue durant la suppression de l’utilisateur du groupe "
520 "Une erreur est survenue durant la suppression de l’utilisateur du groupe "
520 "de dépôts."
521 "de dépôts."
521
522
522 #: rhodecode/controllers/admin/repos_groups.py:260
523 #: rhodecode/controllers/admin/repos_groups.py:260
523 msgid "An error occurred during deletion of group users groups"
524 msgid "An error occurred during deletion of group users groups"
524 msgstr ""
525 msgstr ""
525 "Une erreur est survenue durant la suppression du groupe d’utilisateurs du"
526 "Une erreur est survenue durant la suppression du groupe d’utilisateurs du"
526 " groupe de dépôts."
527 " groupe de dépôts."
527
528
528 #: rhodecode/controllers/admin/settings.py:120
529 #: rhodecode/controllers/admin/settings.py:120
529 #, python-format
530 #, python-format
530 msgid "Repositories successfully rescanned added: %s,removed: %s"
531 msgid "Repositories successfully rescanned added: %s,removed: %s"
531 msgstr "Après re-scan : %s ajouté(s), %s enlevé(s)"
532 msgstr "Après re-scan : %s ajouté(s), %s enlevé(s)"
532
533
533 #: rhodecode/controllers/admin/settings.py:129
534 #: rhodecode/controllers/admin/settings.py:129
534 msgid "Whoosh reindex task scheduled"
535 msgid "Whoosh reindex task scheduled"
535 msgstr "La tâche de réindexation Whoosh a été planifiée."
536 msgstr "La tâche de réindexation Whoosh a été planifiée."
536
537
537 #: rhodecode/controllers/admin/settings.py:154
538 #: rhodecode/controllers/admin/settings.py:154
538 msgid "Updated application settings"
539 msgid "Updated application settings"
539 msgstr "Réglages mis à jour"
540 msgstr "Réglages mis à jour"
540
541
541 #: rhodecode/controllers/admin/settings.py:159
542 #: rhodecode/controllers/admin/settings.py:159
542 #: rhodecode/controllers/admin/settings.py:226
543 #: rhodecode/controllers/admin/settings.py:226
543 msgid "error occurred during updating application settings"
544 msgid "error occurred during updating application settings"
544 msgstr "Une erreur est survenue durant la mise à jour des options."
545 msgstr "Une erreur est survenue durant la mise à jour des options."
545
546
546 #: rhodecode/controllers/admin/settings.py:221
547 #: rhodecode/controllers/admin/settings.py:221
547 msgid "Updated mercurial settings"
548 msgid "Updated mercurial settings"
548 msgstr "Réglages de Mercurial mis à jour"
549 msgstr "Réglages de Mercurial mis à jour"
549
550
550 #: rhodecode/controllers/admin/settings.py:246
551 #: rhodecode/controllers/admin/settings.py:246
551 msgid "Added new hook"
552 msgid "Added new hook"
552 msgstr "Le nouveau hook a été ajouté."
553 msgstr "Le nouveau hook a été ajouté."
553
554
554 #: rhodecode/controllers/admin/settings.py:258
555 #: rhodecode/controllers/admin/settings.py:258
555 msgid "Updated hooks"
556 msgid "Updated hooks"
556 msgstr "Hooks mis à jour"
557 msgstr "Hooks mis à jour"
557
558
558 #: rhodecode/controllers/admin/settings.py:262
559 #: rhodecode/controllers/admin/settings.py:262
559 msgid "error occurred during hook creation"
560 msgid "error occurred during hook creation"
560 msgstr "Une erreur est survenue durant la création du hook."
561 msgstr "Une erreur est survenue durant la création du hook."
561
562
562 #: rhodecode/controllers/admin/settings.py:281
563 #: rhodecode/controllers/admin/settings.py:281
563 msgid "Email task created"
564 msgid "Email task created"
564 msgstr "La tâche d’e-mail a été créée."
565 msgstr "La tâche d’e-mail a été créée."
565
566
566 #: rhodecode/controllers/admin/settings.py:336
567 #: rhodecode/controllers/admin/settings.py:336
567 msgid "You can't edit this user since it's crucial for entire application"
568 msgid "You can't edit this user since it's crucial for entire application"
568 msgstr ""
569 msgstr ""
569 "Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
570 "Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
570 " fonctionnement de l’application."
571 " fonctionnement de l’application."
571
572
572 #: rhodecode/controllers/admin/settings.py:367
573 #: rhodecode/controllers/admin/settings.py:367
573 msgid "Your account was updated successfully"
574 msgid "Your account was updated successfully"
574 msgstr "Votre compte a été mis à jour avec succès"
575 msgstr "Votre compte a été mis à jour avec succès"
575
576
576 #: rhodecode/controllers/admin/settings.py:387
577 #: rhodecode/controllers/admin/settings.py:387
577 #: rhodecode/controllers/admin/users.py:138
578 #: rhodecode/controllers/admin/users.py:138
578 #, python-format
579 #, python-format
579 msgid "error occurred during update of user %s"
580 msgid "error occurred during update of user %s"
580 msgstr "Une erreur est survenue durant la mise à jour de l’utilisateur %s."
581 msgstr "Une erreur est survenue durant la mise à jour de l’utilisateur %s."
581
582
582 #: rhodecode/controllers/admin/users.py:83
583 #: rhodecode/controllers/admin/users.py:83
583 #, python-format
584 #, python-format
584 msgid "created user %s"
585 msgid "created user %s"
585 msgstr "utilisateur %s créé"
586 msgstr "utilisateur %s créé"
586
587
587 #: rhodecode/controllers/admin/users.py:95
588 #: rhodecode/controllers/admin/users.py:95
588 #, python-format
589 #, python-format
589 msgid "error occurred during creation of user %s"
590 msgid "error occurred during creation of user %s"
590 msgstr "Une erreur est survenue durant la création de l’utilisateur %s."
591 msgstr "Une erreur est survenue durant la création de l’utilisateur %s."
591
592
592 #: rhodecode/controllers/admin/users.py:124
593 #: rhodecode/controllers/admin/users.py:124
593 msgid "User updated successfully"
594 msgid "User updated successfully"
594 msgstr "L’utilisateur a été mis à jour avec succès."
595 msgstr "L’utilisateur a été mis à jour avec succès."
595
596
596 #: rhodecode/controllers/admin/users.py:155
597 #: rhodecode/controllers/admin/users.py:155
597 msgid "successfully deleted user"
598 msgid "successfully deleted user"
598 msgstr "L’utilisateur a été supprimé avec succès."
599 msgstr "L’utilisateur a été supprimé avec succès."
599
600
600 #: rhodecode/controllers/admin/users.py:160
601 #: rhodecode/controllers/admin/users.py:160
601 msgid "An error occurred during deletion of user"
602 msgid "An error occurred during deletion of user"
602 msgstr "Une erreur est survenue durant la suppression de l’utilisateur."
603 msgstr "Une erreur est survenue durant la suppression de l’utilisateur."
603
604
604 #: rhodecode/controllers/admin/users.py:175
605 #: rhodecode/controllers/admin/users.py:175
605 msgid "You can't edit this user"
606 msgid "You can't edit this user"
606 msgstr "Vous ne pouvez pas éditer cet utilisateur"
607 msgstr "Vous ne pouvez pas éditer cet utilisateur"
607
608
608 #: rhodecode/controllers/admin/users.py:205
609 #: rhodecode/controllers/admin/users.py:205
609 #: rhodecode/controllers/admin/users_groups.py:219
610 #: rhodecode/controllers/admin/users_groups.py:219
610 msgid "Granted 'repository create' permission to user"
611 msgid "Granted 'repository create' permission to user"
611 msgstr "La permission de création de dépôts a été accordée à l’utilisateur."
612 msgstr "La permission de création de dépôts a été accordée à l’utilisateur."
612
613
613 #: rhodecode/controllers/admin/users.py:214
614 #: rhodecode/controllers/admin/users.py:214
614 #: rhodecode/controllers/admin/users_groups.py:229
615 #: rhodecode/controllers/admin/users_groups.py:229
615 msgid "Revoked 'repository create' permission to user"
616 msgid "Revoked 'repository create' permission to user"
616 msgstr "La permission de création de dépôts a été révoquée à l’utilisateur."
617 msgstr "La permission de création de dépôts a été révoquée à l’utilisateur."
617
618
618 #: rhodecode/controllers/admin/users_groups.py:84
619 #: rhodecode/controllers/admin/users_groups.py:84
619 #, python-format
620 #, python-format
620 msgid "created users group %s"
621 msgid "created users group %s"
621 msgstr "Le groupe d’utilisateurs %s a été créé."
622 msgstr "Le groupe d’utilisateurs %s a été créé."
622
623
623 #: rhodecode/controllers/admin/users_groups.py:95
624 #: rhodecode/controllers/admin/users_groups.py:95
624 #, python-format
625 #, python-format
625 msgid "error occurred during creation of users group %s"
626 msgid "error occurred during creation of users group %s"
626 msgstr "Une erreur est survenue durant la création du groupe d’utilisateurs %s."
627 msgstr "Une erreur est survenue durant la création du groupe d’utilisateurs %s."
627
628
628 #: rhodecode/controllers/admin/users_groups.py:135
629 #: rhodecode/controllers/admin/users_groups.py:135
629 #, python-format
630 #, python-format
630 msgid "updated users group %s"
631 msgid "updated users group %s"
631 msgstr "Le groupe d’utilisateurs %s a été mis à jour."
632 msgstr "Le groupe d’utilisateurs %s a été mis à jour."
632
633
633 #: rhodecode/controllers/admin/users_groups.py:152
634 #: rhodecode/controllers/admin/users_groups.py:152
634 #, python-format
635 #, python-format
635 msgid "error occurred during update of users group %s"
636 msgid "error occurred during update of users group %s"
636 msgstr "Une erreur est survenue durant la mise à jour du groupe d’utilisateurs %s."
637 msgstr "Une erreur est survenue durant la mise à jour du groupe d’utilisateurs %s."
637
638
638 #: rhodecode/controllers/admin/users_groups.py:169
639 #: rhodecode/controllers/admin/users_groups.py:169
639 msgid "successfully deleted users group"
640 msgid "successfully deleted users group"
640 msgstr "Le groupe d’utilisateurs a été supprimé avec succès."
641 msgstr "Le groupe d’utilisateurs a été supprimé avec succès."
641
642
642 #: rhodecode/controllers/admin/users_groups.py:174
643 #: rhodecode/controllers/admin/users_groups.py:174
643 msgid "An error occurred during deletion of users group"
644 msgid "An error occurred during deletion of users group"
644 msgstr "Une erreur est survenue lors de la suppression du groupe d’utilisateurs."
645 msgstr "Une erreur est survenue lors de la suppression du groupe d’utilisateurs."
645
646
646 #: rhodecode/lib/auth.py:497
647 #: rhodecode/lib/auth.py:497
647 msgid "You need to be a registered user to perform this action"
648 msgid "You need to be a registered user to perform this action"
648 msgstr "Vous devez être un utilisateur enregistré pour effectuer cette action."
649 msgstr "Vous devez être un utilisateur enregistré pour effectuer cette action."
649
650
650 #: rhodecode/lib/auth.py:538
651 #: rhodecode/lib/auth.py:538
651 msgid "You need to be a signed in to view this page"
652 msgid "You need to be a signed in to view this page"
652 msgstr "Vous devez être connecté pour visualiser cette page."
653 msgstr "Vous devez être connecté pour visualiser cette page."
653
654
654 #: rhodecode/lib/diffs.py:78
655 #: rhodecode/lib/diffs.py:78
655 msgid "Changeset was too big and was cut off, use diff menu to display this diff"
656 msgid "Changeset was too big and was cut off, use diff menu to display this diff"
656 msgstr ""
657 msgstr ""
657 "Cet ensemble de changements était trop gros pour être affiché et a été "
658 "Cet ensemble de changements était trop gros pour être affiché et a été "
658 "découpé, utilisez le menu « Diff » pour afficher les différences."
659 "découpé, utilisez le menu « Diff » pour afficher les différences."
659
660
660 #: rhodecode/lib/diffs.py:88
661 #: rhodecode/lib/diffs.py:88
661 msgid "No changes detected"
662 msgid "No changes detected"
662 msgstr "Aucun changement détecté."
663 msgstr "Aucun changement détecté."
663
664
664 #: rhodecode/lib/helpers.py:415
665 #: rhodecode/lib/helpers.py:350
666 #, python-format
667 msgid "%a, %d %b %Y %H:%M:%S"
668 msgstr "%d/%m/%Y à %H:%M:%S"
669
670 #: rhodecode/lib/helpers.py:423
665 msgid "True"
671 msgid "True"
666 msgstr "Vrai"
672 msgstr "Vrai"
667
673
668 #: rhodecode/lib/helpers.py:419
674 #: rhodecode/lib/helpers.py:427
669 msgid "False"
675 msgid "False"
670 msgstr "Faux"
676 msgstr "Faux"
671
677
672 #: rhodecode/lib/helpers.py:463
678 #: rhodecode/lib/helpers.py:471
673 #, fuzzy
674 msgid "Changeset not found"
679 msgid "Changeset not found"
675 msgstr "Dépôt vide"
680 msgstr "Ensemble de changements non trouvé"
676
681
677 #: rhodecode/lib/helpers.py:486
682 #: rhodecode/lib/helpers.py:494
678 #, python-format
683 #, python-format
679 msgid "Show all combined changesets %s->%s"
684 msgid "Show all combined changesets %s->%s"
680 msgstr "Afficher les changements combinés %s->%s"
685 msgstr "Afficher les changements combinés %s->%s"
681
686
682 #: rhodecode/lib/helpers.py:492
687 #: rhodecode/lib/helpers.py:500
683 msgid "compare view"
688 msgid "compare view"
684 msgstr "vue de comparaison"
689 msgstr "vue de comparaison"
685
690
686 #: rhodecode/lib/helpers.py:512
691 #: rhodecode/lib/helpers.py:520
687 msgid "and"
692 msgid "and"
688 msgstr "et"
693 msgstr "et"
689
694
690 #: rhodecode/lib/helpers.py:513
695 #: rhodecode/lib/helpers.py:521
691 #, python-format
696 #, python-format
692 msgid "%s more"
697 msgid "%s more"
693 msgstr "%s de plus"
698 msgstr "%s de plus"
694
699
695 #: rhodecode/lib/helpers.py:514 rhodecode/templates/changelog/changelog.html:40
700 #: rhodecode/lib/helpers.py:522 rhodecode/templates/changelog/changelog.html:40
696 msgid "revisions"
701 msgid "revisions"
697 msgstr "révisions"
702 msgstr "révisions"
698
703
699 #: rhodecode/lib/helpers.py:537
704 #: rhodecode/lib/helpers.py:545
700 msgid "fork name "
705 msgid "fork name "
701 msgstr "Nom du fork"
706 msgstr "Nom du fork"
702
707
703 #: rhodecode/lib/helpers.py:550
708 #: rhodecode/lib/helpers.py:558
704 msgid "[deleted] repository"
709 msgid "[deleted] repository"
705 msgstr "[a supprimé] le dépôt"
710 msgstr "[a supprimé] le dépôt"
706
711
707 #: rhodecode/lib/helpers.py:552 rhodecode/lib/helpers.py:562
712 #: rhodecode/lib/helpers.py:560 rhodecode/lib/helpers.py:570
708 msgid "[created] repository"
713 msgid "[created] repository"
709 msgstr "[a créé] le dépôt"
714 msgstr "[a créé] le dépôt"
710
715
711 #: rhodecode/lib/helpers.py:554
716 #: rhodecode/lib/helpers.py:562
712 msgid "[created] repository as fork"
717 msgid "[created] repository as fork"
713 msgstr "[a créé] le dépôt en tant que fork"
718 msgstr "[a créé] le dépôt en tant que fork"
714
719
715 #: rhodecode/lib/helpers.py:556 rhodecode/lib/helpers.py:564
720 #: rhodecode/lib/helpers.py:564 rhodecode/lib/helpers.py:572
716 msgid "[forked] repository"
721 msgid "[forked] repository"
717 msgstr "[a forké] le dépôt"
722 msgstr "[a forké] le dépôt"
718
723
719 #: rhodecode/lib/helpers.py:558 rhodecode/lib/helpers.py:566
724 #: rhodecode/lib/helpers.py:566 rhodecode/lib/helpers.py:574
720 msgid "[updated] repository"
725 msgid "[updated] repository"
721 msgstr "[a mis à jour] le dépôt"
726 msgstr "[a mis à jour] le dépôt"
722
727
723 #: rhodecode/lib/helpers.py:560
724 msgid "[delete] repository"
725 msgstr "[a supprimé] le dépôt"
726
727 #: rhodecode/lib/helpers.py:568
728 #: rhodecode/lib/helpers.py:568
728 #, fuzzy, python-format
729 msgid "[delete] repository"
729 #| msgid "created user %s"
730 msgstr "[a supprimé] le dépôt"
730 msgid "[created] user"
731 msgstr "utilisateur %s créé"
732
733 #: rhodecode/lib/helpers.py:570
734 #, fuzzy, python-format
735 #| msgid "updated users group %s"
736 msgid "[updated] user"
737 msgstr "Le groupe d’utilisateurs %s a été mis à jour."
738
739 #: rhodecode/lib/helpers.py:572
740 #, fuzzy, python-format
741 #| msgid "created users group %s"
742 msgid "[created] users group"
743 msgstr "Le groupe d’utilisateurs %s a été créé."
744
745 #: rhodecode/lib/helpers.py:574
746 #, fuzzy, python-format
747 #| msgid "updated users group %s"
748 msgid "[updated] users group"
749 msgstr "Le groupe d’utilisateurs %s a été mis à jour."
750
731
751 #: rhodecode/lib/helpers.py:576
732 #: rhodecode/lib/helpers.py:576
752 #, fuzzy
733 msgid "[created] user"
753 #| msgid "[created] repository"
734 msgstr "[a créé] l’utilisateur"
754 msgid "[commented] on revision in repository"
755 msgstr "[a créé] le dépôt"
756
735
757 #: rhodecode/lib/helpers.py:578
736 #: rhodecode/lib/helpers.py:578
758 msgid "[pushed] into"
737 msgid "[updated] user"
759 msgstr "[a pushé] dans"
738 msgstr "[a mis à jour] l’utilisateur"
760
739
761 #: rhodecode/lib/helpers.py:580
740 #: rhodecode/lib/helpers.py:580
762 #, fuzzy
741 msgid "[created] users group"
763 #| msgid "[committed via RhodeCode] into"
742 msgstr "[a créé] le groupe d’utilisateurs"
764 msgid "[committed via RhodeCode] into repository"
765 msgstr "[a commité via RhodeCode] dans"
766
743
767 #: rhodecode/lib/helpers.py:582
744 #: rhodecode/lib/helpers.py:582
768 #, fuzzy
745 msgid "[updated] users group"
769 #| msgid "[pulled from remote] into"
746 msgstr "[a mis à jour] le groupe d’utilisateurs"
770 msgid "[pulled from remote] into repository"
771 msgstr "[a pullé depuis un site distant] dans"
772
747
773 #: rhodecode/lib/helpers.py:584
748 #: rhodecode/lib/helpers.py:584
749 msgid "[commented] on revision in repository"
750 msgstr "[a commenté] une révision du dépôt"
751
752 #: rhodecode/lib/helpers.py:586
753 msgid "[pushed] into"
754 msgstr "[a pushé] dans"
755
756 #: rhodecode/lib/helpers.py:588
757 msgid "[committed via RhodeCode] into repository"
758 msgstr "[a commité via RhodeCode] dans le dépôt"
759
760 #: rhodecode/lib/helpers.py:590
761 msgid "[pulled from remote] into repository"
762 msgstr "[a pullé depuis un site distant] dans le dépôt"
763
764 #: rhodecode/lib/helpers.py:592
774 msgid "[pulled] from"
765 msgid "[pulled] from"
775 msgstr "[a pullé] depuis"
766 msgstr "[a pullé] depuis"
776
767
777 #: rhodecode/lib/helpers.py:586
768 #: rhodecode/lib/helpers.py:594
778 msgid "[started following] repository"
769 msgid "[started following] repository"
779 msgstr "[suit maintenant] le dépôt"
770 msgstr "[suit maintenant] le dépôt"
780
771
781 #: rhodecode/lib/helpers.py:588
772 #: rhodecode/lib/helpers.py:596
782 msgid "[stopped following] repository"
773 msgid "[stopped following] repository"
783 msgstr "[ne suit plus] le dépôt"
774 msgstr "[ne suit plus] le dépôt"
784
775
785 #: rhodecode/lib/helpers.py:752
776 #: rhodecode/lib/helpers.py:760
786 #, python-format
777 #, python-format
787 msgid " and %s more"
778 msgid " and %s more"
788 msgstr "et %s de plus"
779 msgstr "et %s de plus"
789
780
790 #: rhodecode/lib/helpers.py:756
781 #: rhodecode/lib/helpers.py:764
791 msgid "No Files"
782 msgid "No Files"
792 msgstr "Aucun fichier"
783 msgstr "Aucun fichier"
793
784
794 #: rhodecode/lib/utils2.py:335
785 #: rhodecode/lib/utils2.py:335
795 #, python-format
786 #, python-format
796 msgid "%d year"
787 msgid "%d year"
797 msgid_plural "%d years"
788 msgid_plural "%d years"
798 msgstr[0] "%d an"
789 msgstr[0] "%d an"
799 msgstr[1] "%d ans"
790 msgstr[1] "%d ans"
800
791
801 #: rhodecode/lib/utils2.py:336
792 #: rhodecode/lib/utils2.py:336
802 #, python-format
793 #, python-format
803 msgid "%d month"
794 msgid "%d month"
804 msgid_plural "%d months"
795 msgid_plural "%d months"
805 msgstr[0] "%d mois"
796 msgstr[0] "%d mois"
806 msgstr[1] "%d mois"
797 msgstr[1] "%d mois"
807
798
808 #: rhodecode/lib/utils2.py:337
799 #: rhodecode/lib/utils2.py:337
809 #, python-format
800 #, python-format
810 msgid "%d day"
801 msgid "%d day"
811 msgid_plural "%d days"
802 msgid_plural "%d days"
812 msgstr[0] "%d jour"
803 msgstr[0] "%d jour"
813 msgstr[1] "%d jours"
804 msgstr[1] "%d jours"
814
805
815 #: rhodecode/lib/utils2.py:338
806 #: rhodecode/lib/utils2.py:338
816 #, python-format
807 #, python-format
817 msgid "%d hour"
808 msgid "%d hour"
818 msgid_plural "%d hours"
809 msgid_plural "%d hours"
819 msgstr[0] "%d heure"
810 msgstr[0] "%d heure"
820 msgstr[1] "%d heures"
811 msgstr[1] "%d heures"
821
812
822 #: rhodecode/lib/utils2.py:339
813 #: rhodecode/lib/utils2.py:339
823 #, python-format
814 #, python-format
824 msgid "%d minute"
815 msgid "%d minute"
825 msgid_plural "%d minutes"
816 msgid_plural "%d minutes"
826 msgstr[0] "%d minute"
817 msgstr[0] "%d minute"
827 msgstr[1] "%d minutes"
818 msgstr[1] "%d minutes"
828
819
829 #: rhodecode/lib/utils2.py:340
820 #: rhodecode/lib/utils2.py:340
830 #, python-format
821 #, python-format
831 msgid "%d second"
822 msgid "%d second"
832 msgid_plural "%d seconds"
823 msgid_plural "%d seconds"
833 msgstr[0] "%d seconde"
824 msgstr[0] "%d seconde"
834 msgstr[1] "%d secondes"
825 msgstr[1] "%d secondes"
835
826
836 #: rhodecode/lib/utils2.py:355
827 #: rhodecode/lib/utils2.py:355
837 #, python-format
828 #, python-format
838 msgid "%s ago"
829 msgid "%s ago"
839 msgstr "Il y a %s"
830 msgstr "Il y a %s"
840
831
841 #: rhodecode/lib/utils2.py:357
832 #: rhodecode/lib/utils2.py:357
842 #, python-format
833 #, python-format
843 msgid "%s and %s ago"
834 msgid "%s and %s ago"
844 msgstr "Il y a %s et %s"
835 msgstr "Il y a %s et %s"
845
836
846 #: rhodecode/lib/utils2.py:360
837 #: rhodecode/lib/utils2.py:360
847 msgid "just now"
838 msgid "just now"
848 msgstr "à l’instant"
839 msgstr "à l’instant"
849
840
850 #: rhodecode/lib/celerylib/tasks.py:269
841 #: rhodecode/lib/celerylib/tasks.py:269
851 msgid "password reset link"
842 msgid "password reset link"
852 msgstr "Réinitialisation du mot de passe"
843 msgstr "Réinitialisation du mot de passe"
853
844
854 #: rhodecode/model/comment.py:85
845 #: rhodecode/model/comment.py:85
855 #, python-format
846 #, python-format
856 msgid "on line %s"
847 msgid "on line %s"
857 msgstr "à la ligne %s"
848 msgstr "à la ligne %s"
858
849
859 #: rhodecode/model/comment.py:113
850 #: rhodecode/model/comment.py:114
860 msgid "[Mention]"
851 msgid "[Mention]"
861 msgstr "[Mention]"
852 msgstr "[Mention]"
862
853
863 #: rhodecode/model/forms.py:72
854 #: rhodecode/model/forms.py:72
864 msgid "Invalid username"
855 msgid "Invalid username"
865 msgstr "Nom d’utilisateur invalide"
856 msgstr "Nom d’utilisateur invalide"
866
857
867 #: rhodecode/model/forms.py:80
858 #: rhodecode/model/forms.py:80
868 msgid "This username already exists"
859 msgid "This username already exists"
869 msgstr "Ce nom d’utilisateur existe déjà"
860 msgstr "Ce nom d’utilisateur existe déjà"
870
861
871 #: rhodecode/model/forms.py:85
862 #: rhodecode/model/forms.py:85
872 msgid ""
863 msgid ""
873 "Username may only contain alphanumeric characters underscores, periods or"
864 "Username may only contain alphanumeric characters underscores, periods or"
874 " dashes and must begin with alphanumeric character"
865 " dashes and must begin with alphanumeric character"
875 msgstr ""
866 msgstr ""
876 "Le nom d’utilisateur peut contenir uniquement des caractères alpha-"
867 "Le nom d’utilisateur peut contenir uniquement des caractères alpha-"
877 "numériques ainsi que les caractères suivants : « _ . - ». Il doit "
868 "numériques ainsi que les caractères suivants : « _ . - ». Il doit "
878 "commencer par un caractère alpha-numérique."
869 "commencer par un caractère alpha-numérique."
879
870
880 #: rhodecode/model/forms.py:101
871 #: rhodecode/model/forms.py:101
881 msgid "Invalid group name"
872 msgid "Invalid group name"
882 msgstr "Nom de groupe invalide"
873 msgstr "Nom de groupe invalide"
883
874
884 #: rhodecode/model/forms.py:111
875 #: rhodecode/model/forms.py:111
885 msgid "This users group already exists"
876 msgid "This users group already exists"
886 msgstr "Ce groupe d’utilisateurs existe déjà."
877 msgstr "Ce groupe d’utilisateurs existe déjà."
887
878
888 #: rhodecode/model/forms.py:117
879 #: rhodecode/model/forms.py:117
889 msgid ""
880 msgid ""
890 "RepoGroup name may only contain alphanumeric characters underscores, "
881 "RepoGroup name may only contain alphanumeric characters underscores, "
891 "periods or dashes and must begin with alphanumeric character"
882 "periods or dashes and must begin with alphanumeric character"
892 msgstr ""
883 msgstr ""
893 "Le nom de groupe de dépôts peut contenir uniquement des caractères alpha-"
884 "Le nom de groupe de dépôts peut contenir uniquement des caractères alpha-"
894 "numériques ainsi que les caractères suivants : « _ . - ». Il doit "
885 "numériques ainsi que les caractères suivants : « _ . - ». Il doit "
895 "commencer par un caractère alpha-numérique."
886 "commencer par un caractère alpha-numérique."
896
887
897 #: rhodecode/model/forms.py:145
888 #: rhodecode/model/forms.py:145
898 msgid "Cannot assign this group as parent"
889 msgid "Cannot assign this group as parent"
899 msgstr "Impossible d’assigner ce groupe en tant que parent."
890 msgstr "Impossible d’assigner ce groupe en tant que parent."
900
891
901 #: rhodecode/model/forms.py:164
892 #: rhodecode/model/forms.py:164
902 msgid "This group already exists"
893 msgid "This group already exists"
903 msgstr "Ce groupe existe déjà."
894 msgstr "Ce groupe existe déjà."
904
895
905 #: rhodecode/model/forms.py:176
896 #: rhodecode/model/forms.py:176
906 msgid "Repository with this name already exists"
897 msgid "Repository with this name already exists"
907 msgstr "Un dépôt portant ce nom existe déjà."
898 msgstr "Un dépôt portant ce nom existe déjà."
908
899
909 #: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
900 #: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
910 #: rhodecode/model/forms.py:213
901 #: rhodecode/model/forms.py:213
911 msgid "Invalid characters in password"
902 msgid "Invalid characters in password"
912 msgstr "Caractères incorrects dans le mot de passe"
903 msgstr "Caractères incorrects dans le mot de passe"
913
904
914 #: rhodecode/model/forms.py:226
905 #: rhodecode/model/forms.py:226
915 msgid "Passwords do not match"
906 msgid "Passwords do not match"
916 msgstr "Les mots de passe ne correspondent pas."
907 msgstr "Les mots de passe ne correspondent pas."
917
908
918 #: rhodecode/model/forms.py:232
909 #: rhodecode/model/forms.py:232
919 msgid "invalid password"
910 msgid "invalid password"
920 msgstr "mot de passe invalide"
911 msgstr "mot de passe invalide"
921
912
922 #: rhodecode/model/forms.py:233
913 #: rhodecode/model/forms.py:233
923 msgid "invalid user name"
914 msgid "invalid user name"
924 msgstr "nom d’utilisateur invalide"
915 msgstr "nom d’utilisateur invalide"
925
916
926 #: rhodecode/model/forms.py:234
917 #: rhodecode/model/forms.py:234
927 msgid "Your account is disabled"
918 msgid "Your account is disabled"
928 msgstr "Votre compte est désactivé"
919 msgstr "Votre compte est désactivé"
929
920
930 #: rhodecode/model/forms.py:274
921 #: rhodecode/model/forms.py:274
931 msgid "This username is not valid"
922 msgid "This username is not valid"
932 msgstr "Ce nom d’utilisateur n’est plus valide"
923 msgstr "Ce nom d’utilisateur n’est plus valide"
933
924
934 #: rhodecode/model/forms.py:287
925 #: rhodecode/model/forms.py:287
935 msgid "This repository name is disallowed"
926 msgid "This repository name is disallowed"
936 msgstr "Ce nom de dépôt est interdit"
927 msgstr "Ce nom de dépôt est interdit"
937
928
938 #: rhodecode/model/forms.py:310
929 #: rhodecode/model/forms.py:310
939 #, python-format
930 #, python-format
940 msgid "This repository already exists in a group \"%s\""
931 msgid "This repository already exists in a group \"%s\""
941 msgstr "Ce dépôt existe déjà dans le groupe « %s »."
932 msgstr "Ce dépôt existe déjà dans le groupe « %s »."
942
933
943 #: rhodecode/model/forms.py:317
934 #: rhodecode/model/forms.py:317
944 #, python-format
935 #, python-format
945 msgid "There is a group with this name already \"%s\""
936 msgid "There is a group with this name already \"%s\""
946 msgstr "Un groupe portant le nom « %s » existe déjà."
937 msgstr "Un groupe portant le nom « %s » existe déjà."
947
938
948 #: rhodecode/model/forms.py:324
939 #: rhodecode/model/forms.py:324
949 msgid "This repository already exists"
940 msgid "This repository already exists"
950 msgstr "Ce dépôt existe déjà"
941 msgstr "Ce dépôt existe déjà"
951
942
952 #: rhodecode/model/forms.py:367
943 #: rhodecode/model/forms.py:367
953 msgid "invalid clone url"
944 msgid "invalid clone url"
954 msgstr "URL de clonage invalide."
945 msgstr "URL de clonage invalide."
955
946
956 #: rhodecode/model/forms.py:384
947 #: rhodecode/model/forms.py:384
957 msgid "Invalid clone url, provide a valid clone http\\s url"
948 msgid "Invalid clone url, provide a valid clone http\\s url"
958 msgstr ""
949 msgstr ""
959 "URL à cloner invalide. Veuillez fournir une URL valide commençant par "
950 "URL à cloner invalide. Veuillez fournir une URL valide commençant par "
960 "http(s)."
951 "http(s)."
961
952
962 #: rhodecode/model/forms.py:398
953 #: rhodecode/model/forms.py:398
963 msgid "Fork have to be the same type as original"
954 msgid "Fork have to be the same type as original"
964 msgstr "Le fork doit être du même type que l’original"
955 msgstr "Le fork doit être du même type que l’original"
965
956
966 #: rhodecode/model/forms.py:414
957 #: rhodecode/model/forms.py:414
967 msgid "This username or users group name is not valid"
958 msgid "This username or users group name is not valid"
968 msgstr "Ce nom d’utilisateur ou de groupe n’est pas valide."
959 msgstr "Ce nom d’utilisateur ou de groupe n’est pas valide."
969
960
970 #: rhodecode/model/forms.py:480
961 #: rhodecode/model/forms.py:480
971 msgid "This is not a valid path"
962 msgid "This is not a valid path"
972 msgstr "Ceci n’est pas un chemin valide"
963 msgstr "Ceci n’est pas un chemin valide"
973
964
974 #: rhodecode/model/forms.py:494
965 #: rhodecode/model/forms.py:494
975 msgid "This e-mail address is already taken"
966 msgid "This e-mail address is already taken"
976 msgstr "Cette adresse e-mail est déjà enregistrée"
967 msgstr "Cette adresse e-mail est déjà enregistrée"
977
968
978 #: rhodecode/model/forms.py:507
969 #: rhodecode/model/forms.py:507
979 msgid "This e-mail address doesn't exist."
970 msgid "This e-mail address doesn't exist."
980 msgstr "Cette adresse e-mail n’existe pas"
971 msgstr "Cette adresse e-mail n’existe pas"
981
972
982 #: rhodecode/model/forms.py:530
973 #: rhodecode/model/forms.py:530
983 msgid ""
974 msgid ""
984 "The LDAP Login attribute of the CN must be specified - this is the name "
975 "The LDAP Login attribute of the CN must be specified - this is the name "
985 "of the attribute that is equivalent to 'username'"
976 "of the attribute that is equivalent to 'username'"
986 msgstr ""
977 msgstr ""
987 "L’attribut Login du CN doit être spécifié. Cet attribut correspond au nom"
978 "L’attribut Login du CN doit être spécifié. Cet attribut correspond au nom"
988 " d’utilisateur."
979 " d’utilisateur."
989
980
990 #: rhodecode/model/forms.py:549
981 #: rhodecode/model/forms.py:549
991 msgid "Please enter a login"
982 msgid "Please enter a login"
992 msgstr "Veuillez entrer un identifiant"
983 msgstr "Veuillez entrer un identifiant"
993
984
994 #: rhodecode/model/forms.py:550
985 #: rhodecode/model/forms.py:550
995 #, python-format
986 #, python-format
996 msgid "Enter a value %(min)i characters long or more"
987 msgid "Enter a value %(min)i characters long or more"
997 msgstr "Entrez une valeur d’au moins %(min)i caractères de long."
988 msgstr "Entrez une valeur d’au moins %(min)i caractères de long."
998
989
999 #: rhodecode/model/forms.py:558
990 #: rhodecode/model/forms.py:558
1000 msgid "Please enter a password"
991 msgid "Please enter a password"
1001 msgstr "Veuillez entrer un mot de passe"
992 msgstr "Veuillez entrer un mot de passe"
1002
993
1003 #: rhodecode/model/forms.py:559
994 #: rhodecode/model/forms.py:559
1004 #, python-format
995 #, python-format
1005 msgid "Enter %(min)i characters or more"
996 msgid "Enter %(min)i characters or more"
1006 msgstr "Entrez au moins %(min)i caractères"
997 msgstr "Entrez au moins %(min)i caractères"
1007
998
1008 #: rhodecode/model/notification.py:175
999 #: rhodecode/model/notification.py:178
1009 msgid "commented on commit"
1000 msgid "commented on commit"
1010 msgstr "a posté un commentaire sur le commit"
1001 msgstr "a posté un commentaire sur le commit"
1011
1002
1012 #: rhodecode/model/notification.py:176
1003 #: rhodecode/model/notification.py:179
1013 msgid "sent message"
1004 msgid "sent message"
1014 msgstr "a envoyé un message"
1005 msgstr "a envoyé un message"
1015
1006
1016 #: rhodecode/model/notification.py:177
1007 #: rhodecode/model/notification.py:180
1017 msgid "mentioned you"
1008 msgid "mentioned you"
1018 msgstr "vous a mentioné"
1009 msgstr "vous a mentioné"
1019
1010
1020 #: rhodecode/model/notification.py:178
1011 #: rhodecode/model/notification.py:181
1021 msgid "registered in RhodeCode"
1012 msgid "registered in RhodeCode"
1022 msgstr "s’est enregistré sur RhodeCode"
1013 msgstr "s’est enregistré sur RhodeCode"
1023
1014
1024 #: rhodecode/model/user.py:235
1015 #: rhodecode/model/user.py:235
1025 msgid "new user registration"
1016 msgid "new user registration"
1026 msgstr "Nouveau compte utilisateur enregistré"
1017 msgstr "Nouveau compte utilisateur enregistré"
1027
1018
1028 #: rhodecode/model/user.py:259 rhodecode/model/user.py:279
1019 #: rhodecode/model/user.py:259 rhodecode/model/user.py:279
1029 msgid "You can't Edit this user since it's crucial for entire application"
1020 msgid "You can't Edit this user since it's crucial for entire application"
1030 msgstr ""
1021 msgstr ""
1031 "Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
1022 "Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
1032 " fonctionnement de l’application."
1023 " fonctionnement de l’application."
1033
1024
1034 #: rhodecode/model/user.py:300
1025 #: rhodecode/model/user.py:300
1035 msgid "You can't remove this user since it's crucial for entire application"
1026 msgid "You can't remove this user since it's crucial for entire application"
1036 msgstr ""
1027 msgstr ""
1037 "Vous ne pouvez pas supprimer cet utilisateur ; il est nécessaire pour le "
1028 "Vous ne pouvez pas supprimer cet utilisateur ; il est nécessaire pour le "
1038 "bon fonctionnement de l’application."
1029 "bon fonctionnement de l’application."
1039
1030
1040 #: rhodecode/model/user.py:306
1031 #: rhodecode/model/user.py:306
1041 #, python-format
1032 #, python-format
1042 msgid ""
1033 msgid ""
1043 "user \"%s\" still owns %s repositories and cannot be removed. Switch "
1034 "user \"%s\" still owns %s repositories and cannot be removed. Switch "
1044 "owners or remove those repositories. %s"
1035 "owners or remove those repositories. %s"
1045 msgstr ""
1036 msgstr ""
1046 "L’utilisateur « %s » possède %s dépôts et ne peut être supprimé. Changez "
1037 "L’utilisateur « %s » possède %s dépôts et ne peut être supprimé. Changez "
1047 "les propriétaires de ces dépôts. %s"
1038 "les propriétaires de ces dépôts. %s"
1048
1039
1049 #: rhodecode/templates/index.html:3
1040 #: rhodecode/templates/index.html:3
1050 msgid "Dashboard"
1041 msgid "Dashboard"
1051 msgstr "Tableau de bord"
1042 msgstr "Tableau de bord"
1052
1043
1053 #: rhodecode/templates/index_base.html:6
1044 #: rhodecode/templates/index_base.html:6
1045 #: rhodecode/templates/repo_switcher_list.html:4
1054 #: rhodecode/templates/admin/users/user_edit_my_account.html:31
1046 #: rhodecode/templates/admin/users/user_edit_my_account.html:31
1055 #: rhodecode/templates/bookmarks/bookmarks.html:10
1047 #: rhodecode/templates/bookmarks/bookmarks.html:10
1056 #: rhodecode/templates/branches/branches.html:9
1048 #: rhodecode/templates/branches/branches.html:9
1057 #: rhodecode/templates/journal/journal.html:31
1049 #: rhodecode/templates/journal/journal.html:31
1058 #: rhodecode/templates/tags/tags.html:10
1050 #: rhodecode/templates/tags/tags.html:10
1059 msgid "quick filter..."
1051 msgid "quick filter..."
1060 msgstr "filtre rapide"
1052 msgstr "Filtre rapide…"
1061
1053
1062 #: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
1054 #: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
1063 msgid "repositories"
1055 msgid "repositories"
1064 msgstr "Dépôts"
1056 msgstr "Dépôts"
1065
1057
1066 #: rhodecode/templates/index_base.html:13
1058 #: rhodecode/templates/index_base.html:13
1067 #: rhodecode/templates/index_base.html:15
1059 #: rhodecode/templates/index_base.html:15
1068 #: rhodecode/templates/admin/repos/repos.html:22
1060 #: rhodecode/templates/admin/repos/repos.html:22
1069 msgid "ADD REPOSITORY"
1061 msgid "ADD REPOSITORY"
1070 msgstr "AJOUTER UN DÉPÔT"
1062 msgstr "AJOUTER UN DÉPÔT"
1071
1063
1072 #: rhodecode/templates/index_base.html:29
1064 #: rhodecode/templates/index_base.html:29
1073 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
1065 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
1074 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
1066 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
1075 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
1067 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
1076 #: rhodecode/templates/admin/users_groups/users_group_add.html:32
1068 #: rhodecode/templates/admin/users_groups/users_group_add.html:32
1077 #: rhodecode/templates/admin/users_groups/users_group_edit.html:33
1069 #: rhodecode/templates/admin/users_groups/users_group_edit.html:33
1078 msgid "Group name"
1070 msgid "Group name"
1079 msgstr "Nom de groupe"
1071 msgstr "Nom de groupe"
1080
1072
1081 #: rhodecode/templates/index_base.html:30
1073 #: rhodecode/templates/index_base.html:30
1082 #: rhodecode/templates/index_base.html:67
1074 #: rhodecode/templates/index_base.html:67
1083 #: rhodecode/templates/index_base.html:132
1075 #: rhodecode/templates/index_base.html:132
1084 #: rhodecode/templates/index_base.html:158
1076 #: rhodecode/templates/index_base.html:158
1085 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1077 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1086 #: rhodecode/templates/admin/repos/repo_edit.html:66
1078 #: rhodecode/templates/admin/repos/repo_edit.html:66
1087 #: rhodecode/templates/admin/repos/repos.html:37
1079 #: rhodecode/templates/admin/repos/repos.html:37
1088 #: rhodecode/templates/admin/repos/repos.html:84
1080 #: rhodecode/templates/admin/repos/repos.html:84
1089 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
1081 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
1090 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
1082 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
1091 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
1083 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
1092 #: rhodecode/templates/forks/fork.html:49
1084 #: rhodecode/templates/forks/fork.html:49
1093 #: rhodecode/templates/settings/repo_settings.html:57
1085 #: rhodecode/templates/settings/repo_settings.html:57
1094 #: rhodecode/templates/summary/summary.html:100
1086 #: rhodecode/templates/summary/summary.html:100
1095 msgid "Description"
1087 msgid "Description"
1096 msgstr "Description"
1088 msgstr "Description"
1097
1089
1098 #: rhodecode/templates/index_base.html:40
1090 #: rhodecode/templates/index_base.html:40
1099 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
1091 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
1100 msgid "Repositories group"
1092 msgid "Repositories group"
1101 msgstr "Groupe de dépôts"
1093 msgstr "Groupe de dépôts"
1102
1094
1103 #: rhodecode/templates/index_base.html:66
1095 #: rhodecode/templates/index_base.html:66
1104 #: rhodecode/templates/index_base.html:156
1096 #: rhodecode/templates/index_base.html:156
1105 #: rhodecode/templates/admin/repos/repo_add_base.html:9
1097 #: rhodecode/templates/admin/repos/repo_add_base.html:9
1106 #: rhodecode/templates/admin/repos/repo_edit.html:32
1098 #: rhodecode/templates/admin/repos/repo_edit.html:32
1107 #: rhodecode/templates/admin/repos/repos.html:36
1099 #: rhodecode/templates/admin/repos/repos.html:36
1108 #: rhodecode/templates/admin/repos/repos.html:82
1100 #: rhodecode/templates/admin/repos/repos.html:82
1109 #: rhodecode/templates/admin/users/user_edit_my_account.html:49
1101 #: rhodecode/templates/admin/users/user_edit_my_account.html:49
1110 #: rhodecode/templates/admin/users/user_edit_my_account.html:99
1102 #: rhodecode/templates/admin/users/user_edit_my_account.html:99
1111 #: rhodecode/templates/admin/users/user_edit_my_account.html:165
1103 #: rhodecode/templates/admin/users/user_edit_my_account.html:165
1112 #: rhodecode/templates/admin/users/user_edit_my_account.html:200
1104 #: rhodecode/templates/admin/users/user_edit_my_account.html:200
1113 #: rhodecode/templates/bookmarks/bookmarks.html:36
1105 #: rhodecode/templates/bookmarks/bookmarks.html:36
1114 #: rhodecode/templates/bookmarks/bookmarks_data.html:6
1106 #: rhodecode/templates/bookmarks/bookmarks_data.html:6
1115 #: rhodecode/templates/branches/branches.html:36
1107 #: rhodecode/templates/branches/branches.html:36
1116 #: rhodecode/templates/files/files_browser.html:47
1108 #: rhodecode/templates/files/files_browser.html:47
1117 #: rhodecode/templates/journal/journal.html:50
1109 #: rhodecode/templates/journal/journal.html:50
1118 #: rhodecode/templates/journal/journal.html:98
1110 #: rhodecode/templates/journal/journal.html:98
1119 #: rhodecode/templates/journal/journal.html:177
1111 #: rhodecode/templates/journal/journal.html:177
1120 #: rhodecode/templates/settings/repo_settings.html:31
1112 #: rhodecode/templates/settings/repo_settings.html:31
1121 #: rhodecode/templates/summary/summary.html:38
1113 #: rhodecode/templates/summary/summary.html:38
1122 #: rhodecode/templates/summary/summary.html:114
1114 #: rhodecode/templates/summary/summary.html:114
1123 #: rhodecode/templates/tags/tags.html:36
1115 #: rhodecode/templates/tags/tags.html:36
1124 #: rhodecode/templates/tags/tags_data.html:6
1116 #: rhodecode/templates/tags/tags_data.html:6
1125 msgid "Name"
1117 msgid "Name"
1126 msgstr "Nom"
1118 msgstr "Nom"
1127
1119
1128 #: rhodecode/templates/index_base.html:68
1120 #: rhodecode/templates/index_base.html:68
1129 #: rhodecode/templates/admin/repos/repos.html:38
1121 #: rhodecode/templates/admin/repos/repos.html:38
1130 msgid "Last change"
1122 msgid "Last change"
1131 msgstr "Dernière modification"
1123 msgstr "Dernière modification"
1132
1124
1133 #: rhodecode/templates/index_base.html:69
1125 #: rhodecode/templates/index_base.html:69
1134 #: rhodecode/templates/index_base.html:161
1126 #: rhodecode/templates/index_base.html:161
1135 #: rhodecode/templates/admin/repos/repos.html:39
1127 #: rhodecode/templates/admin/repos/repos.html:39
1136 #: rhodecode/templates/admin/repos/repos.html:87
1128 #: rhodecode/templates/admin/repos/repos.html:87
1137 #: rhodecode/templates/admin/users/user_edit_my_account.html:167
1129 #: rhodecode/templates/admin/users/user_edit_my_account.html:167
1138 #: rhodecode/templates/journal/journal.html:179
1130 #: rhodecode/templates/journal/journal.html:179
1139 msgid "Tip"
1131 msgid "Tip"
1140 msgstr "Sommet"
1132 msgstr "Sommet"
1141
1133
1142 #: rhodecode/templates/index_base.html:70
1134 #: rhodecode/templates/index_base.html:70
1143 #: rhodecode/templates/index_base.html:163
1135 #: rhodecode/templates/index_base.html:163
1144 #: rhodecode/templates/admin/repos/repo_edit.html:103
1136 #: rhodecode/templates/admin/repos/repo_edit.html:103
1145 #: rhodecode/templates/admin/repos/repos.html:89
1137 #: rhodecode/templates/admin/repos/repos.html:89
1146 msgid "Owner"
1138 msgid "Owner"
1147 msgstr "Propriétaire"
1139 msgstr "Propriétaire"
1148
1140
1149 #: rhodecode/templates/index_base.html:71
1141 #: rhodecode/templates/index_base.html:71
1150 #: rhodecode/templates/journal/public_journal.html:20
1142 #: rhodecode/templates/journal/public_journal.html:20
1151 #: rhodecode/templates/summary/summary.html:43
1143 #: rhodecode/templates/summary/summary.html:43
1152 #: rhodecode/templates/summary/summary.html:46
1144 #: rhodecode/templates/summary/summary.html:46
1153 msgid "RSS"
1145 msgid "RSS"
1154 msgstr "RSS"
1146 msgstr "RSS"
1155
1147
1156 #: rhodecode/templates/index_base.html:72
1148 #: rhodecode/templates/index_base.html:72
1157 #: rhodecode/templates/journal/public_journal.html:23
1149 #: rhodecode/templates/journal/public_journal.html:23
1158 msgid "Atom"
1150 msgid "Atom"
1159 msgstr "Atom"
1151 msgstr "Atom"
1160
1152
1161 #: rhodecode/templates/index_base.html:102
1153 #: rhodecode/templates/index_base.html:102
1162 #: rhodecode/templates/index_base.html:104
1154 #: rhodecode/templates/index_base.html:104
1163 #, python-format
1155 #, python-format
1164 msgid "Subscribe to %s rss feed"
1156 msgid "Subscribe to %s rss feed"
1165 msgstr "S’abonner au flux RSS de %s"
1157 msgstr "S’abonner au flux RSS de %s"
1166
1158
1167 #: rhodecode/templates/index_base.html:109
1159 #: rhodecode/templates/index_base.html:109
1168 #: rhodecode/templates/index_base.html:111
1160 #: rhodecode/templates/index_base.html:111
1169 #, python-format
1161 #, python-format
1170 msgid "Subscribe to %s atom feed"
1162 msgid "Subscribe to %s atom feed"
1171 msgstr "S’abonner au flux ATOM de %s"
1163 msgstr "S’abonner au flux ATOM de %s"
1172
1164
1173 #: rhodecode/templates/index_base.html:130
1165 #: rhodecode/templates/index_base.html:130
1174 msgid "Group Name"
1166 msgid "Group Name"
1175 msgstr "Nom du groupe"
1167 msgstr "Nom du groupe"
1176
1168
1177 #: rhodecode/templates/index_base.html:148
1169 #: rhodecode/templates/index_base.html:148
1178 #: rhodecode/templates/index_base.html:188
1170 #: rhodecode/templates/index_base.html:188
1179 #: rhodecode/templates/admin/repos/repos.html:112
1171 #: rhodecode/templates/admin/repos/repos.html:112
1180 #: rhodecode/templates/admin/users/user_edit_my_account.html:186
1172 #: rhodecode/templates/admin/users/user_edit_my_account.html:186
1181 #: rhodecode/templates/bookmarks/bookmarks.html:60
1173 #: rhodecode/templates/bookmarks/bookmarks.html:60
1182 #: rhodecode/templates/branches/branches.html:60
1174 #: rhodecode/templates/branches/branches.html:60
1183 #: rhodecode/templates/journal/journal.html:202
1175 #: rhodecode/templates/journal/journal.html:202
1184 #: rhodecode/templates/tags/tags.html:60
1176 #: rhodecode/templates/tags/tags.html:60
1185 msgid "Click to sort ascending"
1177 msgid "Click to sort ascending"
1186 msgstr "Tri ascendant"
1178 msgstr "Tri ascendant"
1187
1179
1188 #: rhodecode/templates/index_base.html:149
1180 #: rhodecode/templates/index_base.html:149
1189 #: rhodecode/templates/index_base.html:189
1181 #: rhodecode/templates/index_base.html:189
1190 #: rhodecode/templates/admin/repos/repos.html:113
1182 #: rhodecode/templates/admin/repos/repos.html:113
1191 #: rhodecode/templates/admin/users/user_edit_my_account.html:187
1183 #: rhodecode/templates/admin/users/user_edit_my_account.html:187
1192 #: rhodecode/templates/bookmarks/bookmarks.html:61
1184 #: rhodecode/templates/bookmarks/bookmarks.html:61
1193 #: rhodecode/templates/branches/branches.html:61
1185 #: rhodecode/templates/branches/branches.html:61
1194 #: rhodecode/templates/journal/journal.html:203
1186 #: rhodecode/templates/journal/journal.html:203
1195 #: rhodecode/templates/tags/tags.html:61
1187 #: rhodecode/templates/tags/tags.html:61
1196 msgid "Click to sort descending"
1188 msgid "Click to sort descending"
1197 msgstr "Tri descendant"
1189 msgstr "Tri descendant"
1198
1190
1199 #: rhodecode/templates/index_base.html:159
1191 #: rhodecode/templates/index_base.html:159
1200 #: rhodecode/templates/admin/repos/repos.html:85
1192 #: rhodecode/templates/admin/repos/repos.html:85
1201 msgid "Last Change"
1193 msgid "Last Change"
1202 msgstr "Dernière modification"
1194 msgstr "Dernière modification"
1203
1195
1204 #: rhodecode/templates/index_base.html:190
1196 #: rhodecode/templates/index_base.html:190
1205 #: rhodecode/templates/admin/repos/repos.html:114
1197 #: rhodecode/templates/admin/repos/repos.html:114
1206 #: rhodecode/templates/admin/users/user_edit_my_account.html:188
1198 #: rhodecode/templates/admin/users/user_edit_my_account.html:188
1207 #: rhodecode/templates/bookmarks/bookmarks.html:62
1199 #: rhodecode/templates/bookmarks/bookmarks.html:62
1208 #: rhodecode/templates/branches/branches.html:62
1200 #: rhodecode/templates/branches/branches.html:62
1209 #: rhodecode/templates/journal/journal.html:204
1201 #: rhodecode/templates/journal/journal.html:204
1210 #: rhodecode/templates/tags/tags.html:62
1202 #: rhodecode/templates/tags/tags.html:62
1211 msgid "No records found."
1203 msgid "No records found."
1212 msgstr "Aucun élément n’a été trouvé."
1204 msgstr "Aucun élément n’a été trouvé."
1213
1205
1214 #: rhodecode/templates/index_base.html:191
1206 #: rhodecode/templates/index_base.html:191
1215 #: rhodecode/templates/admin/repos/repos.html:115
1207 #: rhodecode/templates/admin/repos/repos.html:115
1216 #: rhodecode/templates/admin/users/user_edit_my_account.html:189
1208 #: rhodecode/templates/admin/users/user_edit_my_account.html:189
1217 #: rhodecode/templates/bookmarks/bookmarks.html:63
1209 #: rhodecode/templates/bookmarks/bookmarks.html:63
1218 #: rhodecode/templates/branches/branches.html:63
1210 #: rhodecode/templates/branches/branches.html:63
1219 #: rhodecode/templates/journal/journal.html:205
1211 #: rhodecode/templates/journal/journal.html:205
1220 #: rhodecode/templates/tags/tags.html:63
1212 #: rhodecode/templates/tags/tags.html:63
1221 msgid "Data error."
1213 msgid "Data error."
1222 msgstr "Erreur d’intégrité des données."
1214 msgstr "Erreur d’intégrité des données."
1223
1215
1224 #: rhodecode/templates/index_base.html:192
1216 #: rhodecode/templates/index_base.html:192
1225 #: rhodecode/templates/admin/repos/repos.html:116
1217 #: rhodecode/templates/admin/repos/repos.html:116
1226 #: rhodecode/templates/admin/users/user_edit_my_account.html:190
1218 #: rhodecode/templates/admin/users/user_edit_my_account.html:190
1227 #: rhodecode/templates/bookmarks/bookmarks.html:64
1219 #: rhodecode/templates/bookmarks/bookmarks.html:64
1228 #: rhodecode/templates/branches/branches.html:64
1220 #: rhodecode/templates/branches/branches.html:64
1229 #: rhodecode/templates/journal/journal.html:206
1221 #: rhodecode/templates/journal/journal.html:206
1230 #: rhodecode/templates/tags/tags.html:64
1222 #: rhodecode/templates/tags/tags.html:64
1231 msgid "Loading..."
1223 msgid "Loading..."
1232 msgstr "Chargement…"
1224 msgstr "Chargement…"
1233
1225
1234 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1226 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1235 msgid "Sign In"
1227 msgid "Sign In"
1236 msgstr "Connexion"
1228 msgstr "Connexion"
1237
1229
1238 #: rhodecode/templates/login.html:21
1230 #: rhodecode/templates/login.html:21
1239 msgid "Sign In to"
1231 msgid "Sign In to"
1240 msgstr "Connexion à"
1232 msgstr "Connexion à"
1241
1233
1242 #: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
1234 #: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
1243 #: rhodecode/templates/admin/admin_log.html:5
1235 #: rhodecode/templates/admin/admin_log.html:5
1244 #: rhodecode/templates/admin/users/user_add.html:32
1236 #: rhodecode/templates/admin/users/user_add.html:32
1245 #: rhodecode/templates/admin/users/user_edit.html:50
1237 #: rhodecode/templates/admin/users/user_edit.html:50
1246 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:26
1238 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:26
1247 #: rhodecode/templates/base/base.html:83
1239 #: rhodecode/templates/base/base.html:83
1248 #: rhodecode/templates/summary/summary.html:113
1240 #: rhodecode/templates/summary/summary.html:113
1249 msgid "Username"
1241 msgid "Username"
1250 msgstr "Nom d’utilisateur"
1242 msgstr "Nom d’utilisateur"
1251
1243
1252 #: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
1244 #: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
1253 #: rhodecode/templates/admin/ldap/ldap.html:46
1245 #: rhodecode/templates/admin/ldap/ldap.html:46
1254 #: rhodecode/templates/admin/users/user_add.html:41
1246 #: rhodecode/templates/admin/users/user_add.html:41
1255 #: rhodecode/templates/base/base.html:92
1247 #: rhodecode/templates/base/base.html:92
1256 msgid "Password"
1248 msgid "Password"
1257 msgstr "Mot de passe"
1249 msgstr "Mot de passe"
1258
1250
1259 #: rhodecode/templates/login.html:50
1251 #: rhodecode/templates/login.html:50
1260 msgid "Remember me"
1252 msgid "Remember me"
1261 msgstr "Se souvenir de moi"
1253 msgstr "Se souvenir de moi"
1262
1254
1263 #: rhodecode/templates/login.html:60
1255 #: rhodecode/templates/login.html:60
1264 msgid "Forgot your password ?"
1256 msgid "Forgot your password ?"
1265 msgstr "Mot de passe oublié ?"
1257 msgstr "Mot de passe oublié ?"
1266
1258
1267 #: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
1259 #: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
1268 msgid "Don't have an account ?"
1260 msgid "Don't have an account ?"
1269 msgstr "Vous n’avez pas de compte ?"
1261 msgstr "Vous n’avez pas de compte ?"
1270
1262
1271 #: rhodecode/templates/password_reset.html:5
1263 #: rhodecode/templates/password_reset.html:5
1272 msgid "Reset your password"
1264 msgid "Reset your password"
1273 msgstr "Mot de passe oublié ?"
1265 msgstr "Mot de passe oublié ?"
1274
1266
1275 #: rhodecode/templates/password_reset.html:11
1267 #: rhodecode/templates/password_reset.html:11
1276 msgid "Reset your password to"
1268 msgid "Reset your password to"
1277 msgstr "Réinitialiser votre mot de passe"
1269 msgstr "Réinitialiser votre mot de passe"
1278
1270
1279 #: rhodecode/templates/password_reset.html:21
1271 #: rhodecode/templates/password_reset.html:21
1280 msgid "Email address"
1272 msgid "Email address"
1281 msgstr "Adresse e-mail"
1273 msgstr "Adresse e-mail"
1282
1274
1283 #: rhodecode/templates/password_reset.html:30
1275 #: rhodecode/templates/password_reset.html:30
1284 msgid "Reset my password"
1276 msgid "Reset my password"
1285 msgstr "Réinitialiser mon mot de passe"
1277 msgstr "Réinitialiser mon mot de passe"
1286
1278
1287 #: rhodecode/templates/password_reset.html:31
1279 #: rhodecode/templates/password_reset.html:31
1288 msgid "Password reset link will be send to matching email address"
1280 msgid "Password reset link will be send to matching email address"
1289 msgstr "Votre nouveau mot de passe sera envoyé à l’adresse correspondante."
1281 msgstr "Votre nouveau mot de passe sera envoyé à l’adresse correspondante."
1290
1282
1291 #: rhodecode/templates/register.html:5 rhodecode/templates/register.html:74
1283 #: rhodecode/templates/register.html:5 rhodecode/templates/register.html:74
1292 msgid "Sign Up"
1284 msgid "Sign Up"
1293 msgstr "Inscription"
1285 msgstr "Inscription"
1294
1286
1295 #: rhodecode/templates/register.html:11
1287 #: rhodecode/templates/register.html:11
1296 msgid "Sign Up to"
1288 msgid "Sign Up to"
1297 msgstr "Inscription à"
1289 msgstr "Inscription à"
1298
1290
1299 #: rhodecode/templates/register.html:38
1291 #: rhodecode/templates/register.html:38
1300 msgid "Re-enter password"
1292 msgid "Re-enter password"
1301 msgstr "Confirmation"
1293 msgstr "Confirmation"
1302
1294
1303 #: rhodecode/templates/register.html:47
1295 #: rhodecode/templates/register.html:47
1304 #: rhodecode/templates/admin/users/user_add.html:59
1296 #: rhodecode/templates/admin/users/user_add.html:59
1305 #: rhodecode/templates/admin/users/user_edit.html:86
1297 #: rhodecode/templates/admin/users/user_edit.html:86
1306 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:53
1298 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:53
1307 msgid "First Name"
1299 msgid "First Name"
1308 msgstr "Prénom"
1300 msgstr "Prénom"
1309
1301
1310 #: rhodecode/templates/register.html:56
1302 #: rhodecode/templates/register.html:56
1311 #: rhodecode/templates/admin/users/user_add.html:68
1303 #: rhodecode/templates/admin/users/user_add.html:68
1312 #: rhodecode/templates/admin/users/user_edit.html:95
1304 #: rhodecode/templates/admin/users/user_edit.html:95
1313 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:62
1305 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:62
1314 msgid "Last Name"
1306 msgid "Last Name"
1315 msgstr "Nom"
1307 msgstr "Nom"
1316
1308
1317 #: rhodecode/templates/register.html:65
1309 #: rhodecode/templates/register.html:65
1318 #: rhodecode/templates/admin/users/user_add.html:77
1310 #: rhodecode/templates/admin/users/user_add.html:77
1319 #: rhodecode/templates/admin/users/user_edit.html:104
1311 #: rhodecode/templates/admin/users/user_edit.html:104
1320 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:71
1312 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:71
1321 #: rhodecode/templates/summary/summary.html:115
1313 #: rhodecode/templates/summary/summary.html:115
1322 msgid "Email"
1314 msgid "Email"
1323 msgstr "E-mail"
1315 msgstr "E-mail"
1324
1316
1325 #: rhodecode/templates/register.html:76
1317 #: rhodecode/templates/register.html:76
1326 msgid "Your account will be activated right after registration"
1318 msgid "Your account will be activated right after registration"
1327 msgstr "Votre compte utilisateur sera actif dès la fin de l’enregistrement."
1319 msgstr "Votre compte utilisateur sera actif dès la fin de l’enregistrement."
1328
1320
1329 #: rhodecode/templates/register.html:78
1321 #: rhodecode/templates/register.html:78
1330 msgid "Your account must wait for activation by administrator"
1322 msgid "Your account must wait for activation by administrator"
1331 msgstr "Votre compte utilisateur devra être activé par un administrateur."
1323 msgstr "Votre compte utilisateur devra être activé par un administrateur."
1332
1324
1333 #: rhodecode/templates/repo_switcher_list.html:11
1325 #: rhodecode/templates/repo_switcher_list.html:11
1334 #: rhodecode/templates/admin/repos/repo_add_base.html:56
1326 #: rhodecode/templates/admin/repos/repo_add_base.html:56
1335 #: rhodecode/templates/admin/repos/repo_edit.html:76
1327 #: rhodecode/templates/admin/repos/repo_edit.html:76
1336 #: rhodecode/templates/settings/repo_settings.html:67
1328 #: rhodecode/templates/settings/repo_settings.html:67
1337 msgid "Private repository"
1329 msgid "Private repository"
1338 msgstr "Dépôt privé"
1330 msgstr "Dépôt privé"
1339
1331
1340 #: rhodecode/templates/repo_switcher_list.html:16
1332 #: rhodecode/templates/repo_switcher_list.html:16
1341 msgid "Public repository"
1333 msgid "Public repository"
1342 msgstr "Dépôt public"
1334 msgstr "Dépôt public"
1343
1335
1344 #: rhodecode/templates/switch_to_list.html:3
1336 #: rhodecode/templates/switch_to_list.html:3
1345 #: rhodecode/templates/branches/branches.html:14
1337 #: rhodecode/templates/branches/branches.html:14
1346 msgid "branches"
1338 msgid "branches"
1347 msgstr "Branches"
1339 msgstr "Branches"
1348
1340
1349 #: rhodecode/templates/switch_to_list.html:10
1341 #: rhodecode/templates/switch_to_list.html:10
1350 #: rhodecode/templates/branches/branches_data.html:51
1342 #: rhodecode/templates/branches/branches_data.html:51
1351 msgid "There are no branches yet"
1343 msgid "There are no branches yet"
1352 msgstr "Aucune branche n’a été créée pour le moment."
1344 msgstr "Aucune branche n’a été créée pour le moment."
1353
1345
1354 #: rhodecode/templates/switch_to_list.html:15
1346 #: rhodecode/templates/switch_to_list.html:15
1355 #: rhodecode/templates/shortlog/shortlog_data.html:10
1347 #: rhodecode/templates/shortlog/shortlog_data.html:10
1356 #: rhodecode/templates/tags/tags.html:15
1348 #: rhodecode/templates/tags/tags.html:15
1357 msgid "tags"
1349 msgid "tags"
1358 msgstr "Tags"
1350 msgstr "Tags"
1359
1351
1360 #: rhodecode/templates/switch_to_list.html:22
1352 #: rhodecode/templates/switch_to_list.html:22
1361 #: rhodecode/templates/tags/tags_data.html:33
1353 #: rhodecode/templates/tags/tags_data.html:33
1362 msgid "There are no tags yet"
1354 msgid "There are no tags yet"
1363 msgstr "Aucun tag n’a été créé pour le moment."
1355 msgstr "Aucun tag n’a été créé pour le moment."
1364
1356
1365 #: rhodecode/templates/switch_to_list.html:28
1357 #: rhodecode/templates/switch_to_list.html:28
1366 #: rhodecode/templates/bookmarks/bookmarks.html:15
1358 #: rhodecode/templates/bookmarks/bookmarks.html:15
1367 msgid "bookmarks"
1359 msgid "bookmarks"
1368 msgstr "Signets"
1360 msgstr "Signets"
1369
1361
1370 #: rhodecode/templates/switch_to_list.html:35
1362 #: rhodecode/templates/switch_to_list.html:35
1371 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1363 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1372 msgid "There are no bookmarks yet"
1364 msgid "There are no bookmarks yet"
1373 msgstr "Aucun signet n’a été créé."
1365 msgstr "Aucun signet n’a été créé."
1374
1366
1375 #: rhodecode/templates/admin/admin.html:5
1367 #: rhodecode/templates/admin/admin.html:5
1376 #: rhodecode/templates/admin/admin.html:9
1368 #: rhodecode/templates/admin/admin.html:9
1377 msgid "Admin journal"
1369 msgid "Admin journal"
1378 msgstr "Historique d’administration"
1370 msgstr "Historique d’administration"
1379
1371
1380 #: rhodecode/templates/admin/admin_log.html:6
1372 #: rhodecode/templates/admin/admin_log.html:6
1381 #: rhodecode/templates/admin/repos/repos.html:41
1373 #: rhodecode/templates/admin/repos/repos.html:41
1382 #: rhodecode/templates/admin/repos/repos.html:90
1374 #: rhodecode/templates/admin/repos/repos.html:90
1383 #: rhodecode/templates/admin/users/user_edit_my_account.html:51
1375 #: rhodecode/templates/admin/users/user_edit_my_account.html:51
1384 #: rhodecode/templates/admin/users/user_edit_my_account.html:52
1376 #: rhodecode/templates/admin/users/user_edit_my_account.html:52
1385 #: rhodecode/templates/journal/journal.html:52
1377 #: rhodecode/templates/journal/journal.html:52
1386 #: rhodecode/templates/journal/journal.html:53
1378 #: rhodecode/templates/journal/journal.html:53
1387 msgid "Action"
1379 msgid "Action"
1388 msgstr "Action"
1380 msgstr "Action"
1389
1381
1390 #: rhodecode/templates/admin/admin_log.html:7
1382 #: rhodecode/templates/admin/admin_log.html:7
1391 msgid "Repository"
1383 msgid "Repository"
1392 msgstr "Dépôt"
1384 msgstr "Dépôt"
1393
1385
1394 #: rhodecode/templates/admin/admin_log.html:8
1386 #: rhodecode/templates/admin/admin_log.html:8
1395 #: rhodecode/templates/bookmarks/bookmarks.html:37
1387 #: rhodecode/templates/bookmarks/bookmarks.html:37
1396 #: rhodecode/templates/bookmarks/bookmarks_data.html:7
1388 #: rhodecode/templates/bookmarks/bookmarks_data.html:7
1397 #: rhodecode/templates/branches/branches.html:37
1389 #: rhodecode/templates/branches/branches.html:37
1398 #: rhodecode/templates/tags/tags.html:37
1390 #: rhodecode/templates/tags/tags.html:37
1399 #: rhodecode/templates/tags/tags_data.html:7
1391 #: rhodecode/templates/tags/tags_data.html:7
1400 msgid "Date"
1392 msgid "Date"
1401 msgstr "Date"
1393 msgstr "Date"
1402
1394
1403 #: rhodecode/templates/admin/admin_log.html:9
1395 #: rhodecode/templates/admin/admin_log.html:9
1404 msgid "From IP"
1396 msgid "From IP"
1405 msgstr "Depuis l’adresse IP"
1397 msgstr "Depuis l’adresse IP"
1406
1398
1407 #: rhodecode/templates/admin/admin_log.html:53
1399 #: rhodecode/templates/admin/admin_log.html:53
1408 msgid "No actions yet"
1400 msgid "No actions yet"
1409 msgstr "Aucune action n’a été enregistrée pour le moment."
1401 msgstr "Aucune action n’a été enregistrée pour le moment."
1410
1402
1411 #: rhodecode/templates/admin/ldap/ldap.html:5
1403 #: rhodecode/templates/admin/ldap/ldap.html:5
1412 msgid "LDAP administration"
1404 msgid "LDAP administration"
1413 msgstr "Administration LDAP"
1405 msgstr "Administration LDAP"
1414
1406
1415 #: rhodecode/templates/admin/ldap/ldap.html:11
1407 #: rhodecode/templates/admin/ldap/ldap.html:11
1416 msgid "Ldap"
1408 msgid "Ldap"
1417 msgstr "LDAP"
1409 msgstr "LDAP"
1418
1410
1419 #: rhodecode/templates/admin/ldap/ldap.html:28
1411 #: rhodecode/templates/admin/ldap/ldap.html:28
1420 msgid "Connection settings"
1412 msgid "Connection settings"
1421 msgstr "Options de connexion"
1413 msgstr "Options de connexion"
1422
1414
1423 #: rhodecode/templates/admin/ldap/ldap.html:30
1415 #: rhodecode/templates/admin/ldap/ldap.html:30
1424 msgid "Enable LDAP"
1416 msgid "Enable LDAP"
1425 msgstr "Activer le LDAP"
1417 msgstr "Activer le LDAP"
1426
1418
1427 #: rhodecode/templates/admin/ldap/ldap.html:34
1419 #: rhodecode/templates/admin/ldap/ldap.html:34
1428 msgid "Host"
1420 msgid "Host"
1429 msgstr "Serveur"
1421 msgstr "Serveur"
1430
1422
1431 #: rhodecode/templates/admin/ldap/ldap.html:38
1423 #: rhodecode/templates/admin/ldap/ldap.html:38
1432 msgid "Port"
1424 msgid "Port"
1433 msgstr "Port"
1425 msgstr "Port"
1434
1426
1435 #: rhodecode/templates/admin/ldap/ldap.html:42
1427 #: rhodecode/templates/admin/ldap/ldap.html:42
1436 msgid "Account"
1428 msgid "Account"
1437 msgstr "Compte"
1429 msgstr "Compte"
1438
1430
1439 #: rhodecode/templates/admin/ldap/ldap.html:50
1431 #: rhodecode/templates/admin/ldap/ldap.html:50
1440 msgid "Connection security"
1432 msgid "Connection security"
1441 msgstr "Connexion sécurisée"
1433 msgstr "Connexion sécurisée"
1442
1434
1443 #: rhodecode/templates/admin/ldap/ldap.html:54
1435 #: rhodecode/templates/admin/ldap/ldap.html:54
1444 msgid "Certificate Checks"
1436 msgid "Certificate Checks"
1445 msgstr "Vérif. des certificats"
1437 msgstr "Vérif. des certificats"
1446
1438
1447 #: rhodecode/templates/admin/ldap/ldap.html:57
1439 #: rhodecode/templates/admin/ldap/ldap.html:57
1448 msgid "Search settings"
1440 msgid "Search settings"
1449 msgstr "Réglages de recherche"
1441 msgstr "Réglages de recherche"
1450
1442
1451 #: rhodecode/templates/admin/ldap/ldap.html:59
1443 #: rhodecode/templates/admin/ldap/ldap.html:59
1452 msgid "Base DN"
1444 msgid "Base DN"
1453 msgstr "Base de recherche"
1445 msgstr "Base de recherche"
1454
1446
1455 #: rhodecode/templates/admin/ldap/ldap.html:63
1447 #: rhodecode/templates/admin/ldap/ldap.html:63
1456 msgid "LDAP Filter"
1448 msgid "LDAP Filter"
1457 msgstr "Filtre de recherche"
1449 msgstr "Filtre de recherche"
1458
1450
1459 #: rhodecode/templates/admin/ldap/ldap.html:67
1451 #: rhodecode/templates/admin/ldap/ldap.html:67
1460 msgid "LDAP Search Scope"
1452 msgid "LDAP Search Scope"
1461 msgstr "Portée de recherche"
1453 msgstr "Portée de recherche"
1462
1454
1463 #: rhodecode/templates/admin/ldap/ldap.html:70
1455 #: rhodecode/templates/admin/ldap/ldap.html:70
1464 msgid "Attribute mappings"
1456 msgid "Attribute mappings"
1465 msgstr "Correspondance des attributs"
1457 msgstr "Correspondance des attributs"
1466
1458
1467 #: rhodecode/templates/admin/ldap/ldap.html:72
1459 #: rhodecode/templates/admin/ldap/ldap.html:72
1468 msgid "Login Attribute"
1460 msgid "Login Attribute"
1469 msgstr "Attribut pour le nom d’utilisateur"
1461 msgstr "Attribut pour le nom d’utilisateur"
1470
1462
1471 #: rhodecode/templates/admin/ldap/ldap.html:76
1463 #: rhodecode/templates/admin/ldap/ldap.html:76
1472 msgid "First Name Attribute"
1464 msgid "First Name Attribute"
1473 msgstr "Attribut pour le prénom"
1465 msgstr "Attribut pour le prénom"
1474
1466
1475 #: rhodecode/templates/admin/ldap/ldap.html:80
1467 #: rhodecode/templates/admin/ldap/ldap.html:80
1476 msgid "Last Name Attribute"
1468 msgid "Last Name Attribute"
1477 msgstr "Attribut pour le nom de famille"
1469 msgstr "Attribut pour le nom de famille"
1478
1470
1479 #: rhodecode/templates/admin/ldap/ldap.html:84
1471 #: rhodecode/templates/admin/ldap/ldap.html:84
1480 msgid "E-mail Attribute"
1472 msgid "E-mail Attribute"
1481 msgstr "Attribut pour l’e-mail"
1473 msgstr "Attribut pour l’e-mail"
1482
1474
1483 #: rhodecode/templates/admin/ldap/ldap.html:89
1475 #: rhodecode/templates/admin/ldap/ldap.html:89
1484 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1476 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1485 #: rhodecode/templates/admin/settings/hooks.html:73
1477 #: rhodecode/templates/admin/settings/hooks.html:73
1486 #: rhodecode/templates/admin/users/user_edit.html:129
1478 #: rhodecode/templates/admin/users/user_edit.html:129
1487 #: rhodecode/templates/admin/users/user_edit.html:154
1479 #: rhodecode/templates/admin/users/user_edit.html:154
1488 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:79
1480 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:79
1489 #: rhodecode/templates/admin/users_groups/users_group_edit.html:115
1481 #: rhodecode/templates/admin/users_groups/users_group_edit.html:115
1490 #: rhodecode/templates/settings/repo_settings.html:84
1482 #: rhodecode/templates/settings/repo_settings.html:84
1491 msgid "Save"
1483 msgid "Save"
1492 msgstr "Enregistrer"
1484 msgstr "Enregistrer"
1493
1485
1494 #: rhodecode/templates/admin/notifications/notifications.html:5
1486 #: rhodecode/templates/admin/notifications/notifications.html:5
1495 #: rhodecode/templates/admin/notifications/notifications.html:9
1487 #: rhodecode/templates/admin/notifications/notifications.html:9
1496 msgid "My Notifications"
1488 msgid "My Notifications"
1497 msgstr "Mes notifications"
1489 msgstr "Mes notifications"
1498
1490
1499 #: rhodecode/templates/admin/notifications/notifications.html:29
1491 #: rhodecode/templates/admin/notifications/notifications.html:29
1500 msgid "Mark all read"
1492 msgid "Mark all read"
1501 msgstr "Tout marquer comme lu"
1493 msgstr "Tout marquer comme lu"
1502
1494
1503 #: rhodecode/templates/admin/notifications/notifications_data.html:38
1495 #: rhodecode/templates/admin/notifications/notifications_data.html:38
1504 msgid "No notifications here yet"
1496 msgid "No notifications here yet"
1505 msgstr "Aucune notification pour le moment."
1497 msgstr "Aucune notification pour le moment."
1506
1498
1507 #: rhodecode/templates/admin/notifications/show_notification.html:5
1499 #: rhodecode/templates/admin/notifications/show_notification.html:5
1508 #: rhodecode/templates/admin/notifications/show_notification.html:11
1500 #: rhodecode/templates/admin/notifications/show_notification.html:11
1509 msgid "Show notification"
1501 msgid "Show notification"
1510 msgstr "Notification"
1502 msgstr "Notification"
1511
1503
1512 #: rhodecode/templates/admin/notifications/show_notification.html:9
1504 #: rhodecode/templates/admin/notifications/show_notification.html:9
1513 msgid "Notifications"
1505 msgid "Notifications"
1514 msgstr "Notifications"
1506 msgstr "Notifications"
1515
1507
1516 #: rhodecode/templates/admin/permissions/permissions.html:5
1508 #: rhodecode/templates/admin/permissions/permissions.html:5
1517 msgid "Permissions administration"
1509 msgid "Permissions administration"
1518 msgstr "Gestion des permissions"
1510 msgstr "Gestion des permissions"
1519
1511
1520 #: rhodecode/templates/admin/permissions/permissions.html:11
1512 #: rhodecode/templates/admin/permissions/permissions.html:11
1521 #: rhodecode/templates/admin/repos/repo_edit.html:116
1513 #: rhodecode/templates/admin/repos/repo_edit.html:116
1522 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
1514 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
1523 #: rhodecode/templates/admin/users/user_edit.html:139
1515 #: rhodecode/templates/admin/users/user_edit.html:139
1524 #: rhodecode/templates/admin/users_groups/users_group_edit.html:100
1516 #: rhodecode/templates/admin/users_groups/users_group_edit.html:100
1525 #: rhodecode/templates/settings/repo_settings.html:77
1517 #: rhodecode/templates/settings/repo_settings.html:77
1526 msgid "Permissions"
1518 msgid "Permissions"
1527 msgstr "Permissions"
1519 msgstr "Permissions"
1528
1520
1529 #: rhodecode/templates/admin/permissions/permissions.html:24
1521 #: rhodecode/templates/admin/permissions/permissions.html:24
1530 msgid "Default permissions"
1522 msgid "Default permissions"
1531 msgstr "Permissions par défaut"
1523 msgstr "Permissions par défaut"
1532
1524
1533 #: rhodecode/templates/admin/permissions/permissions.html:31
1525 #: rhodecode/templates/admin/permissions/permissions.html:31
1534 msgid "Anonymous access"
1526 msgid "Anonymous access"
1535 msgstr "Accès anonyme"
1527 msgstr "Accès anonyme"
1536
1528
1537 #: rhodecode/templates/admin/permissions/permissions.html:41
1529 #: rhodecode/templates/admin/permissions/permissions.html:41
1538 msgid "Repository permission"
1530 msgid "Repository permission"
1539 msgstr "Permissions du dépôt"
1531 msgstr "Permissions du dépôt"
1540
1532
1541 #: rhodecode/templates/admin/permissions/permissions.html:49
1533 #: rhodecode/templates/admin/permissions/permissions.html:49
1542 msgid ""
1534 msgid ""
1543 "All default permissions on each repository will be reset to choosen "
1535 "All default permissions on each repository will be reset to choosen "
1544 "permission, note that all custom default permission on repositories will "
1536 "permission, note that all custom default permission on repositories will "
1545 "be lost"
1537 "be lost"
1546 msgstr ""
1538 msgstr ""
1547 "Les permissions par défaut de chaque dépôt vont être remplacées par la "
1539 "Les permissions par défaut de chaque dépôt vont être remplacées par la "
1548 "permission choisie. Toutes les permissions par défaut des dépôts seront "
1540 "permission choisie. Toutes les permissions par défaut des dépôts seront "
1549 "perdues."
1541 "perdues."
1550
1542
1551 #: rhodecode/templates/admin/permissions/permissions.html:50
1543 #: rhodecode/templates/admin/permissions/permissions.html:50
1552 msgid "overwrite existing settings"
1544 msgid "overwrite existing settings"
1553 msgstr "Écraser les permissions existantes"
1545 msgstr "Écraser les permissions existantes"
1554
1546
1555 #: rhodecode/templates/admin/permissions/permissions.html:55
1547 #: rhodecode/templates/admin/permissions/permissions.html:55
1556 msgid "Registration"
1548 msgid "Registration"
1557 msgstr "Enregistrement"
1549 msgstr "Enregistrement"
1558
1550
1559 #: rhodecode/templates/admin/permissions/permissions.html:63
1551 #: rhodecode/templates/admin/permissions/permissions.html:63
1560 msgid "Repository creation"
1552 msgid "Repository creation"
1561 msgstr "Création de dépôt"
1553 msgstr "Création de dépôt"
1562
1554
1563 #: rhodecode/templates/admin/permissions/permissions.html:71
1555 #: rhodecode/templates/admin/permissions/permissions.html:71
1564 #: rhodecode/templates/admin/repos/repo_edit.html:218
1556 #: rhodecode/templates/admin/repos/repo_edit.html:218
1565 msgid "set"
1557 msgid "set"
1566 msgstr "Définir"
1558 msgstr "Définir"
1567
1559
1568 #: rhodecode/templates/admin/repos/repo_add.html:5
1560 #: rhodecode/templates/admin/repos/repo_add.html:5
1569 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
1561 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
1570 msgid "Add repository"
1562 msgid "Add repository"
1571 msgstr "Ajouter un dépôt"
1563 msgstr "Ajouter un dépôt"
1572
1564
1573 #: rhodecode/templates/admin/repos/repo_add.html:11
1565 #: rhodecode/templates/admin/repos/repo_add.html:11
1574 #: rhodecode/templates/admin/repos/repo_edit.html:11
1566 #: rhodecode/templates/admin/repos/repo_edit.html:11
1575 #: rhodecode/templates/admin/repos/repos.html:10
1567 #: rhodecode/templates/admin/repos/repos.html:10
1576 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
1568 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
1577 msgid "Repositories"
1569 msgid "Repositories"
1578 msgstr "Dépôts"
1570 msgstr "Dépôts"
1579
1571
1580 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1572 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1581 #: rhodecode/templates/summary/summary.html:90
1573 #: rhodecode/templates/summary/summary.html:90
1582 #: rhodecode/templates/summary/summary.html:91
1574 #: rhodecode/templates/summary/summary.html:91
1583 msgid "Clone from"
1575 msgid "Clone from"
1584 msgstr "Cloner depuis"
1576 msgstr "Cloner depuis"
1585
1577
1586 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1578 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1587 #: rhodecode/templates/admin/repos/repo_edit.html:44
1579 #: rhodecode/templates/admin/repos/repo_edit.html:44
1588 #: rhodecode/templates/settings/repo_settings.html:43
1580 #: rhodecode/templates/settings/repo_settings.html:43
1589 msgid "Optional http[s] url from which repository should be cloned."
1581 msgid "Optional http[s] url from which repository should be cloned."
1590 msgstr "URL http(s) depuis laquelle le dépôt doit être cloné."
1582 msgstr "URL http(s) depuis laquelle le dépôt doit être cloné."
1591
1583
1592 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1584 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1593 #: rhodecode/templates/admin/repos/repo_edit.html:49
1585 #: rhodecode/templates/admin/repos/repo_edit.html:49
1594 #: rhodecode/templates/admin/repos_groups/repos_groups.html:4
1586 #: rhodecode/templates/admin/repos_groups/repos_groups.html:4
1595 #: rhodecode/templates/forks/fork.html:41
1587 #: rhodecode/templates/forks/fork.html:41
1596 #: rhodecode/templates/settings/repo_settings.html:48
1588 #: rhodecode/templates/settings/repo_settings.html:48
1597 msgid "Repository group"
1589 msgid "Repository group"
1598 msgstr "Groupe de dépôt"
1590 msgstr "Groupe de dépôt"
1599
1591
1600 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1592 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1601 #: rhodecode/templates/admin/repos/repo_edit.html:53
1593 #: rhodecode/templates/admin/repos/repo_edit.html:53
1602 #: rhodecode/templates/settings/repo_settings.html:52
1594 #: rhodecode/templates/settings/repo_settings.html:52
1603 msgid "Optional select a group to put this repository into."
1595 msgid "Optional select a group to put this repository into."
1604 msgstr "Sélectionnez un groupe (optionel) dans lequel sera placé le dépôt."
1596 msgstr "Sélectionnez un groupe (optionel) dans lequel sera placé le dépôt."
1605
1597
1606 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1598 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1607 #: rhodecode/templates/admin/repos/repo_edit.html:58
1599 #: rhodecode/templates/admin/repos/repo_edit.html:58
1608 msgid "Type"
1600 msgid "Type"
1609 msgstr "Type"
1601 msgstr "Type"
1610
1602
1611 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1603 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1612 msgid "Type of repository to create."
1604 msgid "Type of repository to create."
1613 msgstr "Type de dépôt à créer."
1605 msgstr "Type de dépôt à créer."
1614
1606
1615 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1607 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1616 #: rhodecode/templates/admin/repos/repo_edit.html:70
1608 #: rhodecode/templates/admin/repos/repo_edit.html:70
1617 #: rhodecode/templates/settings/repo_settings.html:61
1609 #: rhodecode/templates/settings/repo_settings.html:61
1618 msgid "Keep it short and to the point. Use a README file for longer descriptions."
1610 msgid "Keep it short and to the point. Use a README file for longer descriptions."
1619 msgstr ""
1611 msgstr ""
1620 "Gardez cette description précise et concise. Utilisez un fichier README "
1612 "Gardez cette description précise et concise. Utilisez un fichier README "
1621 "pour des descriptions plus détaillées."
1613 "pour des descriptions plus détaillées."
1622
1614
1623 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1615 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1624 #: rhodecode/templates/admin/repos/repo_edit.html:80
1616 #: rhodecode/templates/admin/repos/repo_edit.html:80
1625 #: rhodecode/templates/settings/repo_settings.html:71
1617 #: rhodecode/templates/settings/repo_settings.html:71
1626 msgid ""
1618 msgid ""
1627 "Private repositories are only visible to people explicitly added as "
1619 "Private repositories are only visible to people explicitly added as "
1628 "collaborators."
1620 "collaborators."
1629 msgstr ""
1621 msgstr ""
1630 "Les dépôts privés sont visibles seulement par les utilisateurs ajoutés "
1622 "Les dépôts privés sont visibles seulement par les utilisateurs ajoutés "
1631 "comme collaborateurs."
1623 "comme collaborateurs."
1632
1624
1633 #: rhodecode/templates/admin/repos/repo_add_base.html:64
1625 #: rhodecode/templates/admin/repos/repo_add_base.html:64
1634 msgid "add"
1626 msgid "add"
1635 msgstr "Ajouter"
1627 msgstr "Ajouter"
1636
1628
1637 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1629 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1638 msgid "add new repository"
1630 msgid "add new repository"
1639 msgstr "ajouter un nouveau dépôt"
1631 msgstr "ajouter un nouveau dépôt"
1640
1632
1641 #: rhodecode/templates/admin/repos/repo_edit.html:5
1633 #: rhodecode/templates/admin/repos/repo_edit.html:5
1642 msgid "Edit repository"
1634 msgid "Edit repository"
1643 msgstr "Éditer le dépôt"
1635 msgstr "Éditer le dépôt"
1644
1636
1645 #: rhodecode/templates/admin/repos/repo_edit.html:13
1637 #: rhodecode/templates/admin/repos/repo_edit.html:13
1646 #: rhodecode/templates/admin/users/user_edit.html:13
1638 #: rhodecode/templates/admin/users/user_edit.html:13
1647 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
1639 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
1648 #: rhodecode/templates/admin/users_groups/users_group_edit.html:13
1640 #: rhodecode/templates/admin/users_groups/users_group_edit.html:13
1649 #: rhodecode/templates/files/files_source.html:32
1641 #: rhodecode/templates/files/files_source.html:32
1650 #: rhodecode/templates/journal/journal.html:72
1642 #: rhodecode/templates/journal/journal.html:72
1651 msgid "edit"
1643 msgid "edit"
1652 msgstr "éditer"
1644 msgstr "éditer"
1653
1645
1654 #: rhodecode/templates/admin/repos/repo_edit.html:40
1646 #: rhodecode/templates/admin/repos/repo_edit.html:40
1655 #: rhodecode/templates/settings/repo_settings.html:39
1647 #: rhodecode/templates/settings/repo_settings.html:39
1656 msgid "Clone uri"
1648 msgid "Clone uri"
1657 msgstr "URL de clone"
1649 msgstr "URL de clone"
1658
1650
1659 #: rhodecode/templates/admin/repos/repo_edit.html:85
1651 #: rhodecode/templates/admin/repos/repo_edit.html:85
1660 msgid "Enable statistics"
1652 msgid "Enable statistics"
1661 msgstr "Activer les statistiques"
1653 msgstr "Activer les statistiques"
1662
1654
1663 #: rhodecode/templates/admin/repos/repo_edit.html:89
1655 #: rhodecode/templates/admin/repos/repo_edit.html:89
1664 msgid "Enable statistics window on summary page."
1656 msgid "Enable statistics window on summary page."
1665 msgstr "Afficher les statistiques sur la page du dépôt."
1657 msgstr "Afficher les statistiques sur la page du dépôt."
1666
1658
1667 #: rhodecode/templates/admin/repos/repo_edit.html:94
1659 #: rhodecode/templates/admin/repos/repo_edit.html:94
1668 msgid "Enable downloads"
1660 msgid "Enable downloads"
1669 msgstr "Activer les téléchargements"
1661 msgstr "Activer les téléchargements"
1670
1662
1671 #: rhodecode/templates/admin/repos/repo_edit.html:98
1663 #: rhodecode/templates/admin/repos/repo_edit.html:98
1672 msgid "Enable download menu on summary page."
1664 msgid "Enable download menu on summary page."
1673 msgstr "Afficher le menu de téléchargements sur la page du dépôt."
1665 msgstr "Afficher le menu de téléchargements sur la page du dépôt."
1674
1666
1675 #: rhodecode/templates/admin/repos/repo_edit.html:108
1667 #: rhodecode/templates/admin/repos/repo_edit.html:108
1676 msgid "Change owner of this repository."
1668 msgid "Change owner of this repository."
1677 msgstr "Changer le propriétaire de ce dépôt."
1669 msgstr "Changer le propriétaire de ce dépôt."
1678
1670
1679 #: rhodecode/templates/admin/repos/repo_edit.html:134
1671 #: rhodecode/templates/admin/repos/repo_edit.html:134
1680 msgid "Administration"
1672 msgid "Administration"
1681 msgstr "Administration"
1673 msgstr "Administration"
1682
1674
1683 #: rhodecode/templates/admin/repos/repo_edit.html:137
1675 #: rhodecode/templates/admin/repos/repo_edit.html:137
1684 msgid "Statistics"
1676 msgid "Statistics"
1685 msgstr "Statistiques"
1677 msgstr "Statistiques"
1686
1678
1687 #: rhodecode/templates/admin/repos/repo_edit.html:141
1679 #: rhodecode/templates/admin/repos/repo_edit.html:141
1688 msgid "Reset current statistics"
1680 msgid "Reset current statistics"
1689 msgstr "Réinitialiser les statistiques"
1681 msgstr "Réinitialiser les statistiques"
1690
1682
1691 #: rhodecode/templates/admin/repos/repo_edit.html:141
1683 #: rhodecode/templates/admin/repos/repo_edit.html:141
1692 msgid "Confirm to remove current statistics"
1684 msgid "Confirm to remove current statistics"
1693 msgstr "Souhaitez-vous vraiment réinitialiser les statistiques de ce dépôt ?"
1685 msgstr "Souhaitez-vous vraiment réinitialiser les statistiques de ce dépôt ?"
1694
1686
1695 #: rhodecode/templates/admin/repos/repo_edit.html:144
1687 #: rhodecode/templates/admin/repos/repo_edit.html:144
1696 msgid "Fetched to rev"
1688 msgid "Fetched to rev"
1697 msgstr "Parcouru jusqu’à la révision"
1689 msgstr "Parcouru jusqu’à la révision"
1698
1690
1699 #: rhodecode/templates/admin/repos/repo_edit.html:145
1691 #: rhodecode/templates/admin/repos/repo_edit.html:145
1700 msgid "Stats gathered"
1692 msgid "Stats gathered"
1701 msgstr "Statistiques obtenues"
1693 msgstr "Statistiques obtenues"
1702
1694
1703 #: rhodecode/templates/admin/repos/repo_edit.html:153
1695 #: rhodecode/templates/admin/repos/repo_edit.html:153
1704 msgid "Remote"
1696 msgid "Remote"
1705 msgstr "Dépôt distant"
1697 msgstr "Dépôt distant"
1706
1698
1707 #: rhodecode/templates/admin/repos/repo_edit.html:157
1699 #: rhodecode/templates/admin/repos/repo_edit.html:157
1708 msgid "Pull changes from remote location"
1700 msgid "Pull changes from remote location"
1709 msgstr "Récupérer les changements depuis le site distant"
1701 msgstr "Récupérer les changements depuis le site distant"
1710
1702
1711 #: rhodecode/templates/admin/repos/repo_edit.html:157
1703 #: rhodecode/templates/admin/repos/repo_edit.html:157
1712 msgid "Confirm to pull changes from remote side"
1704 msgid "Confirm to pull changes from remote side"
1713 msgstr "Voulez-vous vraiment récupérer les changements depuis le site distant ?"
1705 msgstr "Voulez-vous vraiment récupérer les changements depuis le site distant ?"
1714
1706
1715 #: rhodecode/templates/admin/repos/repo_edit.html:168
1707 #: rhodecode/templates/admin/repos/repo_edit.html:168
1716 msgid "Cache"
1708 msgid "Cache"
1717 msgstr "Cache"
1709 msgstr "Cache"
1718
1710
1719 #: rhodecode/templates/admin/repos/repo_edit.html:172
1711 #: rhodecode/templates/admin/repos/repo_edit.html:172
1720 msgid "Invalidate repository cache"
1712 msgid "Invalidate repository cache"
1721 msgstr "Invalider le cache du dépôt"
1713 msgstr "Invalider le cache du dépôt"
1722
1714
1723 #: rhodecode/templates/admin/repos/repo_edit.html:172
1715 #: rhodecode/templates/admin/repos/repo_edit.html:172
1724 msgid "Confirm to invalidate repository cache"
1716 msgid "Confirm to invalidate repository cache"
1725 msgstr "Voulez-vous vraiment invalider le cache du dépôt ?"
1717 msgstr "Voulez-vous vraiment invalider le cache du dépôt ?"
1726
1718
1727 #: rhodecode/templates/admin/repos/repo_edit.html:183
1719 #: rhodecode/templates/admin/repos/repo_edit.html:183
1728 msgid "Remove from public journal"
1720 msgid "Remove from public journal"
1729 msgstr "Supprimer du journal public"
1721 msgstr "Supprimer du journal public"
1730
1722
1731 #: rhodecode/templates/admin/repos/repo_edit.html:185
1723 #: rhodecode/templates/admin/repos/repo_edit.html:185
1732 msgid "Add to public journal"
1724 msgid "Add to public journal"
1733 msgstr "Ajouter le dépôt au journal public"
1725 msgstr "Ajouter le dépôt au journal public"
1734
1726
1735 #: rhodecode/templates/admin/repos/repo_edit.html:190
1727 #: rhodecode/templates/admin/repos/repo_edit.html:190
1736 msgid ""
1728 msgid ""
1737 "All actions made on this repository will be accessible to everyone in "
1729 "All actions made on this repository will be accessible to everyone in "
1738 "public journal"
1730 "public journal"
1739 msgstr ""
1731 msgstr ""
1740 "Le descriptif des actions réalisées sur ce dépôt sera visible à tous "
1732 "Le descriptif des actions réalisées sur ce dépôt sera visible à tous "
1741 "depuis le journal public."
1733 "depuis le journal public."
1742
1734
1743 #: rhodecode/templates/admin/repos/repo_edit.html:197
1735 #: rhodecode/templates/admin/repos/repo_edit.html:197
1744 #: rhodecode/templates/changeset/changeset_file_comment.html:19
1736 #: rhodecode/templates/changeset/changeset_file_comment.html:19
1745 msgid "Delete"
1737 msgid "Delete"
1746 msgstr "Supprimer"
1738 msgstr "Supprimer"
1747
1739
1748 #: rhodecode/templates/admin/repos/repo_edit.html:201
1740 #: rhodecode/templates/admin/repos/repo_edit.html:201
1749 msgid "Remove this repository"
1741 msgid "Remove this repository"
1750 msgstr "Supprimer ce dépôt"
1742 msgstr "Supprimer ce dépôt"
1751
1743
1752 #: rhodecode/templates/admin/repos/repo_edit.html:201
1744 #: rhodecode/templates/admin/repos/repo_edit.html:201
1753 msgid "Confirm to delete this repository"
1745 msgid "Confirm to delete this repository"
1754 msgstr "Voulez-vous vraiment supprimer ce dépôt ?"
1746 msgstr "Voulez-vous vraiment supprimer ce dépôt ?"
1755
1747
1756 #: rhodecode/templates/admin/repos/repo_edit.html:205
1748 #: rhodecode/templates/admin/repos/repo_edit.html:205
1757 msgid ""
1749 msgid ""
1758 "This repository will be renamed in a special way in order to be "
1750 "This repository will be renamed in a special way in order to be "
1759 "unaccesible for RhodeCode and VCS systems.\n"
1751 "unaccesible for RhodeCode and VCS systems.\n"
1760 " If you need fully delete it from filesystem "
1752 " If you need fully delete it from filesystem "
1761 "please do it manually"
1753 "please do it manually"
1762 msgstr ""
1754 msgstr ""
1763 "Ce dépôt sera renommé de manière à le rendre inaccessible à RhodeCode et "
1755 "Ce dépôt sera renommé de manière à le rendre inaccessible à RhodeCode et "
1764 "au système de gestion de versions.\n"
1756 "au système de gestion de versions.\n"
1765 "Si vous voulez le supprimer complètement, effectuez la suppression "
1757 "Si vous voulez le supprimer complètement, effectuez la suppression "
1766 "manuellement."
1758 "manuellement."
1767
1759
1768 #: rhodecode/templates/admin/repos/repo_edit.html:213
1760 #: rhodecode/templates/admin/repos/repo_edit.html:213
1769 msgid "Set as fork"
1761 msgid "Set as fork"
1770 msgstr "Indiquer comme fork"
1762 msgstr "Indiquer comme fork"
1771
1763
1772 #: rhodecode/templates/admin/repos/repo_edit.html:222
1764 #: rhodecode/templates/admin/repos/repo_edit.html:222
1773 msgid "Manually set this repository as a fork of another"
1765 msgid "Manually set this repository as a fork of another"
1774 msgstr "Permet d’indiquer manuellement que ce dépôt est un fork d’un autre dépôt."
1766 msgstr "Permet d’indiquer manuellement que ce dépôt est un fork d’un autre dépôt."
1775
1767
1776 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
1768 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
1777 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
1769 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
1778 msgid "none"
1770 msgid "none"
1779 msgstr "Aucune"
1771 msgstr "Aucune"
1780
1772
1781 #: rhodecode/templates/admin/repos/repo_edit_perms.html:4
1773 #: rhodecode/templates/admin/repos/repo_edit_perms.html:4
1782 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
1774 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
1783 msgid "read"
1775 msgid "read"
1784 msgstr "Lecture"
1776 msgstr "Lecture"
1785
1777
1786 #: rhodecode/templates/admin/repos/repo_edit_perms.html:5
1778 #: rhodecode/templates/admin/repos/repo_edit_perms.html:5
1787 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
1779 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
1788 msgid "write"
1780 msgid "write"
1789 msgstr "Écriture"
1781 msgstr "Écriture"
1790
1782
1791 #: rhodecode/templates/admin/repos/repo_edit_perms.html:6
1783 #: rhodecode/templates/admin/repos/repo_edit_perms.html:6
1792 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
1784 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
1793 #: rhodecode/templates/admin/users/users.html:38
1785 #: rhodecode/templates/admin/users/users.html:38
1794 #: rhodecode/templates/base/base.html:214
1786 #: rhodecode/templates/base/base.html:214
1795 msgid "admin"
1787 msgid "admin"
1796 msgstr "Administration"
1788 msgstr "Administration"
1797
1789
1798 #: rhodecode/templates/admin/repos/repo_edit_perms.html:7
1790 #: rhodecode/templates/admin/repos/repo_edit_perms.html:7
1799 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
1791 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
1800 msgid "member"
1792 msgid "member"
1801 msgstr "Membre"
1793 msgstr "Membre"
1802
1794
1803 #: rhodecode/templates/admin/repos/repo_edit_perms.html:16
1795 #: rhodecode/templates/admin/repos/repo_edit_perms.html:16
1804 #: rhodecode/templates/data_table/_dt_elements.html:61
1796 #: rhodecode/templates/data_table/_dt_elements.html:61
1805 #: rhodecode/templates/journal/journal.html:123
1797 #: rhodecode/templates/journal/journal.html:123
1806 #: rhodecode/templates/summary/summary.html:71
1798 #: rhodecode/templates/summary/summary.html:71
1807 msgid "private repository"
1799 msgid "private repository"
1808 msgstr "Dépôt privé"
1800 msgstr "Dépôt privé"
1809
1801
1802 #: rhodecode/templates/admin/repos/repo_edit_perms.html:19
1803 #: rhodecode/templates/admin/repos/repo_edit_perms.html:28
1804 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:18
1805 msgid "default"
1806 msgstr "[Par défaut]"
1807
1810 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
1808 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
1811 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
1809 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
1812 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
1810 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
1813 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
1811 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
1814 msgid "revoke"
1812 msgid "revoke"
1815 msgstr "Révoquer"
1813 msgstr "Révoquer"
1816
1814
1817 #: rhodecode/templates/admin/repos/repo_edit_perms.html:80
1815 #: rhodecode/templates/admin/repos/repo_edit_perms.html:80
1818 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
1816 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
1819 msgid "Add another member"
1817 msgid "Add another member"
1820 msgstr "Ajouter un utilisateur"
1818 msgstr "Ajouter un utilisateur"
1821
1819
1822 #: rhodecode/templates/admin/repos/repo_edit_perms.html:94
1820 #: rhodecode/templates/admin/repos/repo_edit_perms.html:94
1823 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
1821 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
1824 msgid "Failed to remove user"
1822 msgid "Failed to remove user"
1825 msgstr "Échec de suppression de l’utilisateur"
1823 msgstr "Échec de suppression de l’utilisateur"
1826
1824
1827 #: rhodecode/templates/admin/repos/repo_edit_perms.html:109
1825 #: rhodecode/templates/admin/repos/repo_edit_perms.html:109
1828 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
1826 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
1829 msgid "Failed to remove users group"
1827 msgid "Failed to remove users group"
1830 msgstr "Erreur lors de la suppression du groupe d’utilisateurs."
1828 msgstr "Erreur lors de la suppression du groupe d’utilisateurs."
1831
1829
1832 #: rhodecode/templates/admin/repos/repos.html:5
1830 #: rhodecode/templates/admin/repos/repos.html:5
1833 msgid "Repositories administration"
1831 msgid "Repositories administration"
1834 msgstr "Administration des dépôts"
1832 msgstr "Administration des dépôts"
1835
1833
1836 #: rhodecode/templates/admin/repos/repos.html:40
1834 #: rhodecode/templates/admin/repos/repos.html:40
1837 #: rhodecode/templates/summary/summary.html:107
1835 #: rhodecode/templates/summary/summary.html:107
1838 msgid "Contact"
1836 msgid "Contact"
1839 msgstr "Contact"
1837 msgstr "Contact"
1840
1838
1841 #: rhodecode/templates/admin/repos/repos.html:68
1839 #: rhodecode/templates/admin/repos/repos.html:68
1842 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1840 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1843 #: rhodecode/templates/admin/users/users.html:55
1841 #: rhodecode/templates/admin/users/users.html:55
1844 #: rhodecode/templates/admin/users_groups/users_groups.html:44
1842 #: rhodecode/templates/admin/users_groups/users_groups.html:44
1845 msgid "delete"
1843 msgid "delete"
1846 msgstr "Supprimer"
1844 msgstr "Supprimer"
1847
1845
1848 #: rhodecode/templates/admin/repos/repos.html:68
1846 #: rhodecode/templates/admin/repos/repos.html:68
1849 #: rhodecode/templates/admin/users/user_edit_my_account.html:74
1847 #: rhodecode/templates/admin/users/user_edit_my_account.html:74
1850 #, python-format
1848 #, python-format
1851 msgid "Confirm to delete this repository: %s"
1849 msgid "Confirm to delete this repository: %s"
1852 msgstr "Voulez-vous vraiment supprimer le dépôt %s ?"
1850 msgstr "Voulez-vous vraiment supprimer le dépôt %s ?"
1853
1851
1854 #: rhodecode/templates/admin/repos_groups/repos_groups.html:8
1852 #: rhodecode/templates/admin/repos_groups/repos_groups.html:8
1855 msgid "Groups"
1853 msgid "Groups"
1856 msgstr "Groupes"
1854 msgstr "Groupes"
1857
1855
1858 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
1856 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
1859 msgid "with"
1857 msgid "with"
1860 msgstr "avec support de"
1858 msgstr "comprenant"
1861
1859
1862 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
1860 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
1863 msgid "Add repos group"
1861 msgid "Add repos group"
1864 msgstr "Créer un groupe de dépôt"
1862 msgstr "Créer un groupe de dépôt"
1865
1863
1866 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
1864 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
1867 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
1865 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
1868 msgid "Repos groups"
1866 msgid "Repos groups"
1869 msgstr "Groupes de dépôts"
1867 msgstr "Groupes de dépôts"
1870
1868
1871 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
1869 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
1872 msgid "add new repos group"
1870 msgid "add new repos group"
1873 msgstr "Nouveau groupe de dépôt"
1871 msgstr "Nouveau groupe de dépôt"
1874
1872
1875 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
1873 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
1876 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
1874 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
1877 msgid "Group parent"
1875 msgid "Group parent"
1878 msgstr "Parent du groupe"
1876 msgstr "Parent du groupe"
1879
1877
1880 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
1878 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
1881 #: rhodecode/templates/admin/users/user_add.html:94
1879 #: rhodecode/templates/admin/users/user_add.html:94
1882 #: rhodecode/templates/admin/users_groups/users_group_add.html:49
1880 #: rhodecode/templates/admin/users_groups/users_group_add.html:49
1883 #: rhodecode/templates/admin/users_groups/users_group_edit.html:90
1881 #: rhodecode/templates/admin/users_groups/users_group_edit.html:90
1884 msgid "save"
1882 msgid "save"
1885 msgstr "Enregistrer"
1883 msgstr "Enregistrer"
1886
1884
1887 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
1885 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
1888 msgid "Edit repos group"
1886 msgid "Edit repos group"
1889 msgstr "Éditer le groupe de dépôt"
1887 msgstr "Éditer le groupe de dépôt"
1890
1888
1891 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
1889 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
1892 msgid "edit repos group"
1890 msgid "edit repos group"
1893 msgstr "Édition du groupe de dépôt"
1891 msgstr "Édition du groupe de dépôt"
1894
1892
1895 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
1893 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
1896 #: rhodecode/templates/admin/settings/settings.html:112
1894 #: rhodecode/templates/admin/settings/settings.html:112
1897 #: rhodecode/templates/admin/settings/settings.html:177
1895 #: rhodecode/templates/admin/settings/settings.html:177
1898 #: rhodecode/templates/admin/users/user_edit.html:130
1896 #: rhodecode/templates/admin/users/user_edit.html:130
1899 #: rhodecode/templates/admin/users/user_edit.html:155
1897 #: rhodecode/templates/admin/users/user_edit.html:155
1900 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:80
1898 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:80
1901 #: rhodecode/templates/admin/users_groups/users_group_edit.html:116
1899 #: rhodecode/templates/admin/users_groups/users_group_edit.html:116
1902 #: rhodecode/templates/files/files_add.html:82
1900 #: rhodecode/templates/files/files_add.html:82
1903 #: rhodecode/templates/files/files_edit.html:68
1901 #: rhodecode/templates/files/files_edit.html:68
1904 #: rhodecode/templates/settings/repo_settings.html:85
1902 #: rhodecode/templates/settings/repo_settings.html:85
1905 msgid "Reset"
1903 msgid "Reset"
1906 msgstr "Réinitialiser"
1904 msgstr "Réinitialiser"
1907
1905
1908 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
1906 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
1909 msgid "Repositories groups administration"
1907 msgid "Repositories groups administration"
1910 msgstr "Administration des groupes de dépôts"
1908 msgstr "Administration des groupes de dépôts"
1911
1909
1912 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
1910 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
1913 msgid "ADD NEW GROUP"
1911 msgid "ADD NEW GROUP"
1914 msgstr "AJOUTER UN NOUVEAU GROUPE"
1912 msgstr "AJOUTER UN NOUVEAU GROUPE"
1915
1913
1916 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
1914 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
1917 msgid "Number of toplevel repositories"
1915 msgid "Number of toplevel repositories"
1918 msgstr "Nombre de sous-dépôts"
1916 msgstr "Nombre de sous-dépôts"
1919
1917
1920 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
1918 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
1921 #: rhodecode/templates/admin/users/users.html:40
1919 #: rhodecode/templates/admin/users/users.html:40
1922 #: rhodecode/templates/admin/users_groups/users_groups.html:35
1920 #: rhodecode/templates/admin/users_groups/users_groups.html:35
1923 msgid "action"
1921 msgid "action"
1924 msgstr "Action"
1922 msgstr "Action"
1925
1923
1926 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1924 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1927 #, python-format
1925 #, python-format
1928 msgid "Confirm to delete this group: %s"
1926 msgid "Confirm to delete this group: %s"
1929 msgstr "Voulez-vous vraiment supprimer le groupe « %s » ?"
1927 msgstr "Voulez-vous vraiment supprimer le groupe « %s » ?"
1930
1928
1931 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
1929 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
1932 msgid "There are no repositories groups yet"
1930 msgid "There are no repositories groups yet"
1933 msgstr "Aucun groupe de dépôts n’a été créé pour le moment."
1931 msgstr "Aucun groupe de dépôts n’a été créé pour le moment."
1934
1932
1935 #: rhodecode/templates/admin/settings/hooks.html:5
1933 #: rhodecode/templates/admin/settings/hooks.html:5
1936 #: rhodecode/templates/admin/settings/settings.html:5
1934 #: rhodecode/templates/admin/settings/settings.html:5
1937 msgid "Settings administration"
1935 msgid "Settings administration"
1938 msgstr "Administration générale"
1936 msgstr "Administration générale"
1939
1937
1940 #: rhodecode/templates/admin/settings/hooks.html:9
1938 #: rhodecode/templates/admin/settings/hooks.html:9
1941 #: rhodecode/templates/admin/settings/settings.html:9
1939 #: rhodecode/templates/admin/settings/settings.html:9
1942 #: rhodecode/templates/settings/repo_settings.html:5
1943 #: rhodecode/templates/settings/repo_settings.html:13
1940 #: rhodecode/templates/settings/repo_settings.html:13
1944 msgid "Settings"
1941 msgid "Settings"
1945 msgstr "Options"
1942 msgstr "Options"
1946
1943
1947 #: rhodecode/templates/admin/settings/hooks.html:24
1944 #: rhodecode/templates/admin/settings/hooks.html:24
1948 msgid "Built in hooks - read only"
1945 msgid "Built in hooks - read only"
1949 msgstr "Hooks prédéfinis (lecture seule)"
1946 msgstr "Hooks prédéfinis (lecture seule)"
1950
1947
1951 #: rhodecode/templates/admin/settings/hooks.html:40
1948 #: rhodecode/templates/admin/settings/hooks.html:40
1952 msgid "Custom hooks"
1949 msgid "Custom hooks"
1953 msgstr "Hooks personnalisés"
1950 msgstr "Hooks personnalisés"
1954
1951
1955 #: rhodecode/templates/admin/settings/hooks.html:56
1952 #: rhodecode/templates/admin/settings/hooks.html:56
1956 msgid "remove"
1953 msgid "remove"
1957 msgstr "Enlever"
1954 msgstr "Enlever"
1958
1955
1959 #: rhodecode/templates/admin/settings/hooks.html:88
1956 #: rhodecode/templates/admin/settings/hooks.html:88
1960 msgid "Failed to remove hook"
1957 msgid "Failed to remove hook"
1961 msgstr "Erreur lors de la suppression du hook."
1958 msgstr "Erreur lors de la suppression du hook."
1962
1959
1963 #: rhodecode/templates/admin/settings/settings.html:24
1960 #: rhodecode/templates/admin/settings/settings.html:24
1964 msgid "Remap and rescan repositories"
1961 msgid "Remap and rescan repositories"
1965 msgstr "Ré-associer et re-scanner les dépôts"
1962 msgstr "Ré-associer et re-scanner les dépôts"
1966
1963
1967 #: rhodecode/templates/admin/settings/settings.html:32
1964 #: rhodecode/templates/admin/settings/settings.html:32
1968 msgid "rescan option"
1965 msgid "rescan option"
1969 msgstr "Option de re-scan"
1966 msgstr "Option de re-scan"
1970
1967
1971 #: rhodecode/templates/admin/settings/settings.html:38
1968 #: rhodecode/templates/admin/settings/settings.html:38
1972 msgid ""
1969 msgid ""
1973 "In case a repository was deleted from filesystem and there are leftovers "
1970 "In case a repository was deleted from filesystem and there are leftovers "
1974 "in the database check this option to scan obsolete data in database and "
1971 "in the database check this option to scan obsolete data in database and "
1975 "remove it."
1972 "remove it."
1976 msgstr ""
1973 msgstr ""
1977 "Cochez cette option pour supprimer d’éventuelles données obsolètes "
1974 "Cochez cette option pour supprimer d’éventuelles données obsolètes "
1978 "(concernant des dépôts manuellement supprimés) de la base de données."
1975 "(concernant des dépôts manuellement supprimés) de la base de données."
1979
1976
1980 #: rhodecode/templates/admin/settings/settings.html:39
1977 #: rhodecode/templates/admin/settings/settings.html:39
1981 msgid "destroy old data"
1978 msgid "destroy old data"
1982 msgstr "Supprimer les données obsolètes"
1979 msgstr "Supprimer les données obsolètes"
1983
1980
1984 #: rhodecode/templates/admin/settings/settings.html:45
1981 #: rhodecode/templates/admin/settings/settings.html:45
1985 msgid "Rescan repositories"
1982 msgid "Rescan repositories"
1986 msgstr "Re-scanner les dépôts"
1983 msgstr "Re-scanner les dépôts"
1987
1984
1988 #: rhodecode/templates/admin/settings/settings.html:51
1985 #: rhodecode/templates/admin/settings/settings.html:51
1989 msgid "Whoosh indexing"
1986 msgid "Whoosh indexing"
1990 msgstr "Indexation Whoosh"
1987 msgstr "Indexation Whoosh"
1991
1988
1992 #: rhodecode/templates/admin/settings/settings.html:59
1989 #: rhodecode/templates/admin/settings/settings.html:59
1993 msgid "index build option"
1990 msgid "index build option"
1994 msgstr "Option d’indexation"
1991 msgstr "Option d’indexation"
1995
1992
1996 #: rhodecode/templates/admin/settings/settings.html:64
1993 #: rhodecode/templates/admin/settings/settings.html:64
1997 msgid "build from scratch"
1994 msgid "build from scratch"
1998 msgstr "Purger et reconstruire l’index"
1995 msgstr "Purger et reconstruire l’index"
1999
1996
2000 #: rhodecode/templates/admin/settings/settings.html:70
1997 #: rhodecode/templates/admin/settings/settings.html:70
2001 msgid "Reindex"
1998 msgid "Reindex"
2002 msgstr "Mettre à jour l’index"
1999 msgstr "Mettre à jour l’index"
2003
2000
2004 #: rhodecode/templates/admin/settings/settings.html:76
2001 #: rhodecode/templates/admin/settings/settings.html:76
2005 msgid "Global application settings"
2002 msgid "Global application settings"
2006 msgstr "Réglages d’application globaux"
2003 msgstr "Réglages d’application globaux"
2007
2004
2008 #: rhodecode/templates/admin/settings/settings.html:85
2005 #: rhodecode/templates/admin/settings/settings.html:85
2009 msgid "Application name"
2006 msgid "Application name"
2010 msgstr "Nom de l’application"
2007 msgstr "Nom de l’application"
2011
2008
2012 #: rhodecode/templates/admin/settings/settings.html:94
2009 #: rhodecode/templates/admin/settings/settings.html:94
2013 msgid "Realm text"
2010 msgid "Realm text"
2014 msgstr "Texte du royaume"
2011 msgstr "Texte du royaume"
2015
2012
2016 #: rhodecode/templates/admin/settings/settings.html:103
2013 #: rhodecode/templates/admin/settings/settings.html:103
2017 msgid "GA code"
2014 msgid "GA code"
2018 msgstr "Code GA"
2015 msgstr "Code GA"
2019
2016
2020 #: rhodecode/templates/admin/settings/settings.html:111
2017 #: rhodecode/templates/admin/settings/settings.html:111
2021 #: rhodecode/templates/admin/settings/settings.html:176
2018 #: rhodecode/templates/admin/settings/settings.html:176
2022 msgid "Save settings"
2019 msgid "Save settings"
2023 msgstr "Enregister les options"
2020 msgstr "Enregister les options"
2024
2021
2025 #: rhodecode/templates/admin/settings/settings.html:118
2022 #: rhodecode/templates/admin/settings/settings.html:118
2026 msgid "Mercurial settings"
2023 msgid "Mercurial settings"
2027 msgstr "Options de Mercurial"
2024 msgstr "Options de Mercurial"
2028
2025
2029 #: rhodecode/templates/admin/settings/settings.html:127
2026 #: rhodecode/templates/admin/settings/settings.html:127
2030 msgid "Web"
2027 msgid "Web"
2031 msgstr "Web"
2028 msgstr "Web"
2032
2029
2033 #: rhodecode/templates/admin/settings/settings.html:132
2030 #: rhodecode/templates/admin/settings/settings.html:132
2034 msgid "require ssl for pushing"
2031 msgid "require ssl for pushing"
2035 msgstr "SSL requis pour les pushs"
2032 msgstr "SSL requis pour les pushs"
2036
2033
2037 #: rhodecode/templates/admin/settings/settings.html:139
2034 #: rhodecode/templates/admin/settings/settings.html:139
2038 msgid "Hooks"
2035 msgid "Hooks"
2039 msgstr "Hooks"
2036 msgstr "Hooks"
2040
2037
2041 #: rhodecode/templates/admin/settings/settings.html:144
2038 #: rhodecode/templates/admin/settings/settings.html:144
2042 msgid "Update repository after push (hg update)"
2039 msgid "Update repository after push (hg update)"
2043 msgstr "Mettre à jour les dépôts après un push (hg update)"
2040 msgstr "Mettre à jour les dépôts après un push (hg update)"
2044
2041
2045 #: rhodecode/templates/admin/settings/settings.html:148
2042 #: rhodecode/templates/admin/settings/settings.html:148
2046 msgid "Show repository size after push"
2043 msgid "Show repository size after push"
2047 msgstr "Afficher la taille du dépôt après un push"
2044 msgstr "Afficher la taille du dépôt après un push"
2048
2045
2049 #: rhodecode/templates/admin/settings/settings.html:152
2046 #: rhodecode/templates/admin/settings/settings.html:152
2050 msgid "Log user push commands"
2047 msgid "Log user push commands"
2051 msgstr "Journaliser les commandes de push"
2048 msgstr "Journaliser les commandes de push"
2052
2049
2053 #: rhodecode/templates/admin/settings/settings.html:156
2050 #: rhodecode/templates/admin/settings/settings.html:156
2054 msgid "Log user pull commands"
2051 msgid "Log user pull commands"
2055 msgstr "Journaliser les commandes de pull"
2052 msgstr "Journaliser les commandes de pull"
2056
2053
2057 #: rhodecode/templates/admin/settings/settings.html:160
2054 #: rhodecode/templates/admin/settings/settings.html:160
2058 msgid "advanced setup"
2055 msgid "advanced setup"
2059 msgstr "Avancé"
2056 msgstr "Avancé"
2060
2057
2061 #: rhodecode/templates/admin/settings/settings.html:165
2058 #: rhodecode/templates/admin/settings/settings.html:165
2062 msgid "Repositories location"
2059 msgid "Repositories location"
2063 msgstr "Emplacement des dépôts"
2060 msgstr "Emplacement des dépôts"
2064
2061
2065 #: rhodecode/templates/admin/settings/settings.html:170
2062 #: rhodecode/templates/admin/settings/settings.html:170
2066 msgid ""
2063 msgid ""
2067 "This a crucial application setting. If you are really sure you need to "
2064 "This a crucial application setting. If you are really sure you need to "
2068 "change this, you must restart application in order to make this setting "
2065 "change this, you must restart application in order to make this setting "
2069 "take effect. Click this label to unlock."
2066 "take effect. Click this label to unlock."
2070 msgstr ""
2067 msgstr ""
2071 "Ce réglage ne devrait pas être modifié en temps normal. Si vous devez "
2068 "Ce réglage ne devrait pas être modifié en temps normal. Si vous devez "
2072 "vraiment le faire, redémarrer l’application une fois le changement "
2069 "vraiment le faire, redémarrer l’application une fois le changement "
2073 "effectué. Cliquez sur ce texte pour déverrouiller."
2070 "effectué. Cliquez sur ce texte pour déverrouiller."
2074
2071
2075 #: rhodecode/templates/admin/settings/settings.html:171
2072 #: rhodecode/templates/admin/settings/settings.html:171
2076 msgid "unlock"
2073 msgid "unlock"
2077 msgstr "Déverrouiller"
2074 msgstr "Déverrouiller"
2078
2075
2079 #: rhodecode/templates/admin/settings/settings.html:191
2076 #: rhodecode/templates/admin/settings/settings.html:191
2080 msgid "Test Email"
2077 msgid "Test Email"
2081 msgstr "E-mail de test"
2078 msgstr "E-mail de test"
2082
2079
2083 #: rhodecode/templates/admin/settings/settings.html:199
2080 #: rhodecode/templates/admin/settings/settings.html:199
2084 msgid "Email to"
2081 msgid "Email to"
2085 msgstr "Envoyer l’e-mail à"
2082 msgstr "Envoyer l’e-mail à"
2086
2083
2087 #: rhodecode/templates/admin/settings/settings.html:207
2084 #: rhodecode/templates/admin/settings/settings.html:207
2088 msgid "Send"
2085 msgid "Send"
2089 msgstr "Envoyer"
2086 msgstr "Envoyer"
2090
2087
2091 #: rhodecode/templates/admin/settings/settings.html:213
2088 #: rhodecode/templates/admin/settings/settings.html:213
2092 msgid "System Info and Packages"
2089 msgid "System Info and Packages"
2093 msgstr "Information système et paquets"
2090 msgstr "Information système et paquets"
2094
2091
2095 #: rhodecode/templates/admin/settings/settings.html:216
2092 #: rhodecode/templates/admin/settings/settings.html:216
2096 msgid "show"
2093 msgid "show"
2097 msgstr "Montrer"
2094 msgstr "Montrer"
2098
2095
2099 #: rhodecode/templates/admin/users/user_add.html:5
2096 #: rhodecode/templates/admin/users/user_add.html:5
2100 msgid "Add user"
2097 msgid "Add user"
2101 msgstr "Ajouter un utilisateur"
2098 msgstr "Ajouter un utilisateur"
2102
2099
2103 #: rhodecode/templates/admin/users/user_add.html:10
2100 #: rhodecode/templates/admin/users/user_add.html:10
2104 #: rhodecode/templates/admin/users/user_edit.html:11
2101 #: rhodecode/templates/admin/users/user_edit.html:11
2105 #: rhodecode/templates/admin/users/users.html:9
2102 #: rhodecode/templates/admin/users/users.html:9
2106 msgid "Users"
2103 msgid "Users"
2107 msgstr "Utilisateurs"
2104 msgstr "Utilisateurs"
2108
2105
2109 #: rhodecode/templates/admin/users/user_add.html:12
2106 #: rhodecode/templates/admin/users/user_add.html:12
2110 msgid "add new user"
2107 msgid "add new user"
2111 msgstr "nouvel utilisateur"
2108 msgstr "nouvel utilisateur"
2112
2109
2113 #: rhodecode/templates/admin/users/user_add.html:50
2110 #: rhodecode/templates/admin/users/user_add.html:50
2114 msgid "Password confirmation"
2111 msgid "Password confirmation"
2115 msgstr "Confirmation"
2112 msgstr "Confirmation"
2116
2113
2117 #: rhodecode/templates/admin/users/user_add.html:86
2114 #: rhodecode/templates/admin/users/user_add.html:86
2118 #: rhodecode/templates/admin/users/user_edit.html:113
2115 #: rhodecode/templates/admin/users/user_edit.html:113
2119 #: rhodecode/templates/admin/users_groups/users_group_add.html:41
2116 #: rhodecode/templates/admin/users_groups/users_group_add.html:41
2120 #: rhodecode/templates/admin/users_groups/users_group_edit.html:42
2117 #: rhodecode/templates/admin/users_groups/users_group_edit.html:42
2121 msgid "Active"
2118 msgid "Active"
2122 msgstr "Actif"
2119 msgstr "Actif"
2123
2120
2124 #: rhodecode/templates/admin/users/user_edit.html:5
2121 #: rhodecode/templates/admin/users/user_edit.html:5
2125 msgid "Edit user"
2122 msgid "Edit user"
2126 msgstr "Éditer l'utilisateur"
2123 msgstr "Éditer l'utilisateur"
2127
2124
2128 #: rhodecode/templates/admin/users/user_edit.html:34
2125 #: rhodecode/templates/admin/users/user_edit.html:34
2129 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:10
2126 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:10
2130 msgid "Change your avatar at"
2127 msgid "Change your avatar at"
2131 msgstr "Vous pouvez changer votre avatar sur"
2128 msgstr "Vous pouvez changer votre avatar sur"
2132
2129
2133 #: rhodecode/templates/admin/users/user_edit.html:35
2130 #: rhodecode/templates/admin/users/user_edit.html:35
2134 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:11
2131 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:11
2135 msgid "Using"
2132 msgid "Using"
2136 msgstr "en utilisant l’adresse"
2133 msgstr "en utilisant l’adresse"
2137
2134
2138 #: rhodecode/templates/admin/users/user_edit.html:43
2135 #: rhodecode/templates/admin/users/user_edit.html:43
2139 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2136 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2140 msgid "API key"
2137 msgid "API key"
2141 msgstr "Clé d’API"
2138 msgstr "Clé d’API"
2142
2139
2143 #: rhodecode/templates/admin/users/user_edit.html:59
2140 #: rhodecode/templates/admin/users/user_edit.html:59
2144 msgid "LDAP DN"
2141 msgid "LDAP DN"
2145 msgstr "DN LDAP"
2142 msgstr "DN LDAP"
2146
2143
2147 #: rhodecode/templates/admin/users/user_edit.html:68
2144 #: rhodecode/templates/admin/users/user_edit.html:68
2148 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
2145 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
2149 msgid "New password"
2146 msgid "New password"
2150 msgstr "Nouveau mot de passe"
2147 msgstr "Nouveau mot de passe"
2151
2148
2152 #: rhodecode/templates/admin/users/user_edit.html:77
2149 #: rhodecode/templates/admin/users/user_edit.html:77
2153 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2150 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2154 msgid "New password confirmation"
2151 msgid "New password confirmation"
2155 msgstr "Confirmation du nouveau mot de passe"
2152 msgstr "Confirmation du nouveau mot de passe"
2156
2153
2157 #: rhodecode/templates/admin/users/user_edit.html:147
2154 #: rhodecode/templates/admin/users/user_edit.html:147
2158 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2155 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2159 msgid "Create repositories"
2156 msgid "Create repositories"
2160 msgstr "Création de dépôts"
2157 msgstr "Création de dépôts"
2161
2158
2162 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2159 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2163 #: rhodecode/templates/base/base.html:124
2160 #: rhodecode/templates/base/base.html:124
2164 msgid "My account"
2161 msgid "My account"
2165 msgstr "Mon compte"
2162 msgstr "Mon compte"
2166
2163
2167 #: rhodecode/templates/admin/users/user_edit_my_account.html:9
2164 #: rhodecode/templates/admin/users/user_edit_my_account.html:9
2168 msgid "My Account"
2165 msgid "My Account"
2169 msgstr "Mon compte"
2166 msgstr "Mon compte"
2170
2167
2171 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2168 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2172 #: rhodecode/templates/journal/journal.html:32
2169 #: rhodecode/templates/journal/journal.html:32
2173 msgid "My repos"
2170 msgid "My repos"
2174 msgstr "Mes dépôts"
2171 msgstr "Mes dépôts"
2175
2172
2176 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2173 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2177 msgid "My permissions"
2174 msgid "My permissions"
2178 msgstr "Mes permissions"
2175 msgstr "Mes permissions"
2179
2176
2180 #: rhodecode/templates/admin/users/user_edit_my_account.html:37
2177 #: rhodecode/templates/admin/users/user_edit_my_account.html:37
2181 #: rhodecode/templates/journal/journal.html:37
2178 #: rhodecode/templates/journal/journal.html:37
2182 msgid "ADD"
2179 msgid "ADD"
2183 msgstr "AJOUTER"
2180 msgstr "AJOUTER"
2184
2181
2185 #: rhodecode/templates/admin/users/user_edit_my_account.html:50
2182 #: rhodecode/templates/admin/users/user_edit_my_account.html:50
2186 #: rhodecode/templates/bookmarks/bookmarks.html:40
2183 #: rhodecode/templates/bookmarks/bookmarks.html:40
2187 #: rhodecode/templates/bookmarks/bookmarks_data.html:9
2184 #: rhodecode/templates/bookmarks/bookmarks_data.html:9
2188 #: rhodecode/templates/branches/branches.html:40
2185 #: rhodecode/templates/branches/branches.html:40
2189 #: rhodecode/templates/journal/journal.html:51
2186 #: rhodecode/templates/journal/journal.html:51
2190 #: rhodecode/templates/tags/tags.html:40
2187 #: rhodecode/templates/tags/tags.html:40
2191 #: rhodecode/templates/tags/tags_data.html:9
2188 #: rhodecode/templates/tags/tags_data.html:9
2192 msgid "Revision"
2189 msgid "Revision"
2193 msgstr "Révision"
2190 msgstr "Révision"
2194
2191
2195 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
2192 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
2196 #: rhodecode/templates/journal/journal.html:72
2193 #: rhodecode/templates/journal/journal.html:72
2197 msgid "private"
2194 msgid "private"
2198 msgstr "privé"
2195 msgstr "privé"
2199
2196
2200 #: rhodecode/templates/admin/users/user_edit_my_account.html:81
2197 #: rhodecode/templates/admin/users/user_edit_my_account.html:81
2201 #: rhodecode/templates/journal/journal.html:85
2198 #: rhodecode/templates/journal/journal.html:85
2202 msgid "No repositories yet"
2199 msgid "No repositories yet"
2203 msgstr "Aucun dépôt pour le moment"
2200 msgstr "Aucun dépôt pour le moment"
2204
2201
2205 #: rhodecode/templates/admin/users/user_edit_my_account.html:83
2202 #: rhodecode/templates/admin/users/user_edit_my_account.html:83
2206 #: rhodecode/templates/journal/journal.html:87
2203 #: rhodecode/templates/journal/journal.html:87
2207 msgid "create one now"
2204 msgid "create one now"
2208 msgstr "En créer un maintenant"
2205 msgstr "En créer un maintenant"
2209
2206
2210 #: rhodecode/templates/admin/users/user_edit_my_account.html:100
2207 #: rhodecode/templates/admin/users/user_edit_my_account.html:100
2211 #: rhodecode/templates/admin/users/user_edit_my_account.html:201
2208 #: rhodecode/templates/admin/users/user_edit_my_account.html:201
2212 msgid "Permission"
2209 msgid "Permission"
2213 msgstr "Permission"
2210 msgstr "Permission"
2214
2211
2215 #: rhodecode/templates/admin/users/users.html:5
2212 #: rhodecode/templates/admin/users/users.html:5
2216 msgid "Users administration"
2213 msgid "Users administration"
2217 msgstr "Administration des utilisateurs"
2214 msgstr "Administration des utilisateurs"
2218
2215
2219 #: rhodecode/templates/admin/users/users.html:23
2216 #: rhodecode/templates/admin/users/users.html:23
2220 msgid "ADD NEW USER"
2217 msgid "ADD NEW USER"
2221 msgstr "NOUVEL UTILISATEUR"
2218 msgstr "NOUVEL UTILISATEUR"
2222
2219
2223 #: rhodecode/templates/admin/users/users.html:33
2220 #: rhodecode/templates/admin/users/users.html:33
2224 msgid "username"
2221 msgid "username"
2225 msgstr "Nom d’utilisateur"
2222 msgstr "Nom d’utilisateur"
2226
2223
2227 #: rhodecode/templates/admin/users/users.html:34
2224 #: rhodecode/templates/admin/users/users.html:34
2228 #: rhodecode/templates/branches/branches_data.html:6
2225 #: rhodecode/templates/branches/branches_data.html:6
2229 msgid "name"
2226 msgid "name"
2230 msgstr "Prénom"
2227 msgstr "Prénom"
2231
2228
2232 #: rhodecode/templates/admin/users/users.html:35
2229 #: rhodecode/templates/admin/users/users.html:35
2233 msgid "lastname"
2230 msgid "lastname"
2234 msgstr "Nom de famille"
2231 msgstr "Nom de famille"
2235
2232
2236 #: rhodecode/templates/admin/users/users.html:36
2233 #: rhodecode/templates/admin/users/users.html:36
2237 msgid "last login"
2234 msgid "last login"
2238 msgstr "Dernière connexion"
2235 msgstr "Dernière connexion"
2239
2236
2240 #: rhodecode/templates/admin/users/users.html:37
2237 #: rhodecode/templates/admin/users/users.html:37
2241 #: rhodecode/templates/admin/users_groups/users_groups.html:34
2238 #: rhodecode/templates/admin/users_groups/users_groups.html:34
2242 msgid "active"
2239 msgid "active"
2243 msgstr "Actif"
2240 msgstr "Actif"
2244
2241
2245 #: rhodecode/templates/admin/users/users.html:39
2242 #: rhodecode/templates/admin/users/users.html:39
2246 #: rhodecode/templates/base/base.html:223
2243 #: rhodecode/templates/base/base.html:223
2247 msgid "ldap"
2244 msgid "ldap"
2248 msgstr "LDAP"
2245 msgstr "LDAP"
2249
2246
2250 #: rhodecode/templates/admin/users/users.html:56
2247 #: rhodecode/templates/admin/users/users.html:56
2251 #, python-format
2248 #, python-format
2252 msgid "Confirm to delete this user: %s"
2249 msgid "Confirm to delete this user: %s"
2253 msgstr "Voulez-vous vraiment supprimer l’utilisateur « %s » ?"
2250 msgstr "Voulez-vous vraiment supprimer l’utilisateur « %s » ?"
2254
2251
2255 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2252 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2256 msgid "Add users group"
2253 msgid "Add users group"
2257 msgstr "Ajouter un groupe d’utilisateur"
2254 msgstr "Ajouter un groupe d’utilisateur"
2258
2255
2259 #: rhodecode/templates/admin/users_groups/users_group_add.html:10
2256 #: rhodecode/templates/admin/users_groups/users_group_add.html:10
2260 #: rhodecode/templates/admin/users_groups/users_groups.html:9
2257 #: rhodecode/templates/admin/users_groups/users_groups.html:9
2261 msgid "Users groups"
2258 msgid "Users groups"
2262 msgstr "Groupes d’utilisateurs"
2259 msgstr "Groupes d’utilisateurs"
2263
2260
2264 #: rhodecode/templates/admin/users_groups/users_group_add.html:12
2261 #: rhodecode/templates/admin/users_groups/users_group_add.html:12
2265 msgid "add new users group"
2262 msgid "add new users group"
2266 msgstr "Ajouter un nouveau groupe"
2263 msgstr "Ajouter un nouveau groupe"
2267
2264
2268 #: rhodecode/templates/admin/users_groups/users_group_edit.html:5
2265 #: rhodecode/templates/admin/users_groups/users_group_edit.html:5
2269 msgid "Edit users group"
2266 msgid "Edit users group"
2270 msgstr "Éditer le groupe d’utilisateurs"
2267 msgstr "Éditer le groupe d’utilisateurs"
2271
2268
2272 #: rhodecode/templates/admin/users_groups/users_group_edit.html:11
2269 #: rhodecode/templates/admin/users_groups/users_group_edit.html:11
2273 msgid "UsersGroups"
2270 msgid "UsersGroups"
2274 msgstr "UsersGroups"
2271 msgstr "UsersGroups"
2275
2272
2276 #: rhodecode/templates/admin/users_groups/users_group_edit.html:50
2273 #: rhodecode/templates/admin/users_groups/users_group_edit.html:50
2277 msgid "Members"
2274 msgid "Members"
2278 msgstr "Membres"
2275 msgstr "Membres"
2279
2276
2280 #: rhodecode/templates/admin/users_groups/users_group_edit.html:58
2277 #: rhodecode/templates/admin/users_groups/users_group_edit.html:58
2281 msgid "Choosen group members"
2278 msgid "Choosen group members"
2282 msgstr "Membres du groupe"
2279 msgstr "Membres du groupe"
2283
2280
2284 #: rhodecode/templates/admin/users_groups/users_group_edit.html:61
2281 #: rhodecode/templates/admin/users_groups/users_group_edit.html:61
2285 msgid "Remove all elements"
2282 msgid "Remove all elements"
2286 msgstr "Tout enlever"
2283 msgstr "Tout enlever"
2287
2284
2288 #: rhodecode/templates/admin/users_groups/users_group_edit.html:75
2285 #: rhodecode/templates/admin/users_groups/users_group_edit.html:75
2289 msgid "Available members"
2286 msgid "Available members"
2290 msgstr "Membres disponibles"
2287 msgstr "Membres disponibles"
2291
2288
2292 #: rhodecode/templates/admin/users_groups/users_group_edit.html:79
2289 #: rhodecode/templates/admin/users_groups/users_group_edit.html:79
2293 msgid "Add all elements"
2290 msgid "Add all elements"
2294 msgstr "Tout ajouter"
2291 msgstr "Tout ajouter"
2295
2292
2296 #: rhodecode/templates/admin/users_groups/users_group_edit.html:126
2293 #: rhodecode/templates/admin/users_groups/users_group_edit.html:126
2297 msgid "Group members"
2294 msgid "Group members"
2298 msgstr "Membres du groupe"
2295 msgstr "Membres du groupe"
2299
2296
2300 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2297 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2301 msgid "Users groups administration"
2298 msgid "Users groups administration"
2302 msgstr "Gestion des groupes d’utilisateurs"
2299 msgstr "Gestion des groupes d’utilisateurs"
2303
2300
2304 #: rhodecode/templates/admin/users_groups/users_groups.html:23
2301 #: rhodecode/templates/admin/users_groups/users_groups.html:23
2305 msgid "ADD NEW USER GROUP"
2302 msgid "ADD NEW USER GROUP"
2306 msgstr "AJOUTER UN NOUVEAU GROUPE"
2303 msgstr "AJOUTER UN NOUVEAU GROUPE"
2307
2304
2308 #: rhodecode/templates/admin/users_groups/users_groups.html:32
2305 #: rhodecode/templates/admin/users_groups/users_groups.html:32
2309 msgid "group name"
2306 msgid "group name"
2310 msgstr "Nom du groupe"
2307 msgstr "Nom du groupe"
2311
2308
2312 #: rhodecode/templates/admin/users_groups/users_groups.html:33
2309 #: rhodecode/templates/admin/users_groups/users_groups.html:33
2313 #: rhodecode/templates/base/root.html:46
2310 #: rhodecode/templates/base/root.html:46
2314 msgid "members"
2311 msgid "members"
2315 msgstr "Membres"
2312 msgstr "Membres"
2316
2313
2317 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2314 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2318 #, python-format
2315 #, python-format
2319 msgid "Confirm to delete this users group: %s"
2316 msgid "Confirm to delete this users group: %s"
2320 msgstr "Voulez-vous vraiment supprimer le groupe d‘utilisateurs « %s » ?"
2317 msgstr "Voulez-vous vraiment supprimer le groupe d‘utilisateurs « %s » ?"
2321
2318
2322 #: rhodecode/templates/base/base.html:41
2319 #: rhodecode/templates/base/base.html:41
2323 msgid "Submit a bug"
2320 msgid "Submit a bug"
2324 msgstr "Signaler un bogue"
2321 msgstr "Signaler un bogue"
2325
2322
2326 #: rhodecode/templates/base/base.html:77
2323 #: rhodecode/templates/base/base.html:77
2327 msgid "Login to your account"
2324 msgid "Login to your account"
2328 msgstr "Connexion à votre compte"
2325 msgstr "Connexion à votre compte"
2329
2326
2330 #: rhodecode/templates/base/base.html:100
2327 #: rhodecode/templates/base/base.html:100
2331 msgid "Forgot password ?"
2328 msgid "Forgot password ?"
2332 msgstr "Mot de passe oublié ?"
2329 msgstr "Mot de passe oublié ?"
2333
2330
2334 #: rhodecode/templates/base/base.html:107
2331 #: rhodecode/templates/base/base.html:107
2335 msgid "Log In"
2332 msgid "Log In"
2336 msgstr "Connexion"
2333 msgstr "Connexion"
2337
2334
2338 #: rhodecode/templates/base/base.html:118
2335 #: rhodecode/templates/base/base.html:118
2339 msgid "Inbox"
2336 msgid "Inbox"
2340 msgstr "Boîte de réception"
2337 msgstr "Boîte de réception"
2341
2338
2342 #: rhodecode/templates/base/base.html:122
2339 #: rhodecode/templates/base/base.html:122
2343 #: rhodecode/templates/base/base.html:289
2340 #: rhodecode/templates/base/base.html:289
2344 #: rhodecode/templates/base/base.html:291
2341 #: rhodecode/templates/base/base.html:291
2345 #: rhodecode/templates/base/base.html:293
2342 #: rhodecode/templates/base/base.html:293
2346 msgid "Home"
2343 msgid "Home"
2347 msgstr "Accueil"
2344 msgstr "Accueil"
2348
2345
2349 #: rhodecode/templates/base/base.html:123
2346 #: rhodecode/templates/base/base.html:123
2350 #: rhodecode/templates/base/base.html:298
2347 #: rhodecode/templates/base/base.html:298
2351 #: rhodecode/templates/base/base.html:300
2348 #: rhodecode/templates/base/base.html:300
2352 #: rhodecode/templates/base/base.html:302
2349 #: rhodecode/templates/base/base.html:302
2353 #: rhodecode/templates/journal/journal.html:4
2350 #: rhodecode/templates/journal/journal.html:4
2354 #: rhodecode/templates/journal/journal.html:17
2351 #: rhodecode/templates/journal/journal.html:17
2355 #: rhodecode/templates/journal/public_journal.html:4
2352 #: rhodecode/templates/journal/public_journal.html:4
2356 msgid "Journal"
2353 msgid "Journal"
2357 msgstr "Historique"
2354 msgstr "Historique"
2358
2355
2359 #: rhodecode/templates/base/base.html:125
2356 #: rhodecode/templates/base/base.html:125
2360 msgid "Log Out"
2357 msgid "Log Out"
2361 msgstr "Se déconnecter"
2358 msgstr "Se déconnecter"
2362
2359
2363 #: rhodecode/templates/base/base.html:144
2360 #: rhodecode/templates/base/base.html:144
2364 msgid "Switch repository"
2361 msgid "Switch repository"
2365 msgstr "Aller au dépôt"
2362 msgstr "Aller au dépôt"
2366
2363
2367 #: rhodecode/templates/base/base.html:146
2364 #: rhodecode/templates/base/base.html:146
2368 msgid "Products"
2365 msgid "Products"
2369 msgstr "Produits"
2366 msgstr "Produits"
2370
2367
2371 #: rhodecode/templates/base/base.html:152
2368 #: rhodecode/templates/base/base.html:152
2372 #: rhodecode/templates/base/base.html:182
2369 #: rhodecode/templates/base/base.html:182
2373 msgid "loading..."
2370 msgid "loading..."
2374 msgstr "Chargement…"
2371 msgstr "Chargement…"
2375
2372
2376 #: rhodecode/templates/base/base.html:158
2373 #: rhodecode/templates/base/base.html:158
2377 #: rhodecode/templates/base/base.html:160
2374 #: rhodecode/templates/base/base.html:160
2378 #: rhodecode/templates/base/base.html:162
2375 #: rhodecode/templates/base/base.html:162
2379 #: rhodecode/templates/data_table/_dt_elements.html:9
2376 #: rhodecode/templates/data_table/_dt_elements.html:9
2380 #: rhodecode/templates/data_table/_dt_elements.html:11
2377 #: rhodecode/templates/data_table/_dt_elements.html:11
2381 #: rhodecode/templates/data_table/_dt_elements.html:13
2378 #: rhodecode/templates/data_table/_dt_elements.html:13
2382 #: rhodecode/templates/summary/summary.html:4
2383 msgid "Summary"
2379 msgid "Summary"
2384 msgstr "Résumé"
2380 msgstr "Résumé"
2385
2381
2386 #: rhodecode/templates/base/base.html:166
2382 #: rhodecode/templates/base/base.html:166
2387 #: rhodecode/templates/base/base.html:168
2383 #: rhodecode/templates/base/base.html:168
2388 #: rhodecode/templates/base/base.html:170
2384 #: rhodecode/templates/base/base.html:170
2389 #: rhodecode/templates/changelog/changelog.html:6
2390 #: rhodecode/templates/changelog/changelog.html:15
2385 #: rhodecode/templates/changelog/changelog.html:15
2391 #: rhodecode/templates/data_table/_dt_elements.html:17
2386 #: rhodecode/templates/data_table/_dt_elements.html:17
2392 #: rhodecode/templates/data_table/_dt_elements.html:19
2387 #: rhodecode/templates/data_table/_dt_elements.html:19
2393 #: rhodecode/templates/data_table/_dt_elements.html:21
2388 #: rhodecode/templates/data_table/_dt_elements.html:21
2394 msgid "Changelog"
2389 msgid "Changelog"
2395 msgstr "Historique"
2390 msgstr "Historique"
2396
2391
2397 #: rhodecode/templates/base/base.html:175
2392 #: rhodecode/templates/base/base.html:175
2398 #: rhodecode/templates/base/base.html:177
2393 #: rhodecode/templates/base/base.html:177
2399 #: rhodecode/templates/base/base.html:179
2394 #: rhodecode/templates/base/base.html:179
2400 msgid "Switch to"
2395 msgid "Switch to"
2401 msgstr "Aller"
2396 msgstr "Aller"
2402
2397
2403 #: rhodecode/templates/base/base.html:186
2398 #: rhodecode/templates/base/base.html:186
2404 #: rhodecode/templates/base/base.html:188
2399 #: rhodecode/templates/base/base.html:188
2405 #: rhodecode/templates/base/base.html:190
2400 #: rhodecode/templates/base/base.html:190
2406 #: rhodecode/templates/data_table/_dt_elements.html:25
2401 #: rhodecode/templates/data_table/_dt_elements.html:25
2407 #: rhodecode/templates/data_table/_dt_elements.html:27
2402 #: rhodecode/templates/data_table/_dt_elements.html:27
2408 #: rhodecode/templates/data_table/_dt_elements.html:29
2403 #: rhodecode/templates/data_table/_dt_elements.html:29
2409 #: rhodecode/templates/files/files.html:4
2410 #: rhodecode/templates/files/files.html:40
2404 #: rhodecode/templates/files/files.html:40
2411 msgid "Files"
2405 msgid "Files"
2412 msgstr "Fichiers"
2406 msgstr "Fichiers"
2413
2407
2414 #: rhodecode/templates/base/base.html:195
2408 #: rhodecode/templates/base/base.html:195
2415 #: rhodecode/templates/base/base.html:199
2409 #: rhodecode/templates/base/base.html:199
2416 msgid "Options"
2410 msgid "Options"
2417 msgstr "Options"
2411 msgstr "Options"
2418
2412
2419 #: rhodecode/templates/base/base.html:204
2413 #: rhodecode/templates/base/base.html:204
2420 #: rhodecode/templates/base/base.html:206
2414 #: rhodecode/templates/base/base.html:206
2421 #: rhodecode/templates/base/base.html:224
2415 #: rhodecode/templates/base/base.html:224
2422 msgid "settings"
2416 msgid "settings"
2423 msgstr "Réglages"
2417 msgstr "Réglages"
2424
2418
2425 #: rhodecode/templates/base/base.html:209
2419 #: rhodecode/templates/base/base.html:209
2426 #: rhodecode/templates/data_table/_dt_elements.html:74
2420 #: rhodecode/templates/data_table/_dt_elements.html:74
2427 #: rhodecode/templates/forks/fork.html:13
2421 #: rhodecode/templates/forks/fork.html:13
2428 msgid "fork"
2422 msgid "fork"
2429 msgstr "Fork"
2423 msgstr "Fork"
2430
2424
2431 #: rhodecode/templates/base/base.html:210
2425 #: rhodecode/templates/base/base.html:210
2432 msgid "search"
2426 msgid "search"
2433 msgstr "Rechercher"
2427 msgstr "Rechercher"
2434
2428
2435 #: rhodecode/templates/base/base.html:217
2429 #: rhodecode/templates/base/base.html:217
2436 msgid "journal"
2430 msgid "journal"
2437 msgstr "Journal"
2431 msgstr "Journal"
2438
2432
2439 #: rhodecode/templates/base/base.html:219
2433 #: rhodecode/templates/base/base.html:219
2440 msgid "repositories groups"
2434 msgid "repositories groups"
2441 msgstr "Groupes de dépôts"
2435 msgstr "Groupes de dépôts"
2442
2436
2443 #: rhodecode/templates/base/base.html:220
2437 #: rhodecode/templates/base/base.html:220
2444 msgid "users"
2438 msgid "users"
2445 msgstr "Utilisateurs"
2439 msgstr "Utilisateurs"
2446
2440
2447 #: rhodecode/templates/base/base.html:221
2441 #: rhodecode/templates/base/base.html:221
2448 msgid "users groups"
2442 msgid "users groups"
2449 msgstr "Groupes d’utilisateurs"
2443 msgstr "Groupes d’utilisateurs"
2450
2444
2451 #: rhodecode/templates/base/base.html:222
2445 #: rhodecode/templates/base/base.html:222
2452 msgid "permissions"
2446 msgid "permissions"
2453 msgstr "Permissions"
2447 msgstr "Permissions"
2454
2448
2455 #: rhodecode/templates/base/base.html:235
2449 #: rhodecode/templates/base/base.html:235
2456 #: rhodecode/templates/base/base.html:237
2450 #: rhodecode/templates/base/base.html:237
2457 #: rhodecode/templates/followers/followers.html:5
2458 msgid "Followers"
2451 msgid "Followers"
2459 msgstr "Followers"
2452 msgstr "Followers"
2460
2453
2461 #: rhodecode/templates/base/base.html:243
2454 #: rhodecode/templates/base/base.html:243
2462 #: rhodecode/templates/base/base.html:245
2455 #: rhodecode/templates/base/base.html:245
2463 #: rhodecode/templates/forks/forks.html:5
2464 msgid "Forks"
2456 msgid "Forks"
2465 msgstr "Forks"
2457 msgstr "Forks"
2466
2458
2467 #: rhodecode/templates/base/base.html:316
2459 #: rhodecode/templates/base/base.html:316
2468 #: rhodecode/templates/base/base.html:318
2460 #: rhodecode/templates/base/base.html:318
2469 #: rhodecode/templates/base/base.html:320
2461 #: rhodecode/templates/base/base.html:320
2470 #: rhodecode/templates/search/search.html:4
2462 #: rhodecode/templates/search/search.html:4
2471 #: rhodecode/templates/search/search.html:24
2463 #: rhodecode/templates/search/search.html:24
2472 #: rhodecode/templates/search/search.html:46
2464 #: rhodecode/templates/search/search.html:46
2473 msgid "Search"
2465 msgid "Search"
2474 msgstr "Rechercher"
2466 msgstr "Rechercher"
2475
2467
2476 #: rhodecode/templates/base/root.html:42
2468 #: rhodecode/templates/base/root.html:42
2477 msgid "add another comment"
2469 msgid "add another comment"
2478 msgstr "Nouveau commentaire"
2470 msgstr "Nouveau commentaire"
2479
2471
2480 #: rhodecode/templates/base/root.html:43
2472 #: rhodecode/templates/base/root.html:43
2481 #: rhodecode/templates/journal/journal.html:111
2473 #: rhodecode/templates/journal/journal.html:111
2482 #: rhodecode/templates/summary/summary.html:52
2474 #: rhodecode/templates/summary/summary.html:52
2483 msgid "Stop following this repository"
2475 msgid "Stop following this repository"
2484 msgstr "Arrêter de suivre ce dépôt"
2476 msgstr "Arrêter de suivre ce dépôt"
2485
2477
2486 #: rhodecode/templates/base/root.html:44
2478 #: rhodecode/templates/base/root.html:44
2487 #: rhodecode/templates/summary/summary.html:56
2479 #: rhodecode/templates/summary/summary.html:56
2488 msgid "Start following this repository"
2480 msgid "Start following this repository"
2489 msgstr "Suivre ce dépôt"
2481 msgstr "Suivre ce dépôt"
2490
2482
2491 #: rhodecode/templates/base/root.html:45
2483 #: rhodecode/templates/base/root.html:45
2492 msgid "Group"
2484 msgid "Group"
2493 msgstr "Groupe"
2485 msgstr "Groupe"
2494
2486
2495 #: rhodecode/templates/bookmarks/bookmarks.html:5
2487 #: rhodecode/templates/bookmarks/bookmarks.html:5
2496 msgid "Bookmarks"
2488 #, python-format
2497 msgstr "Signets"
2489 msgid "%s Bookmarks"
2490 msgstr "Signets de %s"
2498
2491
2499 #: rhodecode/templates/bookmarks/bookmarks.html:39
2492 #: rhodecode/templates/bookmarks/bookmarks.html:39
2500 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2493 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2501 #: rhodecode/templates/branches/branches.html:39
2494 #: rhodecode/templates/branches/branches.html:39
2502 #: rhodecode/templates/tags/tags.html:39
2495 #: rhodecode/templates/tags/tags.html:39
2503 #: rhodecode/templates/tags/tags_data.html:8
2496 #: rhodecode/templates/tags/tags_data.html:8
2504 msgid "Author"
2497 msgid "Author"
2505 msgstr "Auteur"
2498 msgstr "Auteur"
2506
2499
2500 #: rhodecode/templates/branches/branches.html:5
2501 #, python-format
2502 msgid "%s Branches"
2503 msgstr "Branches de %s"
2504
2507 #: rhodecode/templates/branches/branches_data.html:7
2505 #: rhodecode/templates/branches/branches_data.html:7
2508 msgid "date"
2506 msgid "date"
2509 msgstr "Date"
2507 msgstr "Date"
2510
2508
2511 #: rhodecode/templates/branches/branches_data.html:8
2509 #: rhodecode/templates/branches/branches_data.html:8
2512 #: rhodecode/templates/shortlog/shortlog_data.html:8
2510 #: rhodecode/templates/shortlog/shortlog_data.html:8
2513 msgid "author"
2511 msgid "author"
2514 msgstr "Auteur"
2512 msgstr "Auteur"
2515
2513
2516 #: rhodecode/templates/branches/branches_data.html:9
2514 #: rhodecode/templates/branches/branches_data.html:9
2517 #: rhodecode/templates/shortlog/shortlog_data.html:5
2515 #: rhodecode/templates/shortlog/shortlog_data.html:5
2518 msgid "revision"
2516 msgid "revision"
2519 msgstr "Révision"
2517 msgstr "Révision"
2520
2518
2519 #: rhodecode/templates/changelog/changelog.html:6
2520 #, python-format
2521 msgid "%s Changelog"
2522 msgstr "Historique de %s"
2523
2521 #: rhodecode/templates/changelog/changelog.html:15
2524 #: rhodecode/templates/changelog/changelog.html:15
2522 #, python-format
2525 #, python-format
2523 msgid "showing %d out of %d revision"
2526 msgid "showing %d out of %d revision"
2524 msgid_plural "showing %d out of %d revisions"
2527 msgid_plural "showing %d out of %d revisions"
2525 msgstr[0] "Affichage de %d révision sur %d"
2528 msgstr[0] "Affichage de %d révision sur %d"
2526 msgstr[1] "Affichage de %d révisions sur %d"
2529 msgstr[1] "Affichage de %d révisions sur %d"
2527
2530
2528 #: rhodecode/templates/changelog/changelog.html:38
2531 #: rhodecode/templates/changelog/changelog.html:38
2529 msgid "Show"
2532 msgid "Show"
2530 msgstr "Afficher"
2533 msgstr "Afficher"
2531
2534
2532 #: rhodecode/templates/changelog/changelog.html:64
2535 #: rhodecode/templates/changelog/changelog.html:64
2533 #: rhodecode/templates/summary/summary.html:352
2536 #: rhodecode/templates/summary/summary.html:352
2534 msgid "show more"
2537 msgid "show more"
2535 msgstr "montrer plus"
2538 msgstr "montrer plus"
2536
2539
2537 #: rhodecode/templates/changelog/changelog.html:68
2540 #: rhodecode/templates/changelog/changelog.html:68
2538 msgid "Affected number of files, click to show more details"
2541 msgid "Affected number of files, click to show more details"
2539 msgstr "Nombre de fichiers modifiés, cliquez pour plus de détails"
2542 msgstr "Nombre de fichiers modifiés, cliquez pour plus de détails"
2540
2543
2541 #: rhodecode/templates/changelog/changelog.html:82
2544 #: rhodecode/templates/changelog/changelog.html:82
2542 #: rhodecode/templates/changeset/changeset.html:72
2545 #: rhodecode/templates/changeset/changeset.html:72
2543 msgid "Parent"
2546 msgid "Parent"
2544 msgstr "Parent"
2547 msgstr "Parent"
2545
2548
2546 #: rhodecode/templates/changelog/changelog.html:88
2549 #: rhodecode/templates/changelog/changelog.html:88
2547 #: rhodecode/templates/changeset/changeset.html:78
2550 #: rhodecode/templates/changeset/changeset.html:78
2548 msgid "No parents"
2551 msgid "No parents"
2549 msgstr "Aucun parent"
2552 msgstr "Aucun parent"
2550
2553
2551 #: rhodecode/templates/changelog/changelog.html:93
2554 #: rhodecode/templates/changelog/changelog.html:93
2552 #: rhodecode/templates/changeset/changeset.html:82
2555 #: rhodecode/templates/changeset/changeset.html:82
2553 msgid "merge"
2556 msgid "merge"
2554 msgstr "Fusion"
2557 msgstr "Fusion"
2555
2558
2556 #: rhodecode/templates/changelog/changelog.html:96
2559 #: rhodecode/templates/changelog/changelog.html:96
2557 #: rhodecode/templates/changeset/changeset.html:85
2560 #: rhodecode/templates/changeset/changeset.html:85
2558 #: rhodecode/templates/files/files.html:29
2561 #: rhodecode/templates/files/files.html:29
2559 #: rhodecode/templates/files/files_add.html:33
2562 #: rhodecode/templates/files/files_add.html:33
2560 #: rhodecode/templates/files/files_edit.html:33
2563 #: rhodecode/templates/files/files_edit.html:33
2561 #: rhodecode/templates/shortlog/shortlog_data.html:9
2564 #: rhodecode/templates/shortlog/shortlog_data.html:9
2562 msgid "branch"
2565 msgid "branch"
2563 msgstr "Branche"
2566 msgstr "Branche"
2564
2567
2565 #: rhodecode/templates/changelog/changelog.html:102
2568 #: rhodecode/templates/changelog/changelog.html:102
2566 msgid "bookmark"
2569 msgid "bookmark"
2567 msgstr "Signet"
2570 msgstr "Signet"
2568
2571
2569 #: rhodecode/templates/changelog/changelog.html:108
2572 #: rhodecode/templates/changelog/changelog.html:108
2570 #: rhodecode/templates/changeset/changeset.html:90
2573 #: rhodecode/templates/changeset/changeset.html:90
2571 msgid "tag"
2574 msgid "tag"
2572 msgstr "Tag"
2575 msgstr "Tag"
2573
2576
2574 #: rhodecode/templates/changelog/changelog.html:144
2577 #: rhodecode/templates/changelog/changelog.html:144
2575 msgid "Show selected changes __S -> __E"
2578 msgid "Show selected changes __S -> __E"
2576 msgstr "Afficher les changements sélections de __S à __E"
2579 msgstr "Afficher les changements sélections de __S à __E"
2577
2580
2578 #: rhodecode/templates/changelog/changelog.html:235
2581 #: rhodecode/templates/changelog/changelog.html:235
2579 msgid "There are no changes yet"
2582 msgid "There are no changes yet"
2580 msgstr "Il n’y a aucun changement pour le moment"
2583 msgstr "Il n’y a aucun changement pour le moment"
2581
2584
2582 #: rhodecode/templates/changelog/changelog_details.html:2
2585 #: rhodecode/templates/changelog/changelog_details.html:2
2583 #: rhodecode/templates/changeset/changeset.html:60
2586 #: rhodecode/templates/changeset/changeset.html:60
2584 msgid "removed"
2587 msgid "removed"
2585 msgstr "Supprimés"
2588 msgstr "Supprimés"
2586
2589
2587 #: rhodecode/templates/changelog/changelog_details.html:3
2590 #: rhodecode/templates/changelog/changelog_details.html:3
2588 #: rhodecode/templates/changeset/changeset.html:61
2591 #: rhodecode/templates/changeset/changeset.html:61
2589 msgid "changed"
2592 msgid "changed"
2590 msgstr "Modifiés"
2593 msgstr "Modifiés"
2591
2594
2592 #: rhodecode/templates/changelog/changelog_details.html:4
2595 #: rhodecode/templates/changelog/changelog_details.html:4
2593 #: rhodecode/templates/changeset/changeset.html:62
2596 #: rhodecode/templates/changeset/changeset.html:62
2594 msgid "added"
2597 msgid "added"
2595 msgstr "Ajoutés"
2598 msgstr "Ajoutés"
2596
2599
2597 #: rhodecode/templates/changelog/changelog_details.html:6
2600 #: rhodecode/templates/changelog/changelog_details.html:6
2598 #: rhodecode/templates/changelog/changelog_details.html:7
2601 #: rhodecode/templates/changelog/changelog_details.html:7
2599 #: rhodecode/templates/changelog/changelog_details.html:8
2602 #: rhodecode/templates/changelog/changelog_details.html:8
2600 #: rhodecode/templates/changeset/changeset.html:64
2603 #: rhodecode/templates/changeset/changeset.html:64
2601 #: rhodecode/templates/changeset/changeset.html:65
2604 #: rhodecode/templates/changeset/changeset.html:65
2602 #: rhodecode/templates/changeset/changeset.html:66
2605 #: rhodecode/templates/changeset/changeset.html:66
2603 #, python-format
2606 #, python-format
2604 msgid "affected %s files"
2607 msgid "affected %s files"
2605 msgstr "%s fichiers affectés"
2608 msgstr "%s fichiers affectés"
2606
2609
2607 #: rhodecode/templates/changeset/changeset.html:6
2610 #: rhodecode/templates/changeset/changeset.html:6
2611 #, python-format
2612 msgid "%s Changeset"
2613 msgstr "Changeset de %s"
2614
2608 #: rhodecode/templates/changeset/changeset.html:14
2615 #: rhodecode/templates/changeset/changeset.html:14
2609 msgid "Changeset"
2616 msgid "Changeset"
2610 msgstr "Changements"
2617 msgstr "Changements"
2611
2618
2612 #: rhodecode/templates/changeset/changeset.html:37
2619 #: rhodecode/templates/changeset/changeset.html:37
2613 #: rhodecode/templates/changeset/diff_block.html:20
2620 #: rhodecode/templates/changeset/diff_block.html:20
2614 msgid "raw diff"
2621 msgid "raw diff"
2615 msgstr "Diff brut"
2622 msgstr "Diff brut"
2616
2623
2617 #: rhodecode/templates/changeset/changeset.html:38
2624 #: rhodecode/templates/changeset/changeset.html:38
2618 #: rhodecode/templates/changeset/diff_block.html:21
2625 #: rhodecode/templates/changeset/diff_block.html:21
2619 msgid "download diff"
2626 msgid "download diff"
2620 msgstr "Télécharger le diff"
2627 msgstr "Télécharger le diff"
2621
2628
2622 #: rhodecode/templates/changeset/changeset.html:42
2629 #: rhodecode/templates/changeset/changeset.html:42
2623 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2630 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2624 #, python-format
2631 #, python-format
2625 msgid "%d comment"
2632 msgid "%d comment"
2626 msgid_plural "%d comments"
2633 msgid_plural "%d comments"
2627 msgstr[0] "%d commentaire"
2634 msgstr[0] "%d commentaire"
2628 msgstr[1] "%d commentaires"
2635 msgstr[1] "%d commentaires"
2629
2636
2630 #: rhodecode/templates/changeset/changeset.html:42
2637 #: rhodecode/templates/changeset/changeset.html:42
2631 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2638 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2632 #, python-format
2639 #, python-format
2633 msgid "(%d inline)"
2640 msgid "(%d inline)"
2634 msgid_plural "(%d inline)"
2641 msgid_plural "(%d inline)"
2635 msgstr[0] "(et %d en ligne)"
2642 msgstr[0] "(et %d en ligne)"
2636 msgstr[1] "(et %d en ligne)"
2643 msgstr[1] "(et %d en ligne)"
2637
2644
2638 #: rhodecode/templates/changeset/changeset.html:97
2645 #: rhodecode/templates/changeset/changeset.html:97
2639 #, python-format
2646 #, python-format
2640 msgid "%s files affected with %s insertions and %s deletions:"
2647 msgid "%s files affected with %s insertions and %s deletions:"
2641 msgstr "%s fichiers affectés avec %s insertions et %s suppressions :"
2648 msgstr "%s fichiers affectés avec %s insertions et %s suppressions :"
2642
2649
2643 #: rhodecode/templates/changeset/changeset.html:113
2650 #: rhodecode/templates/changeset/changeset.html:113
2644 msgid "Changeset was too big and was cut off..."
2651 msgid "Changeset was too big and was cut off..."
2645 msgstr "Cet ensemble de changements était trop important et a été découpé…"
2652 msgstr "Cet ensemble de changements était trop important et a été découpé…"
2646
2653
2647 #: rhodecode/templates/changeset/changeset_file_comment.html:35
2654 #: rhodecode/templates/changeset/changeset_file_comment.html:35
2648 msgid "Submitting..."
2655 msgid "Submitting..."
2649 msgstr "Envoi…"
2656 msgstr "Envoi…"
2650
2657
2651 #: rhodecode/templates/changeset/changeset_file_comment.html:38
2658 #: rhodecode/templates/changeset/changeset_file_comment.html:38
2652 msgid "Commenting on line {1}."
2659 msgid "Commenting on line {1}."
2653 msgstr "Commentaire sur la ligne {1}."
2660 msgstr "Commentaire sur la ligne {1}."
2654
2661
2655 #: rhodecode/templates/changeset/changeset_file_comment.html:39
2662 #: rhodecode/templates/changeset/changeset_file_comment.html:39
2656 #: rhodecode/templates/changeset/changeset_file_comment.html:102
2663 #: rhodecode/templates/changeset/changeset_file_comment.html:102
2657 #, python-format
2664 #, python-format
2658 msgid "Comments parsed using %s syntax with %s support."
2665 msgid "Comments parsed using %s syntax with %s support."
2659 msgstr ""
2666 msgstr ""
2660 "Les commentaires sont analysés avec la syntaxe %s, avec le support de la "
2667 "Les commentaires sont analysés avec la syntaxe %s, avec le support de la "
2661 "commande %s."
2668 "commande %s."
2662
2669
2663 #: rhodecode/templates/changeset/changeset_file_comment.html:41
2670 #: rhodecode/templates/changeset/changeset_file_comment.html:41
2664 #: rhodecode/templates/changeset/changeset_file_comment.html:104
2671 #: rhodecode/templates/changeset/changeset_file_comment.html:104
2665 msgid "Use @username inside this text to send notification to this RhodeCode user"
2672 msgid "Use @username inside this text to send notification to this RhodeCode user"
2666 msgstr ""
2673 msgstr ""
2667 "Utilisez @nomutilisateur dans ce texte pour envoyer une notification à "
2674 "Utilisez @nomutilisateur dans ce texte pour envoyer une notification à "
2668 "l’utilisateur RhodeCode en question."
2675 "l’utilisateur RhodeCode en question."
2669
2676
2670 #: rhodecode/templates/changeset/changeset_file_comment.html:49
2677 #: rhodecode/templates/changeset/changeset_file_comment.html:49
2671 #: rhodecode/templates/changeset/changeset_file_comment.html:110
2678 #: rhodecode/templates/changeset/changeset_file_comment.html:110
2672 msgid "Comment"
2679 msgid "Comment"
2673 msgstr "Commentaire"
2680 msgstr "Commentaire"
2674
2681
2675 #: rhodecode/templates/changeset/changeset_file_comment.html:50
2682 #: rhodecode/templates/changeset/changeset_file_comment.html:50
2676 #: rhodecode/templates/changeset/changeset_file_comment.html:61
2683 #: rhodecode/templates/changeset/changeset_file_comment.html:61
2677 msgid "Hide"
2684 msgid "Hide"
2678 msgstr "Masquer"
2685 msgstr "Masquer"
2679
2686
2680 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2687 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2681 msgid "You need to be logged in to comment."
2688 msgid "You need to be logged in to comment."
2682 msgstr "Vous devez être connecté pour poster des commentaires."
2689 msgstr "Vous devez être connecté pour poster des commentaires."
2683
2690
2684 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2691 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2685 msgid "Login now"
2692 msgid "Login now"
2686 msgstr "Se connecter maintenant"
2693 msgstr "Se connecter maintenant"
2687
2694
2688 #: rhodecode/templates/changeset/changeset_file_comment.html:99
2695 #: rhodecode/templates/changeset/changeset_file_comment.html:99
2689 msgid "Leave a comment"
2696 msgid "Leave a comment"
2690 msgstr "Laisser un commentaire"
2697 msgstr "Laisser un commentaire"
2691
2698
2699 #: rhodecode/templates/changeset/changeset_range.html:5
2700 #, python-format
2701 msgid "%s Changesets"
2702 msgstr "Changesets de %s"
2703
2692 #: rhodecode/templates/changeset/changeset_range.html:29
2704 #: rhodecode/templates/changeset/changeset_range.html:29
2693 msgid "Compare View"
2705 msgid "Compare View"
2694 msgstr "Comparaison"
2706 msgstr "Comparaison"
2695
2707
2696 #: rhodecode/templates/changeset/changeset_range.html:49
2708 #: rhodecode/templates/changeset/changeset_range.html:49
2697 msgid "Files affected"
2709 msgid "Files affected"
2698 msgstr "Fichiers affectés"
2710 msgstr "Fichiers affectés"
2699
2711
2700 #: rhodecode/templates/changeset/diff_block.html:19
2712 #: rhodecode/templates/changeset/diff_block.html:19
2701 msgid "diff"
2713 msgid "diff"
2702 msgstr "Diff"
2714 msgstr "Diff"
2703
2715
2704 #: rhodecode/templates/changeset/diff_block.html:27
2716 #: rhodecode/templates/changeset/diff_block.html:27
2705 msgid "show inline comments"
2717 msgid "show inline comments"
2706 msgstr "Afficher les commentaires"
2718 msgstr "Afficher les commentaires"
2707
2719
2708 #: rhodecode/templates/data_table/_dt_elements.html:33
2720 #: rhodecode/templates/data_table/_dt_elements.html:33
2709 #: rhodecode/templates/data_table/_dt_elements.html:35
2721 #: rhodecode/templates/data_table/_dt_elements.html:35
2710 #: rhodecode/templates/data_table/_dt_elements.html:37
2722 #: rhodecode/templates/data_table/_dt_elements.html:37
2711 #: rhodecode/templates/forks/fork.html:5
2712 msgid "Fork"
2723 msgid "Fork"
2713 msgstr "Fork"
2724 msgstr "Fork"
2714
2725
2715 #: rhodecode/templates/data_table/_dt_elements.html:54
2726 #: rhodecode/templates/data_table/_dt_elements.html:54
2716 #: rhodecode/templates/journal/journal.html:117
2727 #: rhodecode/templates/journal/journal.html:117
2717 #: rhodecode/templates/summary/summary.html:63
2728 #: rhodecode/templates/summary/summary.html:63
2718 msgid "Mercurial repository"
2729 msgid "Mercurial repository"
2719 msgstr "Dépôt Mercurial"
2730 msgstr "Dépôt Mercurial"
2720
2731
2721 #: rhodecode/templates/data_table/_dt_elements.html:56
2732 #: rhodecode/templates/data_table/_dt_elements.html:56
2722 #: rhodecode/templates/journal/journal.html:119
2733 #: rhodecode/templates/journal/journal.html:119
2723 #: rhodecode/templates/summary/summary.html:66
2734 #: rhodecode/templates/summary/summary.html:66
2724 msgid "Git repository"
2735 msgid "Git repository"
2725 msgstr "Dépôt Git"
2736 msgstr "Dépôt Git"
2726
2737
2727 #: rhodecode/templates/data_table/_dt_elements.html:63
2738 #: rhodecode/templates/data_table/_dt_elements.html:63
2728 #: rhodecode/templates/journal/journal.html:125
2739 #: rhodecode/templates/journal/journal.html:125
2729 #: rhodecode/templates/summary/summary.html:73
2740 #: rhodecode/templates/summary/summary.html:73
2730 msgid "public repository"
2741 msgid "public repository"
2731 msgstr "Dépôt public"
2742 msgstr "Dépôt public"
2732
2743
2733 #: rhodecode/templates/data_table/_dt_elements.html:74
2744 #: rhodecode/templates/data_table/_dt_elements.html:74
2734 #: rhodecode/templates/summary/summary.html:82
2745 #: rhodecode/templates/summary/summary.html:82
2735 #: rhodecode/templates/summary/summary.html:83
2746 #: rhodecode/templates/summary/summary.html:83
2736 msgid "Fork of"
2747 msgid "Fork of"
2737 msgstr "Fork de"
2748 msgstr "Fork de"
2738
2749
2739 #: rhodecode/templates/data_table/_dt_elements.html:86
2750 #: rhodecode/templates/data_table/_dt_elements.html:86
2740 msgid "No changesets yet"
2751 msgid "No changesets yet"
2741 msgstr "Dépôt vide"
2752 msgstr "Dépôt vide"
2742
2753
2743 #: rhodecode/templates/email_templates/main.html:8
2754 #: rhodecode/templates/email_templates/main.html:8
2744 msgid "This is an notification from RhodeCode."
2755 msgid "This is an notification from RhodeCode."
2745 msgstr "Ceci est une notification de RhodeCode."
2756 msgstr "Ceci est une notification de RhodeCode."
2746
2757
2747 #: rhodecode/templates/errors/error_document.html:44
2758 #: rhodecode/templates/errors/error_document.html:44
2748 #, python-format
2759 #, python-format
2749 msgid "You will be redirected to %s in %s seconds"
2760 msgid "You will be redirected to %s in %s seconds"
2750 msgstr "Vous serez redirigé vers %s dans %s secondes."
2761 msgstr "Vous serez redirigé vers %s dans %s secondes."
2751
2762
2752 #: rhodecode/templates/files/file_diff.html:4
2763 #: rhodecode/templates/files/file_diff.html:4
2764 #, python-format
2765 msgid "%s File diff"
2766 msgstr "Diff de fichier de %s"
2767
2753 #: rhodecode/templates/files/file_diff.html:12
2768 #: rhodecode/templates/files/file_diff.html:12
2754 msgid "File diff"
2769 msgid "File diff"
2755 msgstr "Diff de fichier"
2770 msgstr "Diff de fichier"
2756
2771
2772 #: rhodecode/templates/files/files.html:4
2773 #, python-format
2774 msgid "%s Files"
2775 msgstr "Fichiers de %s"
2776
2757 #: rhodecode/templates/files/files.html:12
2777 #: rhodecode/templates/files/files.html:12
2758 #: rhodecode/templates/summary/summary.html:328
2778 #: rhodecode/templates/summary/summary.html:328
2759 msgid "files"
2779 msgid "files"
2760 msgstr "Fichiers"
2780 msgstr "Fichiers"
2761
2781
2762 #: rhodecode/templates/files/files.html:44
2782 #: rhodecode/templates/files/files.html:44
2763 msgid "search truncated"
2783 msgid "search truncated"
2764 msgstr "Résultats tronqués"
2784 msgstr "Résultats tronqués"
2765
2785
2766 #: rhodecode/templates/files/files.html:45
2786 #: rhodecode/templates/files/files.html:45
2767 msgid "no matching files"
2787 msgid "no matching files"
2768 msgstr "Aucun fichier ne correspond"
2788 msgstr "Aucun fichier ne correspond"
2769
2789
2770 #: rhodecode/templates/files/files_add.html:4
2790 #: rhodecode/templates/files/files_add.html:4
2771 #: rhodecode/templates/files/files_edit.html:4
2791 #: rhodecode/templates/files/files_edit.html:4
2772 msgid "Edit file"
2792 #, python-format
2773 msgstr "Éditer un fichier"
2793 msgid "%s Edit file"
2794 msgstr "Edition de fichier de %s"
2774
2795
2775 #: rhodecode/templates/files/files_add.html:19
2796 #: rhodecode/templates/files/files_add.html:19
2776 msgid "add file"
2797 msgid "add file"
2777 msgstr "Ajouter un fichier"
2798 msgstr "Ajouter un fichier"
2778
2799
2779 #: rhodecode/templates/files/files_add.html:40
2800 #: rhodecode/templates/files/files_add.html:40
2780 msgid "Add new file"
2801 msgid "Add new file"
2781 msgstr "Ajouter un nouveau fichier"
2802 msgstr "Ajouter un nouveau fichier"
2782
2803
2783 #: rhodecode/templates/files/files_add.html:45
2804 #: rhodecode/templates/files/files_add.html:45
2784 msgid "File Name"
2805 msgid "File Name"
2785 msgstr "Nom de fichier"
2806 msgstr "Nom de fichier"
2786
2807
2787 #: rhodecode/templates/files/files_add.html:49
2808 #: rhodecode/templates/files/files_add.html:49
2788 #: rhodecode/templates/files/files_add.html:58
2809 #: rhodecode/templates/files/files_add.html:58
2789 msgid "or"
2810 msgid "or"
2790 msgstr "ou"
2811 msgstr "ou"
2791
2812
2792 #: rhodecode/templates/files/files_add.html:49
2813 #: rhodecode/templates/files/files_add.html:49
2793 #: rhodecode/templates/files/files_add.html:54
2814 #: rhodecode/templates/files/files_add.html:54
2794 msgid "Upload file"
2815 msgid "Upload file"
2795 msgstr "Téléverser un fichier"
2816 msgstr "Téléverser un fichier"
2796
2817
2797 #: rhodecode/templates/files/files_add.html:58
2818 #: rhodecode/templates/files/files_add.html:58
2798 msgid "Create new file"
2819 msgid "Create new file"
2799 msgstr "Créer un nouveau fichier"
2820 msgstr "Créer un nouveau fichier"
2800
2821
2801 #: rhodecode/templates/files/files_add.html:63
2822 #: rhodecode/templates/files/files_add.html:63
2802 #: rhodecode/templates/files/files_edit.html:39
2823 #: rhodecode/templates/files/files_edit.html:39
2803 #: rhodecode/templates/files/files_ypjax.html:3
2824 #: rhodecode/templates/files/files_ypjax.html:3
2804 msgid "Location"
2825 msgid "Location"
2805 msgstr "Emplacement"
2826 msgstr "Emplacement"
2806
2827
2807 #: rhodecode/templates/files/files_add.html:67
2828 #: rhodecode/templates/files/files_add.html:67
2808 msgid "use / to separate directories"
2829 msgid "use / to separate directories"
2809 msgstr "Utilisez / pour séparer les répertoires"
2830 msgstr "Utilisez / pour séparer les répertoires"
2810
2831
2811 #: rhodecode/templates/files/files_add.html:77
2832 #: rhodecode/templates/files/files_add.html:77
2812 #: rhodecode/templates/files/files_edit.html:63
2833 #: rhodecode/templates/files/files_edit.html:63
2813 #: rhodecode/templates/shortlog/shortlog_data.html:6
2834 #: rhodecode/templates/shortlog/shortlog_data.html:6
2814 msgid "commit message"
2835 msgid "commit message"
2815 msgstr "Message de commit"
2836 msgstr "Message de commit"
2816
2837
2817 #: rhodecode/templates/files/files_add.html:81
2838 #: rhodecode/templates/files/files_add.html:81
2818 #: rhodecode/templates/files/files_edit.html:67
2839 #: rhodecode/templates/files/files_edit.html:67
2819 msgid "Commit changes"
2840 msgid "Commit changes"
2820 msgstr "Commiter les changements"
2841 msgstr "Commiter les changements"
2821
2842
2822 #: rhodecode/templates/files/files_browser.html:13
2843 #: rhodecode/templates/files/files_browser.html:13
2823 msgid "view"
2844 msgid "view"
2824 msgstr "voir"
2845 msgstr "voir"
2825
2846
2826 #: rhodecode/templates/files/files_browser.html:14
2847 #: rhodecode/templates/files/files_browser.html:14
2827 msgid "previous revision"
2848 msgid "previous revision"
2828 msgstr "révision précédente"
2849 msgstr "révision précédente"
2829
2850
2830 #: rhodecode/templates/files/files_browser.html:16
2851 #: rhodecode/templates/files/files_browser.html:16
2831 msgid "next revision"
2852 msgid "next revision"
2832 msgstr "révision suivante"
2853 msgstr "révision suivante"
2833
2854
2834 #: rhodecode/templates/files/files_browser.html:23
2855 #: rhodecode/templates/files/files_browser.html:23
2835 msgid "follow current branch"
2856 msgid "follow current branch"
2836 msgstr "Suivre la branche actuelle"
2857 msgstr "Suivre la branche actuelle"
2837
2858
2838 #: rhodecode/templates/files/files_browser.html:27
2859 #: rhodecode/templates/files/files_browser.html:27
2839 msgid "search file list"
2860 msgid "search file list"
2840 msgstr "Rechercher un fichier"
2861 msgstr "Rechercher un fichier"
2841
2862
2842 #: rhodecode/templates/files/files_browser.html:31
2863 #: rhodecode/templates/files/files_browser.html:31
2843 #: rhodecode/templates/shortlog/shortlog_data.html:65
2864 #: rhodecode/templates/shortlog/shortlog_data.html:65
2844 msgid "add new file"
2865 msgid "add new file"
2845 msgstr "Ajouter un fichier"
2866 msgstr "Ajouter un fichier"
2846
2867
2847 #: rhodecode/templates/files/files_browser.html:35
2868 #: rhodecode/templates/files/files_browser.html:35
2848 msgid "Loading file list..."
2869 msgid "Loading file list..."
2849 msgstr "Chargement de la liste des fichiers…"
2870 msgstr "Chargement de la liste des fichiers…"
2850
2871
2851 #: rhodecode/templates/files/files_browser.html:48
2872 #: rhodecode/templates/files/files_browser.html:48
2852 msgid "Size"
2873 msgid "Size"
2853 msgstr "Taille"
2874 msgstr "Taille"
2854
2875
2855 #: rhodecode/templates/files/files_browser.html:49
2876 #: rhodecode/templates/files/files_browser.html:49
2856 msgid "Mimetype"
2877 msgid "Mimetype"
2857 msgstr "Type MIME"
2878 msgstr "Type MIME"
2858
2879
2859 #: rhodecode/templates/files/files_browser.html:50
2880 #: rhodecode/templates/files/files_browser.html:50
2860 msgid "Last Revision"
2881 msgid "Last Revision"
2861 msgstr "Dernière révision"
2882 msgstr "Dernière révision"
2862
2883
2863 #: rhodecode/templates/files/files_browser.html:51
2884 #: rhodecode/templates/files/files_browser.html:51
2864 msgid "Last modified"
2885 msgid "Last modified"
2865 msgstr "Dernière modification"
2886 msgstr "Dernière modification"
2866
2887
2867 #: rhodecode/templates/files/files_browser.html:52
2888 #: rhodecode/templates/files/files_browser.html:52
2868 msgid "Last commiter"
2889 msgid "Last commiter"
2869 msgstr "Dernier commiteur"
2890 msgstr "Dernier commiteur"
2870
2891
2871 #: rhodecode/templates/files/files_edit.html:19
2892 #: rhodecode/templates/files/files_edit.html:19
2872 msgid "edit file"
2893 msgid "edit file"
2873 msgstr "Éditer le fichier"
2894 msgstr "Éditer le fichier"
2874
2895
2875 #: rhodecode/templates/files/files_edit.html:49
2896 #: rhodecode/templates/files/files_edit.html:49
2876 #: rhodecode/templates/files/files_source.html:26
2897 #: rhodecode/templates/files/files_source.html:26
2877 msgid "show annotation"
2898 msgid "show annotation"
2878 msgstr "Afficher les annotations"
2899 msgstr "Afficher les annotations"
2879
2900
2880 #: rhodecode/templates/files/files_edit.html:50
2901 #: rhodecode/templates/files/files_edit.html:50
2881 #: rhodecode/templates/files/files_source.html:28
2902 #: rhodecode/templates/files/files_source.html:28
2882 #: rhodecode/templates/files/files_source.html:56
2903 #: rhodecode/templates/files/files_source.html:56
2883 msgid "show as raw"
2904 msgid "show as raw"
2884 msgstr "montrer le fichier brut"
2905 msgstr "montrer le fichier brut"
2885
2906
2886 #: rhodecode/templates/files/files_edit.html:51
2907 #: rhodecode/templates/files/files_edit.html:51
2887 #: rhodecode/templates/files/files_source.html:29
2908 #: rhodecode/templates/files/files_source.html:29
2888 msgid "download as raw"
2909 msgid "download as raw"
2889 msgstr "télécharger le fichier brut"
2910 msgstr "télécharger le fichier brut"
2890
2911
2891 #: rhodecode/templates/files/files_edit.html:54
2912 #: rhodecode/templates/files/files_edit.html:54
2892 msgid "source"
2913 msgid "source"
2893 msgstr "Source"
2914 msgstr "Source"
2894
2915
2895 #: rhodecode/templates/files/files_edit.html:59
2916 #: rhodecode/templates/files/files_edit.html:59
2896 msgid "Editing file"
2917 msgid "Editing file"
2897 msgstr "Édition du fichier"
2918 msgstr "Édition du fichier"
2898
2919
2899 #: rhodecode/templates/files/files_source.html:2
2920 #: rhodecode/templates/files/files_source.html:2
2900 msgid "History"
2921 msgid "History"
2901 msgstr "Historique"
2922 msgstr "Historique"
2902
2923
2903 #: rhodecode/templates/files/files_source.html:24
2924 #: rhodecode/templates/files/files_source.html:24
2904 msgid "show source"
2925 msgid "show source"
2905 msgstr "montrer les sources"
2926 msgstr "montrer les sources"
2906
2927
2907 #: rhodecode/templates/files/files_source.html:47
2928 #: rhodecode/templates/files/files_source.html:47
2908 #, python-format
2929 #, python-format
2909 msgid "Binary file (%s)"
2930 msgid "Binary file (%s)"
2910 msgstr "Fichier binaire (%s)"
2931 msgstr "Fichier binaire (%s)"
2911
2932
2912 #: rhodecode/templates/files/files_source.html:56
2933 #: rhodecode/templates/files/files_source.html:56
2913 msgid "File is too big to display"
2934 msgid "File is too big to display"
2914 msgstr "Ce fichier est trop gros pour être affiché."
2935 msgstr "Ce fichier est trop gros pour être affiché."
2915
2936
2916 #: rhodecode/templates/files/files_source.html:112
2937 #: rhodecode/templates/files/files_source.html:112
2917 msgid "Selection link"
2938 msgid "Selection link"
2918 msgstr "Lien vers la sélection"
2939 msgstr "Lien vers la sélection"
2919
2940
2920 #: rhodecode/templates/files/files_ypjax.html:5
2941 #: rhodecode/templates/files/files_ypjax.html:5
2921 msgid "annotation"
2942 msgid "annotation"
2922 msgstr "annotation"
2943 msgstr "annotation"
2923
2944
2924 #: rhodecode/templates/files/files_ypjax.html:15
2945 #: rhodecode/templates/files/files_ypjax.html:15
2925 msgid "Go back"
2946 msgid "Go back"
2926 msgstr "Revenir en arrière"
2947 msgstr "Revenir en arrière"
2927
2948
2928 #: rhodecode/templates/files/files_ypjax.html:16
2949 #: rhodecode/templates/files/files_ypjax.html:16
2929 msgid "No files at given path"
2950 msgid "No files at given path"
2930 msgstr "Aucun fichier à cet endroit"
2951 msgstr "Aucun fichier à cet endroit"
2931
2952
2953 #: rhodecode/templates/followers/followers.html:5
2954 #, python-format
2955 msgid "%s Followers"
2956 msgstr "Followers de %s"
2957
2932 #: rhodecode/templates/followers/followers.html:13
2958 #: rhodecode/templates/followers/followers.html:13
2933 msgid "followers"
2959 msgid "followers"
2934 msgstr "followers"
2960 msgstr "followers"
2935
2961
2936 #: rhodecode/templates/followers/followers_data.html:12
2962 #: rhodecode/templates/followers/followers_data.html:12
2937 msgid "Started following"
2963 msgid "Started following -"
2938 msgstr "Date de début"
2964 msgstr "A commencé à suivre le dépôt :"
2965
2966 #: rhodecode/templates/forks/fork.html:5
2967 #, python-format
2968 msgid "%s Fork"
2969 msgstr "Fork de %s"
2939
2970
2940 #: rhodecode/templates/forks/fork.html:31
2971 #: rhodecode/templates/forks/fork.html:31
2941 msgid "Fork name"
2972 msgid "Fork name"
2942 msgstr "Nom du fork"
2973 msgstr "Nom du fork"
2943
2974
2944 #: rhodecode/templates/forks/fork.html:57
2975 #: rhodecode/templates/forks/fork.html:57
2945 msgid "Private"
2976 msgid "Private"
2946 msgstr "Privé"
2977 msgstr "Privé"
2947
2978
2948 #: rhodecode/templates/forks/fork.html:65
2979 #: rhodecode/templates/forks/fork.html:65
2949 msgid "Copy permissions"
2980 msgid "Copy permissions"
2950 msgstr "Copier les permissions"
2981 msgstr "Copier les permissions"
2951
2982
2952 #: rhodecode/templates/forks/fork.html:73
2983 #: rhodecode/templates/forks/fork.html:73
2953 msgid "Update after clone"
2984 msgid "Update after clone"
2954 msgstr "MÀJ après le clonage"
2985 msgstr "MÀJ après le clonage"
2955
2986
2956 #: rhodecode/templates/forks/fork.html:80
2987 #: rhodecode/templates/forks/fork.html:80
2957 msgid "fork this repository"
2988 msgid "fork this repository"
2958 msgstr "Forker ce dépôt"
2989 msgstr "Forker ce dépôt"
2959
2990
2991 #: rhodecode/templates/forks/forks.html:5
2992 #, python-format
2993 msgid "%s Forks"
2994 msgstr "Forks de %s"
2995
2960 #: rhodecode/templates/forks/forks.html:13
2996 #: rhodecode/templates/forks/forks.html:13
2961 msgid "forks"
2997 msgid "forks"
2962 msgstr "forks"
2998 msgstr "forks"
2963
2999
2964 #: rhodecode/templates/forks/forks_data.html:17
3000 #: rhodecode/templates/forks/forks_data.html:17
2965 msgid "forked"
3001 msgid "forked"
2966 msgstr "forké"
3002 msgstr "forké"
2967
3003
2968 #: rhodecode/templates/forks/forks_data.html:34
3004 #: rhodecode/templates/forks/forks_data.html:34
2969 msgid "There are no forks yet"
3005 msgid "There are no forks yet"
2970 msgstr "Il n’y a pas encore de forks."
3006 msgstr "Il n’y a pas encore de forks."
2971
3007
2972 #: rhodecode/templates/journal/journal.html:20
3008 #: rhodecode/templates/journal/journal.html:20
2973 msgid "Refresh"
3009 msgid "Refresh"
2974 msgstr "Rafraîchir"
3010 msgstr "Rafraîchir"
2975
3011
2976 #: rhodecode/templates/journal/journal.html:32
3012 #: rhodecode/templates/journal/journal.html:32
2977 msgid "Watched"
3013 msgid "Watched"
2978 msgstr "Surveillé"
3014 msgstr "Surveillé"
2979
3015
2980 #: rhodecode/templates/journal/journal.html:105
3016 #: rhodecode/templates/journal/journal.html:105
2981 msgid "following user"
3017 msgid "following user"
2982 msgstr "utilisateur suivant"
3018 msgstr "utilisateur suivant"
2983
3019
2984 #: rhodecode/templates/journal/journal.html:105
3020 #: rhodecode/templates/journal/journal.html:105
2985 msgid "user"
3021 msgid "user"
2986 msgstr "utilisateur"
3022 msgstr "utilisateur"
2987
3023
2988 #: rhodecode/templates/journal/journal.html:138
3024 #: rhodecode/templates/journal/journal.html:138
2989 msgid "You are not following any users or repositories"
3025 msgid "You are not following any users or repositories"
2990 msgstr "Vous ne suivez aucun utilisateur ou dépôt"
3026 msgstr "Vous ne suivez aucun utilisateur ou dépôt"
2991
3027
2992 #: rhodecode/templates/journal/journal_data.html:47
3028 #: rhodecode/templates/journal/journal_data.html:47
2993 msgid "No entries yet"
3029 msgid "No entries yet"
2994 msgstr "Aucune entrée pour le moment"
3030 msgstr "Aucune entrée pour le moment"
2995
3031
2996 #: rhodecode/templates/journal/public_journal.html:17
3032 #: rhodecode/templates/journal/public_journal.html:17
2997 msgid "Public Journal"
3033 msgid "Public Journal"
2998 msgstr "Journal public"
3034 msgstr "Journal public"
2999
3035
3000 #: rhodecode/templates/search/search.html:7
3036 #: rhodecode/templates/search/search.html:7
3001 #: rhodecode/templates/search/search.html:26
3037 #: rhodecode/templates/search/search.html:26
3002 msgid "in repository: "
3038 msgid "in repository: "
3003 msgstr "dans le dépôt :"
3039 msgstr "dans le dépôt :"
3004
3040
3005 #: rhodecode/templates/search/search.html:9
3041 #: rhodecode/templates/search/search.html:9
3006 #: rhodecode/templates/search/search.html:28
3042 #: rhodecode/templates/search/search.html:28
3007 msgid "in all repositories"
3043 msgid "in all repositories"
3008 msgstr "dans tous les dépôts"
3044 msgstr "dans tous les dépôts"
3009
3045
3010 #: rhodecode/templates/search/search.html:42
3046 #: rhodecode/templates/search/search.html:42
3011 msgid "Search term"
3047 msgid "Search term"
3012 msgstr "Termes de la recherches"
3048 msgstr "Termes de la recherches"
3013
3049
3014 #: rhodecode/templates/search/search.html:54
3050 #: rhodecode/templates/search/search.html:54
3015 msgid "Search in"
3051 msgid "Search in"
3016 msgstr "Rechercher dans"
3052 msgstr "Rechercher dans"
3017
3053
3018 #: rhodecode/templates/search/search.html:57
3054 #: rhodecode/templates/search/search.html:57
3019 msgid "File contents"
3055 msgid "File contents"
3020 msgstr "Le contenu des fichiers"
3056 msgstr "Le contenu des fichiers"
3021
3057
3022 #: rhodecode/templates/search/search.html:59
3058 #: rhodecode/templates/search/search.html:59
3023 msgid "File names"
3059 msgid "File names"
3024 msgstr "Les noms de fichiers"
3060 msgstr "Les noms de fichiers"
3025
3061
3026 #: rhodecode/templates/search/search_content.html:21
3062 #: rhodecode/templates/search/search_content.html:21
3027 #: rhodecode/templates/search/search_path.html:15
3063 #: rhodecode/templates/search/search_path.html:15
3028 msgid "Permission denied"
3064 msgid "Permission denied"
3029 msgstr "Permission refusée"
3065 msgstr "Permission refusée"
3030
3066
3067 #: rhodecode/templates/settings/repo_settings.html:5
3068 #, python-format
3069 msgid "%s Settings"
3070 msgstr "Réglages de %s"
3071
3031 #: rhodecode/templates/shortlog/shortlog.html:5
3072 #: rhodecode/templates/shortlog/shortlog.html:5
3032 #: rhodecode/templates/summary/summary.html:209
3073 #, python-format
3033 msgid "Shortlog"
3074 msgid "%s Shortlog"
3034 msgstr "Résumé des changements"
3075 msgstr "Résumé de %s"
3035
3076
3036 #: rhodecode/templates/shortlog/shortlog.html:14
3077 #: rhodecode/templates/shortlog/shortlog.html:14
3037 msgid "shortlog"
3078 msgid "shortlog"
3038 msgstr "Résumé"
3079 msgstr "Résumé"
3039
3080
3040 #: rhodecode/templates/shortlog/shortlog_data.html:7
3081 #: rhodecode/templates/shortlog/shortlog_data.html:7
3041 msgid "age"
3082 msgid "age"
3042 msgstr "Âge"
3083 msgstr "Âge"
3043
3084
3044 #: rhodecode/templates/shortlog/shortlog_data.html:18
3085 #: rhodecode/templates/shortlog/shortlog_data.html:18
3045 msgid "No commit message"
3086 msgid "No commit message"
3046 msgstr "Pas de message de commit"
3087 msgstr "Pas de message de commit"
3047
3088
3048 #: rhodecode/templates/shortlog/shortlog_data.html:62
3089 #: rhodecode/templates/shortlog/shortlog_data.html:62
3049 msgid "Add or upload files directly via RhodeCode"
3090 msgid "Add or upload files directly via RhodeCode"
3050 msgstr "Ajouter ou téléverser des fichiers directement via RhodeCode…"
3091 msgstr "Ajouter ou téléverser des fichiers directement via RhodeCode…"
3051
3092
3052 #: rhodecode/templates/shortlog/shortlog_data.html:71
3093 #: rhodecode/templates/shortlog/shortlog_data.html:71
3053 msgid "Push new repo"
3094 msgid "Push new repo"
3054 msgstr "Pusher le nouveau dépôt"
3095 msgstr "Pusher le nouveau dépôt"
3055
3096
3056 #: rhodecode/templates/shortlog/shortlog_data.html:79
3097 #: rhodecode/templates/shortlog/shortlog_data.html:79
3057 msgid "Existing repository?"
3098 msgid "Existing repository?"
3058 msgstr "Le dépôt existe déjà ?"
3099 msgstr "Le dépôt existe déjà ?"
3059
3100
3101 #: rhodecode/templates/summary/summary.html:4
3102 #, python-format
3103 msgid "%s Summary"
3104 msgstr "Résumé de %s"
3105
3060 #: rhodecode/templates/summary/summary.html:12
3106 #: rhodecode/templates/summary/summary.html:12
3061 msgid "summary"
3107 msgid "summary"
3062 msgstr "résumé"
3108 msgstr "résumé"
3063
3109
3064 #: rhodecode/templates/summary/summary.html:44
3110 #: rhodecode/templates/summary/summary.html:44
3065 #: rhodecode/templates/summary/summary.html:47
3111 #: rhodecode/templates/summary/summary.html:47
3066 msgid "ATOM"
3112 msgid "ATOM"
3067 msgstr "ATOM"
3113 msgstr "ATOM"
3068
3114
3069 #: rhodecode/templates/summary/summary.html:77
3115 #: rhodecode/templates/summary/summary.html:77
3070 #, python-format
3116 #, python-format
3071 msgid "Non changable ID %s"
3117 msgid "Non changable ID %s"
3072 msgstr "Identifiant permanent : %s"
3118 msgstr "Identifiant permanent : %s"
3073
3119
3074 #: rhodecode/templates/summary/summary.html:82
3120 #: rhodecode/templates/summary/summary.html:82
3075 msgid "public"
3121 msgid "public"
3076 msgstr "publique"
3122 msgstr "publique"
3077
3123
3078 #: rhodecode/templates/summary/summary.html:90
3124 #: rhodecode/templates/summary/summary.html:90
3079 msgid "remote clone"
3125 msgid "remote clone"
3080 msgstr "Clone distant"
3126 msgstr "Clone distant"
3081
3127
3082 #: rhodecode/templates/summary/summary.html:121
3128 #: rhodecode/templates/summary/summary.html:121
3083 msgid "Clone url"
3129 msgid "Clone url"
3084 msgstr "URL de clone"
3130 msgstr "URL de clone"
3085
3131
3086 #: rhodecode/templates/summary/summary.html:124
3132 #: rhodecode/templates/summary/summary.html:124
3087 msgid "Show by Name"
3133 msgid "Show by Name"
3088 msgstr "Afficher par nom"
3134 msgstr "Afficher par nom"
3089
3135
3090 #: rhodecode/templates/summary/summary.html:125
3136 #: rhodecode/templates/summary/summary.html:125
3091 msgid "Show by ID"
3137 msgid "Show by ID"
3092 msgstr "Afficher par ID"
3138 msgstr "Afficher par ID"
3093
3139
3094 #: rhodecode/templates/summary/summary.html:133
3140 #: rhodecode/templates/summary/summary.html:133
3095 msgid "Trending files"
3141 msgid "Trending files"
3096 msgstr "Populaires"
3142 msgstr "Populaires"
3097
3143
3098 #: rhodecode/templates/summary/summary.html:141
3144 #: rhodecode/templates/summary/summary.html:141
3099 #: rhodecode/templates/summary/summary.html:157
3145 #: rhodecode/templates/summary/summary.html:157
3100 #: rhodecode/templates/summary/summary.html:185
3146 #: rhodecode/templates/summary/summary.html:185
3101 msgid "enable"
3147 msgid "enable"
3102 msgstr "Activer"
3148 msgstr "Activer"
3103
3149
3104 #: rhodecode/templates/summary/summary.html:149
3150 #: rhodecode/templates/summary/summary.html:149
3105 msgid "Download"
3151 msgid "Download"
3106 msgstr "Téléchargements"
3152 msgstr "Téléchargements"
3107
3153
3108 #: rhodecode/templates/summary/summary.html:153
3154 #: rhodecode/templates/summary/summary.html:153
3109 msgid "There are no downloads yet"
3155 msgid "There are no downloads yet"
3110 msgstr "Il n’y a pas encore de téléchargements proposés."
3156 msgstr "Il n’y a pas encore de téléchargements proposés."
3111
3157
3112 #: rhodecode/templates/summary/summary.html:155
3158 #: rhodecode/templates/summary/summary.html:155
3113 msgid "Downloads are disabled for this repository"
3159 msgid "Downloads are disabled for this repository"
3114 msgstr "Les téléchargements sont désactivés pour ce dépôt."
3160 msgstr "Les téléchargements sont désactivés pour ce dépôt."
3115
3161
3162 #: rhodecode/templates/summary/summary.html:161
3163 msgid "Download as zip"
3164 msgstr "Télécharger en ZIP"
3165
3116 #: rhodecode/templates/summary/summary.html:164
3166 #: rhodecode/templates/summary/summary.html:164
3117 msgid "Check this to download archive with subrepos"
3167 msgid "Check this to download archive with subrepos"
3118 msgstr "Télécharger une archive contenant également les sous-dépôts éventuels"
3168 msgstr "Télécharger une archive contenant également les sous-dépôts éventuels"
3119
3169
3120 #: rhodecode/templates/summary/summary.html:164
3170 #: rhodecode/templates/summary/summary.html:164
3121 msgid "with subrepos"
3171 msgid "with subrepos"
3122 msgstr "avec les sous-dépôts"
3172 msgstr "avec les sous-dépôts"
3123
3173
3124 #: rhodecode/templates/summary/summary.html:177
3174 #: rhodecode/templates/summary/summary.html:177
3125 msgid "Commit activity by day / author"
3175 msgid "Commit activity by day / author"
3126 msgstr "Activité de commit par jour et par auteur"
3176 msgstr "Activité de commit par jour et par auteur"
3127
3177
3128 #: rhodecode/templates/summary/summary.html:188
3178 #: rhodecode/templates/summary/summary.html:188
3129 msgid "Stats gathered: "
3179 msgid "Stats gathered: "
3130 msgstr "Statistiques obtenues :"
3180 msgstr "Statistiques obtenues :"
3131
3181
3182 #: rhodecode/templates/summary/summary.html:209
3183 msgid "Shortlog"
3184 msgstr "Résumé des changements"
3185
3132 #: rhodecode/templates/summary/summary.html:211
3186 #: rhodecode/templates/summary/summary.html:211
3133 msgid "Quick start"
3187 msgid "Quick start"
3134 msgstr "Démarrage rapide"
3188 msgstr "Démarrage rapide"
3135
3189
3136 #: rhodecode/templates/summary/summary.html:281
3190 #: rhodecode/templates/summary/summary.html:281
3137 #, python-format
3191 #, python-format
3138 msgid "Download %s as %s"
3192 msgid "Download %s as %s"
3139 msgstr "Télécharger %s comme archive %s"
3193 msgstr "Télécharger %s comme archive %s"
3140
3194
3141 #: rhodecode/templates/summary/summary.html:638
3195 #: rhodecode/templates/summary/summary.html:638
3142 msgid "commits"
3196 msgid "commits"
3143 msgstr "commits"
3197 msgstr "commits"
3144
3198
3145 #: rhodecode/templates/summary/summary.html:639
3199 #: rhodecode/templates/summary/summary.html:639
3146 msgid "files added"
3200 msgid "files added"
3147 msgstr "fichiers ajoutés"
3201 msgstr "fichiers ajoutés"
3148
3202
3149 #: rhodecode/templates/summary/summary.html:640
3203 #: rhodecode/templates/summary/summary.html:640
3150 msgid "files changed"
3204 msgid "files changed"
3151 msgstr "fichiers modifiés"
3205 msgstr "fichiers modifiés"
3152
3206
3153 #: rhodecode/templates/summary/summary.html:641
3207 #: rhodecode/templates/summary/summary.html:641
3154 msgid "files removed"
3208 msgid "files removed"
3155 msgstr "fichiers supprimés"
3209 msgstr "fichiers supprimés"
3156
3210
3157 #: rhodecode/templates/summary/summary.html:644
3211 #: rhodecode/templates/summary/summary.html:644
3158 msgid "commit"
3212 msgid "commit"
3159 msgstr "commit"
3213 msgstr "commit"
3160
3214
3161 #: rhodecode/templates/summary/summary.html:645
3215 #: rhodecode/templates/summary/summary.html:645
3162 msgid "file added"
3216 msgid "file added"
3163 msgstr "fichier ajouté"
3217 msgstr "fichier ajouté"
3164
3218
3165 #: rhodecode/templates/summary/summary.html:646
3219 #: rhodecode/templates/summary/summary.html:646
3166 msgid "file changed"
3220 msgid "file changed"
3167 msgstr "fichié modifié"
3221 msgstr "fichié modifié"
3168
3222
3169 #: rhodecode/templates/summary/summary.html:647
3223 #: rhodecode/templates/summary/summary.html:647
3170 msgid "file removed"
3224 msgid "file removed"
3171 msgstr "fichier supprimé"
3225 msgstr "fichier supprimé"
3172
3226
3227 #: rhodecode/templates/tags/tags.html:5
3228 #, python-format
3229 msgid "%s Tags"
3230 msgstr "Tags de %s"
3231
@@ -1,3046 +1,3121 b''
1 # Translations template for RhodeCode.
1 # Translations template for RhodeCode.
2 # Copyright (C) 2012 ORGANIZATION
2 # Copyright (C) 2012 ORGANIZATION
3 # This file is distributed under the same license as the RhodeCode project.
3 # This file is distributed under the same license as the RhodeCode project.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
5 #
5 #
6 #, fuzzy
6 #, fuzzy
7 msgid ""
7 msgid ""
8 msgstr ""
8 msgstr ""
9 "Project-Id-Version: RhodeCode 1.4.0\n"
9 "Project-Id-Version: RhodeCode 1.4.0\n"
10 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11 "POT-Creation-Date: 2012-06-03 01:06+0200\n"
11 "POT-Creation-Date: 2012-06-05 20:42+0200\n"
12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "MIME-Version: 1.0\n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=utf-8\n"
16 "Content-Type: text/plain; charset=utf-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
17 "Content-Transfer-Encoding: 8bit\n"
18 "Generated-By: Babel 0.9.6\n"
18 "Generated-By: Babel 0.9.6\n"
19
19
20 #: rhodecode/controllers/changelog.py:95
20 #: rhodecode/controllers/changelog.py:94
21 msgid "All Branches"
21 msgid "All Branches"
22 msgstr ""
22 msgstr ""
23
23
24 #: rhodecode/controllers/changeset.py:80
24 #: rhodecode/controllers/changeset.py:80
25 msgid "show white space"
25 msgid "show white space"
26 msgstr ""
26 msgstr ""
27
27
28 #: rhodecode/controllers/changeset.py:87 rhodecode/controllers/changeset.py:94
28 #: rhodecode/controllers/changeset.py:87 rhodecode/controllers/changeset.py:94
29 msgid "ignore white space"
29 msgid "ignore white space"
30 msgstr ""
30 msgstr ""
31
31
32 #: rhodecode/controllers/changeset.py:154
32 #: rhodecode/controllers/changeset.py:154
33 #, python-format
33 #, python-format
34 msgid "%s line context"
34 msgid "%s line context"
35 msgstr ""
35 msgstr ""
36
36
37 #: rhodecode/controllers/changeset.py:324 rhodecode/controllers/changeset.py:339
37 #: rhodecode/controllers/changeset.py:324 rhodecode/controllers/changeset.py:339
38 #: rhodecode/lib/diffs.py:62
38 #: rhodecode/lib/diffs.py:62
39 msgid "binary file"
39 msgid "binary file"
40 msgstr ""
40 msgstr ""
41
41
42 #: rhodecode/controllers/error.py:69
42 #: rhodecode/controllers/error.py:69
43 msgid "Home page"
43 msgid "Home page"
44 msgstr ""
44 msgstr ""
45
45
46 #: rhodecode/controllers/error.py:98
46 #: rhodecode/controllers/error.py:98
47 msgid "The request could not be understood by the server due to malformed syntax."
47 msgid "The request could not be understood by the server due to malformed syntax."
48 msgstr ""
48 msgstr ""
49
49
50 #: rhodecode/controllers/error.py:101
50 #: rhodecode/controllers/error.py:101
51 msgid "Unauthorized access to resource"
51 msgid "Unauthorized access to resource"
52 msgstr ""
52 msgstr ""
53
53
54 #: rhodecode/controllers/error.py:103
54 #: rhodecode/controllers/error.py:103
55 msgid "You don't have permission to view this page"
55 msgid "You don't have permission to view this page"
56 msgstr ""
56 msgstr ""
57
57
58 #: rhodecode/controllers/error.py:105
58 #: rhodecode/controllers/error.py:105
59 msgid "The resource could not be found"
59 msgid "The resource could not be found"
60 msgstr ""
60 msgstr ""
61
61
62 #: rhodecode/controllers/error.py:107
62 #: rhodecode/controllers/error.py:107
63 msgid ""
63 msgid ""
64 "The server encountered an unexpected condition which prevented it from "
64 "The server encountered an unexpected condition which prevented it from "
65 "fulfilling the request."
65 "fulfilling the request."
66 msgstr ""
66 msgstr ""
67
67
68 #: rhodecode/controllers/feed.py:48
68 #: rhodecode/controllers/feed.py:49
69 #, python-format
69 #, python-format
70 msgid "Changes on %s repository"
70 msgid "Changes on %s repository"
71 msgstr ""
71 msgstr ""
72
72
73 #: rhodecode/controllers/feed.py:49
73 #: rhodecode/controllers/feed.py:50
74 #, python-format
74 #, python-format
75 msgid "%s %s feed"
75 msgid "%s %s feed"
76 msgstr ""
76 msgstr ""
77
77
78 #: rhodecode/controllers/feed.py:75
79 msgid "commited on"
80 msgstr ""
81
78 #: rhodecode/controllers/files.py:86
82 #: rhodecode/controllers/files.py:86
79 #: rhodecode/templates/admin/repos/repo_add.html:13
83 #: rhodecode/templates/admin/repos/repo_add.html:13
80 msgid "add new"
84 msgid "add new"
81 msgstr ""
85 msgstr ""
82
86
83 #: rhodecode/controllers/files.py:87
87 #: rhodecode/controllers/files.py:87
84 #, python-format
88 #, python-format
85 msgid "There are no files yet %s"
89 msgid "There are no files yet %s"
86 msgstr ""
90 msgstr ""
87
91
88 #: rhodecode/controllers/files.py:247
92 #: rhodecode/controllers/files.py:247
89 #, python-format
93 #, python-format
90 msgid "Edited %s via RhodeCode"
94 msgid "Edited %s via RhodeCode"
91 msgstr ""
95 msgstr ""
92
96
93 #: rhodecode/controllers/files.py:252
97 #: rhodecode/controllers/files.py:252
94 msgid "No changes"
98 msgid "No changes"
95 msgstr ""
99 msgstr ""
96
100
97 #: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
101 #: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
98 #, python-format
102 #, python-format
99 msgid "Successfully committed to %s"
103 msgid "Successfully committed to %s"
100 msgstr ""
104 msgstr ""
101
105
102 #: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
106 #: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
103 msgid "Error occurred during commit"
107 msgid "Error occurred during commit"
104 msgstr ""
108 msgstr ""
105
109
106 #: rhodecode/controllers/files.py:288
110 #: rhodecode/controllers/files.py:288
107 #, python-format
111 #, python-format
108 msgid "Added %s via RhodeCode"
112 msgid "Added %s via RhodeCode"
109 msgstr ""
113 msgstr ""
110
114
111 #: rhodecode/controllers/files.py:302
115 #: rhodecode/controllers/files.py:302
112 msgid "No content"
116 msgid "No content"
113 msgstr ""
117 msgstr ""
114
118
115 #: rhodecode/controllers/files.py:306
119 #: rhodecode/controllers/files.py:306
116 msgid "No filename"
120 msgid "No filename"
117 msgstr ""
121 msgstr ""
118
122
119 #: rhodecode/controllers/files.py:347
123 #: rhodecode/controllers/files.py:347
120 msgid "downloads disabled"
124 msgid "downloads disabled"
121 msgstr ""
125 msgstr ""
122
126
123 #: rhodecode/controllers/files.py:358
127 #: rhodecode/controllers/files.py:358
124 #, python-format
128 #, python-format
125 msgid "Unknown revision %s"
129 msgid "Unknown revision %s"
126 msgstr ""
130 msgstr ""
127
131
128 #: rhodecode/controllers/files.py:360
132 #: rhodecode/controllers/files.py:360
129 msgid "Empty repository"
133 msgid "Empty repository"
130 msgstr ""
134 msgstr ""
131
135
132 #: rhodecode/controllers/files.py:362
136 #: rhodecode/controllers/files.py:362
133 msgid "Unknown archive type"
137 msgid "Unknown archive type"
134 msgstr ""
138 msgstr ""
135
139
136 #: rhodecode/controllers/files.py:461
140 #: rhodecode/controllers/files.py:461
137 #: rhodecode/templates/changeset/changeset_range.html:5
138 #: rhodecode/templates/changeset/changeset_range.html:13
141 #: rhodecode/templates/changeset/changeset_range.html:13
139 #: rhodecode/templates/changeset/changeset_range.html:31
142 #: rhodecode/templates/changeset/changeset_range.html:31
140 msgid "Changesets"
143 msgid "Changesets"
141 msgstr ""
144 msgstr ""
142
145
143 #: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:230
146 #: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:230
144 #: rhodecode/templates/branches/branches.html:5
145 msgid "Branches"
147 msgid "Branches"
146 msgstr ""
148 msgstr ""
147
149
148 #: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:231
150 #: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:231
149 #: rhodecode/templates/tags/tags.html:5
150 msgid "Tags"
151 msgid "Tags"
151 msgstr ""
152 msgstr ""
152
153
153 #: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
154 #: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
154 #, python-format
155 #, python-format
155 msgid ""
156 msgid ""
156 "%s repository is not mapped to db perhaps it was created or renamed from the "
157 "%s repository is not mapped to db perhaps it was created or renamed from the "
157 "filesystem please run the application again in order to rescan repositories"
158 "filesystem please run the application again in order to rescan repositories"
158 msgstr ""
159 msgstr ""
159
160
160 #: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
161 #: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
161 #, python-format
162 #, python-format
162 msgid ""
163 msgid ""
163 "%s repository is not mapped to db perhaps it was created or renamed from the "
164 "%s repository is not mapped to db perhaps it was created or renamed from the "
164 "file system please run the application again in order to rescan repositories"
165 "file system please run the application again in order to rescan repositories"
165 msgstr ""
166 msgstr ""
166
167
167 #: rhodecode/controllers/forks.py:163
168 #: rhodecode/controllers/forks.py:163
168 #, python-format
169 #, python-format
169 msgid "forked %s repository as %s"
170 msgid "forked %s repository as %s"
170 msgstr ""
171 msgstr ""
171
172
172 #: rhodecode/controllers/forks.py:177
173 #: rhodecode/controllers/forks.py:177
173 #, python-format
174 #, python-format
174 msgid "An error occurred during repository forking %s"
175 msgid "An error occurred during repository forking %s"
175 msgstr ""
176 msgstr ""
176
177
177 #: rhodecode/controllers/journal.py:53
178 #: rhodecode/controllers/journal.py:53
178 #, python-format
179 #, python-format
179 msgid "%s public journal %s feed"
180 msgid "%s public journal %s feed"
180 msgstr ""
181 msgstr ""
181
182
182 #: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:223
183 #: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:223
183 #: rhodecode/templates/admin/repos/repo_edit.html:177
184 #: rhodecode/templates/admin/repos/repo_edit.html:177
184 #: rhodecode/templates/base/base.html:307 rhodecode/templates/base/base.html:309
185 #: rhodecode/templates/base/base.html:307 rhodecode/templates/base/base.html:309
185 #: rhodecode/templates/base/base.html:311
186 #: rhodecode/templates/base/base.html:311
186 msgid "Public journal"
187 msgid "Public journal"
187 msgstr ""
188 msgstr ""
188
189
189 #: rhodecode/controllers/login.py:116
190 #: rhodecode/controllers/login.py:116
190 msgid "You have successfully registered into rhodecode"
191 msgid "You have successfully registered into rhodecode"
191 msgstr ""
192 msgstr ""
192
193
193 #: rhodecode/controllers/login.py:137
194 #: rhodecode/controllers/login.py:137
194 msgid "Your password reset link was sent"
195 msgid "Your password reset link was sent"
195 msgstr ""
196 msgstr ""
196
197
197 #: rhodecode/controllers/login.py:157
198 #: rhodecode/controllers/login.py:157
198 msgid "Your password reset was successful, new password has been sent to your email"
199 msgid "Your password reset was successful, new password has been sent to your email"
199 msgstr ""
200 msgstr ""
200
201
201 #: rhodecode/controllers/search.py:114
202 #: rhodecode/controllers/search.py:114
202 msgid "Invalid search query. Try quoting it."
203 msgid "Invalid search query. Try quoting it."
203 msgstr ""
204 msgstr ""
204
205
205 #: rhodecode/controllers/search.py:119
206 #: rhodecode/controllers/search.py:119
206 msgid "There is no index to search in. Please run whoosh indexer"
207 msgid "There is no index to search in. Please run whoosh indexer"
207 msgstr ""
208 msgstr ""
208
209
209 #: rhodecode/controllers/search.py:123
210 #: rhodecode/controllers/search.py:123
210 msgid "An error occurred during this search operation"
211 msgid "An error occurred during this search operation"
211 msgstr ""
212 msgstr ""
212
213
213 #: rhodecode/controllers/settings.py:103 rhodecode/controllers/admin/repos.py:213
214 #: rhodecode/controllers/settings.py:103 rhodecode/controllers/admin/repos.py:213
214 #, python-format
215 #, python-format
215 msgid "Repository %s updated successfully"
216 msgid "Repository %s updated successfully"
216 msgstr ""
217 msgstr ""
217
218
218 #: rhodecode/controllers/settings.py:121 rhodecode/controllers/admin/repos.py:231
219 #: rhodecode/controllers/settings.py:121 rhodecode/controllers/admin/repos.py:231
219 #, python-format
220 #, python-format
220 msgid "error occurred during update of repository %s"
221 msgid "error occurred during update of repository %s"
221 msgstr ""
222 msgstr ""
222
223
223 #: rhodecode/controllers/settings.py:139 rhodecode/controllers/admin/repos.py:249
224 #: rhodecode/controllers/settings.py:139 rhodecode/controllers/admin/repos.py:249
224 #, python-format
225 #, python-format
225 msgid ""
226 msgid ""
226 "%s repository is not mapped to db perhaps it was moved or renamed from the "
227 "%s repository is not mapped to db perhaps it was moved or renamed from the "
227 "filesystem please run the application again in order to rescan repositories"
228 "filesystem please run the application again in order to rescan repositories"
228 msgstr ""
229 msgstr ""
229
230
230 #: rhodecode/controllers/settings.py:151 rhodecode/controllers/admin/repos.py:261
231 #: rhodecode/controllers/settings.py:151 rhodecode/controllers/admin/repos.py:261
231 #, python-format
232 #, python-format
232 msgid "deleted repository %s"
233 msgid "deleted repository %s"
233 msgstr ""
234 msgstr ""
234
235
235 #: rhodecode/controllers/settings.py:155 rhodecode/controllers/admin/repos.py:271
236 #: rhodecode/controllers/settings.py:155 rhodecode/controllers/admin/repos.py:271
236 #: rhodecode/controllers/admin/repos.py:277
237 #: rhodecode/controllers/admin/repos.py:277
237 #, python-format
238 #, python-format
238 msgid "An error occurred during deletion of %s"
239 msgid "An error occurred during deletion of %s"
239 msgstr ""
240 msgstr ""
240
241
241 #: rhodecode/controllers/summary.py:138
242 #: rhodecode/controllers/summary.py:138
242 msgid "No data loaded yet"
243 msgid "No data loaded yet"
243 msgstr ""
244 msgstr ""
244
245
245 #: rhodecode/controllers/summary.py:142
246 #: rhodecode/controllers/summary.py:142
246 #: rhodecode/templates/summary/summary.html:139
247 #: rhodecode/templates/summary/summary.html:139
247 msgid "Statistics are disabled for this repository"
248 msgid "Statistics are disabled for this repository"
248 msgstr ""
249 msgstr ""
249
250
250 #: rhodecode/controllers/admin/ldap_settings.py:49
251 #: rhodecode/controllers/admin/ldap_settings.py:49
251 msgid "BASE"
252 msgid "BASE"
252 msgstr ""
253 msgstr ""
253
254
254 #: rhodecode/controllers/admin/ldap_settings.py:50
255 #: rhodecode/controllers/admin/ldap_settings.py:50
255 msgid "ONELEVEL"
256 msgid "ONELEVEL"
256 msgstr ""
257 msgstr ""
257
258
258 #: rhodecode/controllers/admin/ldap_settings.py:51
259 #: rhodecode/controllers/admin/ldap_settings.py:51
259 msgid "SUBTREE"
260 msgid "SUBTREE"
260 msgstr ""
261 msgstr ""
261
262
262 #: rhodecode/controllers/admin/ldap_settings.py:55
263 #: rhodecode/controllers/admin/ldap_settings.py:55
263 msgid "NEVER"
264 msgid "NEVER"
264 msgstr ""
265 msgstr ""
265
266
266 #: rhodecode/controllers/admin/ldap_settings.py:56
267 #: rhodecode/controllers/admin/ldap_settings.py:56
267 msgid "ALLOW"
268 msgid "ALLOW"
268 msgstr ""
269 msgstr ""
269
270
270 #: rhodecode/controllers/admin/ldap_settings.py:57
271 #: rhodecode/controllers/admin/ldap_settings.py:57
271 msgid "TRY"
272 msgid "TRY"
272 msgstr ""
273 msgstr ""
273
274
274 #: rhodecode/controllers/admin/ldap_settings.py:58
275 #: rhodecode/controllers/admin/ldap_settings.py:58
275 msgid "DEMAND"
276 msgid "DEMAND"
276 msgstr ""
277 msgstr ""
277
278
278 #: rhodecode/controllers/admin/ldap_settings.py:59
279 #: rhodecode/controllers/admin/ldap_settings.py:59
279 msgid "HARD"
280 msgid "HARD"
280 msgstr ""
281 msgstr ""
281
282
282 #: rhodecode/controllers/admin/ldap_settings.py:63
283 #: rhodecode/controllers/admin/ldap_settings.py:63
283 msgid "No encryption"
284 msgid "No encryption"
284 msgstr ""
285 msgstr ""
285
286
286 #: rhodecode/controllers/admin/ldap_settings.py:64
287 #: rhodecode/controllers/admin/ldap_settings.py:64
287 msgid "LDAPS connection"
288 msgid "LDAPS connection"
288 msgstr ""
289 msgstr ""
289
290
290 #: rhodecode/controllers/admin/ldap_settings.py:65
291 #: rhodecode/controllers/admin/ldap_settings.py:65
291 msgid "START_TLS on LDAP connection"
292 msgid "START_TLS on LDAP connection"
292 msgstr ""
293 msgstr ""
293
294
294 #: rhodecode/controllers/admin/ldap_settings.py:125
295 #: rhodecode/controllers/admin/ldap_settings.py:125
295 msgid "Ldap settings updated successfully"
296 msgid "Ldap settings updated successfully"
296 msgstr ""
297 msgstr ""
297
298
298 #: rhodecode/controllers/admin/ldap_settings.py:129
299 #: rhodecode/controllers/admin/ldap_settings.py:129
299 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
300 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
300 msgstr ""
301 msgstr ""
301
302
302 #: rhodecode/controllers/admin/ldap_settings.py:146
303 #: rhodecode/controllers/admin/ldap_settings.py:146
303 msgid "error occurred during update of ldap settings"
304 msgid "error occurred during update of ldap settings"
304 msgstr ""
305 msgstr ""
305
306
306 #: rhodecode/controllers/admin/permissions.py:59
307 #: rhodecode/controllers/admin/permissions.py:59
307 msgid "None"
308 msgid "None"
308 msgstr ""
309 msgstr ""
309
310
310 #: rhodecode/controllers/admin/permissions.py:60
311 #: rhodecode/controllers/admin/permissions.py:60
311 msgid "Read"
312 msgid "Read"
312 msgstr ""
313 msgstr ""
313
314
314 #: rhodecode/controllers/admin/permissions.py:61
315 #: rhodecode/controllers/admin/permissions.py:61
315 msgid "Write"
316 msgid "Write"
316 msgstr ""
317 msgstr ""
317
318
318 #: rhodecode/controllers/admin/permissions.py:62
319 #: rhodecode/controllers/admin/permissions.py:62
319 #: rhodecode/templates/admin/ldap/ldap.html:9
320 #: rhodecode/templates/admin/ldap/ldap.html:9
320 #: rhodecode/templates/admin/permissions/permissions.html:9
321 #: rhodecode/templates/admin/permissions/permissions.html:9
321 #: rhodecode/templates/admin/repos/repo_add.html:9
322 #: rhodecode/templates/admin/repos/repo_add.html:9
322 #: rhodecode/templates/admin/repos/repo_edit.html:9
323 #: rhodecode/templates/admin/repos/repo_edit.html:9
323 #: rhodecode/templates/admin/repos/repos.html:10
324 #: rhodecode/templates/admin/repos/repos.html:10
324 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
325 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
325 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
326 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
326 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
327 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
327 #: rhodecode/templates/admin/settings/hooks.html:9
328 #: rhodecode/templates/admin/settings/hooks.html:9
328 #: rhodecode/templates/admin/settings/settings.html:9
329 #: rhodecode/templates/admin/settings/settings.html:9
329 #: rhodecode/templates/admin/users/user_add.html:8
330 #: rhodecode/templates/admin/users/user_add.html:8
330 #: rhodecode/templates/admin/users/user_edit.html:9
331 #: rhodecode/templates/admin/users/user_edit.html:9
331 #: rhodecode/templates/admin/users/user_edit.html:122
332 #: rhodecode/templates/admin/users/user_edit.html:122
332 #: rhodecode/templates/admin/users/users.html:9
333 #: rhodecode/templates/admin/users/users.html:9
333 #: rhodecode/templates/admin/users_groups/users_group_add.html:8
334 #: rhodecode/templates/admin/users_groups/users_group_add.html:8
334 #: rhodecode/templates/admin/users_groups/users_group_edit.html:9
335 #: rhodecode/templates/admin/users_groups/users_group_edit.html:9
335 #: rhodecode/templates/admin/users_groups/users_groups.html:9
336 #: rhodecode/templates/admin/users_groups/users_groups.html:9
336 #: rhodecode/templates/base/base.html:197 rhodecode/templates/base/base.html:326
337 #: rhodecode/templates/base/base.html:197 rhodecode/templates/base/base.html:326
337 #: rhodecode/templates/base/base.html:328 rhodecode/templates/base/base.html:330
338 #: rhodecode/templates/base/base.html:328 rhodecode/templates/base/base.html:330
338 msgid "Admin"
339 msgid "Admin"
339 msgstr ""
340 msgstr ""
340
341
341 #: rhodecode/controllers/admin/permissions.py:65
342 #: rhodecode/controllers/admin/permissions.py:65
342 msgid "disabled"
343 msgid "disabled"
343 msgstr ""
344 msgstr ""
344
345
345 #: rhodecode/controllers/admin/permissions.py:67
346 #: rhodecode/controllers/admin/permissions.py:67
346 msgid "allowed with manual account activation"
347 msgid "allowed with manual account activation"
347 msgstr ""
348 msgstr ""
348
349
349 #: rhodecode/controllers/admin/permissions.py:69
350 #: rhodecode/controllers/admin/permissions.py:69
350 msgid "allowed with automatic account activation"
351 msgid "allowed with automatic account activation"
351 msgstr ""
352 msgstr ""
352
353
353 #: rhodecode/controllers/admin/permissions.py:71
354 #: rhodecode/controllers/admin/permissions.py:71
354 msgid "Disabled"
355 msgid "Disabled"
355 msgstr ""
356 msgstr ""
356
357
357 #: rhodecode/controllers/admin/permissions.py:72
358 #: rhodecode/controllers/admin/permissions.py:72
358 msgid "Enabled"
359 msgid "Enabled"
359 msgstr ""
360 msgstr ""
360
361
361 #: rhodecode/controllers/admin/permissions.py:106
362 #: rhodecode/controllers/admin/permissions.py:106
362 msgid "Default permissions updated successfully"
363 msgid "Default permissions updated successfully"
363 msgstr ""
364 msgstr ""
364
365
365 #: rhodecode/controllers/admin/permissions.py:123
366 #: rhodecode/controllers/admin/permissions.py:123
366 msgid "error occurred during update of permissions"
367 msgid "error occurred during update of permissions"
367 msgstr ""
368 msgstr ""
368
369
369 #: rhodecode/controllers/admin/repos.py:116
370 #: rhodecode/controllers/admin/repos.py:116
370 msgid "--REMOVE FORK--"
371 msgid "--REMOVE FORK--"
371 msgstr ""
372 msgstr ""
372
373
373 #: rhodecode/controllers/admin/repos.py:144
374 #: rhodecode/controllers/admin/repos.py:144
374 #, python-format
375 #, python-format
375 msgid "created repository %s from %s"
376 msgid "created repository %s from %s"
376 msgstr ""
377 msgstr ""
377
378
378 #: rhodecode/controllers/admin/repos.py:148
379 #: rhodecode/controllers/admin/repos.py:148
379 #, python-format
380 #, python-format
380 msgid "created repository %s"
381 msgid "created repository %s"
381 msgstr ""
382 msgstr ""
382
383
383 #: rhodecode/controllers/admin/repos.py:179
384 #: rhodecode/controllers/admin/repos.py:179
384 #, python-format
385 #, python-format
385 msgid "error occurred during creation of repository %s"
386 msgid "error occurred during creation of repository %s"
386 msgstr ""
387 msgstr ""
387
388
388 #: rhodecode/controllers/admin/repos.py:266
389 #: rhodecode/controllers/admin/repos.py:266
389 #, python-format
390 #, python-format
390 msgid "Cannot delete %s it still contains attached forks"
391 msgid "Cannot delete %s it still contains attached forks"
391 msgstr ""
392 msgstr ""
392
393
393 #: rhodecode/controllers/admin/repos.py:295
394 #: rhodecode/controllers/admin/repos.py:295
394 msgid "An error occurred during deletion of repository user"
395 msgid "An error occurred during deletion of repository user"
395 msgstr ""
396 msgstr ""
396
397
397 #: rhodecode/controllers/admin/repos.py:314
398 #: rhodecode/controllers/admin/repos.py:314
398 msgid "An error occurred during deletion of repository users groups"
399 msgid "An error occurred during deletion of repository users groups"
399 msgstr ""
400 msgstr ""
400
401
401 #: rhodecode/controllers/admin/repos.py:331
402 #: rhodecode/controllers/admin/repos.py:331
402 msgid "An error occurred during deletion of repository stats"
403 msgid "An error occurred during deletion of repository stats"
403 msgstr ""
404 msgstr ""
404
405
405 #: rhodecode/controllers/admin/repos.py:347
406 #: rhodecode/controllers/admin/repos.py:347
406 msgid "An error occurred during cache invalidation"
407 msgid "An error occurred during cache invalidation"
407 msgstr ""
408 msgstr ""
408
409
409 #: rhodecode/controllers/admin/repos.py:367
410 #: rhodecode/controllers/admin/repos.py:367
410 msgid "Updated repository visibility in public journal"
411 msgid "Updated repository visibility in public journal"
411 msgstr ""
412 msgstr ""
412
413
413 #: rhodecode/controllers/admin/repos.py:371
414 #: rhodecode/controllers/admin/repos.py:371
414 msgid "An error occurred during setting this repository in public journal"
415 msgid "An error occurred during setting this repository in public journal"
415 msgstr ""
416 msgstr ""
416
417
417 #: rhodecode/controllers/admin/repos.py:376 rhodecode/model/forms.py:54
418 #: rhodecode/controllers/admin/repos.py:376 rhodecode/model/forms.py:54
418 msgid "Token mismatch"
419 msgid "Token mismatch"
419 msgstr ""
420 msgstr ""
420
421
421 #: rhodecode/controllers/admin/repos.py:389
422 #: rhodecode/controllers/admin/repos.py:389
422 msgid "Pulled from remote location"
423 msgid "Pulled from remote location"
423 msgstr ""
424 msgstr ""
424
425
425 #: rhodecode/controllers/admin/repos.py:391
426 #: rhodecode/controllers/admin/repos.py:391
426 msgid "An error occurred during pull from remote location"
427 msgid "An error occurred during pull from remote location"
427 msgstr ""
428 msgstr ""
428
429
429 #: rhodecode/controllers/admin/repos.py:407
430 #: rhodecode/controllers/admin/repos.py:407
430 msgid "Nothing"
431 msgid "Nothing"
431 msgstr ""
432 msgstr ""
432
433
433 #: rhodecode/controllers/admin/repos.py:409
434 #: rhodecode/controllers/admin/repos.py:409
434 #, python-format
435 #, python-format
435 msgid "Marked repo %s as fork of %s"
436 msgid "Marked repo %s as fork of %s"
436 msgstr ""
437 msgstr ""
437
438
438 #: rhodecode/controllers/admin/repos.py:413
439 #: rhodecode/controllers/admin/repos.py:413
439 msgid "An error occurred during this operation"
440 msgid "An error occurred during this operation"
440 msgstr ""
441 msgstr ""
441
442
442 #: rhodecode/controllers/admin/repos_groups.py:119
443 #: rhodecode/controllers/admin/repos_groups.py:119
443 #, python-format
444 #, python-format
444 msgid "created repos group %s"
445 msgid "created repos group %s"
445 msgstr ""
446 msgstr ""
446
447
447 #: rhodecode/controllers/admin/repos_groups.py:132
448 #: rhodecode/controllers/admin/repos_groups.py:132
448 #, python-format
449 #, python-format
449 msgid "error occurred during creation of repos group %s"
450 msgid "error occurred during creation of repos group %s"
450 msgstr ""
451 msgstr ""
451
452
452 #: rhodecode/controllers/admin/repos_groups.py:166
453 #: rhodecode/controllers/admin/repos_groups.py:166
453 #, python-format
454 #, python-format
454 msgid "updated repos group %s"
455 msgid "updated repos group %s"
455 msgstr ""
456 msgstr ""
456
457
457 #: rhodecode/controllers/admin/repos_groups.py:179
458 #: rhodecode/controllers/admin/repos_groups.py:179
458 #, python-format
459 #, python-format
459 msgid "error occurred during update of repos group %s"
460 msgid "error occurred during update of repos group %s"
460 msgstr ""
461 msgstr ""
461
462
462 #: rhodecode/controllers/admin/repos_groups.py:198
463 #: rhodecode/controllers/admin/repos_groups.py:198
463 #, python-format
464 #, python-format
464 msgid "This group contains %s repositores and cannot be deleted"
465 msgid "This group contains %s repositores and cannot be deleted"
465 msgstr ""
466 msgstr ""
466
467
467 #: rhodecode/controllers/admin/repos_groups.py:205
468 #: rhodecode/controllers/admin/repos_groups.py:205
468 #, python-format
469 #, python-format
469 msgid "removed repos group %s"
470 msgid "removed repos group %s"
470 msgstr ""
471 msgstr ""
471
472
472 #: rhodecode/controllers/admin/repos_groups.py:210
473 #: rhodecode/controllers/admin/repos_groups.py:210
473 msgid "Cannot delete this group it still contains subgroups"
474 msgid "Cannot delete this group it still contains subgroups"
474 msgstr ""
475 msgstr ""
475
476
476 #: rhodecode/controllers/admin/repos_groups.py:215
477 #: rhodecode/controllers/admin/repos_groups.py:215
477 #: rhodecode/controllers/admin/repos_groups.py:220
478 #: rhodecode/controllers/admin/repos_groups.py:220
478 #, python-format
479 #, python-format
479 msgid "error occurred during deletion of repos group %s"
480 msgid "error occurred during deletion of repos group %s"
480 msgstr ""
481 msgstr ""
481
482
482 #: rhodecode/controllers/admin/repos_groups.py:240
483 #: rhodecode/controllers/admin/repos_groups.py:240
483 msgid "An error occurred during deletion of group user"
484 msgid "An error occurred during deletion of group user"
484 msgstr ""
485 msgstr ""
485
486
486 #: rhodecode/controllers/admin/repos_groups.py:260
487 #: rhodecode/controllers/admin/repos_groups.py:260
487 msgid "An error occurred during deletion of group users groups"
488 msgid "An error occurred during deletion of group users groups"
488 msgstr ""
489 msgstr ""
489
490
490 #: rhodecode/controllers/admin/settings.py:120
491 #: rhodecode/controllers/admin/settings.py:120
491 #, python-format
492 #, python-format
492 msgid "Repositories successfully rescanned added: %s,removed: %s"
493 msgid "Repositories successfully rescanned added: %s,removed: %s"
493 msgstr ""
494 msgstr ""
494
495
495 #: rhodecode/controllers/admin/settings.py:129
496 #: rhodecode/controllers/admin/settings.py:129
496 msgid "Whoosh reindex task scheduled"
497 msgid "Whoosh reindex task scheduled"
497 msgstr ""
498 msgstr ""
498
499
499 #: rhodecode/controllers/admin/settings.py:154
500 #: rhodecode/controllers/admin/settings.py:154
500 msgid "Updated application settings"
501 msgid "Updated application settings"
501 msgstr ""
502 msgstr ""
502
503
503 #: rhodecode/controllers/admin/settings.py:159
504 #: rhodecode/controllers/admin/settings.py:159
504 #: rhodecode/controllers/admin/settings.py:226
505 #: rhodecode/controllers/admin/settings.py:226
505 msgid "error occurred during updating application settings"
506 msgid "error occurred during updating application settings"
506 msgstr ""
507 msgstr ""
507
508
508 #: rhodecode/controllers/admin/settings.py:221
509 #: rhodecode/controllers/admin/settings.py:221
509 msgid "Updated mercurial settings"
510 msgid "Updated mercurial settings"
510 msgstr ""
511 msgstr ""
511
512
512 #: rhodecode/controllers/admin/settings.py:246
513 #: rhodecode/controllers/admin/settings.py:246
513 msgid "Added new hook"
514 msgid "Added new hook"
514 msgstr ""
515 msgstr ""
515
516
516 #: rhodecode/controllers/admin/settings.py:258
517 #: rhodecode/controllers/admin/settings.py:258
517 msgid "Updated hooks"
518 msgid "Updated hooks"
518 msgstr ""
519 msgstr ""
519
520
520 #: rhodecode/controllers/admin/settings.py:262
521 #: rhodecode/controllers/admin/settings.py:262
521 msgid "error occurred during hook creation"
522 msgid "error occurred during hook creation"
522 msgstr ""
523 msgstr ""
523
524
524 #: rhodecode/controllers/admin/settings.py:281
525 #: rhodecode/controllers/admin/settings.py:281
525 msgid "Email task created"
526 msgid "Email task created"
526 msgstr ""
527 msgstr ""
527
528
528 #: rhodecode/controllers/admin/settings.py:336
529 #: rhodecode/controllers/admin/settings.py:336
529 msgid "You can't edit this user since it's crucial for entire application"
530 msgid "You can't edit this user since it's crucial for entire application"
530 msgstr ""
531 msgstr ""
531
532
532 #: rhodecode/controllers/admin/settings.py:367
533 #: rhodecode/controllers/admin/settings.py:367
533 msgid "Your account was updated successfully"
534 msgid "Your account was updated successfully"
534 msgstr ""
535 msgstr ""
535
536
536 #: rhodecode/controllers/admin/settings.py:387
537 #: rhodecode/controllers/admin/settings.py:387
537 #: rhodecode/controllers/admin/users.py:138
538 #: rhodecode/controllers/admin/users.py:138
538 #, python-format
539 #, python-format
539 msgid "error occurred during update of user %s"
540 msgid "error occurred during update of user %s"
540 msgstr ""
541 msgstr ""
541
542
542 #: rhodecode/controllers/admin/users.py:83
543 #: rhodecode/controllers/admin/users.py:83
543 #, python-format
544 #, python-format
544 msgid "created user %s"
545 msgid "created user %s"
545 msgstr ""
546 msgstr ""
546
547
547 #: rhodecode/controllers/admin/users.py:95
548 #: rhodecode/controllers/admin/users.py:95
548 #, python-format
549 #, python-format
549 msgid "error occurred during creation of user %s"
550 msgid "error occurred during creation of user %s"
550 msgstr ""
551 msgstr ""
551
552
552 #: rhodecode/controllers/admin/users.py:124
553 #: rhodecode/controllers/admin/users.py:124
553 msgid "User updated successfully"
554 msgid "User updated successfully"
554 msgstr ""
555 msgstr ""
555
556
556 #: rhodecode/controllers/admin/users.py:155
557 #: rhodecode/controllers/admin/users.py:155
557 msgid "successfully deleted user"
558 msgid "successfully deleted user"
558 msgstr ""
559 msgstr ""
559
560
560 #: rhodecode/controllers/admin/users.py:160
561 #: rhodecode/controllers/admin/users.py:160
561 msgid "An error occurred during deletion of user"
562 msgid "An error occurred during deletion of user"
562 msgstr ""
563 msgstr ""
563
564
564 #: rhodecode/controllers/admin/users.py:175
565 #: rhodecode/controllers/admin/users.py:175
565 msgid "You can't edit this user"
566 msgid "You can't edit this user"
566 msgstr ""
567 msgstr ""
567
568
568 #: rhodecode/controllers/admin/users.py:205
569 #: rhodecode/controllers/admin/users.py:205
569 #: rhodecode/controllers/admin/users_groups.py:219
570 #: rhodecode/controllers/admin/users_groups.py:219
570 msgid "Granted 'repository create' permission to user"
571 msgid "Granted 'repository create' permission to user"
571 msgstr ""
572 msgstr ""
572
573
573 #: rhodecode/controllers/admin/users.py:214
574 #: rhodecode/controllers/admin/users.py:214
574 #: rhodecode/controllers/admin/users_groups.py:229
575 #: rhodecode/controllers/admin/users_groups.py:229
575 msgid "Revoked 'repository create' permission to user"
576 msgid "Revoked 'repository create' permission to user"
576 msgstr ""
577 msgstr ""
577
578
578 #: rhodecode/controllers/admin/users_groups.py:84
579 #: rhodecode/controllers/admin/users_groups.py:84
579 #, python-format
580 #, python-format
580 msgid "created users group %s"
581 msgid "created users group %s"
581 msgstr ""
582 msgstr ""
582
583
583 #: rhodecode/controllers/admin/users_groups.py:95
584 #: rhodecode/controllers/admin/users_groups.py:95
584 #, python-format
585 #, python-format
585 msgid "error occurred during creation of users group %s"
586 msgid "error occurred during creation of users group %s"
586 msgstr ""
587 msgstr ""
587
588
588 #: rhodecode/controllers/admin/users_groups.py:135
589 #: rhodecode/controllers/admin/users_groups.py:135
589 #, python-format
590 #, python-format
590 msgid "updated users group %s"
591 msgid "updated users group %s"
591 msgstr ""
592 msgstr ""
592
593
593 #: rhodecode/controllers/admin/users_groups.py:152
594 #: rhodecode/controllers/admin/users_groups.py:152
594 #, python-format
595 #, python-format
595 msgid "error occurred during update of users group %s"
596 msgid "error occurred during update of users group %s"
596 msgstr ""
597 msgstr ""
597
598
598 #: rhodecode/controllers/admin/users_groups.py:169
599 #: rhodecode/controllers/admin/users_groups.py:169
599 msgid "successfully deleted users group"
600 msgid "successfully deleted users group"
600 msgstr ""
601 msgstr ""
601
602
602 #: rhodecode/controllers/admin/users_groups.py:174
603 #: rhodecode/controllers/admin/users_groups.py:174
603 msgid "An error occurred during deletion of users group"
604 msgid "An error occurred during deletion of users group"
604 msgstr ""
605 msgstr ""
605
606
606 #: rhodecode/lib/auth.py:497
607 #: rhodecode/lib/auth.py:497
607 msgid "You need to be a registered user to perform this action"
608 msgid "You need to be a registered user to perform this action"
608 msgstr ""
609 msgstr ""
609
610
610 #: rhodecode/lib/auth.py:538
611 #: rhodecode/lib/auth.py:538
611 msgid "You need to be a signed in to view this page"
612 msgid "You need to be a signed in to view this page"
612 msgstr ""
613 msgstr ""
613
614
614 #: rhodecode/lib/diffs.py:78
615 #: rhodecode/lib/diffs.py:78
615 msgid "Changeset was too big and was cut off, use diff menu to display this diff"
616 msgid "Changeset was too big and was cut off, use diff menu to display this diff"
616 msgstr ""
617 msgstr ""
617
618
618 #: rhodecode/lib/diffs.py:88
619 #: rhodecode/lib/diffs.py:88
619 msgid "No changes detected"
620 msgid "No changes detected"
620 msgstr ""
621 msgstr ""
621
622
622 #: rhodecode/lib/helpers.py:415
623 #: rhodecode/lib/helpers.py:350
624 #, python-format
625 msgid "%a, %d %b %Y %H:%M:%S"
626 msgstr ""
627
628 #: rhodecode/lib/helpers.py:423
623 msgid "True"
629 msgid "True"
624 msgstr ""
630 msgstr ""
625
631
626 #: rhodecode/lib/helpers.py:419
632 #: rhodecode/lib/helpers.py:427
627 msgid "False"
633 msgid "False"
628 msgstr ""
634 msgstr ""
629
635
630 #: rhodecode/lib/helpers.py:463
636 #: rhodecode/lib/helpers.py:471
631 msgid "Changeset not found"
637 msgid "Changeset not found"
632 msgstr ""
638 msgstr ""
633
639
634 #: rhodecode/lib/helpers.py:486
640 #: rhodecode/lib/helpers.py:494
635 #, python-format
641 #, python-format
636 msgid "Show all combined changesets %s->%s"
642 msgid "Show all combined changesets %s->%s"
637 msgstr ""
643 msgstr ""
638
644
639 #: rhodecode/lib/helpers.py:492
645 #: rhodecode/lib/helpers.py:500
640 msgid "compare view"
646 msgid "compare view"
641 msgstr ""
647 msgstr ""
642
648
643 #: rhodecode/lib/helpers.py:512
649 #: rhodecode/lib/helpers.py:520
644 msgid "and"
650 msgid "and"
645 msgstr ""
651 msgstr ""
646
652
647 #: rhodecode/lib/helpers.py:513
653 #: rhodecode/lib/helpers.py:521
648 #, python-format
654 #, python-format
649 msgid "%s more"
655 msgid "%s more"
650 msgstr ""
656 msgstr ""
651
657
652 #: rhodecode/lib/helpers.py:514 rhodecode/templates/changelog/changelog.html:40
658 #: rhodecode/lib/helpers.py:522 rhodecode/templates/changelog/changelog.html:40
653 msgid "revisions"
659 msgid "revisions"
654 msgstr ""
660 msgstr ""
655
661
656 #: rhodecode/lib/helpers.py:537
662 #: rhodecode/lib/helpers.py:545
657 msgid "fork name "
663 msgid "fork name "
658 msgstr ""
664 msgstr ""
659
665
660 #: rhodecode/lib/helpers.py:550
666 #: rhodecode/lib/helpers.py:558
661 msgid "[deleted] repository"
667 msgid "[deleted] repository"
662 msgstr ""
668 msgstr ""
663
669
664 #: rhodecode/lib/helpers.py:552 rhodecode/lib/helpers.py:562
670 #: rhodecode/lib/helpers.py:560 rhodecode/lib/helpers.py:570
665 msgid "[created] repository"
671 msgid "[created] repository"
666 msgstr ""
672 msgstr ""
667
673
668 #: rhodecode/lib/helpers.py:554
674 #: rhodecode/lib/helpers.py:562
669 msgid "[created] repository as fork"
675 msgid "[created] repository as fork"
670 msgstr ""
676 msgstr ""
671
677
672 #: rhodecode/lib/helpers.py:556 rhodecode/lib/helpers.py:564
678 #: rhodecode/lib/helpers.py:564 rhodecode/lib/helpers.py:572
673 msgid "[forked] repository"
679 msgid "[forked] repository"
674 msgstr ""
680 msgstr ""
675
681
676 #: rhodecode/lib/helpers.py:558 rhodecode/lib/helpers.py:566
682 #: rhodecode/lib/helpers.py:566 rhodecode/lib/helpers.py:574
677 msgid "[updated] repository"
683 msgid "[updated] repository"
678 msgstr ""
684 msgstr ""
679
685
680 #: rhodecode/lib/helpers.py:560
681 msgid "[delete] repository"
682 msgstr ""
683
684 #: rhodecode/lib/helpers.py:568
686 #: rhodecode/lib/helpers.py:568
685 msgid "[created] user"
687 msgid "[delete] repository"
686 msgstr ""
687
688 #: rhodecode/lib/helpers.py:570
689 msgid "[updated] user"
690 msgstr ""
691
692 #: rhodecode/lib/helpers.py:572
693 msgid "[created] users group"
694 msgstr ""
695
696 #: rhodecode/lib/helpers.py:574
697 msgid "[updated] users group"
698 msgstr ""
688 msgstr ""
699
689
700 #: rhodecode/lib/helpers.py:576
690 #: rhodecode/lib/helpers.py:576
701 msgid "[commented] on revision in repository"
691 msgid "[created] user"
702 msgstr ""
692 msgstr ""
703
693
704 #: rhodecode/lib/helpers.py:578
694 #: rhodecode/lib/helpers.py:578
705 msgid "[pushed] into"
695 msgid "[updated] user"
706 msgstr ""
696 msgstr ""
707
697
708 #: rhodecode/lib/helpers.py:580
698 #: rhodecode/lib/helpers.py:580
709 msgid "[committed via RhodeCode] into repository"
699 msgid "[created] users group"
710 msgstr ""
700 msgstr ""
711
701
712 #: rhodecode/lib/helpers.py:582
702 #: rhodecode/lib/helpers.py:582
713 msgid "[pulled from remote] into repository"
703 msgid "[updated] users group"
714 msgstr ""
704 msgstr ""
715
705
716 #: rhodecode/lib/helpers.py:584
706 #: rhodecode/lib/helpers.py:584
717 msgid "[pulled] from"
707 msgid "[commented] on revision in repository"
718 msgstr ""
708 msgstr ""
719
709
720 #: rhodecode/lib/helpers.py:586
710 #: rhodecode/lib/helpers.py:586
721 msgid "[started following] repository"
711 msgid "[pushed] into"
722 msgstr ""
712 msgstr ""
723
713
724 #: rhodecode/lib/helpers.py:588
714 #: rhodecode/lib/helpers.py:588
715 msgid "[committed via RhodeCode] into repository"
716 msgstr ""
717
718 #: rhodecode/lib/helpers.py:590
719 msgid "[pulled from remote] into repository"
720 msgstr ""
721
722 #: rhodecode/lib/helpers.py:592
723 msgid "[pulled] from"
724 msgstr ""
725
726 #: rhodecode/lib/helpers.py:594
727 msgid "[started following] repository"
728 msgstr ""
729
730 #: rhodecode/lib/helpers.py:596
725 msgid "[stopped following] repository"
731 msgid "[stopped following] repository"
726 msgstr ""
732 msgstr ""
727
733
728 #: rhodecode/lib/helpers.py:752
734 #: rhodecode/lib/helpers.py:760
729 #, python-format
735 #, python-format
730 msgid " and %s more"
736 msgid " and %s more"
731 msgstr ""
737 msgstr ""
732
738
733 #: rhodecode/lib/helpers.py:756
739 #: rhodecode/lib/helpers.py:764
734 msgid "No Files"
740 msgid "No Files"
735 msgstr ""
741 msgstr ""
736
742
737 #: rhodecode/lib/utils2.py:335
743 #: rhodecode/lib/utils2.py:335
738 #, python-format
744 #, python-format
739 msgid "%d year"
745 msgid "%d year"
740 msgid_plural "%d years"
746 msgid_plural "%d years"
741 msgstr[0] ""
747 msgstr[0] ""
742 msgstr[1] ""
748 msgstr[1] ""
743
749
744 #: rhodecode/lib/utils2.py:336
750 #: rhodecode/lib/utils2.py:336
745 #, python-format
751 #, python-format
746 msgid "%d month"
752 msgid "%d month"
747 msgid_plural "%d months"
753 msgid_plural "%d months"
748 msgstr[0] ""
754 msgstr[0] ""
749 msgstr[1] ""
755 msgstr[1] ""
750
756
751 #: rhodecode/lib/utils2.py:337
757 #: rhodecode/lib/utils2.py:337
752 #, python-format
758 #, python-format
753 msgid "%d day"
759 msgid "%d day"
754 msgid_plural "%d days"
760 msgid_plural "%d days"
755 msgstr[0] ""
761 msgstr[0] ""
756 msgstr[1] ""
762 msgstr[1] ""
757
763
758 #: rhodecode/lib/utils2.py:338
764 #: rhodecode/lib/utils2.py:338
759 #, python-format
765 #, python-format
760 msgid "%d hour"
766 msgid "%d hour"
761 msgid_plural "%d hours"
767 msgid_plural "%d hours"
762 msgstr[0] ""
768 msgstr[0] ""
763 msgstr[1] ""
769 msgstr[1] ""
764
770
765 #: rhodecode/lib/utils2.py:339
771 #: rhodecode/lib/utils2.py:339
766 #, python-format
772 #, python-format
767 msgid "%d minute"
773 msgid "%d minute"
768 msgid_plural "%d minutes"
774 msgid_plural "%d minutes"
769 msgstr[0] ""
775 msgstr[0] ""
770 msgstr[1] ""
776 msgstr[1] ""
771
777
772 #: rhodecode/lib/utils2.py:340
778 #: rhodecode/lib/utils2.py:340
773 #, python-format
779 #, python-format
774 msgid "%d second"
780 msgid "%d second"
775 msgid_plural "%d seconds"
781 msgid_plural "%d seconds"
776 msgstr[0] ""
782 msgstr[0] ""
777 msgstr[1] ""
783 msgstr[1] ""
778
784
779 #: rhodecode/lib/utils2.py:355
785 #: rhodecode/lib/utils2.py:355
780 #, python-format
786 #, python-format
781 msgid "%s ago"
787 msgid "%s ago"
782 msgstr ""
788 msgstr ""
783
789
784 #: rhodecode/lib/utils2.py:357
790 #: rhodecode/lib/utils2.py:357
785 #, python-format
791 #, python-format
786 msgid "%s and %s ago"
792 msgid "%s and %s ago"
787 msgstr ""
793 msgstr ""
788
794
789 #: rhodecode/lib/utils2.py:360
795 #: rhodecode/lib/utils2.py:360
790 msgid "just now"
796 msgid "just now"
791 msgstr ""
797 msgstr ""
792
798
793 #: rhodecode/lib/celerylib/tasks.py:269
799 #: rhodecode/lib/celerylib/tasks.py:269
794 msgid "password reset link"
800 msgid "password reset link"
795 msgstr ""
801 msgstr ""
796
802
797 #: rhodecode/model/comment.py:85
803 #: rhodecode/model/comment.py:85
798 #, python-format
804 #, python-format
799 msgid "on line %s"
805 msgid "on line %s"
800 msgstr ""
806 msgstr ""
801
807
802 #: rhodecode/model/comment.py:113
808 #: rhodecode/model/comment.py:114
803 msgid "[Mention]"
809 msgid "[Mention]"
804 msgstr ""
810 msgstr ""
805
811
806 #: rhodecode/model/forms.py:72
812 #: rhodecode/model/forms.py:72
807 msgid "Invalid username"
813 msgid "Invalid username"
808 msgstr ""
814 msgstr ""
809
815
810 #: rhodecode/model/forms.py:80
816 #: rhodecode/model/forms.py:80
811 msgid "This username already exists"
817 msgid "This username already exists"
812 msgstr ""
818 msgstr ""
813
819
814 #: rhodecode/model/forms.py:85
820 #: rhodecode/model/forms.py:85
815 msgid ""
821 msgid ""
816 "Username may only contain alphanumeric characters underscores, periods or "
822 "Username may only contain alphanumeric characters underscores, periods or "
817 "dashes and must begin with alphanumeric character"
823 "dashes and must begin with alphanumeric character"
818 msgstr ""
824 msgstr ""
819
825
820 #: rhodecode/model/forms.py:101
826 #: rhodecode/model/forms.py:101
821 msgid "Invalid group name"
827 msgid "Invalid group name"
822 msgstr ""
828 msgstr ""
823
829
824 #: rhodecode/model/forms.py:111
830 #: rhodecode/model/forms.py:111
825 msgid "This users group already exists"
831 msgid "This users group already exists"
826 msgstr ""
832 msgstr ""
827
833
828 #: rhodecode/model/forms.py:117
834 #: rhodecode/model/forms.py:117
829 msgid ""
835 msgid ""
830 "RepoGroup name may only contain alphanumeric characters underscores, periods"
836 "RepoGroup name may only contain alphanumeric characters underscores, periods"
831 " or dashes and must begin with alphanumeric character"
837 " or dashes and must begin with alphanumeric character"
832 msgstr ""
838 msgstr ""
833
839
834 #: rhodecode/model/forms.py:145
840 #: rhodecode/model/forms.py:145
835 msgid "Cannot assign this group as parent"
841 msgid "Cannot assign this group as parent"
836 msgstr ""
842 msgstr ""
837
843
838 #: rhodecode/model/forms.py:164
844 #: rhodecode/model/forms.py:164
839 msgid "This group already exists"
845 msgid "This group already exists"
840 msgstr ""
846 msgstr ""
841
847
842 #: rhodecode/model/forms.py:176
848 #: rhodecode/model/forms.py:176
843 msgid "Repository with this name already exists"
849 msgid "Repository with this name already exists"
844 msgstr ""
850 msgstr ""
845
851
846 #: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
852 #: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
847 #: rhodecode/model/forms.py:213
853 #: rhodecode/model/forms.py:213
848 msgid "Invalid characters in password"
854 msgid "Invalid characters in password"
849 msgstr ""
855 msgstr ""
850
856
851 #: rhodecode/model/forms.py:226
857 #: rhodecode/model/forms.py:226
852 msgid "Passwords do not match"
858 msgid "Passwords do not match"
853 msgstr ""
859 msgstr ""
854
860
855 #: rhodecode/model/forms.py:232
861 #: rhodecode/model/forms.py:232
856 msgid "invalid password"
862 msgid "invalid password"
857 msgstr ""
863 msgstr ""
858
864
859 #: rhodecode/model/forms.py:233
865 #: rhodecode/model/forms.py:233
860 msgid "invalid user name"
866 msgid "invalid user name"
861 msgstr ""
867 msgstr ""
862
868
863 #: rhodecode/model/forms.py:234
869 #: rhodecode/model/forms.py:234
864 msgid "Your account is disabled"
870 msgid "Your account is disabled"
865 msgstr ""
871 msgstr ""
866
872
867 #: rhodecode/model/forms.py:274
873 #: rhodecode/model/forms.py:274
868 msgid "This username is not valid"
874 msgid "This username is not valid"
869 msgstr ""
875 msgstr ""
870
876
871 #: rhodecode/model/forms.py:287
877 #: rhodecode/model/forms.py:287
872 msgid "This repository name is disallowed"
878 msgid "This repository name is disallowed"
873 msgstr ""
879 msgstr ""
874
880
875 #: rhodecode/model/forms.py:310
881 #: rhodecode/model/forms.py:310
876 #, python-format
882 #, python-format
877 msgid "This repository already exists in a group \"%s\""
883 msgid "This repository already exists in a group \"%s\""
878 msgstr ""
884 msgstr ""
879
885
880 #: rhodecode/model/forms.py:317
886 #: rhodecode/model/forms.py:317
881 #, python-format
887 #, python-format
882 msgid "There is a group with this name already \"%s\""
888 msgid "There is a group with this name already \"%s\""
883 msgstr ""
889 msgstr ""
884
890
885 #: rhodecode/model/forms.py:324
891 #: rhodecode/model/forms.py:324
886 msgid "This repository already exists"
892 msgid "This repository already exists"
887 msgstr ""
893 msgstr ""
888
894
889 #: rhodecode/model/forms.py:367
895 #: rhodecode/model/forms.py:367
890 msgid "invalid clone url"
896 msgid "invalid clone url"
891 msgstr ""
897 msgstr ""
892
898
893 #: rhodecode/model/forms.py:384
899 #: rhodecode/model/forms.py:384
894 msgid "Invalid clone url, provide a valid clone http\\s url"
900 msgid "Invalid clone url, provide a valid clone http\\s url"
895 msgstr ""
901 msgstr ""
896
902
897 #: rhodecode/model/forms.py:398
903 #: rhodecode/model/forms.py:398
898 msgid "Fork have to be the same type as original"
904 msgid "Fork have to be the same type as original"
899 msgstr ""
905 msgstr ""
900
906
901 #: rhodecode/model/forms.py:414
907 #: rhodecode/model/forms.py:414
902 msgid "This username or users group name is not valid"
908 msgid "This username or users group name is not valid"
903 msgstr ""
909 msgstr ""
904
910
905 #: rhodecode/model/forms.py:480
911 #: rhodecode/model/forms.py:480
906 msgid "This is not a valid path"
912 msgid "This is not a valid path"
907 msgstr ""
913 msgstr ""
908
914
909 #: rhodecode/model/forms.py:494
915 #: rhodecode/model/forms.py:494
910 msgid "This e-mail address is already taken"
916 msgid "This e-mail address is already taken"
911 msgstr ""
917 msgstr ""
912
918
913 #: rhodecode/model/forms.py:507
919 #: rhodecode/model/forms.py:507
914 msgid "This e-mail address doesn't exist."
920 msgid "This e-mail address doesn't exist."
915 msgstr ""
921 msgstr ""
916
922
917 #: rhodecode/model/forms.py:530
923 #: rhodecode/model/forms.py:530
918 msgid ""
924 msgid ""
919 "The LDAP Login attribute of the CN must be specified - this is the name of "
925 "The LDAP Login attribute of the CN must be specified - this is the name of "
920 "the attribute that is equivalent to 'username'"
926 "the attribute that is equivalent to 'username'"
921 msgstr ""
927 msgstr ""
922
928
923 #: rhodecode/model/forms.py:549
929 #: rhodecode/model/forms.py:549
924 msgid "Please enter a login"
930 msgid "Please enter a login"
925 msgstr ""
931 msgstr ""
926
932
927 #: rhodecode/model/forms.py:550
933 #: rhodecode/model/forms.py:550
928 #, python-format
934 #, python-format
929 msgid "Enter a value %(min)i characters long or more"
935 msgid "Enter a value %(min)i characters long or more"
930 msgstr ""
936 msgstr ""
931
937
932 #: rhodecode/model/forms.py:558
938 #: rhodecode/model/forms.py:558
933 msgid "Please enter a password"
939 msgid "Please enter a password"
934 msgstr ""
940 msgstr ""
935
941
936 #: rhodecode/model/forms.py:559
942 #: rhodecode/model/forms.py:559
937 #, python-format
943 #, python-format
938 msgid "Enter %(min)i characters or more"
944 msgid "Enter %(min)i characters or more"
939 msgstr ""
945 msgstr ""
940
946
941 #: rhodecode/model/notification.py:175
947 #: rhodecode/model/notification.py:178
942 msgid "commented on commit"
948 msgid "commented on commit"
943 msgstr ""
949 msgstr ""
944
950
945 #: rhodecode/model/notification.py:176
951 #: rhodecode/model/notification.py:179
946 msgid "sent message"
952 msgid "sent message"
947 msgstr ""
953 msgstr ""
948
954
949 #: rhodecode/model/notification.py:177
955 #: rhodecode/model/notification.py:180
950 msgid "mentioned you"
956 msgid "mentioned you"
951 msgstr ""
957 msgstr ""
952
958
953 #: rhodecode/model/notification.py:178
959 #: rhodecode/model/notification.py:181
954 msgid "registered in RhodeCode"
960 msgid "registered in RhodeCode"
955 msgstr ""
961 msgstr ""
956
962
957 #: rhodecode/model/user.py:235
963 #: rhodecode/model/user.py:235
958 msgid "new user registration"
964 msgid "new user registration"
959 msgstr ""
965 msgstr ""
960
966
961 #: rhodecode/model/user.py:259 rhodecode/model/user.py:279
967 #: rhodecode/model/user.py:259 rhodecode/model/user.py:279
962 msgid "You can't Edit this user since it's crucial for entire application"
968 msgid "You can't Edit this user since it's crucial for entire application"
963 msgstr ""
969 msgstr ""
964
970
965 #: rhodecode/model/user.py:300
971 #: rhodecode/model/user.py:300
966 msgid "You can't remove this user since it's crucial for entire application"
972 msgid "You can't remove this user since it's crucial for entire application"
967 msgstr ""
973 msgstr ""
968
974
969 #: rhodecode/model/user.py:306
975 #: rhodecode/model/user.py:306
970 #, python-format
976 #, python-format
971 msgid ""
977 msgid ""
972 "user \"%s\" still owns %s repositories and cannot be removed. Switch owners "
978 "user \"%s\" still owns %s repositories and cannot be removed. Switch owners "
973 "or remove those repositories. %s"
979 "or remove those repositories. %s"
974 msgstr ""
980 msgstr ""
975
981
976 #: rhodecode/templates/index.html:3
982 #: rhodecode/templates/index.html:3
977 msgid "Dashboard"
983 msgid "Dashboard"
978 msgstr ""
984 msgstr ""
979
985
980 #: rhodecode/templates/index_base.html:6
986 #: rhodecode/templates/index_base.html:6
987 #: rhodecode/templates/repo_switcher_list.html:4
981 #: rhodecode/templates/admin/users/user_edit_my_account.html:31
988 #: rhodecode/templates/admin/users/user_edit_my_account.html:31
982 #: rhodecode/templates/bookmarks/bookmarks.html:10
989 #: rhodecode/templates/bookmarks/bookmarks.html:10
983 #: rhodecode/templates/branches/branches.html:9
990 #: rhodecode/templates/branches/branches.html:9
984 #: rhodecode/templates/journal/journal.html:31
991 #: rhodecode/templates/journal/journal.html:31
985 #: rhodecode/templates/tags/tags.html:10
992 #: rhodecode/templates/tags/tags.html:10
986 msgid "quick filter..."
993 msgid "quick filter..."
987 msgstr ""
994 msgstr ""
988
995
989 #: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
996 #: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
990 msgid "repositories"
997 msgid "repositories"
991 msgstr ""
998 msgstr ""
992
999
993 #: rhodecode/templates/index_base.html:13 rhodecode/templates/index_base.html:15
1000 #: rhodecode/templates/index_base.html:13 rhodecode/templates/index_base.html:15
994 #: rhodecode/templates/admin/repos/repos.html:22
1001 #: rhodecode/templates/admin/repos/repos.html:22
995 msgid "ADD REPOSITORY"
1002 msgid "ADD REPOSITORY"
996 msgstr ""
1003 msgstr ""
997
1004
998 #: rhodecode/templates/index_base.html:29
1005 #: rhodecode/templates/index_base.html:29
999 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
1006 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
1000 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
1007 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
1001 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
1008 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
1002 #: rhodecode/templates/admin/users_groups/users_group_add.html:32
1009 #: rhodecode/templates/admin/users_groups/users_group_add.html:32
1003 #: rhodecode/templates/admin/users_groups/users_group_edit.html:33
1010 #: rhodecode/templates/admin/users_groups/users_group_edit.html:33
1004 msgid "Group name"
1011 msgid "Group name"
1005 msgstr ""
1012 msgstr ""
1006
1013
1007 #: rhodecode/templates/index_base.html:30 rhodecode/templates/index_base.html:67
1014 #: rhodecode/templates/index_base.html:30 rhodecode/templates/index_base.html:67
1008 #: rhodecode/templates/index_base.html:132 rhodecode/templates/index_base.html:158
1015 #: rhodecode/templates/index_base.html:132 rhodecode/templates/index_base.html:158
1009 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1016 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1010 #: rhodecode/templates/admin/repos/repo_edit.html:66
1017 #: rhodecode/templates/admin/repos/repo_edit.html:66
1011 #: rhodecode/templates/admin/repos/repos.html:37
1018 #: rhodecode/templates/admin/repos/repos.html:37
1012 #: rhodecode/templates/admin/repos/repos.html:84
1019 #: rhodecode/templates/admin/repos/repos.html:84
1013 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
1020 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
1014 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
1021 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
1015 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
1022 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
1016 #: rhodecode/templates/forks/fork.html:49
1023 #: rhodecode/templates/forks/fork.html:49
1017 #: rhodecode/templates/settings/repo_settings.html:57
1024 #: rhodecode/templates/settings/repo_settings.html:57
1018 #: rhodecode/templates/summary/summary.html:100
1025 #: rhodecode/templates/summary/summary.html:100
1019 msgid "Description"
1026 msgid "Description"
1020 msgstr ""
1027 msgstr ""
1021
1028
1022 #: rhodecode/templates/index_base.html:40
1029 #: rhodecode/templates/index_base.html:40
1023 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
1030 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
1024 msgid "Repositories group"
1031 msgid "Repositories group"
1025 msgstr ""
1032 msgstr ""
1026
1033
1027 #: rhodecode/templates/index_base.html:66 rhodecode/templates/index_base.html:156
1034 #: rhodecode/templates/index_base.html:66 rhodecode/templates/index_base.html:156
1028 #: rhodecode/templates/admin/repos/repo_add_base.html:9
1035 #: rhodecode/templates/admin/repos/repo_add_base.html:9
1029 #: rhodecode/templates/admin/repos/repo_edit.html:32
1036 #: rhodecode/templates/admin/repos/repo_edit.html:32
1030 #: rhodecode/templates/admin/repos/repos.html:36
1037 #: rhodecode/templates/admin/repos/repos.html:36
1031 #: rhodecode/templates/admin/repos/repos.html:82
1038 #: rhodecode/templates/admin/repos/repos.html:82
1032 #: rhodecode/templates/admin/users/user_edit_my_account.html:49
1039 #: rhodecode/templates/admin/users/user_edit_my_account.html:49
1033 #: rhodecode/templates/admin/users/user_edit_my_account.html:99
1040 #: rhodecode/templates/admin/users/user_edit_my_account.html:99
1034 #: rhodecode/templates/admin/users/user_edit_my_account.html:165
1041 #: rhodecode/templates/admin/users/user_edit_my_account.html:165
1035 #: rhodecode/templates/admin/users/user_edit_my_account.html:200
1042 #: rhodecode/templates/admin/users/user_edit_my_account.html:200
1036 #: rhodecode/templates/bookmarks/bookmarks.html:36
1043 #: rhodecode/templates/bookmarks/bookmarks.html:36
1037 #: rhodecode/templates/bookmarks/bookmarks_data.html:6
1044 #: rhodecode/templates/bookmarks/bookmarks_data.html:6
1038 #: rhodecode/templates/branches/branches.html:36
1045 #: rhodecode/templates/branches/branches.html:36
1039 #: rhodecode/templates/files/files_browser.html:47
1046 #: rhodecode/templates/files/files_browser.html:47
1040 #: rhodecode/templates/journal/journal.html:50
1047 #: rhodecode/templates/journal/journal.html:50
1041 #: rhodecode/templates/journal/journal.html:98
1048 #: rhodecode/templates/journal/journal.html:98
1042 #: rhodecode/templates/journal/journal.html:177
1049 #: rhodecode/templates/journal/journal.html:177
1043 #: rhodecode/templates/settings/repo_settings.html:31
1050 #: rhodecode/templates/settings/repo_settings.html:31
1044 #: rhodecode/templates/summary/summary.html:38
1051 #: rhodecode/templates/summary/summary.html:38
1045 #: rhodecode/templates/summary/summary.html:114
1052 #: rhodecode/templates/summary/summary.html:114
1046 #: rhodecode/templates/tags/tags.html:36 rhodecode/templates/tags/tags_data.html:6
1053 #: rhodecode/templates/tags/tags.html:36 rhodecode/templates/tags/tags_data.html:6
1047 msgid "Name"
1054 msgid "Name"
1048 msgstr ""
1055 msgstr ""
1049
1056
1050 #: rhodecode/templates/index_base.html:68
1057 #: rhodecode/templates/index_base.html:68
1051 #: rhodecode/templates/admin/repos/repos.html:38
1058 #: rhodecode/templates/admin/repos/repos.html:38
1052 msgid "Last change"
1059 msgid "Last change"
1053 msgstr ""
1060 msgstr ""
1054
1061
1055 #: rhodecode/templates/index_base.html:69 rhodecode/templates/index_base.html:161
1062 #: rhodecode/templates/index_base.html:69 rhodecode/templates/index_base.html:161
1056 #: rhodecode/templates/admin/repos/repos.html:39
1063 #: rhodecode/templates/admin/repos/repos.html:39
1057 #: rhodecode/templates/admin/repos/repos.html:87
1064 #: rhodecode/templates/admin/repos/repos.html:87
1058 #: rhodecode/templates/admin/users/user_edit_my_account.html:167
1065 #: rhodecode/templates/admin/users/user_edit_my_account.html:167
1059 #: rhodecode/templates/journal/journal.html:179
1066 #: rhodecode/templates/journal/journal.html:179
1060 msgid "Tip"
1067 msgid "Tip"
1061 msgstr ""
1068 msgstr ""
1062
1069
1063 #: rhodecode/templates/index_base.html:70 rhodecode/templates/index_base.html:163
1070 #: rhodecode/templates/index_base.html:70 rhodecode/templates/index_base.html:163
1064 #: rhodecode/templates/admin/repos/repo_edit.html:103
1071 #: rhodecode/templates/admin/repos/repo_edit.html:103
1065 #: rhodecode/templates/admin/repos/repos.html:89
1072 #: rhodecode/templates/admin/repos/repos.html:89
1066 msgid "Owner"
1073 msgid "Owner"
1067 msgstr ""
1074 msgstr ""
1068
1075
1069 #: rhodecode/templates/index_base.html:71
1076 #: rhodecode/templates/index_base.html:71
1070 #: rhodecode/templates/journal/public_journal.html:20
1077 #: rhodecode/templates/journal/public_journal.html:20
1071 #: rhodecode/templates/summary/summary.html:43
1078 #: rhodecode/templates/summary/summary.html:43
1072 #: rhodecode/templates/summary/summary.html:46
1079 #: rhodecode/templates/summary/summary.html:46
1073 msgid "RSS"
1080 msgid "RSS"
1074 msgstr ""
1081 msgstr ""
1075
1082
1076 #: rhodecode/templates/index_base.html:72
1083 #: rhodecode/templates/index_base.html:72
1077 #: rhodecode/templates/journal/public_journal.html:23
1084 #: rhodecode/templates/journal/public_journal.html:23
1078 msgid "Atom"
1085 msgid "Atom"
1079 msgstr ""
1086 msgstr ""
1080
1087
1081 #: rhodecode/templates/index_base.html:102 rhodecode/templates/index_base.html:104
1088 #: rhodecode/templates/index_base.html:102 rhodecode/templates/index_base.html:104
1082 #, python-format
1089 #, python-format
1083 msgid "Subscribe to %s rss feed"
1090 msgid "Subscribe to %s rss feed"
1084 msgstr ""
1091 msgstr ""
1085
1092
1086 #: rhodecode/templates/index_base.html:109 rhodecode/templates/index_base.html:111
1093 #: rhodecode/templates/index_base.html:109 rhodecode/templates/index_base.html:111
1087 #, python-format
1094 #, python-format
1088 msgid "Subscribe to %s atom feed"
1095 msgid "Subscribe to %s atom feed"
1089 msgstr ""
1096 msgstr ""
1090
1097
1091 #: rhodecode/templates/index_base.html:130
1098 #: rhodecode/templates/index_base.html:130
1092 msgid "Group Name"
1099 msgid "Group Name"
1093 msgstr ""
1100 msgstr ""
1094
1101
1095 #: rhodecode/templates/index_base.html:148 rhodecode/templates/index_base.html:188
1102 #: rhodecode/templates/index_base.html:148 rhodecode/templates/index_base.html:188
1096 #: rhodecode/templates/admin/repos/repos.html:112
1103 #: rhodecode/templates/admin/repos/repos.html:112
1097 #: rhodecode/templates/admin/users/user_edit_my_account.html:186
1104 #: rhodecode/templates/admin/users/user_edit_my_account.html:186
1098 #: rhodecode/templates/bookmarks/bookmarks.html:60
1105 #: rhodecode/templates/bookmarks/bookmarks.html:60
1099 #: rhodecode/templates/branches/branches.html:60
1106 #: rhodecode/templates/branches/branches.html:60
1100 #: rhodecode/templates/journal/journal.html:202
1107 #: rhodecode/templates/journal/journal.html:202
1101 #: rhodecode/templates/tags/tags.html:60
1108 #: rhodecode/templates/tags/tags.html:60
1102 msgid "Click to sort ascending"
1109 msgid "Click to sort ascending"
1103 msgstr ""
1110 msgstr ""
1104
1111
1105 #: rhodecode/templates/index_base.html:149 rhodecode/templates/index_base.html:189
1112 #: rhodecode/templates/index_base.html:149 rhodecode/templates/index_base.html:189
1106 #: rhodecode/templates/admin/repos/repos.html:113
1113 #: rhodecode/templates/admin/repos/repos.html:113
1107 #: rhodecode/templates/admin/users/user_edit_my_account.html:187
1114 #: rhodecode/templates/admin/users/user_edit_my_account.html:187
1108 #: rhodecode/templates/bookmarks/bookmarks.html:61
1115 #: rhodecode/templates/bookmarks/bookmarks.html:61
1109 #: rhodecode/templates/branches/branches.html:61
1116 #: rhodecode/templates/branches/branches.html:61
1110 #: rhodecode/templates/journal/journal.html:203
1117 #: rhodecode/templates/journal/journal.html:203
1111 #: rhodecode/templates/tags/tags.html:61
1118 #: rhodecode/templates/tags/tags.html:61
1112 msgid "Click to sort descending"
1119 msgid "Click to sort descending"
1113 msgstr ""
1120 msgstr ""
1114
1121
1115 #: rhodecode/templates/index_base.html:159
1122 #: rhodecode/templates/index_base.html:159
1116 #: rhodecode/templates/admin/repos/repos.html:85
1123 #: rhodecode/templates/admin/repos/repos.html:85
1117 msgid "Last Change"
1124 msgid "Last Change"
1118 msgstr ""
1125 msgstr ""
1119
1126
1120 #: rhodecode/templates/index_base.html:190
1127 #: rhodecode/templates/index_base.html:190
1121 #: rhodecode/templates/admin/repos/repos.html:114
1128 #: rhodecode/templates/admin/repos/repos.html:114
1122 #: rhodecode/templates/admin/users/user_edit_my_account.html:188
1129 #: rhodecode/templates/admin/users/user_edit_my_account.html:188
1123 #: rhodecode/templates/bookmarks/bookmarks.html:62
1130 #: rhodecode/templates/bookmarks/bookmarks.html:62
1124 #: rhodecode/templates/branches/branches.html:62
1131 #: rhodecode/templates/branches/branches.html:62
1125 #: rhodecode/templates/journal/journal.html:204
1132 #: rhodecode/templates/journal/journal.html:204
1126 #: rhodecode/templates/tags/tags.html:62
1133 #: rhodecode/templates/tags/tags.html:62
1127 msgid "No records found."
1134 msgid "No records found."
1128 msgstr ""
1135 msgstr ""
1129
1136
1130 #: rhodecode/templates/index_base.html:191
1137 #: rhodecode/templates/index_base.html:191
1131 #: rhodecode/templates/admin/repos/repos.html:115
1138 #: rhodecode/templates/admin/repos/repos.html:115
1132 #: rhodecode/templates/admin/users/user_edit_my_account.html:189
1139 #: rhodecode/templates/admin/users/user_edit_my_account.html:189
1133 #: rhodecode/templates/bookmarks/bookmarks.html:63
1140 #: rhodecode/templates/bookmarks/bookmarks.html:63
1134 #: rhodecode/templates/branches/branches.html:63
1141 #: rhodecode/templates/branches/branches.html:63
1135 #: rhodecode/templates/journal/journal.html:205
1142 #: rhodecode/templates/journal/journal.html:205
1136 #: rhodecode/templates/tags/tags.html:63
1143 #: rhodecode/templates/tags/tags.html:63
1137 msgid "Data error."
1144 msgid "Data error."
1138 msgstr ""
1145 msgstr ""
1139
1146
1140 #: rhodecode/templates/index_base.html:192
1147 #: rhodecode/templates/index_base.html:192
1141 #: rhodecode/templates/admin/repos/repos.html:116
1148 #: rhodecode/templates/admin/repos/repos.html:116
1142 #: rhodecode/templates/admin/users/user_edit_my_account.html:190
1149 #: rhodecode/templates/admin/users/user_edit_my_account.html:190
1143 #: rhodecode/templates/bookmarks/bookmarks.html:64
1150 #: rhodecode/templates/bookmarks/bookmarks.html:64
1144 #: rhodecode/templates/branches/branches.html:64
1151 #: rhodecode/templates/branches/branches.html:64
1145 #: rhodecode/templates/journal/journal.html:206
1152 #: rhodecode/templates/journal/journal.html:206
1146 #: rhodecode/templates/tags/tags.html:64
1153 #: rhodecode/templates/tags/tags.html:64
1147 msgid "Loading..."
1154 msgid "Loading..."
1148 msgstr ""
1155 msgstr ""
1149
1156
1150 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1157 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1151 msgid "Sign In"
1158 msgid "Sign In"
1152 msgstr ""
1159 msgstr ""
1153
1160
1154 #: rhodecode/templates/login.html:21
1161 #: rhodecode/templates/login.html:21
1155 msgid "Sign In to"
1162 msgid "Sign In to"
1156 msgstr ""
1163 msgstr ""
1157
1164
1158 #: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
1165 #: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
1159 #: rhodecode/templates/admin/admin_log.html:5
1166 #: rhodecode/templates/admin/admin_log.html:5
1160 #: rhodecode/templates/admin/users/user_add.html:32
1167 #: rhodecode/templates/admin/users/user_add.html:32
1161 #: rhodecode/templates/admin/users/user_edit.html:50
1168 #: rhodecode/templates/admin/users/user_edit.html:50
1162 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:26
1169 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:26
1163 #: rhodecode/templates/base/base.html:83
1170 #: rhodecode/templates/base/base.html:83
1164 #: rhodecode/templates/summary/summary.html:113
1171 #: rhodecode/templates/summary/summary.html:113
1165 msgid "Username"
1172 msgid "Username"
1166 msgstr ""
1173 msgstr ""
1167
1174
1168 #: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
1175 #: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
1169 #: rhodecode/templates/admin/ldap/ldap.html:46
1176 #: rhodecode/templates/admin/ldap/ldap.html:46
1170 #: rhodecode/templates/admin/users/user_add.html:41
1177 #: rhodecode/templates/admin/users/user_add.html:41
1171 #: rhodecode/templates/base/base.html:92
1178 #: rhodecode/templates/base/base.html:92
1172 msgid "Password"
1179 msgid "Password"
1173 msgstr ""
1180 msgstr ""
1174
1181
1175 #: rhodecode/templates/login.html:50
1182 #: rhodecode/templates/login.html:50
1176 msgid "Remember me"
1183 msgid "Remember me"
1177 msgstr ""
1184 msgstr ""
1178
1185
1179 #: rhodecode/templates/login.html:60
1186 #: rhodecode/templates/login.html:60
1180 msgid "Forgot your password ?"
1187 msgid "Forgot your password ?"
1181 msgstr ""
1188 msgstr ""
1182
1189
1183 #: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
1190 #: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
1184 msgid "Don't have an account ?"
1191 msgid "Don't have an account ?"
1185 msgstr ""
1192 msgstr ""
1186
1193
1187 #: rhodecode/templates/password_reset.html:5
1194 #: rhodecode/templates/password_reset.html:5
1188 msgid "Reset your password"
1195 msgid "Reset your password"
1189 msgstr ""
1196 msgstr ""
1190
1197
1191 #: rhodecode/templates/password_reset.html:11
1198 #: rhodecode/templates/password_reset.html:11
1192 msgid "Reset your password to"
1199 msgid "Reset your password to"
1193 msgstr ""
1200 msgstr ""
1194
1201
1195 #: rhodecode/templates/password_reset.html:21
1202 #: rhodecode/templates/password_reset.html:21
1196 msgid "Email address"
1203 msgid "Email address"
1197 msgstr ""
1204 msgstr ""
1198
1205
1199 #: rhodecode/templates/password_reset.html:30
1206 #: rhodecode/templates/password_reset.html:30
1200 msgid "Reset my password"
1207 msgid "Reset my password"
1201 msgstr ""
1208 msgstr ""
1202
1209
1203 #: rhodecode/templates/password_reset.html:31
1210 #: rhodecode/templates/password_reset.html:31
1204 msgid "Password reset link will be send to matching email address"
1211 msgid "Password reset link will be send to matching email address"
1205 msgstr ""
1212 msgstr ""
1206
1213
1207 #: rhodecode/templates/register.html:5 rhodecode/templates/register.html:74
1214 #: rhodecode/templates/register.html:5 rhodecode/templates/register.html:74
1208 msgid "Sign Up"
1215 msgid "Sign Up"
1209 msgstr ""
1216 msgstr ""
1210
1217
1211 #: rhodecode/templates/register.html:11
1218 #: rhodecode/templates/register.html:11
1212 msgid "Sign Up to"
1219 msgid "Sign Up to"
1213 msgstr ""
1220 msgstr ""
1214
1221
1215 #: rhodecode/templates/register.html:38
1222 #: rhodecode/templates/register.html:38
1216 msgid "Re-enter password"
1223 msgid "Re-enter password"
1217 msgstr ""
1224 msgstr ""
1218
1225
1219 #: rhodecode/templates/register.html:47
1226 #: rhodecode/templates/register.html:47
1220 #: rhodecode/templates/admin/users/user_add.html:59
1227 #: rhodecode/templates/admin/users/user_add.html:59
1221 #: rhodecode/templates/admin/users/user_edit.html:86
1228 #: rhodecode/templates/admin/users/user_edit.html:86
1222 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:53
1229 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:53
1223 msgid "First Name"
1230 msgid "First Name"
1224 msgstr ""
1231 msgstr ""
1225
1232
1226 #: rhodecode/templates/register.html:56
1233 #: rhodecode/templates/register.html:56
1227 #: rhodecode/templates/admin/users/user_add.html:68
1234 #: rhodecode/templates/admin/users/user_add.html:68
1228 #: rhodecode/templates/admin/users/user_edit.html:95
1235 #: rhodecode/templates/admin/users/user_edit.html:95
1229 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:62
1236 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:62
1230 msgid "Last Name"
1237 msgid "Last Name"
1231 msgstr ""
1238 msgstr ""
1232
1239
1233 #: rhodecode/templates/register.html:65
1240 #: rhodecode/templates/register.html:65
1234 #: rhodecode/templates/admin/users/user_add.html:77
1241 #: rhodecode/templates/admin/users/user_add.html:77
1235 #: rhodecode/templates/admin/users/user_edit.html:104
1242 #: rhodecode/templates/admin/users/user_edit.html:104
1236 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:71
1243 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:71
1237 #: rhodecode/templates/summary/summary.html:115
1244 #: rhodecode/templates/summary/summary.html:115
1238 msgid "Email"
1245 msgid "Email"
1239 msgstr ""
1246 msgstr ""
1240
1247
1241 #: rhodecode/templates/register.html:76
1248 #: rhodecode/templates/register.html:76
1242 msgid "Your account will be activated right after registration"
1249 msgid "Your account will be activated right after registration"
1243 msgstr ""
1250 msgstr ""
1244
1251
1245 #: rhodecode/templates/register.html:78
1252 #: rhodecode/templates/register.html:78
1246 msgid "Your account must wait for activation by administrator"
1253 msgid "Your account must wait for activation by administrator"
1247 msgstr ""
1254 msgstr ""
1248
1255
1249 #: rhodecode/templates/repo_switcher_list.html:11
1256 #: rhodecode/templates/repo_switcher_list.html:11
1250 #: rhodecode/templates/admin/repos/repo_add_base.html:56
1257 #: rhodecode/templates/admin/repos/repo_add_base.html:56
1251 #: rhodecode/templates/admin/repos/repo_edit.html:76
1258 #: rhodecode/templates/admin/repos/repo_edit.html:76
1252 #: rhodecode/templates/settings/repo_settings.html:67
1259 #: rhodecode/templates/settings/repo_settings.html:67
1253 msgid "Private repository"
1260 msgid "Private repository"
1254 msgstr ""
1261 msgstr ""
1255
1262
1256 #: rhodecode/templates/repo_switcher_list.html:16
1263 #: rhodecode/templates/repo_switcher_list.html:16
1257 msgid "Public repository"
1264 msgid "Public repository"
1258 msgstr ""
1265 msgstr ""
1259
1266
1260 #: rhodecode/templates/switch_to_list.html:3
1267 #: rhodecode/templates/switch_to_list.html:3
1261 #: rhodecode/templates/branches/branches.html:14
1268 #: rhodecode/templates/branches/branches.html:14
1262 msgid "branches"
1269 msgid "branches"
1263 msgstr ""
1270 msgstr ""
1264
1271
1265 #: rhodecode/templates/switch_to_list.html:10
1272 #: rhodecode/templates/switch_to_list.html:10
1266 #: rhodecode/templates/branches/branches_data.html:51
1273 #: rhodecode/templates/branches/branches_data.html:51
1267 msgid "There are no branches yet"
1274 msgid "There are no branches yet"
1268 msgstr ""
1275 msgstr ""
1269
1276
1270 #: rhodecode/templates/switch_to_list.html:15
1277 #: rhodecode/templates/switch_to_list.html:15
1271 #: rhodecode/templates/shortlog/shortlog_data.html:10
1278 #: rhodecode/templates/shortlog/shortlog_data.html:10
1272 #: rhodecode/templates/tags/tags.html:15
1279 #: rhodecode/templates/tags/tags.html:15
1273 msgid "tags"
1280 msgid "tags"
1274 msgstr ""
1281 msgstr ""
1275
1282
1276 #: rhodecode/templates/switch_to_list.html:22
1283 #: rhodecode/templates/switch_to_list.html:22
1277 #: rhodecode/templates/tags/tags_data.html:33
1284 #: rhodecode/templates/tags/tags_data.html:33
1278 msgid "There are no tags yet"
1285 msgid "There are no tags yet"
1279 msgstr ""
1286 msgstr ""
1280
1287
1281 #: rhodecode/templates/switch_to_list.html:28
1288 #: rhodecode/templates/switch_to_list.html:28
1282 #: rhodecode/templates/bookmarks/bookmarks.html:15
1289 #: rhodecode/templates/bookmarks/bookmarks.html:15
1283 msgid "bookmarks"
1290 msgid "bookmarks"
1284 msgstr ""
1291 msgstr ""
1285
1292
1286 #: rhodecode/templates/switch_to_list.html:35
1293 #: rhodecode/templates/switch_to_list.html:35
1287 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1294 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1288 msgid "There are no bookmarks yet"
1295 msgid "There are no bookmarks yet"
1289 msgstr ""
1296 msgstr ""
1290
1297
1291 #: rhodecode/templates/admin/admin.html:5 rhodecode/templates/admin/admin.html:9
1298 #: rhodecode/templates/admin/admin.html:5 rhodecode/templates/admin/admin.html:9
1292 msgid "Admin journal"
1299 msgid "Admin journal"
1293 msgstr ""
1300 msgstr ""
1294
1301
1295 #: rhodecode/templates/admin/admin_log.html:6
1302 #: rhodecode/templates/admin/admin_log.html:6
1296 #: rhodecode/templates/admin/repos/repos.html:41
1303 #: rhodecode/templates/admin/repos/repos.html:41
1297 #: rhodecode/templates/admin/repos/repos.html:90
1304 #: rhodecode/templates/admin/repos/repos.html:90
1298 #: rhodecode/templates/admin/users/user_edit_my_account.html:51
1305 #: rhodecode/templates/admin/users/user_edit_my_account.html:51
1299 #: rhodecode/templates/admin/users/user_edit_my_account.html:52
1306 #: rhodecode/templates/admin/users/user_edit_my_account.html:52
1300 #: rhodecode/templates/journal/journal.html:52
1307 #: rhodecode/templates/journal/journal.html:52
1301 #: rhodecode/templates/journal/journal.html:53
1308 #: rhodecode/templates/journal/journal.html:53
1302 msgid "Action"
1309 msgid "Action"
1303 msgstr ""
1310 msgstr ""
1304
1311
1305 #: rhodecode/templates/admin/admin_log.html:7
1312 #: rhodecode/templates/admin/admin_log.html:7
1306 msgid "Repository"
1313 msgid "Repository"
1307 msgstr ""
1314 msgstr ""
1308
1315
1309 #: rhodecode/templates/admin/admin_log.html:8
1316 #: rhodecode/templates/admin/admin_log.html:8
1310 #: rhodecode/templates/bookmarks/bookmarks.html:37
1317 #: rhodecode/templates/bookmarks/bookmarks.html:37
1311 #: rhodecode/templates/bookmarks/bookmarks_data.html:7
1318 #: rhodecode/templates/bookmarks/bookmarks_data.html:7
1312 #: rhodecode/templates/branches/branches.html:37
1319 #: rhodecode/templates/branches/branches.html:37
1313 #: rhodecode/templates/tags/tags.html:37 rhodecode/templates/tags/tags_data.html:7
1320 #: rhodecode/templates/tags/tags.html:37 rhodecode/templates/tags/tags_data.html:7
1314 msgid "Date"
1321 msgid "Date"
1315 msgstr ""
1322 msgstr ""
1316
1323
1317 #: rhodecode/templates/admin/admin_log.html:9
1324 #: rhodecode/templates/admin/admin_log.html:9
1318 msgid "From IP"
1325 msgid "From IP"
1319 msgstr ""
1326 msgstr ""
1320
1327
1321 #: rhodecode/templates/admin/admin_log.html:53
1328 #: rhodecode/templates/admin/admin_log.html:53
1322 msgid "No actions yet"
1329 msgid "No actions yet"
1323 msgstr ""
1330 msgstr ""
1324
1331
1325 #: rhodecode/templates/admin/ldap/ldap.html:5
1332 #: rhodecode/templates/admin/ldap/ldap.html:5
1326 msgid "LDAP administration"
1333 msgid "LDAP administration"
1327 msgstr ""
1334 msgstr ""
1328
1335
1329 #: rhodecode/templates/admin/ldap/ldap.html:11
1336 #: rhodecode/templates/admin/ldap/ldap.html:11
1330 msgid "Ldap"
1337 msgid "Ldap"
1331 msgstr ""
1338 msgstr ""
1332
1339
1333 #: rhodecode/templates/admin/ldap/ldap.html:28
1340 #: rhodecode/templates/admin/ldap/ldap.html:28
1334 msgid "Connection settings"
1341 msgid "Connection settings"
1335 msgstr ""
1342 msgstr ""
1336
1343
1337 #: rhodecode/templates/admin/ldap/ldap.html:30
1344 #: rhodecode/templates/admin/ldap/ldap.html:30
1338 msgid "Enable LDAP"
1345 msgid "Enable LDAP"
1339 msgstr ""
1346 msgstr ""
1340
1347
1341 #: rhodecode/templates/admin/ldap/ldap.html:34
1348 #: rhodecode/templates/admin/ldap/ldap.html:34
1342 msgid "Host"
1349 msgid "Host"
1343 msgstr ""
1350 msgstr ""
1344
1351
1345 #: rhodecode/templates/admin/ldap/ldap.html:38
1352 #: rhodecode/templates/admin/ldap/ldap.html:38
1346 msgid "Port"
1353 msgid "Port"
1347 msgstr ""
1354 msgstr ""
1348
1355
1349 #: rhodecode/templates/admin/ldap/ldap.html:42
1356 #: rhodecode/templates/admin/ldap/ldap.html:42
1350 msgid "Account"
1357 msgid "Account"
1351 msgstr ""
1358 msgstr ""
1352
1359
1353 #: rhodecode/templates/admin/ldap/ldap.html:50
1360 #: rhodecode/templates/admin/ldap/ldap.html:50
1354 msgid "Connection security"
1361 msgid "Connection security"
1355 msgstr ""
1362 msgstr ""
1356
1363
1357 #: rhodecode/templates/admin/ldap/ldap.html:54
1364 #: rhodecode/templates/admin/ldap/ldap.html:54
1358 msgid "Certificate Checks"
1365 msgid "Certificate Checks"
1359 msgstr ""
1366 msgstr ""
1360
1367
1361 #: rhodecode/templates/admin/ldap/ldap.html:57
1368 #: rhodecode/templates/admin/ldap/ldap.html:57
1362 msgid "Search settings"
1369 msgid "Search settings"
1363 msgstr ""
1370 msgstr ""
1364
1371
1365 #: rhodecode/templates/admin/ldap/ldap.html:59
1372 #: rhodecode/templates/admin/ldap/ldap.html:59
1366 msgid "Base DN"
1373 msgid "Base DN"
1367 msgstr ""
1374 msgstr ""
1368
1375
1369 #: rhodecode/templates/admin/ldap/ldap.html:63
1376 #: rhodecode/templates/admin/ldap/ldap.html:63
1370 msgid "LDAP Filter"
1377 msgid "LDAP Filter"
1371 msgstr ""
1378 msgstr ""
1372
1379
1373 #: rhodecode/templates/admin/ldap/ldap.html:67
1380 #: rhodecode/templates/admin/ldap/ldap.html:67
1374 msgid "LDAP Search Scope"
1381 msgid "LDAP Search Scope"
1375 msgstr ""
1382 msgstr ""
1376
1383
1377 #: rhodecode/templates/admin/ldap/ldap.html:70
1384 #: rhodecode/templates/admin/ldap/ldap.html:70
1378 msgid "Attribute mappings"
1385 msgid "Attribute mappings"
1379 msgstr ""
1386 msgstr ""
1380
1387
1381 #: rhodecode/templates/admin/ldap/ldap.html:72
1388 #: rhodecode/templates/admin/ldap/ldap.html:72
1382 msgid "Login Attribute"
1389 msgid "Login Attribute"
1383 msgstr ""
1390 msgstr ""
1384
1391
1385 #: rhodecode/templates/admin/ldap/ldap.html:76
1392 #: rhodecode/templates/admin/ldap/ldap.html:76
1386 msgid "First Name Attribute"
1393 msgid "First Name Attribute"
1387 msgstr ""
1394 msgstr ""
1388
1395
1389 #: rhodecode/templates/admin/ldap/ldap.html:80
1396 #: rhodecode/templates/admin/ldap/ldap.html:80
1390 msgid "Last Name Attribute"
1397 msgid "Last Name Attribute"
1391 msgstr ""
1398 msgstr ""
1392
1399
1393 #: rhodecode/templates/admin/ldap/ldap.html:84
1400 #: rhodecode/templates/admin/ldap/ldap.html:84
1394 msgid "E-mail Attribute"
1401 msgid "E-mail Attribute"
1395 msgstr ""
1402 msgstr ""
1396
1403
1397 #: rhodecode/templates/admin/ldap/ldap.html:89
1404 #: rhodecode/templates/admin/ldap/ldap.html:89
1398 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1405 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1399 #: rhodecode/templates/admin/settings/hooks.html:73
1406 #: rhodecode/templates/admin/settings/hooks.html:73
1400 #: rhodecode/templates/admin/users/user_edit.html:129
1407 #: rhodecode/templates/admin/users/user_edit.html:129
1401 #: rhodecode/templates/admin/users/user_edit.html:154
1408 #: rhodecode/templates/admin/users/user_edit.html:154
1402 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:79
1409 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:79
1403 #: rhodecode/templates/admin/users_groups/users_group_edit.html:115
1410 #: rhodecode/templates/admin/users_groups/users_group_edit.html:115
1404 #: rhodecode/templates/settings/repo_settings.html:84
1411 #: rhodecode/templates/settings/repo_settings.html:84
1405 msgid "Save"
1412 msgid "Save"
1406 msgstr ""
1413 msgstr ""
1407
1414
1408 #: rhodecode/templates/admin/notifications/notifications.html:5
1415 #: rhodecode/templates/admin/notifications/notifications.html:5
1409 #: rhodecode/templates/admin/notifications/notifications.html:9
1416 #: rhodecode/templates/admin/notifications/notifications.html:9
1410 msgid "My Notifications"
1417 msgid "My Notifications"
1411 msgstr ""
1418 msgstr ""
1412
1419
1413 #: rhodecode/templates/admin/notifications/notifications.html:29
1420 #: rhodecode/templates/admin/notifications/notifications.html:29
1414 msgid "Mark all read"
1421 msgid "Mark all read"
1415 msgstr ""
1422 msgstr ""
1416
1423
1417 #: rhodecode/templates/admin/notifications/notifications_data.html:38
1424 #: rhodecode/templates/admin/notifications/notifications_data.html:38
1418 msgid "No notifications here yet"
1425 msgid "No notifications here yet"
1419 msgstr ""
1426 msgstr ""
1420
1427
1421 #: rhodecode/templates/admin/notifications/show_notification.html:5
1428 #: rhodecode/templates/admin/notifications/show_notification.html:5
1422 #: rhodecode/templates/admin/notifications/show_notification.html:11
1429 #: rhodecode/templates/admin/notifications/show_notification.html:11
1423 msgid "Show notification"
1430 msgid "Show notification"
1424 msgstr ""
1431 msgstr ""
1425
1432
1426 #: rhodecode/templates/admin/notifications/show_notification.html:9
1433 #: rhodecode/templates/admin/notifications/show_notification.html:9
1427 msgid "Notifications"
1434 msgid "Notifications"
1428 msgstr ""
1435 msgstr ""
1429
1436
1430 #: rhodecode/templates/admin/permissions/permissions.html:5
1437 #: rhodecode/templates/admin/permissions/permissions.html:5
1431 msgid "Permissions administration"
1438 msgid "Permissions administration"
1432 msgstr ""
1439 msgstr ""
1433
1440
1434 #: rhodecode/templates/admin/permissions/permissions.html:11
1441 #: rhodecode/templates/admin/permissions/permissions.html:11
1435 #: rhodecode/templates/admin/repos/repo_edit.html:116
1442 #: rhodecode/templates/admin/repos/repo_edit.html:116
1436 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
1443 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
1437 #: rhodecode/templates/admin/users/user_edit.html:139
1444 #: rhodecode/templates/admin/users/user_edit.html:139
1438 #: rhodecode/templates/admin/users_groups/users_group_edit.html:100
1445 #: rhodecode/templates/admin/users_groups/users_group_edit.html:100
1439 #: rhodecode/templates/settings/repo_settings.html:77
1446 #: rhodecode/templates/settings/repo_settings.html:77
1440 msgid "Permissions"
1447 msgid "Permissions"
1441 msgstr ""
1448 msgstr ""
1442
1449
1443 #: rhodecode/templates/admin/permissions/permissions.html:24
1450 #: rhodecode/templates/admin/permissions/permissions.html:24
1444 msgid "Default permissions"
1451 msgid "Default permissions"
1445 msgstr ""
1452 msgstr ""
1446
1453
1447 #: rhodecode/templates/admin/permissions/permissions.html:31
1454 #: rhodecode/templates/admin/permissions/permissions.html:31
1448 msgid "Anonymous access"
1455 msgid "Anonymous access"
1449 msgstr ""
1456 msgstr ""
1450
1457
1451 #: rhodecode/templates/admin/permissions/permissions.html:41
1458 #: rhodecode/templates/admin/permissions/permissions.html:41
1452 msgid "Repository permission"
1459 msgid "Repository permission"
1453 msgstr ""
1460 msgstr ""
1454
1461
1455 #: rhodecode/templates/admin/permissions/permissions.html:49
1462 #: rhodecode/templates/admin/permissions/permissions.html:49
1456 msgid ""
1463 msgid ""
1457 "All default permissions on each repository will be reset to choosen "
1464 "All default permissions on each repository will be reset to choosen "
1458 "permission, note that all custom default permission on repositories will be "
1465 "permission, note that all custom default permission on repositories will be "
1459 "lost"
1466 "lost"
1460 msgstr ""
1467 msgstr ""
1461
1468
1462 #: rhodecode/templates/admin/permissions/permissions.html:50
1469 #: rhodecode/templates/admin/permissions/permissions.html:50
1463 msgid "overwrite existing settings"
1470 msgid "overwrite existing settings"
1464 msgstr ""
1471 msgstr ""
1465
1472
1466 #: rhodecode/templates/admin/permissions/permissions.html:55
1473 #: rhodecode/templates/admin/permissions/permissions.html:55
1467 msgid "Registration"
1474 msgid "Registration"
1468 msgstr ""
1475 msgstr ""
1469
1476
1470 #: rhodecode/templates/admin/permissions/permissions.html:63
1477 #: rhodecode/templates/admin/permissions/permissions.html:63
1471 msgid "Repository creation"
1478 msgid "Repository creation"
1472 msgstr ""
1479 msgstr ""
1473
1480
1474 #: rhodecode/templates/admin/permissions/permissions.html:71
1481 #: rhodecode/templates/admin/permissions/permissions.html:71
1475 #: rhodecode/templates/admin/repos/repo_edit.html:218
1482 #: rhodecode/templates/admin/repos/repo_edit.html:218
1476 msgid "set"
1483 msgid "set"
1477 msgstr ""
1484 msgstr ""
1478
1485
1479 #: rhodecode/templates/admin/repos/repo_add.html:5
1486 #: rhodecode/templates/admin/repos/repo_add.html:5
1480 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
1487 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
1481 msgid "Add repository"
1488 msgid "Add repository"
1482 msgstr ""
1489 msgstr ""
1483
1490
1484 #: rhodecode/templates/admin/repos/repo_add.html:11
1491 #: rhodecode/templates/admin/repos/repo_add.html:11
1485 #: rhodecode/templates/admin/repos/repo_edit.html:11
1492 #: rhodecode/templates/admin/repos/repo_edit.html:11
1486 #: rhodecode/templates/admin/repos/repos.html:10
1493 #: rhodecode/templates/admin/repos/repos.html:10
1487 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
1494 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
1488 msgid "Repositories"
1495 msgid "Repositories"
1489 msgstr ""
1496 msgstr ""
1490
1497
1491 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1498 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1492 #: rhodecode/templates/summary/summary.html:90
1499 #: rhodecode/templates/summary/summary.html:90
1493 #: rhodecode/templates/summary/summary.html:91
1500 #: rhodecode/templates/summary/summary.html:91
1494 msgid "Clone from"
1501 msgid "Clone from"
1495 msgstr ""
1502 msgstr ""
1496
1503
1497 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1504 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1498 #: rhodecode/templates/admin/repos/repo_edit.html:44
1505 #: rhodecode/templates/admin/repos/repo_edit.html:44
1499 #: rhodecode/templates/settings/repo_settings.html:43
1506 #: rhodecode/templates/settings/repo_settings.html:43
1500 msgid "Optional http[s] url from which repository should be cloned."
1507 msgid "Optional http[s] url from which repository should be cloned."
1501 msgstr ""
1508 msgstr ""
1502
1509
1503 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1510 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1504 #: rhodecode/templates/admin/repos/repo_edit.html:49
1511 #: rhodecode/templates/admin/repos/repo_edit.html:49
1505 #: rhodecode/templates/admin/repos_groups/repos_groups.html:4
1512 #: rhodecode/templates/admin/repos_groups/repos_groups.html:4
1506 #: rhodecode/templates/forks/fork.html:41
1513 #: rhodecode/templates/forks/fork.html:41
1507 #: rhodecode/templates/settings/repo_settings.html:48
1514 #: rhodecode/templates/settings/repo_settings.html:48
1508 msgid "Repository group"
1515 msgid "Repository group"
1509 msgstr ""
1516 msgstr ""
1510
1517
1511 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1518 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1512 #: rhodecode/templates/admin/repos/repo_edit.html:53
1519 #: rhodecode/templates/admin/repos/repo_edit.html:53
1513 #: rhodecode/templates/settings/repo_settings.html:52
1520 #: rhodecode/templates/settings/repo_settings.html:52
1514 msgid "Optional select a group to put this repository into."
1521 msgid "Optional select a group to put this repository into."
1515 msgstr ""
1522 msgstr ""
1516
1523
1517 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1524 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1518 #: rhodecode/templates/admin/repos/repo_edit.html:58
1525 #: rhodecode/templates/admin/repos/repo_edit.html:58
1519 msgid "Type"
1526 msgid "Type"
1520 msgstr ""
1527 msgstr ""
1521
1528
1522 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1529 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1523 msgid "Type of repository to create."
1530 msgid "Type of repository to create."
1524 msgstr ""
1531 msgstr ""
1525
1532
1526 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1533 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1527 #: rhodecode/templates/admin/repos/repo_edit.html:70
1534 #: rhodecode/templates/admin/repos/repo_edit.html:70
1528 #: rhodecode/templates/settings/repo_settings.html:61
1535 #: rhodecode/templates/settings/repo_settings.html:61
1529 msgid "Keep it short and to the point. Use a README file for longer descriptions."
1536 msgid "Keep it short and to the point. Use a README file for longer descriptions."
1530 msgstr ""
1537 msgstr ""
1531
1538
1532 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1539 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1533 #: rhodecode/templates/admin/repos/repo_edit.html:80
1540 #: rhodecode/templates/admin/repos/repo_edit.html:80
1534 #: rhodecode/templates/settings/repo_settings.html:71
1541 #: rhodecode/templates/settings/repo_settings.html:71
1535 msgid ""
1542 msgid ""
1536 "Private repositories are only visible to people explicitly added as "
1543 "Private repositories are only visible to people explicitly added as "
1537 "collaborators."
1544 "collaborators."
1538 msgstr ""
1545 msgstr ""
1539
1546
1540 #: rhodecode/templates/admin/repos/repo_add_base.html:64
1547 #: rhodecode/templates/admin/repos/repo_add_base.html:64
1541 msgid "add"
1548 msgid "add"
1542 msgstr ""
1549 msgstr ""
1543
1550
1544 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1551 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1545 msgid "add new repository"
1552 msgid "add new repository"
1546 msgstr ""
1553 msgstr ""
1547
1554
1548 #: rhodecode/templates/admin/repos/repo_edit.html:5
1555 #: rhodecode/templates/admin/repos/repo_edit.html:5
1549 msgid "Edit repository"
1556 msgid "Edit repository"
1550 msgstr ""
1557 msgstr ""
1551
1558
1552 #: rhodecode/templates/admin/repos/repo_edit.html:13
1559 #: rhodecode/templates/admin/repos/repo_edit.html:13
1553 #: rhodecode/templates/admin/users/user_edit.html:13
1560 #: rhodecode/templates/admin/users/user_edit.html:13
1554 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
1561 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
1555 #: rhodecode/templates/admin/users_groups/users_group_edit.html:13
1562 #: rhodecode/templates/admin/users_groups/users_group_edit.html:13
1556 #: rhodecode/templates/files/files_source.html:32
1563 #: rhodecode/templates/files/files_source.html:32
1557 #: rhodecode/templates/journal/journal.html:72
1564 #: rhodecode/templates/journal/journal.html:72
1558 msgid "edit"
1565 msgid "edit"
1559 msgstr ""
1566 msgstr ""
1560
1567
1561 #: rhodecode/templates/admin/repos/repo_edit.html:40
1568 #: rhodecode/templates/admin/repos/repo_edit.html:40
1562 #: rhodecode/templates/settings/repo_settings.html:39
1569 #: rhodecode/templates/settings/repo_settings.html:39
1563 msgid "Clone uri"
1570 msgid "Clone uri"
1564 msgstr ""
1571 msgstr ""
1565
1572
1566 #: rhodecode/templates/admin/repos/repo_edit.html:85
1573 #: rhodecode/templates/admin/repos/repo_edit.html:85
1567 msgid "Enable statistics"
1574 msgid "Enable statistics"
1568 msgstr ""
1575 msgstr ""
1569
1576
1570 #: rhodecode/templates/admin/repos/repo_edit.html:89
1577 #: rhodecode/templates/admin/repos/repo_edit.html:89
1571 msgid "Enable statistics window on summary page."
1578 msgid "Enable statistics window on summary page."
1572 msgstr ""
1579 msgstr ""
1573
1580
1574 #: rhodecode/templates/admin/repos/repo_edit.html:94
1581 #: rhodecode/templates/admin/repos/repo_edit.html:94
1575 msgid "Enable downloads"
1582 msgid "Enable downloads"
1576 msgstr ""
1583 msgstr ""
1577
1584
1578 #: rhodecode/templates/admin/repos/repo_edit.html:98
1585 #: rhodecode/templates/admin/repos/repo_edit.html:98
1579 msgid "Enable download menu on summary page."
1586 msgid "Enable download menu on summary page."
1580 msgstr ""
1587 msgstr ""
1581
1588
1582 #: rhodecode/templates/admin/repos/repo_edit.html:108
1589 #: rhodecode/templates/admin/repos/repo_edit.html:108
1583 msgid "Change owner of this repository."
1590 msgid "Change owner of this repository."
1584 msgstr ""
1591 msgstr ""
1585
1592
1586 #: rhodecode/templates/admin/repos/repo_edit.html:134
1593 #: rhodecode/templates/admin/repos/repo_edit.html:134
1587 msgid "Administration"
1594 msgid "Administration"
1588 msgstr ""
1595 msgstr ""
1589
1596
1590 #: rhodecode/templates/admin/repos/repo_edit.html:137
1597 #: rhodecode/templates/admin/repos/repo_edit.html:137
1591 msgid "Statistics"
1598 msgid "Statistics"
1592 msgstr ""
1599 msgstr ""
1593
1600
1594 #: rhodecode/templates/admin/repos/repo_edit.html:141
1601 #: rhodecode/templates/admin/repos/repo_edit.html:141
1595 msgid "Reset current statistics"
1602 msgid "Reset current statistics"
1596 msgstr ""
1603 msgstr ""
1597
1604
1598 #: rhodecode/templates/admin/repos/repo_edit.html:141
1605 #: rhodecode/templates/admin/repos/repo_edit.html:141
1599 msgid "Confirm to remove current statistics"
1606 msgid "Confirm to remove current statistics"
1600 msgstr ""
1607 msgstr ""
1601
1608
1602 #: rhodecode/templates/admin/repos/repo_edit.html:144
1609 #: rhodecode/templates/admin/repos/repo_edit.html:144
1603 msgid "Fetched to rev"
1610 msgid "Fetched to rev"
1604 msgstr ""
1611 msgstr ""
1605
1612
1606 #: rhodecode/templates/admin/repos/repo_edit.html:145
1613 #: rhodecode/templates/admin/repos/repo_edit.html:145
1607 msgid "Stats gathered"
1614 msgid "Stats gathered"
1608 msgstr ""
1615 msgstr ""
1609
1616
1610 #: rhodecode/templates/admin/repos/repo_edit.html:153
1617 #: rhodecode/templates/admin/repos/repo_edit.html:153
1611 msgid "Remote"
1618 msgid "Remote"
1612 msgstr ""
1619 msgstr ""
1613
1620
1614 #: rhodecode/templates/admin/repos/repo_edit.html:157
1621 #: rhodecode/templates/admin/repos/repo_edit.html:157
1615 msgid "Pull changes from remote location"
1622 msgid "Pull changes from remote location"
1616 msgstr ""
1623 msgstr ""
1617
1624
1618 #: rhodecode/templates/admin/repos/repo_edit.html:157
1625 #: rhodecode/templates/admin/repos/repo_edit.html:157
1619 msgid "Confirm to pull changes from remote side"
1626 msgid "Confirm to pull changes from remote side"
1620 msgstr ""
1627 msgstr ""
1621
1628
1622 #: rhodecode/templates/admin/repos/repo_edit.html:168
1629 #: rhodecode/templates/admin/repos/repo_edit.html:168
1623 msgid "Cache"
1630 msgid "Cache"
1624 msgstr ""
1631 msgstr ""
1625
1632
1626 #: rhodecode/templates/admin/repos/repo_edit.html:172
1633 #: rhodecode/templates/admin/repos/repo_edit.html:172
1627 msgid "Invalidate repository cache"
1634 msgid "Invalidate repository cache"
1628 msgstr ""
1635 msgstr ""
1629
1636
1630 #: rhodecode/templates/admin/repos/repo_edit.html:172
1637 #: rhodecode/templates/admin/repos/repo_edit.html:172
1631 msgid "Confirm to invalidate repository cache"
1638 msgid "Confirm to invalidate repository cache"
1632 msgstr ""
1639 msgstr ""
1633
1640
1634 #: rhodecode/templates/admin/repos/repo_edit.html:183
1641 #: rhodecode/templates/admin/repos/repo_edit.html:183
1635 msgid "Remove from public journal"
1642 msgid "Remove from public journal"
1636 msgstr ""
1643 msgstr ""
1637
1644
1638 #: rhodecode/templates/admin/repos/repo_edit.html:185
1645 #: rhodecode/templates/admin/repos/repo_edit.html:185
1639 msgid "Add to public journal"
1646 msgid "Add to public journal"
1640 msgstr ""
1647 msgstr ""
1641
1648
1642 #: rhodecode/templates/admin/repos/repo_edit.html:190
1649 #: rhodecode/templates/admin/repos/repo_edit.html:190
1643 msgid ""
1650 msgid ""
1644 "All actions made on this repository will be accessible to everyone in public "
1651 "All actions made on this repository will be accessible to everyone in public "
1645 "journal"
1652 "journal"
1646 msgstr ""
1653 msgstr ""
1647
1654
1648 #: rhodecode/templates/admin/repos/repo_edit.html:197
1655 #: rhodecode/templates/admin/repos/repo_edit.html:197
1649 #: rhodecode/templates/changeset/changeset_file_comment.html:19
1656 #: rhodecode/templates/changeset/changeset_file_comment.html:19
1650 msgid "Delete"
1657 msgid "Delete"
1651 msgstr ""
1658 msgstr ""
1652
1659
1653 #: rhodecode/templates/admin/repos/repo_edit.html:201
1660 #: rhodecode/templates/admin/repos/repo_edit.html:201
1654 msgid "Remove this repository"
1661 msgid "Remove this repository"
1655 msgstr ""
1662 msgstr ""
1656
1663
1657 #: rhodecode/templates/admin/repos/repo_edit.html:201
1664 #: rhodecode/templates/admin/repos/repo_edit.html:201
1658 msgid "Confirm to delete this repository"
1665 msgid "Confirm to delete this repository"
1659 msgstr ""
1666 msgstr ""
1660
1667
1661 #: rhodecode/templates/admin/repos/repo_edit.html:205
1668 #: rhodecode/templates/admin/repos/repo_edit.html:205
1662 msgid ""
1669 msgid ""
1663 "This repository will be renamed in a special way in order to be unaccesible "
1670 "This repository will be renamed in a special way in order to be unaccesible "
1664 "for RhodeCode and VCS systems.\n"
1671 "for RhodeCode and VCS systems.\n"
1665 " If you need fully delete it from filesystem please "
1672 " If you need fully delete it from filesystem please "
1666 "do it manually"
1673 "do it manually"
1667 msgstr ""
1674 msgstr ""
1668
1675
1669 #: rhodecode/templates/admin/repos/repo_edit.html:213
1676 #: rhodecode/templates/admin/repos/repo_edit.html:213
1670 msgid "Set as fork"
1677 msgid "Set as fork"
1671 msgstr ""
1678 msgstr ""
1672
1679
1673 #: rhodecode/templates/admin/repos/repo_edit.html:222
1680 #: rhodecode/templates/admin/repos/repo_edit.html:222
1674 msgid "Manually set this repository as a fork of another"
1681 msgid "Manually set this repository as a fork of another"
1675 msgstr ""
1682 msgstr ""
1676
1683
1677 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
1684 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
1678 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
1685 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
1679 msgid "none"
1686 msgid "none"
1680 msgstr ""
1687 msgstr ""
1681
1688
1682 #: rhodecode/templates/admin/repos/repo_edit_perms.html:4
1689 #: rhodecode/templates/admin/repos/repo_edit_perms.html:4
1683 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
1690 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
1684 msgid "read"
1691 msgid "read"
1685 msgstr ""
1692 msgstr ""
1686
1693
1687 #: rhodecode/templates/admin/repos/repo_edit_perms.html:5
1694 #: rhodecode/templates/admin/repos/repo_edit_perms.html:5
1688 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
1695 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
1689 msgid "write"
1696 msgid "write"
1690 msgstr ""
1697 msgstr ""
1691
1698
1692 #: rhodecode/templates/admin/repos/repo_edit_perms.html:6
1699 #: rhodecode/templates/admin/repos/repo_edit_perms.html:6
1693 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
1700 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
1694 #: rhodecode/templates/admin/users/users.html:38
1701 #: rhodecode/templates/admin/users/users.html:38
1695 #: rhodecode/templates/base/base.html:214
1702 #: rhodecode/templates/base/base.html:214
1696 msgid "admin"
1703 msgid "admin"
1697 msgstr ""
1704 msgstr ""
1698
1705
1699 #: rhodecode/templates/admin/repos/repo_edit_perms.html:7
1706 #: rhodecode/templates/admin/repos/repo_edit_perms.html:7
1700 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
1707 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
1701 msgid "member"
1708 msgid "member"
1702 msgstr ""
1709 msgstr ""
1703
1710
1704 #: rhodecode/templates/admin/repos/repo_edit_perms.html:16
1711 #: rhodecode/templates/admin/repos/repo_edit_perms.html:16
1705 #: rhodecode/templates/data_table/_dt_elements.html:61
1712 #: rhodecode/templates/data_table/_dt_elements.html:61
1706 #: rhodecode/templates/journal/journal.html:123
1713 #: rhodecode/templates/journal/journal.html:123
1707 #: rhodecode/templates/summary/summary.html:71
1714 #: rhodecode/templates/summary/summary.html:71
1708 msgid "private repository"
1715 msgid "private repository"
1709 msgstr ""
1716 msgstr ""
1710
1717
1718 #: rhodecode/templates/admin/repos/repo_edit_perms.html:19
1719 #: rhodecode/templates/admin/repos/repo_edit_perms.html:28
1720 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:18
1721 msgid "default"
1722 msgstr ""
1723
1711 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
1724 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
1712 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
1725 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
1713 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
1726 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
1714 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
1727 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
1715 msgid "revoke"
1728 msgid "revoke"
1716 msgstr ""
1729 msgstr ""
1717
1730
1718 #: rhodecode/templates/admin/repos/repo_edit_perms.html:80
1731 #: rhodecode/templates/admin/repos/repo_edit_perms.html:80
1719 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
1732 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
1720 msgid "Add another member"
1733 msgid "Add another member"
1721 msgstr ""
1734 msgstr ""
1722
1735
1723 #: rhodecode/templates/admin/repos/repo_edit_perms.html:94
1736 #: rhodecode/templates/admin/repos/repo_edit_perms.html:94
1724 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
1737 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
1725 msgid "Failed to remove user"
1738 msgid "Failed to remove user"
1726 msgstr ""
1739 msgstr ""
1727
1740
1728 #: rhodecode/templates/admin/repos/repo_edit_perms.html:109
1741 #: rhodecode/templates/admin/repos/repo_edit_perms.html:109
1729 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
1742 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
1730 msgid "Failed to remove users group"
1743 msgid "Failed to remove users group"
1731 msgstr ""
1744 msgstr ""
1732
1745
1733 #: rhodecode/templates/admin/repos/repos.html:5
1746 #: rhodecode/templates/admin/repos/repos.html:5
1734 msgid "Repositories administration"
1747 msgid "Repositories administration"
1735 msgstr ""
1748 msgstr ""
1736
1749
1737 #: rhodecode/templates/admin/repos/repos.html:40
1750 #: rhodecode/templates/admin/repos/repos.html:40
1738 #: rhodecode/templates/summary/summary.html:107
1751 #: rhodecode/templates/summary/summary.html:107
1739 msgid "Contact"
1752 msgid "Contact"
1740 msgstr ""
1753 msgstr ""
1741
1754
1742 #: rhodecode/templates/admin/repos/repos.html:68
1755 #: rhodecode/templates/admin/repos/repos.html:68
1743 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1756 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1744 #: rhodecode/templates/admin/users/users.html:55
1757 #: rhodecode/templates/admin/users/users.html:55
1745 #: rhodecode/templates/admin/users_groups/users_groups.html:44
1758 #: rhodecode/templates/admin/users_groups/users_groups.html:44
1746 msgid "delete"
1759 msgid "delete"
1747 msgstr ""
1760 msgstr ""
1748
1761
1749 #: rhodecode/templates/admin/repos/repos.html:68
1762 #: rhodecode/templates/admin/repos/repos.html:68
1750 #: rhodecode/templates/admin/users/user_edit_my_account.html:74
1763 #: rhodecode/templates/admin/users/user_edit_my_account.html:74
1751 #, python-format
1764 #, python-format
1752 msgid "Confirm to delete this repository: %s"
1765 msgid "Confirm to delete this repository: %s"
1753 msgstr ""
1766 msgstr ""
1754
1767
1755 #: rhodecode/templates/admin/repos_groups/repos_groups.html:8
1768 #: rhodecode/templates/admin/repos_groups/repos_groups.html:8
1756 msgid "Groups"
1769 msgid "Groups"
1757 msgstr ""
1770 msgstr ""
1758
1771
1759 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
1772 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
1760 msgid "with"
1773 msgid "with"
1761 msgstr ""
1774 msgstr ""
1762
1775
1763 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
1776 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
1764 msgid "Add repos group"
1777 msgid "Add repos group"
1765 msgstr ""
1778 msgstr ""
1766
1779
1767 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
1780 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
1768 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
1781 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
1769 msgid "Repos groups"
1782 msgid "Repos groups"
1770 msgstr ""
1783 msgstr ""
1771
1784
1772 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
1785 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
1773 msgid "add new repos group"
1786 msgid "add new repos group"
1774 msgstr ""
1787 msgstr ""
1775
1788
1776 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
1789 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
1777 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
1790 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
1778 msgid "Group parent"
1791 msgid "Group parent"
1779 msgstr ""
1792 msgstr ""
1780
1793
1781 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
1794 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
1782 #: rhodecode/templates/admin/users/user_add.html:94
1795 #: rhodecode/templates/admin/users/user_add.html:94
1783 #: rhodecode/templates/admin/users_groups/users_group_add.html:49
1796 #: rhodecode/templates/admin/users_groups/users_group_add.html:49
1784 #: rhodecode/templates/admin/users_groups/users_group_edit.html:90
1797 #: rhodecode/templates/admin/users_groups/users_group_edit.html:90
1785 msgid "save"
1798 msgid "save"
1786 msgstr ""
1799 msgstr ""
1787
1800
1788 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
1801 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
1789 msgid "Edit repos group"
1802 msgid "Edit repos group"
1790 msgstr ""
1803 msgstr ""
1791
1804
1792 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
1805 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
1793 msgid "edit repos group"
1806 msgid "edit repos group"
1794 msgstr ""
1807 msgstr ""
1795
1808
1796 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
1809 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
1797 #: rhodecode/templates/admin/settings/settings.html:112
1810 #: rhodecode/templates/admin/settings/settings.html:112
1798 #: rhodecode/templates/admin/settings/settings.html:177
1811 #: rhodecode/templates/admin/settings/settings.html:177
1799 #: rhodecode/templates/admin/users/user_edit.html:130
1812 #: rhodecode/templates/admin/users/user_edit.html:130
1800 #: rhodecode/templates/admin/users/user_edit.html:155
1813 #: rhodecode/templates/admin/users/user_edit.html:155
1801 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:80
1814 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:80
1802 #: rhodecode/templates/admin/users_groups/users_group_edit.html:116
1815 #: rhodecode/templates/admin/users_groups/users_group_edit.html:116
1803 #: rhodecode/templates/files/files_add.html:82
1816 #: rhodecode/templates/files/files_add.html:82
1804 #: rhodecode/templates/files/files_edit.html:68
1817 #: rhodecode/templates/files/files_edit.html:68
1805 #: rhodecode/templates/settings/repo_settings.html:85
1818 #: rhodecode/templates/settings/repo_settings.html:85
1806 msgid "Reset"
1819 msgid "Reset"
1807 msgstr ""
1820 msgstr ""
1808
1821
1809 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
1822 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
1810 msgid "Repositories groups administration"
1823 msgid "Repositories groups administration"
1811 msgstr ""
1824 msgstr ""
1812
1825
1813 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
1826 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
1814 msgid "ADD NEW GROUP"
1827 msgid "ADD NEW GROUP"
1815 msgstr ""
1828 msgstr ""
1816
1829
1817 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
1830 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
1818 msgid "Number of toplevel repositories"
1831 msgid "Number of toplevel repositories"
1819 msgstr ""
1832 msgstr ""
1820
1833
1821 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
1834 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
1822 #: rhodecode/templates/admin/users/users.html:40
1835 #: rhodecode/templates/admin/users/users.html:40
1823 #: rhodecode/templates/admin/users_groups/users_groups.html:35
1836 #: rhodecode/templates/admin/users_groups/users_groups.html:35
1824 msgid "action"
1837 msgid "action"
1825 msgstr ""
1838 msgstr ""
1826
1839
1827 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1840 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1828 #, python-format
1841 #, python-format
1829 msgid "Confirm to delete this group: %s"
1842 msgid "Confirm to delete this group: %s"
1830 msgstr ""
1843 msgstr ""
1831
1844
1832 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
1845 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
1833 msgid "There are no repositories groups yet"
1846 msgid "There are no repositories groups yet"
1834 msgstr ""
1847 msgstr ""
1835
1848
1836 #: rhodecode/templates/admin/settings/hooks.html:5
1849 #: rhodecode/templates/admin/settings/hooks.html:5
1837 #: rhodecode/templates/admin/settings/settings.html:5
1850 #: rhodecode/templates/admin/settings/settings.html:5
1838 msgid "Settings administration"
1851 msgid "Settings administration"
1839 msgstr ""
1852 msgstr ""
1840
1853
1841 #: rhodecode/templates/admin/settings/hooks.html:9
1854 #: rhodecode/templates/admin/settings/hooks.html:9
1842 #: rhodecode/templates/admin/settings/settings.html:9
1855 #: rhodecode/templates/admin/settings/settings.html:9
1843 #: rhodecode/templates/settings/repo_settings.html:5
1844 #: rhodecode/templates/settings/repo_settings.html:13
1856 #: rhodecode/templates/settings/repo_settings.html:13
1845 msgid "Settings"
1857 msgid "Settings"
1846 msgstr ""
1858 msgstr ""
1847
1859
1848 #: rhodecode/templates/admin/settings/hooks.html:24
1860 #: rhodecode/templates/admin/settings/hooks.html:24
1849 msgid "Built in hooks - read only"
1861 msgid "Built in hooks - read only"
1850 msgstr ""
1862 msgstr ""
1851
1863
1852 #: rhodecode/templates/admin/settings/hooks.html:40
1864 #: rhodecode/templates/admin/settings/hooks.html:40
1853 msgid "Custom hooks"
1865 msgid "Custom hooks"
1854 msgstr ""
1866 msgstr ""
1855
1867
1856 #: rhodecode/templates/admin/settings/hooks.html:56
1868 #: rhodecode/templates/admin/settings/hooks.html:56
1857 msgid "remove"
1869 msgid "remove"
1858 msgstr ""
1870 msgstr ""
1859
1871
1860 #: rhodecode/templates/admin/settings/hooks.html:88
1872 #: rhodecode/templates/admin/settings/hooks.html:88
1861 msgid "Failed to remove hook"
1873 msgid "Failed to remove hook"
1862 msgstr ""
1874 msgstr ""
1863
1875
1864 #: rhodecode/templates/admin/settings/settings.html:24
1876 #: rhodecode/templates/admin/settings/settings.html:24
1865 msgid "Remap and rescan repositories"
1877 msgid "Remap and rescan repositories"
1866 msgstr ""
1878 msgstr ""
1867
1879
1868 #: rhodecode/templates/admin/settings/settings.html:32
1880 #: rhodecode/templates/admin/settings/settings.html:32
1869 msgid "rescan option"
1881 msgid "rescan option"
1870 msgstr ""
1882 msgstr ""
1871
1883
1872 #: rhodecode/templates/admin/settings/settings.html:38
1884 #: rhodecode/templates/admin/settings/settings.html:38
1873 msgid ""
1885 msgid ""
1874 "In case a repository was deleted from filesystem and there are leftovers in "
1886 "In case a repository was deleted from filesystem and there are leftovers in "
1875 "the database check this option to scan obsolete data in database and remove "
1887 "the database check this option to scan obsolete data in database and remove "
1876 "it."
1888 "it."
1877 msgstr ""
1889 msgstr ""
1878
1890
1879 #: rhodecode/templates/admin/settings/settings.html:39
1891 #: rhodecode/templates/admin/settings/settings.html:39
1880 msgid "destroy old data"
1892 msgid "destroy old data"
1881 msgstr ""
1893 msgstr ""
1882
1894
1883 #: rhodecode/templates/admin/settings/settings.html:45
1895 #: rhodecode/templates/admin/settings/settings.html:45
1884 msgid "Rescan repositories"
1896 msgid "Rescan repositories"
1885 msgstr ""
1897 msgstr ""
1886
1898
1887 #: rhodecode/templates/admin/settings/settings.html:51
1899 #: rhodecode/templates/admin/settings/settings.html:51
1888 msgid "Whoosh indexing"
1900 msgid "Whoosh indexing"
1889 msgstr ""
1901 msgstr ""
1890
1902
1891 #: rhodecode/templates/admin/settings/settings.html:59
1903 #: rhodecode/templates/admin/settings/settings.html:59
1892 msgid "index build option"
1904 msgid "index build option"
1893 msgstr ""
1905 msgstr ""
1894
1906
1895 #: rhodecode/templates/admin/settings/settings.html:64
1907 #: rhodecode/templates/admin/settings/settings.html:64
1896 msgid "build from scratch"
1908 msgid "build from scratch"
1897 msgstr ""
1909 msgstr ""
1898
1910
1899 #: rhodecode/templates/admin/settings/settings.html:70
1911 #: rhodecode/templates/admin/settings/settings.html:70
1900 msgid "Reindex"
1912 msgid "Reindex"
1901 msgstr ""
1913 msgstr ""
1902
1914
1903 #: rhodecode/templates/admin/settings/settings.html:76
1915 #: rhodecode/templates/admin/settings/settings.html:76
1904 msgid "Global application settings"
1916 msgid "Global application settings"
1905 msgstr ""
1917 msgstr ""
1906
1918
1907 #: rhodecode/templates/admin/settings/settings.html:85
1919 #: rhodecode/templates/admin/settings/settings.html:85
1908 msgid "Application name"
1920 msgid "Application name"
1909 msgstr ""
1921 msgstr ""
1910
1922
1911 #: rhodecode/templates/admin/settings/settings.html:94
1923 #: rhodecode/templates/admin/settings/settings.html:94
1912 msgid "Realm text"
1924 msgid "Realm text"
1913 msgstr ""
1925 msgstr ""
1914
1926
1915 #: rhodecode/templates/admin/settings/settings.html:103
1927 #: rhodecode/templates/admin/settings/settings.html:103
1916 msgid "GA code"
1928 msgid "GA code"
1917 msgstr ""
1929 msgstr ""
1918
1930
1919 #: rhodecode/templates/admin/settings/settings.html:111
1931 #: rhodecode/templates/admin/settings/settings.html:111
1920 #: rhodecode/templates/admin/settings/settings.html:176
1932 #: rhodecode/templates/admin/settings/settings.html:176
1921 msgid "Save settings"
1933 msgid "Save settings"
1922 msgstr ""
1934 msgstr ""
1923
1935
1924 #: rhodecode/templates/admin/settings/settings.html:118
1936 #: rhodecode/templates/admin/settings/settings.html:118
1925 msgid "Mercurial settings"
1937 msgid "Mercurial settings"
1926 msgstr ""
1938 msgstr ""
1927
1939
1928 #: rhodecode/templates/admin/settings/settings.html:127
1940 #: rhodecode/templates/admin/settings/settings.html:127
1929 msgid "Web"
1941 msgid "Web"
1930 msgstr ""
1942 msgstr ""
1931
1943
1932 #: rhodecode/templates/admin/settings/settings.html:132
1944 #: rhodecode/templates/admin/settings/settings.html:132
1933 msgid "require ssl for pushing"
1945 msgid "require ssl for pushing"
1934 msgstr ""
1946 msgstr ""
1935
1947
1936 #: rhodecode/templates/admin/settings/settings.html:139
1948 #: rhodecode/templates/admin/settings/settings.html:139
1937 msgid "Hooks"
1949 msgid "Hooks"
1938 msgstr ""
1950 msgstr ""
1939
1951
1940 #: rhodecode/templates/admin/settings/settings.html:144
1952 #: rhodecode/templates/admin/settings/settings.html:144
1941 msgid "Update repository after push (hg update)"
1953 msgid "Update repository after push (hg update)"
1942 msgstr ""
1954 msgstr ""
1943
1955
1944 #: rhodecode/templates/admin/settings/settings.html:148
1956 #: rhodecode/templates/admin/settings/settings.html:148
1945 msgid "Show repository size after push"
1957 msgid "Show repository size after push"
1946 msgstr ""
1958 msgstr ""
1947
1959
1948 #: rhodecode/templates/admin/settings/settings.html:152
1960 #: rhodecode/templates/admin/settings/settings.html:152
1949 msgid "Log user push commands"
1961 msgid "Log user push commands"
1950 msgstr ""
1962 msgstr ""
1951
1963
1952 #: rhodecode/templates/admin/settings/settings.html:156
1964 #: rhodecode/templates/admin/settings/settings.html:156
1953 msgid "Log user pull commands"
1965 msgid "Log user pull commands"
1954 msgstr ""
1966 msgstr ""
1955
1967
1956 #: rhodecode/templates/admin/settings/settings.html:160
1968 #: rhodecode/templates/admin/settings/settings.html:160
1957 msgid "advanced setup"
1969 msgid "advanced setup"
1958 msgstr ""
1970 msgstr ""
1959
1971
1960 #: rhodecode/templates/admin/settings/settings.html:165
1972 #: rhodecode/templates/admin/settings/settings.html:165
1961 msgid "Repositories location"
1973 msgid "Repositories location"
1962 msgstr ""
1974 msgstr ""
1963
1975
1964 #: rhodecode/templates/admin/settings/settings.html:170
1976 #: rhodecode/templates/admin/settings/settings.html:170
1965 msgid ""
1977 msgid ""
1966 "This a crucial application setting. If you are really sure you need to change"
1978 "This a crucial application setting. If you are really sure you need to change"
1967 " this, you must restart application in order to make this setting take "
1979 " this, you must restart application in order to make this setting take "
1968 "effect. Click this label to unlock."
1980 "effect. Click this label to unlock."
1969 msgstr ""
1981 msgstr ""
1970
1982
1971 #: rhodecode/templates/admin/settings/settings.html:171
1983 #: rhodecode/templates/admin/settings/settings.html:171
1972 msgid "unlock"
1984 msgid "unlock"
1973 msgstr ""
1985 msgstr ""
1974
1986
1975 #: rhodecode/templates/admin/settings/settings.html:191
1987 #: rhodecode/templates/admin/settings/settings.html:191
1976 msgid "Test Email"
1988 msgid "Test Email"
1977 msgstr ""
1989 msgstr ""
1978
1990
1979 #: rhodecode/templates/admin/settings/settings.html:199
1991 #: rhodecode/templates/admin/settings/settings.html:199
1980 msgid "Email to"
1992 msgid "Email to"
1981 msgstr ""
1993 msgstr ""
1982
1994
1983 #: rhodecode/templates/admin/settings/settings.html:207
1995 #: rhodecode/templates/admin/settings/settings.html:207
1984 msgid "Send"
1996 msgid "Send"
1985 msgstr ""
1997 msgstr ""
1986
1998
1987 #: rhodecode/templates/admin/settings/settings.html:213
1999 #: rhodecode/templates/admin/settings/settings.html:213
1988 msgid "System Info and Packages"
2000 msgid "System Info and Packages"
1989 msgstr ""
2001 msgstr ""
1990
2002
1991 #: rhodecode/templates/admin/settings/settings.html:216
2003 #: rhodecode/templates/admin/settings/settings.html:216
1992 msgid "show"
2004 msgid "show"
1993 msgstr ""
2005 msgstr ""
1994
2006
1995 #: rhodecode/templates/admin/users/user_add.html:5
2007 #: rhodecode/templates/admin/users/user_add.html:5
1996 msgid "Add user"
2008 msgid "Add user"
1997 msgstr ""
2009 msgstr ""
1998
2010
1999 #: rhodecode/templates/admin/users/user_add.html:10
2011 #: rhodecode/templates/admin/users/user_add.html:10
2000 #: rhodecode/templates/admin/users/user_edit.html:11
2012 #: rhodecode/templates/admin/users/user_edit.html:11
2001 #: rhodecode/templates/admin/users/users.html:9
2013 #: rhodecode/templates/admin/users/users.html:9
2002 msgid "Users"
2014 msgid "Users"
2003 msgstr ""
2015 msgstr ""
2004
2016
2005 #: rhodecode/templates/admin/users/user_add.html:12
2017 #: rhodecode/templates/admin/users/user_add.html:12
2006 msgid "add new user"
2018 msgid "add new user"
2007 msgstr ""
2019 msgstr ""
2008
2020
2009 #: rhodecode/templates/admin/users/user_add.html:50
2021 #: rhodecode/templates/admin/users/user_add.html:50
2010 msgid "Password confirmation"
2022 msgid "Password confirmation"
2011 msgstr ""
2023 msgstr ""
2012
2024
2013 #: rhodecode/templates/admin/users/user_add.html:86
2025 #: rhodecode/templates/admin/users/user_add.html:86
2014 #: rhodecode/templates/admin/users/user_edit.html:113
2026 #: rhodecode/templates/admin/users/user_edit.html:113
2015 #: rhodecode/templates/admin/users_groups/users_group_add.html:41
2027 #: rhodecode/templates/admin/users_groups/users_group_add.html:41
2016 #: rhodecode/templates/admin/users_groups/users_group_edit.html:42
2028 #: rhodecode/templates/admin/users_groups/users_group_edit.html:42
2017 msgid "Active"
2029 msgid "Active"
2018 msgstr ""
2030 msgstr ""
2019
2031
2020 #: rhodecode/templates/admin/users/user_edit.html:5
2032 #: rhodecode/templates/admin/users/user_edit.html:5
2021 msgid "Edit user"
2033 msgid "Edit user"
2022 msgstr ""
2034 msgstr ""
2023
2035
2024 #: rhodecode/templates/admin/users/user_edit.html:34
2036 #: rhodecode/templates/admin/users/user_edit.html:34
2025 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:10
2037 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:10
2026 msgid "Change your avatar at"
2038 msgid "Change your avatar at"
2027 msgstr ""
2039 msgstr ""
2028
2040
2029 #: rhodecode/templates/admin/users/user_edit.html:35
2041 #: rhodecode/templates/admin/users/user_edit.html:35
2030 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:11
2042 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:11
2031 msgid "Using"
2043 msgid "Using"
2032 msgstr ""
2044 msgstr ""
2033
2045
2034 #: rhodecode/templates/admin/users/user_edit.html:43
2046 #: rhodecode/templates/admin/users/user_edit.html:43
2035 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2047 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2036 msgid "API key"
2048 msgid "API key"
2037 msgstr ""
2049 msgstr ""
2038
2050
2039 #: rhodecode/templates/admin/users/user_edit.html:59
2051 #: rhodecode/templates/admin/users/user_edit.html:59
2040 msgid "LDAP DN"
2052 msgid "LDAP DN"
2041 msgstr ""
2053 msgstr ""
2042
2054
2043 #: rhodecode/templates/admin/users/user_edit.html:68
2055 #: rhodecode/templates/admin/users/user_edit.html:68
2044 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
2056 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
2045 msgid "New password"
2057 msgid "New password"
2046 msgstr ""
2058 msgstr ""
2047
2059
2048 #: rhodecode/templates/admin/users/user_edit.html:77
2060 #: rhodecode/templates/admin/users/user_edit.html:77
2049 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2061 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2050 msgid "New password confirmation"
2062 msgid "New password confirmation"
2051 msgstr ""
2063 msgstr ""
2052
2064
2053 #: rhodecode/templates/admin/users/user_edit.html:147
2065 #: rhodecode/templates/admin/users/user_edit.html:147
2054 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2066 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2055 msgid "Create repositories"
2067 msgid "Create repositories"
2056 msgstr ""
2068 msgstr ""
2057
2069
2058 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2070 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2059 #: rhodecode/templates/base/base.html:124
2071 #: rhodecode/templates/base/base.html:124
2060 msgid "My account"
2072 msgid "My account"
2061 msgstr ""
2073 msgstr ""
2062
2074
2063 #: rhodecode/templates/admin/users/user_edit_my_account.html:9
2075 #: rhodecode/templates/admin/users/user_edit_my_account.html:9
2064 msgid "My Account"
2076 msgid "My Account"
2065 msgstr ""
2077 msgstr ""
2066
2078
2067 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2079 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2068 #: rhodecode/templates/journal/journal.html:32
2080 #: rhodecode/templates/journal/journal.html:32
2069 msgid "My repos"
2081 msgid "My repos"
2070 msgstr ""
2082 msgstr ""
2071
2083
2072 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2084 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2073 msgid "My permissions"
2085 msgid "My permissions"
2074 msgstr ""
2086 msgstr ""
2075
2087
2076 #: rhodecode/templates/admin/users/user_edit_my_account.html:37
2088 #: rhodecode/templates/admin/users/user_edit_my_account.html:37
2077 #: rhodecode/templates/journal/journal.html:37
2089 #: rhodecode/templates/journal/journal.html:37
2078 msgid "ADD"
2090 msgid "ADD"
2079 msgstr ""
2091 msgstr ""
2080
2092
2081 #: rhodecode/templates/admin/users/user_edit_my_account.html:50
2093 #: rhodecode/templates/admin/users/user_edit_my_account.html:50
2082 #: rhodecode/templates/bookmarks/bookmarks.html:40
2094 #: rhodecode/templates/bookmarks/bookmarks.html:40
2083 #: rhodecode/templates/bookmarks/bookmarks_data.html:9
2095 #: rhodecode/templates/bookmarks/bookmarks_data.html:9
2084 #: rhodecode/templates/branches/branches.html:40
2096 #: rhodecode/templates/branches/branches.html:40
2085 #: rhodecode/templates/journal/journal.html:51
2097 #: rhodecode/templates/journal/journal.html:51
2086 #: rhodecode/templates/tags/tags.html:40 rhodecode/templates/tags/tags_data.html:9
2098 #: rhodecode/templates/tags/tags.html:40 rhodecode/templates/tags/tags_data.html:9
2087 msgid "Revision"
2099 msgid "Revision"
2088 msgstr ""
2100 msgstr ""
2089
2101
2090 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
2102 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
2091 #: rhodecode/templates/journal/journal.html:72
2103 #: rhodecode/templates/journal/journal.html:72
2092 msgid "private"
2104 msgid "private"
2093 msgstr ""
2105 msgstr ""
2094
2106
2095 #: rhodecode/templates/admin/users/user_edit_my_account.html:81
2107 #: rhodecode/templates/admin/users/user_edit_my_account.html:81
2096 #: rhodecode/templates/journal/journal.html:85
2108 #: rhodecode/templates/journal/journal.html:85
2097 msgid "No repositories yet"
2109 msgid "No repositories yet"
2098 msgstr ""
2110 msgstr ""
2099
2111
2100 #: rhodecode/templates/admin/users/user_edit_my_account.html:83
2112 #: rhodecode/templates/admin/users/user_edit_my_account.html:83
2101 #: rhodecode/templates/journal/journal.html:87
2113 #: rhodecode/templates/journal/journal.html:87
2102 msgid "create one now"
2114 msgid "create one now"
2103 msgstr ""
2115 msgstr ""
2104
2116
2105 #: rhodecode/templates/admin/users/user_edit_my_account.html:100
2117 #: rhodecode/templates/admin/users/user_edit_my_account.html:100
2106 #: rhodecode/templates/admin/users/user_edit_my_account.html:201
2118 #: rhodecode/templates/admin/users/user_edit_my_account.html:201
2107 msgid "Permission"
2119 msgid "Permission"
2108 msgstr ""
2120 msgstr ""
2109
2121
2110 #: rhodecode/templates/admin/users/users.html:5
2122 #: rhodecode/templates/admin/users/users.html:5
2111 msgid "Users administration"
2123 msgid "Users administration"
2112 msgstr ""
2124 msgstr ""
2113
2125
2114 #: rhodecode/templates/admin/users/users.html:23
2126 #: rhodecode/templates/admin/users/users.html:23
2115 msgid "ADD NEW USER"
2127 msgid "ADD NEW USER"
2116 msgstr ""
2128 msgstr ""
2117
2129
2118 #: rhodecode/templates/admin/users/users.html:33
2130 #: rhodecode/templates/admin/users/users.html:33
2119 msgid "username"
2131 msgid "username"
2120 msgstr ""
2132 msgstr ""
2121
2133
2122 #: rhodecode/templates/admin/users/users.html:34
2134 #: rhodecode/templates/admin/users/users.html:34
2123 #: rhodecode/templates/branches/branches_data.html:6
2135 #: rhodecode/templates/branches/branches_data.html:6
2124 msgid "name"
2136 msgid "name"
2125 msgstr ""
2137 msgstr ""
2126
2138
2127 #: rhodecode/templates/admin/users/users.html:35
2139 #: rhodecode/templates/admin/users/users.html:35
2128 msgid "lastname"
2140 msgid "lastname"
2129 msgstr ""
2141 msgstr ""
2130
2142
2131 #: rhodecode/templates/admin/users/users.html:36
2143 #: rhodecode/templates/admin/users/users.html:36
2132 msgid "last login"
2144 msgid "last login"
2133 msgstr ""
2145 msgstr ""
2134
2146
2135 #: rhodecode/templates/admin/users/users.html:37
2147 #: rhodecode/templates/admin/users/users.html:37
2136 #: rhodecode/templates/admin/users_groups/users_groups.html:34
2148 #: rhodecode/templates/admin/users_groups/users_groups.html:34
2137 msgid "active"
2149 msgid "active"
2138 msgstr ""
2150 msgstr ""
2139
2151
2140 #: rhodecode/templates/admin/users/users.html:39
2152 #: rhodecode/templates/admin/users/users.html:39
2141 #: rhodecode/templates/base/base.html:223
2153 #: rhodecode/templates/base/base.html:223
2142 msgid "ldap"
2154 msgid "ldap"
2143 msgstr ""
2155 msgstr ""
2144
2156
2145 #: rhodecode/templates/admin/users/users.html:56
2157 #: rhodecode/templates/admin/users/users.html:56
2146 #, python-format
2158 #, python-format
2147 msgid "Confirm to delete this user: %s"
2159 msgid "Confirm to delete this user: %s"
2148 msgstr ""
2160 msgstr ""
2149
2161
2150 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2162 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2151 msgid "Add users group"
2163 msgid "Add users group"
2152 msgstr ""
2164 msgstr ""
2153
2165
2154 #: rhodecode/templates/admin/users_groups/users_group_add.html:10
2166 #: rhodecode/templates/admin/users_groups/users_group_add.html:10
2155 #: rhodecode/templates/admin/users_groups/users_groups.html:9
2167 #: rhodecode/templates/admin/users_groups/users_groups.html:9
2156 msgid "Users groups"
2168 msgid "Users groups"
2157 msgstr ""
2169 msgstr ""
2158
2170
2159 #: rhodecode/templates/admin/users_groups/users_group_add.html:12
2171 #: rhodecode/templates/admin/users_groups/users_group_add.html:12
2160 msgid "add new users group"
2172 msgid "add new users group"
2161 msgstr ""
2173 msgstr ""
2162
2174
2163 #: rhodecode/templates/admin/users_groups/users_group_edit.html:5
2175 #: rhodecode/templates/admin/users_groups/users_group_edit.html:5
2164 msgid "Edit users group"
2176 msgid "Edit users group"
2165 msgstr ""
2177 msgstr ""
2166
2178
2167 #: rhodecode/templates/admin/users_groups/users_group_edit.html:11
2179 #: rhodecode/templates/admin/users_groups/users_group_edit.html:11
2168 msgid "UsersGroups"
2180 msgid "UsersGroups"
2169 msgstr ""
2181 msgstr ""
2170
2182
2171 #: rhodecode/templates/admin/users_groups/users_group_edit.html:50
2183 #: rhodecode/templates/admin/users_groups/users_group_edit.html:50
2172 msgid "Members"
2184 msgid "Members"
2173 msgstr ""
2185 msgstr ""
2174
2186
2175 #: rhodecode/templates/admin/users_groups/users_group_edit.html:58
2187 #: rhodecode/templates/admin/users_groups/users_group_edit.html:58
2176 msgid "Choosen group members"
2188 msgid "Choosen group members"
2177 msgstr ""
2189 msgstr ""
2178
2190
2179 #: rhodecode/templates/admin/users_groups/users_group_edit.html:61
2191 #: rhodecode/templates/admin/users_groups/users_group_edit.html:61
2180 msgid "Remove all elements"
2192 msgid "Remove all elements"
2181 msgstr ""
2193 msgstr ""
2182
2194
2183 #: rhodecode/templates/admin/users_groups/users_group_edit.html:75
2195 #: rhodecode/templates/admin/users_groups/users_group_edit.html:75
2184 msgid "Available members"
2196 msgid "Available members"
2185 msgstr ""
2197 msgstr ""
2186
2198
2187 #: rhodecode/templates/admin/users_groups/users_group_edit.html:79
2199 #: rhodecode/templates/admin/users_groups/users_group_edit.html:79
2188 msgid "Add all elements"
2200 msgid "Add all elements"
2189 msgstr ""
2201 msgstr ""
2190
2202
2191 #: rhodecode/templates/admin/users_groups/users_group_edit.html:126
2203 #: rhodecode/templates/admin/users_groups/users_group_edit.html:126
2192 msgid "Group members"
2204 msgid "Group members"
2193 msgstr ""
2205 msgstr ""
2194
2206
2195 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2207 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2196 msgid "Users groups administration"
2208 msgid "Users groups administration"
2197 msgstr ""
2209 msgstr ""
2198
2210
2199 #: rhodecode/templates/admin/users_groups/users_groups.html:23
2211 #: rhodecode/templates/admin/users_groups/users_groups.html:23
2200 msgid "ADD NEW USER GROUP"
2212 msgid "ADD NEW USER GROUP"
2201 msgstr ""
2213 msgstr ""
2202
2214
2203 #: rhodecode/templates/admin/users_groups/users_groups.html:32
2215 #: rhodecode/templates/admin/users_groups/users_groups.html:32
2204 msgid "group name"
2216 msgid "group name"
2205 msgstr ""
2217 msgstr ""
2206
2218
2207 #: rhodecode/templates/admin/users_groups/users_groups.html:33
2219 #: rhodecode/templates/admin/users_groups/users_groups.html:33
2208 #: rhodecode/templates/base/root.html:46
2220 #: rhodecode/templates/base/root.html:46
2209 msgid "members"
2221 msgid "members"
2210 msgstr ""
2222 msgstr ""
2211
2223
2212 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2224 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2213 #, python-format
2225 #, python-format
2214 msgid "Confirm to delete this users group: %s"
2226 msgid "Confirm to delete this users group: %s"
2215 msgstr ""
2227 msgstr ""
2216
2228
2217 #: rhodecode/templates/base/base.html:41
2229 #: rhodecode/templates/base/base.html:41
2218 msgid "Submit a bug"
2230 msgid "Submit a bug"
2219 msgstr ""
2231 msgstr ""
2220
2232
2221 #: rhodecode/templates/base/base.html:77
2233 #: rhodecode/templates/base/base.html:77
2222 msgid "Login to your account"
2234 msgid "Login to your account"
2223 msgstr ""
2235 msgstr ""
2224
2236
2225 #: rhodecode/templates/base/base.html:100
2237 #: rhodecode/templates/base/base.html:100
2226 msgid "Forgot password ?"
2238 msgid "Forgot password ?"
2227 msgstr ""
2239 msgstr ""
2228
2240
2229 #: rhodecode/templates/base/base.html:107
2241 #: rhodecode/templates/base/base.html:107
2230 msgid "Log In"
2242 msgid "Log In"
2231 msgstr ""
2243 msgstr ""
2232
2244
2233 #: rhodecode/templates/base/base.html:118
2245 #: rhodecode/templates/base/base.html:118
2234 msgid "Inbox"
2246 msgid "Inbox"
2235 msgstr ""
2247 msgstr ""
2236
2248
2237 #: rhodecode/templates/base/base.html:122 rhodecode/templates/base/base.html:289
2249 #: rhodecode/templates/base/base.html:122 rhodecode/templates/base/base.html:289
2238 #: rhodecode/templates/base/base.html:291 rhodecode/templates/base/base.html:293
2250 #: rhodecode/templates/base/base.html:291 rhodecode/templates/base/base.html:293
2239 msgid "Home"
2251 msgid "Home"
2240 msgstr ""
2252 msgstr ""
2241
2253
2242 #: rhodecode/templates/base/base.html:123 rhodecode/templates/base/base.html:298
2254 #: rhodecode/templates/base/base.html:123 rhodecode/templates/base/base.html:298
2243 #: rhodecode/templates/base/base.html:300 rhodecode/templates/base/base.html:302
2255 #: rhodecode/templates/base/base.html:300 rhodecode/templates/base/base.html:302
2244 #: rhodecode/templates/journal/journal.html:4
2256 #: rhodecode/templates/journal/journal.html:4
2245 #: rhodecode/templates/journal/journal.html:17
2257 #: rhodecode/templates/journal/journal.html:17
2246 #: rhodecode/templates/journal/public_journal.html:4
2258 #: rhodecode/templates/journal/public_journal.html:4
2247 msgid "Journal"
2259 msgid "Journal"
2248 msgstr ""
2260 msgstr ""
2249
2261
2250 #: rhodecode/templates/base/base.html:125
2262 #: rhodecode/templates/base/base.html:125
2251 msgid "Log Out"
2263 msgid "Log Out"
2252 msgstr ""
2264 msgstr ""
2253
2265
2254 #: rhodecode/templates/base/base.html:144
2266 #: rhodecode/templates/base/base.html:144
2255 msgid "Switch repository"
2267 msgid "Switch repository"
2256 msgstr ""
2268 msgstr ""
2257
2269
2258 #: rhodecode/templates/base/base.html:146
2270 #: rhodecode/templates/base/base.html:146
2259 msgid "Products"
2271 msgid "Products"
2260 msgstr ""
2272 msgstr ""
2261
2273
2262 #: rhodecode/templates/base/base.html:152 rhodecode/templates/base/base.html:182
2274 #: rhodecode/templates/base/base.html:152 rhodecode/templates/base/base.html:182
2263 msgid "loading..."
2275 msgid "loading..."
2264 msgstr ""
2276 msgstr ""
2265
2277
2266 #: rhodecode/templates/base/base.html:158 rhodecode/templates/base/base.html:160
2278 #: rhodecode/templates/base/base.html:158 rhodecode/templates/base/base.html:160
2267 #: rhodecode/templates/base/base.html:162
2279 #: rhodecode/templates/base/base.html:162
2268 #: rhodecode/templates/data_table/_dt_elements.html:9
2280 #: rhodecode/templates/data_table/_dt_elements.html:9
2269 #: rhodecode/templates/data_table/_dt_elements.html:11
2281 #: rhodecode/templates/data_table/_dt_elements.html:11
2270 #: rhodecode/templates/data_table/_dt_elements.html:13
2282 #: rhodecode/templates/data_table/_dt_elements.html:13
2271 #: rhodecode/templates/summary/summary.html:4
2272 msgid "Summary"
2283 msgid "Summary"
2273 msgstr ""
2284 msgstr ""
2274
2285
2275 #: rhodecode/templates/base/base.html:166 rhodecode/templates/base/base.html:168
2286 #: rhodecode/templates/base/base.html:166 rhodecode/templates/base/base.html:168
2276 #: rhodecode/templates/base/base.html:170
2287 #: rhodecode/templates/base/base.html:170
2277 #: rhodecode/templates/changelog/changelog.html:6
2278 #: rhodecode/templates/changelog/changelog.html:15
2288 #: rhodecode/templates/changelog/changelog.html:15
2279 #: rhodecode/templates/data_table/_dt_elements.html:17
2289 #: rhodecode/templates/data_table/_dt_elements.html:17
2280 #: rhodecode/templates/data_table/_dt_elements.html:19
2290 #: rhodecode/templates/data_table/_dt_elements.html:19
2281 #: rhodecode/templates/data_table/_dt_elements.html:21
2291 #: rhodecode/templates/data_table/_dt_elements.html:21
2282 msgid "Changelog"
2292 msgid "Changelog"
2283 msgstr ""
2293 msgstr ""
2284
2294
2285 #: rhodecode/templates/base/base.html:175 rhodecode/templates/base/base.html:177
2295 #: rhodecode/templates/base/base.html:175 rhodecode/templates/base/base.html:177
2286 #: rhodecode/templates/base/base.html:179
2296 #: rhodecode/templates/base/base.html:179
2287 msgid "Switch to"
2297 msgid "Switch to"
2288 msgstr ""
2298 msgstr ""
2289
2299
2290 #: rhodecode/templates/base/base.html:186 rhodecode/templates/base/base.html:188
2300 #: rhodecode/templates/base/base.html:186 rhodecode/templates/base/base.html:188
2291 #: rhodecode/templates/base/base.html:190
2301 #: rhodecode/templates/base/base.html:190
2292 #: rhodecode/templates/data_table/_dt_elements.html:25
2302 #: rhodecode/templates/data_table/_dt_elements.html:25
2293 #: rhodecode/templates/data_table/_dt_elements.html:27
2303 #: rhodecode/templates/data_table/_dt_elements.html:27
2294 #: rhodecode/templates/data_table/_dt_elements.html:29
2304 #: rhodecode/templates/data_table/_dt_elements.html:29
2295 #: rhodecode/templates/files/files.html:4 rhodecode/templates/files/files.html:40
2305 #: rhodecode/templates/files/files.html:40
2296 msgid "Files"
2306 msgid "Files"
2297 msgstr ""
2307 msgstr ""
2298
2308
2299 #: rhodecode/templates/base/base.html:195 rhodecode/templates/base/base.html:199
2309 #: rhodecode/templates/base/base.html:195 rhodecode/templates/base/base.html:199
2300 msgid "Options"
2310 msgid "Options"
2301 msgstr ""
2311 msgstr ""
2302
2312
2303 #: rhodecode/templates/base/base.html:204 rhodecode/templates/base/base.html:206
2313 #: rhodecode/templates/base/base.html:204 rhodecode/templates/base/base.html:206
2304 #: rhodecode/templates/base/base.html:224
2314 #: rhodecode/templates/base/base.html:224
2305 msgid "settings"
2315 msgid "settings"
2306 msgstr ""
2316 msgstr ""
2307
2317
2308 #: rhodecode/templates/base/base.html:209
2318 #: rhodecode/templates/base/base.html:209
2309 #: rhodecode/templates/data_table/_dt_elements.html:74
2319 #: rhodecode/templates/data_table/_dt_elements.html:74
2310 #: rhodecode/templates/forks/fork.html:13
2320 #: rhodecode/templates/forks/fork.html:13
2311 msgid "fork"
2321 msgid "fork"
2312 msgstr ""
2322 msgstr ""
2313
2323
2314 #: rhodecode/templates/base/base.html:210
2324 #: rhodecode/templates/base/base.html:210
2315 msgid "search"
2325 msgid "search"
2316 msgstr ""
2326 msgstr ""
2317
2327
2318 #: rhodecode/templates/base/base.html:217
2328 #: rhodecode/templates/base/base.html:217
2319 msgid "journal"
2329 msgid "journal"
2320 msgstr ""
2330 msgstr ""
2321
2331
2322 #: rhodecode/templates/base/base.html:219
2332 #: rhodecode/templates/base/base.html:219
2323 msgid "repositories groups"
2333 msgid "repositories groups"
2324 msgstr ""
2334 msgstr ""
2325
2335
2326 #: rhodecode/templates/base/base.html:220
2336 #: rhodecode/templates/base/base.html:220
2327 msgid "users"
2337 msgid "users"
2328 msgstr ""
2338 msgstr ""
2329
2339
2330 #: rhodecode/templates/base/base.html:221
2340 #: rhodecode/templates/base/base.html:221
2331 msgid "users groups"
2341 msgid "users groups"
2332 msgstr ""
2342 msgstr ""
2333
2343
2334 #: rhodecode/templates/base/base.html:222
2344 #: rhodecode/templates/base/base.html:222
2335 msgid "permissions"
2345 msgid "permissions"
2336 msgstr ""
2346 msgstr ""
2337
2347
2338 #: rhodecode/templates/base/base.html:235 rhodecode/templates/base/base.html:237
2348 #: rhodecode/templates/base/base.html:235 rhodecode/templates/base/base.html:237
2339 #: rhodecode/templates/followers/followers.html:5
2340 msgid "Followers"
2349 msgid "Followers"
2341 msgstr ""
2350 msgstr ""
2342
2351
2343 #: rhodecode/templates/base/base.html:243 rhodecode/templates/base/base.html:245
2352 #: rhodecode/templates/base/base.html:243 rhodecode/templates/base/base.html:245
2344 #: rhodecode/templates/forks/forks.html:5
2345 msgid "Forks"
2353 msgid "Forks"
2346 msgstr ""
2354 msgstr ""
2347
2355
2348 #: rhodecode/templates/base/base.html:316 rhodecode/templates/base/base.html:318
2356 #: rhodecode/templates/base/base.html:316 rhodecode/templates/base/base.html:318
2349 #: rhodecode/templates/base/base.html:320 rhodecode/templates/search/search.html:4
2357 #: rhodecode/templates/base/base.html:320 rhodecode/templates/search/search.html:4
2350 #: rhodecode/templates/search/search.html:24
2358 #: rhodecode/templates/search/search.html:24
2351 #: rhodecode/templates/search/search.html:46
2359 #: rhodecode/templates/search/search.html:46
2352 msgid "Search"
2360 msgid "Search"
2353 msgstr ""
2361 msgstr ""
2354
2362
2355 #: rhodecode/templates/base/root.html:42
2363 #: rhodecode/templates/base/root.html:42
2356 msgid "add another comment"
2364 msgid "add another comment"
2357 msgstr ""
2365 msgstr ""
2358
2366
2359 #: rhodecode/templates/base/root.html:43
2367 #: rhodecode/templates/base/root.html:43
2360 #: rhodecode/templates/journal/journal.html:111
2368 #: rhodecode/templates/journal/journal.html:111
2361 #: rhodecode/templates/summary/summary.html:52
2369 #: rhodecode/templates/summary/summary.html:52
2362 msgid "Stop following this repository"
2370 msgid "Stop following this repository"
2363 msgstr ""
2371 msgstr ""
2364
2372
2365 #: rhodecode/templates/base/root.html:44
2373 #: rhodecode/templates/base/root.html:44
2366 #: rhodecode/templates/summary/summary.html:56
2374 #: rhodecode/templates/summary/summary.html:56
2367 msgid "Start following this repository"
2375 msgid "Start following this repository"
2368 msgstr ""
2376 msgstr ""
2369
2377
2370 #: rhodecode/templates/base/root.html:45
2378 #: rhodecode/templates/base/root.html:45
2371 msgid "Group"
2379 msgid "Group"
2372 msgstr ""
2380 msgstr ""
2373
2381
2374 #: rhodecode/templates/bookmarks/bookmarks.html:5
2382 #: rhodecode/templates/bookmarks/bookmarks.html:5
2375 msgid "Bookmarks"
2383 #, python-format
2384 msgid "%s Bookmarks"
2376 msgstr ""
2385 msgstr ""
2377
2386
2378 #: rhodecode/templates/bookmarks/bookmarks.html:39
2387 #: rhodecode/templates/bookmarks/bookmarks.html:39
2379 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2388 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2380 #: rhodecode/templates/branches/branches.html:39
2389 #: rhodecode/templates/branches/branches.html:39
2381 #: rhodecode/templates/tags/tags.html:39 rhodecode/templates/tags/tags_data.html:8
2390 #: rhodecode/templates/tags/tags.html:39 rhodecode/templates/tags/tags_data.html:8
2382 msgid "Author"
2391 msgid "Author"
2383 msgstr ""
2392 msgstr ""
2384
2393
2394 #: rhodecode/templates/branches/branches.html:5
2395 #, python-format
2396 msgid "%s Branches"
2397 msgstr ""
2398
2385 #: rhodecode/templates/branches/branches_data.html:7
2399 #: rhodecode/templates/branches/branches_data.html:7
2386 msgid "date"
2400 msgid "date"
2387 msgstr ""
2401 msgstr ""
2388
2402
2389 #: rhodecode/templates/branches/branches_data.html:8
2403 #: rhodecode/templates/branches/branches_data.html:8
2390 #: rhodecode/templates/shortlog/shortlog_data.html:8
2404 #: rhodecode/templates/shortlog/shortlog_data.html:8
2391 msgid "author"
2405 msgid "author"
2392 msgstr ""
2406 msgstr ""
2393
2407
2394 #: rhodecode/templates/branches/branches_data.html:9
2408 #: rhodecode/templates/branches/branches_data.html:9
2395 #: rhodecode/templates/shortlog/shortlog_data.html:5
2409 #: rhodecode/templates/shortlog/shortlog_data.html:5
2396 msgid "revision"
2410 msgid "revision"
2397 msgstr ""
2411 msgstr ""
2398
2412
2413 #: rhodecode/templates/changelog/changelog.html:6
2414 #, python-format
2415 msgid "%s Changelog"
2416 msgstr ""
2417
2399 #: rhodecode/templates/changelog/changelog.html:15
2418 #: rhodecode/templates/changelog/changelog.html:15
2400 #, python-format
2419 #, python-format
2401 msgid "showing %d out of %d revision"
2420 msgid "showing %d out of %d revision"
2402 msgid_plural "showing %d out of %d revisions"
2421 msgid_plural "showing %d out of %d revisions"
2403 msgstr[0] ""
2422 msgstr[0] ""
2404 msgstr[1] ""
2423 msgstr[1] ""
2405
2424
2406 #: rhodecode/templates/changelog/changelog.html:38
2425 #: rhodecode/templates/changelog/changelog.html:38
2407 msgid "Show"
2426 msgid "Show"
2408 msgstr ""
2427 msgstr ""
2409
2428
2410 #: rhodecode/templates/changelog/changelog.html:64
2429 #: rhodecode/templates/changelog/changelog.html:64
2411 #: rhodecode/templates/summary/summary.html:352
2430 #: rhodecode/templates/summary/summary.html:352
2412 msgid "show more"
2431 msgid "show more"
2413 msgstr ""
2432 msgstr ""
2414
2433
2415 #: rhodecode/templates/changelog/changelog.html:68
2434 #: rhodecode/templates/changelog/changelog.html:68
2416 msgid "Affected number of files, click to show more details"
2435 msgid "Affected number of files, click to show more details"
2417 msgstr ""
2436 msgstr ""
2418
2437
2419 #: rhodecode/templates/changelog/changelog.html:82
2438 #: rhodecode/templates/changelog/changelog.html:82
2420 #: rhodecode/templates/changeset/changeset.html:72
2439 #: rhodecode/templates/changeset/changeset.html:72
2421 msgid "Parent"
2440 msgid "Parent"
2422 msgstr ""
2441 msgstr ""
2423
2442
2424 #: rhodecode/templates/changelog/changelog.html:88
2443 #: rhodecode/templates/changelog/changelog.html:88
2425 #: rhodecode/templates/changeset/changeset.html:78
2444 #: rhodecode/templates/changeset/changeset.html:78
2426 msgid "No parents"
2445 msgid "No parents"
2427 msgstr ""
2446 msgstr ""
2428
2447
2429 #: rhodecode/templates/changelog/changelog.html:93
2448 #: rhodecode/templates/changelog/changelog.html:93
2430 #: rhodecode/templates/changeset/changeset.html:82
2449 #: rhodecode/templates/changeset/changeset.html:82
2431 msgid "merge"
2450 msgid "merge"
2432 msgstr ""
2451 msgstr ""
2433
2452
2434 #: rhodecode/templates/changelog/changelog.html:96
2453 #: rhodecode/templates/changelog/changelog.html:96
2435 #: rhodecode/templates/changeset/changeset.html:85
2454 #: rhodecode/templates/changeset/changeset.html:85
2436 #: rhodecode/templates/files/files.html:29
2455 #: rhodecode/templates/files/files.html:29
2437 #: rhodecode/templates/files/files_add.html:33
2456 #: rhodecode/templates/files/files_add.html:33
2438 #: rhodecode/templates/files/files_edit.html:33
2457 #: rhodecode/templates/files/files_edit.html:33
2439 #: rhodecode/templates/shortlog/shortlog_data.html:9
2458 #: rhodecode/templates/shortlog/shortlog_data.html:9
2440 msgid "branch"
2459 msgid "branch"
2441 msgstr ""
2460 msgstr ""
2442
2461
2443 #: rhodecode/templates/changelog/changelog.html:102
2462 #: rhodecode/templates/changelog/changelog.html:102
2444 msgid "bookmark"
2463 msgid "bookmark"
2445 msgstr ""
2464 msgstr ""
2446
2465
2447 #: rhodecode/templates/changelog/changelog.html:108
2466 #: rhodecode/templates/changelog/changelog.html:108
2448 #: rhodecode/templates/changeset/changeset.html:90
2467 #: rhodecode/templates/changeset/changeset.html:90
2449 msgid "tag"
2468 msgid "tag"
2450 msgstr ""
2469 msgstr ""
2451
2470
2452 #: rhodecode/templates/changelog/changelog.html:144
2471 #: rhodecode/templates/changelog/changelog.html:144
2453 msgid "Show selected changes __S -> __E"
2472 msgid "Show selected changes __S -> __E"
2454 msgstr ""
2473 msgstr ""
2455
2474
2456 #: rhodecode/templates/changelog/changelog.html:235
2475 #: rhodecode/templates/changelog/changelog.html:235
2457 msgid "There are no changes yet"
2476 msgid "There are no changes yet"
2458 msgstr ""
2477 msgstr ""
2459
2478
2460 #: rhodecode/templates/changelog/changelog_details.html:2
2479 #: rhodecode/templates/changelog/changelog_details.html:2
2461 #: rhodecode/templates/changeset/changeset.html:60
2480 #: rhodecode/templates/changeset/changeset.html:60
2462 msgid "removed"
2481 msgid "removed"
2463 msgstr ""
2482 msgstr ""
2464
2483
2465 #: rhodecode/templates/changelog/changelog_details.html:3
2484 #: rhodecode/templates/changelog/changelog_details.html:3
2466 #: rhodecode/templates/changeset/changeset.html:61
2485 #: rhodecode/templates/changeset/changeset.html:61
2467 msgid "changed"
2486 msgid "changed"
2468 msgstr ""
2487 msgstr ""
2469
2488
2470 #: rhodecode/templates/changelog/changelog_details.html:4
2489 #: rhodecode/templates/changelog/changelog_details.html:4
2471 #: rhodecode/templates/changeset/changeset.html:62
2490 #: rhodecode/templates/changeset/changeset.html:62
2472 msgid "added"
2491 msgid "added"
2473 msgstr ""
2492 msgstr ""
2474
2493
2475 #: rhodecode/templates/changelog/changelog_details.html:6
2494 #: rhodecode/templates/changelog/changelog_details.html:6
2476 #: rhodecode/templates/changelog/changelog_details.html:7
2495 #: rhodecode/templates/changelog/changelog_details.html:7
2477 #: rhodecode/templates/changelog/changelog_details.html:8
2496 #: rhodecode/templates/changelog/changelog_details.html:8
2478 #: rhodecode/templates/changeset/changeset.html:64
2497 #: rhodecode/templates/changeset/changeset.html:64
2479 #: rhodecode/templates/changeset/changeset.html:65
2498 #: rhodecode/templates/changeset/changeset.html:65
2480 #: rhodecode/templates/changeset/changeset.html:66
2499 #: rhodecode/templates/changeset/changeset.html:66
2481 #, python-format
2500 #, python-format
2482 msgid "affected %s files"
2501 msgid "affected %s files"
2483 msgstr ""
2502 msgstr ""
2484
2503
2485 #: rhodecode/templates/changeset/changeset.html:6
2504 #: rhodecode/templates/changeset/changeset.html:6
2505 #, python-format
2506 msgid "%s Changeset"
2507 msgstr ""
2508
2486 #: rhodecode/templates/changeset/changeset.html:14
2509 #: rhodecode/templates/changeset/changeset.html:14
2487 msgid "Changeset"
2510 msgid "Changeset"
2488 msgstr ""
2511 msgstr ""
2489
2512
2490 #: rhodecode/templates/changeset/changeset.html:37
2513 #: rhodecode/templates/changeset/changeset.html:37
2491 #: rhodecode/templates/changeset/diff_block.html:20
2514 #: rhodecode/templates/changeset/diff_block.html:20
2492 msgid "raw diff"
2515 msgid "raw diff"
2493 msgstr ""
2516 msgstr ""
2494
2517
2495 #: rhodecode/templates/changeset/changeset.html:38
2518 #: rhodecode/templates/changeset/changeset.html:38
2496 #: rhodecode/templates/changeset/diff_block.html:21
2519 #: rhodecode/templates/changeset/diff_block.html:21
2497 msgid "download diff"
2520 msgid "download diff"
2498 msgstr ""
2521 msgstr ""
2499
2522
2500 #: rhodecode/templates/changeset/changeset.html:42
2523 #: rhodecode/templates/changeset/changeset.html:42
2501 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2524 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2502 #, python-format
2525 #, python-format
2503 msgid "%d comment"
2526 msgid "%d comment"
2504 msgid_plural "%d comments"
2527 msgid_plural "%d comments"
2505 msgstr[0] ""
2528 msgstr[0] ""
2506 msgstr[1] ""
2529 msgstr[1] ""
2507
2530
2508 #: rhodecode/templates/changeset/changeset.html:42
2531 #: rhodecode/templates/changeset/changeset.html:42
2509 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2532 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2510 #, python-format
2533 #, python-format
2511 msgid "(%d inline)"
2534 msgid "(%d inline)"
2512 msgid_plural "(%d inline)"
2535 msgid_plural "(%d inline)"
2513 msgstr[0] ""
2536 msgstr[0] ""
2514 msgstr[1] ""
2537 msgstr[1] ""
2515
2538
2516 #: rhodecode/templates/changeset/changeset.html:97
2539 #: rhodecode/templates/changeset/changeset.html:97
2517 #, python-format
2540 #, python-format
2518 msgid "%s files affected with %s insertions and %s deletions:"
2541 msgid "%s files affected with %s insertions and %s deletions:"
2519 msgstr ""
2542 msgstr ""
2520
2543
2521 #: rhodecode/templates/changeset/changeset.html:113
2544 #: rhodecode/templates/changeset/changeset.html:113
2522 msgid "Changeset was too big and was cut off..."
2545 msgid "Changeset was too big and was cut off..."
2523 msgstr ""
2546 msgstr ""
2524
2547
2525 #: rhodecode/templates/changeset/changeset_file_comment.html:35
2548 #: rhodecode/templates/changeset/changeset_file_comment.html:35
2526 msgid "Submitting..."
2549 msgid "Submitting..."
2527 msgstr ""
2550 msgstr ""
2528
2551
2529 #: rhodecode/templates/changeset/changeset_file_comment.html:38
2552 #: rhodecode/templates/changeset/changeset_file_comment.html:38
2530 msgid "Commenting on line {1}."
2553 msgid "Commenting on line {1}."
2531 msgstr ""
2554 msgstr ""
2532
2555
2533 #: rhodecode/templates/changeset/changeset_file_comment.html:39
2556 #: rhodecode/templates/changeset/changeset_file_comment.html:39
2534 #: rhodecode/templates/changeset/changeset_file_comment.html:102
2557 #: rhodecode/templates/changeset/changeset_file_comment.html:102
2535 #, python-format
2558 #, python-format
2536 msgid "Comments parsed using %s syntax with %s support."
2559 msgid "Comments parsed using %s syntax with %s support."
2537 msgstr ""
2560 msgstr ""
2538
2561
2539 #: rhodecode/templates/changeset/changeset_file_comment.html:41
2562 #: rhodecode/templates/changeset/changeset_file_comment.html:41
2540 #: rhodecode/templates/changeset/changeset_file_comment.html:104
2563 #: rhodecode/templates/changeset/changeset_file_comment.html:104
2541 msgid "Use @username inside this text to send notification to this RhodeCode user"
2564 msgid "Use @username inside this text to send notification to this RhodeCode user"
2542 msgstr ""
2565 msgstr ""
2543
2566
2544 #: rhodecode/templates/changeset/changeset_file_comment.html:49
2567 #: rhodecode/templates/changeset/changeset_file_comment.html:49
2545 #: rhodecode/templates/changeset/changeset_file_comment.html:110
2568 #: rhodecode/templates/changeset/changeset_file_comment.html:110
2546 msgid "Comment"
2569 msgid "Comment"
2547 msgstr ""
2570 msgstr ""
2548
2571
2549 #: rhodecode/templates/changeset/changeset_file_comment.html:50
2572 #: rhodecode/templates/changeset/changeset_file_comment.html:50
2550 #: rhodecode/templates/changeset/changeset_file_comment.html:61
2573 #: rhodecode/templates/changeset/changeset_file_comment.html:61
2551 msgid "Hide"
2574 msgid "Hide"
2552 msgstr ""
2575 msgstr ""
2553
2576
2554 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2577 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2555 msgid "You need to be logged in to comment."
2578 msgid "You need to be logged in to comment."
2556 msgstr ""
2579 msgstr ""
2557
2580
2558 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2581 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2559 msgid "Login now"
2582 msgid "Login now"
2560 msgstr ""
2583 msgstr ""
2561
2584
2562 #: rhodecode/templates/changeset/changeset_file_comment.html:99
2585 #: rhodecode/templates/changeset/changeset_file_comment.html:99
2563 msgid "Leave a comment"
2586 msgid "Leave a comment"
2564 msgstr ""
2587 msgstr ""
2565
2588
2589 #: rhodecode/templates/changeset/changeset_range.html:5
2590 #, python-format
2591 msgid "%s Changesets"
2592 msgstr ""
2593
2566 #: rhodecode/templates/changeset/changeset_range.html:29
2594 #: rhodecode/templates/changeset/changeset_range.html:29
2567 msgid "Compare View"
2595 msgid "Compare View"
2568 msgstr ""
2596 msgstr ""
2569
2597
2570 #: rhodecode/templates/changeset/changeset_range.html:49
2598 #: rhodecode/templates/changeset/changeset_range.html:49
2571 msgid "Files affected"
2599 msgid "Files affected"
2572 msgstr ""
2600 msgstr ""
2573
2601
2574 #: rhodecode/templates/changeset/diff_block.html:19
2602 #: rhodecode/templates/changeset/diff_block.html:19
2575 msgid "diff"
2603 msgid "diff"
2576 msgstr ""
2604 msgstr ""
2577
2605
2578 #: rhodecode/templates/changeset/diff_block.html:27
2606 #: rhodecode/templates/changeset/diff_block.html:27
2579 msgid "show inline comments"
2607 msgid "show inline comments"
2580 msgstr ""
2608 msgstr ""
2581
2609
2582 #: rhodecode/templates/data_table/_dt_elements.html:33
2610 #: rhodecode/templates/data_table/_dt_elements.html:33
2583 #: rhodecode/templates/data_table/_dt_elements.html:35
2611 #: rhodecode/templates/data_table/_dt_elements.html:35
2584 #: rhodecode/templates/data_table/_dt_elements.html:37
2612 #: rhodecode/templates/data_table/_dt_elements.html:37
2585 #: rhodecode/templates/forks/fork.html:5
2586 msgid "Fork"
2613 msgid "Fork"
2587 msgstr ""
2614 msgstr ""
2588
2615
2589 #: rhodecode/templates/data_table/_dt_elements.html:54
2616 #: rhodecode/templates/data_table/_dt_elements.html:54
2590 #: rhodecode/templates/journal/journal.html:117
2617 #: rhodecode/templates/journal/journal.html:117
2591 #: rhodecode/templates/summary/summary.html:63
2618 #: rhodecode/templates/summary/summary.html:63
2592 msgid "Mercurial repository"
2619 msgid "Mercurial repository"
2593 msgstr ""
2620 msgstr ""
2594
2621
2595 #: rhodecode/templates/data_table/_dt_elements.html:56
2622 #: rhodecode/templates/data_table/_dt_elements.html:56
2596 #: rhodecode/templates/journal/journal.html:119
2623 #: rhodecode/templates/journal/journal.html:119
2597 #: rhodecode/templates/summary/summary.html:66
2624 #: rhodecode/templates/summary/summary.html:66
2598 msgid "Git repository"
2625 msgid "Git repository"
2599 msgstr ""
2626 msgstr ""
2600
2627
2601 #: rhodecode/templates/data_table/_dt_elements.html:63
2628 #: rhodecode/templates/data_table/_dt_elements.html:63
2602 #: rhodecode/templates/journal/journal.html:125
2629 #: rhodecode/templates/journal/journal.html:125
2603 #: rhodecode/templates/summary/summary.html:73
2630 #: rhodecode/templates/summary/summary.html:73
2604 msgid "public repository"
2631 msgid "public repository"
2605 msgstr ""
2632 msgstr ""
2606
2633
2607 #: rhodecode/templates/data_table/_dt_elements.html:74
2634 #: rhodecode/templates/data_table/_dt_elements.html:74
2608 #: rhodecode/templates/summary/summary.html:82
2635 #: rhodecode/templates/summary/summary.html:82
2609 #: rhodecode/templates/summary/summary.html:83
2636 #: rhodecode/templates/summary/summary.html:83
2610 msgid "Fork of"
2637 msgid "Fork of"
2611 msgstr ""
2638 msgstr ""
2612
2639
2613 #: rhodecode/templates/data_table/_dt_elements.html:86
2640 #: rhodecode/templates/data_table/_dt_elements.html:86
2614 msgid "No changesets yet"
2641 msgid "No changesets yet"
2615 msgstr ""
2642 msgstr ""
2616
2643
2617 #: rhodecode/templates/email_templates/main.html:8
2644 #: rhodecode/templates/email_templates/main.html:8
2618 msgid "This is an notification from RhodeCode."
2645 msgid "This is an notification from RhodeCode."
2619 msgstr ""
2646 msgstr ""
2620
2647
2621 #: rhodecode/templates/errors/error_document.html:44
2648 #: rhodecode/templates/errors/error_document.html:44
2622 #, python-format
2649 #, python-format
2623 msgid "You will be redirected to %s in %s seconds"
2650 msgid "You will be redirected to %s in %s seconds"
2624 msgstr ""
2651 msgstr ""
2625
2652
2626 #: rhodecode/templates/files/file_diff.html:4
2653 #: rhodecode/templates/files/file_diff.html:4
2654 #, python-format
2655 msgid "%s File diff"
2656 msgstr ""
2657
2627 #: rhodecode/templates/files/file_diff.html:12
2658 #: rhodecode/templates/files/file_diff.html:12
2628 msgid "File diff"
2659 msgid "File diff"
2629 msgstr ""
2660 msgstr ""
2630
2661
2662 #: rhodecode/templates/files/files.html:4
2663 #, python-format
2664 msgid "%s Files"
2665 msgstr ""
2666
2631 #: rhodecode/templates/files/files.html:12
2667 #: rhodecode/templates/files/files.html:12
2632 #: rhodecode/templates/summary/summary.html:328
2668 #: rhodecode/templates/summary/summary.html:328
2633 msgid "files"
2669 msgid "files"
2634 msgstr ""
2670 msgstr ""
2635
2671
2636 #: rhodecode/templates/files/files.html:44
2672 #: rhodecode/templates/files/files.html:44
2637 msgid "search truncated"
2673 msgid "search truncated"
2638 msgstr ""
2674 msgstr ""
2639
2675
2640 #: rhodecode/templates/files/files.html:45
2676 #: rhodecode/templates/files/files.html:45
2641 msgid "no matching files"
2677 msgid "no matching files"
2642 msgstr ""
2678 msgstr ""
2643
2679
2644 #: rhodecode/templates/files/files_add.html:4
2680 #: rhodecode/templates/files/files_add.html:4
2645 #: rhodecode/templates/files/files_edit.html:4
2681 #: rhodecode/templates/files/files_edit.html:4
2646 msgid "Edit file"
2682 #, python-format
2683 msgid "%s Edit file"
2647 msgstr ""
2684 msgstr ""
2648
2685
2649 #: rhodecode/templates/files/files_add.html:19
2686 #: rhodecode/templates/files/files_add.html:19
2650 msgid "add file"
2687 msgid "add file"
2651 msgstr ""
2688 msgstr ""
2652
2689
2653 #: rhodecode/templates/files/files_add.html:40
2690 #: rhodecode/templates/files/files_add.html:40
2654 msgid "Add new file"
2691 msgid "Add new file"
2655 msgstr ""
2692 msgstr ""
2656
2693
2657 #: rhodecode/templates/files/files_add.html:45
2694 #: rhodecode/templates/files/files_add.html:45
2658 msgid "File Name"
2695 msgid "File Name"
2659 msgstr ""
2696 msgstr ""
2660
2697
2661 #: rhodecode/templates/files/files_add.html:49
2698 #: rhodecode/templates/files/files_add.html:49
2662 #: rhodecode/templates/files/files_add.html:58
2699 #: rhodecode/templates/files/files_add.html:58
2663 msgid "or"
2700 msgid "or"
2664 msgstr ""
2701 msgstr ""
2665
2702
2666 #: rhodecode/templates/files/files_add.html:49
2703 #: rhodecode/templates/files/files_add.html:49
2667 #: rhodecode/templates/files/files_add.html:54
2704 #: rhodecode/templates/files/files_add.html:54
2668 msgid "Upload file"
2705 msgid "Upload file"
2669 msgstr ""
2706 msgstr ""
2670
2707
2671 #: rhodecode/templates/files/files_add.html:58
2708 #: rhodecode/templates/files/files_add.html:58
2672 msgid "Create new file"
2709 msgid "Create new file"
2673 msgstr ""
2710 msgstr ""
2674
2711
2675 #: rhodecode/templates/files/files_add.html:63
2712 #: rhodecode/templates/files/files_add.html:63
2676 #: rhodecode/templates/files/files_edit.html:39
2713 #: rhodecode/templates/files/files_edit.html:39
2677 #: rhodecode/templates/files/files_ypjax.html:3
2714 #: rhodecode/templates/files/files_ypjax.html:3
2678 msgid "Location"
2715 msgid "Location"
2679 msgstr ""
2716 msgstr ""
2680
2717
2681 #: rhodecode/templates/files/files_add.html:67
2718 #: rhodecode/templates/files/files_add.html:67
2682 msgid "use / to separate directories"
2719 msgid "use / to separate directories"
2683 msgstr ""
2720 msgstr ""
2684
2721
2685 #: rhodecode/templates/files/files_add.html:77
2722 #: rhodecode/templates/files/files_add.html:77
2686 #: rhodecode/templates/files/files_edit.html:63
2723 #: rhodecode/templates/files/files_edit.html:63
2687 #: rhodecode/templates/shortlog/shortlog_data.html:6
2724 #: rhodecode/templates/shortlog/shortlog_data.html:6
2688 msgid "commit message"
2725 msgid "commit message"
2689 msgstr ""
2726 msgstr ""
2690
2727
2691 #: rhodecode/templates/files/files_add.html:81
2728 #: rhodecode/templates/files/files_add.html:81
2692 #: rhodecode/templates/files/files_edit.html:67
2729 #: rhodecode/templates/files/files_edit.html:67
2693 msgid "Commit changes"
2730 msgid "Commit changes"
2694 msgstr ""
2731 msgstr ""
2695
2732
2696 #: rhodecode/templates/files/files_browser.html:13
2733 #: rhodecode/templates/files/files_browser.html:13
2697 msgid "view"
2734 msgid "view"
2698 msgstr ""
2735 msgstr ""
2699
2736
2700 #: rhodecode/templates/files/files_browser.html:14
2737 #: rhodecode/templates/files/files_browser.html:14
2701 msgid "previous revision"
2738 msgid "previous revision"
2702 msgstr ""
2739 msgstr ""
2703
2740
2704 #: rhodecode/templates/files/files_browser.html:16
2741 #: rhodecode/templates/files/files_browser.html:16
2705 msgid "next revision"
2742 msgid "next revision"
2706 msgstr ""
2743 msgstr ""
2707
2744
2708 #: rhodecode/templates/files/files_browser.html:23
2745 #: rhodecode/templates/files/files_browser.html:23
2709 msgid "follow current branch"
2746 msgid "follow current branch"
2710 msgstr ""
2747 msgstr ""
2711
2748
2712 #: rhodecode/templates/files/files_browser.html:27
2749 #: rhodecode/templates/files/files_browser.html:27
2713 msgid "search file list"
2750 msgid "search file list"
2714 msgstr ""
2751 msgstr ""
2715
2752
2716 #: rhodecode/templates/files/files_browser.html:31
2753 #: rhodecode/templates/files/files_browser.html:31
2717 #: rhodecode/templates/shortlog/shortlog_data.html:65
2754 #: rhodecode/templates/shortlog/shortlog_data.html:65
2718 msgid "add new file"
2755 msgid "add new file"
2719 msgstr ""
2756 msgstr ""
2720
2757
2721 #: rhodecode/templates/files/files_browser.html:35
2758 #: rhodecode/templates/files/files_browser.html:35
2722 msgid "Loading file list..."
2759 msgid "Loading file list..."
2723 msgstr ""
2760 msgstr ""
2724
2761
2725 #: rhodecode/templates/files/files_browser.html:48
2762 #: rhodecode/templates/files/files_browser.html:48
2726 msgid "Size"
2763 msgid "Size"
2727 msgstr ""
2764 msgstr ""
2728
2765
2729 #: rhodecode/templates/files/files_browser.html:49
2766 #: rhodecode/templates/files/files_browser.html:49
2730 msgid "Mimetype"
2767 msgid "Mimetype"
2731 msgstr ""
2768 msgstr ""
2732
2769
2733 #: rhodecode/templates/files/files_browser.html:50
2770 #: rhodecode/templates/files/files_browser.html:50
2734 msgid "Last Revision"
2771 msgid "Last Revision"
2735 msgstr ""
2772 msgstr ""
2736
2773
2737 #: rhodecode/templates/files/files_browser.html:51
2774 #: rhodecode/templates/files/files_browser.html:51
2738 msgid "Last modified"
2775 msgid "Last modified"
2739 msgstr ""
2776 msgstr ""
2740
2777
2741 #: rhodecode/templates/files/files_browser.html:52
2778 #: rhodecode/templates/files/files_browser.html:52
2742 msgid "Last commiter"
2779 msgid "Last commiter"
2743 msgstr ""
2780 msgstr ""
2744
2781
2745 #: rhodecode/templates/files/files_edit.html:19
2782 #: rhodecode/templates/files/files_edit.html:19
2746 msgid "edit file"
2783 msgid "edit file"
2747 msgstr ""
2784 msgstr ""
2748
2785
2749 #: rhodecode/templates/files/files_edit.html:49
2786 #: rhodecode/templates/files/files_edit.html:49
2750 #: rhodecode/templates/files/files_source.html:26
2787 #: rhodecode/templates/files/files_source.html:26
2751 msgid "show annotation"
2788 msgid "show annotation"
2752 msgstr ""
2789 msgstr ""
2753
2790
2754 #: rhodecode/templates/files/files_edit.html:50
2791 #: rhodecode/templates/files/files_edit.html:50
2755 #: rhodecode/templates/files/files_source.html:28
2792 #: rhodecode/templates/files/files_source.html:28
2756 #: rhodecode/templates/files/files_source.html:56
2793 #: rhodecode/templates/files/files_source.html:56
2757 msgid "show as raw"
2794 msgid "show as raw"
2758 msgstr ""
2795 msgstr ""
2759
2796
2760 #: rhodecode/templates/files/files_edit.html:51
2797 #: rhodecode/templates/files/files_edit.html:51
2761 #: rhodecode/templates/files/files_source.html:29
2798 #: rhodecode/templates/files/files_source.html:29
2762 msgid "download as raw"
2799 msgid "download as raw"
2763 msgstr ""
2800 msgstr ""
2764
2801
2765 #: rhodecode/templates/files/files_edit.html:54
2802 #: rhodecode/templates/files/files_edit.html:54
2766 msgid "source"
2803 msgid "source"
2767 msgstr ""
2804 msgstr ""
2768
2805
2769 #: rhodecode/templates/files/files_edit.html:59
2806 #: rhodecode/templates/files/files_edit.html:59
2770 msgid "Editing file"
2807 msgid "Editing file"
2771 msgstr ""
2808 msgstr ""
2772
2809
2773 #: rhodecode/templates/files/files_source.html:2
2810 #: rhodecode/templates/files/files_source.html:2
2774 msgid "History"
2811 msgid "History"
2775 msgstr ""
2812 msgstr ""
2776
2813
2777 #: rhodecode/templates/files/files_source.html:24
2814 #: rhodecode/templates/files/files_source.html:24
2778 msgid "show source"
2815 msgid "show source"
2779 msgstr ""
2816 msgstr ""
2780
2817
2781 #: rhodecode/templates/files/files_source.html:47
2818 #: rhodecode/templates/files/files_source.html:47
2782 #, python-format
2819 #, python-format
2783 msgid "Binary file (%s)"
2820 msgid "Binary file (%s)"
2784 msgstr ""
2821 msgstr ""
2785
2822
2786 #: rhodecode/templates/files/files_source.html:56
2823 #: rhodecode/templates/files/files_source.html:56
2787 msgid "File is too big to display"
2824 msgid "File is too big to display"
2788 msgstr ""
2825 msgstr ""
2789
2826
2790 #: rhodecode/templates/files/files_source.html:112
2827 #: rhodecode/templates/files/files_source.html:112
2791 msgid "Selection link"
2828 msgid "Selection link"
2792 msgstr ""
2829 msgstr ""
2793
2830
2794 #: rhodecode/templates/files/files_ypjax.html:5
2831 #: rhodecode/templates/files/files_ypjax.html:5
2795 msgid "annotation"
2832 msgid "annotation"
2796 msgstr ""
2833 msgstr ""
2797
2834
2798 #: rhodecode/templates/files/files_ypjax.html:15
2835 #: rhodecode/templates/files/files_ypjax.html:15
2799 msgid "Go back"
2836 msgid "Go back"
2800 msgstr ""
2837 msgstr ""
2801
2838
2802 #: rhodecode/templates/files/files_ypjax.html:16
2839 #: rhodecode/templates/files/files_ypjax.html:16
2803 msgid "No files at given path"
2840 msgid "No files at given path"
2804 msgstr ""
2841 msgstr ""
2805
2842
2843 #: rhodecode/templates/followers/followers.html:5
2844 #, python-format
2845 msgid "%s Followers"
2846 msgstr ""
2847
2806 #: rhodecode/templates/followers/followers.html:13
2848 #: rhodecode/templates/followers/followers.html:13
2807 msgid "followers"
2849 msgid "followers"
2808 msgstr ""
2850 msgstr ""
2809
2851
2810 #: rhodecode/templates/followers/followers_data.html:12
2852 #: rhodecode/templates/followers/followers_data.html:12
2811 msgid "Started following"
2853 msgid "Started following -"
2854 msgstr ""
2855
2856 #: rhodecode/templates/forks/fork.html:5
2857 #, python-format
2858 msgid "%s Fork"
2812 msgstr ""
2859 msgstr ""
2813
2860
2814 #: rhodecode/templates/forks/fork.html:31
2861 #: rhodecode/templates/forks/fork.html:31
2815 msgid "Fork name"
2862 msgid "Fork name"
2816 msgstr ""
2863 msgstr ""
2817
2864
2818 #: rhodecode/templates/forks/fork.html:57
2865 #: rhodecode/templates/forks/fork.html:57
2819 msgid "Private"
2866 msgid "Private"
2820 msgstr ""
2867 msgstr ""
2821
2868
2822 #: rhodecode/templates/forks/fork.html:65
2869 #: rhodecode/templates/forks/fork.html:65
2823 msgid "Copy permissions"
2870 msgid "Copy permissions"
2824 msgstr ""
2871 msgstr ""
2825
2872
2826 #: rhodecode/templates/forks/fork.html:73
2873 #: rhodecode/templates/forks/fork.html:73
2827 msgid "Update after clone"
2874 msgid "Update after clone"
2828 msgstr ""
2875 msgstr ""
2829
2876
2830 #: rhodecode/templates/forks/fork.html:80
2877 #: rhodecode/templates/forks/fork.html:80
2831 msgid "fork this repository"
2878 msgid "fork this repository"
2832 msgstr ""
2879 msgstr ""
2833
2880
2881 #: rhodecode/templates/forks/forks.html:5
2882 #, python-format
2883 msgid "%s Forks"
2884 msgstr ""
2885
2834 #: rhodecode/templates/forks/forks.html:13
2886 #: rhodecode/templates/forks/forks.html:13
2835 msgid "forks"
2887 msgid "forks"
2836 msgstr ""
2888 msgstr ""
2837
2889
2838 #: rhodecode/templates/forks/forks_data.html:17
2890 #: rhodecode/templates/forks/forks_data.html:17
2839 msgid "forked"
2891 msgid "forked"
2840 msgstr ""
2892 msgstr ""
2841
2893
2842 #: rhodecode/templates/forks/forks_data.html:34
2894 #: rhodecode/templates/forks/forks_data.html:34
2843 msgid "There are no forks yet"
2895 msgid "There are no forks yet"
2844 msgstr ""
2896 msgstr ""
2845
2897
2846 #: rhodecode/templates/journal/journal.html:20
2898 #: rhodecode/templates/journal/journal.html:20
2847 msgid "Refresh"
2899 msgid "Refresh"
2848 msgstr ""
2900 msgstr ""
2849
2901
2850 #: rhodecode/templates/journal/journal.html:32
2902 #: rhodecode/templates/journal/journal.html:32
2851 msgid "Watched"
2903 msgid "Watched"
2852 msgstr ""
2904 msgstr ""
2853
2905
2854 #: rhodecode/templates/journal/journal.html:105
2906 #: rhodecode/templates/journal/journal.html:105
2855 msgid "following user"
2907 msgid "following user"
2856 msgstr ""
2908 msgstr ""
2857
2909
2858 #: rhodecode/templates/journal/journal.html:105
2910 #: rhodecode/templates/journal/journal.html:105
2859 msgid "user"
2911 msgid "user"
2860 msgstr ""
2912 msgstr ""
2861
2913
2862 #: rhodecode/templates/journal/journal.html:138
2914 #: rhodecode/templates/journal/journal.html:138
2863 msgid "You are not following any users or repositories"
2915 msgid "You are not following any users or repositories"
2864 msgstr ""
2916 msgstr ""
2865
2917
2866 #: rhodecode/templates/journal/journal_data.html:47
2918 #: rhodecode/templates/journal/journal_data.html:47
2867 msgid "No entries yet"
2919 msgid "No entries yet"
2868 msgstr ""
2920 msgstr ""
2869
2921
2870 #: rhodecode/templates/journal/public_journal.html:17
2922 #: rhodecode/templates/journal/public_journal.html:17
2871 msgid "Public Journal"
2923 msgid "Public Journal"
2872 msgstr ""
2924 msgstr ""
2873
2925
2874 #: rhodecode/templates/search/search.html:7
2926 #: rhodecode/templates/search/search.html:7
2875 #: rhodecode/templates/search/search.html:26
2927 #: rhodecode/templates/search/search.html:26
2876 msgid "in repository: "
2928 msgid "in repository: "
2877 msgstr ""
2929 msgstr ""
2878
2930
2879 #: rhodecode/templates/search/search.html:9
2931 #: rhodecode/templates/search/search.html:9
2880 #: rhodecode/templates/search/search.html:28
2932 #: rhodecode/templates/search/search.html:28
2881 msgid "in all repositories"
2933 msgid "in all repositories"
2882 msgstr ""
2934 msgstr ""
2883
2935
2884 #: rhodecode/templates/search/search.html:42
2936 #: rhodecode/templates/search/search.html:42
2885 msgid "Search term"
2937 msgid "Search term"
2886 msgstr ""
2938 msgstr ""
2887
2939
2888 #: rhodecode/templates/search/search.html:54
2940 #: rhodecode/templates/search/search.html:54
2889 msgid "Search in"
2941 msgid "Search in"
2890 msgstr ""
2942 msgstr ""
2891
2943
2892 #: rhodecode/templates/search/search.html:57
2944 #: rhodecode/templates/search/search.html:57
2893 msgid "File contents"
2945 msgid "File contents"
2894 msgstr ""
2946 msgstr ""
2895
2947
2896 #: rhodecode/templates/search/search.html:59
2948 #: rhodecode/templates/search/search.html:59
2897 msgid "File names"
2949 msgid "File names"
2898 msgstr ""
2950 msgstr ""
2899
2951
2900 #: rhodecode/templates/search/search_content.html:21
2952 #: rhodecode/templates/search/search_content.html:21
2901 #: rhodecode/templates/search/search_path.html:15
2953 #: rhodecode/templates/search/search_path.html:15
2902 msgid "Permission denied"
2954 msgid "Permission denied"
2903 msgstr ""
2955 msgstr ""
2904
2956
2957 #: rhodecode/templates/settings/repo_settings.html:5
2958 #, python-format
2959 msgid "%s Settings"
2960 msgstr ""
2961
2905 #: rhodecode/templates/shortlog/shortlog.html:5
2962 #: rhodecode/templates/shortlog/shortlog.html:5
2906 #: rhodecode/templates/summary/summary.html:209
2963 #, python-format
2907 msgid "Shortlog"
2964 msgid "%s Shortlog"
2908 msgstr ""
2965 msgstr ""
2909
2966
2910 #: rhodecode/templates/shortlog/shortlog.html:14
2967 #: rhodecode/templates/shortlog/shortlog.html:14
2911 msgid "shortlog"
2968 msgid "shortlog"
2912 msgstr ""
2969 msgstr ""
2913
2970
2914 #: rhodecode/templates/shortlog/shortlog_data.html:7
2971 #: rhodecode/templates/shortlog/shortlog_data.html:7
2915 msgid "age"
2972 msgid "age"
2916 msgstr ""
2973 msgstr ""
2917
2974
2918 #: rhodecode/templates/shortlog/shortlog_data.html:18
2975 #: rhodecode/templates/shortlog/shortlog_data.html:18
2919 msgid "No commit message"
2976 msgid "No commit message"
2920 msgstr ""
2977 msgstr ""
2921
2978
2922 #: rhodecode/templates/shortlog/shortlog_data.html:62
2979 #: rhodecode/templates/shortlog/shortlog_data.html:62
2923 msgid "Add or upload files directly via RhodeCode"
2980 msgid "Add or upload files directly via RhodeCode"
2924 msgstr ""
2981 msgstr ""
2925
2982
2926 #: rhodecode/templates/shortlog/shortlog_data.html:71
2983 #: rhodecode/templates/shortlog/shortlog_data.html:71
2927 msgid "Push new repo"
2984 msgid "Push new repo"
2928 msgstr ""
2985 msgstr ""
2929
2986
2930 #: rhodecode/templates/shortlog/shortlog_data.html:79
2987 #: rhodecode/templates/shortlog/shortlog_data.html:79
2931 msgid "Existing repository?"
2988 msgid "Existing repository?"
2932 msgstr ""
2989 msgstr ""
2933
2990
2991 #: rhodecode/templates/summary/summary.html:4
2992 #, python-format
2993 msgid "%s Summary"
2994 msgstr ""
2995
2934 #: rhodecode/templates/summary/summary.html:12
2996 #: rhodecode/templates/summary/summary.html:12
2935 msgid "summary"
2997 msgid "summary"
2936 msgstr ""
2998 msgstr ""
2937
2999
2938 #: rhodecode/templates/summary/summary.html:44
3000 #: rhodecode/templates/summary/summary.html:44
2939 #: rhodecode/templates/summary/summary.html:47
3001 #: rhodecode/templates/summary/summary.html:47
2940 msgid "ATOM"
3002 msgid "ATOM"
2941 msgstr ""
3003 msgstr ""
2942
3004
2943 #: rhodecode/templates/summary/summary.html:77
3005 #: rhodecode/templates/summary/summary.html:77
2944 #, python-format
3006 #, python-format
2945 msgid "Non changable ID %s"
3007 msgid "Non changable ID %s"
2946 msgstr ""
3008 msgstr ""
2947
3009
2948 #: rhodecode/templates/summary/summary.html:82
3010 #: rhodecode/templates/summary/summary.html:82
2949 msgid "public"
3011 msgid "public"
2950 msgstr ""
3012 msgstr ""
2951
3013
2952 #: rhodecode/templates/summary/summary.html:90
3014 #: rhodecode/templates/summary/summary.html:90
2953 msgid "remote clone"
3015 msgid "remote clone"
2954 msgstr ""
3016 msgstr ""
2955
3017
2956 #: rhodecode/templates/summary/summary.html:121
3018 #: rhodecode/templates/summary/summary.html:121
2957 msgid "Clone url"
3019 msgid "Clone url"
2958 msgstr ""
3020 msgstr ""
2959
3021
2960 #: rhodecode/templates/summary/summary.html:124
3022 #: rhodecode/templates/summary/summary.html:124
2961 msgid "Show by Name"
3023 msgid "Show by Name"
2962 msgstr ""
3024 msgstr ""
2963
3025
2964 #: rhodecode/templates/summary/summary.html:125
3026 #: rhodecode/templates/summary/summary.html:125
2965 msgid "Show by ID"
3027 msgid "Show by ID"
2966 msgstr ""
3028 msgstr ""
2967
3029
2968 #: rhodecode/templates/summary/summary.html:133
3030 #: rhodecode/templates/summary/summary.html:133
2969 msgid "Trending files"
3031 msgid "Trending files"
2970 msgstr ""
3032 msgstr ""
2971
3033
2972 #: rhodecode/templates/summary/summary.html:141
3034 #: rhodecode/templates/summary/summary.html:141
2973 #: rhodecode/templates/summary/summary.html:157
3035 #: rhodecode/templates/summary/summary.html:157
2974 #: rhodecode/templates/summary/summary.html:185
3036 #: rhodecode/templates/summary/summary.html:185
2975 msgid "enable"
3037 msgid "enable"
2976 msgstr ""
3038 msgstr ""
2977
3039
2978 #: rhodecode/templates/summary/summary.html:149
3040 #: rhodecode/templates/summary/summary.html:149
2979 msgid "Download"
3041 msgid "Download"
2980 msgstr ""
3042 msgstr ""
2981
3043
2982 #: rhodecode/templates/summary/summary.html:153
3044 #: rhodecode/templates/summary/summary.html:153
2983 msgid "There are no downloads yet"
3045 msgid "There are no downloads yet"
2984 msgstr ""
3046 msgstr ""
2985
3047
2986 #: rhodecode/templates/summary/summary.html:155
3048 #: rhodecode/templates/summary/summary.html:155
2987 msgid "Downloads are disabled for this repository"
3049 msgid "Downloads are disabled for this repository"
2988 msgstr ""
3050 msgstr ""
2989
3051
3052 #: rhodecode/templates/summary/summary.html:161
3053 msgid "Download as zip"
3054 msgstr ""
3055
2990 #: rhodecode/templates/summary/summary.html:164
3056 #: rhodecode/templates/summary/summary.html:164
2991 msgid "Check this to download archive with subrepos"
3057 msgid "Check this to download archive with subrepos"
2992 msgstr ""
3058 msgstr ""
2993
3059
2994 #: rhodecode/templates/summary/summary.html:164
3060 #: rhodecode/templates/summary/summary.html:164
2995 msgid "with subrepos"
3061 msgid "with subrepos"
2996 msgstr ""
3062 msgstr ""
2997
3063
2998 #: rhodecode/templates/summary/summary.html:177
3064 #: rhodecode/templates/summary/summary.html:177
2999 msgid "Commit activity by day / author"
3065 msgid "Commit activity by day / author"
3000 msgstr ""
3066 msgstr ""
3001
3067
3002 #: rhodecode/templates/summary/summary.html:188
3068 #: rhodecode/templates/summary/summary.html:188
3003 msgid "Stats gathered: "
3069 msgid "Stats gathered: "
3004 msgstr ""
3070 msgstr ""
3005
3071
3072 #: rhodecode/templates/summary/summary.html:209
3073 msgid "Shortlog"
3074 msgstr ""
3075
3006 #: rhodecode/templates/summary/summary.html:211
3076 #: rhodecode/templates/summary/summary.html:211
3007 msgid "Quick start"
3077 msgid "Quick start"
3008 msgstr ""
3078 msgstr ""
3009
3079
3010 #: rhodecode/templates/summary/summary.html:281
3080 #: rhodecode/templates/summary/summary.html:281
3011 #, python-format
3081 #, python-format
3012 msgid "Download %s as %s"
3082 msgid "Download %s as %s"
3013 msgstr ""
3083 msgstr ""
3014
3084
3015 #: rhodecode/templates/summary/summary.html:638
3085 #: rhodecode/templates/summary/summary.html:638
3016 msgid "commits"
3086 msgid "commits"
3017 msgstr ""
3087 msgstr ""
3018
3088
3019 #: rhodecode/templates/summary/summary.html:639
3089 #: rhodecode/templates/summary/summary.html:639
3020 msgid "files added"
3090 msgid "files added"
3021 msgstr ""
3091 msgstr ""
3022
3092
3023 #: rhodecode/templates/summary/summary.html:640
3093 #: rhodecode/templates/summary/summary.html:640
3024 msgid "files changed"
3094 msgid "files changed"
3025 msgstr ""
3095 msgstr ""
3026
3096
3027 #: rhodecode/templates/summary/summary.html:641
3097 #: rhodecode/templates/summary/summary.html:641
3028 msgid "files removed"
3098 msgid "files removed"
3029 msgstr ""
3099 msgstr ""
3030
3100
3031 #: rhodecode/templates/summary/summary.html:644
3101 #: rhodecode/templates/summary/summary.html:644
3032 msgid "commit"
3102 msgid "commit"
3033 msgstr ""
3103 msgstr ""
3034
3104
3035 #: rhodecode/templates/summary/summary.html:645
3105 #: rhodecode/templates/summary/summary.html:645
3036 msgid "file added"
3106 msgid "file added"
3037 msgstr ""
3107 msgstr ""
3038
3108
3039 #: rhodecode/templates/summary/summary.html:646
3109 #: rhodecode/templates/summary/summary.html:646
3040 msgid "file changed"
3110 msgid "file changed"
3041 msgstr ""
3111 msgstr ""
3042
3112
3043 #: rhodecode/templates/summary/summary.html:647
3113 #: rhodecode/templates/summary/summary.html:647
3044 msgid "file removed"
3114 msgid "file removed"
3045 msgstr ""
3115 msgstr ""
3046
3116
3117 #: rhodecode/templates/tags/tags.html:5
3118 #, python-format
3119 msgid "%s Tags"
3120 msgstr ""
3121
@@ -1,972 +1,980 b''
1 """Helper functions
1 """Helper functions
2
2
3 Consists of functions to typically be used within templates, but also
3 Consists of functions to typically be used within templates, but also
4 available to Controllers. This module is available to both as 'h'.
4 available to Controllers. This module is available to both as 'h'.
5 """
5 """
6 import random
6 import random
7 import hashlib
7 import hashlib
8 import StringIO
8 import StringIO
9 import urllib
9 import urllib
10 import math
10 import math
11 import logging
11 import logging
12
12
13 from datetime import datetime
13 from datetime import datetime
14 from pygments.formatters.html import HtmlFormatter
14 from pygments.formatters.html import HtmlFormatter
15 from pygments import highlight as code_highlight
15 from pygments import highlight as code_highlight
16 from pylons import url, request, config
16 from pylons import url, request, config
17 from pylons.i18n.translation import _, ungettext
17 from pylons.i18n.translation import _, ungettext
18 from hashlib import md5
18 from hashlib import md5
19
19
20 from webhelpers.html import literal, HTML, escape
20 from webhelpers.html import literal, HTML, escape
21 from webhelpers.html.tools import *
21 from webhelpers.html.tools import *
22 from webhelpers.html.builder import make_tag
22 from webhelpers.html.builder import make_tag
23 from webhelpers.html.tags import auto_discovery_link, checkbox, css_classes, \
23 from webhelpers.html.tags import auto_discovery_link, checkbox, css_classes, \
24 end_form, file, form, hidden, image, javascript_link, link_to, \
24 end_form, file, form, hidden, image, javascript_link, link_to, \
25 link_to_if, link_to_unless, ol, required_legend, select, stylesheet_link, \
25 link_to_if, link_to_unless, ol, required_legend, select, stylesheet_link, \
26 submit, text, password, textarea, title, ul, xml_declaration, radio
26 submit, text, password, textarea, title, ul, xml_declaration, radio
27 from webhelpers.html.tools import auto_link, button_to, highlight, \
27 from webhelpers.html.tools import auto_link, button_to, highlight, \
28 js_obfuscate, mail_to, strip_links, strip_tags, tag_re
28 js_obfuscate, mail_to, strip_links, strip_tags, tag_re
29 from webhelpers.number import format_byte_size, format_bit_size
29 from webhelpers.number import format_byte_size, format_bit_size
30 from webhelpers.pylonslib import Flash as _Flash
30 from webhelpers.pylonslib import Flash as _Flash
31 from webhelpers.pylonslib.secure_form import secure_form
31 from webhelpers.pylonslib.secure_form import secure_form
32 from webhelpers.text import chop_at, collapse, convert_accented_entities, \
32 from webhelpers.text import chop_at, collapse, convert_accented_entities, \
33 convert_misc_entities, lchop, plural, rchop, remove_formatting, \
33 convert_misc_entities, lchop, plural, rchop, remove_formatting, \
34 replace_whitespace, urlify, truncate, wrap_paragraphs
34 replace_whitespace, urlify, truncate, wrap_paragraphs
35 from webhelpers.date import time_ago_in_words
35 from webhelpers.date import time_ago_in_words
36 from webhelpers.paginate import Page
36 from webhelpers.paginate import Page
37 from webhelpers.html.tags import _set_input_attrs, _set_id_attr, \
37 from webhelpers.html.tags import _set_input_attrs, _set_id_attr, \
38 convert_boolean_attrs, NotGiven, _make_safe_id_component
38 convert_boolean_attrs, NotGiven, _make_safe_id_component
39
39
40 from rhodecode.lib.annotate import annotate_highlight
40 from rhodecode.lib.annotate import annotate_highlight
41 from rhodecode.lib.utils import repo_name_slug
41 from rhodecode.lib.utils import repo_name_slug
42 from rhodecode.lib.utils2 import str2bool, safe_unicode, safe_str, \
42 from rhodecode.lib.utils2 import str2bool, safe_unicode, safe_str, \
43 get_changeset_safe
43 get_changeset_safe
44 from rhodecode.lib.markup_renderer import MarkupRenderer
44 from rhodecode.lib.markup_renderer import MarkupRenderer
45 from rhodecode.lib.vcs.exceptions import ChangesetDoesNotExistError
45 from rhodecode.lib.vcs.exceptions import ChangesetDoesNotExistError
46 from rhodecode.lib.vcs.backends.base import BaseChangeset
46 from rhodecode.lib.vcs.backends.base import BaseChangeset
47 from rhodecode.model.db import URL_SEP
47 from rhodecode.model.db import URL_SEP
48
48
49 log = logging.getLogger(__name__)
49 log = logging.getLogger(__name__)
50
50
51
51
52 def shorter(text, size=20):
52 def shorter(text, size=20):
53 postfix = '...'
53 postfix = '...'
54 if len(text) > size:
54 if len(text) > size:
55 return text[:size - len(postfix)] + postfix
55 return text[:size - len(postfix)] + postfix
56 return text
56 return text
57
57
58
58
59 def _reset(name, value=None, id=NotGiven, type="reset", **attrs):
59 def _reset(name, value=None, id=NotGiven, type="reset", **attrs):
60 """
60 """
61 Reset button
61 Reset button
62 """
62 """
63 _set_input_attrs(attrs, type, name, value)
63 _set_input_attrs(attrs, type, name, value)
64 _set_id_attr(attrs, id, name)
64 _set_id_attr(attrs, id, name)
65 convert_boolean_attrs(attrs, ["disabled"])
65 convert_boolean_attrs(attrs, ["disabled"])
66 return HTML.input(**attrs)
66 return HTML.input(**attrs)
67
67
68 reset = _reset
68 reset = _reset
69 safeid = _make_safe_id_component
69 safeid = _make_safe_id_component
70
70
71
71
72 def FID(raw_id, path):
72 def FID(raw_id, path):
73 """
73 """
74 Creates a uniqe ID for filenode based on it's hash of path and revision
74 Creates a uniqe ID for filenode based on it's hash of path and revision
75 it's safe to use in urls
75 it's safe to use in urls
76
76
77 :param raw_id:
77 :param raw_id:
78 :param path:
78 :param path:
79 """
79 """
80
80
81 return 'C-%s-%s' % (short_id(raw_id), md5(safe_str(path)).hexdigest()[:12])
81 return 'C-%s-%s' % (short_id(raw_id), md5(safe_str(path)).hexdigest()[:12])
82
82
83
83
84 def get_token():
84 def get_token():
85 """Return the current authentication token, creating one if one doesn't
85 """Return the current authentication token, creating one if one doesn't
86 already exist.
86 already exist.
87 """
87 """
88 token_key = "_authentication_token"
88 token_key = "_authentication_token"
89 from pylons import session
89 from pylons import session
90 if not token_key in session:
90 if not token_key in session:
91 try:
91 try:
92 token = hashlib.sha1(str(random.getrandbits(128))).hexdigest()
92 token = hashlib.sha1(str(random.getrandbits(128))).hexdigest()
93 except AttributeError: # Python < 2.4
93 except AttributeError: # Python < 2.4
94 token = hashlib.sha1(str(random.randrange(2 ** 128))).hexdigest()
94 token = hashlib.sha1(str(random.randrange(2 ** 128))).hexdigest()
95 session[token_key] = token
95 session[token_key] = token
96 if hasattr(session, 'save'):
96 if hasattr(session, 'save'):
97 session.save()
97 session.save()
98 return session[token_key]
98 return session[token_key]
99
99
100
100
101 class _GetError(object):
101 class _GetError(object):
102 """Get error from form_errors, and represent it as span wrapped error
102 """Get error from form_errors, and represent it as span wrapped error
103 message
103 message
104
104
105 :param field_name: field to fetch errors for
105 :param field_name: field to fetch errors for
106 :param form_errors: form errors dict
106 :param form_errors: form errors dict
107 """
107 """
108
108
109 def __call__(self, field_name, form_errors):
109 def __call__(self, field_name, form_errors):
110 tmpl = """<span class="error_msg">%s</span>"""
110 tmpl = """<span class="error_msg">%s</span>"""
111 if form_errors and form_errors.has_key(field_name):
111 if form_errors and form_errors.has_key(field_name):
112 return literal(tmpl % form_errors.get(field_name))
112 return literal(tmpl % form_errors.get(field_name))
113
113
114 get_error = _GetError()
114 get_error = _GetError()
115
115
116
116
117 class _ToolTip(object):
117 class _ToolTip(object):
118
118
119 def __call__(self, tooltip_title, trim_at=50):
119 def __call__(self, tooltip_title, trim_at=50):
120 """Special function just to wrap our text into nice formatted
120 """Special function just to wrap our text into nice formatted
121 autowrapped text
121 autowrapped text
122
122
123 :param tooltip_title:
123 :param tooltip_title:
124 """
124 """
125 return escape(tooltip_title)
125 return escape(tooltip_title)
126 tooltip = _ToolTip()
126 tooltip = _ToolTip()
127
127
128
128
129 class _FilesBreadCrumbs(object):
129 class _FilesBreadCrumbs(object):
130
130
131 def __call__(self, repo_name, rev, paths):
131 def __call__(self, repo_name, rev, paths):
132 if isinstance(paths, str):
132 if isinstance(paths, str):
133 paths = safe_unicode(paths)
133 paths = safe_unicode(paths)
134 url_l = [link_to(repo_name, url('files_home',
134 url_l = [link_to(repo_name, url('files_home',
135 repo_name=repo_name,
135 repo_name=repo_name,
136 revision=rev, f_path=''))]
136 revision=rev, f_path=''))]
137 paths_l = paths.split('/')
137 paths_l = paths.split('/')
138 for cnt, p in enumerate(paths_l):
138 for cnt, p in enumerate(paths_l):
139 if p != '':
139 if p != '':
140 url_l.append(link_to(p,
140 url_l.append(link_to(p,
141 url('files_home',
141 url('files_home',
142 repo_name=repo_name,
142 repo_name=repo_name,
143 revision=rev,
143 revision=rev,
144 f_path='/'.join(paths_l[:cnt + 1])
144 f_path='/'.join(paths_l[:cnt + 1])
145 )
145 )
146 )
146 )
147 )
147 )
148
148
149 return literal('/'.join(url_l))
149 return literal('/'.join(url_l))
150
150
151 files_breadcrumbs = _FilesBreadCrumbs()
151 files_breadcrumbs = _FilesBreadCrumbs()
152
152
153
153
154 class CodeHtmlFormatter(HtmlFormatter):
154 class CodeHtmlFormatter(HtmlFormatter):
155 """
155 """
156 My code Html Formatter for source codes
156 My code Html Formatter for source codes
157 """
157 """
158
158
159 def wrap(self, source, outfile):
159 def wrap(self, source, outfile):
160 return self._wrap_div(self._wrap_pre(self._wrap_code(source)))
160 return self._wrap_div(self._wrap_pre(self._wrap_code(source)))
161
161
162 def _wrap_code(self, source):
162 def _wrap_code(self, source):
163 for cnt, it in enumerate(source):
163 for cnt, it in enumerate(source):
164 i, t = it
164 i, t = it
165 t = '<div id="L%s">%s</div>' % (cnt + 1, t)
165 t = '<div id="L%s">%s</div>' % (cnt + 1, t)
166 yield i, t
166 yield i, t
167
167
168 def _wrap_tablelinenos(self, inner):
168 def _wrap_tablelinenos(self, inner):
169 dummyoutfile = StringIO.StringIO()
169 dummyoutfile = StringIO.StringIO()
170 lncount = 0
170 lncount = 0
171 for t, line in inner:
171 for t, line in inner:
172 if t:
172 if t:
173 lncount += 1
173 lncount += 1
174 dummyoutfile.write(line)
174 dummyoutfile.write(line)
175
175
176 fl = self.linenostart
176 fl = self.linenostart
177 mw = len(str(lncount + fl - 1))
177 mw = len(str(lncount + fl - 1))
178 sp = self.linenospecial
178 sp = self.linenospecial
179 st = self.linenostep
179 st = self.linenostep
180 la = self.lineanchors
180 la = self.lineanchors
181 aln = self.anchorlinenos
181 aln = self.anchorlinenos
182 nocls = self.noclasses
182 nocls = self.noclasses
183 if sp:
183 if sp:
184 lines = []
184 lines = []
185
185
186 for i in range(fl, fl + lncount):
186 for i in range(fl, fl + lncount):
187 if i % st == 0:
187 if i % st == 0:
188 if i % sp == 0:
188 if i % sp == 0:
189 if aln:
189 if aln:
190 lines.append('<a href="#%s%d" class="special">%*d</a>' %
190 lines.append('<a href="#%s%d" class="special">%*d</a>' %
191 (la, i, mw, i))
191 (la, i, mw, i))
192 else:
192 else:
193 lines.append('<span class="special">%*d</span>' % (mw, i))
193 lines.append('<span class="special">%*d</span>' % (mw, i))
194 else:
194 else:
195 if aln:
195 if aln:
196 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
196 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
197 else:
197 else:
198 lines.append('%*d' % (mw, i))
198 lines.append('%*d' % (mw, i))
199 else:
199 else:
200 lines.append('')
200 lines.append('')
201 ls = '\n'.join(lines)
201 ls = '\n'.join(lines)
202 else:
202 else:
203 lines = []
203 lines = []
204 for i in range(fl, fl + lncount):
204 for i in range(fl, fl + lncount):
205 if i % st == 0:
205 if i % st == 0:
206 if aln:
206 if aln:
207 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
207 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
208 else:
208 else:
209 lines.append('%*d' % (mw, i))
209 lines.append('%*d' % (mw, i))
210 else:
210 else:
211 lines.append('')
211 lines.append('')
212 ls = '\n'.join(lines)
212 ls = '\n'.join(lines)
213
213
214 # in case you wonder about the seemingly redundant <div> here: since the
214 # in case you wonder about the seemingly redundant <div> here: since the
215 # content in the other cell also is wrapped in a div, some browsers in
215 # content in the other cell also is wrapped in a div, some browsers in
216 # some configurations seem to mess up the formatting...
216 # some configurations seem to mess up the formatting...
217 if nocls:
217 if nocls:
218 yield 0, ('<table class="%stable">' % self.cssclass +
218 yield 0, ('<table class="%stable">' % self.cssclass +
219 '<tr><td><div class="linenodiv" '
219 '<tr><td><div class="linenodiv" '
220 'style="background-color: #f0f0f0; padding-right: 10px">'
220 'style="background-color: #f0f0f0; padding-right: 10px">'
221 '<pre style="line-height: 125%">' +
221 '<pre style="line-height: 125%">' +
222 ls + '</pre></div></td><td id="hlcode" class="code">')
222 ls + '</pre></div></td><td id="hlcode" class="code">')
223 else:
223 else:
224 yield 0, ('<table class="%stable">' % self.cssclass +
224 yield 0, ('<table class="%stable">' % self.cssclass +
225 '<tr><td class="linenos"><div class="linenodiv"><pre>' +
225 '<tr><td class="linenos"><div class="linenodiv"><pre>' +
226 ls + '</pre></div></td><td id="hlcode" class="code">')
226 ls + '</pre></div></td><td id="hlcode" class="code">')
227 yield 0, dummyoutfile.getvalue()
227 yield 0, dummyoutfile.getvalue()
228 yield 0, '</td></tr></table>'
228 yield 0, '</td></tr></table>'
229
229
230
230
231 def pygmentize(filenode, **kwargs):
231 def pygmentize(filenode, **kwargs):
232 """pygmentize function using pygments
232 """pygmentize function using pygments
233
233
234 :param filenode:
234 :param filenode:
235 """
235 """
236
236
237 return literal(code_highlight(filenode.content,
237 return literal(code_highlight(filenode.content,
238 filenode.lexer, CodeHtmlFormatter(**kwargs)))
238 filenode.lexer, CodeHtmlFormatter(**kwargs)))
239
239
240
240
241 def pygmentize_annotation(repo_name, filenode, **kwargs):
241 def pygmentize_annotation(repo_name, filenode, **kwargs):
242 """
242 """
243 pygmentize function for annotation
243 pygmentize function for annotation
244
244
245 :param filenode:
245 :param filenode:
246 """
246 """
247
247
248 color_dict = {}
248 color_dict = {}
249
249
250 def gen_color(n=10000):
250 def gen_color(n=10000):
251 """generator for getting n of evenly distributed colors using
251 """generator for getting n of evenly distributed colors using
252 hsv color and golden ratio. It always return same order of colors
252 hsv color and golden ratio. It always return same order of colors
253
253
254 :returns: RGB tuple
254 :returns: RGB tuple
255 """
255 """
256
256
257 def hsv_to_rgb(h, s, v):
257 def hsv_to_rgb(h, s, v):
258 if s == 0.0:
258 if s == 0.0:
259 return v, v, v
259 return v, v, v
260 i = int(h * 6.0) # XXX assume int() truncates!
260 i = int(h * 6.0) # XXX assume int() truncates!
261 f = (h * 6.0) - i
261 f = (h * 6.0) - i
262 p = v * (1.0 - s)
262 p = v * (1.0 - s)
263 q = v * (1.0 - s * f)
263 q = v * (1.0 - s * f)
264 t = v * (1.0 - s * (1.0 - f))
264 t = v * (1.0 - s * (1.0 - f))
265 i = i % 6
265 i = i % 6
266 if i == 0:
266 if i == 0:
267 return v, t, p
267 return v, t, p
268 if i == 1:
268 if i == 1:
269 return q, v, p
269 return q, v, p
270 if i == 2:
270 if i == 2:
271 return p, v, t
271 return p, v, t
272 if i == 3:
272 if i == 3:
273 return p, q, v
273 return p, q, v
274 if i == 4:
274 if i == 4:
275 return t, p, v
275 return t, p, v
276 if i == 5:
276 if i == 5:
277 return v, p, q
277 return v, p, q
278
278
279 golden_ratio = 0.618033988749895
279 golden_ratio = 0.618033988749895
280 h = 0.22717784590367374
280 h = 0.22717784590367374
281
281
282 for _ in xrange(n):
282 for _ in xrange(n):
283 h += golden_ratio
283 h += golden_ratio
284 h %= 1
284 h %= 1
285 HSV_tuple = [h, 0.95, 0.95]
285 HSV_tuple = [h, 0.95, 0.95]
286 RGB_tuple = hsv_to_rgb(*HSV_tuple)
286 RGB_tuple = hsv_to_rgb(*HSV_tuple)
287 yield map(lambda x: str(int(x * 256)), RGB_tuple)
287 yield map(lambda x: str(int(x * 256)), RGB_tuple)
288
288
289 cgenerator = gen_color()
289 cgenerator = gen_color()
290
290
291 def get_color_string(cs):
291 def get_color_string(cs):
292 if cs in color_dict:
292 if cs in color_dict:
293 col = color_dict[cs]
293 col = color_dict[cs]
294 else:
294 else:
295 col = color_dict[cs] = cgenerator.next()
295 col = color_dict[cs] = cgenerator.next()
296 return "color: rgb(%s)! important;" % (', '.join(col))
296 return "color: rgb(%s)! important;" % (', '.join(col))
297
297
298 def url_func(repo_name):
298 def url_func(repo_name):
299
299
300 def _url_func(changeset):
300 def _url_func(changeset):
301 author = changeset.author
301 author = changeset.author
302 date = changeset.date
302 date = changeset.date
303 message = tooltip(changeset.message)
303 message = tooltip(changeset.message)
304
304
305 tooltip_html = ("<div style='font-size:0.8em'><b>Author:</b>"
305 tooltip_html = ("<div style='font-size:0.8em'><b>Author:</b>"
306 " %s<br/><b>Date:</b> %s</b><br/><b>Message:"
306 " %s<br/><b>Date:</b> %s</b><br/><b>Message:"
307 "</b> %s<br/></div>")
307 "</b> %s<br/></div>")
308
308
309 tooltip_html = tooltip_html % (author, date, message)
309 tooltip_html = tooltip_html % (author, date, message)
310 lnk_format = '%5s:%s' % ('r%s' % changeset.revision,
310 lnk_format = '%5s:%s' % ('r%s' % changeset.revision,
311 short_id(changeset.raw_id))
311 short_id(changeset.raw_id))
312 uri = link_to(
312 uri = link_to(
313 lnk_format,
313 lnk_format,
314 url('changeset_home', repo_name=repo_name,
314 url('changeset_home', repo_name=repo_name,
315 revision=changeset.raw_id),
315 revision=changeset.raw_id),
316 style=get_color_string(changeset.raw_id),
316 style=get_color_string(changeset.raw_id),
317 class_='tooltip',
317 class_='tooltip',
318 title=tooltip_html
318 title=tooltip_html
319 )
319 )
320
320
321 uri += '\n'
321 uri += '\n'
322 return uri
322 return uri
323 return _url_func
323 return _url_func
324
324
325 return literal(annotate_highlight(filenode, url_func(repo_name), **kwargs))
325 return literal(annotate_highlight(filenode, url_func(repo_name), **kwargs))
326
326
327
327
328 def is_following_repo(repo_name, user_id):
328 def is_following_repo(repo_name, user_id):
329 from rhodecode.model.scm import ScmModel
329 from rhodecode.model.scm import ScmModel
330 return ScmModel().is_following_repo(repo_name, user_id)
330 return ScmModel().is_following_repo(repo_name, user_id)
331
331
332 flash = _Flash()
332 flash = _Flash()
333
333
334 #==============================================================================
334 #==============================================================================
335 # SCM FILTERS available via h.
335 # SCM FILTERS available via h.
336 #==============================================================================
336 #==============================================================================
337 from rhodecode.lib.vcs.utils import author_name, author_email
337 from rhodecode.lib.vcs.utils import author_name, author_email
338 from rhodecode.lib.utils2 import credentials_filter, age as _age
338 from rhodecode.lib.utils2 import credentials_filter, age as _age
339 from rhodecode.model.db import User
339 from rhodecode.model.db import User
340
340
341 age = lambda x: _age(x)
341 age = lambda x: _age(x)
342 capitalize = lambda x: x.capitalize()
342 capitalize = lambda x: x.capitalize()
343 email = author_email
343 email = author_email
344 short_id = lambda x: x[:12]
344 short_id = lambda x: x[:12]
345 hide_credentials = lambda x: ''.join(credentials_filter(x))
345 hide_credentials = lambda x: ''.join(credentials_filter(x))
346
346
347
347
348 def fmt_date(date):
349 if date:
350 return (date.strftime(_(u"%a, %d %b %Y %H:%M:%S").encode('utf8'))
351 .decode('utf8'))
352
353 return ""
354
355
348 def is_git(repository):
356 def is_git(repository):
349 if hasattr(repository, 'alias'):
357 if hasattr(repository, 'alias'):
350 _type = repository.alias
358 _type = repository.alias
351 elif hasattr(repository, 'repo_type'):
359 elif hasattr(repository, 'repo_type'):
352 _type = repository.repo_type
360 _type = repository.repo_type
353 else:
361 else:
354 _type = repository
362 _type = repository
355 return _type == 'git'
363 return _type == 'git'
356
364
357
365
358 def is_hg(repository):
366 def is_hg(repository):
359 if hasattr(repository, 'alias'):
367 if hasattr(repository, 'alias'):
360 _type = repository.alias
368 _type = repository.alias
361 elif hasattr(repository, 'repo_type'):
369 elif hasattr(repository, 'repo_type'):
362 _type = repository.repo_type
370 _type = repository.repo_type
363 else:
371 else:
364 _type = repository
372 _type = repository
365 return _type == 'hg'
373 return _type == 'hg'
366
374
367
375
368 def email_or_none(author):
376 def email_or_none(author):
369 _email = email(author)
377 _email = email(author)
370 if _email != '':
378 if _email != '':
371 return _email
379 return _email
372
380
373 # See if it contains a username we can get an email from
381 # See if it contains a username we can get an email from
374 user = User.get_by_username(author_name(author), case_insensitive=True,
382 user = User.get_by_username(author_name(author), case_insensitive=True,
375 cache=True)
383 cache=True)
376 if user is not None:
384 if user is not None:
377 return user.email
385 return user.email
378
386
379 # No valid email, not a valid user in the system, none!
387 # No valid email, not a valid user in the system, none!
380 return None
388 return None
381
389
382
390
383 def person(author):
391 def person(author):
384 # attr to return from fetched user
392 # attr to return from fetched user
385 person_getter = lambda usr: usr.username
393 person_getter = lambda usr: usr.username
386
394
387 # Valid email in the attribute passed, see if they're in the system
395 # Valid email in the attribute passed, see if they're in the system
388 _email = email(author)
396 _email = email(author)
389 if _email != '':
397 if _email != '':
390 user = User.get_by_email(_email, case_insensitive=True, cache=True)
398 user = User.get_by_email(_email, case_insensitive=True, cache=True)
391 if user is not None:
399 if user is not None:
392 return person_getter(user)
400 return person_getter(user)
393 return _email
401 return _email
394
402
395 # Maybe it's a username?
403 # Maybe it's a username?
396 _author = author_name(author)
404 _author = author_name(author)
397 user = User.get_by_username(_author, case_insensitive=True,
405 user = User.get_by_username(_author, case_insensitive=True,
398 cache=True)
406 cache=True)
399 if user is not None:
407 if user is not None:
400 return person_getter(user)
408 return person_getter(user)
401
409
402 # Still nothing? Just pass back the author name then
410 # Still nothing? Just pass back the author name then
403 return _author
411 return _author
404
412
405
413
406 def bool2icon(value):
414 def bool2icon(value):
407 """Returns True/False values represented as small html image of true/false
415 """Returns True/False values represented as small html image of true/false
408 icons
416 icons
409
417
410 :param value: bool value
418 :param value: bool value
411 """
419 """
412
420
413 if value is True:
421 if value is True:
414 return HTML.tag('img', src=url("/images/icons/accept.png"),
422 return HTML.tag('img', src=url("/images/icons/accept.png"),
415 alt=_('True'))
423 alt=_('True'))
416
424
417 if value is False:
425 if value is False:
418 return HTML.tag('img', src=url("/images/icons/cancel.png"),
426 return HTML.tag('img', src=url("/images/icons/cancel.png"),
419 alt=_('False'))
427 alt=_('False'))
420
428
421 return value
429 return value
422
430
423
431
424 def action_parser(user_log, feed=False):
432 def action_parser(user_log, feed=False):
425 """
433 """
426 This helper will action_map the specified string action into translated
434 This helper will action_map the specified string action into translated
427 fancy names with icons and links
435 fancy names with icons and links
428
436
429 :param user_log: user log instance
437 :param user_log: user log instance
430 :param feed: use output for feeds (no html and fancy icons)
438 :param feed: use output for feeds (no html and fancy icons)
431 """
439 """
432
440
433 action = user_log.action
441 action = user_log.action
434 action_params = ' '
442 action_params = ' '
435
443
436 x = action.split(':')
444 x = action.split(':')
437
445
438 if len(x) > 1:
446 if len(x) > 1:
439 action, action_params = x
447 action, action_params = x
440
448
441 def get_cs_links():
449 def get_cs_links():
442 revs_limit = 3 # display this amount always
450 revs_limit = 3 # display this amount always
443 revs_top_limit = 50 # show upto this amount of changesets hidden
451 revs_top_limit = 50 # show upto this amount of changesets hidden
444 revs_ids = action_params.split(',')
452 revs_ids = action_params.split(',')
445 deleted = user_log.repository is None
453 deleted = user_log.repository is None
446 if deleted:
454 if deleted:
447 return ','.join(revs_ids)
455 return ','.join(revs_ids)
448
456
449 repo_name = user_log.repository.repo_name
457 repo_name = user_log.repository.repo_name
450
458
451 repo = user_log.repository.scm_instance
459 repo = user_log.repository.scm_instance
452
460
453 def lnk(rev, repo_name):
461 def lnk(rev, repo_name):
454
462
455 if isinstance(rev, BaseChangeset):
463 if isinstance(rev, BaseChangeset):
456 lbl = 'r%s:%s' % (rev.revision, rev.short_id)
464 lbl = 'r%s:%s' % (rev.revision, rev.short_id)
457 _url = url('changeset_home', repo_name=repo_name,
465 _url = url('changeset_home', repo_name=repo_name,
458 revision=rev.raw_id)
466 revision=rev.raw_id)
459 title = tooltip(rev.message)
467 title = tooltip(rev.message)
460 else:
468 else:
461 lbl = '%s' % rev
469 lbl = '%s' % rev
462 _url = '#'
470 _url = '#'
463 title = _('Changeset not found')
471 title = _('Changeset not found')
464
472
465 return link_to(lbl, _url, title=title, class_='tooltip',)
473 return link_to(lbl, _url, title=title, class_='tooltip',)
466
474
467 revs = []
475 revs = []
468 if len(filter(lambda v: v != '', revs_ids)) > 0:
476 if len(filter(lambda v: v != '', revs_ids)) > 0:
469 for rev in revs_ids[:revs_top_limit]:
477 for rev in revs_ids[:revs_top_limit]:
470 try:
478 try:
471 rev = repo.get_changeset(rev)
479 rev = repo.get_changeset(rev)
472 revs.append(rev)
480 revs.append(rev)
473 except ChangesetDoesNotExistError:
481 except ChangesetDoesNotExistError:
474 log.error('cannot find revision %s in this repo' % rev)
482 log.error('cannot find revision %s in this repo' % rev)
475 revs.append(rev)
483 revs.append(rev)
476 continue
484 continue
477 cs_links = []
485 cs_links = []
478 cs_links.append(" " + ', '.join(
486 cs_links.append(" " + ', '.join(
479 [lnk(rev, repo_name) for rev in revs[:revs_limit]]
487 [lnk(rev, repo_name) for rev in revs[:revs_limit]]
480 )
488 )
481 )
489 )
482
490
483 compare_view = (
491 compare_view = (
484 ' <div class="compare_view tooltip" title="%s">'
492 ' <div class="compare_view tooltip" title="%s">'
485 '<a href="%s">%s</a> </div>' % (
493 '<a href="%s">%s</a> </div>' % (
486 _('Show all combined changesets %s->%s') % (
494 _('Show all combined changesets %s->%s') % (
487 revs_ids[0], revs_ids[-1]
495 revs_ids[0], revs_ids[-1]
488 ),
496 ),
489 url('changeset_home', repo_name=repo_name,
497 url('changeset_home', repo_name=repo_name,
490 revision='%s...%s' % (revs_ids[0], revs_ids[-1])
498 revision='%s...%s' % (revs_ids[0], revs_ids[-1])
491 ),
499 ),
492 _('compare view')
500 _('compare view')
493 )
501 )
494 )
502 )
495
503
496 # if we have exactly one more than normally displayed
504 # if we have exactly one more than normally displayed
497 # just display it, takes less space than displaying
505 # just display it, takes less space than displaying
498 # "and 1 more revisions"
506 # "and 1 more revisions"
499 if len(revs_ids) == revs_limit + 1:
507 if len(revs_ids) == revs_limit + 1:
500 rev = revs[revs_limit]
508 rev = revs[revs_limit]
501 cs_links.append(", " + lnk(rev, repo_name))
509 cs_links.append(", " + lnk(rev, repo_name))
502
510
503 # hidden-by-default ones
511 # hidden-by-default ones
504 if len(revs_ids) > revs_limit + 1:
512 if len(revs_ids) > revs_limit + 1:
505 uniq_id = revs_ids[0]
513 uniq_id = revs_ids[0]
506 html_tmpl = (
514 html_tmpl = (
507 '<span> %s <a class="show_more" id="_%s" '
515 '<span> %s <a class="show_more" id="_%s" '
508 'href="#more">%s</a> %s</span>'
516 'href="#more">%s</a> %s</span>'
509 )
517 )
510 if not feed:
518 if not feed:
511 cs_links.append(html_tmpl % (
519 cs_links.append(html_tmpl % (
512 _('and'),
520 _('and'),
513 uniq_id, _('%s more') % (len(revs_ids) - revs_limit),
521 uniq_id, _('%s more') % (len(revs_ids) - revs_limit),
514 _('revisions')
522 _('revisions')
515 )
523 )
516 )
524 )
517
525
518 if not feed:
526 if not feed:
519 html_tmpl = '<span id="%s" style="display:none">, %s </span>'
527 html_tmpl = '<span id="%s" style="display:none">, %s </span>'
520 else:
528 else:
521 html_tmpl = '<span id="%s"> %s </span>'
529 html_tmpl = '<span id="%s"> %s </span>'
522
530
523 morelinks = ', '.join(
531 morelinks = ', '.join(
524 [lnk(rev, repo_name) for rev in revs[revs_limit:]]
532 [lnk(rev, repo_name) for rev in revs[revs_limit:]]
525 )
533 )
526
534
527 if len(revs_ids) > revs_top_limit:
535 if len(revs_ids) > revs_top_limit:
528 morelinks += ', ...'
536 morelinks += ', ...'
529
537
530 cs_links.append(html_tmpl % (uniq_id, morelinks))
538 cs_links.append(html_tmpl % (uniq_id, morelinks))
531 if len(revs) > 1:
539 if len(revs) > 1:
532 cs_links.append(compare_view)
540 cs_links.append(compare_view)
533 return ''.join(cs_links)
541 return ''.join(cs_links)
534
542
535 def get_fork_name():
543 def get_fork_name():
536 repo_name = action_params
544 repo_name = action_params
537 return _('fork name ') + str(link_to(action_params, url('summary_home',
545 return _('fork name ') + str(link_to(action_params, url('summary_home',
538 repo_name=repo_name,)))
546 repo_name=repo_name,)))
539
547
540 def get_user_name():
548 def get_user_name():
541 user_name = action_params
549 user_name = action_params
542 return user_name
550 return user_name
543
551
544 def get_users_group():
552 def get_users_group():
545 group_name = action_params
553 group_name = action_params
546 return group_name
554 return group_name
547
555
548 # action : translated str, callback(extractor), icon
556 # action : translated str, callback(extractor), icon
549 action_map = {
557 action_map = {
550 'user_deleted_repo': (_('[deleted] repository'),
558 'user_deleted_repo': (_('[deleted] repository'),
551 None, 'database_delete.png'),
559 None, 'database_delete.png'),
552 'user_created_repo': (_('[created] repository'),
560 'user_created_repo': (_('[created] repository'),
553 None, 'database_add.png'),
561 None, 'database_add.png'),
554 'user_created_fork': (_('[created] repository as fork'),
562 'user_created_fork': (_('[created] repository as fork'),
555 None, 'arrow_divide.png'),
563 None, 'arrow_divide.png'),
556 'user_forked_repo': (_('[forked] repository'),
564 'user_forked_repo': (_('[forked] repository'),
557 get_fork_name, 'arrow_divide.png'),
565 get_fork_name, 'arrow_divide.png'),
558 'user_updated_repo': (_('[updated] repository'),
566 'user_updated_repo': (_('[updated] repository'),
559 None, 'database_edit.png'),
567 None, 'database_edit.png'),
560 'admin_deleted_repo': (_('[delete] repository'),
568 'admin_deleted_repo': (_('[delete] repository'),
561 None, 'database_delete.png'),
569 None, 'database_delete.png'),
562 'admin_created_repo': (_('[created] repository'),
570 'admin_created_repo': (_('[created] repository'),
563 None, 'database_add.png'),
571 None, 'database_add.png'),
564 'admin_forked_repo': (_('[forked] repository'),
572 'admin_forked_repo': (_('[forked] repository'),
565 None, 'arrow_divide.png'),
573 None, 'arrow_divide.png'),
566 'admin_updated_repo': (_('[updated] repository'),
574 'admin_updated_repo': (_('[updated] repository'),
567 None, 'database_edit.png'),
575 None, 'database_edit.png'),
568 'admin_created_user': (_('[created] user'),
576 'admin_created_user': (_('[created] user'),
569 get_user_name, 'user_add.png'),
577 get_user_name, 'user_add.png'),
570 'admin_updated_user': (_('[updated] user'),
578 'admin_updated_user': (_('[updated] user'),
571 get_user_name, 'user_edit.png'),
579 get_user_name, 'user_edit.png'),
572 'admin_created_users_group': (_('[created] users group'),
580 'admin_created_users_group': (_('[created] users group'),
573 get_users_group, 'group_add.png'),
581 get_users_group, 'group_add.png'),
574 'admin_updated_users_group': (_('[updated] users group'),
582 'admin_updated_users_group': (_('[updated] users group'),
575 get_users_group, 'group_edit.png'),
583 get_users_group, 'group_edit.png'),
576 'user_commented_revision': (_('[commented] on revision in repository'),
584 'user_commented_revision': (_('[commented] on revision in repository'),
577 get_cs_links, 'comment_add.png'),
585 get_cs_links, 'comment_add.png'),
578 'push': (_('[pushed] into'),
586 'push': (_('[pushed] into'),
579 get_cs_links, 'script_add.png'),
587 get_cs_links, 'script_add.png'),
580 'push_local': (_('[committed via RhodeCode] into repository'),
588 'push_local': (_('[committed via RhodeCode] into repository'),
581 get_cs_links, 'script_edit.png'),
589 get_cs_links, 'script_edit.png'),
582 'push_remote': (_('[pulled from remote] into repository'),
590 'push_remote': (_('[pulled from remote] into repository'),
583 get_cs_links, 'connect.png'),
591 get_cs_links, 'connect.png'),
584 'pull': (_('[pulled] from'),
592 'pull': (_('[pulled] from'),
585 None, 'down_16.png'),
593 None, 'down_16.png'),
586 'started_following_repo': (_('[started following] repository'),
594 'started_following_repo': (_('[started following] repository'),
587 None, 'heart_add.png'),
595 None, 'heart_add.png'),
588 'stopped_following_repo': (_('[stopped following] repository'),
596 'stopped_following_repo': (_('[stopped following] repository'),
589 None, 'heart_delete.png'),
597 None, 'heart_delete.png'),
590 }
598 }
591
599
592 action_str = action_map.get(action, action)
600 action_str = action_map.get(action, action)
593 if feed:
601 if feed:
594 action = action_str[0].replace('[', '').replace(']', '')
602 action = action_str[0].replace('[', '').replace(']', '')
595 else:
603 else:
596 action = action_str[0]\
604 action = action_str[0]\
597 .replace('[', '<span class="journal_highlight">')\
605 .replace('[', '<span class="journal_highlight">')\
598 .replace(']', '</span>')
606 .replace(']', '</span>')
599
607
600 action_params_func = lambda: ""
608 action_params_func = lambda: ""
601
609
602 if callable(action_str[1]):
610 if callable(action_str[1]):
603 action_params_func = action_str[1]
611 action_params_func = action_str[1]
604
612
605 def action_parser_icon():
613 def action_parser_icon():
606 action = user_log.action
614 action = user_log.action
607 action_params = None
615 action_params = None
608 x = action.split(':')
616 x = action.split(':')
609
617
610 if len(x) > 1:
618 if len(x) > 1:
611 action, action_params = x
619 action, action_params = x
612
620
613 tmpl = """<img src="%s%s" alt="%s"/>"""
621 tmpl = """<img src="%s%s" alt="%s"/>"""
614 ico = action_map.get(action, ['', '', ''])[2]
622 ico = action_map.get(action, ['', '', ''])[2]
615 return literal(tmpl % ((url('/images/icons/')), ico, action))
623 return literal(tmpl % ((url('/images/icons/')), ico, action))
616
624
617 # returned callbacks we need to call to get
625 # returned callbacks we need to call to get
618 return [lambda: literal(action), action_params_func, action_parser_icon]
626 return [lambda: literal(action), action_params_func, action_parser_icon]
619
627
620
628
621
629
622 #==============================================================================
630 #==============================================================================
623 # PERMS
631 # PERMS
624 #==============================================================================
632 #==============================================================================
625 from rhodecode.lib.auth import HasPermissionAny, HasPermissionAll, \
633 from rhodecode.lib.auth import HasPermissionAny, HasPermissionAll, \
626 HasRepoPermissionAny, HasRepoPermissionAll
634 HasRepoPermissionAny, HasRepoPermissionAll
627
635
628
636
629 #==============================================================================
637 #==============================================================================
630 # GRAVATAR URL
638 # GRAVATAR URL
631 #==============================================================================
639 #==============================================================================
632
640
633 def gravatar_url(email_address, size=30):
641 def gravatar_url(email_address, size=30):
634 if (not str2bool(config['app_conf'].get('use_gravatar')) or
642 if (not str2bool(config['app_conf'].get('use_gravatar')) or
635 not email_address or email_address == 'anonymous@rhodecode.org'):
643 not email_address or email_address == 'anonymous@rhodecode.org'):
636 f = lambda a, l: min(l, key=lambda x: abs(x - a))
644 f = lambda a, l: min(l, key=lambda x: abs(x - a))
637 return url("/images/user%s.png" % f(size, [14, 16, 20, 24, 30]))
645 return url("/images/user%s.png" % f(size, [14, 16, 20, 24, 30]))
638
646
639 ssl_enabled = 'https' == request.environ.get('wsgi.url_scheme')
647 ssl_enabled = 'https' == request.environ.get('wsgi.url_scheme')
640 default = 'identicon'
648 default = 'identicon'
641 baseurl_nossl = "http://www.gravatar.com/avatar/"
649 baseurl_nossl = "http://www.gravatar.com/avatar/"
642 baseurl_ssl = "https://secure.gravatar.com/avatar/"
650 baseurl_ssl = "https://secure.gravatar.com/avatar/"
643 baseurl = baseurl_ssl if ssl_enabled else baseurl_nossl
651 baseurl = baseurl_ssl if ssl_enabled else baseurl_nossl
644
652
645 if isinstance(email_address, unicode):
653 if isinstance(email_address, unicode):
646 #hashlib crashes on unicode items
654 #hashlib crashes on unicode items
647 email_address = safe_str(email_address)
655 email_address = safe_str(email_address)
648 # construct the url
656 # construct the url
649 gravatar_url = baseurl + hashlib.md5(email_address.lower()).hexdigest() + "?"
657 gravatar_url = baseurl + hashlib.md5(email_address.lower()).hexdigest() + "?"
650 gravatar_url += urllib.urlencode({'d': default, 's': str(size)})
658 gravatar_url += urllib.urlencode({'d': default, 's': str(size)})
651
659
652 return gravatar_url
660 return gravatar_url
653
661
654
662
655 #==============================================================================
663 #==============================================================================
656 # REPO PAGER, PAGER FOR REPOSITORY
664 # REPO PAGER, PAGER FOR REPOSITORY
657 #==============================================================================
665 #==============================================================================
658 class RepoPage(Page):
666 class RepoPage(Page):
659
667
660 def __init__(self, collection, page=1, items_per_page=20,
668 def __init__(self, collection, page=1, items_per_page=20,
661 item_count=None, url=None, **kwargs):
669 item_count=None, url=None, **kwargs):
662
670
663 """Create a "RepoPage" instance. special pager for paging
671 """Create a "RepoPage" instance. special pager for paging
664 repository
672 repository
665 """
673 """
666 self._url_generator = url
674 self._url_generator = url
667
675
668 # Safe the kwargs class-wide so they can be used in the pager() method
676 # Safe the kwargs class-wide so they can be used in the pager() method
669 self.kwargs = kwargs
677 self.kwargs = kwargs
670
678
671 # Save a reference to the collection
679 # Save a reference to the collection
672 self.original_collection = collection
680 self.original_collection = collection
673
681
674 self.collection = collection
682 self.collection = collection
675
683
676 # The self.page is the number of the current page.
684 # The self.page is the number of the current page.
677 # The first page has the number 1!
685 # The first page has the number 1!
678 try:
686 try:
679 self.page = int(page) # make it int() if we get it as a string
687 self.page = int(page) # make it int() if we get it as a string
680 except (ValueError, TypeError):
688 except (ValueError, TypeError):
681 self.page = 1
689 self.page = 1
682
690
683 self.items_per_page = items_per_page
691 self.items_per_page = items_per_page
684
692
685 # Unless the user tells us how many items the collections has
693 # Unless the user tells us how many items the collections has
686 # we calculate that ourselves.
694 # we calculate that ourselves.
687 if item_count is not None:
695 if item_count is not None:
688 self.item_count = item_count
696 self.item_count = item_count
689 else:
697 else:
690 self.item_count = len(self.collection)
698 self.item_count = len(self.collection)
691
699
692 # Compute the number of the first and last available page
700 # Compute the number of the first and last available page
693 if self.item_count > 0:
701 if self.item_count > 0:
694 self.first_page = 1
702 self.first_page = 1
695 self.page_count = int(math.ceil(float(self.item_count) /
703 self.page_count = int(math.ceil(float(self.item_count) /
696 self.items_per_page))
704 self.items_per_page))
697 self.last_page = self.first_page + self.page_count - 1
705 self.last_page = self.first_page + self.page_count - 1
698
706
699 # Make sure that the requested page number is the range of
707 # Make sure that the requested page number is the range of
700 # valid pages
708 # valid pages
701 if self.page > self.last_page:
709 if self.page > self.last_page:
702 self.page = self.last_page
710 self.page = self.last_page
703 elif self.page < self.first_page:
711 elif self.page < self.first_page:
704 self.page = self.first_page
712 self.page = self.first_page
705
713
706 # Note: the number of items on this page can be less than
714 # Note: the number of items on this page can be less than
707 # items_per_page if the last page is not full
715 # items_per_page if the last page is not full
708 self.first_item = max(0, (self.item_count) - (self.page *
716 self.first_item = max(0, (self.item_count) - (self.page *
709 items_per_page))
717 items_per_page))
710 self.last_item = ((self.item_count - 1) - items_per_page *
718 self.last_item = ((self.item_count - 1) - items_per_page *
711 (self.page - 1))
719 (self.page - 1))
712
720
713 self.items = list(self.collection[self.first_item:self.last_item + 1])
721 self.items = list(self.collection[self.first_item:self.last_item + 1])
714
722
715 # Links to previous and next page
723 # Links to previous and next page
716 if self.page > self.first_page:
724 if self.page > self.first_page:
717 self.previous_page = self.page - 1
725 self.previous_page = self.page - 1
718 else:
726 else:
719 self.previous_page = None
727 self.previous_page = None
720
728
721 if self.page < self.last_page:
729 if self.page < self.last_page:
722 self.next_page = self.page + 1
730 self.next_page = self.page + 1
723 else:
731 else:
724 self.next_page = None
732 self.next_page = None
725
733
726 # No items available
734 # No items available
727 else:
735 else:
728 self.first_page = None
736 self.first_page = None
729 self.page_count = 0
737 self.page_count = 0
730 self.last_page = None
738 self.last_page = None
731 self.first_item = None
739 self.first_item = None
732 self.last_item = None
740 self.last_item = None
733 self.previous_page = None
741 self.previous_page = None
734 self.next_page = None
742 self.next_page = None
735 self.items = []
743 self.items = []
736
744
737 # This is a subclass of the 'list' type. Initialise the list now.
745 # This is a subclass of the 'list' type. Initialise the list now.
738 list.__init__(self, reversed(self.items))
746 list.__init__(self, reversed(self.items))
739
747
740
748
741 def changed_tooltip(nodes):
749 def changed_tooltip(nodes):
742 """
750 """
743 Generates a html string for changed nodes in changeset page.
751 Generates a html string for changed nodes in changeset page.
744 It limits the output to 30 entries
752 It limits the output to 30 entries
745
753
746 :param nodes: LazyNodesGenerator
754 :param nodes: LazyNodesGenerator
747 """
755 """
748 if nodes:
756 if nodes:
749 pref = ': <br/> '
757 pref = ': <br/> '
750 suf = ''
758 suf = ''
751 if len(nodes) > 30:
759 if len(nodes) > 30:
752 suf = '<br/>' + _(' and %s more') % (len(nodes) - 30)
760 suf = '<br/>' + _(' and %s more') % (len(nodes) - 30)
753 return literal(pref + '<br/> '.join([safe_unicode(x.path)
761 return literal(pref + '<br/> '.join([safe_unicode(x.path)
754 for x in nodes[:30]]) + suf)
762 for x in nodes[:30]]) + suf)
755 else:
763 else:
756 return ': ' + _('No Files')
764 return ': ' + _('No Files')
757
765
758
766
759 def repo_link(groups_and_repos):
767 def repo_link(groups_and_repos):
760 """
768 """
761 Makes a breadcrumbs link to repo within a group
769 Makes a breadcrumbs link to repo within a group
762 joins &raquo; on each group to create a fancy link
770 joins &raquo; on each group to create a fancy link
763
771
764 ex::
772 ex::
765 group >> subgroup >> repo
773 group >> subgroup >> repo
766
774
767 :param groups_and_repos:
775 :param groups_and_repos:
768 """
776 """
769 groups, repo_name = groups_and_repos
777 groups, repo_name = groups_and_repos
770
778
771 if not groups:
779 if not groups:
772 return repo_name
780 return repo_name
773 else:
781 else:
774 def make_link(group):
782 def make_link(group):
775 return link_to(group.name, url('repos_group_home',
783 return link_to(group.name, url('repos_group_home',
776 group_name=group.group_name))
784 group_name=group.group_name))
777 return literal(' &raquo; '.join(map(make_link, groups)) + \
785 return literal(' &raquo; '.join(map(make_link, groups)) + \
778 " &raquo; " + repo_name)
786 " &raquo; " + repo_name)
779
787
780
788
781 def fancy_file_stats(stats):
789 def fancy_file_stats(stats):
782 """
790 """
783 Displays a fancy two colored bar for number of added/deleted
791 Displays a fancy two colored bar for number of added/deleted
784 lines of code on file
792 lines of code on file
785
793
786 :param stats: two element list of added/deleted lines of code
794 :param stats: two element list of added/deleted lines of code
787 """
795 """
788
796
789 a, d, t = stats[0], stats[1], stats[0] + stats[1]
797 a, d, t = stats[0], stats[1], stats[0] + stats[1]
790 width = 100
798 width = 100
791 unit = float(width) / (t or 1)
799 unit = float(width) / (t or 1)
792
800
793 # needs > 9% of width to be visible or 0 to be hidden
801 # needs > 9% of width to be visible or 0 to be hidden
794 a_p = max(9, unit * a) if a > 0 else 0
802 a_p = max(9, unit * a) if a > 0 else 0
795 d_p = max(9, unit * d) if d > 0 else 0
803 d_p = max(9, unit * d) if d > 0 else 0
796 p_sum = a_p + d_p
804 p_sum = a_p + d_p
797
805
798 if p_sum > width:
806 if p_sum > width:
799 #adjust the percentage to be == 100% since we adjusted to 9
807 #adjust the percentage to be == 100% since we adjusted to 9
800 if a_p > d_p:
808 if a_p > d_p:
801 a_p = a_p - (p_sum - width)
809 a_p = a_p - (p_sum - width)
802 else:
810 else:
803 d_p = d_p - (p_sum - width)
811 d_p = d_p - (p_sum - width)
804
812
805 a_v = a if a > 0 else ''
813 a_v = a if a > 0 else ''
806 d_v = d if d > 0 else ''
814 d_v = d if d > 0 else ''
807
815
808 def cgen(l_type):
816 def cgen(l_type):
809 mapping = {'tr': 'top-right-rounded-corner-mid',
817 mapping = {'tr': 'top-right-rounded-corner-mid',
810 'tl': 'top-left-rounded-corner-mid',
818 'tl': 'top-left-rounded-corner-mid',
811 'br': 'bottom-right-rounded-corner-mid',
819 'br': 'bottom-right-rounded-corner-mid',
812 'bl': 'bottom-left-rounded-corner-mid'}
820 'bl': 'bottom-left-rounded-corner-mid'}
813 map_getter = lambda x: mapping[x]
821 map_getter = lambda x: mapping[x]
814
822
815 if l_type == 'a' and d_v:
823 if l_type == 'a' and d_v:
816 #case when added and deleted are present
824 #case when added and deleted are present
817 return ' '.join(map(map_getter, ['tl', 'bl']))
825 return ' '.join(map(map_getter, ['tl', 'bl']))
818
826
819 if l_type == 'a' and not d_v:
827 if l_type == 'a' and not d_v:
820 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
828 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
821
829
822 if l_type == 'd' and a_v:
830 if l_type == 'd' and a_v:
823 return ' '.join(map(map_getter, ['tr', 'br']))
831 return ' '.join(map(map_getter, ['tr', 'br']))
824
832
825 if l_type == 'd' and not a_v:
833 if l_type == 'd' and not a_v:
826 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
834 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
827
835
828 d_a = '<div class="added %s" style="width:%s%%">%s</div>' % (
836 d_a = '<div class="added %s" style="width:%s%%">%s</div>' % (
829 cgen('a'), a_p, a_v
837 cgen('a'), a_p, a_v
830 )
838 )
831 d_d = '<div class="deleted %s" style="width:%s%%">%s</div>' % (
839 d_d = '<div class="deleted %s" style="width:%s%%">%s</div>' % (
832 cgen('d'), d_p, d_v
840 cgen('d'), d_p, d_v
833 )
841 )
834 return literal('<div style="width:%spx">%s%s</div>' % (width, d_a, d_d))
842 return literal('<div style="width:%spx">%s%s</div>' % (width, d_a, d_d))
835
843
836
844
837 def urlify_text(text_):
845 def urlify_text(text_):
838 import re
846 import re
839
847
840 url_pat = re.compile(r'''(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]'''
848 url_pat = re.compile(r'''(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]'''
841 '''|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)''')
849 '''|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)''')
842
850
843 def url_func(match_obj):
851 def url_func(match_obj):
844 url_full = match_obj.groups()[0]
852 url_full = match_obj.groups()[0]
845 return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full})
853 return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full})
846
854
847 return literal(url_pat.sub(url_func, text_))
855 return literal(url_pat.sub(url_func, text_))
848
856
849
857
850 def urlify_changesets(text_, repository):
858 def urlify_changesets(text_, repository):
851 """
859 """
852 Extract revision ids from changeset and make link from them
860 Extract revision ids from changeset and make link from them
853
861
854 :param text_:
862 :param text_:
855 :param repository:
863 :param repository:
856 """
864 """
857 import re
865 import re
858 URL_PAT = re.compile(r'([0-9a-fA-F]{12,})')
866 URL_PAT = re.compile(r'([0-9a-fA-F]{12,})')
859
867
860 def url_func(match_obj):
868 def url_func(match_obj):
861 rev = match_obj.groups()[0]
869 rev = match_obj.groups()[0]
862 pref = ''
870 pref = ''
863 if match_obj.group().startswith(' '):
871 if match_obj.group().startswith(' '):
864 pref = ' '
872 pref = ' '
865 tmpl = (
873 tmpl = (
866 '%(pref)s<a class="%(cls)s" href="%(url)s">'
874 '%(pref)s<a class="%(cls)s" href="%(url)s">'
867 '%(rev)s'
875 '%(rev)s'
868 '</a>'
876 '</a>'
869 )
877 )
870 return tmpl % {
878 return tmpl % {
871 'pref': pref,
879 'pref': pref,
872 'cls': 'revision-link',
880 'cls': 'revision-link',
873 'url': url('changeset_home', repo_name=repository, revision=rev),
881 'url': url('changeset_home', repo_name=repository, revision=rev),
874 'rev': rev,
882 'rev': rev,
875 }
883 }
876
884
877 newtext = URL_PAT.sub(url_func, text_)
885 newtext = URL_PAT.sub(url_func, text_)
878
886
879 return newtext
887 return newtext
880
888
881
889
882 def urlify_commit(text_, repository=None, link_=None):
890 def urlify_commit(text_, repository=None, link_=None):
883 """
891 """
884 Parses given text message and makes proper links.
892 Parses given text message and makes proper links.
885 issues are linked to given issue-server, and rest is a changeset link
893 issues are linked to given issue-server, and rest is a changeset link
886 if link_ is given, in other case it's a plain text
894 if link_ is given, in other case it's a plain text
887
895
888 :param text_:
896 :param text_:
889 :param repository:
897 :param repository:
890 :param link_: changeset link
898 :param link_: changeset link
891 """
899 """
892 import re
900 import re
893 import traceback
901 import traceback
894
902
895 def escaper(string):
903 def escaper(string):
896 return string.replace('<', '&lt;').replace('>', '&gt;')
904 return string.replace('<', '&lt;').replace('>', '&gt;')
897
905
898 def linkify_others(t, l):
906 def linkify_others(t, l):
899 urls = re.compile(r'(\<a.*?\<\/a\>)',)
907 urls = re.compile(r'(\<a.*?\<\/a\>)',)
900 links = []
908 links = []
901 for e in urls.split(t):
909 for e in urls.split(t):
902 if not urls.match(e):
910 if not urls.match(e):
903 links.append('<a class="message-link" href="%s">%s</a>' % (l, e))
911 links.append('<a class="message-link" href="%s">%s</a>' % (l, e))
904 else:
912 else:
905 links.append(e)
913 links.append(e)
906
914
907 return ''.join(links)
915 return ''.join(links)
908
916
909 # urlify changesets - extrac revisions and make link out of them
917 # urlify changesets - extrac revisions and make link out of them
910 text_ = urlify_changesets(escaper(text_), repository)
918 text_ = urlify_changesets(escaper(text_), repository)
911
919
912 try:
920 try:
913 conf = config['app_conf']
921 conf = config['app_conf']
914
922
915 URL_PAT = re.compile(r'%s' % conf.get('issue_pat'))
923 URL_PAT = re.compile(r'%s' % conf.get('issue_pat'))
916
924
917 if URL_PAT:
925 if URL_PAT:
918 ISSUE_SERVER_LNK = conf.get('issue_server_link')
926 ISSUE_SERVER_LNK = conf.get('issue_server_link')
919 ISSUE_PREFIX = conf.get('issue_prefix')
927 ISSUE_PREFIX = conf.get('issue_prefix')
920
928
921 def url_func(match_obj):
929 def url_func(match_obj):
922 pref = ''
930 pref = ''
923 if match_obj.group().startswith(' '):
931 if match_obj.group().startswith(' '):
924 pref = ' '
932 pref = ' '
925
933
926 issue_id = ''.join(match_obj.groups())
934 issue_id = ''.join(match_obj.groups())
927 tmpl = (
935 tmpl = (
928 '%(pref)s<a class="%(cls)s" href="%(url)s">'
936 '%(pref)s<a class="%(cls)s" href="%(url)s">'
929 '%(issue-prefix)s%(id-repr)s'
937 '%(issue-prefix)s%(id-repr)s'
930 '</a>'
938 '</a>'
931 )
939 )
932 url = ISSUE_SERVER_LNK.replace('{id}', issue_id)
940 url = ISSUE_SERVER_LNK.replace('{id}', issue_id)
933 if repository:
941 if repository:
934 url = url.replace('{repo}', repository)
942 url = url.replace('{repo}', repository)
935 repo_name = repository.split(URL_SEP)[-1]
943 repo_name = repository.split(URL_SEP)[-1]
936 url = url.replace('{repo_name}', repo_name)
944 url = url.replace('{repo_name}', repo_name)
937 return tmpl % {
945 return tmpl % {
938 'pref': pref,
946 'pref': pref,
939 'cls': 'issue-tracker-link',
947 'cls': 'issue-tracker-link',
940 'url': url,
948 'url': url,
941 'id-repr': issue_id,
949 'id-repr': issue_id,
942 'issue-prefix': ISSUE_PREFIX,
950 'issue-prefix': ISSUE_PREFIX,
943 'serv': ISSUE_SERVER_LNK,
951 'serv': ISSUE_SERVER_LNK,
944 }
952 }
945
953
946 newtext = URL_PAT.sub(url_func, text_)
954 newtext = URL_PAT.sub(url_func, text_)
947
955
948 if link_:
956 if link_:
949 # wrap not links into final link => link_
957 # wrap not links into final link => link_
950 newtext = linkify_others(newtext, link_)
958 newtext = linkify_others(newtext, link_)
951
959
952 return literal(newtext)
960 return literal(newtext)
953 except:
961 except:
954 log.error(traceback.format_exc())
962 log.error(traceback.format_exc())
955 pass
963 pass
956
964
957 return text_
965 return text_
958
966
959
967
960 def rst(source):
968 def rst(source):
961 return literal('<div class="rst-block">%s</div>' %
969 return literal('<div class="rst-block">%s</div>' %
962 MarkupRenderer.rst(source))
970 MarkupRenderer.rst(source))
963
971
964
972
965 def rst_w_mentions(source):
973 def rst_w_mentions(source):
966 """
974 """
967 Wrapped rst renderer with @mention highlighting
975 Wrapped rst renderer with @mention highlighting
968
976
969 :param source:
977 :param source:
970 """
978 """
971 return literal('<div class="rst-block">%s</div>' %
979 return literal('<div class="rst-block">%s</div>' %
972 MarkupRenderer.rst_with_mentions(source))
980 MarkupRenderer.rst_with_mentions(source))
@@ -1,54 +1,54 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 %if c.users_log:
2 %if c.users_log:
3 <table>
3 <table>
4 <tr>
4 <tr>
5 <th class="left">${_('Username')}</th>
5 <th class="left">${_('Username')}</th>
6 <th class="left">${_('Action')}</th>
6 <th class="left">${_('Action')}</th>
7 <th class="left">${_('Repository')}</th>
7 <th class="left">${_('Repository')}</th>
8 <th class="left">${_('Date')}</th>
8 <th class="left">${_('Date')}</th>
9 <th class="left">${_('From IP')}</th>
9 <th class="left">${_('From IP')}</th>
10 </tr>
10 </tr>
11
11
12 %for cnt,l in enumerate(c.users_log):
12 %for cnt,l in enumerate(c.users_log):
13 <tr class="parity${cnt%2}">
13 <tr class="parity${cnt%2}">
14 <td>${h.link_to(l.user.username,h.url('edit_user', id=l.user.user_id))}</td>
14 <td>${h.link_to(l.user.username,h.url('edit_user', id=l.user.user_id))}</td>
15 <td>${h.action_parser(l)[0]()}
15 <td>${h.action_parser(l)[0]()}
16 <div class="journal_action_params">
16 <div class="journal_action_params">
17 ${h.literal(h.action_parser(l)[1]())}
17 ${h.literal(h.action_parser(l)[1]())}
18 </div>
18 </div>
19 </td>
19 </td>
20 <td>
20 <td>
21 %if l.repository is not None:
21 %if l.repository is not None:
22 ${h.link_to(l.repository.repo_name,h.url('summary_home',repo_name=l.repository.repo_name))}
22 ${h.link_to(l.repository.repo_name,h.url('summary_home',repo_name=l.repository.repo_name))}
23 %else:
23 %else:
24 ${l.repository_name}
24 ${l.repository_name}
25 %endif
25 %endif
26 </td>
26 </td>
27
27
28 <td>${l.action_date}</td>
28 <td>${h.fmt_date(l.action_date)}</td>
29 <td>${l.user_ip}</td>
29 <td>${l.user_ip}</td>
30 </tr>
30 </tr>
31 %endfor
31 %endfor
32 </table>
32 </table>
33
33
34 <script type="text/javascript">
34 <script type="text/javascript">
35 YUE.onDOMReady(function(){
35 YUE.onDOMReady(function(){
36 YUE.delegate("user_log","click",function(e, matchedEl, container){
36 YUE.delegate("user_log","click",function(e, matchedEl, container){
37 ypjax(e.target.href,"user_log",function(){show_more_event();tooltip_activate();});
37 ypjax(e.target.href,"user_log",function(){show_more_event();tooltip_activate();});
38 YUE.preventDefault(e);
38 YUE.preventDefault(e);
39 },'.pager_link');
39 },'.pager_link');
40
40
41 YUE.delegate("user_log","click",function(e,matchedEl,container){
41 YUE.delegate("user_log","click",function(e,matchedEl,container){
42 var el = e.target;
42 var el = e.target;
43 YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
43 YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
44 YUD.setStyle(el.parentNode,'display','none');
44 YUD.setStyle(el.parentNode,'display','none');
45 },'.show_more');
45 },'.show_more');
46 });
46 });
47 </script>
47 </script>
48
48
49 <div class="pagination-wh pagination-left">
49 <div class="pagination-wh pagination-left">
50 ${c.users_log.pager('$link_previous ~2~ $link_next')}
50 ${c.users_log.pager('$link_previous ~2~ $link_next')}
51 </div>
51 </div>
52 %else:
52 %else:
53 ${_('No actions yet')}
53 ${_('No actions yet')}
54 %endif
54 %endif
@@ -1,128 +1,128 b''
1 <table id="permissions_manage" class="noborder">
1 <table id="permissions_manage" class="noborder">
2 <tr>
2 <tr>
3 <td>${_('none')}</td>
3 <td>${_('none')}</td>
4 <td>${_('read')}</td>
4 <td>${_('read')}</td>
5 <td>${_('write')}</td>
5 <td>${_('write')}</td>
6 <td>${_('admin')}</td>
6 <td>${_('admin')}</td>
7 <td>${_('member')}</td>
7 <td>${_('member')}</td>
8 <td></td>
8 <td></td>
9 </tr>
9 </tr>
10 ## USERS
10 ## USERS
11 %for r2p in c.repo_info.repo_to_perm:
11 %for r2p in c.repo_info.repo_to_perm:
12 %if r2p.user.username =='default' and c.repo_info.private:
12 %if r2p.user.username =='default' and c.repo_info.private:
13 <tr>
13 <tr>
14 <td colspan="4">
14 <td colspan="4">
15 <span class="private_repo_msg">
15 <span class="private_repo_msg">
16 ${_('private repository')}
16 ${_('private repository')}
17 </span>
17 </span>
18 </td>
18 </td>
19 <td class="private_repo_msg"><img style="vertical-align:bottom" src="${h.url('/images/icons/user.png')}"/>${r2p.user.username}</td>
19 <td class="private_repo_msg"><img style="vertical-align:bottom" src="${h.url('/images/icons/user.png')}"/>${_('default')}</td>
20 </tr>
20 </tr>
21 %else:
21 %else:
22 <tr id="id${id(r2p.user.username)}">
22 <tr id="id${id(r2p.user.username)}">
23 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.none')}</td>
23 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.none')}</td>
24 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.read')}</td>
24 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.read')}</td>
25 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.write')}</td>
25 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.write')}</td>
26 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.admin')}</td>
26 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.admin')}</td>
27 <td style="white-space: nowrap;">
27 <td style="white-space: nowrap;">
28 <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username}
28 <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')}
29 </td>
29 </td>
30 <td>
30 <td>
31 %if r2p.user.username !='default':
31 %if r2p.user.username !='default':
32 <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
32 <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
33 ${_('revoke')}
33 ${_('revoke')}
34 </span>
34 </span>
35 %endif
35 %endif
36 </td>
36 </td>
37 </tr>
37 </tr>
38 %endif
38 %endif
39 %endfor
39 %endfor
40
40
41 ## USERS GROUPS
41 ## USERS GROUPS
42 %for g2p in c.repo_info.users_group_to_perm:
42 %for g2p in c.repo_info.users_group_to_perm:
43 <tr id="id${id(g2p.users_group.users_group_name)}">
43 <tr id="id${id(g2p.users_group.users_group_name)}">
44 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.none')}</td>
44 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.none')}</td>
45 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.read')}</td>
45 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.read')}</td>
46 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.write')}</td>
46 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.write')}</td>
47 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.admin')}</td>
47 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.admin')}</td>
48 <td style="white-space: nowrap;">
48 <td style="white-space: nowrap;">
49 <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>
49 <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>
50 %if h.HasPermissionAny('hg.admin')():
50 %if h.HasPermissionAny('hg.admin')():
51 <a href="${h.url('edit_users_group',id=g2p.users_group.users_group_id)}">${g2p.users_group.users_group_name}</a>
51 <a href="${h.url('edit_users_group',id=g2p.users_group.users_group_id)}">${g2p.users_group.users_group_name}</a>
52 %else:
52 %else:
53 ${g2p.users_group.users_group_name}
53 ${g2p.users_group.users_group_name}
54 %endif
54 %endif
55 </td>
55 </td>
56 <td>
56 <td>
57 <span class="delete_icon action_button" onclick="ajaxActionUsersGroup(${g2p.users_group.users_group_id},'${'id%s'%id(g2p.users_group.users_group_name)}')">
57 <span class="delete_icon action_button" onclick="ajaxActionUsersGroup(${g2p.users_group.users_group_id},'${'id%s'%id(g2p.users_group.users_group_name)}')">
58 ${_('revoke')}
58 ${_('revoke')}
59 </span>
59 </span>
60 </td>
60 </td>
61 </tr>
61 </tr>
62 %endfor
62 %endfor
63 <tr id="add_perm_input">
63 <tr id="add_perm_input">
64 <td>${h.radio('perm_new_member','repository.none')}</td>
64 <td>${h.radio('perm_new_member','repository.none')}</td>
65 <td>${h.radio('perm_new_member','repository.read')}</td>
65 <td>${h.radio('perm_new_member','repository.read')}</td>
66 <td>${h.radio('perm_new_member','repository.write')}</td>
66 <td>${h.radio('perm_new_member','repository.write')}</td>
67 <td>${h.radio('perm_new_member','repository.admin')}</td>
67 <td>${h.radio('perm_new_member','repository.admin')}</td>
68 <td class='ac'>
68 <td class='ac'>
69 <div class="perm_ac" id="perm_ac">
69 <div class="perm_ac" id="perm_ac">
70 ${h.text('perm_new_member_name',class_='yui-ac-input')}
70 ${h.text('perm_new_member_name',class_='yui-ac-input')}
71 ${h.hidden('perm_new_member_type')}
71 ${h.hidden('perm_new_member_type')}
72 <div id="perm_container"></div>
72 <div id="perm_container"></div>
73 </div>
73 </div>
74 </td>
74 </td>
75 <td></td>
75 <td></td>
76 </tr>
76 </tr>
77 <tr>
77 <tr>
78 <td colspan="6">
78 <td colspan="6">
79 <span id="add_perm" class="add_icon" style="cursor: pointer;">
79 <span id="add_perm" class="add_icon" style="cursor: pointer;">
80 ${_('Add another member')}
80 ${_('Add another member')}
81 </span>
81 </span>
82 </td>
82 </td>
83 </tr>
83 </tr>
84 </table>
84 </table>
85 <script type="text/javascript">
85 <script type="text/javascript">
86 function ajaxActionUser(user_id, field_id) {
86 function ajaxActionUser(user_id, field_id) {
87 var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}";
87 var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}";
88 var callback = {
88 var callback = {
89 success: function (o) {
89 success: function (o) {
90 var tr = YUD.get(String(field_id));
90 var tr = YUD.get(String(field_id));
91 tr.parentNode.removeChild(tr);
91 tr.parentNode.removeChild(tr);
92 },
92 },
93 failure: function (o) {
93 failure: function (o) {
94 alert("${_('Failed to remove user')}");
94 alert("${_('Failed to remove user')}");
95 },
95 },
96 };
96 };
97 var postData = '_method=delete&user_id=' + user_id;
97 var postData = '_method=delete&user_id=' + user_id;
98 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
98 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
99 };
99 };
100
100
101 function ajaxActionUsersGroup(users_group_id,field_id){
101 function ajaxActionUsersGroup(users_group_id,field_id){
102 var sUrl = "${h.url('delete_repo_users_group',repo_name=c.repo_name)}";
102 var sUrl = "${h.url('delete_repo_users_group',repo_name=c.repo_name)}";
103 var callback = {
103 var callback = {
104 success:function(o){
104 success:function(o){
105 var tr = YUD.get(String(field_id));
105 var tr = YUD.get(String(field_id));
106 tr.parentNode.removeChild(tr);
106 tr.parentNode.removeChild(tr);
107 },
107 },
108 failure:function(o){
108 failure:function(o){
109 alert("${_('Failed to remove users group')}");
109 alert("${_('Failed to remove users group')}");
110 },
110 },
111 };
111 };
112 var postData = '_method=delete&users_group_id='+users_group_id;
112 var postData = '_method=delete&users_group_id='+users_group_id;
113 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
113 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
114 };
114 };
115
115
116 YUE.onDOMReady(function () {
116 YUE.onDOMReady(function () {
117 if (!YUD.hasClass('perm_new_member_name', 'error')) {
117 if (!YUD.hasClass('perm_new_member_name', 'error')) {
118 YUD.setStyle('add_perm_input', 'display', 'none');
118 YUD.setStyle('add_perm_input', 'display', 'none');
119 }
119 }
120 YAHOO.util.Event.addListener('add_perm', 'click', function () {
120 YAHOO.util.Event.addListener('add_perm', 'click', function () {
121 YUD.setStyle('add_perm_input', 'display', '');
121 YUD.setStyle('add_perm_input', 'display', '');
122 YUD.setStyle('add_perm', 'opacity', '0.6');
122 YUD.setStyle('add_perm', 'opacity', '0.6');
123 YUD.setStyle('add_perm', 'cursor', 'default');
123 YUD.setStyle('add_perm', 'cursor', 'default');
124 });
124 });
125 MembersAutoComplete(${c.users_array|n}, ${c.users_groups_array|n});
125 MembersAutoComplete(${c.users_array|n}, ${c.users_groups_array|n});
126 });
126 });
127
127
128 </script>
128 </script>
@@ -1,112 +1,112 b''
1 <table id="permissions_manage" class="noborder">
1 <table id="permissions_manage" class="noborder">
2 <tr>
2 <tr>
3 <td>${_('none')}</td>
3 <td>${_('none')}</td>
4 <td>${_('read')}</td>
4 <td>${_('read')}</td>
5 <td>${_('write')}</td>
5 <td>${_('write')}</td>
6 <td>${_('admin')}</td>
6 <td>${_('admin')}</td>
7 <td>${_('member')}</td>
7 <td>${_('member')}</td>
8 <td></td>
8 <td></td>
9 </tr>
9 </tr>
10 ## USERS
10 ## USERS
11 %for r2p in c.repos_group.repo_group_to_perm:
11 %for r2p in c.repos_group.repo_group_to_perm:
12 <tr id="id${id(r2p.user.username)}">
12 <tr id="id${id(r2p.user.username)}">
13 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td>
13 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td>
14 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td>
14 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td>
15 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td>
15 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td>
16 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin')}</td>
16 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin')}</td>
17 <td style="white-space: nowrap;">
17 <td style="white-space: nowrap;">
18 <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username}
18 <img class="perm-gravatar" src="${h.gravatar_url(r2p.user.email,14)}"/>${r2p.user.username if r2p.user.username != 'default' else _('default')}
19 </td>
19 </td>
20 <td>
20 <td>
21 %if r2p.user.username !='default':
21 %if r2p.user.username !='default':
22 <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
22 <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
23 ${_('revoke')}
23 ${_('revoke')}
24 </span>
24 </span>
25 %endif
25 %endif
26 </td>
26 </td>
27 </tr>
27 </tr>
28 %endfor
28 %endfor
29
29
30 ## USERS GROUPS
30 ## USERS GROUPS
31 %for g2p in c.repos_group.users_group_to_perm:
31 %for g2p in c.repos_group.users_group_to_perm:
32 <tr id="id${id(g2p.users_group.users_group_name)}">
32 <tr id="id${id(g2p.users_group.users_group_name)}">
33 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.none')}</td>
33 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.none')}</td>
34 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.read')}</td>
34 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.read')}</td>
35 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.write')}</td>
35 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.write')}</td>
36 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.admin')}</td>
36 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.admin')}</td>
37 <td style="white-space: nowrap;">
37 <td style="white-space: nowrap;">
38 <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>${g2p.users_group.users_group_name}
38 <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>${g2p.users_group.users_group_name}
39 </td>
39 </td>
40 <td>
40 <td>
41 <span class="delete_icon action_button" onclick="ajaxActionUsersGroup(${g2p.users_group.users_group_id},'${'id%s'%id(g2p.users_group.users_group_name)}')">
41 <span class="delete_icon action_button" onclick="ajaxActionUsersGroup(${g2p.users_group.users_group_id},'${'id%s'%id(g2p.users_group.users_group_name)}')">
42 ${_('revoke')}
42 ${_('revoke')}
43 </span>
43 </span>
44 </td>
44 </td>
45 </tr>
45 </tr>
46 %endfor
46 %endfor
47 <tr id="add_perm_input">
47 <tr id="add_perm_input">
48 <td>${h.radio('perm_new_member','group.none')}</td>
48 <td>${h.radio('perm_new_member','group.none')}</td>
49 <td>${h.radio('perm_new_member','group.read')}</td>
49 <td>${h.radio('perm_new_member','group.read')}</td>
50 <td>${h.radio('perm_new_member','group.write')}</td>
50 <td>${h.radio('perm_new_member','group.write')}</td>
51 <td>${h.radio('perm_new_member','group.admin')}</td>
51 <td>${h.radio('perm_new_member','group.admin')}</td>
52 <td class='ac'>
52 <td class='ac'>
53 <div class="perm_ac" id="perm_ac">
53 <div class="perm_ac" id="perm_ac">
54 ${h.text('perm_new_member_name',class_='yui-ac-input')}
54 ${h.text('perm_new_member_name',class_='yui-ac-input')}
55 ${h.hidden('perm_new_member_type')}
55 ${h.hidden('perm_new_member_type')}
56 <div id="perm_container"></div>
56 <div id="perm_container"></div>
57 </div>
57 </div>
58 </td>
58 </td>
59 <td></td>
59 <td></td>
60 </tr>
60 </tr>
61 <tr>
61 <tr>
62 <td colspan="6">
62 <td colspan="6">
63 <span id="add_perm" class="add_icon" style="cursor: pointer;">
63 <span id="add_perm" class="add_icon" style="cursor: pointer;">
64 ${_('Add another member')}
64 ${_('Add another member')}
65 </span>
65 </span>
66 </td>
66 </td>
67 </tr>
67 </tr>
68 </table>
68 </table>
69 <script type="text/javascript">
69 <script type="text/javascript">
70 function ajaxActionUser(user_id, field_id) {
70 function ajaxActionUser(user_id, field_id) {
71 var sUrl = "${h.url('delete_repos_group_user_perm',group_name=c.repos_group.group_name)}";
71 var sUrl = "${h.url('delete_repos_group_user_perm',group_name=c.repos_group.group_name)}";
72 var callback = {
72 var callback = {
73 success: function (o) {
73 success: function (o) {
74 var tr = YUD.get(String(field_id));
74 var tr = YUD.get(String(field_id));
75 tr.parentNode.removeChild(tr);
75 tr.parentNode.removeChild(tr);
76 },
76 },
77 failure: function (o) {
77 failure: function (o) {
78 alert("${_('Failed to remove user')}");
78 alert("${_('Failed to remove user')}");
79 },
79 },
80 };
80 };
81 var postData = '_method=delete&user_id=' + user_id;
81 var postData = '_method=delete&user_id=' + user_id;
82 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
82 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
83 };
83 };
84
84
85 function ajaxActionUsersGroup(users_group_id,field_id){
85 function ajaxActionUsersGroup(users_group_id,field_id){
86 var sUrl = "${h.url('delete_repos_group_users_group_perm',group_name=c.repos_group.group_name)}";
86 var sUrl = "${h.url('delete_repos_group_users_group_perm',group_name=c.repos_group.group_name)}";
87 var callback = {
87 var callback = {
88 success:function(o){
88 success:function(o){
89 var tr = YUD.get(String(field_id));
89 var tr = YUD.get(String(field_id));
90 tr.parentNode.removeChild(tr);
90 tr.parentNode.removeChild(tr);
91 },
91 },
92 failure:function(o){
92 failure:function(o){
93 alert("${_('Failed to remove users group')}");
93 alert("${_('Failed to remove users group')}");
94 },
94 },
95 };
95 };
96 var postData = '_method=delete&users_group_id='+users_group_id;
96 var postData = '_method=delete&users_group_id='+users_group_id;
97 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
97 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
98 };
98 };
99
99
100 YUE.onDOMReady(function () {
100 YUE.onDOMReady(function () {
101 if (!YUD.hasClass('perm_new_member_name', 'error')) {
101 if (!YUD.hasClass('perm_new_member_name', 'error')) {
102 YUD.setStyle('add_perm_input', 'display', 'none');
102 YUD.setStyle('add_perm_input', 'display', 'none');
103 }
103 }
104 YAHOO.util.Event.addListener('add_perm', 'click', function () {
104 YAHOO.util.Event.addListener('add_perm', 'click', function () {
105 YUD.setStyle('add_perm_input', 'display', '');
105 YUD.setStyle('add_perm_input', 'display', '');
106 YUD.setStyle('add_perm', 'opacity', '0.6');
106 YUD.setStyle('add_perm', 'opacity', '0.6');
107 YUD.setStyle('add_perm', 'cursor', 'default');
107 YUD.setStyle('add_perm', 'cursor', 'default');
108 });
108 });
109 MembersAutoComplete(${c.users_array|n}, ${c.users_groups_array|n});
109 MembersAutoComplete(${c.users_array|n}, ${c.users_groups_array|n});
110 });
110 });
111
111
112 </script>
112 </script>
@@ -1,65 +1,65 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${_('Users administration')} - ${c.rhodecode_name}
5 ${_('Users administration')} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; ${_('Users')}
9 ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; ${_('Users')}
10 </%def>
10 </%def>
11
11
12 <%def name="page_nav()">
12 <%def name="page_nav()">
13 ${self.menu('admin')}
13 ${self.menu('admin')}
14 </%def>
14 </%def>
15
15
16 <%def name="main()">
16 <%def name="main()">
17 <div class="box">
17 <div class="box">
18 <!-- box / title -->
18 <!-- box / title -->
19 <div class="title">
19 <div class="title">
20 ${self.breadcrumbs()}
20 ${self.breadcrumbs()}
21 <ul class="links">
21 <ul class="links">
22 <li>
22 <li>
23 <span>${h.link_to(_(u'ADD NEW USER'),h.url('new_user'))}</span>
23 <span>${h.link_to(_(u'ADD NEW USER'),h.url('new_user'))}</span>
24 </li>
24 </li>
25
25
26 </ul>
26 </ul>
27 </div>
27 </div>
28 <!-- end box / title -->
28 <!-- end box / title -->
29 <div class="table">
29 <div class="table">
30 <table class="table_disp">
30 <table class="table_disp">
31 <tr class="header">
31 <tr class="header">
32 <th></th>
32 <th></th>
33 <th class="left">${_('username')}</th>
33 <th class="left">${_('username')}</th>
34 <th class="left">${_('name')}</th>
34 <th class="left">${_('name')}</th>
35 <th class="left">${_('lastname')}</th>
35 <th class="left">${_('lastname')}</th>
36 <th class="left">${_('last login')}</th>
36 <th class="left">${_('last login')}</th>
37 <th class="left">${_('active')}</th>
37 <th class="left">${_('active')}</th>
38 <th class="left">${_('admin')}</th>
38 <th class="left">${_('admin')}</th>
39 <th class="left">${_('ldap')}</th>
39 <th class="left">${_('ldap')}</th>
40 <th class="left">${_('action')}</th>
40 <th class="left">${_('action')}</th>
41 </tr>
41 </tr>
42 %for cnt,user in enumerate(c.users_list):
42 %for cnt,user in enumerate(c.users_list):
43 %if user.name !='default':
43 %if user.username !='default':
44 <tr class="parity${cnt%2}">
44 <tr class="parity${cnt%2}">
45 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/> </div></td>
45 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/> </div></td>
46 <td>${h.link_to(user.username,h.url('edit_user', id=user.user_id))}</td>
46 <td>${h.link_to(user.username,h.url('edit_user', id=user.user_id))}</td>
47 <td>${user.name}</td>
47 <td>${user.name}</td>
48 <td>${user.lastname}</td>
48 <td>${user.lastname}</td>
49 <td>${user.last_login}</td>
49 <td>${h.fmt_date(user.last_login)}</td>
50 <td>${h.bool2icon(user.active)}</td>
50 <td>${h.bool2icon(user.active)}</td>
51 <td>${h.bool2icon(user.admin)}</td>
51 <td>${h.bool2icon(user.admin)}</td>
52 <td>${h.bool2icon(bool(user.ldap_dn))}</td>
52 <td>${h.bool2icon(bool(user.ldap_dn))}</td>
53 <td>
53 <td>
54 ${h.form(url('delete_user', id=user.user_id),method='delete')}
54 ${h.form(url('delete_user', id=user.user_id),method='delete')}
55 ${h.submit('remove_',_('delete'),id="remove_user_%s" % user.user_id,
55 ${h.submit('remove_',_('delete'),id="remove_user_%s" % user.user_id,
56 class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this user: %s') % user.username+"');")}
56 class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this user: %s') % user.username+"');")}
57 ${h.end_form()}
57 ${h.end_form()}
58 </td>
58 </td>
59 </tr>
59 </tr>
60 %endif
60 %endif
61 %endfor
61 %endfor
62 </table>
62 </table>
63 </div>
63 </div>
64 </div>
64 </div>
65 </%def>
65 </%def>
@@ -1,78 +1,78 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Bookmarks')} - ${c.rhodecode_name}
5 ${_('%s Bookmarks') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8
8
9 <%def name="breadcrumbs_links()">
9 <%def name="breadcrumbs_links()">
10 <input class="q_filter_box" id="q_filter_bookmarks" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
10 <input class="q_filter_box" id="q_filter_bookmarks" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
11 ${h.link_to(u'Home',h.url('/'))}
11 ${h.link_to(u'Home',h.url('/'))}
12 &raquo;
12 &raquo;
13 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
14 &raquo;
14 &raquo;
15 ${_('bookmarks')}
15 ${_('bookmarks')}
16 </%def>
16 </%def>
17
17
18 <%def name="page_nav()">
18 <%def name="page_nav()">
19 ${self.menu('bookmarks')}
19 ${self.menu('bookmarks')}
20 </%def>
20 </%def>
21 <%def name="main()">
21 <%def name="main()">
22 <div class="box">
22 <div class="box">
23 <!-- box / title -->
23 <!-- box / title -->
24 <div class="title">
24 <div class="title">
25 ${self.breadcrumbs()}
25 ${self.breadcrumbs()}
26 </div>
26 </div>
27 <!-- end box / title -->
27 <!-- end box / title -->
28 <div class="table">
28 <div class="table">
29 <%include file='bookmarks_data.html'/>
29 <%include file='bookmarks_data.html'/>
30 </div>
30 </div>
31 </div>
31 </div>
32 <script type="text/javascript">
32 <script type="text/javascript">
33
33
34 // main table sorting
34 // main table sorting
35 var myColumnDefs = [
35 var myColumnDefs = [
36 {key:"name",label:"${_('Name')}",sortable:true},
36 {key:"name",label:"${_('Name')}",sortable:true},
37 {key:"date",label:"${_('Date')}",sortable:true,
37 {key:"date",label:"${_('Date')}",sortable:true,
38 sortOptions: { sortFunction: dateSort }},
38 sortOptions: { sortFunction: dateSort }},
39 {key:"author",label:"${_('Author')}",sortable:true},
39 {key:"author",label:"${_('Author')}",sortable:true},
40 {key:"revision",label:"${_('Revision')}",sortable:true,
40 {key:"revision",label:"${_('Revision')}",sortable:true,
41 sortOptions: { sortFunction: revisionSort }},
41 sortOptions: { sortFunction: revisionSort }},
42 ];
42 ];
43
43
44 var myDataSource = new YAHOO.util.DataSource(YUD.get("bookmarks_data"));
44 var myDataSource = new YAHOO.util.DataSource(YUD.get("bookmarks_data"));
45
45
46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
47
47
48 myDataSource.responseSchema = {
48 myDataSource.responseSchema = {
49 fields: [
49 fields: [
50 {key:"name"},
50 {key:"name"},
51 {key:"date"},
51 {key:"date"},
52 {key:"author"},
52 {key:"author"},
53 {key:"revision"},
53 {key:"revision"},
54 ]
54 ]
55 };
55 };
56
56
57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
58 {
58 {
59 sortedBy:{key:"name",dir:"asc"},
59 sortedBy:{key:"name",dir:"asc"},
60 MSG_SORTASC:"${_('Click to sort ascending')}",
60 MSG_SORTASC:"${_('Click to sort ascending')}",
61 MSG_SORTDESC:"${_('Click to sort descending')}",
61 MSG_SORTDESC:"${_('Click to sort descending')}",
62 MSG_EMPTY:"${_('No records found.')}",
62 MSG_EMPTY:"${_('No records found.')}",
63 MSG_ERROR:"${_('Data error.')}",
63 MSG_ERROR:"${_('Data error.')}",
64 MSG_LOADING:"${_('Loading...')}",
64 MSG_LOADING:"${_('Loading...')}",
65 }
65 }
66 );
66 );
67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
68 tooltip_activate();
68 tooltip_activate();
69 var func = function(node){
69 var func = function(node){
70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
71 }
71 }
72 q_filter('q_filter_bookmarks',YUQ('div.table tr td .logbooks .bookbook a'),func);
72 q_filter('q_filter_bookmarks',YUQ('div.table tr td .logbooks .bookbook a'),func);
73 });
73 });
74
74
75 </script>
75 </script>
76
76
77
77
78 </%def>
78 </%def>
@@ -1,33 +1,33 b''
1 %if c.repo_bookmarks:
1 %if c.repo_bookmarks:
2 <div id="table_wrap" class="yui-skin-sam">
2 <div id="table_wrap" class="yui-skin-sam">
3 <table id="bookmarks_data">
3 <table id="bookmarks_data">
4 <thead>
4 <thead>
5 <tr>
5 <tr>
6 <th class="left">${_('Name')}</th>
6 <th class="left">${_('Name')}</th>
7 <th class="left">${_('Date')}</th>
7 <th class="left">${_('Date')}</th>
8 <th class="left">${_('Author')}</th>
8 <th class="left">${_('Author')}</th>
9 <th class="left">${_('Revision')}</th>
9 <th class="left">${_('Revision')}</th>
10 </tr>
10 </tr>
11 </thead>
11 </thead>
12 %for cnt,book in enumerate(c.repo_bookmarks.items()):
12 %for cnt,book in enumerate(c.repo_bookmarks.items()):
13 <tr class="parity${cnt%2}">
13 <tr class="parity${cnt%2}">
14 <td>
14 <td>
15 <span class="logbooks">
15 <span class="logbooks">
16 <span class="bookbook">${h.link_to(book[0],
16 <span class="bookbook">${h.link_to(book[0],
17 h.url('files_home',repo_name=c.repo_name,revision=book[1].raw_id))}</span>
17 h.url('files_home',repo_name=c.repo_name,revision=book[1].raw_id))}</span>
18 </span>
18 </span>
19 </td>
19 </td>
20 <td><span class="tooltip" title="${h.age(book[1].date)}">${book[1].date}</span></td>
20 <td><span class="tooltip" title="${h.age(book[1].date)}">${h.fmt_date(book[1].date)}</span></td>
21 <td title="${book[1].author}">${h.person(book[1].author)}</td>
21 <td title="${book[1].author}">${h.person(book[1].author)}</td>
22 <td>
22 <td>
23 <div>
23 <div>
24 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=book[1].raw_id)}">r${book[1].revision}:${h.short_id(book[1].raw_id)}</a></pre>
24 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=book[1].raw_id)}">r${book[1].revision}:${h.short_id(book[1].raw_id)}</a></pre>
25 </div>
25 </div>
26 </td>
26 </td>
27 </tr>
27 </tr>
28 %endfor
28 %endfor
29 </table>
29 </table>
30 </div>
30 </div>
31 %else:
31 %else:
32 ${_('There are no bookmarks yet')}
32 ${_('There are no bookmarks yet')}
33 %endif
33 %endif
@@ -1,77 +1,77 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Branches')} - ${c.rhodecode_name}
5 ${_('%s Branches') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 <input class="q_filter_box" id="q_filter_branches" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
9 <input class="q_filter_box" id="q_filter_branches" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
10 ${h.link_to(u'Home',h.url('/'))}
10 ${h.link_to(u'Home',h.url('/'))}
11 &raquo;
11 &raquo;
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 &raquo;
13 &raquo;
14 ${_('branches')}
14 ${_('branches')}
15 </%def>
15 </%def>
16
16
17 <%def name="page_nav()">
17 <%def name="page_nav()">
18 ${self.menu('branches')}
18 ${self.menu('branches')}
19 </%def>
19 </%def>
20
20
21 <%def name="main()">
21 <%def name="main()">
22 <div class="box">
22 <div class="box">
23 <!-- box / title -->
23 <!-- box / title -->
24 <div class="title">
24 <div class="title">
25 ${self.breadcrumbs()}
25 ${self.breadcrumbs()}
26 </div>
26 </div>
27 <!-- end box / title -->
27 <!-- end box / title -->
28 <div class="table">
28 <div class="table">
29 <%include file='branches_data.html'/>
29 <%include file='branches_data.html'/>
30 </div>
30 </div>
31 </div>
31 </div>
32 <script type="text/javascript">
32 <script type="text/javascript">
33
33
34 // main table sorting
34 // main table sorting
35 var myColumnDefs = [
35 var myColumnDefs = [
36 {key:"name",label:"${_('Name')}",sortable:true},
36 {key:"name",label:"${_('Name')}",sortable:true},
37 {key:"date",label:"${_('Date')}",sortable:true,
37 {key:"date",label:"${_('Date')}",sortable:true,
38 sortOptions: { sortFunction: dateSort }},
38 sortOptions: { sortFunction: dateSort }},
39 {key:"author",label:"${_('Author')}",sortable:true},
39 {key:"author",label:"${_('Author')}",sortable:true},
40 {key:"revision",label:"${_('Revision')}",sortable:true,
40 {key:"revision",label:"${_('Revision')}",sortable:true,
41 sortOptions: { sortFunction: revisionSort }},
41 sortOptions: { sortFunction: revisionSort }},
42 ];
42 ];
43
43
44 var myDataSource = new YAHOO.util.DataSource(YUD.get("branches_data"));
44 var myDataSource = new YAHOO.util.DataSource(YUD.get("branches_data"));
45
45
46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
47
47
48 myDataSource.responseSchema = {
48 myDataSource.responseSchema = {
49 fields: [
49 fields: [
50 {key:"name"},
50 {key:"name"},
51 {key:"date"},
51 {key:"date"},
52 {key:"author"},
52 {key:"author"},
53 {key:"revision"},
53 {key:"revision"},
54 ]
54 ]
55 };
55 };
56
56
57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
58 {
58 {
59 sortedBy:{key:"name",dir:"asc"},
59 sortedBy:{key:"name",dir:"asc"},
60 MSG_SORTASC:"${_('Click to sort ascending')}",
60 MSG_SORTASC:"${_('Click to sort ascending')}",
61 MSG_SORTDESC:"${_('Click to sort descending')}",
61 MSG_SORTDESC:"${_('Click to sort descending')}",
62 MSG_EMPTY:"${_('No records found.')}",
62 MSG_EMPTY:"${_('No records found.')}",
63 MSG_ERROR:"${_('Data error.')}",
63 MSG_ERROR:"${_('Data error.')}",
64 MSG_LOADING:"${_('Loading...')}",
64 MSG_LOADING:"${_('Loading...')}",
65 }
65 }
66 );
66 );
67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
68 tooltip_activate();
68 tooltip_activate();
69 var func = function(node){
69 var func = function(node){
70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
71 }
71 }
72 q_filter('q_filter_branches',YUQ('div.table tr td .logtags .branchtag a'),func);
72 q_filter('q_filter_branches',YUQ('div.table tr td .logtags .branchtag a'),func);
73 });
73 });
74
74
75 </script>
75 </script>
76
76
77 </%def>
77 </%def>
@@ -1,52 +1,52 b''
1 %if c.repo_branches:
1 %if c.repo_branches:
2 <div id="table_wrap" class="yui-skin-sam">
2 <div id="table_wrap" class="yui-skin-sam">
3 <table id="branches_data">
3 <table id="branches_data">
4 <thead>
4 <thead>
5 <tr>
5 <tr>
6 <th class="left">${_('name')}</th>
6 <th class="left">${_('name')}</th>
7 <th class="left">${_('date')}</th>
7 <th class="left">${_('date')}</th>
8 <th class="left">${_('author')}</th>
8 <th class="left">${_('author')}</th>
9 <th class="left">${_('revision')}</th>
9 <th class="left">${_('revision')}</th>
10 </tr>
10 </tr>
11 </thead>
11 </thead>
12 %for cnt,branch in enumerate(c.repo_branches.items()):
12 %for cnt,branch in enumerate(c.repo_branches.items()):
13 <tr class="parity${cnt%2}">
13 <tr class="parity${cnt%2}">
14 <td>
14 <td>
15 <span class="logtags">
15 <span class="logtags">
16 <span class="branchtag">${h.link_to(branch[0],
16 <span class="branchtag">${h.link_to(branch[0],
17 h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
17 h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
18 </span>
18 </span>
19 </td>
19 </td>
20 <td><span class="tooltip" title="${h.age(branch[1].date)}">${branch[1].date}</span></td>
20 <td><span class="tooltip" title="${h.age(branch[1].date)}">${h.fmt_date(branch[1].date)}</span></td>
21 <td title="${branch[1].author}">${h.person(branch[1].author)}</td>
21 <td title="${branch[1].author}">${h.person(branch[1].author)}</td>
22 <td>
22 <td>
23 <div>
23 <div>
24 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id)}">r${branch[1].revision}:${h.short_id(branch[1].raw_id)}</a></pre>
24 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id)}">r${branch[1].revision}:${h.short_id(branch[1].raw_id)}</a></pre>
25 </div>
25 </div>
26 </td>
26 </td>
27 </tr>
27 </tr>
28 %endfor
28 %endfor
29 % if hasattr(c,'repo_closed_branches') and c.repo_closed_branches:
29 % if hasattr(c,'repo_closed_branches') and c.repo_closed_branches:
30 %for cnt,branch in enumerate(c.repo_closed_branches.items()):
30 %for cnt,branch in enumerate(c.repo_closed_branches.items()):
31 <tr class="parity${cnt%2}">
31 <tr class="parity${cnt%2}">
32 <td>
32 <td>
33 <span class="logtags">
33 <span class="logtags">
34 <span class="branchtag">${h.link_to(branch[0]+' [closed]',
34 <span class="branchtag">${h.link_to(branch[0]+' [closed]',
35 h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
35 h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
36 </span>
36 </span>
37 </td>
37 </td>
38 <td><span class="tooltip" title="${h.age(branch[1].date)}">${branch[1].date}</span></td>
38 <td><span class="tooltip" title="${h.age(branch[1].date)}">${h.fmt_date(branch[1].date)}</span></td>
39 <td title="${branch[1].author}">${h.person(branch[1].author)}</td>
39 <td title="${branch[1].author}">${h.person(branch[1].author)}</td>
40 <td>
40 <td>
41 <div>
41 <div>
42 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id)}">r${branch[1].revision}:${h.short_id(branch[1].raw_id)}</a></pre>
42 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id)}">r${branch[1].revision}:${h.short_id(branch[1].raw_id)}</a></pre>
43 </div>
43 </div>
44 </td>
44 </td>
45 </tr>
45 </tr>
46 %endfor
46 %endfor
47 %endif
47 %endif
48 </table>
48 </table>
49 </div>
49 </div>
50 %else:
50 %else:
51 ${_('There are no branches yet')}
51 ${_('There are no branches yet')}
52 %endif
52 %endif
@@ -1,239 +1,239 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3 <%inherit file="/base/base.html"/>
3 <%inherit file="/base/base.html"/>
4
4
5 <%def name="title()">
5 <%def name="title()">
6 ${c.repo_name} ${_('Changelog')} - ${c.rhodecode_name}
6 ${_('%s Changelog') % c.repo_name} - ${c.rhodecode_name}
7 </%def>
7 </%def>
8
8
9 <%def name="breadcrumbs_links()">
9 <%def name="breadcrumbs_links()">
10 ${h.link_to(u'Home',h.url('/'))}
10 ${h.link_to(u'Home',h.url('/'))}
11 &raquo;
11 &raquo;
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 &raquo;
13 &raquo;
14 <% size = c.size if c.size <= c.total_cs else c.total_cs %>
14 <% size = c.size if c.size <= c.total_cs else c.total_cs %>
15 ${_('Changelog')} - ${ungettext('showing %d out of %d revision', 'showing %d out of %d revisions', size) % (size, c.total_cs)}
15 ${_('Changelog')} - ${ungettext('showing %d out of %d revision', 'showing %d out of %d revisions', size) % (size, c.total_cs)}
16 </%def>
16 </%def>
17
17
18 <%def name="page_nav()">
18 <%def name="page_nav()">
19 ${self.menu('changelog')}
19 ${self.menu('changelog')}
20 </%def>
20 </%def>
21
21
22 <%def name="main()">
22 <%def name="main()">
23 <div class="box">
23 <div class="box">
24 <!-- box / title -->
24 <!-- box / title -->
25 <div class="title">
25 <div class="title">
26 ${self.breadcrumbs()}
26 ${self.breadcrumbs()}
27 </div>
27 </div>
28 <div class="table">
28 <div class="table">
29 % if c.pagination:
29 % if c.pagination:
30 <div id="graph">
30 <div id="graph">
31 <div id="graph_nodes">
31 <div id="graph_nodes">
32 <canvas id="graph_canvas"></canvas>
32 <canvas id="graph_canvas"></canvas>
33 </div>
33 </div>
34 <div id="graph_content">
34 <div id="graph_content">
35 <div class="container_header">
35 <div class="container_header">
36 ${h.form(h.url.current(),method='get')}
36 ${h.form(h.url.current(),method='get')}
37 <div class="info_box" style="float:left">
37 <div class="info_box" style="float:left">
38 ${h.submit('set',_('Show'),class_="ui-btn")}
38 ${h.submit('set',_('Show'),class_="ui-btn")}
39 ${h.text('size',size=1,value=c.size)}
39 ${h.text('size',size=1,value=c.size)}
40 ${_('revisions')}
40 ${_('revisions')}
41 </div>
41 </div>
42 ${h.end_form()}
42 ${h.end_form()}
43 <div id="rev_range_container" style="display:none"></div>
43 <div id="rev_range_container" style="display:none"></div>
44 <div style="float:right">${h.select('branch_filter',c.branch_name,c.branch_filters)}</div>
44 <div style="float:right">${h.select('branch_filter',c.branch_name,c.branch_filters)}</div>
45 </div>
45 </div>
46
46
47 %for cnt,cs in enumerate(c.pagination):
47 %for cnt,cs in enumerate(c.pagination):
48 <div id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
48 <div id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
49 <div class="left">
49 <div class="left">
50 <div>
50 <div>
51 ${h.checkbox(cs.short_id,class_="changeset_range")}
51 ${h.checkbox(cs.short_id,class_="changeset_range")}
52 <span class="tooltip" title="${h.age(cs.date)}"><a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id)}"><span class="changeset_id">${cs.revision}:<span class="changeset_hash">${h.short_id(cs.raw_id)}</span></span></a></span>
52 <span class="tooltip" title="${h.age(cs.date)}"><a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id)}"><span class="changeset_id">${cs.revision}:<span class="changeset_hash">${h.short_id(cs.raw_id)}</span></span></a></span>
53 </div>
53 </div>
54 <div class="author">
54 <div class="author">
55 <div class="gravatar">
55 <div class="gravatar">
56 <img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),16)}"/>
56 <img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),16)}"/>
57 </div>
57 </div>
58 <div title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</div>
58 <div title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</div>
59 </div>
59 </div>
60 <div class="date">${cs.date}</div>
60 <div class="date">${h.fmt_date(cs.date)}</div>
61 </div>
61 </div>
62 <div class="mid">
62 <div class="mid">
63 <div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
63 <div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
64 <div class="expand"><span class="expandtext">&darr; ${_('show more')} &darr;</span></div>
64 <div class="expand"><span class="expandtext">&darr; ${_('show more')} &darr;</span></div>
65 </div>
65 </div>
66 <div class="right">
66 <div class="right">
67 <div class="changes">
67 <div class="changes">
68 <div id="${cs.raw_id}" style="float:right;" class="changed_total tooltip" title="${_('Affected number of files, click to show more details')}">${len(cs.affected_files)}</div>
68 <div id="${cs.raw_id}" style="float:right;" class="changed_total tooltip" title="${_('Affected number of files, click to show more details')}">${len(cs.affected_files)}</div>
69 <div class="comments-container">
69 <div class="comments-container">
70 %if len(c.comments.get(cs.raw_id,[])) > 0:
70 %if len(c.comments.get(cs.raw_id,[])) > 0:
71 <div class="comments-cnt" title="${('comments')}">
71 <div class="comments-cnt" title="${('comments')}">
72 <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id,anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
72 <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id,anchor='comment-%s' % c.comments[cs.raw_id][0].comment_id)}">
73 <div class="comments-cnt">${len(c.comments[cs.raw_id])}</div>
73 <div class="comments-cnt">${len(c.comments[cs.raw_id])}</div>
74 <img src="${h.url('/images/icons/comments.png')}">
74 <img src="${h.url('/images/icons/comments.png')}">
75 </a>
75 </a>
76 </div>
76 </div>
77 %endif
77 %endif
78 </div>
78 </div>
79 </div>
79 </div>
80 %if cs.parents:
80 %if cs.parents:
81 %for p_cs in reversed(cs.parents):
81 %for p_cs in reversed(cs.parents):
82 <div class="parent">${_('Parent')}
82 <div class="parent">${_('Parent')}
83 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
83 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
84 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
84 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
85 </div>
85 </div>
86 %endfor
86 %endfor
87 %else:
87 %else:
88 <div class="parent">${_('No parents')}</div>
88 <div class="parent">${_('No parents')}</div>
89 %endif
89 %endif
90
90
91 <span class="logtags">
91 <span class="logtags">
92 %if len(cs.parents)>1:
92 %if len(cs.parents)>1:
93 <span class="merge">${_('merge')}</span>
93 <span class="merge">${_('merge')}</span>
94 %endif
94 %endif
95 %if cs.branch:
95 %if cs.branch:
96 <span class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
96 <span class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
97 ${h.link_to(h.shorter(cs.branch),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
97 ${h.link_to(h.shorter(cs.branch),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
98 </span>
98 </span>
99 %endif
99 %endif
100 %if h.is_hg(c.rhodecode_repo):
100 %if h.is_hg(c.rhodecode_repo):
101 %for book in cs.bookmarks:
101 %for book in cs.bookmarks:
102 <span class="bookbook" title="${'%s %s' % (_('bookmark'),book)}">
102 <span class="bookbook" title="${'%s %s' % (_('bookmark'),book)}">
103 ${h.link_to(h.shorter(book),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
103 ${h.link_to(h.shorter(book),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
104 </span>
104 </span>
105 %endfor
105 %endfor
106 %endif
106 %endif
107 %for tag in cs.tags:
107 %for tag in cs.tags:
108 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
108 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
109 ${h.link_to(h.shorter(tag),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
109 ${h.link_to(h.shorter(tag),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
110 %endfor
110 %endfor
111 </span>
111 </span>
112 </div>
112 </div>
113 </div>
113 </div>
114
114
115 %endfor
115 %endfor
116 <div class="pagination-wh pagination-left">
116 <div class="pagination-wh pagination-left">
117 ${c.pagination.pager('$link_previous ~2~ $link_next')}
117 ${c.pagination.pager('$link_previous ~2~ $link_next')}
118 </div>
118 </div>
119 </div>
119 </div>
120 </div>
120 </div>
121
121
122 <script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
122 <script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
123 <script type="text/javascript">
123 <script type="text/javascript">
124 YAHOO.util.Event.onDOMReady(function(){
124 YAHOO.util.Event.onDOMReady(function(){
125
125
126 //Monitor range checkboxes and build a link to changesets
126 //Monitor range checkboxes and build a link to changesets
127 //ranges
127 //ranges
128 var checkboxes = YUD.getElementsByClassName('changeset_range');
128 var checkboxes = YUD.getElementsByClassName('changeset_range');
129 var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
129 var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
130 YUE.on(checkboxes,'click',function(e){
130 YUE.on(checkboxes,'click',function(e){
131 var checked_checkboxes = [];
131 var checked_checkboxes = [];
132 for (pos in checkboxes){
132 for (pos in checkboxes){
133 if(checkboxes[pos].checked){
133 if(checkboxes[pos].checked){
134 checked_checkboxes.push(checkboxes[pos]);
134 checked_checkboxes.push(checkboxes[pos]);
135 }
135 }
136 }
136 }
137 if(checked_checkboxes.length>1){
137 if(checked_checkboxes.length>1){
138 var rev_end = checked_checkboxes[0].name;
138 var rev_end = checked_checkboxes[0].name;
139 var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
139 var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
140
140
141 var url = url_tmpl.replace('__REVRANGE__',
141 var url = url_tmpl.replace('__REVRANGE__',
142 rev_start+'...'+rev_end);
142 rev_start+'...'+rev_end);
143
143
144 var link = "<a href="+url+">${_('Show selected changes __S -> __E')}</a>"
144 var link = "<a href="+url+">${_('Show selected changes __S -> __E')}</a>"
145 link = link.replace('__S',rev_start);
145 link = link.replace('__S',rev_start);
146 link = link.replace('__E',rev_end);
146 link = link.replace('__E',rev_end);
147 YUD.get('rev_range_container').innerHTML = link;
147 YUD.get('rev_range_container').innerHTML = link;
148 YUD.setStyle('rev_range_container','display','');
148 YUD.setStyle('rev_range_container','display','');
149 }
149 }
150 else{
150 else{
151 YUD.setStyle('rev_range_container','display','none');
151 YUD.setStyle('rev_range_container','display','none');
152
152
153 }
153 }
154 });
154 });
155
155
156 var msgs = YUQ('.message');
156 var msgs = YUQ('.message');
157 // get first element height
157 // get first element height
158 var el = YUQ('#graph_content .container')[0];
158 var el = YUQ('#graph_content .container')[0];
159 var row_h = el.clientHeight;
159 var row_h = el.clientHeight;
160 for(var i=0;i<msgs.length;i++){
160 for(var i=0;i<msgs.length;i++){
161 var m = msgs[i];
161 var m = msgs[i];
162
162
163 var h = m.clientHeight;
163 var h = m.clientHeight;
164 var pad = YUD.getStyle(m,'padding');
164 var pad = YUD.getStyle(m,'padding');
165 if(h > row_h){
165 if(h > row_h){
166 var offset = row_h - (h+12);
166 var offset = row_h - (h+12);
167 YUD.setStyle(m.nextElementSibling,'display','block');
167 YUD.setStyle(m.nextElementSibling,'display','block');
168 YUD.setStyle(m.nextElementSibling,'margin-top',offset+'px');
168 YUD.setStyle(m.nextElementSibling,'margin-top',offset+'px');
169 };
169 };
170 }
170 }
171 YUE.on(YUQ('.expand'),'click',function(e){
171 YUE.on(YUQ('.expand'),'click',function(e){
172 var elem = e.currentTarget.parentNode.parentNode;
172 var elem = e.currentTarget.parentNode.parentNode;
173 YUD.setStyle(e.currentTarget,'display','none');
173 YUD.setStyle(e.currentTarget,'display','none');
174 YUD.setStyle(elem,'height','auto');
174 YUD.setStyle(elem,'height','auto');
175
175
176 //redraw the graph, max_w and jsdata are global vars
176 //redraw the graph, max_w and jsdata are global vars
177 set_canvas(max_w);
177 set_canvas(max_w);
178
178
179 var r = new BranchRenderer();
179 var r = new BranchRenderer();
180 r.render(jsdata,max_w);
180 r.render(jsdata,max_w);
181
181
182 })
182 })
183
183
184 // Fetch changeset details
184 // Fetch changeset details
185 YUE.on(YUD.getElementsByClassName('changed_total'),'click',function(e){
185 YUE.on(YUD.getElementsByClassName('changed_total'),'click',function(e){
186 var id = e.currentTarget.id
186 var id = e.currentTarget.id
187 var url = "${h.url('changelog_details',repo_name=c.repo_name,cs='__CS__')}"
187 var url = "${h.url('changelog_details',repo_name=c.repo_name,cs='__CS__')}"
188 var url = url.replace('__CS__',id);
188 var url = url.replace('__CS__',id);
189 ypjax(url,id,function(){tooltip_activate()});
189 ypjax(url,id,function(){tooltip_activate()});
190 });
190 });
191
191
192 // change branch filter
192 // change branch filter
193 YUE.on(YUD.get('branch_filter'),'change',function(e){
193 YUE.on(YUD.get('branch_filter'),'change',function(e){
194 var selected_branch = e.currentTarget.options[e.currentTarget.selectedIndex].value;
194 var selected_branch = e.currentTarget.options[e.currentTarget.selectedIndex].value;
195 var url_main = "${h.url('changelog_home',repo_name=c.repo_name)}";
195 var url_main = "${h.url('changelog_home',repo_name=c.repo_name)}";
196 var url = "${h.url('changelog_home',repo_name=c.repo_name,branch='__BRANCH__')}";
196 var url = "${h.url('changelog_home',repo_name=c.repo_name,branch='__BRANCH__')}";
197 var url = url.replace('__BRANCH__',selected_branch);
197 var url = url.replace('__BRANCH__',selected_branch);
198 if(selected_branch != ''){
198 if(selected_branch != ''){
199 window.location = url;
199 window.location = url;
200 }else{
200 }else{
201 window.location = url_main;
201 window.location = url_main;
202 }
202 }
203
203
204 });
204 });
205
205
206 function set_canvas(heads) {
206 function set_canvas(heads) {
207 var c = document.getElementById('graph_nodes');
207 var c = document.getElementById('graph_nodes');
208 var t = document.getElementById('graph_content');
208 var t = document.getElementById('graph_content');
209 canvas = document.getElementById('graph_canvas');
209 canvas = document.getElementById('graph_canvas');
210 var div_h = t.clientHeight;
210 var div_h = t.clientHeight;
211 c.style.height=div_h+'px';
211 c.style.height=div_h+'px';
212 canvas.setAttribute('height',div_h);
212 canvas.setAttribute('height',div_h);
213 c.style.height=max_w+'px';
213 c.style.height=max_w+'px';
214 canvas.setAttribute('width',max_w);
214 canvas.setAttribute('width',max_w);
215 };
215 };
216 var heads = 1;
216 var heads = 1;
217 var max_heads = 0;
217 var max_heads = 0;
218 var jsdata = ${c.jsdata|n};
218 var jsdata = ${c.jsdata|n};
219
219
220 for( var i=0;i<jsdata.length;i++){
220 for( var i=0;i<jsdata.length;i++){
221 var m = Math.max.apply(Math, jsdata[i][1]);
221 var m = Math.max.apply(Math, jsdata[i][1]);
222 if (m>max_heads){
222 if (m>max_heads){
223 max_heads = m;
223 max_heads = m;
224 }
224 }
225 }
225 }
226 var max_w = Math.max(100,max_heads*25);
226 var max_w = Math.max(100,max_heads*25);
227 set_canvas(max_w);
227 set_canvas(max_w);
228
228
229 var r = new BranchRenderer();
229 var r = new BranchRenderer();
230 r.render(jsdata,max_w);
230 r.render(jsdata,max_w);
231
231
232 });
232 });
233 </script>
233 </script>
234 %else:
234 %else:
235 ${_('There are no changes yet')}
235 ${_('There are no changes yet')}
236 %endif
236 %endif
237 </div>
237 </div>
238 </div>
238 </div>
239 </%def>
239 </%def>
@@ -1,167 +1,167 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3 <%inherit file="/base/base.html"/>
3 <%inherit file="/base/base.html"/>
4
4
5 <%def name="title()">
5 <%def name="title()">
6 ${c.repo_name} ${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)} - ${c.rhodecode_name}
6 ${_('%s Changeset') % c.repo_name} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)} - ${c.rhodecode_name}
7 </%def>
7 </%def>
8
8
9 <%def name="breadcrumbs_links()">
9 <%def name="breadcrumbs_links()">
10 ${h.link_to(u'Home',h.url('/'))}
10 ${h.link_to(u'Home',h.url('/'))}
11 &raquo;
11 &raquo;
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 &raquo;
13 &raquo;
14 ${_('Changeset')} - <span class='hash'>r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}</span>
14 ${_('Changeset')} - <span class='hash'>r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}</span>
15 </%def>
15 </%def>
16
16
17 <%def name="page_nav()">
17 <%def name="page_nav()">
18 ${self.menu('changelog')}
18 ${self.menu('changelog')}
19 </%def>
19 </%def>
20
20
21 <%def name="main()">
21 <%def name="main()">
22 <div class="box">
22 <div class="box">
23 <!-- box / title -->
23 <!-- box / title -->
24 <div class="title">
24 <div class="title">
25 ${self.breadcrumbs()}
25 ${self.breadcrumbs()}
26 </div>
26 </div>
27 <div class="table">
27 <div class="table">
28 <div class="diffblock">
28 <div class="diffblock">
29 <div class="code-header">
29 <div class="code-header">
30 <div class="hash">
30 <div class="hash">
31 r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
31 r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
32 </div>
32 </div>
33 <div class="date">
33 <div class="date">
34 ${c.changeset.date}
34 ${h.fmt_date(c.changeset.date)}
35 </div>
35 </div>
36 <div class="diff-actions">
36 <div class="diff-actions">
37 <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show')}" title="${_('raw diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
37 <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show')}" title="${_('raw diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
38 <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}" title="${_('download diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a>
38 <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}" title="${_('download diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a>
39 ${c.ignorews_url(request.GET)}
39 ${c.ignorews_url(request.GET)}
40 ${c.context_url(request.GET)}
40 ${c.context_url(request.GET)}
41 </div>
41 </div>
42 <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>
42 <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>
43 </div>
43 </div>
44 </div>
44 </div>
45 <div id="changeset_content">
45 <div id="changeset_content">
46 <div class="container">
46 <div class="container">
47 <div class="left">
47 <div class="left">
48 <div class="author">
48 <div class="author">
49 <div class="gravatar">
49 <div class="gravatar">
50 <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),20)}"/>
50 <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),20)}"/>
51 </div>
51 </div>
52 <span>${h.person(c.changeset.author)}</span><br/>
52 <span>${h.person(c.changeset.author)}</span><br/>
53 <span><a href="mailto:${h.email_or_none(c.changeset.author)}">${h.email_or_none(c.changeset.author)}</a></span><br/>
53 <span><a href="mailto:${h.email_or_none(c.changeset.author)}">${h.email_or_none(c.changeset.author)}</a></span><br/>
54 </div>
54 </div>
55 <div class="message">${h.urlify_commit(h.wrap_paragraphs(c.changeset.message),c.repo_name)}</div>
55 <div class="message">${h.urlify_commit(h.wrap_paragraphs(c.changeset.message),c.repo_name)}</div>
56 </div>
56 </div>
57 <div class="right">
57 <div class="right">
58 <div class="changes">
58 <div class="changes">
59 % if len(c.changeset.affected_files) <= c.affected_files_cut_off:
59 % if len(c.changeset.affected_files) <= c.affected_files_cut_off:
60 <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span>
60 <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span>
61 <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span>
61 <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span>
62 <span class="added" title="${_('added')}">${len(c.changeset.added)}</span>
62 <span class="added" title="${_('added')}">${len(c.changeset.added)}</span>
63 % else:
63 % else:
64 <span class="removed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
64 <span class="removed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
65 <span class="changed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
65 <span class="changed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
66 <span class="added" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
66 <span class="added" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
67 % endif
67 % endif
68 </div>
68 </div>
69
69
70 %if c.changeset.parents:
70 %if c.changeset.parents:
71 %for p_cs in reversed(c.changeset.parents):
71 %for p_cs in reversed(c.changeset.parents):
72 <div class="parent">${_('Parent')}
72 <div class="parent">${_('Parent')}
73 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
73 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
74 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
74 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
75 </div>
75 </div>
76 %endfor
76 %endfor
77 %else:
77 %else:
78 <div class="parent">${_('No parents')}</div>
78 <div class="parent">${_('No parents')}</div>
79 %endif
79 %endif
80 <span class="logtags">
80 <span class="logtags">
81 %if len(c.changeset.parents)>1:
81 %if len(c.changeset.parents)>1:
82 <span class="merge">${_('merge')}</span>
82 <span class="merge">${_('merge')}</span>
83 %endif
83 %endif
84 %if c.changeset.branch:
84 %if c.changeset.branch:
85 <span class="branchtag" title="${'%s %s' % (_('branch'),c.changeset.branch)}">
85 <span class="branchtag" title="${'%s %s' % (_('branch'),c.changeset.branch)}">
86 ${h.link_to(c.changeset.branch,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}
86 ${h.link_to(c.changeset.branch,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}
87 </span>
87 </span>
88 %endif
88 %endif
89 %for tag in c.changeset.tags:
89 %for tag in c.changeset.tags:
90 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
90 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
91 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
91 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
92 %endfor
92 %endfor
93 </span>
93 </span>
94 </div>
94 </div>
95 </div>
95 </div>
96 <span>
96 <span>
97 ${_('%s files affected with %s insertions and %s deletions:') % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)}
97 ${_('%s files affected with %s insertions and %s deletions:') % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)}
98 </span>
98 </span>
99 <div class="cs_files">
99 <div class="cs_files">
100 %for change,filenode,diff,cs1,cs2,stat in c.changes:
100 %for change,filenode,diff,cs1,cs2,stat in c.changes:
101 <div class="cs_${change}">
101 <div class="cs_${change}">
102 <div class="node">
102 <div class="node">
103 %if change != 'removed':
103 %if change != 'removed':
104 ${h.link_to(h.safe_unicode(filenode.path),c.anchor_url(filenode.changeset.raw_id,filenode.path,request.GET)+"_target")}
104 ${h.link_to(h.safe_unicode(filenode.path),c.anchor_url(filenode.changeset.raw_id,filenode.path,request.GET)+"_target")}
105 %else:
105 %else:
106 ${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID('',filenode.path)))}
106 ${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID('',filenode.path)))}
107 %endif
107 %endif
108 </div>
108 </div>
109 <div class="changes">${h.fancy_file_stats(stat)}</div>
109 <div class="changes">${h.fancy_file_stats(stat)}</div>
110 </div>
110 </div>
111 %endfor
111 %endfor
112 % if c.cut_off:
112 % if c.cut_off:
113 ${_('Changeset was too big and was cut off...')}
113 ${_('Changeset was too big and was cut off...')}
114 % endif
114 % endif
115 </div>
115 </div>
116 </div>
116 </div>
117
117
118 </div>
118 </div>
119 <script>
119 <script>
120 var _USERS_AC_DATA = ${c.users_array|n};
120 var _USERS_AC_DATA = ${c.users_array|n};
121 var _GROUPS_AC_DATA = ${c.users_groups_array|n};
121 var _GROUPS_AC_DATA = ${c.users_groups_array|n};
122 </script>
122 </script>
123 ## diff block
123 ## diff block
124 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
124 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
125 ${diff_block.diff_block(c.changes)}
125 ${diff_block.diff_block(c.changes)}
126
126
127 ## template for inline comment form
127 ## template for inline comment form
128 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
128 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
129 ${comment.comment_inline_form(c.changeset)}
129 ${comment.comment_inline_form(c.changeset)}
130
130
131 ## render comments
131 ## render comments
132 ${comment.comments(c.changeset)}
132 ${comment.comments(c.changeset)}
133 <script type="text/javascript">
133 <script type="text/javascript">
134 YUE.onDOMReady(function(){
134 YUE.onDOMReady(function(){
135 AJAX_COMMENT_URL = "${url('changeset_comment',repo_name=c.repo_name,revision=c.changeset.raw_id)}";
135 AJAX_COMMENT_URL = "${url('changeset_comment',repo_name=c.repo_name,revision=c.changeset.raw_id)}";
136 AJAX_COMMENT_DELETE_URL = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"
136 AJAX_COMMENT_DELETE_URL = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"
137 YUE.on(YUQ('.show-inline-comments'),'change',function(e){
137 YUE.on(YUQ('.show-inline-comments'),'change',function(e){
138 var show = 'none';
138 var show = 'none';
139 var target = e.currentTarget;
139 var target = e.currentTarget;
140 if(target.checked){
140 if(target.checked){
141 var show = ''
141 var show = ''
142 }
142 }
143 var boxid = YUD.getAttribute(target,'id_for');
143 var boxid = YUD.getAttribute(target,'id_for');
144 var comments = YUQ('#{0} .inline-comments'.format(boxid));
144 var comments = YUQ('#{0} .inline-comments'.format(boxid));
145 for(c in comments){
145 for(c in comments){
146 YUD.setStyle(comments[c],'display',show);
146 YUD.setStyle(comments[c],'display',show);
147 }
147 }
148 var btns = YUQ('#{0} .inline-comments-button'.format(boxid));
148 var btns = YUQ('#{0} .inline-comments-button'.format(boxid));
149 for(c in btns){
149 for(c in btns){
150 YUD.setStyle(btns[c],'display',show);
150 YUD.setStyle(btns[c],'display',show);
151 }
151 }
152 })
152 })
153
153
154 YUE.on(YUQ('.line'),'click',function(e){
154 YUE.on(YUQ('.line'),'click',function(e){
155 var tr = e.currentTarget;
155 var tr = e.currentTarget;
156 injectInlineForm(tr);
156 injectInlineForm(tr);
157 });
157 });
158
158
159 // inject comments into they proper positions
159 // inject comments into they proper positions
160 var file_comments = YUQ('.inline-comment-placeholder');
160 var file_comments = YUQ('.inline-comment-placeholder');
161 renderInlineComments(file_comments);
161 renderInlineComments(file_comments);
162 })
162 })
163
163
164 </script>
164 </script>
165
165
166 </div>
166 </div>
167 </%def>
167 </%def>
@@ -1,89 +1,89 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)} - ${c.rhodecode_name}
5 ${_('%s Changesets') % c.repo_name} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 &raquo;
12 &raquo;
13 ${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)}
13 ${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)}
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('changelog')}
17 ${self.menu('changelog')}
18 </%def>
18 </%def>
19
19
20 <%def name="main()">
20 <%def name="main()">
21 <div class="box">
21 <div class="box">
22 <!-- box / title -->
22 <!-- box / title -->
23 <div class="title">
23 <div class="title">
24 ${self.breadcrumbs()}
24 ${self.breadcrumbs()}
25 </div>
25 </div>
26 <div class="table">
26 <div class="table">
27 <div id="body" class="diffblock">
27 <div id="body" class="diffblock">
28 <div class="code-header cv">
28 <div class="code-header cv">
29 <h3 class="code-header-title">${_('Compare View')}</h3>
29 <h3 class="code-header-title">${_('Compare View')}</h3>
30 <div>
30 <div>
31 ${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)}
31 ${_('Changesets')} - r${c.cs_ranges[0].revision}:${h.short_id(c.cs_ranges[0].raw_id)} -> r${c.cs_ranges[-1].revision}:${h.short_id(c.cs_ranges[-1].raw_id)}
32 </div>
32 </div>
33 </div>
33 </div>
34 </div>
34 </div>
35 <div id="changeset_compare_view_content">
35 <div id="changeset_compare_view_content">
36 <div class="container">
36 <div class="container">
37 <table class="compare_view_commits noborder">
37 <table class="compare_view_commits noborder">
38 %for cs in c.cs_ranges:
38 %for cs in c.cs_ranges:
39 <tr>
39 <tr>
40 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
40 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
41 <td>${h.link_to('r%s:%s' % (cs.revision,h.short_id(cs.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</td>
41 <td>${h.link_to('r%s:%s' % (cs.revision,h.short_id(cs.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</td>
42 <td><div class="author">${h.person(cs.author)}</div></td>
42 <td><div class="author">${h.person(cs.author)}</div></td>
43 <td><span class="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td>
43 <td><span class="tooltip" title="${h.age(cs.date)}">${h.fmt_date(cs.date)}</span></td>
44 <td><div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name)}</div></td>
44 <td><div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name)}</div></td>
45 </tr>
45 </tr>
46 %endfor
46 %endfor
47 </table>
47 </table>
48 </div>
48 </div>
49 <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
49 <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
50 <div class="cs_files">
50 <div class="cs_files">
51 %for cs in c.cs_ranges:
51 %for cs in c.cs_ranges:
52 <div class="cur_cs">r${cs}</div>
52 <div class="cur_cs">r${cs}</div>
53 %for change,filenode,diff,cs1,cs2,st in c.changes[cs.raw_id]:
53 %for change,filenode,diff,cs1,cs2,st in c.changes[cs.raw_id]:
54 <div class="cs_${change}">${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID(cs.raw_id,filenode.path)))}</div>
54 <div class="cs_${change}">${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID(cs.raw_id,filenode.path)))}</div>
55 %endfor
55 %endfor
56 %endfor
56 %endfor
57 </div>
57 </div>
58 </div>
58 </div>
59
59
60 </div>
60 </div>
61 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
61 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
62 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
62 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
63 %for cs in c.cs_ranges:
63 %for cs in c.cs_ranges:
64 ##${comment.comment_inline_form(cs)}
64 ##${comment.comment_inline_form(cs)}
65 ## diff block
65 ## diff block
66 <h3 style="border:none;padding-top:8px;">${'r%s:%s' % (cs.revision,h.short_id(cs.raw_id))}</h3>
66 <h3 style="border:none;padding-top:8px;">${'r%s:%s' % (cs.revision,h.short_id(cs.raw_id))}</h3>
67 ${diff_block.diff_block(c.changes[cs.raw_id])}
67 ${diff_block.diff_block(c.changes[cs.raw_id])}
68 ##${comment.comments(cs)}
68 ##${comment.comments(cs)}
69
69
70 %endfor
70 %endfor
71 <script type="text/javascript">
71 <script type="text/javascript">
72
72
73 YUE.onDOMReady(function(){
73 YUE.onDOMReady(function(){
74
74
75 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
75 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
76 var act = e.currentTarget.nextElementSibling;
76 var act = e.currentTarget.nextElementSibling;
77
77
78 if(YUD.hasClass(act,'active')){
78 if(YUD.hasClass(act,'active')){
79 YUD.removeClass(act,'active');
79 YUD.removeClass(act,'active');
80 YUD.setStyle(act,'display','none');
80 YUD.setStyle(act,'display','none');
81 }else{
81 }else{
82 YUD.addClass(act,'active');
82 YUD.addClass(act,'active');
83 YUD.setStyle(act,'display','');
83 YUD.setStyle(act,'display','');
84 }
84 }
85 });
85 });
86 })
86 })
87 </script>
87 </script>
88 </div>
88 </div>
89 </%def>
89 </%def>
@@ -1,47 +1,47 b''
1 <%inherit file="/base/base.html"/>
1 <%inherit file="/base/base.html"/>
2
2
3 <%def name="title()">
3 <%def name="title()">
4 ${c.repo_name} ${_('File diff')} - ${c.rhodecode_name}
4 ${_('%s File diff') % c.repo_name} - ${c.rhodecode_name}
5 </%def>
5 </%def>
6
6
7 <%def name="breadcrumbs_links()">
7 <%def name="breadcrumbs_links()">
8 ${h.link_to(u'Home',h.url('/'))}
8 ${h.link_to(u'Home',h.url('/'))}
9 &raquo;
9 &raquo;
10 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
10 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 &raquo;
11 &raquo;
12 ${_('File diff')} r${c.changeset_1.revision}:${h.short_id(c.changeset_1.raw_id)} &rarr; r${c.changeset_2.revision}:${h.short_id(c.changeset_2.raw_id)}
12 ${_('File diff')} r${c.changeset_1.revision}:${h.short_id(c.changeset_1.raw_id)} &rarr; r${c.changeset_2.revision}:${h.short_id(c.changeset_2.raw_id)}
13 </%def>
13 </%def>
14
14
15 <%def name="page_nav()">
15 <%def name="page_nav()">
16 ${self.menu('files')}
16 ${self.menu('files')}
17 </%def>
17 </%def>
18 <%def name="main()">
18 <%def name="main()">
19 <div class="box">
19 <div class="box">
20 <!-- box / title -->
20 <!-- box / title -->
21 <div class="title">
21 <div class="title">
22 ${self.breadcrumbs()}
22 ${self.breadcrumbs()}
23 </div>
23 </div>
24 <div>
24 <div>
25 ## diff block
25 ## diff block
26 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
26 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
27 ${diff_block.diff_block(c.changes)}
27 ${diff_block.diff_block(c.changes)}
28 </div>
28 </div>
29 </div>
29 </div>
30 <script>
30 <script>
31 YUE.onDOMReady(function(){
31 YUE.onDOMReady(function(){
32
32
33 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
33 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
34 var act = e.currentTarget.nextElementSibling;
34 var act = e.currentTarget.nextElementSibling;
35
35
36 if(YUD.hasClass(act,'active')){
36 if(YUD.hasClass(act,'active')){
37 YUD.removeClass(act,'active');
37 YUD.removeClass(act,'active');
38 YUD.setStyle(act,'display','none');
38 YUD.setStyle(act,'display','none');
39 }else{
39 }else{
40 YUD.addClass(act,'active');
40 YUD.addClass(act,'active');
41 YUD.setStyle(act,'display','');
41 YUD.setStyle(act,'display','');
42 }
42 }
43 });
43 });
44
44
45 })
45 })
46 </script>
46 </script>
47 </%def>
47 </%def>
@@ -1,48 +1,48 b''
1 <%inherit file="/base/base.html"/>
1 <%inherit file="/base/base.html"/>
2
2
3 <%def name="title()">
3 <%def name="title()">
4 ${c.repo_name} ${_('Files')} - ${c.rhodecode_name}
4 ${_('%s Files') % c.repo_name} - ${c.rhodecode_name}
5 </%def>
5 </%def>
6
6
7 <%def name="breadcrumbs_links()">
7 <%def name="breadcrumbs_links()">
8 ${h.link_to(u'Home',h.url('/'))}
8 ${h.link_to(u'Home',h.url('/'))}
9 &raquo;
9 &raquo;
10 ${h.link_to(c.repo_name,h.url('files_home',repo_name=c.repo_name))}
10 ${h.link_to(c.repo_name,h.url('files_home',repo_name=c.repo_name))}
11 &raquo;
11 &raquo;
12 ${_('files')}
12 ${_('files')}
13 %if c.file:
13 %if c.file:
14 @ r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
14 @ r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
15 %endif
15 %endif
16 </%def>
16 </%def>
17
17
18 <%def name="page_nav()">
18 <%def name="page_nav()">
19 ${self.menu('files')}
19 ${self.menu('files')}
20 </%def>
20 </%def>
21
21
22 <%def name="main()">
22 <%def name="main()">
23 <div class="box">
23 <div class="box">
24 <!-- box / title -->
24 <!-- box / title -->
25 <div class="title">
25 <div class="title">
26 ${self.breadcrumbs()}
26 ${self.breadcrumbs()}
27 <ul class="links">
27 <ul class="links">
28 <li>
28 <li>
29 <span style="text-transform: uppercase;"><a href="#">${_('branch')}: ${c.changeset.branch}</a></span>
29 <span style="text-transform: uppercase;"><a href="#">${_('branch')}: ${c.changeset.branch}</a></span>
30 </li>
30 </li>
31 </ul>
31 </ul>
32 </div>
32 </div>
33 <div class="table">
33 <div class="table">
34 <div id="files_data">
34 <div id="files_data">
35 <%include file='files_ypjax.html'/>
35 <%include file='files_ypjax.html'/>
36 </div>
36 </div>
37 </div>
37 </div>
38 </div>
38 </div>
39 <script type="text/javascript">
39 <script type="text/javascript">
40 var YPJAX_TITLE = "${c.repo_name} ${_('Files')} - ${c.rhodecode_name}";
40 var YPJAX_TITLE = "${c.repo_name} ${_('Files')} - ${c.rhodecode_name}";
41 var current_url = "${h.url.current()}";
41 var current_url = "${h.url.current()}";
42 var node_list_url = '${h.url("files_home",repo_name=c.repo_name,revision=c.changeset.raw_id,f_path='__FPATH__')}';
42 var node_list_url = '${h.url("files_home",repo_name=c.repo_name,revision=c.changeset.raw_id,f_path='__FPATH__')}';
43 var url_base = '${h.url("files_nodelist_home",repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.file.path)}';
43 var url_base = '${h.url("files_nodelist_home",repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.file.path)}';
44 var truncated_lbl = "${_('search truncated')}";
44 var truncated_lbl = "${_('search truncated')}";
45 var nomatch_lbl = "${_('no matching files')}";
45 var nomatch_lbl = "${_('no matching files')}";
46 fileBrowserListeners(current_url, node_list_url, url_base, truncated_lbl, nomatch_lbl);
46 fileBrowserListeners(current_url, node_list_url, url_base, truncated_lbl, nomatch_lbl);
47 </script>
47 </script>
48 </%def>
48 </%def>
@@ -1,92 +1,92 b''
1 <%inherit file="/base/base.html"/>
1 <%inherit file="/base/base.html"/>
2
2
3 <%def name="title()">
3 <%def name="title()">
4 ${c.repo_name} ${_('Edit file')} - ${c.rhodecode_name}
4 ${_('%s Edit file') % c.repo_name} - ${c.rhodecode_name}
5 </%def>
5 </%def>
6
6
7 <%def name="js_extra()">
7 <%def name="js_extra()">
8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script>
8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script>
9 </%def>
9 </%def>
10 <%def name="css_extra()">
10 <%def name="css_extra()">
11 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/>
11 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/>
12 </%def>
12 </%def>
13
13
14 <%def name="breadcrumbs_links()">
14 <%def name="breadcrumbs_links()">
15 ${h.link_to(u'Home',h.url('/'))}
15 ${h.link_to(u'Home',h.url('/'))}
16 &raquo;
16 &raquo;
17 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
17 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
18 &raquo;
18 &raquo;
19 ${_('add file')} @ R${c.cs.revision}:${h.short_id(c.cs.raw_id)}
19 ${_('add file')} @ R${c.cs.revision}:${h.short_id(c.cs.raw_id)}
20 </%def>
20 </%def>
21
21
22 <%def name="page_nav()">
22 <%def name="page_nav()">
23 ${self.menu('files')}
23 ${self.menu('files')}
24 </%def>
24 </%def>
25 <%def name="main()">
25 <%def name="main()">
26 <div class="box">
26 <div class="box">
27 <!-- box / title -->
27 <!-- box / title -->
28 <div class="title">
28 <div class="title">
29 ${self.breadcrumbs()}
29 ${self.breadcrumbs()}
30 <ul class="links">
30 <ul class="links">
31 <li>
31 <li>
32 <span style="text-transform: uppercase;">
32 <span style="text-transform: uppercase;">
33 <a href="#">${_('branch')}: ${c.cs.branch}</a></span>
33 <a href="#">${_('branch')}: ${c.cs.branch}</a></span>
34 </li>
34 </li>
35 </ul>
35 </ul>
36 </div>
36 </div>
37 <div class="table">
37 <div class="table">
38 <div id="files_data">
38 <div id="files_data">
39 ${h.form(h.url.current(),method='post',id='eform',enctype="multipart/form-data")}
39 ${h.form(h.url.current(),method='post',id='eform',enctype="multipart/form-data")}
40 <h3>${_('Add new file')}</h3>
40 <h3>${_('Add new file')}</h3>
41 <div class="form">
41 <div class="form">
42 <div class="fields">
42 <div class="fields">
43 <div id="filename_container" class="field file">
43 <div id="filename_container" class="field file">
44 <div class="label">
44 <div class="label">
45 <label for="filename">${_('File Name')}:</label>
45 <label for="filename">${_('File Name')}:</label>
46 </div>
46 </div>
47 <div class="input">
47 <div class="input">
48 <input type="text" value="" size="30" name="filename" id="filename">
48 <input type="text" value="" size="30" name="filename" id="filename">
49 ${_('or')} <span class="ui-btn" id="upload_file_enable">${_('Upload file')}</span>
49 ${_('or')} <span class="ui-btn" id="upload_file_enable">${_('Upload file')}</span>
50 </div>
50 </div>
51 </div>
51 </div>
52 <div id="upload_file_container" class="field" style="display:none">
52 <div id="upload_file_container" class="field" style="display:none">
53 <div class="label">
53 <div class="label">
54 <label for="location">${_('Upload file')}</label>
54 <label for="location">${_('Upload file')}</label>
55 </div>
55 </div>
56 <div class="file">
56 <div class="file">
57 <input type="file" size="30" name="upload_file" id="upload_file">
57 <input type="file" size="30" name="upload_file" id="upload_file">
58 ${_('or')} <span class="ui-btn" id="file_enable">${_('Create new file')}</span>
58 ${_('or')} <span class="ui-btn" id="file_enable">${_('Create new file')}</span>
59 </div>
59 </div>
60 </div>
60 </div>
61 <div class="field">
61 <div class="field">
62 <div class="label">
62 <div class="label">
63 <label for="location">${_('Location')}</label>
63 <label for="location">${_('Location')}</label>
64 </div>
64 </div>
65 <div class="input">
65 <div class="input">
66 <input type="text" value="${c.f_path}" size="30" name="location" id="location">
66 <input type="text" value="${c.f_path}" size="30" name="location" id="location">
67 ${_('use / to separate directories')}
67 ${_('use / to separate directories')}
68 </div>
68 </div>
69 </div>
69 </div>
70 </div>
70 </div>
71 </div>
71 </div>
72 <div id="body" class="codeblock">
72 <div id="body" class="codeblock">
73 <div id="editor_container">
73 <div id="editor_container">
74 <pre id="editor_pre"></pre>
74 <pre id="editor_pre"></pre>
75 <textarea id="editor" name="content" style="display:none"></textarea>
75 <textarea id="editor" name="content" style="display:none"></textarea>
76 </div>
76 </div>
77 <div style="padding: 10px;color:#666666">${_('commit message')}</div>
77 <div style="padding: 10px;color:#666666">${_('commit message')}</div>
78 <textarea id="commit" name="message" style="height: 100px;width: 99%;margin-left:4px"></textarea>
78 <textarea id="commit" name="message" style="height: 100px;width: 99%;margin-left:4px"></textarea>
79 </div>
79 </div>
80 <div style="text-align: l;padding-top: 5px">
80 <div style="text-align: l;padding-top: 5px">
81 ${h.submit('commit',_('Commit changes'),class_="ui-btn")}
81 ${h.submit('commit',_('Commit changes'),class_="ui-btn")}
82 ${h.reset('reset',_('Reset'),class_="ui-btn")}
82 ${h.reset('reset',_('Reset'),class_="ui-btn")}
83 </div>
83 </div>
84 ${h.end_form()}
84 ${h.end_form()}
85 <script type="text/javascript">
85 <script type="text/javascript">
86 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path)}";
86 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path)}";
87 initCodeMirror('editor',reset_url);
87 initCodeMirror('editor',reset_url);
88 </script>
88 </script>
89 </div>
89 </div>
90 </div>
90 </div>
91 </div>
91 </div>
92 </%def>
92 </%def>
@@ -1,116 +1,116 b''
1 <%def name="file_class(node)">
1 <%def name="file_class(node)">
2 %if node.is_file():
2 %if node.is_file():
3 <%return "browser-file" %>
3 <%return "browser-file" %>
4 %else:
4 %else:
5 <%return "browser-dir"%>
5 <%return "browser-dir"%>
6 %endif
6 %endif
7 </%def>
7 </%def>
8 <div id="body" class="browserblock">
8 <div id="body" class="browserblock">
9 <div class="browser-header">
9 <div class="browser-header">
10 <div class="browser-nav">
10 <div class="browser-nav">
11 ${h.form(h.url.current())}
11 ${h.form(h.url.current())}
12 <div class="info_box">
12 <div class="info_box">
13 <span class="rev">${_('view')}@rev</span>
13 <span class="rev">${_('view')}@rev</span>
14 <a class="ui-btn" href="${c.url_prev}" title="${_('previous revision')}">&laquo;</a>
14 <a class="ui-btn" href="${c.url_prev}" title="${_('previous revision')}">&laquo;</a>
15 ${h.text('at_rev',value=c.changeset.revision,size=5)}
15 ${h.text('at_rev',value=c.changeset.revision,size=5)}
16 <a class="ui-btn" href="${c.url_next}" title="${_('next revision')}">&raquo;</a>
16 <a class="ui-btn" href="${c.url_next}" title="${_('next revision')}">&raquo;</a>
17 ## ${h.submit('view',_('view'),class_="ui-btn")}
17 ## ${h.submit('view',_('view'),class_="ui-btn")}
18 </div>
18 </div>
19 ${h.end_form()}
19 ${h.end_form()}
20 </div>
20 </div>
21 <div class="browser-branch">
21 <div class="browser-branch">
22 ${h.checkbox('stay_at_branch',c.changeset.branch,c.changeset.branch==c.branch)}
22 ${h.checkbox('stay_at_branch',c.changeset.branch,c.changeset.branch==c.branch)}
23 <label>${_('follow current branch')}</label>
23 <label>${_('follow current branch')}</label>
24 </div>
24 </div>
25 <div class="browser-search">
25 <div class="browser-search">
26 <div id="search_activate_id" class="search_activate">
26 <div id="search_activate_id" class="search_activate">
27 <a class="ui-btn" id="filter_activate" href="#">${_('search file list')}</a>
27 <a class="ui-btn" id="filter_activate" href="#">${_('search file list')}</a>
28 </div>
28 </div>
29 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
29 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
30 <div id="add_node_id" class="add_node">
30 <div id="add_node_id" class="add_node">
31 <a class="ui-btn" href="${h.url('files_add_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path)}">${_('add new file')}</a>
31 <a class="ui-btn" href="${h.url('files_add_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path)}">${_('add new file')}</a>
32 </div>
32 </div>
33 % endif
33 % endif
34 <div>
34 <div>
35 <div id="node_filter_box_loading" style="display:none">${_('Loading file list...')}</div>
35 <div id="node_filter_box_loading" style="display:none">${_('Loading file list...')}</div>
36 <div id="node_filter_box" style="display:none">
36 <div id="node_filter_box" style="display:none">
37 ${h.files_breadcrumbs(c.repo_name,c.changeset.raw_id,c.file.path)}/<input class="init" type="text" value="type to search..." name="filter" size="25" id="node_filter" autocomplete="off">
37 ${h.files_breadcrumbs(c.repo_name,c.changeset.raw_id,c.file.path)}/<input class="init" type="text" value="type to search..." name="filter" size="25" id="node_filter" autocomplete="off">
38 </div>
38 </div>
39 </div>
39 </div>
40 </div>
40 </div>
41 </div>
41 </div>
42
42
43 <div class="browser-body">
43 <div class="browser-body">
44 <table class="code-browser">
44 <table class="code-browser">
45 <thead>
45 <thead>
46 <tr>
46 <tr>
47 <th>${_('Name')}</th>
47 <th>${_('Name')}</th>
48 <th>${_('Size')}</th>
48 <th>${_('Size')}</th>
49 <th>${_('Mimetype')}</th>
49 <th>${_('Mimetype')}</th>
50 <th>${_('Last Revision')}</th>
50 <th>${_('Last Revision')}</th>
51 <th>${_('Last modified')}</th>
51 <th>${_('Last modified')}</th>
52 <th>${_('Last commiter')}</th>
52 <th>${_('Last commiter')}</th>
53 </tr>
53 </tr>
54 </thead>
54 </thead>
55
55
56 <tbody id="tbody">
56 <tbody id="tbody">
57 %if c.file.parent:
57 %if c.file.parent:
58 <tr class="parity0">
58 <tr class="parity0">
59 <td>
59 <td>
60 ${h.link_to('..',h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.file.parent.path),class_="browser-dir ypjax-link")}
60 ${h.link_to('..',h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.file.parent.path),class_="browser-dir ypjax-link")}
61 </td>
61 </td>
62 <td></td>
62 <td></td>
63 <td></td>
63 <td></td>
64 <td></td>
64 <td></td>
65 <td></td>
65 <td></td>
66 <td></td>
66 <td></td>
67 </tr>
67 </tr>
68 %endif
68 %endif
69
69
70 %for cnt,node in enumerate(c.file):
70 %for cnt,node in enumerate(c.file):
71 <tr class="parity${cnt%2}">
71 <tr class="parity${cnt%2}">
72 <td>
72 <td>
73 %if node.is_submodule():
73 %if node.is_submodule():
74 ${h.link_to(node.name,node.url or '#',class_="submodule-dir ypjax-link")}
74 ${h.link_to(node.name,node.url or '#',class_="submodule-dir ypjax-link")}
75 %else:
75 %else:
76 ${h.link_to(node.name, h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=h.safe_unicode(node.path)),class_=file_class(node)+" ypjax-link")}
76 ${h.link_to(node.name, h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=h.safe_unicode(node.path)),class_=file_class(node)+" ypjax-link")}
77 %endif:
77 %endif:
78 </td>
78 </td>
79 <td>
79 <td>
80 %if node.is_file():
80 %if node.is_file():
81 ${h.format_byte_size(node.size,binary=True)}
81 ${h.format_byte_size(node.size,binary=True)}
82 %endif
82 %endif
83 </td>
83 </td>
84 <td>
84 <td>
85 %if node.is_file():
85 %if node.is_file():
86 ${node.mimetype}
86 ${node.mimetype}
87 %endif
87 %endif
88 </td>
88 </td>
89 <td>
89 <td>
90 %if node.is_file():
90 %if node.is_file():
91 <div class="tooltip" title="${node.last_changeset.message}">
91 <div class="tooltip" title="${node.last_changeset.message}">
92 <pre>${'r%s:%s' % (node.last_changeset.revision,node.last_changeset.short_id)}</pre>
92 <pre>${'r%s:%s' % (node.last_changeset.revision,node.last_changeset.short_id)}</pre>
93 </div>
93 </div>
94 %endif
94 %endif
95 </td>
95 </td>
96 <td>
96 <td>
97 %if node.is_file():
97 %if node.is_file():
98 <span class="tooltip" title="${node.last_changeset.date}">
98 <span class="tooltip" title="${h.fmt_date(node.last_changeset.date)}">
99 ${h.age(node.last_changeset.date)}</span>
99 ${h.age(node.last_changeset.date)}</span>
100 %endif
100 %endif
101 </td>
101 </td>
102 <td>
102 <td>
103 %if node.is_file():
103 %if node.is_file():
104 <span title="${node.last_changeset.author}">
104 <span title="${node.last_changeset.author}">
105 ${h.person(node.last_changeset.author)}
105 ${h.person(node.last_changeset.author)}
106 </span>
106 </span>
107 %endif
107 %endif
108 </td>
108 </td>
109 </tr>
109 </tr>
110 %endfor
110 %endfor
111 </tbody>
111 </tbody>
112 <tbody id="tbody_filtered" style="display:none">
112 <tbody id="tbody_filtered" style="display:none">
113 </tbody>
113 </tbody>
114 </table>
114 </table>
115 </div>
115 </div>
116 </div>
116 </div>
@@ -1,78 +1,78 b''
1 <%inherit file="/base/base.html"/>
1 <%inherit file="/base/base.html"/>
2
2
3 <%def name="title()">
3 <%def name="title()">
4 ${c.repo_name} ${_('Edit file')} - ${c.rhodecode_name}
4 ${_('%s Edit file') % c.repo_name} - ${c.rhodecode_name}
5 </%def>
5 </%def>
6
6
7 <%def name="js_extra()">
7 <%def name="js_extra()">
8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script>
8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script>
9 </%def>
9 </%def>
10 <%def name="css_extra()">
10 <%def name="css_extra()">
11 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/>
11 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/>
12 </%def>
12 </%def>
13
13
14 <%def name="breadcrumbs_links()">
14 <%def name="breadcrumbs_links()">
15 ${h.link_to(u'Home',h.url('/'))}
15 ${h.link_to(u'Home',h.url('/'))}
16 &raquo;
16 &raquo;
17 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
17 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
18 &raquo;
18 &raquo;
19 ${_('edit file')} @ R${c.cs.revision}:${h.short_id(c.cs.raw_id)}
19 ${_('edit file')} @ R${c.cs.revision}:${h.short_id(c.cs.raw_id)}
20 </%def>
20 </%def>
21
21
22 <%def name="page_nav()">
22 <%def name="page_nav()">
23 ${self.menu('files')}
23 ${self.menu('files')}
24 </%def>
24 </%def>
25 <%def name="main()">
25 <%def name="main()">
26 <div class="box">
26 <div class="box">
27 <!-- box / title -->
27 <!-- box / title -->
28 <div class="title">
28 <div class="title">
29 ${self.breadcrumbs()}
29 ${self.breadcrumbs()}
30 <ul class="links">
30 <ul class="links">
31 <li>
31 <li>
32 <span style="text-transform: uppercase;">
32 <span style="text-transform: uppercase;">
33 <a href="#">${_('branch')}: ${c.cs.branch}</a></span>
33 <a href="#">${_('branch')}: ${c.cs.branch}</a></span>
34 </li>
34 </li>
35 </ul>
35 </ul>
36 </div>
36 </div>
37 <div class="table">
37 <div class="table">
38 <div id="files_data">
38 <div id="files_data">
39 <h3 class="files_location">${_('Location')}: ${h.files_breadcrumbs(c.repo_name,c.cs.revision,c.file.path)}</h3>
39 <h3 class="files_location">${_('Location')}: ${h.files_breadcrumbs(c.repo_name,c.cs.revision,c.file.path)}</h3>
40 ${h.form(h.url.current(),method='post',id='eform')}
40 ${h.form(h.url.current(),method='post',id='eform')}
41 <div id="body" class="codeblock">
41 <div id="body" class="codeblock">
42 <div class="code-header">
42 <div class="code-header">
43 <div class="stats">
43 <div class="stats">
44 <div class="left"><img src="${h.url('/images/icons/file.png')}"/></div>
44 <div class="left"><img src="${h.url('/images/icons/file.png')}"/></div>
45 <div class="left item">${h.link_to("r%s:%s" % (c.file.changeset.revision,h.short_id(c.file.changeset.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id))}</div>
45 <div class="left item">${h.link_to("r%s:%s" % (c.file.changeset.revision,h.short_id(c.file.changeset.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id))}</div>
46 <div class="left item">${h.format_byte_size(c.file.size,binary=True)}</div>
46 <div class="left item">${h.format_byte_size(c.file.size,binary=True)}</div>
47 <div class="left item last">${c.file.mimetype}</div>
47 <div class="left item last">${c.file.mimetype}</div>
48 <div class="buttons">
48 <div class="buttons">
49 ${h.link_to(_('show annotation'),h.url('files_annotate_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
49 ${h.link_to(_('show annotation'),h.url('files_annotate_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
50 ${h.link_to(_('show as raw'),h.url('files_raw_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
50 ${h.link_to(_('show as raw'),h.url('files_raw_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
51 ${h.link_to(_('download as raw'),h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
51 ${h.link_to(_('download as raw'),h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
52 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
52 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
53 % if not c.file.is_binary:
53 % if not c.file.is_binary:
54 ${h.link_to(_('source'),h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
54 ${h.link_to(_('source'),h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path),class_="ui-btn")}
55 % endif
55 % endif
56 % endif
56 % endif
57 </div>
57 </div>
58 </div>
58 </div>
59 <div class="commit">${_('Editing file')}: ${c.file.unicode_path}</div>
59 <div class="commit">${_('Editing file')}: ${c.file.unicode_path}</div>
60 </div>
60 </div>
61 <pre id="editor_pre"></pre>
61 <pre id="editor_pre"></pre>
62 <textarea id="editor" name="content" style="display:none">${h.escape(c.file.content)|n}</textarea>
62 <textarea id="editor" name="content" style="display:none">${h.escape(c.file.content)|n}</textarea>
63 <div style="padding: 10px;color:#666666">${_('commit message')}</div>
63 <div style="padding: 10px;color:#666666">${_('commit message')}</div>
64 <textarea id="commit" name="message" style="height: 60px;width: 99%;margin-left:4px"></textarea>
64 <textarea id="commit" name="message" style="height: 60px;width: 99%;margin-left:4px"></textarea>
65 </div>
65 </div>
66 <div style="text-align: left;padding-top: 5px">
66 <div style="text-align: left;padding-top: 5px">
67 ${h.submit('commit',_('Commit changes'),class_="ui-btn")}
67 ${h.submit('commit',_('Commit changes'),class_="ui-btn")}
68 ${h.reset('reset',_('Reset'),class_="ui-btn")}
68 ${h.reset('reset',_('Reset'),class_="ui-btn")}
69 </div>
69 </div>
70 ${h.end_form()}
70 ${h.end_form()}
71 <script type="text/javascript">
71 <script type="text/javascript">
72 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.file.path)}";
72 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.file.path)}";
73 initCodeMirror('editor',reset_url);
73 initCodeMirror('editor',reset_url);
74 </script>
74 </script>
75 </div>
75 </div>
76 </div>
76 </div>
77 </div>
77 </div>
78 </%def>
78 </%def>
@@ -1,114 +1,114 b''
1 <dl>
1 <dl>
2 <dt style="padding-top:10px;font-size:16px">${_('History')}</dt>
2 <dt style="padding-top:10px;font-size:16px">${_('History')}</dt>
3 <dd>
3 <dd>
4 <div>
4 <div>
5 ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')}
5 ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')}
6 ${h.hidden('diff2',c.file.changeset.raw_id)}
6 ${h.hidden('diff2',c.file.changeset.raw_id)}
7 ${h.select('diff1',c.file.changeset.raw_id,c.file_history)}
7 ${h.select('diff1',c.file.changeset.raw_id,c.file_history)}
8 ${h.submit('diff','diff to revision',class_="ui-btn")}
8 ${h.submit('diff','diff to revision',class_="ui-btn")}
9 ${h.submit('show_rev','show at revision',class_="ui-btn")}
9 ${h.submit('show_rev','show at revision',class_="ui-btn")}
10 ${h.end_form()}
10 ${h.end_form()}
11 </div>
11 </div>
12 </dd>
12 </dd>
13 </dl>
13 </dl>
14
14
15 <div id="body" class="codeblock">
15 <div id="body" class="codeblock">
16 <div class="code-header">
16 <div class="code-header">
17 <div class="stats">
17 <div class="stats">
18 <div class="left img"><img src="${h.url('/images/icons/file.png')}"/></div>
18 <div class="left img"><img src="${h.url('/images/icons/file.png')}"/></div>
19 <div class="left item"><pre class="tooltip" title="${c.file.changeset.date}">${h.link_to("r%s:%s" % (c.file.changeset.revision,h.short_id(c.file.changeset.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id))}</pre></div>
19 <div class="left item"><pre class="tooltip" title="${h.fmt_date(c.file.changeset.date)}">${h.link_to("r%s:%s" % (c.file.changeset.revision,h.short_id(c.file.changeset.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id))}</pre></div>
20 <div class="left item"><pre>${h.format_byte_size(c.file.size,binary=True)}</pre></div>
20 <div class="left item"><pre>${h.format_byte_size(c.file.size,binary=True)}</pre></div>
21 <div class="left item last"><pre>${c.file.mimetype}</pre></div>
21 <div class="left item last"><pre>${c.file.mimetype}</pre></div>
22 <div class="buttons">
22 <div class="buttons">
23 %if c.annotate:
23 %if c.annotate:
24 ${h.link_to(_('show source'), h.url('files_home', repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
24 ${h.link_to(_('show source'), h.url('files_home', repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
25 %else:
25 %else:
26 ${h.link_to(_('show annotation'),h.url('files_annotate_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
26 ${h.link_to(_('show annotation'),h.url('files_annotate_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
27 %endif
27 %endif
28 ${h.link_to(_('show as raw'),h.url('files_raw_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
28 ${h.link_to(_('show as raw'),h.url('files_raw_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
29 ${h.link_to(_('download as raw'),h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
29 ${h.link_to(_('download as raw'),h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
30 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
30 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
31 % if not c.file.is_binary:
31 % if not c.file.is_binary:
32 ${h.link_to(_('edit'),h.url('files_edit_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
32 ${h.link_to(_('edit'),h.url('files_edit_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
33 % endif
33 % endif
34 % endif
34 % endif
35 </div>
35 </div>
36 </div>
36 </div>
37 <div class="author">
37 <div class="author">
38 <div class="gravatar">
38 <div class="gravatar">
39 <img alt="gravatar" src="${h.gravatar_url(h.email(c.file.changeset.author),16)}"/>
39 <img alt="gravatar" src="${h.gravatar_url(h.email(c.file.changeset.author),16)}"/>
40 </div>
40 </div>
41 <div title="${c.file.changeset.author}" class="user">${h.person(c.file.changeset.author)}</div>
41 <div title="${c.file.changeset.author}" class="user">${h.person(c.file.changeset.author)}</div>
42 </div>
42 </div>
43 <div class="commit">${h.urlify_commit(c.file.changeset.message,c.repo_name)}</div>
43 <div class="commit">${h.urlify_commit(c.file.changeset.message,c.repo_name)}</div>
44 </div>
44 </div>
45 <div class="code-body">
45 <div class="code-body">
46 %if c.file.is_binary:
46 %if c.file.is_binary:
47 ${_('Binary file (%s)') % c.file.mimetype}
47 ${_('Binary file (%s)') % c.file.mimetype}
48 %else:
48 %else:
49 % if c.file.size < c.cut_off_limit:
49 % if c.file.size < c.cut_off_limit:
50 %if c.annotate:
50 %if c.annotate:
51 ${h.pygmentize_annotation(c.repo_name,c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
51 ${h.pygmentize_annotation(c.repo_name,c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
52 %else:
52 %else:
53 ${h.pygmentize(c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
53 ${h.pygmentize(c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
54 %endif
54 %endif
55 %else:
55 %else:
56 ${_('File is too big to display')} ${h.link_to(_('show as raw'),
56 ${_('File is too big to display')} ${h.link_to(_('show as raw'),
57 h.url('files_raw_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path))}
57 h.url('files_raw_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path))}
58 %endif
58 %endif
59 %endif
59 %endif
60 </div>
60 </div>
61 </div>
61 </div>
62
62
63 <script type="text/javascript">
63 <script type="text/javascript">
64 YUE.onDOMReady(function(){
64 YUE.onDOMReady(function(){
65 function highlight_lines(lines){
65 function highlight_lines(lines){
66 for(pos in lines){
66 for(pos in lines){
67 YUD.setStyle('L'+lines[pos],'background-color','#FFFFBE');
67 YUD.setStyle('L'+lines[pos],'background-color','#FFFFBE');
68 }
68 }
69 }
69 }
70 page_highlights = location.href.substring(location.href.indexOf('#')+1).split('L');
70 page_highlights = location.href.substring(location.href.indexOf('#')+1).split('L');
71 if (page_highlights.length == 2){
71 if (page_highlights.length == 2){
72 highlight_ranges = page_highlights[1].split(",");
72 highlight_ranges = page_highlights[1].split(",");
73
73
74 var h_lines = [];
74 var h_lines = [];
75 for (pos in highlight_ranges){
75 for (pos in highlight_ranges){
76 var _range = highlight_ranges[pos].split('-');
76 var _range = highlight_ranges[pos].split('-');
77 if(_range.length == 2){
77 if(_range.length == 2){
78 var start = parseInt(_range[0]);
78 var start = parseInt(_range[0]);
79 var end = parseInt(_range[1]);
79 var end = parseInt(_range[1]);
80 if (start < end){
80 if (start < end){
81 for(var i=start;i<=end;i++){
81 for(var i=start;i<=end;i++){
82 h_lines.push(i);
82 h_lines.push(i);
83 }
83 }
84 }
84 }
85 }
85 }
86 else{
86 else{
87 h_lines.push(parseInt(highlight_ranges[pos]));
87 h_lines.push(parseInt(highlight_ranges[pos]));
88 }
88 }
89 }
89 }
90 highlight_lines(h_lines);
90 highlight_lines(h_lines);
91
91
92 //remember original location
92 //remember original location
93 var old_hash = location.href.substring(location.href.indexOf('#'));
93 var old_hash = location.href.substring(location.href.indexOf('#'));
94
94
95 // this makes a jump to anchor moved by 3 posstions for padding
95 // this makes a jump to anchor moved by 3 posstions for padding
96 window.location.hash = '#L'+Math.max(parseInt(h_lines[0])-3,1);
96 window.location.hash = '#L'+Math.max(parseInt(h_lines[0])-3,1);
97
97
98 //sets old anchor
98 //sets old anchor
99 window.location.hash = old_hash;
99 window.location.hash = old_hash;
100
100
101 }
101 }
102 YUE.on('show_rev','click',function(e){
102 YUE.on('show_rev','click',function(e){
103 YUE.preventDefault(e);
103 YUE.preventDefault(e);
104 var cs = YUD.get('diff1').value;
104 var cs = YUD.get('diff1').value;
105 %if c.annotate:
105 %if c.annotate:
106 var url = "${h.url('files_annotate_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
106 var url = "${h.url('files_annotate_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
107 %else:
107 %else:
108 var url = "${h.url('files_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
108 var url = "${h.url('files_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
109 %endif
109 %endif
110 window.location = url;
110 window.location = url;
111 });
111 });
112 YUE.on('hlcode','mouseup',getSelectionLink("${_('Selection link')}"))
112 YUE.on('hlcode','mouseup',getSelectionLink("${_('Selection link')}"))
113 });
113 });
114 </script>
114 </script>
@@ -1,32 +1,32 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Followers')} - ${c.rhodecode_name}
5 ${_('%s Followers') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 &raquo;
12 &raquo;
13 ${_('followers')}
13 ${_('followers')}
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('followers')}
17 ${self.menu('followers')}
18 </%def>
18 </%def>
19 <%def name="main()">
19 <%def name="main()">
20 <div class="box">
20 <div class="box">
21 <!-- box / title -->
21 <!-- box / title -->
22 <div class="title">
22 <div class="title">
23 ${self.breadcrumbs()}
23 ${self.breadcrumbs()}
24 </div>
24 </div>
25 <!-- end box / title -->
25 <!-- end box / title -->
26 <div class="table">
26 <div class="table">
27 <div id="followers">
27 <div id="followers">
28 ${c.followers_data}
28 ${c.followers_data}
29 </div>
29 </div>
30 </div>
30 </div>
31 </div>
31 </div>
32 </%def>
32 </%def>
@@ -1,28 +1,28 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3 % for f in c.followers_pager:
3 % for f in c.followers_pager:
4 <div>
4 <div>
5 <div class="follower_user">
5 <div class="follower_user">
6 <div class="gravatar">
6 <div class="gravatar">
7 <img alt="gravatar" src="${h.gravatar_url(f.user.email,24)}"/>
7 <img alt="gravatar" src="${h.gravatar_url(f.user.email,24)}"/>
8 </div>
8 </div>
9 <span style="font-size: 20px"> <b>${f.user.username}</b> (${f.user.name} ${f.user.lastname})</span>
9 <span style="font-size: 20px"> <b>${f.user.username}</b> (${f.user.name} ${f.user.lastname})</span>
10 </div>
10 </div>
11 <div style="clear:both;padding-top: 10px"></div>
11 <div style="clear:both;padding-top: 10px"></div>
12 <div class="follower_date">${_('Started following')} -
12 <div class="follower_date">${_('Started following -')}
13 <span class="tooltip" title="${f.follows_from}"> ${h.age(f.follows_from)}</span></div>
13 <span class="tooltip" title="${f.follows_from}"> ${h.age(f.follows_from)}</span></div>
14 <div style="border-bottom: 1px solid #DDD;margin:10px 0px 10px 0px"></div>
14 <div style="border-bottom: 1px solid #DDD;margin:10px 0px 10px 0px"></div>
15 </div>
15 </div>
16 % endfor
16 % endfor
17
17
18 <div class="pagination-wh pagination-left">
18 <div class="pagination-wh pagination-left">
19 <script type="text/javascript">
19 <script type="text/javascript">
20 YUE.onDOMReady(function(){
20 YUE.onDOMReady(function(){
21 YUE.delegate("followers","click",function(e, matchedEl, container){
21 YUE.delegate("followers","click",function(e, matchedEl, container){
22 ypjax(e.target.href,"followers",function(){show_more_event();tooltip_activate();});
22 ypjax(e.target.href,"followers",function(){show_more_event();tooltip_activate();});
23 YUE.preventDefault(e);
23 YUE.preventDefault(e);
24 },'.pager_link');
24 },'.pager_link');
25 });
25 });
26 </script>
26 </script>
27 ${c.followers_pager.pager('$link_previous ~2~ $link_next')}
27 ${c.followers_pager.pager('$link_previous ~2~ $link_next')}
28 </div>
28 </div>
@@ -1,86 +1,86 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Fork')} - ${c.rhodecode_name}
5 ${_('%s Fork') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
12 &raquo;
12 &raquo;
13 ${_('fork')}
13 ${_('fork')}
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('')}
17 ${self.menu('')}
18 </%def>
18 </%def>
19 <%def name="main()">
19 <%def name="main()">
20 <div class="box">
20 <div class="box">
21 <!-- box / title -->
21 <!-- box / title -->
22 <div class="title">
22 <div class="title">
23 ${self.breadcrumbs()}
23 ${self.breadcrumbs()}
24 </div>
24 </div>
25 ${h.form(url('repo_fork_create_home',repo_name=c.repo_info.repo_name))}
25 ${h.form(url('repo_fork_create_home',repo_name=c.repo_info.repo_name))}
26 <div class="form">
26 <div class="form">
27 <!-- fields -->
27 <!-- fields -->
28 <div class="fields">
28 <div class="fields">
29 <div class="field">
29 <div class="field">
30 <div class="label">
30 <div class="label">
31 <label for="repo_name">${_('Fork name')}:</label>
31 <label for="repo_name">${_('Fork name')}:</label>
32 </div>
32 </div>
33 <div class="input">
33 <div class="input">
34 ${h.text('repo_name',class_="small")}
34 ${h.text('repo_name',class_="small")}
35 ${h.hidden('repo_type',c.repo_info.repo_type)}
35 ${h.hidden('repo_type',c.repo_info.repo_type)}
36 ${h.hidden('fork_parent_id',c.repo_info.repo_id)}
36 ${h.hidden('fork_parent_id',c.repo_info.repo_id)}
37 </div>
37 </div>
38 </div>
38 </div>
39 <div class="field">
39 <div class="field">
40 <div class="label">
40 <div class="label">
41 <label for="repo_group">${_('Repository group')}:</label>
41 <label for="repo_group">${_('Repository group')}:</label>
42 </div>
42 </div>
43 <div class="input">
43 <div class="input">
44 ${h.select('repo_group','',c.repo_groups,class_="medium")}
44 ${h.select('repo_group','',c.repo_groups,class_="medium")}
45 </div>
45 </div>
46 </div>
46 </div>
47 <div class="field">
47 <div class="field">
48 <div class="label label-textarea">
48 <div class="label label-textarea">
49 <label for="description">${_('Description')}:</label>
49 <label for="description">${_('Description')}:</label>
50 </div>
50 </div>
51 <div class="textarea text-area editor">
51 <div class="textarea text-area editor">
52 ${h.textarea('description',cols=23,rows=5)}
52 ${h.textarea('description',cols=23,rows=5)}
53 </div>
53 </div>
54 </div>
54 </div>
55 <div class="field">
55 <div class="field">
56 <div class="label label-checkbox">
56 <div class="label label-checkbox">
57 <label for="private">${_('Private')}:</label>
57 <label for="private">${_('Private')}:</label>
58 </div>
58 </div>
59 <div class="checkboxes">
59 <div class="checkboxes">
60 ${h.checkbox('private',value="True")}
60 ${h.checkbox('private',value="True")}
61 </div>
61 </div>
62 </div>
62 </div>
63 <div class="field">
63 <div class="field">
64 <div class="label label-checkbox">
64 <div class="label label-checkbox">
65 <label for="private">${_('Copy permissions')}:</label>
65 <label for="private">${_('Copy permissions')}:</label>
66 </div>
66 </div>
67 <div class="checkboxes">
67 <div class="checkboxes">
68 ${h.checkbox('copy_permissions',value="True", checked="checked")}
68 ${h.checkbox('copy_permissions',value="True", checked="checked")}
69 </div>
69 </div>
70 </div>
70 </div>
71 <div class="field">
71 <div class="field">
72 <div class="label label-checkbox">
72 <div class="label label-checkbox">
73 <label for="private">${_('Update after clone')}:</label>
73 <label for="private">${_('Update after clone')}:</label>
74 </div>
74 </div>
75 <div class="checkboxes">
75 <div class="checkboxes">
76 ${h.checkbox('update_after_clone',value="True")}
76 ${h.checkbox('update_after_clone',value="True")}
77 </div>
77 </div>
78 </div>
78 </div>
79 <div class="buttons">
79 <div class="buttons">
80 ${h.submit('',_('fork this repository'),class_="ui-button")}
80 ${h.submit('',_('fork this repository'),class_="ui-button")}
81 </div>
81 </div>
82 </div>
82 </div>
83 </div>
83 </div>
84 ${h.end_form()}
84 ${h.end_form()}
85 </div>
85 </div>
86 </%def>
86 </%def>
@@ -1,32 +1,32 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Forks')} - ${c.rhodecode_name}
5 ${_('%s Forks') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 &raquo;
12 &raquo;
13 ${_('forks')}
13 ${_('forks')}
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('forks')}
17 ${self.menu('forks')}
18 </%def>
18 </%def>
19 <%def name="main()">
19 <%def name="main()">
20 <div class="box">
20 <div class="box">
21 <!-- box / title -->
21 <!-- box / title -->
22 <div class="title">
22 <div class="title">
23 ${self.breadcrumbs()}
23 ${self.breadcrumbs()}
24 </div>
24 </div>
25 <!-- end box / title -->
25 <!-- end box / title -->
26 <div class="table">
26 <div class="table">
27 <div id="forks">
27 <div id="forks">
28 ${c.forks_data}
28 ${c.forks_data}
29 </div>
29 </div>
30 </div>
30 </div>
31 </div>
31 </div>
32 </%def>
32 </%def>
@@ -1,201 +1,201 b''
1 <%page args="parent" />
1 <%page args="parent" />
2 <div class="box">
2 <div class="box">
3 <!-- box / title -->
3 <!-- box / title -->
4 <div class="title">
4 <div class="title">
5 <h5>
5 <h5>
6 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/> ${parent.breadcrumbs()} <span id="repo_count">0</span> ${_('repositories')}
6 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/> ${parent.breadcrumbs()} <span id="repo_count">0</span> ${_('repositories')}
7 </h5>
7 </h5>
8 %if c.rhodecode_user.username != 'default':
8 %if c.rhodecode_user.username != 'default':
9 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
9 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
10 <ul class="links">
10 <ul class="links">
11 <li>
11 <li>
12 %if c.group:
12 %if c.group:
13 <span>${h.link_to(_('ADD REPOSITORY'),h.url('admin_settings_create_repository',parent_group=c.group.group_id))}</span>
13 <span>${h.link_to(_('ADD REPOSITORY'),h.url('admin_settings_create_repository',parent_group=c.group.group_id))}</span>
14 %else:
14 %else:
15 <span>${h.link_to(_('ADD REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
15 <span>${h.link_to(_('ADD REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
16 %endif
16 %endif
17 </li>
17 </li>
18 </ul>
18 </ul>
19 %endif
19 %endif
20 %endif
20 %endif
21 </div>
21 </div>
22 <!-- end box / title -->
22 <!-- end box / title -->
23 <div class="table">
23 <div class="table">
24 % if c.groups:
24 % if c.groups:
25 <div id='groups_list_wrap' class="yui-skin-sam">
25 <div id='groups_list_wrap' class="yui-skin-sam">
26 <table id="groups_list">
26 <table id="groups_list">
27 <thead>
27 <thead>
28 <tr>
28 <tr>
29 <th class="left"><a href="#">${_('Group name')}</a></th>
29 <th class="left"><a href="#">${_('Group name')}</a></th>
30 <th class="left"><a href="#">${_('Description')}</a></th>
30 <th class="left"><a href="#">${_('Description')}</a></th>
31 ##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
31 ##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
32 </tr>
32 </tr>
33 </thead>
33 </thead>
34
34
35 ## REPO GROUPS
35 ## REPO GROUPS
36 % for gr in c.groups:
36 % for gr in c.groups:
37 <tr>
37 <tr>
38 <td>
38 <td>
39 <div style="white-space: nowrap">
39 <div style="white-space: nowrap">
40 <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
40 <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
41 ${h.link_to(gr.name,url('repos_group_home',group_name=gr.group_name))}
41 ${h.link_to(gr.name,url('repos_group_home',group_name=gr.group_name))}
42 </div>
42 </div>
43 </td>
43 </td>
44 <td>${gr.group_description}</td>
44 <td>${gr.group_description}</td>
45 ## this is commented out since for multi nested repos can be HEAVY!
45 ## this is commented out since for multi nested repos can be HEAVY!
46 ## in number of executed queries during traversing uncomment at will
46 ## in number of executed queries during traversing uncomment at will
47 ##<td><b>${gr.repositories_recursive_count}</b></td>
47 ##<td><b>${gr.repositories_recursive_count}</b></td>
48 </tr>
48 </tr>
49 % endfor
49 % endfor
50
50
51 </table>
51 </table>
52 </div>
52 </div>
53 <div style="height: 20px"></div>
53 <div style="height: 20px"></div>
54 % endif
54 % endif
55 <div id="welcome" style="display:none;text-align:center">
55 <div id="welcome" style="display:none;text-align:center">
56 <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
56 <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
57 </div>
57 </div>
58 <div id='repos_list_wrap' class="yui-skin-sam">
58 <div id='repos_list_wrap' class="yui-skin-sam">
59 <%cnt=0%>
59 <%cnt=0%>
60 <%namespace name="dt" file="/data_table/_dt_elements.html"/>
60 <%namespace name="dt" file="/data_table/_dt_elements.html"/>
61
61
62 <table id="repos_list">
62 <table id="repos_list">
63 <thead>
63 <thead>
64 <tr>
64 <tr>
65 <th class="left"></th>
65 <th class="left"></th>
66 <th class="left">${_('Name')}</th>
66 <th class="left">${_('Name')}</th>
67 <th class="left">${_('Description')}</th>
67 <th class="left">${_('Description')}</th>
68 <th class="left">${_('Last change')}</th>
68 <th class="left">${_('Last change')}</th>
69 <th class="left">${_('Tip')}</th>
69 <th class="left">${_('Tip')}</th>
70 <th class="left">${_('Owner')}</th>
70 <th class="left">${_('Owner')}</th>
71 <th class="left">${_('RSS')}</th>
71 <th class="left">${_('RSS')}</th>
72 <th class="left">${_('Atom')}</th>
72 <th class="left">${_('Atom')}</th>
73 </tr>
73 </tr>
74 </thead>
74 </thead>
75 <tbody>
75 <tbody>
76 %for cnt,repo in enumerate(c.repos_list):
76 %for cnt,repo in enumerate(c.repos_list):
77 <tr class="parity${(cnt+1)%2}">
77 <tr class="parity${(cnt+1)%2}">
78 ##QUICK MENU
78 ##QUICK MENU
79 <td class="quick_repo_menu">
79 <td class="quick_repo_menu">
80 ${dt.quick_menu(repo['name'])}
80 ${dt.quick_menu(repo['name'])}
81 </td>
81 </td>
82 ##REPO NAME AND ICONS
82 ##REPO NAME AND ICONS
83 <td class="reponame">
83 <td class="reponame">
84 ${dt.repo_name(repo['name'],repo['dbrepo']['repo_type'],repo['dbrepo']['private'],repo['dbrepo_fork'].get('repo_name'),pageargs.get('short_repo_names'))}
84 ${dt.repo_name(repo['name'],repo['dbrepo']['repo_type'],repo['dbrepo']['private'],repo['dbrepo_fork'].get('repo_name'),pageargs.get('short_repo_names'))}
85 </td>
85 </td>
86 ##DESCRIPTION
86 ##DESCRIPTION
87 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
87 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
88 ${h.truncate(repo['description'],60)}</span>
88 ${h.truncate(repo['description'],60)}</span>
89 </td>
89 </td>
90 ##LAST CHANGE DATE
90 ##LAST CHANGE DATE
91 <td>
91 <td>
92 <span class="tooltip" title="${repo['last_change']}">${h.age(repo['last_change'])}</span>
92 <span class="tooltip" title="${h.fmt_date(repo['last_change'])}">${h.age(repo['last_change'])}</span>
93 </td>
93 </td>
94 ##LAST REVISION
94 ##LAST REVISION
95 <td>
95 <td>
96 ${dt.revision(repo['name'],repo['rev'],repo['tip'],repo['author'],repo['last_msg'])}
96 ${dt.revision(repo['name'],repo['rev'],repo['tip'],repo['author'],repo['last_msg'])}
97 </td>
97 </td>
98 ##
98 ##
99 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
99 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
100 <td>
100 <td>
101 %if c.rhodecode_user.username != 'default':
101 %if c.rhodecode_user.username != 'default':
102 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
102 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
103 %else:
103 %else:
104 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
104 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_icon" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
105 %endif:
105 %endif:
106 </td>
106 </td>
107 <td>
107 <td>
108 %if c.rhodecode_user.username != 'default':
108 %if c.rhodecode_user.username != 'default':
109 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
109 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'],api_key=c.rhodecode_user.api_key)}"></a>
110 %else:
110 %else:
111 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
111 <a title="${_('Subscribe to %s atom feed')%repo['name']}" class="atom_icon" href="${h.url('atom_feed_home',repo_name=repo['name'])}"></a>
112 %endif:
112 %endif:
113 </td>
113 </td>
114 </tr>
114 </tr>
115 %endfor
115 %endfor
116 </tbody>
116 </tbody>
117 </table>
117 </table>
118 </div>
118 </div>
119 </div>
119 </div>
120 </div>
120 </div>
121 <script>
121 <script>
122 YUD.get('repo_count').innerHTML = ${cnt+1};
122 YUD.get('repo_count').innerHTML = ${cnt+1};
123 var func = function(node){
123 var func = function(node){
124 return node.parentNode.parentNode.parentNode.parentNode;
124 return node.parentNode.parentNode.parentNode.parentNode;
125 }
125 }
126
126
127
127
128 // groups table sorting
128 // groups table sorting
129 var myColumnDefs = [
129 var myColumnDefs = [
130 {key:"name",label:"${_('Group Name')}",sortable:true,
130 {key:"name",label:"${_('Group Name')}",sortable:true,
131 sortOptions: { sortFunction: groupNameSort }},
131 sortOptions: { sortFunction: groupNameSort }},
132 {key:"desc",label:"${_('Description')}",sortable:true},
132 {key:"desc",label:"${_('Description')}",sortable:true},
133 ];
133 ];
134
134
135 var myDataSource = new YAHOO.util.DataSource(YUD.get("groups_list"));
135 var myDataSource = new YAHOO.util.DataSource(YUD.get("groups_list"));
136
136
137 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
137 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
138 myDataSource.responseSchema = {
138 myDataSource.responseSchema = {
139 fields: [
139 fields: [
140 {key:"name"},
140 {key:"name"},
141 {key:"desc"},
141 {key:"desc"},
142 ]
142 ]
143 };
143 };
144
144
145 var myDataTable = new YAHOO.widget.DataTable("groups_list_wrap", myColumnDefs, myDataSource,
145 var myDataTable = new YAHOO.widget.DataTable("groups_list_wrap", myColumnDefs, myDataSource,
146 {
146 {
147 sortedBy:{key:"name",dir:"asc"},
147 sortedBy:{key:"name",dir:"asc"},
148 MSG_SORTASC:"${_('Click to sort ascending')}",
148 MSG_SORTASC:"${_('Click to sort ascending')}",
149 MSG_SORTDESC:"${_('Click to sort descending')}"
149 MSG_SORTDESC:"${_('Click to sort descending')}"
150 }
150 }
151 );
151 );
152
152
153 // main table sorting
153 // main table sorting
154 var myColumnDefs = [
154 var myColumnDefs = [
155 {key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"},
155 {key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"},
156 {key:"name",label:"${_('Name')}",sortable:true,
156 {key:"name",label:"${_('Name')}",sortable:true,
157 sortOptions: { sortFunction: nameSort }},
157 sortOptions: { sortFunction: nameSort }},
158 {key:"desc",label:"${_('Description')}",sortable:true},
158 {key:"desc",label:"${_('Description')}",sortable:true},
159 {key:"last_change",label:"${_('Last Change')}",sortable:true,
159 {key:"last_change",label:"${_('Last Change')}",sortable:true,
160 sortOptions: { sortFunction: ageSort }},
160 sortOptions: { sortFunction: ageSort }},
161 {key:"tip",label:"${_('Tip')}",sortable:true,
161 {key:"tip",label:"${_('Tip')}",sortable:true,
162 sortOptions: { sortFunction: revisionSort }},
162 sortOptions: { sortFunction: revisionSort }},
163 {key:"owner",label:"${_('Owner')}",sortable:true},
163 {key:"owner",label:"${_('Owner')}",sortable:true},
164 {key:"rss",label:"",sortable:false},
164 {key:"rss",label:"",sortable:false},
165 {key:"atom",label:"",sortable:false},
165 {key:"atom",label:"",sortable:false},
166 ];
166 ];
167
167
168 var myDataSource = new YAHOO.util.DataSource(YUD.get("repos_list"));
168 var myDataSource = new YAHOO.util.DataSource(YUD.get("repos_list"));
169
169
170 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
170 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
171
171
172 myDataSource.responseSchema = {
172 myDataSource.responseSchema = {
173 fields: [
173 fields: [
174 {key:"menu"},
174 {key:"menu"},
175 {key:"name"},
175 {key:"name"},
176 {key:"desc"},
176 {key:"desc"},
177 {key:"last_change"},
177 {key:"last_change"},
178 {key:"tip"},
178 {key:"tip"},
179 {key:"owner"},
179 {key:"owner"},
180 {key:"rss"},
180 {key:"rss"},
181 {key:"atom"},
181 {key:"atom"},
182 ]
182 ]
183 };
183 };
184
184
185 var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,
185 var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,
186 {
186 {
187 sortedBy:{key:"name",dir:"asc"},
187 sortedBy:{key:"name",dir:"asc"},
188 MSG_SORTASC:"${_('Click to sort ascending')}",
188 MSG_SORTASC:"${_('Click to sort ascending')}",
189 MSG_SORTDESC:"${_('Click to sort descending')}",
189 MSG_SORTDESC:"${_('Click to sort descending')}",
190 MSG_EMPTY:"${_('No records found.')}",
190 MSG_EMPTY:"${_('No records found.')}",
191 MSG_ERROR:"${_('Data error.')}",
191 MSG_ERROR:"${_('Data error.')}",
192 MSG_LOADING:"${_('Loading...')}",
192 MSG_LOADING:"${_('Loading...')}",
193 }
193 }
194 );
194 );
195 myDataTable.subscribe('postRenderEvent',function(oArgs) {
195 myDataTable.subscribe('postRenderEvent',function(oArgs) {
196 tooltip_activate();
196 tooltip_activate();
197 quick_repo_menu();
197 quick_repo_menu();
198 q_filter('q_filter',YUQ('div.table tr td a.repo_name'),func);
198 q_filter('q_filter',YUQ('div.table tr td a.repo_name'),func);
199 });
199 });
200
200
201 </script>
201 </script>
@@ -1,49 +1,49 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3 %if c.journal_day_aggreagate:
3 %if c.journal_day_aggreagate:
4 %for day,items in c.journal_day_aggreagate:
4 %for day,items in c.journal_day_aggreagate:
5 <div class="journal_day">${day}</div>
5 <div class="journal_day">${day}</div>
6 % for user,entries in items:
6 % for user,entries in items:
7 <div class="journal_container">
7 <div class="journal_container">
8 <div class="gravatar">
8 <div class="gravatar">
9 <img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/>
9 <img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/>
10 </div>
10 </div>
11 <div class="journal_user">${user.name} ${user.lastname}</div>
11 <div class="journal_user">${user.name} ${user.lastname}</div>
12 <div class="journal_action_container">
12 <div class="journal_action_container">
13 % for entry in entries:
13 % for entry in entries:
14 <div class="journal_icon"> ${h.action_parser(entry)[2]()}</div>
14 <div class="journal_icon"> ${h.action_parser(entry)[2]()}</div>
15 <div class="journal_action">${h.action_parser(entry)[0]()}</div>
15 <div class="journal_action">${h.action_parser(entry)[0]()}</div>
16 <div class="journal_repo">
16 <div class="journal_repo">
17 <span class="journal_repo_name">
17 <span class="journal_repo_name">
18 %if entry.repository is not None:
18 %if entry.repository is not None:
19 ${h.link_to(entry.repository.repo_name,
19 ${h.link_to(entry.repository.repo_name,
20 h.url('summary_home',repo_name=entry.repository.repo_name))}
20 h.url('summary_home',repo_name=entry.repository.repo_name))}
21 %else:
21 %else:
22 ${entry.repository_name}
22 ${entry.repository_name}
23 %endif
23 %endif
24 </span>
24 </span>
25 </div>
25 </div>
26 <div class="journal_action_params">${h.literal(h.action_parser(entry)[1]())}</div>
26 <div class="journal_action_params">${h.literal(h.action_parser(entry)[1]())}</div>
27 <div class="date"><span class="tooltip" title="${entry.action_date}">${h.age(entry.action_date)}</span></div>
27 <div class="date"><span class="tooltip" title="${h.fmt_date(entry.action_date)}">${h.age(entry.action_date)}</span></div>
28 %endfor
28 %endfor
29 </div>
29 </div>
30 </div>
30 </div>
31 %endfor
31 %endfor
32 %endfor
32 %endfor
33
33
34 <div class="pagination-wh pagination-left">
34 <div class="pagination-wh pagination-left">
35 <script type="text/javascript">
35 <script type="text/javascript">
36 YUE.onDOMReady(function(){
36 YUE.onDOMReady(function(){
37 YUE.delegate("journal","click",function(e, matchedEl, container){
37 YUE.delegate("journal","click",function(e, matchedEl, container){
38 ypjax(e.target.href,"journal",function(){show_more_event();tooltip_activate();});
38 ypjax(e.target.href,"journal",function(){show_more_event();tooltip_activate();});
39 YUE.preventDefault(e);
39 YUE.preventDefault(e);
40 },'.pager_link');
40 },'.pager_link');
41 });
41 });
42 </script>
42 </script>
43 ${c.journal_pager.pager('$link_previous ~2~ $link_next')}
43 ${c.journal_pager.pager('$link_previous ~2~ $link_next')}
44 </div>
44 </div>
45 %else:
45 %else:
46 <div style="padding:5px 0px 10px 10px;">
46 <div style="padding:5px 0px 10px 10px;">
47 ${_('No entries yet')}
47 ${_('No entries yet')}
48 </div>
48 </div>
49 %endif
49 %endif
@@ -1,20 +1,20 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2
2
3 <li class="qfilter_rs">
3 <li class="qfilter_rs">
4 <input type="text" style="border:0" value="quick filter..." name="filter" size="15" id="q_filter_rs" />
4 <input type="text" style="border:0" value="${_('quick filter...')}" name="filter" size="20" id="q_filter_rs" />
5 </li>
5 </li>
6
6
7 %for repo in c.repos_list:
7 %for repo in c.repos_list:
8
8
9 %if repo['dbrepo']['private']:
9 %if repo['dbrepo']['private']:
10 <li>
10 <li>
11 <img src="${h.url('/images/icons/lock.png')}" alt="${_('Private repository')}" class="repo_switcher_type"/>
11 <img src="${h.url('/images/icons/lock.png')}" alt="${_('Private repository')}" class="repo_switcher_type"/>
12 ${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']),class_="repo_name %s" % repo['dbrepo']['repo_type'])}
12 ${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']),class_="repo_name %s" % repo['dbrepo']['repo_type'])}
13 </li>
13 </li>
14 %else:
14 %else:
15 <li>
15 <li>
16 <img src="${h.url('/images/icons/lock_open.png')}" alt="${_('Public repository')}" class="repo_switcher_type" />
16 <img src="${h.url('/images/icons/lock_open.png')}" alt="${_('Public repository')}" class="repo_switcher_type" />
17 ${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']),class_="repo_name %s" % repo['dbrepo']['repo_type'])}
17 ${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']),class_="repo_name %s" % repo['dbrepo']['repo_type'])}
18 </li>
18 </li>
19 %endif
19 %endif
20 %endfor
20 %endfor
@@ -1,92 +1,92 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Settings')} - ${c.rhodecode_name}
5 ${_('%s Settings') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
12 &raquo;
12 &raquo;
13 ${_('Settings')}
13 ${_('Settings')}
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('settings')}
17 ${self.menu('settings')}
18 </%def>
18 </%def>
19 <%def name="main()">
19 <%def name="main()">
20 <div class="box">
20 <div class="box">
21 <!-- box / title -->
21 <!-- box / title -->
22 <div class="title">
22 <div class="title">
23 ${self.breadcrumbs()}
23 ${self.breadcrumbs()}
24 </div>
24 </div>
25 ${h.form(url('repo_settings_update', repo_name=c.repo_info.repo_name),method='put')}
25 ${h.form(url('repo_settings_update', repo_name=c.repo_info.repo_name),method='put')}
26 <div class="form">
26 <div class="form">
27 <!-- fields -->
27 <!-- fields -->
28 <div class="fields">
28 <div class="fields">
29 <div class="field">
29 <div class="field">
30 <div class="label">
30 <div class="label">
31 <label for="repo_name">${_('Name')}:</label>
31 <label for="repo_name">${_('Name')}:</label>
32 </div>
32 </div>
33 <div class="input input-medium">
33 <div class="input input-medium">
34 ${h.text('repo_name',class_="small")}
34 ${h.text('repo_name',class_="small")}
35 </div>
35 </div>
36 </div>
36 </div>
37 <div class="field">
37 <div class="field">
38 <div class="label">
38 <div class="label">
39 <label for="clone_uri">${_('Clone uri')}:</label>
39 <label for="clone_uri">${_('Clone uri')}:</label>
40 </div>
40 </div>
41 <div class="input">
41 <div class="input">
42 ${h.text('clone_uri',class_="medium")}
42 ${h.text('clone_uri',class_="medium")}
43 <span class="help-block">${_('Optional http[s] url from which repository should be cloned.')}</span>
43 <span class="help-block">${_('Optional http[s] url from which repository should be cloned.')}</span>
44 </div>
44 </div>
45 </div>
45 </div>
46 <div class="field">
46 <div class="field">
47 <div class="label">
47 <div class="label">
48 <label for="repo_group">${_('Repository group')}:</label>
48 <label for="repo_group">${_('Repository group')}:</label>
49 </div>
49 </div>
50 <div class="input">
50 <div class="input">
51 ${h.select('repo_group','',c.repo_groups,class_="medium")}
51 ${h.select('repo_group','',c.repo_groups,class_="medium")}
52 <span class="help-block">${_('Optional select a group to put this repository into.')}</span>
52 <span class="help-block">${_('Optional select a group to put this repository into.')}</span>
53 </div>
53 </div>
54 </div>
54 </div>
55 <div class="field">
55 <div class="field">
56 <div class="label label-textarea">
56 <div class="label label-textarea">
57 <label for="description">${_('Description')}:</label>
57 <label for="description">${_('Description')}:</label>
58 </div>
58 </div>
59 <div class="textarea text-area editor">
59 <div class="textarea text-area editor">
60 ${h.textarea('description')}
60 ${h.textarea('description')}
61 <span class="help-block">${_('Keep it short and to the point. Use a README file for longer descriptions.')}</span>
61 <span class="help-block">${_('Keep it short and to the point. Use a README file for longer descriptions.')}</span>
62 </div>
62 </div>
63 </div>
63 </div>
64
64
65 <div class="field">
65 <div class="field">
66 <div class="label label-checkbox">
66 <div class="label label-checkbox">
67 <label for="private">${_('Private repository')}:</label>
67 <label for="private">${_('Private repository')}:</label>
68 </div>
68 </div>
69 <div class="checkboxes">
69 <div class="checkboxes">
70 ${h.checkbox('private',value="True")}
70 ${h.checkbox('private',value="True")}
71 <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
71 <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
72 </div>
72 </div>
73 </div>
73 </div>
74
74
75 <div class="field">
75 <div class="field">
76 <div class="label">
76 <div class="label">
77 <label for="">${_('Permissions')}:</label>
77 <label for="">${_('Permissions')}:</label>
78 </div>
78 </div>
79 <div class="input">
79 <div class="input">
80 <%include file="../admin/repos/repo_edit_perms.html"/>
80 <%include file="../admin/repos/repo_edit_perms.html"/>
81 </div>
81 </div>
82
82
83 <div class="buttons">
83 <div class="buttons">
84 ${h.submit('save',_('Save'),class_="ui-button")}
84 ${h.submit('save',_('Save'),class_="ui-button")}
85 ${h.reset('reset',_('Reset'),class_="ui-button")}
85 ${h.reset('reset',_('Reset'),class_="ui-button")}
86 </div>
86 </div>
87 </div>
87 </div>
88 </div>
88 </div>
89 ${h.end_form()}
89 ${h.end_form()}
90 </div>
90 </div>
91 </div>
91 </div>
92 </%def>
92 </%def>
@@ -1,33 +1,33 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Shortlog')} - ${c.rhodecode_name}
5 ${_('%s Shortlog') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8
8
9 <%def name="breadcrumbs_links()">
9 <%def name="breadcrumbs_links()">
10 ${h.link_to(u'Home',h.url('/'))}
10 ${h.link_to(u'Home',h.url('/'))}
11 &raquo;
11 &raquo;
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 &raquo;
13 &raquo;
14 ${_('shortlog')}
14 ${_('shortlog')}
15 </%def>
15 </%def>
16
16
17 <%def name="page_nav()">
17 <%def name="page_nav()">
18 ${self.menu('shortlog')}
18 ${self.menu('shortlog')}
19 </%def>
19 </%def>
20 <%def name="main()">
20 <%def name="main()">
21 <div class="box">
21 <div class="box">
22 <!-- box / title -->
22 <!-- box / title -->
23 <div class="title">
23 <div class="title">
24 ${self.breadcrumbs()}
24 ${self.breadcrumbs()}
25 </div>
25 </div>
26 <!-- end box / title -->
26 <!-- end box / title -->
27 <div class="table">
27 <div class="table">
28 <div id="shortlog_data">
28 <div id="shortlog_data">
29 ${c.shortlog_data}
29 ${c.shortlog_data}
30 </div>
30 </div>
31 </div>
31 </div>
32 </div>
32 </div>
33 </%def>
33 </%def>
@@ -1,83 +1,83 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 %if c.repo_changesets:
2 %if c.repo_changesets:
3 <table class="table_disp">
3 <table class="table_disp">
4 <tr>
4 <tr>
5 <th class="left">${_('revision')}</th>
5 <th class="left">${_('revision')}</th>
6 <th class="left">${_('commit message')}</th>
6 <th class="left">${_('commit message')}</th>
7 <th class="left">${_('age')}</th>
7 <th class="left">${_('age')}</th>
8 <th class="left">${_('author')}</th>
8 <th class="left">${_('author')}</th>
9 <th class="left">${_('branch')}</th>
9 <th class="left">${_('branch')}</th>
10 <th class="left">${_('tags')}</th>
10 <th class="left">${_('tags')}</th>
11 </tr>
11 </tr>
12 %for cnt,cs in enumerate(c.repo_changesets):
12 %for cnt,cs in enumerate(c.repo_changesets):
13 <tr class="parity${cnt%2}">
13 <tr class="parity${cnt%2}">
14 <td>
14 <td>
15 <div><pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id)}">r${cs.revision}:${h.short_id(cs.raw_id)}</a></pre></div>
15 <div><pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id)}">r${cs.revision}:${h.short_id(cs.raw_id)}</a></pre></div>
16 </td>
16 </td>
17 <td>
17 <td>
18 ${h.link_to(h.truncate(cs.message,50) or _('No commit message'),
18 ${h.link_to(h.truncate(cs.message,50) or _('No commit message'),
19 h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id),
19 h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id),
20 title=cs.message)}
20 title=cs.message)}
21 </td>
21 </td>
22 <td><span class="tooltip" title="${cs.date}">
22 <td><span class="tooltip" title="${h.fmt_date(cs.date)}">
23 ${h.age(cs.date)}</span>
23 ${h.age(cs.date)}</span>
24 </td>
24 </td>
25 <td title="${cs.author}">${h.person(cs.author)}</td>
25 <td title="${cs.author}">${h.person(cs.author)}</td>
26 <td>
26 <td>
27 <span class="logtags">
27 <span class="logtags">
28 %if cs.branch:
28 %if cs.branch:
29 <span class="branchtag">
29 <span class="branchtag">
30 ${cs.branch}
30 ${cs.branch}
31 </span>
31 </span>
32 %endif
32 %endif
33 </span>
33 </span>
34 </td>
34 </td>
35 <td>
35 <td>
36 <span class="logtags">
36 <span class="logtags">
37 %for tag in cs.tags:
37 %for tag in cs.tags:
38 <span class="tagtag">${tag}</span>
38 <span class="tagtag">${tag}</span>
39 %endfor
39 %endfor
40 </span>
40 </span>
41 </td>
41 </td>
42 </tr>
42 </tr>
43 %endfor
43 %endfor
44
44
45 </table>
45 </table>
46
46
47 <script type="text/javascript">
47 <script type="text/javascript">
48 YUE.onDOMReady(function(){
48 YUE.onDOMReady(function(){
49 YUE.delegate("shortlog_data","click",function(e, matchedEl, container){
49 YUE.delegate("shortlog_data","click",function(e, matchedEl, container){
50 ypjax(e.target.href,"shortlog_data",function(){tooltip_activate();});
50 ypjax(e.target.href,"shortlog_data",function(){tooltip_activate();});
51 YUE.preventDefault(e);
51 YUE.preventDefault(e);
52 },'.pager_link');
52 },'.pager_link');
53 });
53 });
54 </script>
54 </script>
55
55
56 <div class="pagination-wh pagination-left">
56 <div class="pagination-wh pagination-left">
57 ${c.repo_changesets.pager('$link_previous ~2~ $link_next')}
57 ${c.repo_changesets.pager('$link_previous ~2~ $link_next')}
58 </div>
58 </div>
59 %else:
59 %else:
60
60
61 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
61 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
62 <h4>${_('Add or upload files directly via RhodeCode')}</h4>
62 <h4>${_('Add or upload files directly via RhodeCode')}</h4>
63 <div style="margin: 20px 30px;">
63 <div style="margin: 20px 30px;">
64 <div id="add_node_id" class="add_node">
64 <div id="add_node_id" class="add_node">
65 <a class="ui-btn" href="${h.url('files_add_home',repo_name=c.repo_name,revision=0,f_path='')}">${_('add new file')}</a>
65 <a class="ui-btn" href="${h.url('files_add_home',repo_name=c.repo_name,revision=0,f_path='')}">${_('add new file')}</a>
66 </div>
66 </div>
67 </div>
67 </div>
68 %endif
68 %endif
69
69
70
70
71 <h4>${_('Push new repo')}</h4>
71 <h4>${_('Push new repo')}</h4>
72 <pre>
72 <pre>
73 ${c.rhodecode_repo.alias} clone ${c.clone_repo_url}
73 ${c.rhodecode_repo.alias} clone ${c.clone_repo_url}
74 ${c.rhodecode_repo.alias} add README # add first file
74 ${c.rhodecode_repo.alias} add README # add first file
75 ${c.rhodecode_repo.alias} commit -m "Initial" # commit with message
75 ${c.rhodecode_repo.alias} commit -m "Initial" # commit with message
76 ${c.rhodecode_repo.alias} push ${'origin master' if h.is_git(c.rhodecode_repo) else ''} # push changes back
76 ${c.rhodecode_repo.alias} push ${'origin master' if h.is_git(c.rhodecode_repo) else ''} # push changes back
77 </pre>
77 </pre>
78
78
79 <h4>${_('Existing repository?')}</h4>
79 <h4>${_('Existing repository?')}</h4>
80 <pre>
80 <pre>
81 ${c.rhodecode_repo.alias} push ${c.clone_repo_url}
81 ${c.rhodecode_repo.alias} push ${c.clone_repo_url}
82 </pre>
82 </pre>
83 %endif
83 %endif
@@ -1,703 +1,703 b''
1 <%inherit file="/base/base.html"/>
1 <%inherit file="/base/base.html"/>
2
2
3 <%def name="title()">
3 <%def name="title()">
4 ${c.repo_name} ${_('Summary')} - ${c.rhodecode_name}
4 ${_('%s Summary') % c.repo_name} - ${c.rhodecode_name}
5 </%def>
5 </%def>
6
6
7 <%def name="breadcrumbs_links()">
7 <%def name="breadcrumbs_links()">
8 ${h.link_to(u'Home',h.url('/'))}
8 ${h.link_to(u'Home',h.url('/'))}
9 &raquo;
9 &raquo;
10 ${h.link_to(c.dbrepo.just_name,h.url('summary_home',repo_name=c.repo_name))}
10 ${h.link_to(c.dbrepo.just_name,h.url('summary_home',repo_name=c.repo_name))}
11 &raquo;
11 &raquo;
12 ${_('summary')}
12 ${_('summary')}
13 </%def>
13 </%def>
14
14
15 <%def name="page_nav()">
15 <%def name="page_nav()">
16 ${self.menu('summary')}
16 ${self.menu('summary')}
17 </%def>
17 </%def>
18
18
19 <%def name="head_extra()">
19 <%def name="head_extra()">
20 <link href="${h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key)}" rel="alternate" title="${_('repo %s ATOM feed') % c.repo_name}" type="application/atom+xml" />
20 <link href="${h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key)}" rel="alternate" title="${_('repo %s ATOM feed') % c.repo_name}" type="application/atom+xml" />
21 <link href="${h.url('rss_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key)}" rel="alternate" title="${_('repo %s RSS feed') % c.repo_name}" type="application/rss+xml" />
21 <link href="${h.url('rss_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key)}" rel="alternate" title="${_('repo %s RSS feed') % c.repo_name}" type="application/rss+xml" />
22 </%def>
22 </%def>
23
23
24 <%def name="main()">
24 <%def name="main()">
25 <%
25 <%
26 summary = lambda n:{False:'summary-short'}.get(n)
26 summary = lambda n:{False:'summary-short'}.get(n)
27 %>
27 %>
28 %if c.show_stats:
28 %if c.show_stats:
29 <div class="box box-left">
29 <div class="box box-left">
30 %else:
30 %else:
31 <div class="box">
31 <div class="box">
32 %endif
32 %endif
33 <!-- box / title -->
33 <!-- box / title -->
34 <div class="title">
34 <div class="title">
35 ${self.breadcrumbs()}
35 ${self.breadcrumbs()}
36 </div>
36 </div>
37 <!-- end box / title -->
37 <!-- end box / title -->
38 <div class="form">
38 <div class="form">
39 <div id="summary" class="fields">
39 <div id="summary" class="fields">
40
40
41 <div class="field">
41 <div class="field">
42 <div class="label-summary">
42 <div class="label-summary">
43 <label>${_('Name')}:</label>
43 <label>${_('Name')}:</label>
44 </div>
44 </div>
45 <div class="input ${summary(c.show_stats)}">
45 <div class="input ${summary(c.show_stats)}">
46 <div style="float:right;padding:5px 0px 0px 5px">
46 <div style="float:right;padding:5px 0px 0px 5px">
47 %if c.rhodecode_user.username != 'default':
47 %if c.rhodecode_user.username != 'default':
48 ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='rss_icon')}
48 ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='rss_icon')}
49 ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='atom_icon')}
49 ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='atom_icon')}
50 %else:
50 %else:
51 ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.dbrepo.repo_name),class_='rss_icon')}
51 ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.dbrepo.repo_name),class_='rss_icon')}
52 ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='atom_icon')}
52 ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='atom_icon')}
53 %endif
53 %endif
54 </div>
54 </div>
55 %if c.rhodecode_user.username != 'default':
55 %if c.rhodecode_user.username != 'default':
56 %if c.following:
56 %if c.following:
57 <span id="follow_toggle" class="following" title="${_('Stop following this repository')}"
57 <span id="follow_toggle" class="following" title="${_('Stop following this repository')}"
58 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
58 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
59 </span>
59 </span>
60 %else:
60 %else:
61 <span id="follow_toggle" class="follow" title="${_('Start following this repository')}"
61 <span id="follow_toggle" class="follow" title="${_('Start following this repository')}"
62 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
62 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
63 </span>
63 </span>
64 %endif
64 %endif
65 %endif:
65 %endif:
66 ##REPO TYPE
66 ##REPO TYPE
67 %if h.is_hg(c.dbrepo):
67 %if h.is_hg(c.dbrepo):
68 <img style="margin-bottom:2px" class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
68 <img style="margin-bottom:2px" class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
69 %endif
69 %endif
70 %if h.is_git(c.dbrepo):
70 %if h.is_git(c.dbrepo):
71 <img style="margin-bottom:2px" class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
71 <img style="margin-bottom:2px" class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
72 %endif
72 %endif
73
73
74 ##PUBLIC/PRIVATE
74 ##PUBLIC/PRIVATE
75 %if c.dbrepo.private:
75 %if c.dbrepo.private:
76 <img style="margin-bottom:2px" class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
76 <img style="margin-bottom:2px" class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
77 %else:
77 %else:
78 <img style="margin-bottom:2px" class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
78 <img style="margin-bottom:2px" class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
79 %endif
79 %endif
80
80
81 ##REPO NAME
81 ##REPO NAME
82 <span class="repo_name" title="${_('Non changable ID %s') % c.dbrepo.repo_id}">${h.repo_link(c.dbrepo.groups_and_repo)}</span>
82 <span class="repo_name" title="${_('Non changable ID %s') % c.dbrepo.repo_id}">${h.repo_link(c.dbrepo.groups_and_repo)}</span>
83
83
84 ##FORK
84 ##FORK
85 %if c.dbrepo.fork:
85 %if c.dbrepo.fork:
86 <div style="margin-top:5px;clear:both"">
86 <div style="margin-top:5px;clear:both"">
87 <a href="${h.url('summary_home',repo_name=c.dbrepo.fork.repo_name)}"><img class="icon" alt="${_('public')}" title="${_('Fork of')} ${c.dbrepo.fork.repo_name}" src="${h.url('/images/icons/arrow_divide.png')}"/>
87 <a href="${h.url('summary_home',repo_name=c.dbrepo.fork.repo_name)}"><img class="icon" alt="${_('public')}" title="${_('Fork of')} ${c.dbrepo.fork.repo_name}" src="${h.url('/images/icons/arrow_divide.png')}"/>
88 ${_('Fork of')} ${c.dbrepo.fork.repo_name}
88 ${_('Fork of')} ${c.dbrepo.fork.repo_name}
89 </a>
89 </a>
90 </div>
90 </div>
91 %endif
91 %endif
92 ##REMOTE
92 ##REMOTE
93 %if c.dbrepo.clone_uri:
93 %if c.dbrepo.clone_uri:
94 <div style="margin-top:5px;clear:both">
94 <div style="margin-top:5px;clear:both">
95 <a href="${h.url(str(h.hide_credentials(c.dbrepo.clone_uri)))}"><img class="icon" alt="${_('remote clone')}" title="${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}" src="${h.url('/images/icons/connect.png')}"/>
95 <a href="${h.url(str(h.hide_credentials(c.dbrepo.clone_uri)))}"><img class="icon" alt="${_('remote clone')}" title="${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}" src="${h.url('/images/icons/connect.png')}"/>
96 ${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}
96 ${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}
97 </a>
97 </a>
98 </div>
98 </div>
99 %endif
99 %endif
100 </div>
100 </div>
101 </div>
101 </div>
102
102
103 <div class="field">
103 <div class="field">
104 <div class="label-summary">
104 <div class="label-summary">
105 <label>${_('Description')}:</label>
105 <label>${_('Description')}:</label>
106 </div>
106 </div>
107 <div class="input ${summary(c.show_stats)} desc">${h.urlify_text(c.dbrepo.description)}</div>
107 <div class="input ${summary(c.show_stats)} desc">${h.urlify_text(c.dbrepo.description)}</div>
108 </div>
108 </div>
109
109
110 <div class="field">
110 <div class="field">
111 <div class="label-summary">
111 <div class="label-summary">
112 <label>${_('Contact')}:</label>
112 <label>${_('Contact')}:</label>
113 </div>
113 </div>
114 <div class="input ${summary(c.show_stats)}">
114 <div class="input ${summary(c.show_stats)}">
115 <div class="gravatar">
115 <div class="gravatar">
116 <img alt="gravatar" src="${h.gravatar_url(c.dbrepo.user.email)}"/>
116 <img alt="gravatar" src="${h.gravatar_url(c.dbrepo.user.email)}"/>
117 </div>
117 </div>
118 ${_('Username')}: ${c.dbrepo.user.username}<br/>
118 ${_('Username')}: ${c.dbrepo.user.username}<br/>
119 ${_('Name')}: ${c.dbrepo.user.name} ${c.dbrepo.user.lastname}<br/>
119 ${_('Name')}: ${c.dbrepo.user.name} ${c.dbrepo.user.lastname}<br/>
120 ${_('Email')}: <a href="mailto:${c.dbrepo.user.email}">${c.dbrepo.user.email}</a>
120 ${_('Email')}: <a href="mailto:${c.dbrepo.user.email}">${c.dbrepo.user.email}</a>
121 </div>
121 </div>
122 </div>
122 </div>
123
123
124 <div class="field">
124 <div class="field">
125 <div class="label-summary">
125 <div class="label-summary">
126 <label>${_('Clone url')}:</label>
126 <label>${_('Clone url')}:</label>
127 </div>
127 </div>
128 <div class="input ${summary(c.show_stats)}">
128 <div class="input ${summary(c.show_stats)}">
129 <div style="display:none" id="clone_by_name" class="ui-btn clone">${_('Show by Name')}</div>
129 <div style="display:none" id="clone_by_name" class="ui-btn clone">${_('Show by Name')}</div>
130 <div id="clone_by_id" class="ui-btn clone">${_('Show by ID')}</div>
130 <div id="clone_by_id" class="ui-btn clone">${_('Show by ID')}</div>
131 <input style="width:80%;margin-left:105px" type="text" id="clone_url" readonly="readonly" value="${c.clone_repo_url}"/>
131 <input style="width:80%;margin-left:105px" type="text" id="clone_url" readonly="readonly" value="${c.clone_repo_url}"/>
132 <input style="display:none;width:80%;margin-left:105px" type="text" id="clone_url_id" readonly="readonly" value="${c.clone_repo_url_id}"/>
132 <input style="display:none;width:80%;margin-left:105px" type="text" id="clone_url_id" readonly="readonly" value="${c.clone_repo_url_id}"/>
133 </div>
133 </div>
134 </div>
134 </div>
135
135
136 <div class="field">
136 <div class="field">
137 <div class="label-summary">
137 <div class="label-summary">
138 <label>${_('Trending files')}:</label>
138 <label>${_('Trending files')}:</label>
139 </div>
139 </div>
140 <div class="input ${summary(c.show_stats)}">
140 <div class="input ${summary(c.show_stats)}">
141 %if c.show_stats:
141 %if c.show_stats:
142 <div id="lang_stats"></div>
142 <div id="lang_stats"></div>
143 %else:
143 %else:
144 ${_('Statistics are disabled for this repository')}
144 ${_('Statistics are disabled for this repository')}
145 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
145 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
146 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
146 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
147 %endif
147 %endif
148 %endif
148 %endif
149 </div>
149 </div>
150 </div>
150 </div>
151
151
152 <div class="field">
152 <div class="field">
153 <div class="label-summary">
153 <div class="label-summary">
154 <label>${_('Download')}:</label>
154 <label>${_('Download')}:</label>
155 </div>
155 </div>
156 <div class="input ${summary(c.show_stats)}">
156 <div class="input ${summary(c.show_stats)}">
157 %if len(c.rhodecode_repo.revisions) == 0:
157 %if len(c.rhodecode_repo.revisions) == 0:
158 ${_('There are no downloads yet')}
158 ${_('There are no downloads yet')}
159 %elif c.enable_downloads is False:
159 %elif c.enable_downloads is False:
160 ${_('Downloads are disabled for this repository')}
160 ${_('Downloads are disabled for this repository')}
161 %if h.HasPermissionAll('hg.admin')('enable downloads on from summary'):
161 %if h.HasPermissionAll('hg.admin')('enable downloads on from summary'):
162 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
162 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
163 %endif
163 %endif
164 %else:
164 %else:
165 ${h.select('download_options',c.rhodecode_repo.get_changeset().raw_id,c.download_options)}
165 ${h.select('download_options',c.rhodecode_repo.get_changeset().raw_id,c.download_options)}
166 <span id="${'zip_link'}">${h.link_to('Download as zip',h.url('files_archive_home',repo_name=c.dbrepo.repo_name,fname='tip.zip'),class_="archive_icon ui-btn")}</span>
166 <span id="${'zip_link'}">${h.link_to(_('Download as zip'), h.url('files_archive_home',repo_name=c.dbrepo.repo_name,fname='tip.zip'),class_="archive_icon ui-btn")}</span>
167 <span style="vertical-align: bottom">
167 <span style="vertical-align: bottom">
168 <input id="archive_subrepos" type="checkbox" name="subrepos" />
168 <input id="archive_subrepos" type="checkbox" name="subrepos" />
169 <label for="archive_subrepos" class="tooltip" title="${_('Check this to download archive with subrepos')}" >${_('with subrepos')}</label>
169 <label for="archive_subrepos" class="tooltip" title="${_('Check this to download archive with subrepos')}" >${_('with subrepos')}</label>
170 </span>
170 </span>
171 %endif
171 %endif
172 </div>
172 </div>
173 </div>
173 </div>
174 </div>
174 </div>
175 </div>
175 </div>
176 </div>
176 </div>
177
177
178 %if c.show_stats:
178 %if c.show_stats:
179 <div class="box box-right" style="min-height:455px">
179 <div class="box box-right" style="min-height:455px">
180 <!-- box / title -->
180 <!-- box / title -->
181 <div class="title">
181 <div class="title">
182 <h5>${_('Commit activity by day / author')}</h5>
182 <h5>${_('Commit activity by day / author')}</h5>
183 </div>
183 </div>
184
184
185 <div class="graph">
185 <div class="graph">
186 <div style="padding:0 10px 10px 17px;">
186 <div style="padding:0 10px 10px 17px;">
187 %if c.no_data:
187 %if c.no_data:
188 ${c.no_data_msg}
188 ${c.no_data_msg}
189 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
189 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
190 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
190 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
191 %endif
191 %endif
192 %else:
192 %else:
193 ${_('Stats gathered: ')} ${c.stats_percentage}%
193 ${_('Stats gathered: ')} ${c.stats_percentage}%
194 %endif
194 %endif
195 </div>
195 </div>
196 <div id="commit_history" style="width:450px;height:300px;float:left"></div>
196 <div id="commit_history" style="width:450px;height:300px;float:left"></div>
197 <div style="clear: both;height: 10px"></div>
197 <div style="clear: both;height: 10px"></div>
198 <div id="overview" style="width:450px;height:100px;float:left"></div>
198 <div id="overview" style="width:450px;height:100px;float:left"></div>
199
199
200 <div id="legend_data" style="clear:both;margin-top:10px;">
200 <div id="legend_data" style="clear:both;margin-top:10px;">
201 <div id="legend_container"></div>
201 <div id="legend_container"></div>
202 <div id="legend_choices">
202 <div id="legend_choices">
203 <table id="legend_choices_tables" class="noborder" style="font-size:smaller;color:#545454"></table>
203 <table id="legend_choices_tables" class="noborder" style="font-size:smaller;color:#545454"></table>
204 </div>
204 </div>
205 </div>
205 </div>
206 </div>
206 </div>
207 </div>
207 </div>
208 %endif
208 %endif
209
209
210 <div class="box">
210 <div class="box">
211 <div class="title">
211 <div class="title">
212 <div class="breadcrumbs">
212 <div class="breadcrumbs">
213 %if c.repo_changesets:
213 %if c.repo_changesets:
214 ${h.link_to(_('Shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}
214 ${h.link_to(_('Shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}
215 %else:
215 %else:
216 ${_('Quick start')}
216 ${_('Quick start')}
217 %endif
217 %endif
218 </div>
218 </div>
219 </div>
219 </div>
220 <div class="table">
220 <div class="table">
221 <div id="shortlog_data">
221 <div id="shortlog_data">
222 <%include file='../shortlog/shortlog_data.html'/>
222 <%include file='../shortlog/shortlog_data.html'/>
223 </div>
223 </div>
224 </div>
224 </div>
225 </div>
225 </div>
226
226
227 %if c.readme_data:
227 %if c.readme_data:
228 <div id="readme" class="box header-pos-fix" style="background-color: #FAFAFA">
228 <div id="readme" class="box header-pos-fix" style="background-color: #FAFAFA">
229 <div id="readme" class="title">
229 <div id="readme" class="title">
230 <div class="breadcrumbs"><a href="${h.url('files_home',repo_name=c.repo_name,revision='tip',f_path=c.readme_file)}">${c.readme_file}</a></div>
230 <div class="breadcrumbs"><a href="${h.url('files_home',repo_name=c.repo_name,revision='tip',f_path=c.readme_file)}">${c.readme_file}</a></div>
231 </div>
231 </div>
232 <div id="readme" class="readme">
232 <div id="readme" class="readme">
233 <div class="readme_box">
233 <div class="readme_box">
234 ${c.readme_data|n}
234 ${c.readme_data|n}
235 </div>
235 </div>
236 </div>
236 </div>
237 </div>
237 </div>
238 %endif
238 %endif
239
239
240 <script type="text/javascript">
240 <script type="text/javascript">
241 var clone_url = 'clone_url';
241 var clone_url = 'clone_url';
242 YUE.on(clone_url,'click',function(e){
242 YUE.on(clone_url,'click',function(e){
243 if(YUD.hasClass(clone_url,'selected')){
243 if(YUD.hasClass(clone_url,'selected')){
244 return
244 return
245 }
245 }
246 else{
246 else{
247 YUD.addClass(clone_url,'selected');
247 YUD.addClass(clone_url,'selected');
248 YUD.get(clone_url).select();
248 YUD.get(clone_url).select();
249 }
249 }
250 })
250 })
251
251
252 YUE.on('clone_by_name','click',function(e){
252 YUE.on('clone_by_name','click',function(e){
253 // show url by name and hide name button
253 // show url by name and hide name button
254 YUD.setStyle('clone_url','display','');
254 YUD.setStyle('clone_url','display','');
255 YUD.setStyle('clone_by_name','display','none');
255 YUD.setStyle('clone_by_name','display','none');
256
256
257 // hide url by id and show name button
257 // hide url by id and show name button
258 YUD.setStyle('clone_by_id','display','');
258 YUD.setStyle('clone_by_id','display','');
259 YUD.setStyle('clone_url_id','display','none');
259 YUD.setStyle('clone_url_id','display','none');
260
260
261 })
261 })
262 YUE.on('clone_by_id','click',function(e){
262 YUE.on('clone_by_id','click',function(e){
263
263
264 // show url by id and hide id button
264 // show url by id and hide id button
265 YUD.setStyle('clone_by_id','display','none');
265 YUD.setStyle('clone_by_id','display','none');
266 YUD.setStyle('clone_url_id','display','');
266 YUD.setStyle('clone_url_id','display','');
267
267
268 // hide url by name and show id button
268 // hide url by name and show id button
269 YUD.setStyle('clone_by_name','display','');
269 YUD.setStyle('clone_by_name','display','');
270 YUD.setStyle('clone_url','display','none');
270 YUD.setStyle('clone_url','display','none');
271 })
271 })
272
272
273
273
274 var tmpl_links = {};
274 var tmpl_links = {};
275 %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
275 %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
276 tmpl_links["${archive['type']}"] = '${h.link_to('__NAME__', h.url('files_archive_home',repo_name=c.dbrepo.repo_name, fname='__CS__'+archive['extension'],subrepos='__SUB__'),class_='archive_icon ui-btn')}';
276 tmpl_links["${archive['type']}"] = '${h.link_to('__NAME__', h.url('files_archive_home',repo_name=c.dbrepo.repo_name, fname='__CS__'+archive['extension'],subrepos='__SUB__'),class_='archive_icon ui-btn')}';
277 %endfor
277 %endfor
278
278
279 YUE.on(['download_options','archive_subrepos'],'change',function(e){
279 YUE.on(['download_options','archive_subrepos'],'change',function(e){
280 var sm = YUD.get('download_options');
280 var sm = YUD.get('download_options');
281 var new_cs = sm.options[sm.selectedIndex];
281 var new_cs = sm.options[sm.selectedIndex];
282
282
283 for(k in tmpl_links){
283 for(k in tmpl_links){
284 var s = YUD.get(k+'_link');
284 var s = YUD.get(k+'_link');
285 if(s){
285 if(s){
286 var title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}";
286 var title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}";
287 title_tmpl= title_tmpl.replace('__CS_NAME__',new_cs.text);
287 title_tmpl= title_tmpl.replace('__CS_NAME__',new_cs.text);
288 title_tmpl = title_tmpl.replace('__CS_EXT__',k);
288 title_tmpl = title_tmpl.replace('__CS_EXT__',k);
289
289
290 var url = tmpl_links[k].replace('__CS__',new_cs.value);
290 var url = tmpl_links[k].replace('__CS__',new_cs.value);
291 var subrepos = YUD.get('archive_subrepos').checked;
291 var subrepos = YUD.get('archive_subrepos').checked;
292 url = url.replace('__SUB__',subrepos);
292 url = url.replace('__SUB__',subrepos);
293 url = url.replace('__NAME__',title_tmpl);
293 url = url.replace('__NAME__',title_tmpl);
294 s.innerHTML = url
294 s.innerHTML = url
295 }
295 }
296 }
296 }
297 });
297 });
298 </script>
298 </script>
299 %if c.show_stats:
299 %if c.show_stats:
300 <script type="text/javascript">
300 <script type="text/javascript">
301 var data = ${c.trending_languages|n};
301 var data = ${c.trending_languages|n};
302 var total = 0;
302 var total = 0;
303 var no_data = true;
303 var no_data = true;
304 var tbl = document.createElement('table');
304 var tbl = document.createElement('table');
305 tbl.setAttribute('class','trending_language_tbl');
305 tbl.setAttribute('class','trending_language_tbl');
306 var cnt = 0;
306 var cnt = 0;
307 for (var i=0;i<data.length;i++){
307 for (var i=0;i<data.length;i++){
308 total+= data[i][1].count;
308 total+= data[i][1].count;
309 }
309 }
310 for (var i=0;i<data.length;i++){
310 for (var i=0;i<data.length;i++){
311 cnt += 1;
311 cnt += 1;
312 no_data = false;
312 no_data = false;
313
313
314 var hide = cnt>2;
314 var hide = cnt>2;
315 var tr = document.createElement('tr');
315 var tr = document.createElement('tr');
316 if (hide){
316 if (hide){
317 tr.setAttribute('style','display:none');
317 tr.setAttribute('style','display:none');
318 tr.setAttribute('class','stats_hidden');
318 tr.setAttribute('class','stats_hidden');
319 }
319 }
320 var k = data[i][0];
320 var k = data[i][0];
321 var obj = data[i][1];
321 var obj = data[i][1];
322 var percentage = Math.round((obj.count/total*100),2);
322 var percentage = Math.round((obj.count/total*100),2);
323
323
324 var td1 = document.createElement('td');
324 var td1 = document.createElement('td');
325 td1.width = 150;
325 td1.width = 150;
326 var trending_language_label = document.createElement('div');
326 var trending_language_label = document.createElement('div');
327 trending_language_label.innerHTML = obj.desc+" ("+k+")";
327 trending_language_label.innerHTML = obj.desc+" ("+k+")";
328 td1.appendChild(trending_language_label);
328 td1.appendChild(trending_language_label);
329
329
330 var td2 = document.createElement('td');
330 var td2 = document.createElement('td');
331 td2.setAttribute('style','padding-right:14px !important');
331 td2.setAttribute('style','padding-right:14px !important');
332 var trending_language = document.createElement('div');
332 var trending_language = document.createElement('div');
333 var nr_files = obj.count+" ${_('files')}";
333 var nr_files = obj.count+" ${_('files')}";
334
334
335 trending_language.title = k+" "+nr_files;
335 trending_language.title = k+" "+nr_files;
336
336
337 if (percentage>22){
337 if (percentage>22){
338 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"% "+nr_files+ "</b>";
338 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"% "+nr_files+ "</b>";
339 }
339 }
340 else{
340 else{
341 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"%</b>";
341 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"%</b>";
342 }
342 }
343
343
344 trending_language.setAttribute("class", 'trending_language top-right-rounded-corner bottom-right-rounded-corner');
344 trending_language.setAttribute("class", 'trending_language top-right-rounded-corner bottom-right-rounded-corner');
345 trending_language.style.width=percentage+"%";
345 trending_language.style.width=percentage+"%";
346 td2.appendChild(trending_language);
346 td2.appendChild(trending_language);
347
347
348 tr.appendChild(td1);
348 tr.appendChild(td1);
349 tr.appendChild(td2);
349 tr.appendChild(td2);
350 tbl.appendChild(tr);
350 tbl.appendChild(tr);
351 if(cnt == 3){
351 if(cnt == 3){
352 var show_more = document.createElement('tr');
352 var show_more = document.createElement('tr');
353 var td = document.createElement('td');
353 var td = document.createElement('td');
354 lnk = document.createElement('a');
354 lnk = document.createElement('a');
355
355
356 lnk.href='#';
356 lnk.href='#';
357 lnk.innerHTML = "${_('show more')}";
357 lnk.innerHTML = "${_('show more')}";
358 lnk.id='code_stats_show_more';
358 lnk.id='code_stats_show_more';
359 td.appendChild(lnk);
359 td.appendChild(lnk);
360
360
361 show_more.appendChild(td);
361 show_more.appendChild(td);
362 show_more.appendChild(document.createElement('td'));
362 show_more.appendChild(document.createElement('td'));
363 tbl.appendChild(show_more);
363 tbl.appendChild(show_more);
364 }
364 }
365
365
366 }
366 }
367
367
368 YUD.get('lang_stats').appendChild(tbl);
368 YUD.get('lang_stats').appendChild(tbl);
369 YUE.on('code_stats_show_more','click',function(){
369 YUE.on('code_stats_show_more','click',function(){
370 l = YUD.getElementsByClassName('stats_hidden')
370 l = YUD.getElementsByClassName('stats_hidden')
371 for (e in l){
371 for (e in l){
372 YUD.setStyle(l[e],'display','');
372 YUD.setStyle(l[e],'display','');
373 };
373 };
374 YUD.setStyle(YUD.get('code_stats_show_more'),
374 YUD.setStyle(YUD.get('code_stats_show_more'),
375 'display','none');
375 'display','none');
376 });
376 });
377 </script>
377 </script>
378 <script type="text/javascript">
378 <script type="text/javascript">
379 /**
379 /**
380 * Plots summary graph
380 * Plots summary graph
381 *
381 *
382 * @class SummaryPlot
382 * @class SummaryPlot
383 * @param {from} initial from for detailed graph
383 * @param {from} initial from for detailed graph
384 * @param {to} initial to for detailed graph
384 * @param {to} initial to for detailed graph
385 * @param {dataset}
385 * @param {dataset}
386 * @param {overview_dataset}
386 * @param {overview_dataset}
387 */
387 */
388 function SummaryPlot(from,to,dataset,overview_dataset) {
388 function SummaryPlot(from,to,dataset,overview_dataset) {
389 var initial_ranges = {
389 var initial_ranges = {
390 "xaxis":{
390 "xaxis":{
391 "from":from,
391 "from":from,
392 "to":to,
392 "to":to,
393 },
393 },
394 };
394 };
395 var dataset = dataset;
395 var dataset = dataset;
396 var overview_dataset = [overview_dataset];
396 var overview_dataset = [overview_dataset];
397 var choiceContainer = YUD.get("legend_choices");
397 var choiceContainer = YUD.get("legend_choices");
398 var choiceContainerTable = YUD.get("legend_choices_tables");
398 var choiceContainerTable = YUD.get("legend_choices_tables");
399 var plotContainer = YUD.get('commit_history');
399 var plotContainer = YUD.get('commit_history');
400 var overviewContainer = YUD.get('overview');
400 var overviewContainer = YUD.get('overview');
401
401
402 var plot_options = {
402 var plot_options = {
403 bars: {show:true,align:'center',lineWidth:4},
403 bars: {show:true,align:'center',lineWidth:4},
404 legend: {show:true, container:"legend_container"},
404 legend: {show:true, container:"legend_container"},
405 points: {show:true,radius:0,fill:false},
405 points: {show:true,radius:0,fill:false},
406 yaxis: {tickDecimals:0,},
406 yaxis: {tickDecimals:0,},
407 xaxis: {
407 xaxis: {
408 mode: "time",
408 mode: "time",
409 timeformat: "%d/%m",
409 timeformat: "%d/%m",
410 min:from,
410 min:from,
411 max:to,
411 max:to,
412 },
412 },
413 grid: {
413 grid: {
414 hoverable: true,
414 hoverable: true,
415 clickable: true,
415 clickable: true,
416 autoHighlight:true,
416 autoHighlight:true,
417 color: "#999"
417 color: "#999"
418 },
418 },
419 //selection: {mode: "x"}
419 //selection: {mode: "x"}
420 };
420 };
421 var overview_options = {
421 var overview_options = {
422 legend:{show:false},
422 legend:{show:false},
423 bars: {show:true,barWidth: 2,},
423 bars: {show:true,barWidth: 2,},
424 shadowSize: 0,
424 shadowSize: 0,
425 xaxis: {mode: "time", timeformat: "%d/%m/%y",},
425 xaxis: {mode: "time", timeformat: "%d/%m/%y",},
426 yaxis: {ticks: 3, min: 0,tickDecimals:0,},
426 yaxis: {ticks: 3, min: 0,tickDecimals:0,},
427 grid: {color: "#999",},
427 grid: {color: "#999",},
428 selection: {mode: "x"}
428 selection: {mode: "x"}
429 };
429 };
430
430
431 /**
431 /**
432 *get dummy data needed in few places
432 *get dummy data needed in few places
433 */
433 */
434 function getDummyData(label){
434 function getDummyData(label){
435 return {"label":label,
435 return {"label":label,
436 "data":[{"time":0,
436 "data":[{"time":0,
437 "commits":0,
437 "commits":0,
438 "added":0,
438 "added":0,
439 "changed":0,
439 "changed":0,
440 "removed":0,
440 "removed":0,
441 }],
441 }],
442 "schema":["commits"],
442 "schema":["commits"],
443 "color":'#ffffff',
443 "color":'#ffffff',
444 }
444 }
445 }
445 }
446
446
447 /**
447 /**
448 * generate checkboxes accordindly to data
448 * generate checkboxes accordindly to data
449 * @param keys
449 * @param keys
450 * @returns
450 * @returns
451 */
451 */
452 function generateCheckboxes(data) {
452 function generateCheckboxes(data) {
453 //append checkboxes
453 //append checkboxes
454 var i = 0;
454 var i = 0;
455 choiceContainerTable.innerHTML = '';
455 choiceContainerTable.innerHTML = '';
456 for(var pos in data) {
456 for(var pos in data) {
457
457
458 data[pos].color = i;
458 data[pos].color = i;
459 i++;
459 i++;
460 if(data[pos].label != ''){
460 if(data[pos].label != ''){
461 choiceContainerTable.innerHTML +=
461 choiceContainerTable.innerHTML +=
462 '<tr><td><input type="checkbox" id="id_user_{0}" name="{0}" checked="checked" /> \
462 '<tr><td><input type="checkbox" id="id_user_{0}" name="{0}" checked="checked" /> \
463 <label for="id_user_{0}">{0}</label></td></tr>'.format(data[pos].label);
463 <label for="id_user_{0}">{0}</label></td></tr>'.format(data[pos].label);
464 }
464 }
465 }
465 }
466 }
466 }
467
467
468 /**
468 /**
469 * ToolTip show
469 * ToolTip show
470 */
470 */
471 function showTooltip(x, y, contents) {
471 function showTooltip(x, y, contents) {
472 var div=document.getElementById('tooltip');
472 var div=document.getElementById('tooltip');
473 if(!div) {
473 if(!div) {
474 div = document.createElement('div');
474 div = document.createElement('div');
475 div.id="tooltip";
475 div.id="tooltip";
476 div.style.position="absolute";
476 div.style.position="absolute";
477 div.style.border='1px solid #fdd';
477 div.style.border='1px solid #fdd';
478 div.style.padding='2px';
478 div.style.padding='2px';
479 div.style.backgroundColor='#fee';
479 div.style.backgroundColor='#fee';
480 document.body.appendChild(div);
480 document.body.appendChild(div);
481 }
481 }
482 YUD.setStyle(div, 'opacity', 0);
482 YUD.setStyle(div, 'opacity', 0);
483 div.innerHTML = contents;
483 div.innerHTML = contents;
484 div.style.top=(y + 5) + "px";
484 div.style.top=(y + 5) + "px";
485 div.style.left=(x + 5) + "px";
485 div.style.left=(x + 5) + "px";
486
486
487 var anim = new YAHOO.util.Anim(div, {opacity: {to: 0.8}}, 0.2);
487 var anim = new YAHOO.util.Anim(div, {opacity: {to: 0.8}}, 0.2);
488 anim.animate();
488 anim.animate();
489 }
489 }
490
490
491 /**
491 /**
492 * This function will detect if selected period has some changesets
492 * This function will detect if selected period has some changesets
493 for this user if it does this data is then pushed for displaying
493 for this user if it does this data is then pushed for displaying
494 Additionally it will only display users that are selected by the checkbox
494 Additionally it will only display users that are selected by the checkbox
495 */
495 */
496 function getDataAccordingToRanges(ranges) {
496 function getDataAccordingToRanges(ranges) {
497
497
498 var data = [];
498 var data = [];
499 var new_dataset = {};
499 var new_dataset = {};
500 var keys = [];
500 var keys = [];
501 var max_commits = 0;
501 var max_commits = 0;
502 for(var key in dataset){
502 for(var key in dataset){
503
503
504 for(var ds in dataset[key].data){
504 for(var ds in dataset[key].data){
505 commit_data = dataset[key].data[ds];
505 commit_data = dataset[key].data[ds];
506 if (commit_data.time >= ranges.xaxis.from && commit_data.time <= ranges.xaxis.to){
506 if (commit_data.time >= ranges.xaxis.from && commit_data.time <= ranges.xaxis.to){
507
507
508 if(new_dataset[key] === undefined){
508 if(new_dataset[key] === undefined){
509 new_dataset[key] = {data:[],schema:["commits"],label:key};
509 new_dataset[key] = {data:[],schema:["commits"],label:key};
510 }
510 }
511 new_dataset[key].data.push(commit_data);
511 new_dataset[key].data.push(commit_data);
512 }
512 }
513 }
513 }
514 if (new_dataset[key] !== undefined){
514 if (new_dataset[key] !== undefined){
515 data.push(new_dataset[key]);
515 data.push(new_dataset[key]);
516 }
516 }
517 }
517 }
518
518
519 if (data.length > 0){
519 if (data.length > 0){
520 return data;
520 return data;
521 }
521 }
522 else{
522 else{
523 //just return dummy data for graph to plot itself
523 //just return dummy data for graph to plot itself
524 return [getDummyData('')];
524 return [getDummyData('')];
525 }
525 }
526 }
526 }
527
527
528 /**
528 /**
529 * redraw using new checkbox data
529 * redraw using new checkbox data
530 */
530 */
531 function plotchoiced(e,args){
531 function plotchoiced(e,args){
532 var cur_data = args[0];
532 var cur_data = args[0];
533 var cur_ranges = args[1];
533 var cur_ranges = args[1];
534
534
535 var new_data = [];
535 var new_data = [];
536 var inputs = choiceContainer.getElementsByTagName("input");
536 var inputs = choiceContainer.getElementsByTagName("input");
537
537
538 //show only checked labels
538 //show only checked labels
539 for(var i=0; i<inputs.length; i++) {
539 for(var i=0; i<inputs.length; i++) {
540 var checkbox_key = inputs[i].name;
540 var checkbox_key = inputs[i].name;
541
541
542 if(inputs[i].checked){
542 if(inputs[i].checked){
543 for(var d in cur_data){
543 for(var d in cur_data){
544 if(cur_data[d].label == checkbox_key){
544 if(cur_data[d].label == checkbox_key){
545 new_data.push(cur_data[d]);
545 new_data.push(cur_data[d]);
546 }
546 }
547 }
547 }
548 }
548 }
549 else{
549 else{
550 //push dummy data to not hide the label
550 //push dummy data to not hide the label
551 new_data.push(getDummyData(checkbox_key));
551 new_data.push(getDummyData(checkbox_key));
552 }
552 }
553 }
553 }
554
554
555 var new_options = YAHOO.lang.merge(plot_options, {
555 var new_options = YAHOO.lang.merge(plot_options, {
556 xaxis: {
556 xaxis: {
557 min: cur_ranges.xaxis.from,
557 min: cur_ranges.xaxis.from,
558 max: cur_ranges.xaxis.to,
558 max: cur_ranges.xaxis.to,
559 mode:"time",
559 mode:"time",
560 timeformat: "%d/%m",
560 timeformat: "%d/%m",
561 },
561 },
562 });
562 });
563 if (!new_data){
563 if (!new_data){
564 new_data = [[0,1]];
564 new_data = [[0,1]];
565 }
565 }
566 // do the zooming
566 // do the zooming
567 plot = YAHOO.widget.Flot(plotContainer, new_data, new_options);
567 plot = YAHOO.widget.Flot(plotContainer, new_data, new_options);
568
568
569 plot.subscribe("plotselected", plotselected);
569 plot.subscribe("plotselected", plotselected);
570
570
571 //resubscribe plothover
571 //resubscribe plothover
572 plot.subscribe("plothover", plothover);
572 plot.subscribe("plothover", plothover);
573
573
574 // don't fire event on the overview to prevent eternal loop
574 // don't fire event on the overview to prevent eternal loop
575 overview.setSelection(cur_ranges, true);
575 overview.setSelection(cur_ranges, true);
576
576
577 }
577 }
578
578
579 /**
579 /**
580 * plot only selected items from overview
580 * plot only selected items from overview
581 * @param ranges
581 * @param ranges
582 * @returns
582 * @returns
583 */
583 */
584 function plotselected(ranges,cur_data) {
584 function plotselected(ranges,cur_data) {
585 //updates the data for new plot
585 //updates the data for new plot
586 var data = getDataAccordingToRanges(ranges);
586 var data = getDataAccordingToRanges(ranges);
587 generateCheckboxes(data);
587 generateCheckboxes(data);
588
588
589 var new_options = YAHOO.lang.merge(plot_options, {
589 var new_options = YAHOO.lang.merge(plot_options, {
590 xaxis: {
590 xaxis: {
591 min: ranges.xaxis.from,
591 min: ranges.xaxis.from,
592 max: ranges.xaxis.to,
592 max: ranges.xaxis.to,
593 mode:"time",
593 mode:"time",
594 timeformat: "%d/%m",
594 timeformat: "%d/%m",
595 },
595 },
596 });
596 });
597 // do the zooming
597 // do the zooming
598 plot = YAHOO.widget.Flot(plotContainer, data, new_options);
598 plot = YAHOO.widget.Flot(plotContainer, data, new_options);
599
599
600 plot.subscribe("plotselected", plotselected);
600 plot.subscribe("plotselected", plotselected);
601
601
602 //resubscribe plothover
602 //resubscribe plothover
603 plot.subscribe("plothover", plothover);
603 plot.subscribe("plothover", plothover);
604
604
605 // don't fire event on the overview to prevent eternal loop
605 // don't fire event on the overview to prevent eternal loop
606 overview.setSelection(ranges, true);
606 overview.setSelection(ranges, true);
607
607
608 //resubscribe choiced
608 //resubscribe choiced
609 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, ranges]);
609 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, ranges]);
610 }
610 }
611
611
612 var previousPoint = null;
612 var previousPoint = null;
613
613
614 function plothover(o) {
614 function plothover(o) {
615 var pos = o.pos;
615 var pos = o.pos;
616 var item = o.item;
616 var item = o.item;
617
617
618 //YUD.get("x").innerHTML = pos.x.toFixed(2);
618 //YUD.get("x").innerHTML = pos.x.toFixed(2);
619 //YUD.get("y").innerHTML = pos.y.toFixed(2);
619 //YUD.get("y").innerHTML = pos.y.toFixed(2);
620 if (item) {
620 if (item) {
621 if (previousPoint != item.datapoint) {
621 if (previousPoint != item.datapoint) {
622 previousPoint = item.datapoint;
622 previousPoint = item.datapoint;
623
623
624 var tooltip = YUD.get("tooltip");
624 var tooltip = YUD.get("tooltip");
625 if(tooltip) {
625 if(tooltip) {
626 tooltip.parentNode.removeChild(tooltip);
626 tooltip.parentNode.removeChild(tooltip);
627 }
627 }
628 var x = item.datapoint.x.toFixed(2);
628 var x = item.datapoint.x.toFixed(2);
629 var y = item.datapoint.y.toFixed(2);
629 var y = item.datapoint.y.toFixed(2);
630
630
631 if (!item.series.label){
631 if (!item.series.label){
632 item.series.label = 'commits';
632 item.series.label = 'commits';
633 }
633 }
634 var d = new Date(x*1000);
634 var d = new Date(x*1000);
635 var fd = d.toDateString()
635 var fd = d.toDateString()
636 var nr_commits = parseInt(y);
636 var nr_commits = parseInt(y);
637
637
638 var cur_data = dataset[item.series.label].data[item.dataIndex];
638 var cur_data = dataset[item.series.label].data[item.dataIndex];
639 var added = cur_data.added;
639 var added = cur_data.added;
640 var changed = cur_data.changed;
640 var changed = cur_data.changed;
641 var removed = cur_data.removed;
641 var removed = cur_data.removed;
642
642
643 var nr_commits_suffix = " ${_('commits')} ";
643 var nr_commits_suffix = " ${_('commits')} ";
644 var added_suffix = " ${_('files added')} ";
644 var added_suffix = " ${_('files added')} ";
645 var changed_suffix = " ${_('files changed')} ";
645 var changed_suffix = " ${_('files changed')} ";
646 var removed_suffix = " ${_('files removed')} ";
646 var removed_suffix = " ${_('files removed')} ";
647
647
648
648
649 if(nr_commits == 1){nr_commits_suffix = " ${_('commit')} ";}
649 if(nr_commits == 1){nr_commits_suffix = " ${_('commit')} ";}
650 if(added==1){added_suffix=" ${_('file added')} ";}
650 if(added==1){added_suffix=" ${_('file added')} ";}
651 if(changed==1){changed_suffix=" ${_('file changed')} ";}
651 if(changed==1){changed_suffix=" ${_('file changed')} ";}
652 if(removed==1){removed_suffix=" ${_('file removed')} ";}
652 if(removed==1){removed_suffix=" ${_('file removed')} ";}
653
653
654 showTooltip(item.pageX, item.pageY, item.series.label + " on " + fd
654 showTooltip(item.pageX, item.pageY, item.series.label + " on " + fd
655 +'<br/>'+
655 +'<br/>'+
656 nr_commits + nr_commits_suffix+'<br/>'+
656 nr_commits + nr_commits_suffix+'<br/>'+
657 added + added_suffix +'<br/>'+
657 added + added_suffix +'<br/>'+
658 changed + changed_suffix + '<br/>'+
658 changed + changed_suffix + '<br/>'+
659 removed + removed_suffix + '<br/>');
659 removed + removed_suffix + '<br/>');
660 }
660 }
661 }
661 }
662 else {
662 else {
663 var tooltip = YUD.get("tooltip");
663 var tooltip = YUD.get("tooltip");
664
664
665 if(tooltip) {
665 if(tooltip) {
666 tooltip.parentNode.removeChild(tooltip);
666 tooltip.parentNode.removeChild(tooltip);
667 }
667 }
668 previousPoint = null;
668 previousPoint = null;
669 }
669 }
670 }
670 }
671
671
672 /**
672 /**
673 * MAIN EXECUTION
673 * MAIN EXECUTION
674 */
674 */
675
675
676 var data = getDataAccordingToRanges(initial_ranges);
676 var data = getDataAccordingToRanges(initial_ranges);
677 generateCheckboxes(data);
677 generateCheckboxes(data);
678
678
679 //main plot
679 //main plot
680 var plot = YAHOO.widget.Flot(plotContainer,data,plot_options);
680 var plot = YAHOO.widget.Flot(plotContainer,data,plot_options);
681
681
682 //overview
682 //overview
683 var overview = YAHOO.widget.Flot(overviewContainer,
683 var overview = YAHOO.widget.Flot(overviewContainer,
684 overview_dataset, overview_options);
684 overview_dataset, overview_options);
685
685
686 //show initial selection on overview
686 //show initial selection on overview
687 overview.setSelection(initial_ranges);
687 overview.setSelection(initial_ranges);
688
688
689 plot.subscribe("plotselected", plotselected);
689 plot.subscribe("plotselected", plotselected);
690 plot.subscribe("plothover", plothover)
690 plot.subscribe("plothover", plothover)
691
691
692 overview.subscribe("plotselected", function (ranges) {
692 overview.subscribe("plotselected", function (ranges) {
693 plot.setSelection(ranges);
693 plot.setSelection(ranges);
694 });
694 });
695
695
696 // user choices on overview
696 // user choices on overview
697 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, initial_ranges]);
697 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, initial_ranges]);
698 }
698 }
699 SummaryPlot(${c.ts_min},${c.ts_max},${c.commit_data|n},${c.overview_data|n});
699 SummaryPlot(${c.ts_min},${c.ts_max},${c.commit_data|n},${c.overview_data|n});
700 </script>
700 </script>
701 %endif
701 %endif
702
702
703 </%def>
703 </%def>
@@ -1,76 +1,76 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 ${c.repo_name} ${_('Tags')} - ${c.rhodecode_name}
5 ${_('%s Tags') % c.repo_name} - ${c.rhodecode_name}
6 </%def>
6 </%def>
7
7
8
8
9 <%def name="breadcrumbs_links()">
9 <%def name="breadcrumbs_links()">
10 <input class="q_filter_box" id="q_filter_tags" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
10 <input class="q_filter_box" id="q_filter_tags" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
11 ${h.link_to(u'Home',h.url('/'))}
11 ${h.link_to(u'Home',h.url('/'))}
12 &raquo;
12 &raquo;
13 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
14 &raquo;
14 &raquo;
15 ${_('tags')}
15 ${_('tags')}
16 </%def>
16 </%def>
17
17
18 <%def name="page_nav()">
18 <%def name="page_nav()">
19 ${self.menu('tags')}
19 ${self.menu('tags')}
20 </%def>
20 </%def>
21 <%def name="main()">
21 <%def name="main()">
22 <div class="box">
22 <div class="box">
23 <!-- box / title -->
23 <!-- box / title -->
24 <div class="title">
24 <div class="title">
25 ${self.breadcrumbs()}
25 ${self.breadcrumbs()}
26 </div>
26 </div>
27 <!-- end box / title -->
27 <!-- end box / title -->
28 <div class="table">
28 <div class="table">
29 <%include file='tags_data.html'/>
29 <%include file='tags_data.html'/>
30 </div>
30 </div>
31 </div>
31 </div>
32 <script type="text/javascript">
32 <script type="text/javascript">
33
33
34 // main table sorting
34 // main table sorting
35 var myColumnDefs = [
35 var myColumnDefs = [
36 {key:"name",label:"${_('Name')}",sortable:true},
36 {key:"name",label:"${_('Name')}",sortable:true},
37 {key:"date",label:"${_('Date')}",sortable:true,
37 {key:"date",label:"${_('Date')}",sortable:true,
38 sortOptions: { sortFunction: dateSort }},
38 sortOptions: { sortFunction: dateSort }},
39 {key:"author",label:"${_('Author')}",sortable:true},
39 {key:"author",label:"${_('Author')}",sortable:true},
40 {key:"revision",label:"${_('Revision')}",sortable:true,
40 {key:"revision",label:"${_('Revision')}",sortable:true,
41 sortOptions: { sortFunction: revisionSort }},
41 sortOptions: { sortFunction: revisionSort }},
42 ];
42 ];
43
43
44 var myDataSource = new YAHOO.util.DataSource(YUD.get("tags_data"));
44 var myDataSource = new YAHOO.util.DataSource(YUD.get("tags_data"));
45
45
46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
47
47
48 myDataSource.responseSchema = {
48 myDataSource.responseSchema = {
49 fields: [
49 fields: [
50 {key:"name"},
50 {key:"name"},
51 {key:"date"},
51 {key:"date"},
52 {key:"author"},
52 {key:"author"},
53 {key:"revision"},
53 {key:"revision"},
54 ]
54 ]
55 };
55 };
56
56
57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
58 {
58 {
59 sortedBy:{key:"name",dir:"asc"},
59 sortedBy:{key:"name",dir:"asc"},
60 MSG_SORTASC:"${_('Click to sort ascending')}",
60 MSG_SORTASC:"${_('Click to sort ascending')}",
61 MSG_SORTDESC:"${_('Click to sort descending')}",
61 MSG_SORTDESC:"${_('Click to sort descending')}",
62 MSG_EMPTY:"${_('No records found.')}",
62 MSG_EMPTY:"${_('No records found.')}",
63 MSG_ERROR:"${_('Data error.')}",
63 MSG_ERROR:"${_('Data error.')}",
64 MSG_LOADING:"${_('Loading...')}",
64 MSG_LOADING:"${_('Loading...')}",
65 }
65 }
66 );
66 );
67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
68 tooltip_activate();
68 tooltip_activate();
69 var func = function(node){
69 var func = function(node){
70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
71 }
71 }
72 q_filter('q_filter_tags',YUQ('div.table tr td .logtags .tagtag a'),func);
72 q_filter('q_filter_tags',YUQ('div.table tr td .logtags .tagtag a'),func);
73 });
73 });
74
74
75 </script>
75 </script>
76 </%def>
76 </%def>
@@ -1,34 +1,34 b''
1 %if c.repo_tags:
1 %if c.repo_tags:
2 <div id="table_wrap" class="yui-skin-sam">
2 <div id="table_wrap" class="yui-skin-sam">
3 <table id="tags_data">
3 <table id="tags_data">
4 <thead>
4 <thead>
5 <tr>
5 <tr>
6 <th class="left">${_('Name')}</th>
6 <th class="left">${_('Name')}</th>
7 <th class="left">${_('Date')}</th>
7 <th class="left">${_('Date')}</th>
8 <th class="left">${_('Author')}</th>
8 <th class="left">${_('Author')}</th>
9 <th class="left">${_('Revision')}</th>
9 <th class="left">${_('Revision')}</th>
10 </tr>
10 </tr>
11 </thead>
11 </thead>
12 %for cnt,tag in enumerate(c.repo_tags.items()):
12 %for cnt,tag in enumerate(c.repo_tags.items()):
13 <tr class="parity${cnt%2}">
13 <tr class="parity${cnt%2}">
14 <td>
14 <td>
15 <span class="logtags">
15 <span class="logtags">
16 <span class="tagtag">${h.link_to(tag[0],
16 <span class="tagtag">${h.link_to(tag[0],
17 h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
17 h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
18 </span>
18 </span>
19 </span>
19 </span>
20 </td>
20 </td>
21 <td><span class="tooltip" title="${h.age(tag[1].date)}">${tag[1].date}</span></td>
21 <td><span class="tooltip" title="${h.age(tag[1].date)}">${h.fmt_date(tag[1].date)}</span></td>
22 <td title="${tag[1].author}">${h.person(tag[1].author)}</td>
22 <td title="${tag[1].author}">${h.person(tag[1].author)}</td>
23 <td>
23 <td>
24 <div>
24 <div>
25 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id)}">r${tag[1].revision}:${h.short_id(tag[1].raw_id)}</a></pre>
25 <pre><a href="${h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id)}">r${tag[1].revision}:${h.short_id(tag[1].raw_id)}</a></pre>
26 </div>
26 </div>
27 </td>
27 </td>
28 </tr>
28 </tr>
29 %endfor
29 %endfor
30 </table>
30 </table>
31 </div>
31 </div>
32 %else:
32 %else:
33 ${_('There are no tags yet')}
33 ${_('There are no tags yet')}
34 %endif
34 %endif
General Comments 0
You need to be logged in to leave comments. Login now