##// 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 1 # -*- coding: utf-8 -*-
2 2 """
3 3 rhodecode.controllers.feed
4 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~
5 5
6 6 Feed controller for rhodecode
7 7
8 8 :created_on: Apr 23, 2010
9 9 :author: marcink
10 10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
11 11 :license: GPLv3, see COPYING for more details.
12 12 """
13 13 # This program is free software: you can redistribute it and/or modify
14 14 # it under the terms of the GNU General Public License as published by
15 15 # the Free Software Foundation, either version 3 of the License, or
16 16 # (at your option) any later version.
17 17 #
18 18 # This program is distributed in the hope that it will be useful,
19 19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 21 # GNU General Public License for more details.
22 22 #
23 23 # You should have received a copy of the GNU General Public License
24 24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25 25
26 26 import logging
27 27
28 28 from pylons import url, response, tmpl_context as c
29 29 from pylons.i18n.translation import _
30 30
31 31 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
32 32
33 33 from rhodecode.lib import helpers as h
34 34 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
35 35 from rhodecode.lib.base import BaseRepoController
36 36 from rhodecode.lib.diffs import DiffProcessor
37 37
38 38 log = logging.getLogger(__name__)
39 39
40 40
41 41 class FeedController(BaseRepoController):
42 42
43 43 @LoginRequired(api_access=True)
44 44 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
45 45 'repository.admin')
46 46 def __before__(self):
47 47 super(FeedController, self).__before__()
48 48 #common values for feeds
49 49 self.description = _('Changes on %s repository')
50 50 self.title = self.title = _('%s %s feed') % (c.rhodecode_name, '%s')
51 51 self.language = 'en-us'
52 52 self.ttl = "5"
53 53 self.feed_nr = 20
54 54
55 55 def _get_title(self, cs):
56 56 return "%s" % (
57 57 h.shorter(cs.message, 160)
58 58 )
59 59
60 60 def __changes(self, cs):
61 61 changes = []
62 62
63 63 diffprocessor = DiffProcessor(cs.diff())
64 64 stats = diffprocessor.prepare(inline_diff=False)
65 65 for st in stats:
66 66 st.update({'added': st['stats'][0],
67 67 'removed': st['stats'][1]})
68 68 changes.append('\n %(operation)s %(filename)s '
69 69 '(%(added)s lines added, %(removed)s lines removed)'
70 70 % st)
71 71 return changes
72 72
73 73 def __get_desc(self, cs):
74 74 desc_msg = []
75 75 desc_msg.append('%s %s %s:<br/>' % (cs.author, _('commited on'),
76 cs.date))
76 h.fmt_date(cs.date)))
77 77 desc_msg.append('<pre>')
78 78 desc_msg.append(cs.message)
79 79 desc_msg.append('\n')
80 80 desc_msg.extend(self.__changes(cs))
81 81 desc_msg.append('</pre>')
82 82 return desc_msg
83 83
84 84 def atom(self, repo_name):
85 85 """Produce an atom-1.0 feed via feedgenerator module"""
86 86 feed = Atom1Feed(
87 87 title=self.title % repo_name,
88 88 link=url('summary_home', repo_name=repo_name,
89 89 qualified=True),
90 90 description=self.description % repo_name,
91 91 language=self.language,
92 92 ttl=self.ttl
93 93 )
94 94
95 95 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])):
96 96 feed.add_item(title=self._get_title(cs),
97 97 link=url('changeset_home', repo_name=repo_name,
98 98 revision=cs.raw_id, qualified=True),
99 99 author_name=cs.author,
100 100 description=''.join(self.__get_desc(cs)),
101 101 pubdate=cs.date,
102 102 )
103 103
104 104 response.content_type = feed.mime_type
105 105 return feed.writeString('utf-8')
106 106
107 107 def rss(self, repo_name):
108 108 """Produce an rss2 feed via feedgenerator module"""
109 109 feed = Rss201rev2Feed(
110 110 title=self.title % repo_name,
111 111 link=url('summary_home', repo_name=repo_name,
112 112 qualified=True),
113 113 description=self.description % repo_name,
114 114 language=self.language,
115 115 ttl=self.ttl
116 116 )
117 117
118 118 for cs in reversed(list(c.rhodecode_repo[-self.feed_nr:])):
119 119 feed.add_item(title=self._get_title(cs),
120 120 link=url('changeset_home', repo_name=repo_name,
121 121 revision=cs.raw_id, qualified=True),
122 122 author_name=cs.author,
123 123 description=''.join(self.__get_desc(cs)),
124 124 pubdate=cs.date,
125 125 )
126 126
127 127 response.content_type = feed.mime_type
128 128 return feed.writeString('utf-8')
1 NO CONTENT: modified file, binary diff hidden
@@ -1,3172 +1,3231 b''
1 1 # French translations for RhodeCode.
2 2 # Copyright (C) 2011 ORGANIZATION
3 3 # This file is distributed under the same license as the RhodeCode project.
4 4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
5 5 #
6 6 msgid ""
7 7 msgstr ""
8 8 "Project-Id-Version: RhodeCode 1.1.5\n"
9 9 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10 "POT-Creation-Date: 2012-06-03 01:06+0200\n"
11 "PO-Revision-Date: 2012-05-20 11:36+0100\n"
10 "POT-Creation-Date: 2012-06-05 20:42+0200\n"
11 "PO-Revision-Date: 2012-06-05 20:07+0100\n"
12 12 "Last-Translator: Vincent Duvert <vincent@duvert.net>\n"
13 13 "Language-Team: fr <LL@li.org>\n"
14 14 "Plural-Forms: nplurals=2; plural=(n > 1)\n"
15 15 "MIME-Version: 1.0\n"
16 16 "Content-Type: text/plain; charset=utf-8\n"
17 17 "Content-Transfer-Encoding: 8bit\n"
18 18 "Generated-By: Babel 0.9.6\n"
19 19
20 #: rhodecode/controllers/changelog.py:95
20 #: rhodecode/controllers/changelog.py:94
21 21 msgid "All Branches"
22 22 msgstr "Toutes les branches"
23 23
24 24 #: rhodecode/controllers/changeset.py:80
25 25 msgid "show white space"
26 26 msgstr "afficher les espaces et tabulations"
27 27
28 28 #: rhodecode/controllers/changeset.py:87 rhodecode/controllers/changeset.py:94
29 29 msgid "ignore white space"
30 30 msgstr "ignorer les espaces et tabulations"
31 31
32 32 #: rhodecode/controllers/changeset.py:154
33 33 #, python-format
34 34 msgid "%s line context"
35 35 msgstr "afficher %s lignes de contexte"
36 36
37 37 #: rhodecode/controllers/changeset.py:324
38 38 #: rhodecode/controllers/changeset.py:339 rhodecode/lib/diffs.py:62
39 39 msgid "binary file"
40 40 msgstr "fichier binaire"
41 41
42 42 #: rhodecode/controllers/error.py:69
43 43 msgid "Home page"
44 44 msgstr "Accueil"
45 45
46 46 #: rhodecode/controllers/error.py:98
47 47 msgid "The request could not be understood by the server due to malformed syntax."
48 48 msgstr ""
49 49 "Le serveur n’a pas pu interpréter la requête à cause d’une erreur de "
50 50 "syntaxe"
51 51
52 52 #: rhodecode/controllers/error.py:101
53 53 msgid "Unauthorized access to resource"
54 54 msgstr "Accès interdit à cet ressource"
55 55
56 56 #: rhodecode/controllers/error.py:103
57 57 msgid "You don't have permission to view this page"
58 58 msgstr "Vous n’avez pas la permission de voir cette page"
59 59
60 60 #: rhodecode/controllers/error.py:105
61 61 msgid "The resource could not be found"
62 62 msgstr "Ressource introuvable"
63 63
64 64 #: rhodecode/controllers/error.py:107
65 65 msgid ""
66 66 "The server encountered an unexpected condition which prevented it from "
67 67 "fulfilling the request."
68 68 msgstr ""
69 69 "La requête n’a pu être traitée en raison d’une erreur survenue sur le "
70 70 "serveur."
71 71
72 #: rhodecode/controllers/feed.py:48
72 #: rhodecode/controllers/feed.py:49
73 73 #, python-format
74 74 msgid "Changes on %s repository"
75 75 msgstr "Changements sur le dépôt %s"
76 76
77 #: rhodecode/controllers/feed.py:49
77 #: rhodecode/controllers/feed.py:50
78 78 #, python-format
79 79 msgid "%s %s feed"
80 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 86 #: rhodecode/controllers/files.py:86
83 87 #: rhodecode/templates/admin/repos/repo_add.html:13
84 88 msgid "add new"
85 89 msgstr "ajouter un nouveau"
86 90
87 91 #: rhodecode/controllers/files.py:87
88 92 #, python-format
89 93 msgid "There are no files yet %s"
90 94 msgstr "Il n’y a pas encore de fichiers %s"
91 95
92 96 #: rhodecode/controllers/files.py:247
93 97 #, python-format
94 98 msgid "Edited %s via RhodeCode"
95 99 msgstr "%s édité via RhodeCode"
96 100
97 101 #: rhodecode/controllers/files.py:252
98 102 msgid "No changes"
99 103 msgstr "Aucun changement"
100 104
101 105 #: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
102 106 #, python-format
103 107 msgid "Successfully committed to %s"
104 108 msgstr "Commit réalisé avec succès sur %s"
105 109
106 110 #: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
107 111 msgid "Error occurred during commit"
108 112 msgstr "Une erreur est survenue durant le commit"
109 113
110 114 #: rhodecode/controllers/files.py:288
111 115 #, python-format
112 116 msgid "Added %s via RhodeCode"
113 117 msgstr "%s ajouté par RhodeCode"
114 118
115 119 #: rhodecode/controllers/files.py:302
116 120 msgid "No content"
117 121 msgstr "Aucun contenu"
118 122
119 123 #: rhodecode/controllers/files.py:306
120 124 msgid "No filename"
121 125 msgstr "Aucun nom de fichier"
122 126
123 127 #: rhodecode/controllers/files.py:347
124 128 msgid "downloads disabled"
125 129 msgstr "Les téléchargements sont désactivés"
126 130
127 131 #: rhodecode/controllers/files.py:358
128 132 #, python-format
129 133 msgid "Unknown revision %s"
130 134 msgstr "Révision %s inconnue."
131 135
132 136 #: rhodecode/controllers/files.py:360
133 137 msgid "Empty repository"
134 138 msgstr "Dépôt vide."
135 139
136 140 #: rhodecode/controllers/files.py:362
137 141 msgid "Unknown archive type"
138 142 msgstr "Type d’archive inconnu"
139 143
140 144 #: rhodecode/controllers/files.py:461
141 #: rhodecode/templates/changeset/changeset_range.html:5
142 145 #: rhodecode/templates/changeset/changeset_range.html:13
143 146 #: rhodecode/templates/changeset/changeset_range.html:31
144 147 msgid "Changesets"
145 148 msgstr "Changesets"
146 149
147 150 #: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:230
148 #: rhodecode/templates/branches/branches.html:5
149 151 msgid "Branches"
150 152 msgstr "Branches"
151 153
152 154 #: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:231
153 #: rhodecode/templates/tags/tags.html:5
154 155 msgid "Tags"
155 156 msgstr "Tags"
156 157
157 158 #: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
158 159 #, python-format
159 160 msgid ""
160 161 "%s repository is not mapped to db perhaps it was created or renamed from "
161 162 "the filesystem please run the application again in order to rescan "
162 163 "repositories"
163 164 msgstr ""
164 165 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
165 166 "probablement été créé ou renommé manuellement. Veuillez relancer "
166 167 "l’application pour rescanner les dépôts."
167 168
168 169 #: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
169 170 #, python-format
170 171 msgid ""
171 172 "%s repository is not mapped to db perhaps it was created or renamed from "
172 173 "the file system please run the application again in order to rescan "
173 174 "repositories"
174 175 msgstr ""
175 176 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
176 177 "probablement été créé ou renommé manuellement. Veuillez relancer "
177 178 "l’application pour rescanner les dépôts."
178 179
179 180 #: rhodecode/controllers/forks.py:163
180 181 #, python-format
181 182 msgid "forked %s repository as %s"
182 183 msgstr "dépôt %s forké en tant que %s"
183 184
184 185 #: rhodecode/controllers/forks.py:177
185 186 #, python-format
186 187 msgid "An error occurred during repository forking %s"
187 188 msgstr "Une erreur est survenue durant le fork du dépôt %s."
188 189
189 190 #: rhodecode/controllers/journal.py:53
190 191 #, python-format
191 192 msgid "%s public journal %s feed"
192 193 msgstr "%s — Flux %s du journal public"
193 194
194 195 #: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:223
195 196 #: rhodecode/templates/admin/repos/repo_edit.html:177
196 197 #: rhodecode/templates/base/base.html:307
197 198 #: rhodecode/templates/base/base.html:309
198 199 #: rhodecode/templates/base/base.html:311
199 200 msgid "Public journal"
200 201 msgstr "Journal public"
201 202
202 203 #: rhodecode/controllers/login.py:116
203 204 msgid "You have successfully registered into rhodecode"
204 205 msgstr "Vous vous êtes inscrits avec succès à RhodeCode"
205 206
206 207 #: rhodecode/controllers/login.py:137
207 208 msgid "Your password reset link was sent"
208 209 msgstr "Un lien de rénitialisation de votre mot de passe vous a été envoyé."
209 210
210 211 #: rhodecode/controllers/login.py:157
211 212 msgid ""
212 213 "Your password reset was successful, new password has been sent to your "
213 214 "email"
214 215 msgstr ""
215 216 "Votre mot de passe a été réinitialisé. Votre nouveau mot de passe vous a "
216 217 "été envoyé par e-mail."
217 218
218 219 #: rhodecode/controllers/search.py:114
219 220 msgid "Invalid search query. Try quoting it."
220 221 msgstr "Requête invalide. Essayer de la mettre entre guillemets."
221 222
222 223 #: rhodecode/controllers/search.py:119
223 224 msgid "There is no index to search in. Please run whoosh indexer"
224 225 msgstr ""
225 226 "L’index de recherche n’est pas présent. Veuillez exécuter l’indexeur de "
226 227 "code Whoosh."
227 228
228 229 #: rhodecode/controllers/search.py:123
229 230 msgid "An error occurred during this search operation"
230 231 msgstr "Une erreur est survenue durant l’opération de recherche."
231 232
232 233 #: rhodecode/controllers/settings.py:103
233 234 #: rhodecode/controllers/admin/repos.py:213
234 235 #, python-format
235 236 msgid "Repository %s updated successfully"
236 237 msgstr "Dépôt %s mis à jour avec succès."
237 238
238 239 #: rhodecode/controllers/settings.py:121
239 240 #: rhodecode/controllers/admin/repos.py:231
240 241 #, python-format
241 242 msgid "error occurred during update of repository %s"
242 243 msgstr "Une erreur est survenue lors de la mise à jour du dépôt %s."
243 244
244 245 #: rhodecode/controllers/settings.py:139
245 246 #: rhodecode/controllers/admin/repos.py:249
246 247 #, python-format
247 248 msgid ""
248 249 "%s repository is not mapped to db perhaps it was moved or renamed from "
249 250 "the filesystem please run the application again in order to rescan "
250 251 "repositories"
251 252 msgstr ""
252 253 "Le dépôt %s n’est pas représenté dans la base de données. Il a "
253 254 "probablement été déplacé ou renommé manuellement. Veuillez relancer "
254 255 "l’application pour rescanner les dépôts."
255 256
256 257 #: rhodecode/controllers/settings.py:151
257 258 #: rhodecode/controllers/admin/repos.py:261
258 259 #, python-format
259 260 msgid "deleted repository %s"
260 261 msgstr "Dépôt %s supprimé"
261 262
262 263 #: rhodecode/controllers/settings.py:155
263 264 #: rhodecode/controllers/admin/repos.py:271
264 265 #: rhodecode/controllers/admin/repos.py:277
265 266 #, python-format
266 267 msgid "An error occurred during deletion of %s"
267 268 msgstr "Erreur pendant la suppression de %s"
268 269
269 270 #: rhodecode/controllers/summary.py:138
270 271 msgid "No data loaded yet"
271 272 msgstr "Aucune donnée actuellement disponible."
272 273
273 274 #: rhodecode/controllers/summary.py:142
274 275 #: rhodecode/templates/summary/summary.html:139
275 276 msgid "Statistics are disabled for this repository"
276 277 msgstr "La mise à jour des statistiques est désactivée pour ce dépôt."
277 278
278 279 #: rhodecode/controllers/admin/ldap_settings.py:49
279 280 msgid "BASE"
280 281 msgstr "Base"
281 282
282 283 #: rhodecode/controllers/admin/ldap_settings.py:50
283 284 msgid "ONELEVEL"
284 285 msgstr "Un niveau"
285 286
286 287 #: rhodecode/controllers/admin/ldap_settings.py:51
287 288 msgid "SUBTREE"
288 289 msgstr "Sous-arbre"
289 290
290 291 #: rhodecode/controllers/admin/ldap_settings.py:55
291 292 msgid "NEVER"
292 293 msgstr "NEVER"
293 294
294 295 #: rhodecode/controllers/admin/ldap_settings.py:56
295 296 msgid "ALLOW"
296 297 msgstr "Autoriser"
297 298
298 299 #: rhodecode/controllers/admin/ldap_settings.py:57
299 300 msgid "TRY"
300 301 msgstr "TRY"
301 302
302 303 #: rhodecode/controllers/admin/ldap_settings.py:58
303 304 msgid "DEMAND"
304 305 msgstr "DEMAND"
305 306
306 307 #: rhodecode/controllers/admin/ldap_settings.py:59
307 308 msgid "HARD"
308 309 msgstr "HARD"
309 310
310 311 #: rhodecode/controllers/admin/ldap_settings.py:63
311 312 msgid "No encryption"
312 313 msgstr "Pas de chiffrement"
313 314
314 315 #: rhodecode/controllers/admin/ldap_settings.py:64
315 316 msgid "LDAPS connection"
316 317 msgstr "Connection LDAPS"
317 318
318 319 #: rhodecode/controllers/admin/ldap_settings.py:65
319 320 msgid "START_TLS on LDAP connection"
320 321 msgstr "START_TLS à la connexion"
321 322
322 323 #: rhodecode/controllers/admin/ldap_settings.py:125
323 324 msgid "Ldap settings updated successfully"
324 325 msgstr "Mise à jour réussie des réglages LDAP"
325 326
326 327 #: rhodecode/controllers/admin/ldap_settings.py:129
327 328 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
328 329 msgstr "Impossible d’activer LDAP. La bibliothèque « python-ldap » est manquante."
329 330
330 331 #: rhodecode/controllers/admin/ldap_settings.py:146
331 332 msgid "error occurred during update of ldap settings"
332 333 msgstr "Une erreur est survenue durant la mise à jour des réglages du LDAP."
333 334
334 335 #: rhodecode/controllers/admin/permissions.py:59
335 336 msgid "None"
336 337 msgstr "Aucun"
337 338
338 339 #: rhodecode/controllers/admin/permissions.py:60
339 340 msgid "Read"
340 341 msgstr "Lire"
341 342
342 343 #: rhodecode/controllers/admin/permissions.py:61
343 344 msgid "Write"
344 345 msgstr "Écrire"
345 346
346 347 #: rhodecode/controllers/admin/permissions.py:62
347 348 #: rhodecode/templates/admin/ldap/ldap.html:9
348 349 #: rhodecode/templates/admin/permissions/permissions.html:9
349 350 #: rhodecode/templates/admin/repos/repo_add.html:9
350 351 #: rhodecode/templates/admin/repos/repo_edit.html:9
351 352 #: rhodecode/templates/admin/repos/repos.html:10
352 353 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
353 354 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
354 355 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
355 356 #: rhodecode/templates/admin/settings/hooks.html:9
356 357 #: rhodecode/templates/admin/settings/settings.html:9
357 358 #: rhodecode/templates/admin/users/user_add.html:8
358 359 #: rhodecode/templates/admin/users/user_edit.html:9
359 360 #: rhodecode/templates/admin/users/user_edit.html:122
360 361 #: rhodecode/templates/admin/users/users.html:9
361 362 #: rhodecode/templates/admin/users_groups/users_group_add.html:8
362 363 #: rhodecode/templates/admin/users_groups/users_group_edit.html:9
363 364 #: rhodecode/templates/admin/users_groups/users_groups.html:9
364 365 #: rhodecode/templates/base/base.html:197
365 366 #: rhodecode/templates/base/base.html:326
366 367 #: rhodecode/templates/base/base.html:328
367 368 #: rhodecode/templates/base/base.html:330
368 369 msgid "Admin"
369 370 msgstr "Administration"
370 371
371 372 #: rhodecode/controllers/admin/permissions.py:65
372 373 msgid "disabled"
373 374 msgstr "Désactivé"
374 375
375 376 #: rhodecode/controllers/admin/permissions.py:67
376 377 msgid "allowed with manual account activation"
377 378 msgstr "Autorisé avec activation manuelle du compte"
378 379
379 380 #: rhodecode/controllers/admin/permissions.py:69
380 381 msgid "allowed with automatic account activation"
381 382 msgstr "Autorisé avec activation automatique du compte"
382 383
383 384 #: rhodecode/controllers/admin/permissions.py:71
384 385 msgid "Disabled"
385 386 msgstr "Interdite"
386 387
387 388 #: rhodecode/controllers/admin/permissions.py:72
388 389 msgid "Enabled"
389 390 msgstr "Autorisée"
390 391
391 392 #: rhodecode/controllers/admin/permissions.py:106
392 393 msgid "Default permissions updated successfully"
393 394 msgstr "Permissions par défaut mises à jour avec succès"
394 395
395 396 #: rhodecode/controllers/admin/permissions.py:123
396 397 msgid "error occurred during update of permissions"
397 398 msgstr "erreur pendant la mise à jour des permissions"
398 399
399 400 #: rhodecode/controllers/admin/repos.py:116
400 401 msgid "--REMOVE FORK--"
401 402 msgstr "[Pas un fork]"
402 403
403 404 #: rhodecode/controllers/admin/repos.py:144
404 405 #, python-format
405 406 msgid "created repository %s from %s"
406 407 msgstr "Le dépôt %s a été créé depuis %s."
407 408
408 409 #: rhodecode/controllers/admin/repos.py:148
409 410 #, python-format
410 411 msgid "created repository %s"
411 412 msgstr "Le dépôt %s a été créé."
412 413
413 414 #: rhodecode/controllers/admin/repos.py:179
414 415 #, python-format
415 416 msgid "error occurred during creation of repository %s"
416 417 msgstr "Une erreur est survenue durant la création du dépôt %s."
417 418
418 419 #: rhodecode/controllers/admin/repos.py:266
419 420 #, python-format
420 421 msgid "Cannot delete %s it still contains attached forks"
421 422 msgstr "Impossible de supprimer le dépôt %s : Des forks y sont attachés."
422 423
423 424 #: rhodecode/controllers/admin/repos.py:295
424 425 msgid "An error occurred during deletion of repository user"
425 426 msgstr "Une erreur est survenue durant la suppression de l’utilisateur du dépôt."
426 427
427 428 #: rhodecode/controllers/admin/repos.py:314
428 429 msgid "An error occurred during deletion of repository users groups"
429 430 msgstr ""
430 431 "Une erreur est survenue durant la suppression du groupe d’utilisateurs de"
431 432 " ce dépôt."
432 433
433 434 #: rhodecode/controllers/admin/repos.py:331
434 435 msgid "An error occurred during deletion of repository stats"
435 436 msgstr "Une erreur est survenue durant la suppression des statistiques du dépôt."
436 437
437 438 #: rhodecode/controllers/admin/repos.py:347
438 439 msgid "An error occurred during cache invalidation"
439 440 msgstr "Une erreur est survenue durant l’invalidation du cache."
440 441
441 442 #: rhodecode/controllers/admin/repos.py:367
442 443 msgid "Updated repository visibility in public journal"
443 444 msgstr "La visibilité du dépôt dans le journal public a été mise à jour."
444 445
445 446 #: rhodecode/controllers/admin/repos.py:371
446 447 msgid "An error occurred during setting this repository in public journal"
447 448 msgstr ""
448 449 "Une erreur est survenue durant la configuration du journal public pour ce"
449 450 " dépôt."
450 451
451 452 #: rhodecode/controllers/admin/repos.py:376 rhodecode/model/forms.py:54
452 453 msgid "Token mismatch"
453 454 msgstr "Jeton d’authentification incorrect."
454 455
455 456 #: rhodecode/controllers/admin/repos.py:389
456 457 msgid "Pulled from remote location"
457 458 msgstr "Les changements distants ont été récupérés."
458 459
459 460 #: rhodecode/controllers/admin/repos.py:391
460 461 msgid "An error occurred during pull from remote location"
461 462 msgstr "Une erreur est survenue durant le pull depuis la source distante."
462 463
463 464 #: rhodecode/controllers/admin/repos.py:407
464 465 msgid "Nothing"
465 466 msgstr "[Aucun dépôt]"
466 467
467 468 #: rhodecode/controllers/admin/repos.py:409
468 469 #, python-format
469 470 msgid "Marked repo %s as fork of %s"
470 471 msgstr "Le dépôt %s a été marké comme fork de %s"
471 472
472 473 #: rhodecode/controllers/admin/repos.py:413
473 474 msgid "An error occurred during this operation"
474 475 msgstr "Une erreur est survenue durant cette opération."
475 476
476 477 #: rhodecode/controllers/admin/repos_groups.py:119
477 478 #, python-format
478 479 msgid "created repos group %s"
479 480 msgstr "Le groupe de dépôts %s a été créé."
480 481
481 482 #: rhodecode/controllers/admin/repos_groups.py:132
482 483 #, python-format
483 484 msgid "error occurred during creation of repos group %s"
484 485 msgstr "Une erreur est survenue durant la création du groupe de dépôts %s."
485 486
486 487 #: rhodecode/controllers/admin/repos_groups.py:166
487 488 #, python-format
488 489 msgid "updated repos group %s"
489 490 msgstr "Le groupe de dépôts %s a été mis à jour."
490 491
491 492 #: rhodecode/controllers/admin/repos_groups.py:179
492 493 #, python-format
493 494 msgid "error occurred during update of repos group %s"
494 495 msgstr "Une erreur est survenue durant la mise à jour du groupe de dépôts %s."
495 496
496 497 #: rhodecode/controllers/admin/repos_groups.py:198
497 498 #, python-format
498 499 msgid "This group contains %s repositores and cannot be deleted"
499 500 msgstr "Ce groupe contient %s dépôts et ne peut être supprimé."
500 501
501 502 #: rhodecode/controllers/admin/repos_groups.py:205
502 503 #, python-format
503 504 msgid "removed repos group %s"
504 505 msgstr "Le groupe de dépôts %s a été supprimé."
505 506
506 507 #: rhodecode/controllers/admin/repos_groups.py:210
507 508 msgid "Cannot delete this group it still contains subgroups"
508 509 msgstr "Impossible de supprimer ce groupe : Il contient des sous-groupes."
509 510
510 511 #: rhodecode/controllers/admin/repos_groups.py:215
511 512 #: rhodecode/controllers/admin/repos_groups.py:220
512 513 #, python-format
513 514 msgid "error occurred during deletion of repos group %s"
514 515 msgstr "Une erreur est survenue durant la suppression du groupe de dépôts %s."
515 516
516 517 #: rhodecode/controllers/admin/repos_groups.py:240
517 518 msgid "An error occurred during deletion of group user"
518 519 msgstr ""
519 520 "Une erreur est survenue durant la suppression de l’utilisateur du groupe "
520 521 "de dépôts."
521 522
522 523 #: rhodecode/controllers/admin/repos_groups.py:260
523 524 msgid "An error occurred during deletion of group users groups"
524 525 msgstr ""
525 526 "Une erreur est survenue durant la suppression du groupe d’utilisateurs du"
526 527 " groupe de dépôts."
527 528
528 529 #: rhodecode/controllers/admin/settings.py:120
529 530 #, python-format
530 531 msgid "Repositories successfully rescanned added: %s,removed: %s"
531 532 msgstr "Après re-scan : %s ajouté(s), %s enlevé(s)"
532 533
533 534 #: rhodecode/controllers/admin/settings.py:129
534 535 msgid "Whoosh reindex task scheduled"
535 536 msgstr "La tâche de réindexation Whoosh a été planifiée."
536 537
537 538 #: rhodecode/controllers/admin/settings.py:154
538 539 msgid "Updated application settings"
539 540 msgstr "Réglages mis à jour"
540 541
541 542 #: rhodecode/controllers/admin/settings.py:159
542 543 #: rhodecode/controllers/admin/settings.py:226
543 544 msgid "error occurred during updating application settings"
544 545 msgstr "Une erreur est survenue durant la mise à jour des options."
545 546
546 547 #: rhodecode/controllers/admin/settings.py:221
547 548 msgid "Updated mercurial settings"
548 549 msgstr "Réglages de Mercurial mis à jour"
549 550
550 551 #: rhodecode/controllers/admin/settings.py:246
551 552 msgid "Added new hook"
552 553 msgstr "Le nouveau hook a été ajouté."
553 554
554 555 #: rhodecode/controllers/admin/settings.py:258
555 556 msgid "Updated hooks"
556 557 msgstr "Hooks mis à jour"
557 558
558 559 #: rhodecode/controllers/admin/settings.py:262
559 560 msgid "error occurred during hook creation"
560 561 msgstr "Une erreur est survenue durant la création du hook."
561 562
562 563 #: rhodecode/controllers/admin/settings.py:281
563 564 msgid "Email task created"
564 565 msgstr "La tâche d’e-mail a été créée."
565 566
566 567 #: rhodecode/controllers/admin/settings.py:336
567 568 msgid "You can't edit this user since it's crucial for entire application"
568 569 msgstr ""
569 570 "Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
570 571 " fonctionnement de l’application."
571 572
572 573 #: rhodecode/controllers/admin/settings.py:367
573 574 msgid "Your account was updated successfully"
574 575 msgstr "Votre compte a été mis à jour avec succès"
575 576
576 577 #: rhodecode/controllers/admin/settings.py:387
577 578 #: rhodecode/controllers/admin/users.py:138
578 579 #, python-format
579 580 msgid "error occurred during update of user %s"
580 581 msgstr "Une erreur est survenue durant la mise à jour de l’utilisateur %s."
581 582
582 583 #: rhodecode/controllers/admin/users.py:83
583 584 #, python-format
584 585 msgid "created user %s"
585 586 msgstr "utilisateur %s créé"
586 587
587 588 #: rhodecode/controllers/admin/users.py:95
588 589 #, python-format
589 590 msgid "error occurred during creation of user %s"
590 591 msgstr "Une erreur est survenue durant la création de l’utilisateur %s."
591 592
592 593 #: rhodecode/controllers/admin/users.py:124
593 594 msgid "User updated successfully"
594 595 msgstr "L’utilisateur a été mis à jour avec succès."
595 596
596 597 #: rhodecode/controllers/admin/users.py:155
597 598 msgid "successfully deleted user"
598 599 msgstr "L’utilisateur a été supprimé avec succès."
599 600
600 601 #: rhodecode/controllers/admin/users.py:160
601 602 msgid "An error occurred during deletion of user"
602 603 msgstr "Une erreur est survenue durant la suppression de l’utilisateur."
603 604
604 605 #: rhodecode/controllers/admin/users.py:175
605 606 msgid "You can't edit this user"
606 607 msgstr "Vous ne pouvez pas éditer cet utilisateur"
607 608
608 609 #: rhodecode/controllers/admin/users.py:205
609 610 #: rhodecode/controllers/admin/users_groups.py:219
610 611 msgid "Granted 'repository create' permission to user"
611 612 msgstr "La permission de création de dépôts a été accordée à l’utilisateur."
612 613
613 614 #: rhodecode/controllers/admin/users.py:214
614 615 #: rhodecode/controllers/admin/users_groups.py:229
615 616 msgid "Revoked 'repository create' permission to user"
616 617 msgstr "La permission de création de dépôts a été révoquée à l’utilisateur."
617 618
618 619 #: rhodecode/controllers/admin/users_groups.py:84
619 620 #, python-format
620 621 msgid "created users group %s"
621 622 msgstr "Le groupe d’utilisateurs %s a été créé."
622 623
623 624 #: rhodecode/controllers/admin/users_groups.py:95
624 625 #, python-format
625 626 msgid "error occurred during creation of users group %s"
626 627 msgstr "Une erreur est survenue durant la création du groupe d’utilisateurs %s."
627 628
628 629 #: rhodecode/controllers/admin/users_groups.py:135
629 630 #, python-format
630 631 msgid "updated users group %s"
631 632 msgstr "Le groupe d’utilisateurs %s a été mis à jour."
632 633
633 634 #: rhodecode/controllers/admin/users_groups.py:152
634 635 #, python-format
635 636 msgid "error occurred during update of users group %s"
636 637 msgstr "Une erreur est survenue durant la mise à jour du groupe d’utilisateurs %s."
637 638
638 639 #: rhodecode/controllers/admin/users_groups.py:169
639 640 msgid "successfully deleted users group"
640 641 msgstr "Le groupe d’utilisateurs a été supprimé avec succès."
641 642
642 643 #: rhodecode/controllers/admin/users_groups.py:174
643 644 msgid "An error occurred during deletion of users group"
644 645 msgstr "Une erreur est survenue lors de la suppression du groupe d’utilisateurs."
645 646
646 647 #: rhodecode/lib/auth.py:497
647 648 msgid "You need to be a registered user to perform this action"
648 649 msgstr "Vous devez être un utilisateur enregistré pour effectuer cette action."
649 650
650 651 #: rhodecode/lib/auth.py:538
651 652 msgid "You need to be a signed in to view this page"
652 653 msgstr "Vous devez être connecté pour visualiser cette page."
653 654
654 655 #: rhodecode/lib/diffs.py:78
655 656 msgid "Changeset was too big and was cut off, use diff menu to display this diff"
656 657 msgstr ""
657 658 "Cet ensemble de changements était trop gros pour être affiché et a été "
658 659 "découpé, utilisez le menu « Diff » pour afficher les différences."
659 660
660 661 #: rhodecode/lib/diffs.py:88
661 662 msgid "No changes detected"
662 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 671 msgid "True"
666 672 msgstr "Vrai"
667 673
668 #: rhodecode/lib/helpers.py:419
674 #: rhodecode/lib/helpers.py:427
669 675 msgid "False"
670 676 msgstr "Faux"
671 677
672 #: rhodecode/lib/helpers.py:463
673 #, fuzzy
678 #: rhodecode/lib/helpers.py:471
674 679 msgid "Changeset not found"
675 msgstr "Dépôt vide"
676
677 #: rhodecode/lib/helpers.py:486
680 msgstr "Ensemble de changements non trouvé"
681
682 #: rhodecode/lib/helpers.py:494
678 683 #, python-format
679 684 msgid "Show all combined changesets %s->%s"
680 685 msgstr "Afficher les changements combinés %s->%s"
681 686
682 #: rhodecode/lib/helpers.py:492
687 #: rhodecode/lib/helpers.py:500
683 688 msgid "compare view"
684 689 msgstr "vue de comparaison"
685 690
686 #: rhodecode/lib/helpers.py:512
691 #: rhodecode/lib/helpers.py:520
687 692 msgid "and"
688 693 msgstr "et"
689 694
690 #: rhodecode/lib/helpers.py:513
695 #: rhodecode/lib/helpers.py:521
691 696 #, python-format
692 697 msgid "%s more"
693 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 701 msgid "revisions"
697 702 msgstr "révisions"
698 703
699 #: rhodecode/lib/helpers.py:537
704 #: rhodecode/lib/helpers.py:545
700 705 msgid "fork name "
701 706 msgstr "Nom du fork"
702 707
703 #: rhodecode/lib/helpers.py:550
708 #: rhodecode/lib/helpers.py:558
704 709 msgid "[deleted] repository"
705 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 713 msgid "[created] repository"
709 714 msgstr "[a créé] le dépôt"
710 715
711 #: rhodecode/lib/helpers.py:554
716 #: rhodecode/lib/helpers.py:562
712 717 msgid "[created] repository as fork"
713 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 721 msgid "[forked] repository"
717 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 725 msgid "[updated] repository"
721 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 728 #: rhodecode/lib/helpers.py:568
728 #, fuzzy, python-format
729 #| msgid "created user %s"
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."
729 msgid "[delete] repository"
730 msgstr "[a supprimé] le dépôt"
750 731
751 732 #: rhodecode/lib/helpers.py:576
752 #, fuzzy
753 #| msgid "[created] repository"
754 msgid "[commented] on revision in repository"
755 msgstr "[a créé] le dépôt"
733 msgid "[created] user"
734 msgstr "[a créé] l’utilisateur"
756 735
757 736 #: rhodecode/lib/helpers.py:578
758 msgid "[pushed] into"
759 msgstr "[a pushé] dans"
737 msgid "[updated] user"
738 msgstr "[a mis à jour] l’utilisateur"
760 739
761 740 #: rhodecode/lib/helpers.py:580
762 #, fuzzy
763 #| msgid "[committed via RhodeCode] into"
764 msgid "[committed via RhodeCode] into repository"
765 msgstr "[a commité via RhodeCode] dans"
741 msgid "[created] users group"
742 msgstr "[a créé] le groupe d’utilisateurs"
766 743
767 744 #: rhodecode/lib/helpers.py:582
768 #, fuzzy
769 #| msgid "[pulled from remote] into"
770 msgid "[pulled from remote] into repository"
771 msgstr "[a pullé depuis un site distant] dans"
745 msgid "[updated] users group"
746 msgstr "[a mis à jour] le groupe d’utilisateurs"
772 747
773 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 765 msgid "[pulled] from"
775 766 msgstr "[a pullé] depuis"
776 767
777 #: rhodecode/lib/helpers.py:586
768 #: rhodecode/lib/helpers.py:594
778 769 msgid "[started following] repository"
779 770 msgstr "[suit maintenant] le dépôt"
780 771
781 #: rhodecode/lib/helpers.py:588
772 #: rhodecode/lib/helpers.py:596
782 773 msgid "[stopped following] repository"
783 774 msgstr "[ne suit plus] le dépôt"
784 775
785 #: rhodecode/lib/helpers.py:752
776 #: rhodecode/lib/helpers.py:760
786 777 #, python-format
787 778 msgid " and %s more"
788 779 msgstr "et %s de plus"
789 780
790 #: rhodecode/lib/helpers.py:756
781 #: rhodecode/lib/helpers.py:764
791 782 msgid "No Files"
792 783 msgstr "Aucun fichier"
793 784
794 785 #: rhodecode/lib/utils2.py:335
795 786 #, python-format
796 787 msgid "%d year"
797 788 msgid_plural "%d years"
798 789 msgstr[0] "%d an"
799 790 msgstr[1] "%d ans"
800 791
801 792 #: rhodecode/lib/utils2.py:336
802 793 #, python-format
803 794 msgid "%d month"
804 795 msgid_plural "%d months"
805 796 msgstr[0] "%d mois"
806 797 msgstr[1] "%d mois"
807 798
808 799 #: rhodecode/lib/utils2.py:337
809 800 #, python-format
810 801 msgid "%d day"
811 802 msgid_plural "%d days"
812 803 msgstr[0] "%d jour"
813 804 msgstr[1] "%d jours"
814 805
815 806 #: rhodecode/lib/utils2.py:338
816 807 #, python-format
817 808 msgid "%d hour"
818 809 msgid_plural "%d hours"
819 810 msgstr[0] "%d heure"
820 811 msgstr[1] "%d heures"
821 812
822 813 #: rhodecode/lib/utils2.py:339
823 814 #, python-format
824 815 msgid "%d minute"
825 816 msgid_plural "%d minutes"
826 817 msgstr[0] "%d minute"
827 818 msgstr[1] "%d minutes"
828 819
829 820 #: rhodecode/lib/utils2.py:340
830 821 #, python-format
831 822 msgid "%d second"
832 823 msgid_plural "%d seconds"
833 824 msgstr[0] "%d seconde"
834 825 msgstr[1] "%d secondes"
835 826
836 827 #: rhodecode/lib/utils2.py:355
837 828 #, python-format
838 829 msgid "%s ago"
839 830 msgstr "Il y a %s"
840 831
841 832 #: rhodecode/lib/utils2.py:357
842 833 #, python-format
843 834 msgid "%s and %s ago"
844 835 msgstr "Il y a %s et %s"
845 836
846 837 #: rhodecode/lib/utils2.py:360
847 838 msgid "just now"
848 839 msgstr "à l’instant"
849 840
850 841 #: rhodecode/lib/celerylib/tasks.py:269
851 842 msgid "password reset link"
852 843 msgstr "Réinitialisation du mot de passe"
853 844
854 845 #: rhodecode/model/comment.py:85
855 846 #, python-format
856 847 msgid "on line %s"
857 848 msgstr "à la ligne %s"
858 849
859 #: rhodecode/model/comment.py:113
850 #: rhodecode/model/comment.py:114
860 851 msgid "[Mention]"
861 852 msgstr "[Mention]"
862 853
863 854 #: rhodecode/model/forms.py:72
864 855 msgid "Invalid username"
865 856 msgstr "Nom d’utilisateur invalide"
866 857
867 858 #: rhodecode/model/forms.py:80
868 859 msgid "This username already exists"
869 860 msgstr "Ce nom d’utilisateur existe déjà"
870 861
871 862 #: rhodecode/model/forms.py:85
872 863 msgid ""
873 864 "Username may only contain alphanumeric characters underscores, periods or"
874 865 " dashes and must begin with alphanumeric character"
875 866 msgstr ""
876 867 "Le nom d’utilisateur peut contenir uniquement des caractères alpha-"
877 868 "numériques ainsi que les caractères suivants : « _ . - ». Il doit "
878 869 "commencer par un caractère alpha-numérique."
879 870
880 871 #: rhodecode/model/forms.py:101
881 872 msgid "Invalid group name"
882 873 msgstr "Nom de groupe invalide"
883 874
884 875 #: rhodecode/model/forms.py:111
885 876 msgid "This users group already exists"
886 877 msgstr "Ce groupe d’utilisateurs existe déjà."
887 878
888 879 #: rhodecode/model/forms.py:117
889 880 msgid ""
890 881 "RepoGroup name may only contain alphanumeric characters underscores, "
891 882 "periods or dashes and must begin with alphanumeric character"
892 883 msgstr ""
893 884 "Le nom de groupe de dépôts peut contenir uniquement des caractères alpha-"
894 885 "numériques ainsi que les caractères suivants : « _ . - ». Il doit "
895 886 "commencer par un caractère alpha-numérique."
896 887
897 888 #: rhodecode/model/forms.py:145
898 889 msgid "Cannot assign this group as parent"
899 890 msgstr "Impossible d’assigner ce groupe en tant que parent."
900 891
901 892 #: rhodecode/model/forms.py:164
902 893 msgid "This group already exists"
903 894 msgstr "Ce groupe existe déjà."
904 895
905 896 #: rhodecode/model/forms.py:176
906 897 msgid "Repository with this name already exists"
907 898 msgstr "Un dépôt portant ce nom existe déjà."
908 899
909 900 #: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
910 901 #: rhodecode/model/forms.py:213
911 902 msgid "Invalid characters in password"
912 903 msgstr "Caractères incorrects dans le mot de passe"
913 904
914 905 #: rhodecode/model/forms.py:226
915 906 msgid "Passwords do not match"
916 907 msgstr "Les mots de passe ne correspondent pas."
917 908
918 909 #: rhodecode/model/forms.py:232
919 910 msgid "invalid password"
920 911 msgstr "mot de passe invalide"
921 912
922 913 #: rhodecode/model/forms.py:233
923 914 msgid "invalid user name"
924 915 msgstr "nom d’utilisateur invalide"
925 916
926 917 #: rhodecode/model/forms.py:234
927 918 msgid "Your account is disabled"
928 919 msgstr "Votre compte est désactivé"
929 920
930 921 #: rhodecode/model/forms.py:274
931 922 msgid "This username is not valid"
932 923 msgstr "Ce nom d’utilisateur n’est plus valide"
933 924
934 925 #: rhodecode/model/forms.py:287
935 926 msgid "This repository name is disallowed"
936 927 msgstr "Ce nom de dépôt est interdit"
937 928
938 929 #: rhodecode/model/forms.py:310
939 930 #, python-format
940 931 msgid "This repository already exists in a group \"%s\""
941 932 msgstr "Ce dépôt existe déjà dans le groupe « %s »."
942 933
943 934 #: rhodecode/model/forms.py:317
944 935 #, python-format
945 936 msgid "There is a group with this name already \"%s\""
946 937 msgstr "Un groupe portant le nom « %s » existe déjà."
947 938
948 939 #: rhodecode/model/forms.py:324
949 940 msgid "This repository already exists"
950 941 msgstr "Ce dépôt existe déjà"
951 942
952 943 #: rhodecode/model/forms.py:367
953 944 msgid "invalid clone url"
954 945 msgstr "URL de clonage invalide."
955 946
956 947 #: rhodecode/model/forms.py:384
957 948 msgid "Invalid clone url, provide a valid clone http\\s url"
958 949 msgstr ""
959 950 "URL à cloner invalide. Veuillez fournir une URL valide commençant par "
960 951 "http(s)."
961 952
962 953 #: rhodecode/model/forms.py:398
963 954 msgid "Fork have to be the same type as original"
964 955 msgstr "Le fork doit être du même type que l’original"
965 956
966 957 #: rhodecode/model/forms.py:414
967 958 msgid "This username or users group name is not valid"
968 959 msgstr "Ce nom d’utilisateur ou de groupe n’est pas valide."
969 960
970 961 #: rhodecode/model/forms.py:480
971 962 msgid "This is not a valid path"
972 963 msgstr "Ceci n’est pas un chemin valide"
973 964
974 965 #: rhodecode/model/forms.py:494
975 966 msgid "This e-mail address is already taken"
976 967 msgstr "Cette adresse e-mail est déjà enregistrée"
977 968
978 969 #: rhodecode/model/forms.py:507
979 970 msgid "This e-mail address doesn't exist."
980 971 msgstr "Cette adresse e-mail n’existe pas"
981 972
982 973 #: rhodecode/model/forms.py:530
983 974 msgid ""
984 975 "The LDAP Login attribute of the CN must be specified - this is the name "
985 976 "of the attribute that is equivalent to 'username'"
986 977 msgstr ""
987 978 "L’attribut Login du CN doit être spécifié. Cet attribut correspond au nom"
988 979 " d’utilisateur."
989 980
990 981 #: rhodecode/model/forms.py:549
991 982 msgid "Please enter a login"
992 983 msgstr "Veuillez entrer un identifiant"
993 984
994 985 #: rhodecode/model/forms.py:550
995 986 #, python-format
996 987 msgid "Enter a value %(min)i characters long or more"
997 988 msgstr "Entrez une valeur d’au moins %(min)i caractères de long."
998 989
999 990 #: rhodecode/model/forms.py:558
1000 991 msgid "Please enter a password"
1001 992 msgstr "Veuillez entrer un mot de passe"
1002 993
1003 994 #: rhodecode/model/forms.py:559
1004 995 #, python-format
1005 996 msgid "Enter %(min)i characters or more"
1006 997 msgstr "Entrez au moins %(min)i caractères"
1007 998
1008 #: rhodecode/model/notification.py:175
999 #: rhodecode/model/notification.py:178
1009 1000 msgid "commented on commit"
1010 1001 msgstr "a posté un commentaire sur le commit"
1011 1002
1012 #: rhodecode/model/notification.py:176
1003 #: rhodecode/model/notification.py:179
1013 1004 msgid "sent message"
1014 1005 msgstr "a envoyé un message"
1015 1006
1016 #: rhodecode/model/notification.py:177
1007 #: rhodecode/model/notification.py:180
1017 1008 msgid "mentioned you"
1018 1009 msgstr "vous a mentioné"
1019 1010
1020 #: rhodecode/model/notification.py:178
1011 #: rhodecode/model/notification.py:181
1021 1012 msgid "registered in RhodeCode"
1022 1013 msgstr "s’est enregistré sur RhodeCode"
1023 1014
1024 1015 #: rhodecode/model/user.py:235
1025 1016 msgid "new user registration"
1026 1017 msgstr "Nouveau compte utilisateur enregistré"
1027 1018
1028 1019 #: rhodecode/model/user.py:259 rhodecode/model/user.py:279
1029 1020 msgid "You can't Edit this user since it's crucial for entire application"
1030 1021 msgstr ""
1031 1022 "Vous ne pouvez pas éditer cet utilisateur ; il est nécessaire pour le bon"
1032 1023 " fonctionnement de l’application."
1033 1024
1034 1025 #: rhodecode/model/user.py:300
1035 1026 msgid "You can't remove this user since it's crucial for entire application"
1036 1027 msgstr ""
1037 1028 "Vous ne pouvez pas supprimer cet utilisateur ; il est nécessaire pour le "
1038 1029 "bon fonctionnement de l’application."
1039 1030
1040 1031 #: rhodecode/model/user.py:306
1041 1032 #, python-format
1042 1033 msgid ""
1043 1034 "user \"%s\" still owns %s repositories and cannot be removed. Switch "
1044 1035 "owners or remove those repositories. %s"
1045 1036 msgstr ""
1046 1037 "L’utilisateur « %s » possède %s dépôts et ne peut être supprimé. Changez "
1047 1038 "les propriétaires de ces dépôts. %s"
1048 1039
1049 1040 #: rhodecode/templates/index.html:3
1050 1041 msgid "Dashboard"
1051 1042 msgstr "Tableau de bord"
1052 1043
1053 1044 #: rhodecode/templates/index_base.html:6
1045 #: rhodecode/templates/repo_switcher_list.html:4
1054 1046 #: rhodecode/templates/admin/users/user_edit_my_account.html:31
1055 1047 #: rhodecode/templates/bookmarks/bookmarks.html:10
1056 1048 #: rhodecode/templates/branches/branches.html:9
1057 1049 #: rhodecode/templates/journal/journal.html:31
1058 1050 #: rhodecode/templates/tags/tags.html:10
1059 1051 msgid "quick filter..."
1060 msgstr "filtre rapide"
1052 msgstr "Filtre rapide"
1061 1053
1062 1054 #: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
1063 1055 msgid "repositories"
1064 1056 msgstr "Dépôts"
1065 1057
1066 1058 #: rhodecode/templates/index_base.html:13
1067 1059 #: rhodecode/templates/index_base.html:15
1068 1060 #: rhodecode/templates/admin/repos/repos.html:22
1069 1061 msgid "ADD REPOSITORY"
1070 1062 msgstr "AJOUTER UN DÉPÔT"
1071 1063
1072 1064 #: rhodecode/templates/index_base.html:29
1073 1065 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
1074 1066 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
1075 1067 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
1076 1068 #: rhodecode/templates/admin/users_groups/users_group_add.html:32
1077 1069 #: rhodecode/templates/admin/users_groups/users_group_edit.html:33
1078 1070 msgid "Group name"
1079 1071 msgstr "Nom de groupe"
1080 1072
1081 1073 #: rhodecode/templates/index_base.html:30
1082 1074 #: rhodecode/templates/index_base.html:67
1083 1075 #: rhodecode/templates/index_base.html:132
1084 1076 #: rhodecode/templates/index_base.html:158
1085 1077 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1086 1078 #: rhodecode/templates/admin/repos/repo_edit.html:66
1087 1079 #: rhodecode/templates/admin/repos/repos.html:37
1088 1080 #: rhodecode/templates/admin/repos/repos.html:84
1089 1081 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
1090 1082 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
1091 1083 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
1092 1084 #: rhodecode/templates/forks/fork.html:49
1093 1085 #: rhodecode/templates/settings/repo_settings.html:57
1094 1086 #: rhodecode/templates/summary/summary.html:100
1095 1087 msgid "Description"
1096 1088 msgstr "Description"
1097 1089
1098 1090 #: rhodecode/templates/index_base.html:40
1099 1091 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
1100 1092 msgid "Repositories group"
1101 1093 msgstr "Groupe de dépôts"
1102 1094
1103 1095 #: rhodecode/templates/index_base.html:66
1104 1096 #: rhodecode/templates/index_base.html:156
1105 1097 #: rhodecode/templates/admin/repos/repo_add_base.html:9
1106 1098 #: rhodecode/templates/admin/repos/repo_edit.html:32
1107 1099 #: rhodecode/templates/admin/repos/repos.html:36
1108 1100 #: rhodecode/templates/admin/repos/repos.html:82
1109 1101 #: rhodecode/templates/admin/users/user_edit_my_account.html:49
1110 1102 #: rhodecode/templates/admin/users/user_edit_my_account.html:99
1111 1103 #: rhodecode/templates/admin/users/user_edit_my_account.html:165
1112 1104 #: rhodecode/templates/admin/users/user_edit_my_account.html:200
1113 1105 #: rhodecode/templates/bookmarks/bookmarks.html:36
1114 1106 #: rhodecode/templates/bookmarks/bookmarks_data.html:6
1115 1107 #: rhodecode/templates/branches/branches.html:36
1116 1108 #: rhodecode/templates/files/files_browser.html:47
1117 1109 #: rhodecode/templates/journal/journal.html:50
1118 1110 #: rhodecode/templates/journal/journal.html:98
1119 1111 #: rhodecode/templates/journal/journal.html:177
1120 1112 #: rhodecode/templates/settings/repo_settings.html:31
1121 1113 #: rhodecode/templates/summary/summary.html:38
1122 1114 #: rhodecode/templates/summary/summary.html:114
1123 1115 #: rhodecode/templates/tags/tags.html:36
1124 1116 #: rhodecode/templates/tags/tags_data.html:6
1125 1117 msgid "Name"
1126 1118 msgstr "Nom"
1127 1119
1128 1120 #: rhodecode/templates/index_base.html:68
1129 1121 #: rhodecode/templates/admin/repos/repos.html:38
1130 1122 msgid "Last change"
1131 1123 msgstr "Dernière modification"
1132 1124
1133 1125 #: rhodecode/templates/index_base.html:69
1134 1126 #: rhodecode/templates/index_base.html:161
1135 1127 #: rhodecode/templates/admin/repos/repos.html:39
1136 1128 #: rhodecode/templates/admin/repos/repos.html:87
1137 1129 #: rhodecode/templates/admin/users/user_edit_my_account.html:167
1138 1130 #: rhodecode/templates/journal/journal.html:179
1139 1131 msgid "Tip"
1140 1132 msgstr "Sommet"
1141 1133
1142 1134 #: rhodecode/templates/index_base.html:70
1143 1135 #: rhodecode/templates/index_base.html:163
1144 1136 #: rhodecode/templates/admin/repos/repo_edit.html:103
1145 1137 #: rhodecode/templates/admin/repos/repos.html:89
1146 1138 msgid "Owner"
1147 1139 msgstr "Propriétaire"
1148 1140
1149 1141 #: rhodecode/templates/index_base.html:71
1150 1142 #: rhodecode/templates/journal/public_journal.html:20
1151 1143 #: rhodecode/templates/summary/summary.html:43
1152 1144 #: rhodecode/templates/summary/summary.html:46
1153 1145 msgid "RSS"
1154 1146 msgstr "RSS"
1155 1147
1156 1148 #: rhodecode/templates/index_base.html:72
1157 1149 #: rhodecode/templates/journal/public_journal.html:23
1158 1150 msgid "Atom"
1159 1151 msgstr "Atom"
1160 1152
1161 1153 #: rhodecode/templates/index_base.html:102
1162 1154 #: rhodecode/templates/index_base.html:104
1163 1155 #, python-format
1164 1156 msgid "Subscribe to %s rss feed"
1165 1157 msgstr "S’abonner au flux RSS de %s"
1166 1158
1167 1159 #: rhodecode/templates/index_base.html:109
1168 1160 #: rhodecode/templates/index_base.html:111
1169 1161 #, python-format
1170 1162 msgid "Subscribe to %s atom feed"
1171 1163 msgstr "S’abonner au flux ATOM de %s"
1172 1164
1173 1165 #: rhodecode/templates/index_base.html:130
1174 1166 msgid "Group Name"
1175 1167 msgstr "Nom du groupe"
1176 1168
1177 1169 #: rhodecode/templates/index_base.html:148
1178 1170 #: rhodecode/templates/index_base.html:188
1179 1171 #: rhodecode/templates/admin/repos/repos.html:112
1180 1172 #: rhodecode/templates/admin/users/user_edit_my_account.html:186
1181 1173 #: rhodecode/templates/bookmarks/bookmarks.html:60
1182 1174 #: rhodecode/templates/branches/branches.html:60
1183 1175 #: rhodecode/templates/journal/journal.html:202
1184 1176 #: rhodecode/templates/tags/tags.html:60
1185 1177 msgid "Click to sort ascending"
1186 1178 msgstr "Tri ascendant"
1187 1179
1188 1180 #: rhodecode/templates/index_base.html:149
1189 1181 #: rhodecode/templates/index_base.html:189
1190 1182 #: rhodecode/templates/admin/repos/repos.html:113
1191 1183 #: rhodecode/templates/admin/users/user_edit_my_account.html:187
1192 1184 #: rhodecode/templates/bookmarks/bookmarks.html:61
1193 1185 #: rhodecode/templates/branches/branches.html:61
1194 1186 #: rhodecode/templates/journal/journal.html:203
1195 1187 #: rhodecode/templates/tags/tags.html:61
1196 1188 msgid "Click to sort descending"
1197 1189 msgstr "Tri descendant"
1198 1190
1199 1191 #: rhodecode/templates/index_base.html:159
1200 1192 #: rhodecode/templates/admin/repos/repos.html:85
1201 1193 msgid "Last Change"
1202 1194 msgstr "Dernière modification"
1203 1195
1204 1196 #: rhodecode/templates/index_base.html:190
1205 1197 #: rhodecode/templates/admin/repos/repos.html:114
1206 1198 #: rhodecode/templates/admin/users/user_edit_my_account.html:188
1207 1199 #: rhodecode/templates/bookmarks/bookmarks.html:62
1208 1200 #: rhodecode/templates/branches/branches.html:62
1209 1201 #: rhodecode/templates/journal/journal.html:204
1210 1202 #: rhodecode/templates/tags/tags.html:62
1211 1203 msgid "No records found."
1212 1204 msgstr "Aucun élément n’a été trouvé."
1213 1205
1214 1206 #: rhodecode/templates/index_base.html:191
1215 1207 #: rhodecode/templates/admin/repos/repos.html:115
1216 1208 #: rhodecode/templates/admin/users/user_edit_my_account.html:189
1217 1209 #: rhodecode/templates/bookmarks/bookmarks.html:63
1218 1210 #: rhodecode/templates/branches/branches.html:63
1219 1211 #: rhodecode/templates/journal/journal.html:205
1220 1212 #: rhodecode/templates/tags/tags.html:63
1221 1213 msgid "Data error."
1222 1214 msgstr "Erreur d’intégrité des données."
1223 1215
1224 1216 #: rhodecode/templates/index_base.html:192
1225 1217 #: rhodecode/templates/admin/repos/repos.html:116
1226 1218 #: rhodecode/templates/admin/users/user_edit_my_account.html:190
1227 1219 #: rhodecode/templates/bookmarks/bookmarks.html:64
1228 1220 #: rhodecode/templates/branches/branches.html:64
1229 1221 #: rhodecode/templates/journal/journal.html:206
1230 1222 #: rhodecode/templates/tags/tags.html:64
1231 1223 msgid "Loading..."
1232 1224 msgstr "Chargement…"
1233 1225
1234 1226 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1235 1227 msgid "Sign In"
1236 1228 msgstr "Connexion"
1237 1229
1238 1230 #: rhodecode/templates/login.html:21
1239 1231 msgid "Sign In to"
1240 1232 msgstr "Connexion à"
1241 1233
1242 1234 #: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
1243 1235 #: rhodecode/templates/admin/admin_log.html:5
1244 1236 #: rhodecode/templates/admin/users/user_add.html:32
1245 1237 #: rhodecode/templates/admin/users/user_edit.html:50
1246 1238 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:26
1247 1239 #: rhodecode/templates/base/base.html:83
1248 1240 #: rhodecode/templates/summary/summary.html:113
1249 1241 msgid "Username"
1250 1242 msgstr "Nom d’utilisateur"
1251 1243
1252 1244 #: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
1253 1245 #: rhodecode/templates/admin/ldap/ldap.html:46
1254 1246 #: rhodecode/templates/admin/users/user_add.html:41
1255 1247 #: rhodecode/templates/base/base.html:92
1256 1248 msgid "Password"
1257 1249 msgstr "Mot de passe"
1258 1250
1259 1251 #: rhodecode/templates/login.html:50
1260 1252 msgid "Remember me"
1261 1253 msgstr "Se souvenir de moi"
1262 1254
1263 1255 #: rhodecode/templates/login.html:60
1264 1256 msgid "Forgot your password ?"
1265 1257 msgstr "Mot de passe oublié ?"
1266 1258
1267 1259 #: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
1268 1260 msgid "Don't have an account ?"
1269 1261 msgstr "Vous n’avez pas de compte ?"
1270 1262
1271 1263 #: rhodecode/templates/password_reset.html:5
1272 1264 msgid "Reset your password"
1273 1265 msgstr "Mot de passe oublié ?"
1274 1266
1275 1267 #: rhodecode/templates/password_reset.html:11
1276 1268 msgid "Reset your password to"
1277 1269 msgstr "Réinitialiser votre mot de passe"
1278 1270
1279 1271 #: rhodecode/templates/password_reset.html:21
1280 1272 msgid "Email address"
1281 1273 msgstr "Adresse e-mail"
1282 1274
1283 1275 #: rhodecode/templates/password_reset.html:30
1284 1276 msgid "Reset my password"
1285 1277 msgstr "Réinitialiser mon mot de passe"
1286 1278
1287 1279 #: rhodecode/templates/password_reset.html:31
1288 1280 msgid "Password reset link will be send to matching email address"
1289 1281 msgstr "Votre nouveau mot de passe sera envoyé à l’adresse correspondante."
1290 1282
1291 1283 #: rhodecode/templates/register.html:5 rhodecode/templates/register.html:74
1292 1284 msgid "Sign Up"
1293 1285 msgstr "Inscription"
1294 1286
1295 1287 #: rhodecode/templates/register.html:11
1296 1288 msgid "Sign Up to"
1297 1289 msgstr "Inscription à"
1298 1290
1299 1291 #: rhodecode/templates/register.html:38
1300 1292 msgid "Re-enter password"
1301 1293 msgstr "Confirmation"
1302 1294
1303 1295 #: rhodecode/templates/register.html:47
1304 1296 #: rhodecode/templates/admin/users/user_add.html:59
1305 1297 #: rhodecode/templates/admin/users/user_edit.html:86
1306 1298 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:53
1307 1299 msgid "First Name"
1308 1300 msgstr "Prénom"
1309 1301
1310 1302 #: rhodecode/templates/register.html:56
1311 1303 #: rhodecode/templates/admin/users/user_add.html:68
1312 1304 #: rhodecode/templates/admin/users/user_edit.html:95
1313 1305 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:62
1314 1306 msgid "Last Name"
1315 1307 msgstr "Nom"
1316 1308
1317 1309 #: rhodecode/templates/register.html:65
1318 1310 #: rhodecode/templates/admin/users/user_add.html:77
1319 1311 #: rhodecode/templates/admin/users/user_edit.html:104
1320 1312 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:71
1321 1313 #: rhodecode/templates/summary/summary.html:115
1322 1314 msgid "Email"
1323 1315 msgstr "E-mail"
1324 1316
1325 1317 #: rhodecode/templates/register.html:76
1326 1318 msgid "Your account will be activated right after registration"
1327 1319 msgstr "Votre compte utilisateur sera actif dès la fin de l’enregistrement."
1328 1320
1329 1321 #: rhodecode/templates/register.html:78
1330 1322 msgid "Your account must wait for activation by administrator"
1331 1323 msgstr "Votre compte utilisateur devra être activé par un administrateur."
1332 1324
1333 1325 #: rhodecode/templates/repo_switcher_list.html:11
1334 1326 #: rhodecode/templates/admin/repos/repo_add_base.html:56
1335 1327 #: rhodecode/templates/admin/repos/repo_edit.html:76
1336 1328 #: rhodecode/templates/settings/repo_settings.html:67
1337 1329 msgid "Private repository"
1338 1330 msgstr "Dépôt privé"
1339 1331
1340 1332 #: rhodecode/templates/repo_switcher_list.html:16
1341 1333 msgid "Public repository"
1342 1334 msgstr "Dépôt public"
1343 1335
1344 1336 #: rhodecode/templates/switch_to_list.html:3
1345 1337 #: rhodecode/templates/branches/branches.html:14
1346 1338 msgid "branches"
1347 1339 msgstr "Branches"
1348 1340
1349 1341 #: rhodecode/templates/switch_to_list.html:10
1350 1342 #: rhodecode/templates/branches/branches_data.html:51
1351 1343 msgid "There are no branches yet"
1352 1344 msgstr "Aucune branche n’a été créée pour le moment."
1353 1345
1354 1346 #: rhodecode/templates/switch_to_list.html:15
1355 1347 #: rhodecode/templates/shortlog/shortlog_data.html:10
1356 1348 #: rhodecode/templates/tags/tags.html:15
1357 1349 msgid "tags"
1358 1350 msgstr "Tags"
1359 1351
1360 1352 #: rhodecode/templates/switch_to_list.html:22
1361 1353 #: rhodecode/templates/tags/tags_data.html:33
1362 1354 msgid "There are no tags yet"
1363 1355 msgstr "Aucun tag n’a été créé pour le moment."
1364 1356
1365 1357 #: rhodecode/templates/switch_to_list.html:28
1366 1358 #: rhodecode/templates/bookmarks/bookmarks.html:15
1367 1359 msgid "bookmarks"
1368 1360 msgstr "Signets"
1369 1361
1370 1362 #: rhodecode/templates/switch_to_list.html:35
1371 1363 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1372 1364 msgid "There are no bookmarks yet"
1373 1365 msgstr "Aucun signet n’a été créé."
1374 1366
1375 1367 #: rhodecode/templates/admin/admin.html:5
1376 1368 #: rhodecode/templates/admin/admin.html:9
1377 1369 msgid "Admin journal"
1378 1370 msgstr "Historique d’administration"
1379 1371
1380 1372 #: rhodecode/templates/admin/admin_log.html:6
1381 1373 #: rhodecode/templates/admin/repos/repos.html:41
1382 1374 #: rhodecode/templates/admin/repos/repos.html:90
1383 1375 #: rhodecode/templates/admin/users/user_edit_my_account.html:51
1384 1376 #: rhodecode/templates/admin/users/user_edit_my_account.html:52
1385 1377 #: rhodecode/templates/journal/journal.html:52
1386 1378 #: rhodecode/templates/journal/journal.html:53
1387 1379 msgid "Action"
1388 1380 msgstr "Action"
1389 1381
1390 1382 #: rhodecode/templates/admin/admin_log.html:7
1391 1383 msgid "Repository"
1392 1384 msgstr "Dépôt"
1393 1385
1394 1386 #: rhodecode/templates/admin/admin_log.html:8
1395 1387 #: rhodecode/templates/bookmarks/bookmarks.html:37
1396 1388 #: rhodecode/templates/bookmarks/bookmarks_data.html:7
1397 1389 #: rhodecode/templates/branches/branches.html:37
1398 1390 #: rhodecode/templates/tags/tags.html:37
1399 1391 #: rhodecode/templates/tags/tags_data.html:7
1400 1392 msgid "Date"
1401 1393 msgstr "Date"
1402 1394
1403 1395 #: rhodecode/templates/admin/admin_log.html:9
1404 1396 msgid "From IP"
1405 1397 msgstr "Depuis l’adresse IP"
1406 1398
1407 1399 #: rhodecode/templates/admin/admin_log.html:53
1408 1400 msgid "No actions yet"
1409 1401 msgstr "Aucune action n’a été enregistrée pour le moment."
1410 1402
1411 1403 #: rhodecode/templates/admin/ldap/ldap.html:5
1412 1404 msgid "LDAP administration"
1413 1405 msgstr "Administration LDAP"
1414 1406
1415 1407 #: rhodecode/templates/admin/ldap/ldap.html:11
1416 1408 msgid "Ldap"
1417 1409 msgstr "LDAP"
1418 1410
1419 1411 #: rhodecode/templates/admin/ldap/ldap.html:28
1420 1412 msgid "Connection settings"
1421 1413 msgstr "Options de connexion"
1422 1414
1423 1415 #: rhodecode/templates/admin/ldap/ldap.html:30
1424 1416 msgid "Enable LDAP"
1425 1417 msgstr "Activer le LDAP"
1426 1418
1427 1419 #: rhodecode/templates/admin/ldap/ldap.html:34
1428 1420 msgid "Host"
1429 1421 msgstr "Serveur"
1430 1422
1431 1423 #: rhodecode/templates/admin/ldap/ldap.html:38
1432 1424 msgid "Port"
1433 1425 msgstr "Port"
1434 1426
1435 1427 #: rhodecode/templates/admin/ldap/ldap.html:42
1436 1428 msgid "Account"
1437 1429 msgstr "Compte"
1438 1430
1439 1431 #: rhodecode/templates/admin/ldap/ldap.html:50
1440 1432 msgid "Connection security"
1441 1433 msgstr "Connexion sécurisée"
1442 1434
1443 1435 #: rhodecode/templates/admin/ldap/ldap.html:54
1444 1436 msgid "Certificate Checks"
1445 1437 msgstr "Vérif. des certificats"
1446 1438
1447 1439 #: rhodecode/templates/admin/ldap/ldap.html:57
1448 1440 msgid "Search settings"
1449 1441 msgstr "Réglages de recherche"
1450 1442
1451 1443 #: rhodecode/templates/admin/ldap/ldap.html:59
1452 1444 msgid "Base DN"
1453 1445 msgstr "Base de recherche"
1454 1446
1455 1447 #: rhodecode/templates/admin/ldap/ldap.html:63
1456 1448 msgid "LDAP Filter"
1457 1449 msgstr "Filtre de recherche"
1458 1450
1459 1451 #: rhodecode/templates/admin/ldap/ldap.html:67
1460 1452 msgid "LDAP Search Scope"
1461 1453 msgstr "Portée de recherche"
1462 1454
1463 1455 #: rhodecode/templates/admin/ldap/ldap.html:70
1464 1456 msgid "Attribute mappings"
1465 1457 msgstr "Correspondance des attributs"
1466 1458
1467 1459 #: rhodecode/templates/admin/ldap/ldap.html:72
1468 1460 msgid "Login Attribute"
1469 1461 msgstr "Attribut pour le nom d’utilisateur"
1470 1462
1471 1463 #: rhodecode/templates/admin/ldap/ldap.html:76
1472 1464 msgid "First Name Attribute"
1473 1465 msgstr "Attribut pour le prénom"
1474 1466
1475 1467 #: rhodecode/templates/admin/ldap/ldap.html:80
1476 1468 msgid "Last Name Attribute"
1477 1469 msgstr "Attribut pour le nom de famille"
1478 1470
1479 1471 #: rhodecode/templates/admin/ldap/ldap.html:84
1480 1472 msgid "E-mail Attribute"
1481 1473 msgstr "Attribut pour l’e-mail"
1482 1474
1483 1475 #: rhodecode/templates/admin/ldap/ldap.html:89
1484 1476 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1485 1477 #: rhodecode/templates/admin/settings/hooks.html:73
1486 1478 #: rhodecode/templates/admin/users/user_edit.html:129
1487 1479 #: rhodecode/templates/admin/users/user_edit.html:154
1488 1480 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:79
1489 1481 #: rhodecode/templates/admin/users_groups/users_group_edit.html:115
1490 1482 #: rhodecode/templates/settings/repo_settings.html:84
1491 1483 msgid "Save"
1492 1484 msgstr "Enregistrer"
1493 1485
1494 1486 #: rhodecode/templates/admin/notifications/notifications.html:5
1495 1487 #: rhodecode/templates/admin/notifications/notifications.html:9
1496 1488 msgid "My Notifications"
1497 1489 msgstr "Mes notifications"
1498 1490
1499 1491 #: rhodecode/templates/admin/notifications/notifications.html:29
1500 1492 msgid "Mark all read"
1501 1493 msgstr "Tout marquer comme lu"
1502 1494
1503 1495 #: rhodecode/templates/admin/notifications/notifications_data.html:38
1504 1496 msgid "No notifications here yet"
1505 1497 msgstr "Aucune notification pour le moment."
1506 1498
1507 1499 #: rhodecode/templates/admin/notifications/show_notification.html:5
1508 1500 #: rhodecode/templates/admin/notifications/show_notification.html:11
1509 1501 msgid "Show notification"
1510 1502 msgstr "Notification"
1511 1503
1512 1504 #: rhodecode/templates/admin/notifications/show_notification.html:9
1513 1505 msgid "Notifications"
1514 1506 msgstr "Notifications"
1515 1507
1516 1508 #: rhodecode/templates/admin/permissions/permissions.html:5
1517 1509 msgid "Permissions administration"
1518 1510 msgstr "Gestion des permissions"
1519 1511
1520 1512 #: rhodecode/templates/admin/permissions/permissions.html:11
1521 1513 #: rhodecode/templates/admin/repos/repo_edit.html:116
1522 1514 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
1523 1515 #: rhodecode/templates/admin/users/user_edit.html:139
1524 1516 #: rhodecode/templates/admin/users_groups/users_group_edit.html:100
1525 1517 #: rhodecode/templates/settings/repo_settings.html:77
1526 1518 msgid "Permissions"
1527 1519 msgstr "Permissions"
1528 1520
1529 1521 #: rhodecode/templates/admin/permissions/permissions.html:24
1530 1522 msgid "Default permissions"
1531 1523 msgstr "Permissions par défaut"
1532 1524
1533 1525 #: rhodecode/templates/admin/permissions/permissions.html:31
1534 1526 msgid "Anonymous access"
1535 1527 msgstr "Accès anonyme"
1536 1528
1537 1529 #: rhodecode/templates/admin/permissions/permissions.html:41
1538 1530 msgid "Repository permission"
1539 1531 msgstr "Permissions du dépôt"
1540 1532
1541 1533 #: rhodecode/templates/admin/permissions/permissions.html:49
1542 1534 msgid ""
1543 1535 "All default permissions on each repository will be reset to choosen "
1544 1536 "permission, note that all custom default permission on repositories will "
1545 1537 "be lost"
1546 1538 msgstr ""
1547 1539 "Les permissions par défaut de chaque dépôt vont être remplacées par la "
1548 1540 "permission choisie. Toutes les permissions par défaut des dépôts seront "
1549 1541 "perdues."
1550 1542
1551 1543 #: rhodecode/templates/admin/permissions/permissions.html:50
1552 1544 msgid "overwrite existing settings"
1553 1545 msgstr "Écraser les permissions existantes"
1554 1546
1555 1547 #: rhodecode/templates/admin/permissions/permissions.html:55
1556 1548 msgid "Registration"
1557 1549 msgstr "Enregistrement"
1558 1550
1559 1551 #: rhodecode/templates/admin/permissions/permissions.html:63
1560 1552 msgid "Repository creation"
1561 1553 msgstr "Création de dépôt"
1562 1554
1563 1555 #: rhodecode/templates/admin/permissions/permissions.html:71
1564 1556 #: rhodecode/templates/admin/repos/repo_edit.html:218
1565 1557 msgid "set"
1566 1558 msgstr "Définir"
1567 1559
1568 1560 #: rhodecode/templates/admin/repos/repo_add.html:5
1569 1561 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
1570 1562 msgid "Add repository"
1571 1563 msgstr "Ajouter un dépôt"
1572 1564
1573 1565 #: rhodecode/templates/admin/repos/repo_add.html:11
1574 1566 #: rhodecode/templates/admin/repos/repo_edit.html:11
1575 1567 #: rhodecode/templates/admin/repos/repos.html:10
1576 1568 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
1577 1569 msgid "Repositories"
1578 1570 msgstr "Dépôts"
1579 1571
1580 1572 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1581 1573 #: rhodecode/templates/summary/summary.html:90
1582 1574 #: rhodecode/templates/summary/summary.html:91
1583 1575 msgid "Clone from"
1584 1576 msgstr "Cloner depuis"
1585 1577
1586 1578 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1587 1579 #: rhodecode/templates/admin/repos/repo_edit.html:44
1588 1580 #: rhodecode/templates/settings/repo_settings.html:43
1589 1581 msgid "Optional http[s] url from which repository should be cloned."
1590 1582 msgstr "URL http(s) depuis laquelle le dépôt doit être cloné."
1591 1583
1592 1584 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1593 1585 #: rhodecode/templates/admin/repos/repo_edit.html:49
1594 1586 #: rhodecode/templates/admin/repos_groups/repos_groups.html:4
1595 1587 #: rhodecode/templates/forks/fork.html:41
1596 1588 #: rhodecode/templates/settings/repo_settings.html:48
1597 1589 msgid "Repository group"
1598 1590 msgstr "Groupe de dépôt"
1599 1591
1600 1592 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1601 1593 #: rhodecode/templates/admin/repos/repo_edit.html:53
1602 1594 #: rhodecode/templates/settings/repo_settings.html:52
1603 1595 msgid "Optional select a group to put this repository into."
1604 1596 msgstr "Sélectionnez un groupe (optionel) dans lequel sera placé le dépôt."
1605 1597
1606 1598 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1607 1599 #: rhodecode/templates/admin/repos/repo_edit.html:58
1608 1600 msgid "Type"
1609 1601 msgstr "Type"
1610 1602
1611 1603 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1612 1604 msgid "Type of repository to create."
1613 1605 msgstr "Type de dépôt à créer."
1614 1606
1615 1607 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1616 1608 #: rhodecode/templates/admin/repos/repo_edit.html:70
1617 1609 #: rhodecode/templates/settings/repo_settings.html:61
1618 1610 msgid "Keep it short and to the point. Use a README file for longer descriptions."
1619 1611 msgstr ""
1620 1612 "Gardez cette description précise et concise. Utilisez un fichier README "
1621 1613 "pour des descriptions plus détaillées."
1622 1614
1623 1615 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1624 1616 #: rhodecode/templates/admin/repos/repo_edit.html:80
1625 1617 #: rhodecode/templates/settings/repo_settings.html:71
1626 1618 msgid ""
1627 1619 "Private repositories are only visible to people explicitly added as "
1628 1620 "collaborators."
1629 1621 msgstr ""
1630 1622 "Les dépôts privés sont visibles seulement par les utilisateurs ajoutés "
1631 1623 "comme collaborateurs."
1632 1624
1633 1625 #: rhodecode/templates/admin/repos/repo_add_base.html:64
1634 1626 msgid "add"
1635 1627 msgstr "Ajouter"
1636 1628
1637 1629 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1638 1630 msgid "add new repository"
1639 1631 msgstr "ajouter un nouveau dépôt"
1640 1632
1641 1633 #: rhodecode/templates/admin/repos/repo_edit.html:5
1642 1634 msgid "Edit repository"
1643 1635 msgstr "Éditer le dépôt"
1644 1636
1645 1637 #: rhodecode/templates/admin/repos/repo_edit.html:13
1646 1638 #: rhodecode/templates/admin/users/user_edit.html:13
1647 1639 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
1648 1640 #: rhodecode/templates/admin/users_groups/users_group_edit.html:13
1649 1641 #: rhodecode/templates/files/files_source.html:32
1650 1642 #: rhodecode/templates/journal/journal.html:72
1651 1643 msgid "edit"
1652 1644 msgstr "éditer"
1653 1645
1654 1646 #: rhodecode/templates/admin/repos/repo_edit.html:40
1655 1647 #: rhodecode/templates/settings/repo_settings.html:39
1656 1648 msgid "Clone uri"
1657 1649 msgstr "URL de clone"
1658 1650
1659 1651 #: rhodecode/templates/admin/repos/repo_edit.html:85
1660 1652 msgid "Enable statistics"
1661 1653 msgstr "Activer les statistiques"
1662 1654
1663 1655 #: rhodecode/templates/admin/repos/repo_edit.html:89
1664 1656 msgid "Enable statistics window on summary page."
1665 1657 msgstr "Afficher les statistiques sur la page du dépôt."
1666 1658
1667 1659 #: rhodecode/templates/admin/repos/repo_edit.html:94
1668 1660 msgid "Enable downloads"
1669 1661 msgstr "Activer les téléchargements"
1670 1662
1671 1663 #: rhodecode/templates/admin/repos/repo_edit.html:98
1672 1664 msgid "Enable download menu on summary page."
1673 1665 msgstr "Afficher le menu de téléchargements sur la page du dépôt."
1674 1666
1675 1667 #: rhodecode/templates/admin/repos/repo_edit.html:108
1676 1668 msgid "Change owner of this repository."
1677 1669 msgstr "Changer le propriétaire de ce dépôt."
1678 1670
1679 1671 #: rhodecode/templates/admin/repos/repo_edit.html:134
1680 1672 msgid "Administration"
1681 1673 msgstr "Administration"
1682 1674
1683 1675 #: rhodecode/templates/admin/repos/repo_edit.html:137
1684 1676 msgid "Statistics"
1685 1677 msgstr "Statistiques"
1686 1678
1687 1679 #: rhodecode/templates/admin/repos/repo_edit.html:141
1688 1680 msgid "Reset current statistics"
1689 1681 msgstr "Réinitialiser les statistiques"
1690 1682
1691 1683 #: rhodecode/templates/admin/repos/repo_edit.html:141
1692 1684 msgid "Confirm to remove current statistics"
1693 1685 msgstr "Souhaitez-vous vraiment réinitialiser les statistiques de ce dépôt ?"
1694 1686
1695 1687 #: rhodecode/templates/admin/repos/repo_edit.html:144
1696 1688 msgid "Fetched to rev"
1697 1689 msgstr "Parcouru jusqu’à la révision"
1698 1690
1699 1691 #: rhodecode/templates/admin/repos/repo_edit.html:145
1700 1692 msgid "Stats gathered"
1701 1693 msgstr "Statistiques obtenues"
1702 1694
1703 1695 #: rhodecode/templates/admin/repos/repo_edit.html:153
1704 1696 msgid "Remote"
1705 1697 msgstr "Dépôt distant"
1706 1698
1707 1699 #: rhodecode/templates/admin/repos/repo_edit.html:157
1708 1700 msgid "Pull changes from remote location"
1709 1701 msgstr "Récupérer les changements depuis le site distant"
1710 1702
1711 1703 #: rhodecode/templates/admin/repos/repo_edit.html:157
1712 1704 msgid "Confirm to pull changes from remote side"
1713 1705 msgstr "Voulez-vous vraiment récupérer les changements depuis le site distant ?"
1714 1706
1715 1707 #: rhodecode/templates/admin/repos/repo_edit.html:168
1716 1708 msgid "Cache"
1717 1709 msgstr "Cache"
1718 1710
1719 1711 #: rhodecode/templates/admin/repos/repo_edit.html:172
1720 1712 msgid "Invalidate repository cache"
1721 1713 msgstr "Invalider le cache du dépôt"
1722 1714
1723 1715 #: rhodecode/templates/admin/repos/repo_edit.html:172
1724 1716 msgid "Confirm to invalidate repository cache"
1725 1717 msgstr "Voulez-vous vraiment invalider le cache du dépôt ?"
1726 1718
1727 1719 #: rhodecode/templates/admin/repos/repo_edit.html:183
1728 1720 msgid "Remove from public journal"
1729 1721 msgstr "Supprimer du journal public"
1730 1722
1731 1723 #: rhodecode/templates/admin/repos/repo_edit.html:185
1732 1724 msgid "Add to public journal"
1733 1725 msgstr "Ajouter le dépôt au journal public"
1734 1726
1735 1727 #: rhodecode/templates/admin/repos/repo_edit.html:190
1736 1728 msgid ""
1737 1729 "All actions made on this repository will be accessible to everyone in "
1738 1730 "public journal"
1739 1731 msgstr ""
1740 1732 "Le descriptif des actions réalisées sur ce dépôt sera visible à tous "
1741 1733 "depuis le journal public."
1742 1734
1743 1735 #: rhodecode/templates/admin/repos/repo_edit.html:197
1744 1736 #: rhodecode/templates/changeset/changeset_file_comment.html:19
1745 1737 msgid "Delete"
1746 1738 msgstr "Supprimer"
1747 1739
1748 1740 #: rhodecode/templates/admin/repos/repo_edit.html:201
1749 1741 msgid "Remove this repository"
1750 1742 msgstr "Supprimer ce dépôt"
1751 1743
1752 1744 #: rhodecode/templates/admin/repos/repo_edit.html:201
1753 1745 msgid "Confirm to delete this repository"
1754 1746 msgstr "Voulez-vous vraiment supprimer ce dépôt ?"
1755 1747
1756 1748 #: rhodecode/templates/admin/repos/repo_edit.html:205
1757 1749 msgid ""
1758 1750 "This repository will be renamed in a special way in order to be "
1759 1751 "unaccesible for RhodeCode and VCS systems.\n"
1760 1752 " If you need fully delete it from filesystem "
1761 1753 "please do it manually"
1762 1754 msgstr ""
1763 1755 "Ce dépôt sera renommé de manière à le rendre inaccessible à RhodeCode et "
1764 1756 "au système de gestion de versions.\n"
1765 1757 "Si vous voulez le supprimer complètement, effectuez la suppression "
1766 1758 "manuellement."
1767 1759
1768 1760 #: rhodecode/templates/admin/repos/repo_edit.html:213
1769 1761 msgid "Set as fork"
1770 1762 msgstr "Indiquer comme fork"
1771 1763
1772 1764 #: rhodecode/templates/admin/repos/repo_edit.html:222
1773 1765 msgid "Manually set this repository as a fork of another"
1774 1766 msgstr "Permet d’indiquer manuellement que ce dépôt est un fork d’un autre dépôt."
1775 1767
1776 1768 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
1777 1769 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
1778 1770 msgid "none"
1779 1771 msgstr "Aucune"
1780 1772
1781 1773 #: rhodecode/templates/admin/repos/repo_edit_perms.html:4
1782 1774 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
1783 1775 msgid "read"
1784 1776 msgstr "Lecture"
1785 1777
1786 1778 #: rhodecode/templates/admin/repos/repo_edit_perms.html:5
1787 1779 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
1788 1780 msgid "write"
1789 1781 msgstr "Écriture"
1790 1782
1791 1783 #: rhodecode/templates/admin/repos/repo_edit_perms.html:6
1792 1784 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
1793 1785 #: rhodecode/templates/admin/users/users.html:38
1794 1786 #: rhodecode/templates/base/base.html:214
1795 1787 msgid "admin"
1796 1788 msgstr "Administration"
1797 1789
1798 1790 #: rhodecode/templates/admin/repos/repo_edit_perms.html:7
1799 1791 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
1800 1792 msgid "member"
1801 1793 msgstr "Membre"
1802 1794
1803 1795 #: rhodecode/templates/admin/repos/repo_edit_perms.html:16
1804 1796 #: rhodecode/templates/data_table/_dt_elements.html:61
1805 1797 #: rhodecode/templates/journal/journal.html:123
1806 1798 #: rhodecode/templates/summary/summary.html:71
1807 1799 msgid "private repository"
1808 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 1808 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
1811 1809 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
1812 1810 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
1813 1811 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
1814 1812 msgid "revoke"
1815 1813 msgstr "Révoquer"
1816 1814
1817 1815 #: rhodecode/templates/admin/repos/repo_edit_perms.html:80
1818 1816 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
1819 1817 msgid "Add another member"
1820 1818 msgstr "Ajouter un utilisateur"
1821 1819
1822 1820 #: rhodecode/templates/admin/repos/repo_edit_perms.html:94
1823 1821 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
1824 1822 msgid "Failed to remove user"
1825 1823 msgstr "Échec de suppression de l’utilisateur"
1826 1824
1827 1825 #: rhodecode/templates/admin/repos/repo_edit_perms.html:109
1828 1826 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
1829 1827 msgid "Failed to remove users group"
1830 1828 msgstr "Erreur lors de la suppression du groupe d’utilisateurs."
1831 1829
1832 1830 #: rhodecode/templates/admin/repos/repos.html:5
1833 1831 msgid "Repositories administration"
1834 1832 msgstr "Administration des dépôts"
1835 1833
1836 1834 #: rhodecode/templates/admin/repos/repos.html:40
1837 1835 #: rhodecode/templates/summary/summary.html:107
1838 1836 msgid "Contact"
1839 1837 msgstr "Contact"
1840 1838
1841 1839 #: rhodecode/templates/admin/repos/repos.html:68
1842 1840 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1843 1841 #: rhodecode/templates/admin/users/users.html:55
1844 1842 #: rhodecode/templates/admin/users_groups/users_groups.html:44
1845 1843 msgid "delete"
1846 1844 msgstr "Supprimer"
1847 1845
1848 1846 #: rhodecode/templates/admin/repos/repos.html:68
1849 1847 #: rhodecode/templates/admin/users/user_edit_my_account.html:74
1850 1848 #, python-format
1851 1849 msgid "Confirm to delete this repository: %s"
1852 1850 msgstr "Voulez-vous vraiment supprimer le dépôt %s ?"
1853 1851
1854 1852 #: rhodecode/templates/admin/repos_groups/repos_groups.html:8
1855 1853 msgid "Groups"
1856 1854 msgstr "Groupes"
1857 1855
1858 1856 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
1859 1857 msgid "with"
1860 msgstr "avec support de"
1858 msgstr "comprenant"
1861 1859
1862 1860 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
1863 1861 msgid "Add repos group"
1864 1862 msgstr "Créer un groupe de dépôt"
1865 1863
1866 1864 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
1867 1865 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
1868 1866 msgid "Repos groups"
1869 1867 msgstr "Groupes de dépôts"
1870 1868
1871 1869 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
1872 1870 msgid "add new repos group"
1873 1871 msgstr "Nouveau groupe de dépôt"
1874 1872
1875 1873 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
1876 1874 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
1877 1875 msgid "Group parent"
1878 1876 msgstr "Parent du groupe"
1879 1877
1880 1878 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
1881 1879 #: rhodecode/templates/admin/users/user_add.html:94
1882 1880 #: rhodecode/templates/admin/users_groups/users_group_add.html:49
1883 1881 #: rhodecode/templates/admin/users_groups/users_group_edit.html:90
1884 1882 msgid "save"
1885 1883 msgstr "Enregistrer"
1886 1884
1887 1885 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
1888 1886 msgid "Edit repos group"
1889 1887 msgstr "Éditer le groupe de dépôt"
1890 1888
1891 1889 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
1892 1890 msgid "edit repos group"
1893 1891 msgstr "Édition du groupe de dépôt"
1894 1892
1895 1893 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
1896 1894 #: rhodecode/templates/admin/settings/settings.html:112
1897 1895 #: rhodecode/templates/admin/settings/settings.html:177
1898 1896 #: rhodecode/templates/admin/users/user_edit.html:130
1899 1897 #: rhodecode/templates/admin/users/user_edit.html:155
1900 1898 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:80
1901 1899 #: rhodecode/templates/admin/users_groups/users_group_edit.html:116
1902 1900 #: rhodecode/templates/files/files_add.html:82
1903 1901 #: rhodecode/templates/files/files_edit.html:68
1904 1902 #: rhodecode/templates/settings/repo_settings.html:85
1905 1903 msgid "Reset"
1906 1904 msgstr "Réinitialiser"
1907 1905
1908 1906 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
1909 1907 msgid "Repositories groups administration"
1910 1908 msgstr "Administration des groupes de dépôts"
1911 1909
1912 1910 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
1913 1911 msgid "ADD NEW GROUP"
1914 1912 msgstr "AJOUTER UN NOUVEAU GROUPE"
1915 1913
1916 1914 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
1917 1915 msgid "Number of toplevel repositories"
1918 1916 msgstr "Nombre de sous-dépôts"
1919 1917
1920 1918 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
1921 1919 #: rhodecode/templates/admin/users/users.html:40
1922 1920 #: rhodecode/templates/admin/users_groups/users_groups.html:35
1923 1921 msgid "action"
1924 1922 msgstr "Action"
1925 1923
1926 1924 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1927 1925 #, python-format
1928 1926 msgid "Confirm to delete this group: %s"
1929 1927 msgstr "Voulez-vous vraiment supprimer le groupe « %s » ?"
1930 1928
1931 1929 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
1932 1930 msgid "There are no repositories groups yet"
1933 1931 msgstr "Aucun groupe de dépôts n’a été créé pour le moment."
1934 1932
1935 1933 #: rhodecode/templates/admin/settings/hooks.html:5
1936 1934 #: rhodecode/templates/admin/settings/settings.html:5
1937 1935 msgid "Settings administration"
1938 1936 msgstr "Administration générale"
1939 1937
1940 1938 #: rhodecode/templates/admin/settings/hooks.html:9
1941 1939 #: rhodecode/templates/admin/settings/settings.html:9
1942 #: rhodecode/templates/settings/repo_settings.html:5
1943 1940 #: rhodecode/templates/settings/repo_settings.html:13
1944 1941 msgid "Settings"
1945 1942 msgstr "Options"
1946 1943
1947 1944 #: rhodecode/templates/admin/settings/hooks.html:24
1948 1945 msgid "Built in hooks - read only"
1949 1946 msgstr "Hooks prédéfinis (lecture seule)"
1950 1947
1951 1948 #: rhodecode/templates/admin/settings/hooks.html:40
1952 1949 msgid "Custom hooks"
1953 1950 msgstr "Hooks personnalisés"
1954 1951
1955 1952 #: rhodecode/templates/admin/settings/hooks.html:56
1956 1953 msgid "remove"
1957 1954 msgstr "Enlever"
1958 1955
1959 1956 #: rhodecode/templates/admin/settings/hooks.html:88
1960 1957 msgid "Failed to remove hook"
1961 1958 msgstr "Erreur lors de la suppression du hook."
1962 1959
1963 1960 #: rhodecode/templates/admin/settings/settings.html:24
1964 1961 msgid "Remap and rescan repositories"
1965 1962 msgstr "Ré-associer et re-scanner les dépôts"
1966 1963
1967 1964 #: rhodecode/templates/admin/settings/settings.html:32
1968 1965 msgid "rescan option"
1969 1966 msgstr "Option de re-scan"
1970 1967
1971 1968 #: rhodecode/templates/admin/settings/settings.html:38
1972 1969 msgid ""
1973 1970 "In case a repository was deleted from filesystem and there are leftovers "
1974 1971 "in the database check this option to scan obsolete data in database and "
1975 1972 "remove it."
1976 1973 msgstr ""
1977 1974 "Cochez cette option pour supprimer d’éventuelles données obsolètes "
1978 1975 "(concernant des dépôts manuellement supprimés) de la base de données."
1979 1976
1980 1977 #: rhodecode/templates/admin/settings/settings.html:39
1981 1978 msgid "destroy old data"
1982 1979 msgstr "Supprimer les données obsolètes"
1983 1980
1984 1981 #: rhodecode/templates/admin/settings/settings.html:45
1985 1982 msgid "Rescan repositories"
1986 1983 msgstr "Re-scanner les dépôts"
1987 1984
1988 1985 #: rhodecode/templates/admin/settings/settings.html:51
1989 1986 msgid "Whoosh indexing"
1990 1987 msgstr "Indexation Whoosh"
1991 1988
1992 1989 #: rhodecode/templates/admin/settings/settings.html:59
1993 1990 msgid "index build option"
1994 1991 msgstr "Option d’indexation"
1995 1992
1996 1993 #: rhodecode/templates/admin/settings/settings.html:64
1997 1994 msgid "build from scratch"
1998 1995 msgstr "Purger et reconstruire l’index"
1999 1996
2000 1997 #: rhodecode/templates/admin/settings/settings.html:70
2001 1998 msgid "Reindex"
2002 1999 msgstr "Mettre à jour l’index"
2003 2000
2004 2001 #: rhodecode/templates/admin/settings/settings.html:76
2005 2002 msgid "Global application settings"
2006 2003 msgstr "Réglages d’application globaux"
2007 2004
2008 2005 #: rhodecode/templates/admin/settings/settings.html:85
2009 2006 msgid "Application name"
2010 2007 msgstr "Nom de l’application"
2011 2008
2012 2009 #: rhodecode/templates/admin/settings/settings.html:94
2013 2010 msgid "Realm text"
2014 2011 msgstr "Texte du royaume"
2015 2012
2016 2013 #: rhodecode/templates/admin/settings/settings.html:103
2017 2014 msgid "GA code"
2018 2015 msgstr "Code GA"
2019 2016
2020 2017 #: rhodecode/templates/admin/settings/settings.html:111
2021 2018 #: rhodecode/templates/admin/settings/settings.html:176
2022 2019 msgid "Save settings"
2023 2020 msgstr "Enregister les options"
2024 2021
2025 2022 #: rhodecode/templates/admin/settings/settings.html:118
2026 2023 msgid "Mercurial settings"
2027 2024 msgstr "Options de Mercurial"
2028 2025
2029 2026 #: rhodecode/templates/admin/settings/settings.html:127
2030 2027 msgid "Web"
2031 2028 msgstr "Web"
2032 2029
2033 2030 #: rhodecode/templates/admin/settings/settings.html:132
2034 2031 msgid "require ssl for pushing"
2035 2032 msgstr "SSL requis pour les pushs"
2036 2033
2037 2034 #: rhodecode/templates/admin/settings/settings.html:139
2038 2035 msgid "Hooks"
2039 2036 msgstr "Hooks"
2040 2037
2041 2038 #: rhodecode/templates/admin/settings/settings.html:144
2042 2039 msgid "Update repository after push (hg update)"
2043 2040 msgstr "Mettre à jour les dépôts après un push (hg update)"
2044 2041
2045 2042 #: rhodecode/templates/admin/settings/settings.html:148
2046 2043 msgid "Show repository size after push"
2047 2044 msgstr "Afficher la taille du dépôt après un push"
2048 2045
2049 2046 #: rhodecode/templates/admin/settings/settings.html:152
2050 2047 msgid "Log user push commands"
2051 2048 msgstr "Journaliser les commandes de push"
2052 2049
2053 2050 #: rhodecode/templates/admin/settings/settings.html:156
2054 2051 msgid "Log user pull commands"
2055 2052 msgstr "Journaliser les commandes de pull"
2056 2053
2057 2054 #: rhodecode/templates/admin/settings/settings.html:160
2058 2055 msgid "advanced setup"
2059 2056 msgstr "Avancé"
2060 2057
2061 2058 #: rhodecode/templates/admin/settings/settings.html:165
2062 2059 msgid "Repositories location"
2063 2060 msgstr "Emplacement des dépôts"
2064 2061
2065 2062 #: rhodecode/templates/admin/settings/settings.html:170
2066 2063 msgid ""
2067 2064 "This a crucial application setting. If you are really sure you need to "
2068 2065 "change this, you must restart application in order to make this setting "
2069 2066 "take effect. Click this label to unlock."
2070 2067 msgstr ""
2071 2068 "Ce réglage ne devrait pas être modifié en temps normal. Si vous devez "
2072 2069 "vraiment le faire, redémarrer l’application une fois le changement "
2073 2070 "effectué. Cliquez sur ce texte pour déverrouiller."
2074 2071
2075 2072 #: rhodecode/templates/admin/settings/settings.html:171
2076 2073 msgid "unlock"
2077 2074 msgstr "Déverrouiller"
2078 2075
2079 2076 #: rhodecode/templates/admin/settings/settings.html:191
2080 2077 msgid "Test Email"
2081 2078 msgstr "E-mail de test"
2082 2079
2083 2080 #: rhodecode/templates/admin/settings/settings.html:199
2084 2081 msgid "Email to"
2085 2082 msgstr "Envoyer l’e-mail à"
2086 2083
2087 2084 #: rhodecode/templates/admin/settings/settings.html:207
2088 2085 msgid "Send"
2089 2086 msgstr "Envoyer"
2090 2087
2091 2088 #: rhodecode/templates/admin/settings/settings.html:213
2092 2089 msgid "System Info and Packages"
2093 2090 msgstr "Information système et paquets"
2094 2091
2095 2092 #: rhodecode/templates/admin/settings/settings.html:216
2096 2093 msgid "show"
2097 2094 msgstr "Montrer"
2098 2095
2099 2096 #: rhodecode/templates/admin/users/user_add.html:5
2100 2097 msgid "Add user"
2101 2098 msgstr "Ajouter un utilisateur"
2102 2099
2103 2100 #: rhodecode/templates/admin/users/user_add.html:10
2104 2101 #: rhodecode/templates/admin/users/user_edit.html:11
2105 2102 #: rhodecode/templates/admin/users/users.html:9
2106 2103 msgid "Users"
2107 2104 msgstr "Utilisateurs"
2108 2105
2109 2106 #: rhodecode/templates/admin/users/user_add.html:12
2110 2107 msgid "add new user"
2111 2108 msgstr "nouvel utilisateur"
2112 2109
2113 2110 #: rhodecode/templates/admin/users/user_add.html:50
2114 2111 msgid "Password confirmation"
2115 2112 msgstr "Confirmation"
2116 2113
2117 2114 #: rhodecode/templates/admin/users/user_add.html:86
2118 2115 #: rhodecode/templates/admin/users/user_edit.html:113
2119 2116 #: rhodecode/templates/admin/users_groups/users_group_add.html:41
2120 2117 #: rhodecode/templates/admin/users_groups/users_group_edit.html:42
2121 2118 msgid "Active"
2122 2119 msgstr "Actif"
2123 2120
2124 2121 #: rhodecode/templates/admin/users/user_edit.html:5
2125 2122 msgid "Edit user"
2126 2123 msgstr "Éditer l'utilisateur"
2127 2124
2128 2125 #: rhodecode/templates/admin/users/user_edit.html:34
2129 2126 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:10
2130 2127 msgid "Change your avatar at"
2131 2128 msgstr "Vous pouvez changer votre avatar sur"
2132 2129
2133 2130 #: rhodecode/templates/admin/users/user_edit.html:35
2134 2131 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:11
2135 2132 msgid "Using"
2136 2133 msgstr "en utilisant l’adresse"
2137 2134
2138 2135 #: rhodecode/templates/admin/users/user_edit.html:43
2139 2136 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2140 2137 msgid "API key"
2141 2138 msgstr "Clé d’API"
2142 2139
2143 2140 #: rhodecode/templates/admin/users/user_edit.html:59
2144 2141 msgid "LDAP DN"
2145 2142 msgstr "DN LDAP"
2146 2143
2147 2144 #: rhodecode/templates/admin/users/user_edit.html:68
2148 2145 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
2149 2146 msgid "New password"
2150 2147 msgstr "Nouveau mot de passe"
2151 2148
2152 2149 #: rhodecode/templates/admin/users/user_edit.html:77
2153 2150 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2154 2151 msgid "New password confirmation"
2155 2152 msgstr "Confirmation du nouveau mot de passe"
2156 2153
2157 2154 #: rhodecode/templates/admin/users/user_edit.html:147
2158 2155 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2159 2156 msgid "Create repositories"
2160 2157 msgstr "Création de dépôts"
2161 2158
2162 2159 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2163 2160 #: rhodecode/templates/base/base.html:124
2164 2161 msgid "My account"
2165 2162 msgstr "Mon compte"
2166 2163
2167 2164 #: rhodecode/templates/admin/users/user_edit_my_account.html:9
2168 2165 msgid "My Account"
2169 2166 msgstr "Mon compte"
2170 2167
2171 2168 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2172 2169 #: rhodecode/templates/journal/journal.html:32
2173 2170 msgid "My repos"
2174 2171 msgstr "Mes dépôts"
2175 2172
2176 2173 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2177 2174 msgid "My permissions"
2178 2175 msgstr "Mes permissions"
2179 2176
2180 2177 #: rhodecode/templates/admin/users/user_edit_my_account.html:37
2181 2178 #: rhodecode/templates/journal/journal.html:37
2182 2179 msgid "ADD"
2183 2180 msgstr "AJOUTER"
2184 2181
2185 2182 #: rhodecode/templates/admin/users/user_edit_my_account.html:50
2186 2183 #: rhodecode/templates/bookmarks/bookmarks.html:40
2187 2184 #: rhodecode/templates/bookmarks/bookmarks_data.html:9
2188 2185 #: rhodecode/templates/branches/branches.html:40
2189 2186 #: rhodecode/templates/journal/journal.html:51
2190 2187 #: rhodecode/templates/tags/tags.html:40
2191 2188 #: rhodecode/templates/tags/tags_data.html:9
2192 2189 msgid "Revision"
2193 2190 msgstr "Révision"
2194 2191
2195 2192 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
2196 2193 #: rhodecode/templates/journal/journal.html:72
2197 2194 msgid "private"
2198 2195 msgstr "privé"
2199 2196
2200 2197 #: rhodecode/templates/admin/users/user_edit_my_account.html:81
2201 2198 #: rhodecode/templates/journal/journal.html:85
2202 2199 msgid "No repositories yet"
2203 2200 msgstr "Aucun dépôt pour le moment"
2204 2201
2205 2202 #: rhodecode/templates/admin/users/user_edit_my_account.html:83
2206 2203 #: rhodecode/templates/journal/journal.html:87
2207 2204 msgid "create one now"
2208 2205 msgstr "En créer un maintenant"
2209 2206
2210 2207 #: rhodecode/templates/admin/users/user_edit_my_account.html:100
2211 2208 #: rhodecode/templates/admin/users/user_edit_my_account.html:201
2212 2209 msgid "Permission"
2213 2210 msgstr "Permission"
2214 2211
2215 2212 #: rhodecode/templates/admin/users/users.html:5
2216 2213 msgid "Users administration"
2217 2214 msgstr "Administration des utilisateurs"
2218 2215
2219 2216 #: rhodecode/templates/admin/users/users.html:23
2220 2217 msgid "ADD NEW USER"
2221 2218 msgstr "NOUVEL UTILISATEUR"
2222 2219
2223 2220 #: rhodecode/templates/admin/users/users.html:33
2224 2221 msgid "username"
2225 2222 msgstr "Nom d’utilisateur"
2226 2223
2227 2224 #: rhodecode/templates/admin/users/users.html:34
2228 2225 #: rhodecode/templates/branches/branches_data.html:6
2229 2226 msgid "name"
2230 2227 msgstr "Prénom"
2231 2228
2232 2229 #: rhodecode/templates/admin/users/users.html:35
2233 2230 msgid "lastname"
2234 2231 msgstr "Nom de famille"
2235 2232
2236 2233 #: rhodecode/templates/admin/users/users.html:36
2237 2234 msgid "last login"
2238 2235 msgstr "Dernière connexion"
2239 2236
2240 2237 #: rhodecode/templates/admin/users/users.html:37
2241 2238 #: rhodecode/templates/admin/users_groups/users_groups.html:34
2242 2239 msgid "active"
2243 2240 msgstr "Actif"
2244 2241
2245 2242 #: rhodecode/templates/admin/users/users.html:39
2246 2243 #: rhodecode/templates/base/base.html:223
2247 2244 msgid "ldap"
2248 2245 msgstr "LDAP"
2249 2246
2250 2247 #: rhodecode/templates/admin/users/users.html:56
2251 2248 #, python-format
2252 2249 msgid "Confirm to delete this user: %s"
2253 2250 msgstr "Voulez-vous vraiment supprimer l’utilisateur « %s » ?"
2254 2251
2255 2252 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2256 2253 msgid "Add users group"
2257 2254 msgstr "Ajouter un groupe d’utilisateur"
2258 2255
2259 2256 #: rhodecode/templates/admin/users_groups/users_group_add.html:10
2260 2257 #: rhodecode/templates/admin/users_groups/users_groups.html:9
2261 2258 msgid "Users groups"
2262 2259 msgstr "Groupes d’utilisateurs"
2263 2260
2264 2261 #: rhodecode/templates/admin/users_groups/users_group_add.html:12
2265 2262 msgid "add new users group"
2266 2263 msgstr "Ajouter un nouveau groupe"
2267 2264
2268 2265 #: rhodecode/templates/admin/users_groups/users_group_edit.html:5
2269 2266 msgid "Edit users group"
2270 2267 msgstr "Éditer le groupe d’utilisateurs"
2271 2268
2272 2269 #: rhodecode/templates/admin/users_groups/users_group_edit.html:11
2273 2270 msgid "UsersGroups"
2274 2271 msgstr "UsersGroups"
2275 2272
2276 2273 #: rhodecode/templates/admin/users_groups/users_group_edit.html:50
2277 2274 msgid "Members"
2278 2275 msgstr "Membres"
2279 2276
2280 2277 #: rhodecode/templates/admin/users_groups/users_group_edit.html:58
2281 2278 msgid "Choosen group members"
2282 2279 msgstr "Membres du groupe"
2283 2280
2284 2281 #: rhodecode/templates/admin/users_groups/users_group_edit.html:61
2285 2282 msgid "Remove all elements"
2286 2283 msgstr "Tout enlever"
2287 2284
2288 2285 #: rhodecode/templates/admin/users_groups/users_group_edit.html:75
2289 2286 msgid "Available members"
2290 2287 msgstr "Membres disponibles"
2291 2288
2292 2289 #: rhodecode/templates/admin/users_groups/users_group_edit.html:79
2293 2290 msgid "Add all elements"
2294 2291 msgstr "Tout ajouter"
2295 2292
2296 2293 #: rhodecode/templates/admin/users_groups/users_group_edit.html:126
2297 2294 msgid "Group members"
2298 2295 msgstr "Membres du groupe"
2299 2296
2300 2297 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2301 2298 msgid "Users groups administration"
2302 2299 msgstr "Gestion des groupes d’utilisateurs"
2303 2300
2304 2301 #: rhodecode/templates/admin/users_groups/users_groups.html:23
2305 2302 msgid "ADD NEW USER GROUP"
2306 2303 msgstr "AJOUTER UN NOUVEAU GROUPE"
2307 2304
2308 2305 #: rhodecode/templates/admin/users_groups/users_groups.html:32
2309 2306 msgid "group name"
2310 2307 msgstr "Nom du groupe"
2311 2308
2312 2309 #: rhodecode/templates/admin/users_groups/users_groups.html:33
2313 2310 #: rhodecode/templates/base/root.html:46
2314 2311 msgid "members"
2315 2312 msgstr "Membres"
2316 2313
2317 2314 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2318 2315 #, python-format
2319 2316 msgid "Confirm to delete this users group: %s"
2320 2317 msgstr "Voulez-vous vraiment supprimer le groupe d‘utilisateurs « %s » ?"
2321 2318
2322 2319 #: rhodecode/templates/base/base.html:41
2323 2320 msgid "Submit a bug"
2324 2321 msgstr "Signaler un bogue"
2325 2322
2326 2323 #: rhodecode/templates/base/base.html:77
2327 2324 msgid "Login to your account"
2328 2325 msgstr "Connexion à votre compte"
2329 2326
2330 2327 #: rhodecode/templates/base/base.html:100
2331 2328 msgid "Forgot password ?"
2332 2329 msgstr "Mot de passe oublié ?"
2333 2330
2334 2331 #: rhodecode/templates/base/base.html:107
2335 2332 msgid "Log In"
2336 2333 msgstr "Connexion"
2337 2334
2338 2335 #: rhodecode/templates/base/base.html:118
2339 2336 msgid "Inbox"
2340 2337 msgstr "Boîte de réception"
2341 2338
2342 2339 #: rhodecode/templates/base/base.html:122
2343 2340 #: rhodecode/templates/base/base.html:289
2344 2341 #: rhodecode/templates/base/base.html:291
2345 2342 #: rhodecode/templates/base/base.html:293
2346 2343 msgid "Home"
2347 2344 msgstr "Accueil"
2348 2345
2349 2346 #: rhodecode/templates/base/base.html:123
2350 2347 #: rhodecode/templates/base/base.html:298
2351 2348 #: rhodecode/templates/base/base.html:300
2352 2349 #: rhodecode/templates/base/base.html:302
2353 2350 #: rhodecode/templates/journal/journal.html:4
2354 2351 #: rhodecode/templates/journal/journal.html:17
2355 2352 #: rhodecode/templates/journal/public_journal.html:4
2356 2353 msgid "Journal"
2357 2354 msgstr "Historique"
2358 2355
2359 2356 #: rhodecode/templates/base/base.html:125
2360 2357 msgid "Log Out"
2361 2358 msgstr "Se déconnecter"
2362 2359
2363 2360 #: rhodecode/templates/base/base.html:144
2364 2361 msgid "Switch repository"
2365 2362 msgstr "Aller au dépôt"
2366 2363
2367 2364 #: rhodecode/templates/base/base.html:146
2368 2365 msgid "Products"
2369 2366 msgstr "Produits"
2370 2367
2371 2368 #: rhodecode/templates/base/base.html:152
2372 2369 #: rhodecode/templates/base/base.html:182
2373 2370 msgid "loading..."
2374 2371 msgstr "Chargement…"
2375 2372
2376 2373 #: rhodecode/templates/base/base.html:158
2377 2374 #: rhodecode/templates/base/base.html:160
2378 2375 #: rhodecode/templates/base/base.html:162
2379 2376 #: rhodecode/templates/data_table/_dt_elements.html:9
2380 2377 #: rhodecode/templates/data_table/_dt_elements.html:11
2381 2378 #: rhodecode/templates/data_table/_dt_elements.html:13
2382 #: rhodecode/templates/summary/summary.html:4
2383 2379 msgid "Summary"
2384 2380 msgstr "Résumé"
2385 2381
2386 2382 #: rhodecode/templates/base/base.html:166
2387 2383 #: rhodecode/templates/base/base.html:168
2388 2384 #: rhodecode/templates/base/base.html:170
2389 #: rhodecode/templates/changelog/changelog.html:6
2390 2385 #: rhodecode/templates/changelog/changelog.html:15
2391 2386 #: rhodecode/templates/data_table/_dt_elements.html:17
2392 2387 #: rhodecode/templates/data_table/_dt_elements.html:19
2393 2388 #: rhodecode/templates/data_table/_dt_elements.html:21
2394 2389 msgid "Changelog"
2395 2390 msgstr "Historique"
2396 2391
2397 2392 #: rhodecode/templates/base/base.html:175
2398 2393 #: rhodecode/templates/base/base.html:177
2399 2394 #: rhodecode/templates/base/base.html:179
2400 2395 msgid "Switch to"
2401 2396 msgstr "Aller"
2402 2397
2403 2398 #: rhodecode/templates/base/base.html:186
2404 2399 #: rhodecode/templates/base/base.html:188
2405 2400 #: rhodecode/templates/base/base.html:190
2406 2401 #: rhodecode/templates/data_table/_dt_elements.html:25
2407 2402 #: rhodecode/templates/data_table/_dt_elements.html:27
2408 2403 #: rhodecode/templates/data_table/_dt_elements.html:29
2409 #: rhodecode/templates/files/files.html:4
2410 2404 #: rhodecode/templates/files/files.html:40
2411 2405 msgid "Files"
2412 2406 msgstr "Fichiers"
2413 2407
2414 2408 #: rhodecode/templates/base/base.html:195
2415 2409 #: rhodecode/templates/base/base.html:199
2416 2410 msgid "Options"
2417 2411 msgstr "Options"
2418 2412
2419 2413 #: rhodecode/templates/base/base.html:204
2420 2414 #: rhodecode/templates/base/base.html:206
2421 2415 #: rhodecode/templates/base/base.html:224
2422 2416 msgid "settings"
2423 2417 msgstr "Réglages"
2424 2418
2425 2419 #: rhodecode/templates/base/base.html:209
2426 2420 #: rhodecode/templates/data_table/_dt_elements.html:74
2427 2421 #: rhodecode/templates/forks/fork.html:13
2428 2422 msgid "fork"
2429 2423 msgstr "Fork"
2430 2424
2431 2425 #: rhodecode/templates/base/base.html:210
2432 2426 msgid "search"
2433 2427 msgstr "Rechercher"
2434 2428
2435 2429 #: rhodecode/templates/base/base.html:217
2436 2430 msgid "journal"
2437 2431 msgstr "Journal"
2438 2432
2439 2433 #: rhodecode/templates/base/base.html:219
2440 2434 msgid "repositories groups"
2441 2435 msgstr "Groupes de dépôts"
2442 2436
2443 2437 #: rhodecode/templates/base/base.html:220
2444 2438 msgid "users"
2445 2439 msgstr "Utilisateurs"
2446 2440
2447 2441 #: rhodecode/templates/base/base.html:221
2448 2442 msgid "users groups"
2449 2443 msgstr "Groupes d’utilisateurs"
2450 2444
2451 2445 #: rhodecode/templates/base/base.html:222
2452 2446 msgid "permissions"
2453 2447 msgstr "Permissions"
2454 2448
2455 2449 #: rhodecode/templates/base/base.html:235
2456 2450 #: rhodecode/templates/base/base.html:237
2457 #: rhodecode/templates/followers/followers.html:5
2458 2451 msgid "Followers"
2459 2452 msgstr "Followers"
2460 2453
2461 2454 #: rhodecode/templates/base/base.html:243
2462 2455 #: rhodecode/templates/base/base.html:245
2463 #: rhodecode/templates/forks/forks.html:5
2464 2456 msgid "Forks"
2465 2457 msgstr "Forks"
2466 2458
2467 2459 #: rhodecode/templates/base/base.html:316
2468 2460 #: rhodecode/templates/base/base.html:318
2469 2461 #: rhodecode/templates/base/base.html:320
2470 2462 #: rhodecode/templates/search/search.html:4
2471 2463 #: rhodecode/templates/search/search.html:24
2472 2464 #: rhodecode/templates/search/search.html:46
2473 2465 msgid "Search"
2474 2466 msgstr "Rechercher"
2475 2467
2476 2468 #: rhodecode/templates/base/root.html:42
2477 2469 msgid "add another comment"
2478 2470 msgstr "Nouveau commentaire"
2479 2471
2480 2472 #: rhodecode/templates/base/root.html:43
2481 2473 #: rhodecode/templates/journal/journal.html:111
2482 2474 #: rhodecode/templates/summary/summary.html:52
2483 2475 msgid "Stop following this repository"
2484 2476 msgstr "Arrêter de suivre ce dépôt"
2485 2477
2486 2478 #: rhodecode/templates/base/root.html:44
2487 2479 #: rhodecode/templates/summary/summary.html:56
2488 2480 msgid "Start following this repository"
2489 2481 msgstr "Suivre ce dépôt"
2490 2482
2491 2483 #: rhodecode/templates/base/root.html:45
2492 2484 msgid "Group"
2493 2485 msgstr "Groupe"
2494 2486
2495 2487 #: rhodecode/templates/bookmarks/bookmarks.html:5
2496 msgid "Bookmarks"
2497 msgstr "Signets"
2488 #, python-format
2489 msgid "%s Bookmarks"
2490 msgstr "Signets de %s"
2498 2491
2499 2492 #: rhodecode/templates/bookmarks/bookmarks.html:39
2500 2493 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2501 2494 #: rhodecode/templates/branches/branches.html:39
2502 2495 #: rhodecode/templates/tags/tags.html:39
2503 2496 #: rhodecode/templates/tags/tags_data.html:8
2504 2497 msgid "Author"
2505 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 2505 #: rhodecode/templates/branches/branches_data.html:7
2508 2506 msgid "date"
2509 2507 msgstr "Date"
2510 2508
2511 2509 #: rhodecode/templates/branches/branches_data.html:8
2512 2510 #: rhodecode/templates/shortlog/shortlog_data.html:8
2513 2511 msgid "author"
2514 2512 msgstr "Auteur"
2515 2513
2516 2514 #: rhodecode/templates/branches/branches_data.html:9
2517 2515 #: rhodecode/templates/shortlog/shortlog_data.html:5
2518 2516 msgid "revision"
2519 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 2524 #: rhodecode/templates/changelog/changelog.html:15
2522 2525 #, python-format
2523 2526 msgid "showing %d out of %d revision"
2524 2527 msgid_plural "showing %d out of %d revisions"
2525 2528 msgstr[0] "Affichage de %d révision sur %d"
2526 2529 msgstr[1] "Affichage de %d révisions sur %d"
2527 2530
2528 2531 #: rhodecode/templates/changelog/changelog.html:38
2529 2532 msgid "Show"
2530 2533 msgstr "Afficher"
2531 2534
2532 2535 #: rhodecode/templates/changelog/changelog.html:64
2533 2536 #: rhodecode/templates/summary/summary.html:352
2534 2537 msgid "show more"
2535 2538 msgstr "montrer plus"
2536 2539
2537 2540 #: rhodecode/templates/changelog/changelog.html:68
2538 2541 msgid "Affected number of files, click to show more details"
2539 2542 msgstr "Nombre de fichiers modifiés, cliquez pour plus de détails"
2540 2543
2541 2544 #: rhodecode/templates/changelog/changelog.html:82
2542 2545 #: rhodecode/templates/changeset/changeset.html:72
2543 2546 msgid "Parent"
2544 2547 msgstr "Parent"
2545 2548
2546 2549 #: rhodecode/templates/changelog/changelog.html:88
2547 2550 #: rhodecode/templates/changeset/changeset.html:78
2548 2551 msgid "No parents"
2549 2552 msgstr "Aucun parent"
2550 2553
2551 2554 #: rhodecode/templates/changelog/changelog.html:93
2552 2555 #: rhodecode/templates/changeset/changeset.html:82
2553 2556 msgid "merge"
2554 2557 msgstr "Fusion"
2555 2558
2556 2559 #: rhodecode/templates/changelog/changelog.html:96
2557 2560 #: rhodecode/templates/changeset/changeset.html:85
2558 2561 #: rhodecode/templates/files/files.html:29
2559 2562 #: rhodecode/templates/files/files_add.html:33
2560 2563 #: rhodecode/templates/files/files_edit.html:33
2561 2564 #: rhodecode/templates/shortlog/shortlog_data.html:9
2562 2565 msgid "branch"
2563 2566 msgstr "Branche"
2564 2567
2565 2568 #: rhodecode/templates/changelog/changelog.html:102
2566 2569 msgid "bookmark"
2567 2570 msgstr "Signet"
2568 2571
2569 2572 #: rhodecode/templates/changelog/changelog.html:108
2570 2573 #: rhodecode/templates/changeset/changeset.html:90
2571 2574 msgid "tag"
2572 2575 msgstr "Tag"
2573 2576
2574 2577 #: rhodecode/templates/changelog/changelog.html:144
2575 2578 msgid "Show selected changes __S -> __E"
2576 2579 msgstr "Afficher les changements sélections de __S à __E"
2577 2580
2578 2581 #: rhodecode/templates/changelog/changelog.html:235
2579 2582 msgid "There are no changes yet"
2580 2583 msgstr "Il n’y a aucun changement pour le moment"
2581 2584
2582 2585 #: rhodecode/templates/changelog/changelog_details.html:2
2583 2586 #: rhodecode/templates/changeset/changeset.html:60
2584 2587 msgid "removed"
2585 2588 msgstr "Supprimés"
2586 2589
2587 2590 #: rhodecode/templates/changelog/changelog_details.html:3
2588 2591 #: rhodecode/templates/changeset/changeset.html:61
2589 2592 msgid "changed"
2590 2593 msgstr "Modifiés"
2591 2594
2592 2595 #: rhodecode/templates/changelog/changelog_details.html:4
2593 2596 #: rhodecode/templates/changeset/changeset.html:62
2594 2597 msgid "added"
2595 2598 msgstr "Ajoutés"
2596 2599
2597 2600 #: rhodecode/templates/changelog/changelog_details.html:6
2598 2601 #: rhodecode/templates/changelog/changelog_details.html:7
2599 2602 #: rhodecode/templates/changelog/changelog_details.html:8
2600 2603 #: rhodecode/templates/changeset/changeset.html:64
2601 2604 #: rhodecode/templates/changeset/changeset.html:65
2602 2605 #: rhodecode/templates/changeset/changeset.html:66
2603 2606 #, python-format
2604 2607 msgid "affected %s files"
2605 2608 msgstr "%s fichiers affectés"
2606 2609
2607 2610 #: rhodecode/templates/changeset/changeset.html:6
2611 #, python-format
2612 msgid "%s Changeset"
2613 msgstr "Changeset de %s"
2614
2608 2615 #: rhodecode/templates/changeset/changeset.html:14
2609 2616 msgid "Changeset"
2610 2617 msgstr "Changements"
2611 2618
2612 2619 #: rhodecode/templates/changeset/changeset.html:37
2613 2620 #: rhodecode/templates/changeset/diff_block.html:20
2614 2621 msgid "raw diff"
2615 2622 msgstr "Diff brut"
2616 2623
2617 2624 #: rhodecode/templates/changeset/changeset.html:38
2618 2625 #: rhodecode/templates/changeset/diff_block.html:21
2619 2626 msgid "download diff"
2620 2627 msgstr "Télécharger le diff"
2621 2628
2622 2629 #: rhodecode/templates/changeset/changeset.html:42
2623 2630 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2624 2631 #, python-format
2625 2632 msgid "%d comment"
2626 2633 msgid_plural "%d comments"
2627 2634 msgstr[0] "%d commentaire"
2628 2635 msgstr[1] "%d commentaires"
2629 2636
2630 2637 #: rhodecode/templates/changeset/changeset.html:42
2631 2638 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2632 2639 #, python-format
2633 2640 msgid "(%d inline)"
2634 2641 msgid_plural "(%d inline)"
2635 2642 msgstr[0] "(et %d en ligne)"
2636 2643 msgstr[1] "(et %d en ligne)"
2637 2644
2638 2645 #: rhodecode/templates/changeset/changeset.html:97
2639 2646 #, python-format
2640 2647 msgid "%s files affected with %s insertions and %s deletions:"
2641 2648 msgstr "%s fichiers affectés avec %s insertions et %s suppressions :"
2642 2649
2643 2650 #: rhodecode/templates/changeset/changeset.html:113
2644 2651 msgid "Changeset was too big and was cut off..."
2645 2652 msgstr "Cet ensemble de changements était trop important et a été découpé…"
2646 2653
2647 2654 #: rhodecode/templates/changeset/changeset_file_comment.html:35
2648 2655 msgid "Submitting..."
2649 2656 msgstr "Envoi…"
2650 2657
2651 2658 #: rhodecode/templates/changeset/changeset_file_comment.html:38
2652 2659 msgid "Commenting on line {1}."
2653 2660 msgstr "Commentaire sur la ligne {1}."
2654 2661
2655 2662 #: rhodecode/templates/changeset/changeset_file_comment.html:39
2656 2663 #: rhodecode/templates/changeset/changeset_file_comment.html:102
2657 2664 #, python-format
2658 2665 msgid "Comments parsed using %s syntax with %s support."
2659 2666 msgstr ""
2660 2667 "Les commentaires sont analysés avec la syntaxe %s, avec le support de la "
2661 2668 "commande %s."
2662 2669
2663 2670 #: rhodecode/templates/changeset/changeset_file_comment.html:41
2664 2671 #: rhodecode/templates/changeset/changeset_file_comment.html:104
2665 2672 msgid "Use @username inside this text to send notification to this RhodeCode user"
2666 2673 msgstr ""
2667 2674 "Utilisez @nomutilisateur dans ce texte pour envoyer une notification à "
2668 2675 "l’utilisateur RhodeCode en question."
2669 2676
2670 2677 #: rhodecode/templates/changeset/changeset_file_comment.html:49
2671 2678 #: rhodecode/templates/changeset/changeset_file_comment.html:110
2672 2679 msgid "Comment"
2673 2680 msgstr "Commentaire"
2674 2681
2675 2682 #: rhodecode/templates/changeset/changeset_file_comment.html:50
2676 2683 #: rhodecode/templates/changeset/changeset_file_comment.html:61
2677 2684 msgid "Hide"
2678 2685 msgstr "Masquer"
2679 2686
2680 2687 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2681 2688 msgid "You need to be logged in to comment."
2682 2689 msgstr "Vous devez être connecté pour poster des commentaires."
2683 2690
2684 2691 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2685 2692 msgid "Login now"
2686 2693 msgstr "Se connecter maintenant"
2687 2694
2688 2695 #: rhodecode/templates/changeset/changeset_file_comment.html:99
2689 2696 msgid "Leave a comment"
2690 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 2704 #: rhodecode/templates/changeset/changeset_range.html:29
2693 2705 msgid "Compare View"
2694 2706 msgstr "Comparaison"
2695 2707
2696 2708 #: rhodecode/templates/changeset/changeset_range.html:49
2697 2709 msgid "Files affected"
2698 2710 msgstr "Fichiers affectés"
2699 2711
2700 2712 #: rhodecode/templates/changeset/diff_block.html:19
2701 2713 msgid "diff"
2702 2714 msgstr "Diff"
2703 2715
2704 2716 #: rhodecode/templates/changeset/diff_block.html:27
2705 2717 msgid "show inline comments"
2706 2718 msgstr "Afficher les commentaires"
2707 2719
2708 2720 #: rhodecode/templates/data_table/_dt_elements.html:33
2709 2721 #: rhodecode/templates/data_table/_dt_elements.html:35
2710 2722 #: rhodecode/templates/data_table/_dt_elements.html:37
2711 #: rhodecode/templates/forks/fork.html:5
2712 2723 msgid "Fork"
2713 2724 msgstr "Fork"
2714 2725
2715 2726 #: rhodecode/templates/data_table/_dt_elements.html:54
2716 2727 #: rhodecode/templates/journal/journal.html:117
2717 2728 #: rhodecode/templates/summary/summary.html:63
2718 2729 msgid "Mercurial repository"
2719 2730 msgstr "Dépôt Mercurial"
2720 2731
2721 2732 #: rhodecode/templates/data_table/_dt_elements.html:56
2722 2733 #: rhodecode/templates/journal/journal.html:119
2723 2734 #: rhodecode/templates/summary/summary.html:66
2724 2735 msgid "Git repository"
2725 2736 msgstr "Dépôt Git"
2726 2737
2727 2738 #: rhodecode/templates/data_table/_dt_elements.html:63
2728 2739 #: rhodecode/templates/journal/journal.html:125
2729 2740 #: rhodecode/templates/summary/summary.html:73
2730 2741 msgid "public repository"
2731 2742 msgstr "Dépôt public"
2732 2743
2733 2744 #: rhodecode/templates/data_table/_dt_elements.html:74
2734 2745 #: rhodecode/templates/summary/summary.html:82
2735 2746 #: rhodecode/templates/summary/summary.html:83
2736 2747 msgid "Fork of"
2737 2748 msgstr "Fork de"
2738 2749
2739 2750 #: rhodecode/templates/data_table/_dt_elements.html:86
2740 2751 msgid "No changesets yet"
2741 2752 msgstr "Dépôt vide"
2742 2753
2743 2754 #: rhodecode/templates/email_templates/main.html:8
2744 2755 msgid "This is an notification from RhodeCode."
2745 2756 msgstr "Ceci est une notification de RhodeCode."
2746 2757
2747 2758 #: rhodecode/templates/errors/error_document.html:44
2748 2759 #, python-format
2749 2760 msgid "You will be redirected to %s in %s seconds"
2750 2761 msgstr "Vous serez redirigé vers %s dans %s secondes."
2751 2762
2752 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 2768 #: rhodecode/templates/files/file_diff.html:12
2754 2769 msgid "File diff"
2755 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 2777 #: rhodecode/templates/files/files.html:12
2758 2778 #: rhodecode/templates/summary/summary.html:328
2759 2779 msgid "files"
2760 2780 msgstr "Fichiers"
2761 2781
2762 2782 #: rhodecode/templates/files/files.html:44
2763 2783 msgid "search truncated"
2764 2784 msgstr "Résultats tronqués"
2765 2785
2766 2786 #: rhodecode/templates/files/files.html:45
2767 2787 msgid "no matching files"
2768 2788 msgstr "Aucun fichier ne correspond"
2769 2789
2770 2790 #: rhodecode/templates/files/files_add.html:4
2771 2791 #: rhodecode/templates/files/files_edit.html:4
2772 msgid "Edit file"
2773 msgstr "Éditer un fichier"
2792 #, python-format
2793 msgid "%s Edit file"
2794 msgstr "Edition de fichier de %s"
2774 2795
2775 2796 #: rhodecode/templates/files/files_add.html:19
2776 2797 msgid "add file"
2777 2798 msgstr "Ajouter un fichier"
2778 2799
2779 2800 #: rhodecode/templates/files/files_add.html:40
2780 2801 msgid "Add new file"
2781 2802 msgstr "Ajouter un nouveau fichier"
2782 2803
2783 2804 #: rhodecode/templates/files/files_add.html:45
2784 2805 msgid "File Name"
2785 2806 msgstr "Nom de fichier"
2786 2807
2787 2808 #: rhodecode/templates/files/files_add.html:49
2788 2809 #: rhodecode/templates/files/files_add.html:58
2789 2810 msgid "or"
2790 2811 msgstr "ou"
2791 2812
2792 2813 #: rhodecode/templates/files/files_add.html:49
2793 2814 #: rhodecode/templates/files/files_add.html:54
2794 2815 msgid "Upload file"
2795 2816 msgstr "Téléverser un fichier"
2796 2817
2797 2818 #: rhodecode/templates/files/files_add.html:58
2798 2819 msgid "Create new file"
2799 2820 msgstr "Créer un nouveau fichier"
2800 2821
2801 2822 #: rhodecode/templates/files/files_add.html:63
2802 2823 #: rhodecode/templates/files/files_edit.html:39
2803 2824 #: rhodecode/templates/files/files_ypjax.html:3
2804 2825 msgid "Location"
2805 2826 msgstr "Emplacement"
2806 2827
2807 2828 #: rhodecode/templates/files/files_add.html:67
2808 2829 msgid "use / to separate directories"
2809 2830 msgstr "Utilisez / pour séparer les répertoires"
2810 2831
2811 2832 #: rhodecode/templates/files/files_add.html:77
2812 2833 #: rhodecode/templates/files/files_edit.html:63
2813 2834 #: rhodecode/templates/shortlog/shortlog_data.html:6
2814 2835 msgid "commit message"
2815 2836 msgstr "Message de commit"
2816 2837
2817 2838 #: rhodecode/templates/files/files_add.html:81
2818 2839 #: rhodecode/templates/files/files_edit.html:67
2819 2840 msgid "Commit changes"
2820 2841 msgstr "Commiter les changements"
2821 2842
2822 2843 #: rhodecode/templates/files/files_browser.html:13
2823 2844 msgid "view"
2824 2845 msgstr "voir"
2825 2846
2826 2847 #: rhodecode/templates/files/files_browser.html:14
2827 2848 msgid "previous revision"
2828 2849 msgstr "révision précédente"
2829 2850
2830 2851 #: rhodecode/templates/files/files_browser.html:16
2831 2852 msgid "next revision"
2832 2853 msgstr "révision suivante"
2833 2854
2834 2855 #: rhodecode/templates/files/files_browser.html:23
2835 2856 msgid "follow current branch"
2836 2857 msgstr "Suivre la branche actuelle"
2837 2858
2838 2859 #: rhodecode/templates/files/files_browser.html:27
2839 2860 msgid "search file list"
2840 2861 msgstr "Rechercher un fichier"
2841 2862
2842 2863 #: rhodecode/templates/files/files_browser.html:31
2843 2864 #: rhodecode/templates/shortlog/shortlog_data.html:65
2844 2865 msgid "add new file"
2845 2866 msgstr "Ajouter un fichier"
2846 2867
2847 2868 #: rhodecode/templates/files/files_browser.html:35
2848 2869 msgid "Loading file list..."
2849 2870 msgstr "Chargement de la liste des fichiers…"
2850 2871
2851 2872 #: rhodecode/templates/files/files_browser.html:48
2852 2873 msgid "Size"
2853 2874 msgstr "Taille"
2854 2875
2855 2876 #: rhodecode/templates/files/files_browser.html:49
2856 2877 msgid "Mimetype"
2857 2878 msgstr "Type MIME"
2858 2879
2859 2880 #: rhodecode/templates/files/files_browser.html:50
2860 2881 msgid "Last Revision"
2861 2882 msgstr "Dernière révision"
2862 2883
2863 2884 #: rhodecode/templates/files/files_browser.html:51
2864 2885 msgid "Last modified"
2865 2886 msgstr "Dernière modification"
2866 2887
2867 2888 #: rhodecode/templates/files/files_browser.html:52
2868 2889 msgid "Last commiter"
2869 2890 msgstr "Dernier commiteur"
2870 2891
2871 2892 #: rhodecode/templates/files/files_edit.html:19
2872 2893 msgid "edit file"
2873 2894 msgstr "Éditer le fichier"
2874 2895
2875 2896 #: rhodecode/templates/files/files_edit.html:49
2876 2897 #: rhodecode/templates/files/files_source.html:26
2877 2898 msgid "show annotation"
2878 2899 msgstr "Afficher les annotations"
2879 2900
2880 2901 #: rhodecode/templates/files/files_edit.html:50
2881 2902 #: rhodecode/templates/files/files_source.html:28
2882 2903 #: rhodecode/templates/files/files_source.html:56
2883 2904 msgid "show as raw"
2884 2905 msgstr "montrer le fichier brut"
2885 2906
2886 2907 #: rhodecode/templates/files/files_edit.html:51
2887 2908 #: rhodecode/templates/files/files_source.html:29
2888 2909 msgid "download as raw"
2889 2910 msgstr "télécharger le fichier brut"
2890 2911
2891 2912 #: rhodecode/templates/files/files_edit.html:54
2892 2913 msgid "source"
2893 2914 msgstr "Source"
2894 2915
2895 2916 #: rhodecode/templates/files/files_edit.html:59
2896 2917 msgid "Editing file"
2897 2918 msgstr "Édition du fichier"
2898 2919
2899 2920 #: rhodecode/templates/files/files_source.html:2
2900 2921 msgid "History"
2901 2922 msgstr "Historique"
2902 2923
2903 2924 #: rhodecode/templates/files/files_source.html:24
2904 2925 msgid "show source"
2905 2926 msgstr "montrer les sources"
2906 2927
2907 2928 #: rhodecode/templates/files/files_source.html:47
2908 2929 #, python-format
2909 2930 msgid "Binary file (%s)"
2910 2931 msgstr "Fichier binaire (%s)"
2911 2932
2912 2933 #: rhodecode/templates/files/files_source.html:56
2913 2934 msgid "File is too big to display"
2914 2935 msgstr "Ce fichier est trop gros pour être affiché."
2915 2936
2916 2937 #: rhodecode/templates/files/files_source.html:112
2917 2938 msgid "Selection link"
2918 2939 msgstr "Lien vers la sélection"
2919 2940
2920 2941 #: rhodecode/templates/files/files_ypjax.html:5
2921 2942 msgid "annotation"
2922 2943 msgstr "annotation"
2923 2944
2924 2945 #: rhodecode/templates/files/files_ypjax.html:15
2925 2946 msgid "Go back"
2926 2947 msgstr "Revenir en arrière"
2927 2948
2928 2949 #: rhodecode/templates/files/files_ypjax.html:16
2929 2950 msgid "No files at given path"
2930 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 2958 #: rhodecode/templates/followers/followers.html:13
2933 2959 msgid "followers"
2934 2960 msgstr "followers"
2935 2961
2936 2962 #: rhodecode/templates/followers/followers_data.html:12
2937 msgid "Started following"
2938 msgstr "Date de début"
2963 msgid "Started following -"
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 2971 #: rhodecode/templates/forks/fork.html:31
2941 2972 msgid "Fork name"
2942 2973 msgstr "Nom du fork"
2943 2974
2944 2975 #: rhodecode/templates/forks/fork.html:57
2945 2976 msgid "Private"
2946 2977 msgstr "Privé"
2947 2978
2948 2979 #: rhodecode/templates/forks/fork.html:65
2949 2980 msgid "Copy permissions"
2950 2981 msgstr "Copier les permissions"
2951 2982
2952 2983 #: rhodecode/templates/forks/fork.html:73
2953 2984 msgid "Update after clone"
2954 2985 msgstr "MÀJ après le clonage"
2955 2986
2956 2987 #: rhodecode/templates/forks/fork.html:80
2957 2988 msgid "fork this repository"
2958 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 2996 #: rhodecode/templates/forks/forks.html:13
2961 2997 msgid "forks"
2962 2998 msgstr "forks"
2963 2999
2964 3000 #: rhodecode/templates/forks/forks_data.html:17
2965 3001 msgid "forked"
2966 3002 msgstr "forké"
2967 3003
2968 3004 #: rhodecode/templates/forks/forks_data.html:34
2969 3005 msgid "There are no forks yet"
2970 3006 msgstr "Il n’y a pas encore de forks."
2971 3007
2972 3008 #: rhodecode/templates/journal/journal.html:20
2973 3009 msgid "Refresh"
2974 3010 msgstr "Rafraîchir"
2975 3011
2976 3012 #: rhodecode/templates/journal/journal.html:32
2977 3013 msgid "Watched"
2978 3014 msgstr "Surveillé"
2979 3015
2980 3016 #: rhodecode/templates/journal/journal.html:105
2981 3017 msgid "following user"
2982 3018 msgstr "utilisateur suivant"
2983 3019
2984 3020 #: rhodecode/templates/journal/journal.html:105
2985 3021 msgid "user"
2986 3022 msgstr "utilisateur"
2987 3023
2988 3024 #: rhodecode/templates/journal/journal.html:138
2989 3025 msgid "You are not following any users or repositories"
2990 3026 msgstr "Vous ne suivez aucun utilisateur ou dépôt"
2991 3027
2992 3028 #: rhodecode/templates/journal/journal_data.html:47
2993 3029 msgid "No entries yet"
2994 3030 msgstr "Aucune entrée pour le moment"
2995 3031
2996 3032 #: rhodecode/templates/journal/public_journal.html:17
2997 3033 msgid "Public Journal"
2998 3034 msgstr "Journal public"
2999 3035
3000 3036 #: rhodecode/templates/search/search.html:7
3001 3037 #: rhodecode/templates/search/search.html:26
3002 3038 msgid "in repository: "
3003 3039 msgstr "dans le dépôt :"
3004 3040
3005 3041 #: rhodecode/templates/search/search.html:9
3006 3042 #: rhodecode/templates/search/search.html:28
3007 3043 msgid "in all repositories"
3008 3044 msgstr "dans tous les dépôts"
3009 3045
3010 3046 #: rhodecode/templates/search/search.html:42
3011 3047 msgid "Search term"
3012 3048 msgstr "Termes de la recherches"
3013 3049
3014 3050 #: rhodecode/templates/search/search.html:54
3015 3051 msgid "Search in"
3016 3052 msgstr "Rechercher dans"
3017 3053
3018 3054 #: rhodecode/templates/search/search.html:57
3019 3055 msgid "File contents"
3020 3056 msgstr "Le contenu des fichiers"
3021 3057
3022 3058 #: rhodecode/templates/search/search.html:59
3023 3059 msgid "File names"
3024 3060 msgstr "Les noms de fichiers"
3025 3061
3026 3062 #: rhodecode/templates/search/search_content.html:21
3027 3063 #: rhodecode/templates/search/search_path.html:15
3028 3064 msgid "Permission denied"
3029 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 3072 #: rhodecode/templates/shortlog/shortlog.html:5
3032 #: rhodecode/templates/summary/summary.html:209
3033 msgid "Shortlog"
3034 msgstr "Résumé des changements"
3073 #, python-format
3074 msgid "%s Shortlog"
3075 msgstr "Résumé de %s"
3035 3076
3036 3077 #: rhodecode/templates/shortlog/shortlog.html:14
3037 3078 msgid "shortlog"
3038 3079 msgstr "Résumé"
3039 3080
3040 3081 #: rhodecode/templates/shortlog/shortlog_data.html:7
3041 3082 msgid "age"
3042 3083 msgstr "Âge"
3043 3084
3044 3085 #: rhodecode/templates/shortlog/shortlog_data.html:18
3045 3086 msgid "No commit message"
3046 3087 msgstr "Pas de message de commit"
3047 3088
3048 3089 #: rhodecode/templates/shortlog/shortlog_data.html:62
3049 3090 msgid "Add or upload files directly via RhodeCode"
3050 3091 msgstr "Ajouter ou téléverser des fichiers directement via RhodeCode…"
3051 3092
3052 3093 #: rhodecode/templates/shortlog/shortlog_data.html:71
3053 3094 msgid "Push new repo"
3054 3095 msgstr "Pusher le nouveau dépôt"
3055 3096
3056 3097 #: rhodecode/templates/shortlog/shortlog_data.html:79
3057 3098 msgid "Existing repository?"
3058 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 3106 #: rhodecode/templates/summary/summary.html:12
3061 3107 msgid "summary"
3062 3108 msgstr "résumé"
3063 3109
3064 3110 #: rhodecode/templates/summary/summary.html:44
3065 3111 #: rhodecode/templates/summary/summary.html:47
3066 3112 msgid "ATOM"
3067 3113 msgstr "ATOM"
3068 3114
3069 3115 #: rhodecode/templates/summary/summary.html:77
3070 3116 #, python-format
3071 3117 msgid "Non changable ID %s"
3072 3118 msgstr "Identifiant permanent : %s"
3073 3119
3074 3120 #: rhodecode/templates/summary/summary.html:82
3075 3121 msgid "public"
3076 3122 msgstr "publique"
3077 3123
3078 3124 #: rhodecode/templates/summary/summary.html:90
3079 3125 msgid "remote clone"
3080 3126 msgstr "Clone distant"
3081 3127
3082 3128 #: rhodecode/templates/summary/summary.html:121
3083 3129 msgid "Clone url"
3084 3130 msgstr "URL de clone"
3085 3131
3086 3132 #: rhodecode/templates/summary/summary.html:124
3087 3133 msgid "Show by Name"
3088 3134 msgstr "Afficher par nom"
3089 3135
3090 3136 #: rhodecode/templates/summary/summary.html:125
3091 3137 msgid "Show by ID"
3092 3138 msgstr "Afficher par ID"
3093 3139
3094 3140 #: rhodecode/templates/summary/summary.html:133
3095 3141 msgid "Trending files"
3096 3142 msgstr "Populaires"
3097 3143
3098 3144 #: rhodecode/templates/summary/summary.html:141
3099 3145 #: rhodecode/templates/summary/summary.html:157
3100 3146 #: rhodecode/templates/summary/summary.html:185
3101 3147 msgid "enable"
3102 3148 msgstr "Activer"
3103 3149
3104 3150 #: rhodecode/templates/summary/summary.html:149
3105 3151 msgid "Download"
3106 3152 msgstr "Téléchargements"
3107 3153
3108 3154 #: rhodecode/templates/summary/summary.html:153
3109 3155 msgid "There are no downloads yet"
3110 3156 msgstr "Il n’y a pas encore de téléchargements proposés."
3111 3157
3112 3158 #: rhodecode/templates/summary/summary.html:155
3113 3159 msgid "Downloads are disabled for this repository"
3114 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 3166 #: rhodecode/templates/summary/summary.html:164
3117 3167 msgid "Check this to download archive with subrepos"
3118 3168 msgstr "Télécharger une archive contenant également les sous-dépôts éventuels"
3119 3169
3120 3170 #: rhodecode/templates/summary/summary.html:164
3121 3171 msgid "with subrepos"
3122 3172 msgstr "avec les sous-dépôts"
3123 3173
3124 3174 #: rhodecode/templates/summary/summary.html:177
3125 3175 msgid "Commit activity by day / author"
3126 3176 msgstr "Activité de commit par jour et par auteur"
3127 3177
3128 3178 #: rhodecode/templates/summary/summary.html:188
3129 3179 msgid "Stats gathered: "
3130 3180 msgstr "Statistiques obtenues :"
3131 3181
3182 #: rhodecode/templates/summary/summary.html:209
3183 msgid "Shortlog"
3184 msgstr "Résumé des changements"
3185
3132 3186 #: rhodecode/templates/summary/summary.html:211
3133 3187 msgid "Quick start"
3134 3188 msgstr "Démarrage rapide"
3135 3189
3136 3190 #: rhodecode/templates/summary/summary.html:281
3137 3191 #, python-format
3138 3192 msgid "Download %s as %s"
3139 3193 msgstr "Télécharger %s comme archive %s"
3140 3194
3141 3195 #: rhodecode/templates/summary/summary.html:638
3142 3196 msgid "commits"
3143 3197 msgstr "commits"
3144 3198
3145 3199 #: rhodecode/templates/summary/summary.html:639
3146 3200 msgid "files added"
3147 3201 msgstr "fichiers ajoutés"
3148 3202
3149 3203 #: rhodecode/templates/summary/summary.html:640
3150 3204 msgid "files changed"
3151 3205 msgstr "fichiers modifiés"
3152 3206
3153 3207 #: rhodecode/templates/summary/summary.html:641
3154 3208 msgid "files removed"
3155 3209 msgstr "fichiers supprimés"
3156 3210
3157 3211 #: rhodecode/templates/summary/summary.html:644
3158 3212 msgid "commit"
3159 3213 msgstr "commit"
3160 3214
3161 3215 #: rhodecode/templates/summary/summary.html:645
3162 3216 msgid "file added"
3163 3217 msgstr "fichier ajouté"
3164 3218
3165 3219 #: rhodecode/templates/summary/summary.html:646
3166 3220 msgid "file changed"
3167 3221 msgstr "fichié modifié"
3168 3222
3169 3223 #: rhodecode/templates/summary/summary.html:647
3170 3224 msgid "file removed"
3171 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 1 # Translations template for RhodeCode.
2 2 # Copyright (C) 2012 ORGANIZATION
3 3 # This file is distributed under the same license as the RhodeCode project.
4 4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
5 5 #
6 6 #, fuzzy
7 7 msgid ""
8 8 msgstr ""
9 9 "Project-Id-Version: RhodeCode 1.4.0\n"
10 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 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 14 "Language-Team: LANGUAGE <LL@li.org>\n"
15 15 "MIME-Version: 1.0\n"
16 16 "Content-Type: text/plain; charset=utf-8\n"
17 17 "Content-Transfer-Encoding: 8bit\n"
18 18 "Generated-By: Babel 0.9.6\n"
19 19
20 #: rhodecode/controllers/changelog.py:95
20 #: rhodecode/controllers/changelog.py:94
21 21 msgid "All Branches"
22 22 msgstr ""
23 23
24 24 #: rhodecode/controllers/changeset.py:80
25 25 msgid "show white space"
26 26 msgstr ""
27 27
28 28 #: rhodecode/controllers/changeset.py:87 rhodecode/controllers/changeset.py:94
29 29 msgid "ignore white space"
30 30 msgstr ""
31 31
32 32 #: rhodecode/controllers/changeset.py:154
33 33 #, python-format
34 34 msgid "%s line context"
35 35 msgstr ""
36 36
37 37 #: rhodecode/controllers/changeset.py:324 rhodecode/controllers/changeset.py:339
38 38 #: rhodecode/lib/diffs.py:62
39 39 msgid "binary file"
40 40 msgstr ""
41 41
42 42 #: rhodecode/controllers/error.py:69
43 43 msgid "Home page"
44 44 msgstr ""
45 45
46 46 #: rhodecode/controllers/error.py:98
47 47 msgid "The request could not be understood by the server due to malformed syntax."
48 48 msgstr ""
49 49
50 50 #: rhodecode/controllers/error.py:101
51 51 msgid "Unauthorized access to resource"
52 52 msgstr ""
53 53
54 54 #: rhodecode/controllers/error.py:103
55 55 msgid "You don't have permission to view this page"
56 56 msgstr ""
57 57
58 58 #: rhodecode/controllers/error.py:105
59 59 msgid "The resource could not be found"
60 60 msgstr ""
61 61
62 62 #: rhodecode/controllers/error.py:107
63 63 msgid ""
64 64 "The server encountered an unexpected condition which prevented it from "
65 65 "fulfilling the request."
66 66 msgstr ""
67 67
68 #: rhodecode/controllers/feed.py:48
68 #: rhodecode/controllers/feed.py:49
69 69 #, python-format
70 70 msgid "Changes on %s repository"
71 71 msgstr ""
72 72
73 #: rhodecode/controllers/feed.py:49
73 #: rhodecode/controllers/feed.py:50
74 74 #, python-format
75 75 msgid "%s %s feed"
76 76 msgstr ""
77 77
78 #: rhodecode/controllers/feed.py:75
79 msgid "commited on"
80 msgstr ""
81
78 82 #: rhodecode/controllers/files.py:86
79 83 #: rhodecode/templates/admin/repos/repo_add.html:13
80 84 msgid "add new"
81 85 msgstr ""
82 86
83 87 #: rhodecode/controllers/files.py:87
84 88 #, python-format
85 89 msgid "There are no files yet %s"
86 90 msgstr ""
87 91
88 92 #: rhodecode/controllers/files.py:247
89 93 #, python-format
90 94 msgid "Edited %s via RhodeCode"
91 95 msgstr ""
92 96
93 97 #: rhodecode/controllers/files.py:252
94 98 msgid "No changes"
95 99 msgstr ""
96 100
97 101 #: rhodecode/controllers/files.py:263 rhodecode/controllers/files.py:316
98 102 #, python-format
99 103 msgid "Successfully committed to %s"
100 104 msgstr ""
101 105
102 106 #: rhodecode/controllers/files.py:268 rhodecode/controllers/files.py:322
103 107 msgid "Error occurred during commit"
104 108 msgstr ""
105 109
106 110 #: rhodecode/controllers/files.py:288
107 111 #, python-format
108 112 msgid "Added %s via RhodeCode"
109 113 msgstr ""
110 114
111 115 #: rhodecode/controllers/files.py:302
112 116 msgid "No content"
113 117 msgstr ""
114 118
115 119 #: rhodecode/controllers/files.py:306
116 120 msgid "No filename"
117 121 msgstr ""
118 122
119 123 #: rhodecode/controllers/files.py:347
120 124 msgid "downloads disabled"
121 125 msgstr ""
122 126
123 127 #: rhodecode/controllers/files.py:358
124 128 #, python-format
125 129 msgid "Unknown revision %s"
126 130 msgstr ""
127 131
128 132 #: rhodecode/controllers/files.py:360
129 133 msgid "Empty repository"
130 134 msgstr ""
131 135
132 136 #: rhodecode/controllers/files.py:362
133 137 msgid "Unknown archive type"
134 138 msgstr ""
135 139
136 140 #: rhodecode/controllers/files.py:461
137 #: rhodecode/templates/changeset/changeset_range.html:5
138 141 #: rhodecode/templates/changeset/changeset_range.html:13
139 142 #: rhodecode/templates/changeset/changeset_range.html:31
140 143 msgid "Changesets"
141 144 msgstr ""
142 145
143 146 #: rhodecode/controllers/files.py:462 rhodecode/controllers/summary.py:230
144 #: rhodecode/templates/branches/branches.html:5
145 147 msgid "Branches"
146 148 msgstr ""
147 149
148 150 #: rhodecode/controllers/files.py:463 rhodecode/controllers/summary.py:231
149 #: rhodecode/templates/tags/tags.html:5
150 151 msgid "Tags"
151 152 msgstr ""
152 153
153 154 #: rhodecode/controllers/forks.py:69 rhodecode/controllers/admin/repos.py:86
154 155 #, python-format
155 156 msgid ""
156 157 "%s repository is not mapped to db perhaps it was created or renamed from the "
157 158 "filesystem please run the application again in order to rescan repositories"
158 159 msgstr ""
159 160
160 161 #: rhodecode/controllers/forks.py:128 rhodecode/controllers/settings.py:69
161 162 #, python-format
162 163 msgid ""
163 164 "%s repository is not mapped to db perhaps it was created or renamed from the "
164 165 "file system please run the application again in order to rescan repositories"
165 166 msgstr ""
166 167
167 168 #: rhodecode/controllers/forks.py:163
168 169 #, python-format
169 170 msgid "forked %s repository as %s"
170 171 msgstr ""
171 172
172 173 #: rhodecode/controllers/forks.py:177
173 174 #, python-format
174 175 msgid "An error occurred during repository forking %s"
175 176 msgstr ""
176 177
177 178 #: rhodecode/controllers/journal.py:53
178 179 #, python-format
179 180 msgid "%s public journal %s feed"
180 181 msgstr ""
181 182
182 183 #: rhodecode/controllers/journal.py:190 rhodecode/controllers/journal.py:223
183 184 #: rhodecode/templates/admin/repos/repo_edit.html:177
184 185 #: rhodecode/templates/base/base.html:307 rhodecode/templates/base/base.html:309
185 186 #: rhodecode/templates/base/base.html:311
186 187 msgid "Public journal"
187 188 msgstr ""
188 189
189 190 #: rhodecode/controllers/login.py:116
190 191 msgid "You have successfully registered into rhodecode"
191 192 msgstr ""
192 193
193 194 #: rhodecode/controllers/login.py:137
194 195 msgid "Your password reset link was sent"
195 196 msgstr ""
196 197
197 198 #: rhodecode/controllers/login.py:157
198 199 msgid "Your password reset was successful, new password has been sent to your email"
199 200 msgstr ""
200 201
201 202 #: rhodecode/controllers/search.py:114
202 203 msgid "Invalid search query. Try quoting it."
203 204 msgstr ""
204 205
205 206 #: rhodecode/controllers/search.py:119
206 207 msgid "There is no index to search in. Please run whoosh indexer"
207 208 msgstr ""
208 209
209 210 #: rhodecode/controllers/search.py:123
210 211 msgid "An error occurred during this search operation"
211 212 msgstr ""
212 213
213 214 #: rhodecode/controllers/settings.py:103 rhodecode/controllers/admin/repos.py:213
214 215 #, python-format
215 216 msgid "Repository %s updated successfully"
216 217 msgstr ""
217 218
218 219 #: rhodecode/controllers/settings.py:121 rhodecode/controllers/admin/repos.py:231
219 220 #, python-format
220 221 msgid "error occurred during update of repository %s"
221 222 msgstr ""
222 223
223 224 #: rhodecode/controllers/settings.py:139 rhodecode/controllers/admin/repos.py:249
224 225 #, python-format
225 226 msgid ""
226 227 "%s repository is not mapped to db perhaps it was moved or renamed from the "
227 228 "filesystem please run the application again in order to rescan repositories"
228 229 msgstr ""
229 230
230 231 #: rhodecode/controllers/settings.py:151 rhodecode/controllers/admin/repos.py:261
231 232 #, python-format
232 233 msgid "deleted repository %s"
233 234 msgstr ""
234 235
235 236 #: rhodecode/controllers/settings.py:155 rhodecode/controllers/admin/repos.py:271
236 237 #: rhodecode/controllers/admin/repos.py:277
237 238 #, python-format
238 239 msgid "An error occurred during deletion of %s"
239 240 msgstr ""
240 241
241 242 #: rhodecode/controllers/summary.py:138
242 243 msgid "No data loaded yet"
243 244 msgstr ""
244 245
245 246 #: rhodecode/controllers/summary.py:142
246 247 #: rhodecode/templates/summary/summary.html:139
247 248 msgid "Statistics are disabled for this repository"
248 249 msgstr ""
249 250
250 251 #: rhodecode/controllers/admin/ldap_settings.py:49
251 252 msgid "BASE"
252 253 msgstr ""
253 254
254 255 #: rhodecode/controllers/admin/ldap_settings.py:50
255 256 msgid "ONELEVEL"
256 257 msgstr ""
257 258
258 259 #: rhodecode/controllers/admin/ldap_settings.py:51
259 260 msgid "SUBTREE"
260 261 msgstr ""
261 262
262 263 #: rhodecode/controllers/admin/ldap_settings.py:55
263 264 msgid "NEVER"
264 265 msgstr ""
265 266
266 267 #: rhodecode/controllers/admin/ldap_settings.py:56
267 268 msgid "ALLOW"
268 269 msgstr ""
269 270
270 271 #: rhodecode/controllers/admin/ldap_settings.py:57
271 272 msgid "TRY"
272 273 msgstr ""
273 274
274 275 #: rhodecode/controllers/admin/ldap_settings.py:58
275 276 msgid "DEMAND"
276 277 msgstr ""
277 278
278 279 #: rhodecode/controllers/admin/ldap_settings.py:59
279 280 msgid "HARD"
280 281 msgstr ""
281 282
282 283 #: rhodecode/controllers/admin/ldap_settings.py:63
283 284 msgid "No encryption"
284 285 msgstr ""
285 286
286 287 #: rhodecode/controllers/admin/ldap_settings.py:64
287 288 msgid "LDAPS connection"
288 289 msgstr ""
289 290
290 291 #: rhodecode/controllers/admin/ldap_settings.py:65
291 292 msgid "START_TLS on LDAP connection"
292 293 msgstr ""
293 294
294 295 #: rhodecode/controllers/admin/ldap_settings.py:125
295 296 msgid "Ldap settings updated successfully"
296 297 msgstr ""
297 298
298 299 #: rhodecode/controllers/admin/ldap_settings.py:129
299 300 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
300 301 msgstr ""
301 302
302 303 #: rhodecode/controllers/admin/ldap_settings.py:146
303 304 msgid "error occurred during update of ldap settings"
304 305 msgstr ""
305 306
306 307 #: rhodecode/controllers/admin/permissions.py:59
307 308 msgid "None"
308 309 msgstr ""
309 310
310 311 #: rhodecode/controllers/admin/permissions.py:60
311 312 msgid "Read"
312 313 msgstr ""
313 314
314 315 #: rhodecode/controllers/admin/permissions.py:61
315 316 msgid "Write"
316 317 msgstr ""
317 318
318 319 #: rhodecode/controllers/admin/permissions.py:62
319 320 #: rhodecode/templates/admin/ldap/ldap.html:9
320 321 #: rhodecode/templates/admin/permissions/permissions.html:9
321 322 #: rhodecode/templates/admin/repos/repo_add.html:9
322 323 #: rhodecode/templates/admin/repos/repo_edit.html:9
323 324 #: rhodecode/templates/admin/repos/repos.html:10
324 325 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
325 326 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
326 327 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
327 328 #: rhodecode/templates/admin/settings/hooks.html:9
328 329 #: rhodecode/templates/admin/settings/settings.html:9
329 330 #: rhodecode/templates/admin/users/user_add.html:8
330 331 #: rhodecode/templates/admin/users/user_edit.html:9
331 332 #: rhodecode/templates/admin/users/user_edit.html:122
332 333 #: rhodecode/templates/admin/users/users.html:9
333 334 #: rhodecode/templates/admin/users_groups/users_group_add.html:8
334 335 #: rhodecode/templates/admin/users_groups/users_group_edit.html:9
335 336 #: rhodecode/templates/admin/users_groups/users_groups.html:9
336 337 #: rhodecode/templates/base/base.html:197 rhodecode/templates/base/base.html:326
337 338 #: rhodecode/templates/base/base.html:328 rhodecode/templates/base/base.html:330
338 339 msgid "Admin"
339 340 msgstr ""
340 341
341 342 #: rhodecode/controllers/admin/permissions.py:65
342 343 msgid "disabled"
343 344 msgstr ""
344 345
345 346 #: rhodecode/controllers/admin/permissions.py:67
346 347 msgid "allowed with manual account activation"
347 348 msgstr ""
348 349
349 350 #: rhodecode/controllers/admin/permissions.py:69
350 351 msgid "allowed with automatic account activation"
351 352 msgstr ""
352 353
353 354 #: rhodecode/controllers/admin/permissions.py:71
354 355 msgid "Disabled"
355 356 msgstr ""
356 357
357 358 #: rhodecode/controllers/admin/permissions.py:72
358 359 msgid "Enabled"
359 360 msgstr ""
360 361
361 362 #: rhodecode/controllers/admin/permissions.py:106
362 363 msgid "Default permissions updated successfully"
363 364 msgstr ""
364 365
365 366 #: rhodecode/controllers/admin/permissions.py:123
366 367 msgid "error occurred during update of permissions"
367 368 msgstr ""
368 369
369 370 #: rhodecode/controllers/admin/repos.py:116
370 371 msgid "--REMOVE FORK--"
371 372 msgstr ""
372 373
373 374 #: rhodecode/controllers/admin/repos.py:144
374 375 #, python-format
375 376 msgid "created repository %s from %s"
376 377 msgstr ""
377 378
378 379 #: rhodecode/controllers/admin/repos.py:148
379 380 #, python-format
380 381 msgid "created repository %s"
381 382 msgstr ""
382 383
383 384 #: rhodecode/controllers/admin/repos.py:179
384 385 #, python-format
385 386 msgid "error occurred during creation of repository %s"
386 387 msgstr ""
387 388
388 389 #: rhodecode/controllers/admin/repos.py:266
389 390 #, python-format
390 391 msgid "Cannot delete %s it still contains attached forks"
391 392 msgstr ""
392 393
393 394 #: rhodecode/controllers/admin/repos.py:295
394 395 msgid "An error occurred during deletion of repository user"
395 396 msgstr ""
396 397
397 398 #: rhodecode/controllers/admin/repos.py:314
398 399 msgid "An error occurred during deletion of repository users groups"
399 400 msgstr ""
400 401
401 402 #: rhodecode/controllers/admin/repos.py:331
402 403 msgid "An error occurred during deletion of repository stats"
403 404 msgstr ""
404 405
405 406 #: rhodecode/controllers/admin/repos.py:347
406 407 msgid "An error occurred during cache invalidation"
407 408 msgstr ""
408 409
409 410 #: rhodecode/controllers/admin/repos.py:367
410 411 msgid "Updated repository visibility in public journal"
411 412 msgstr ""
412 413
413 414 #: rhodecode/controllers/admin/repos.py:371
414 415 msgid "An error occurred during setting this repository in public journal"
415 416 msgstr ""
416 417
417 418 #: rhodecode/controllers/admin/repos.py:376 rhodecode/model/forms.py:54
418 419 msgid "Token mismatch"
419 420 msgstr ""
420 421
421 422 #: rhodecode/controllers/admin/repos.py:389
422 423 msgid "Pulled from remote location"
423 424 msgstr ""
424 425
425 426 #: rhodecode/controllers/admin/repos.py:391
426 427 msgid "An error occurred during pull from remote location"
427 428 msgstr ""
428 429
429 430 #: rhodecode/controllers/admin/repos.py:407
430 431 msgid "Nothing"
431 432 msgstr ""
432 433
433 434 #: rhodecode/controllers/admin/repos.py:409
434 435 #, python-format
435 436 msgid "Marked repo %s as fork of %s"
436 437 msgstr ""
437 438
438 439 #: rhodecode/controllers/admin/repos.py:413
439 440 msgid "An error occurred during this operation"
440 441 msgstr ""
441 442
442 443 #: rhodecode/controllers/admin/repos_groups.py:119
443 444 #, python-format
444 445 msgid "created repos group %s"
445 446 msgstr ""
446 447
447 448 #: rhodecode/controllers/admin/repos_groups.py:132
448 449 #, python-format
449 450 msgid "error occurred during creation of repos group %s"
450 451 msgstr ""
451 452
452 453 #: rhodecode/controllers/admin/repos_groups.py:166
453 454 #, python-format
454 455 msgid "updated repos group %s"
455 456 msgstr ""
456 457
457 458 #: rhodecode/controllers/admin/repos_groups.py:179
458 459 #, python-format
459 460 msgid "error occurred during update of repos group %s"
460 461 msgstr ""
461 462
462 463 #: rhodecode/controllers/admin/repos_groups.py:198
463 464 #, python-format
464 465 msgid "This group contains %s repositores and cannot be deleted"
465 466 msgstr ""
466 467
467 468 #: rhodecode/controllers/admin/repos_groups.py:205
468 469 #, python-format
469 470 msgid "removed repos group %s"
470 471 msgstr ""
471 472
472 473 #: rhodecode/controllers/admin/repos_groups.py:210
473 474 msgid "Cannot delete this group it still contains subgroups"
474 475 msgstr ""
475 476
476 477 #: rhodecode/controllers/admin/repos_groups.py:215
477 478 #: rhodecode/controllers/admin/repos_groups.py:220
478 479 #, python-format
479 480 msgid "error occurred during deletion of repos group %s"
480 481 msgstr ""
481 482
482 483 #: rhodecode/controllers/admin/repos_groups.py:240
483 484 msgid "An error occurred during deletion of group user"
484 485 msgstr ""
485 486
486 487 #: rhodecode/controllers/admin/repos_groups.py:260
487 488 msgid "An error occurred during deletion of group users groups"
488 489 msgstr ""
489 490
490 491 #: rhodecode/controllers/admin/settings.py:120
491 492 #, python-format
492 493 msgid "Repositories successfully rescanned added: %s,removed: %s"
493 494 msgstr ""
494 495
495 496 #: rhodecode/controllers/admin/settings.py:129
496 497 msgid "Whoosh reindex task scheduled"
497 498 msgstr ""
498 499
499 500 #: rhodecode/controllers/admin/settings.py:154
500 501 msgid "Updated application settings"
501 502 msgstr ""
502 503
503 504 #: rhodecode/controllers/admin/settings.py:159
504 505 #: rhodecode/controllers/admin/settings.py:226
505 506 msgid "error occurred during updating application settings"
506 507 msgstr ""
507 508
508 509 #: rhodecode/controllers/admin/settings.py:221
509 510 msgid "Updated mercurial settings"
510 511 msgstr ""
511 512
512 513 #: rhodecode/controllers/admin/settings.py:246
513 514 msgid "Added new hook"
514 515 msgstr ""
515 516
516 517 #: rhodecode/controllers/admin/settings.py:258
517 518 msgid "Updated hooks"
518 519 msgstr ""
519 520
520 521 #: rhodecode/controllers/admin/settings.py:262
521 522 msgid "error occurred during hook creation"
522 523 msgstr ""
523 524
524 525 #: rhodecode/controllers/admin/settings.py:281
525 526 msgid "Email task created"
526 527 msgstr ""
527 528
528 529 #: rhodecode/controllers/admin/settings.py:336
529 530 msgid "You can't edit this user since it's crucial for entire application"
530 531 msgstr ""
531 532
532 533 #: rhodecode/controllers/admin/settings.py:367
533 534 msgid "Your account was updated successfully"
534 535 msgstr ""
535 536
536 537 #: rhodecode/controllers/admin/settings.py:387
537 538 #: rhodecode/controllers/admin/users.py:138
538 539 #, python-format
539 540 msgid "error occurred during update of user %s"
540 541 msgstr ""
541 542
542 543 #: rhodecode/controllers/admin/users.py:83
543 544 #, python-format
544 545 msgid "created user %s"
545 546 msgstr ""
546 547
547 548 #: rhodecode/controllers/admin/users.py:95
548 549 #, python-format
549 550 msgid "error occurred during creation of user %s"
550 551 msgstr ""
551 552
552 553 #: rhodecode/controllers/admin/users.py:124
553 554 msgid "User updated successfully"
554 555 msgstr ""
555 556
556 557 #: rhodecode/controllers/admin/users.py:155
557 558 msgid "successfully deleted user"
558 559 msgstr ""
559 560
560 561 #: rhodecode/controllers/admin/users.py:160
561 562 msgid "An error occurred during deletion of user"
562 563 msgstr ""
563 564
564 565 #: rhodecode/controllers/admin/users.py:175
565 566 msgid "You can't edit this user"
566 567 msgstr ""
567 568
568 569 #: rhodecode/controllers/admin/users.py:205
569 570 #: rhodecode/controllers/admin/users_groups.py:219
570 571 msgid "Granted 'repository create' permission to user"
571 572 msgstr ""
572 573
573 574 #: rhodecode/controllers/admin/users.py:214
574 575 #: rhodecode/controllers/admin/users_groups.py:229
575 576 msgid "Revoked 'repository create' permission to user"
576 577 msgstr ""
577 578
578 579 #: rhodecode/controllers/admin/users_groups.py:84
579 580 #, python-format
580 581 msgid "created users group %s"
581 582 msgstr ""
582 583
583 584 #: rhodecode/controllers/admin/users_groups.py:95
584 585 #, python-format
585 586 msgid "error occurred during creation of users group %s"
586 587 msgstr ""
587 588
588 589 #: rhodecode/controllers/admin/users_groups.py:135
589 590 #, python-format
590 591 msgid "updated users group %s"
591 592 msgstr ""
592 593
593 594 #: rhodecode/controllers/admin/users_groups.py:152
594 595 #, python-format
595 596 msgid "error occurred during update of users group %s"
596 597 msgstr ""
597 598
598 599 #: rhodecode/controllers/admin/users_groups.py:169
599 600 msgid "successfully deleted users group"
600 601 msgstr ""
601 602
602 603 #: rhodecode/controllers/admin/users_groups.py:174
603 604 msgid "An error occurred during deletion of users group"
604 605 msgstr ""
605 606
606 607 #: rhodecode/lib/auth.py:497
607 608 msgid "You need to be a registered user to perform this action"
608 609 msgstr ""
609 610
610 611 #: rhodecode/lib/auth.py:538
611 612 msgid "You need to be a signed in to view this page"
612 613 msgstr ""
613 614
614 615 #: rhodecode/lib/diffs.py:78
615 616 msgid "Changeset was too big and was cut off, use diff menu to display this diff"
616 617 msgstr ""
617 618
618 619 #: rhodecode/lib/diffs.py:88
619 620 msgid "No changes detected"
620 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 629 msgid "True"
624 630 msgstr ""
625 631
626 #: rhodecode/lib/helpers.py:419
632 #: rhodecode/lib/helpers.py:427
627 633 msgid "False"
628 634 msgstr ""
629 635
630 #: rhodecode/lib/helpers.py:463
636 #: rhodecode/lib/helpers.py:471
631 637 msgid "Changeset not found"
632 638 msgstr ""
633 639
634 #: rhodecode/lib/helpers.py:486
640 #: rhodecode/lib/helpers.py:494
635 641 #, python-format
636 642 msgid "Show all combined changesets %s->%s"
637 643 msgstr ""
638 644
639 #: rhodecode/lib/helpers.py:492
645 #: rhodecode/lib/helpers.py:500
640 646 msgid "compare view"
641 647 msgstr ""
642 648
643 #: rhodecode/lib/helpers.py:512
649 #: rhodecode/lib/helpers.py:520
644 650 msgid "and"
645 651 msgstr ""
646 652
647 #: rhodecode/lib/helpers.py:513
653 #: rhodecode/lib/helpers.py:521
648 654 #, python-format
649 655 msgid "%s more"
650 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 659 msgid "revisions"
654 660 msgstr ""
655 661
656 #: rhodecode/lib/helpers.py:537
662 #: rhodecode/lib/helpers.py:545
657 663 msgid "fork name "
658 664 msgstr ""
659 665
660 #: rhodecode/lib/helpers.py:550
666 #: rhodecode/lib/helpers.py:558
661 667 msgid "[deleted] repository"
662 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 671 msgid "[created] repository"
666 672 msgstr ""
667 673
668 #: rhodecode/lib/helpers.py:554
674 #: rhodecode/lib/helpers.py:562
669 675 msgid "[created] repository as fork"
670 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 679 msgid "[forked] repository"
674 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 683 msgid "[updated] repository"
678 684 msgstr ""
679 685
680 #: rhodecode/lib/helpers.py:560
681 msgid "[delete] repository"
682 msgstr ""
683
684 686 #: rhodecode/lib/helpers.py:568
685 msgid "[created] user"
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"
687 msgid "[delete] repository"
698 688 msgstr ""
699 689
700 690 #: rhodecode/lib/helpers.py:576
701 msgid "[commented] on revision in repository"
691 msgid "[created] user"
702 692 msgstr ""
703 693
704 694 #: rhodecode/lib/helpers.py:578
705 msgid "[pushed] into"
695 msgid "[updated] user"
706 696 msgstr ""
707 697
708 698 #: rhodecode/lib/helpers.py:580
709 msgid "[committed via RhodeCode] into repository"
699 msgid "[created] users group"
710 700 msgstr ""
711 701
712 702 #: rhodecode/lib/helpers.py:582
713 msgid "[pulled from remote] into repository"
703 msgid "[updated] users group"
714 704 msgstr ""
715 705
716 706 #: rhodecode/lib/helpers.py:584
717 msgid "[pulled] from"
707 msgid "[commented] on revision in repository"
718 708 msgstr ""
719 709
720 710 #: rhodecode/lib/helpers.py:586
721 msgid "[started following] repository"
711 msgid "[pushed] into"
722 712 msgstr ""
723 713
724 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 731 msgid "[stopped following] repository"
726 732 msgstr ""
727 733
728 #: rhodecode/lib/helpers.py:752
734 #: rhodecode/lib/helpers.py:760
729 735 #, python-format
730 736 msgid " and %s more"
731 737 msgstr ""
732 738
733 #: rhodecode/lib/helpers.py:756
739 #: rhodecode/lib/helpers.py:764
734 740 msgid "No Files"
735 741 msgstr ""
736 742
737 743 #: rhodecode/lib/utils2.py:335
738 744 #, python-format
739 745 msgid "%d year"
740 746 msgid_plural "%d years"
741 747 msgstr[0] ""
742 748 msgstr[1] ""
743 749
744 750 #: rhodecode/lib/utils2.py:336
745 751 #, python-format
746 752 msgid "%d month"
747 753 msgid_plural "%d months"
748 754 msgstr[0] ""
749 755 msgstr[1] ""
750 756
751 757 #: rhodecode/lib/utils2.py:337
752 758 #, python-format
753 759 msgid "%d day"
754 760 msgid_plural "%d days"
755 761 msgstr[0] ""
756 762 msgstr[1] ""
757 763
758 764 #: rhodecode/lib/utils2.py:338
759 765 #, python-format
760 766 msgid "%d hour"
761 767 msgid_plural "%d hours"
762 768 msgstr[0] ""
763 769 msgstr[1] ""
764 770
765 771 #: rhodecode/lib/utils2.py:339
766 772 #, python-format
767 773 msgid "%d minute"
768 774 msgid_plural "%d minutes"
769 775 msgstr[0] ""
770 776 msgstr[1] ""
771 777
772 778 #: rhodecode/lib/utils2.py:340
773 779 #, python-format
774 780 msgid "%d second"
775 781 msgid_plural "%d seconds"
776 782 msgstr[0] ""
777 783 msgstr[1] ""
778 784
779 785 #: rhodecode/lib/utils2.py:355
780 786 #, python-format
781 787 msgid "%s ago"
782 788 msgstr ""
783 789
784 790 #: rhodecode/lib/utils2.py:357
785 791 #, python-format
786 792 msgid "%s and %s ago"
787 793 msgstr ""
788 794
789 795 #: rhodecode/lib/utils2.py:360
790 796 msgid "just now"
791 797 msgstr ""
792 798
793 799 #: rhodecode/lib/celerylib/tasks.py:269
794 800 msgid "password reset link"
795 801 msgstr ""
796 802
797 803 #: rhodecode/model/comment.py:85
798 804 #, python-format
799 805 msgid "on line %s"
800 806 msgstr ""
801 807
802 #: rhodecode/model/comment.py:113
808 #: rhodecode/model/comment.py:114
803 809 msgid "[Mention]"
804 810 msgstr ""
805 811
806 812 #: rhodecode/model/forms.py:72
807 813 msgid "Invalid username"
808 814 msgstr ""
809 815
810 816 #: rhodecode/model/forms.py:80
811 817 msgid "This username already exists"
812 818 msgstr ""
813 819
814 820 #: rhodecode/model/forms.py:85
815 821 msgid ""
816 822 "Username may only contain alphanumeric characters underscores, periods or "
817 823 "dashes and must begin with alphanumeric character"
818 824 msgstr ""
819 825
820 826 #: rhodecode/model/forms.py:101
821 827 msgid "Invalid group name"
822 828 msgstr ""
823 829
824 830 #: rhodecode/model/forms.py:111
825 831 msgid "This users group already exists"
826 832 msgstr ""
827 833
828 834 #: rhodecode/model/forms.py:117
829 835 msgid ""
830 836 "RepoGroup name may only contain alphanumeric characters underscores, periods"
831 837 " or dashes and must begin with alphanumeric character"
832 838 msgstr ""
833 839
834 840 #: rhodecode/model/forms.py:145
835 841 msgid "Cannot assign this group as parent"
836 842 msgstr ""
837 843
838 844 #: rhodecode/model/forms.py:164
839 845 msgid "This group already exists"
840 846 msgstr ""
841 847
842 848 #: rhodecode/model/forms.py:176
843 849 msgid "Repository with this name already exists"
844 850 msgstr ""
845 851
846 852 #: rhodecode/model/forms.py:195 rhodecode/model/forms.py:204
847 853 #: rhodecode/model/forms.py:213
848 854 msgid "Invalid characters in password"
849 855 msgstr ""
850 856
851 857 #: rhodecode/model/forms.py:226
852 858 msgid "Passwords do not match"
853 859 msgstr ""
854 860
855 861 #: rhodecode/model/forms.py:232
856 862 msgid "invalid password"
857 863 msgstr ""
858 864
859 865 #: rhodecode/model/forms.py:233
860 866 msgid "invalid user name"
861 867 msgstr ""
862 868
863 869 #: rhodecode/model/forms.py:234
864 870 msgid "Your account is disabled"
865 871 msgstr ""
866 872
867 873 #: rhodecode/model/forms.py:274
868 874 msgid "This username is not valid"
869 875 msgstr ""
870 876
871 877 #: rhodecode/model/forms.py:287
872 878 msgid "This repository name is disallowed"
873 879 msgstr ""
874 880
875 881 #: rhodecode/model/forms.py:310
876 882 #, python-format
877 883 msgid "This repository already exists in a group \"%s\""
878 884 msgstr ""
879 885
880 886 #: rhodecode/model/forms.py:317
881 887 #, python-format
882 888 msgid "There is a group with this name already \"%s\""
883 889 msgstr ""
884 890
885 891 #: rhodecode/model/forms.py:324
886 892 msgid "This repository already exists"
887 893 msgstr ""
888 894
889 895 #: rhodecode/model/forms.py:367
890 896 msgid "invalid clone url"
891 897 msgstr ""
892 898
893 899 #: rhodecode/model/forms.py:384
894 900 msgid "Invalid clone url, provide a valid clone http\\s url"
895 901 msgstr ""
896 902
897 903 #: rhodecode/model/forms.py:398
898 904 msgid "Fork have to be the same type as original"
899 905 msgstr ""
900 906
901 907 #: rhodecode/model/forms.py:414
902 908 msgid "This username or users group name is not valid"
903 909 msgstr ""
904 910
905 911 #: rhodecode/model/forms.py:480
906 912 msgid "This is not a valid path"
907 913 msgstr ""
908 914
909 915 #: rhodecode/model/forms.py:494
910 916 msgid "This e-mail address is already taken"
911 917 msgstr ""
912 918
913 919 #: rhodecode/model/forms.py:507
914 920 msgid "This e-mail address doesn't exist."
915 921 msgstr ""
916 922
917 923 #: rhodecode/model/forms.py:530
918 924 msgid ""
919 925 "The LDAP Login attribute of the CN must be specified - this is the name of "
920 926 "the attribute that is equivalent to 'username'"
921 927 msgstr ""
922 928
923 929 #: rhodecode/model/forms.py:549
924 930 msgid "Please enter a login"
925 931 msgstr ""
926 932
927 933 #: rhodecode/model/forms.py:550
928 934 #, python-format
929 935 msgid "Enter a value %(min)i characters long or more"
930 936 msgstr ""
931 937
932 938 #: rhodecode/model/forms.py:558
933 939 msgid "Please enter a password"
934 940 msgstr ""
935 941
936 942 #: rhodecode/model/forms.py:559
937 943 #, python-format
938 944 msgid "Enter %(min)i characters or more"
939 945 msgstr ""
940 946
941 #: rhodecode/model/notification.py:175
947 #: rhodecode/model/notification.py:178
942 948 msgid "commented on commit"
943 949 msgstr ""
944 950
945 #: rhodecode/model/notification.py:176
951 #: rhodecode/model/notification.py:179
946 952 msgid "sent message"
947 953 msgstr ""
948 954
949 #: rhodecode/model/notification.py:177
955 #: rhodecode/model/notification.py:180
950 956 msgid "mentioned you"
951 957 msgstr ""
952 958
953 #: rhodecode/model/notification.py:178
959 #: rhodecode/model/notification.py:181
954 960 msgid "registered in RhodeCode"
955 961 msgstr ""
956 962
957 963 #: rhodecode/model/user.py:235
958 964 msgid "new user registration"
959 965 msgstr ""
960 966
961 967 #: rhodecode/model/user.py:259 rhodecode/model/user.py:279
962 968 msgid "You can't Edit this user since it's crucial for entire application"
963 969 msgstr ""
964 970
965 971 #: rhodecode/model/user.py:300
966 972 msgid "You can't remove this user since it's crucial for entire application"
967 973 msgstr ""
968 974
969 975 #: rhodecode/model/user.py:306
970 976 #, python-format
971 977 msgid ""
972 978 "user \"%s\" still owns %s repositories and cannot be removed. Switch owners "
973 979 "or remove those repositories. %s"
974 980 msgstr ""
975 981
976 982 #: rhodecode/templates/index.html:3
977 983 msgid "Dashboard"
978 984 msgstr ""
979 985
980 986 #: rhodecode/templates/index_base.html:6
987 #: rhodecode/templates/repo_switcher_list.html:4
981 988 #: rhodecode/templates/admin/users/user_edit_my_account.html:31
982 989 #: rhodecode/templates/bookmarks/bookmarks.html:10
983 990 #: rhodecode/templates/branches/branches.html:9
984 991 #: rhodecode/templates/journal/journal.html:31
985 992 #: rhodecode/templates/tags/tags.html:10
986 993 msgid "quick filter..."
987 994 msgstr ""
988 995
989 996 #: rhodecode/templates/index_base.html:6 rhodecode/templates/base/base.html:218
990 997 msgid "repositories"
991 998 msgstr ""
992 999
993 1000 #: rhodecode/templates/index_base.html:13 rhodecode/templates/index_base.html:15
994 1001 #: rhodecode/templates/admin/repos/repos.html:22
995 1002 msgid "ADD REPOSITORY"
996 1003 msgstr ""
997 1004
998 1005 #: rhodecode/templates/index_base.html:29
999 1006 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
1000 1007 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
1001 1008 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
1002 1009 #: rhodecode/templates/admin/users_groups/users_group_add.html:32
1003 1010 #: rhodecode/templates/admin/users_groups/users_group_edit.html:33
1004 1011 msgid "Group name"
1005 1012 msgstr ""
1006 1013
1007 1014 #: rhodecode/templates/index_base.html:30 rhodecode/templates/index_base.html:67
1008 1015 #: rhodecode/templates/index_base.html:132 rhodecode/templates/index_base.html:158
1009 1016 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1010 1017 #: rhodecode/templates/admin/repos/repo_edit.html:66
1011 1018 #: rhodecode/templates/admin/repos/repos.html:37
1012 1019 #: rhodecode/templates/admin/repos/repos.html:84
1013 1020 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
1014 1021 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
1015 1022 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
1016 1023 #: rhodecode/templates/forks/fork.html:49
1017 1024 #: rhodecode/templates/settings/repo_settings.html:57
1018 1025 #: rhodecode/templates/summary/summary.html:100
1019 1026 msgid "Description"
1020 1027 msgstr ""
1021 1028
1022 1029 #: rhodecode/templates/index_base.html:40
1023 1030 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
1024 1031 msgid "Repositories group"
1025 1032 msgstr ""
1026 1033
1027 1034 #: rhodecode/templates/index_base.html:66 rhodecode/templates/index_base.html:156
1028 1035 #: rhodecode/templates/admin/repos/repo_add_base.html:9
1029 1036 #: rhodecode/templates/admin/repos/repo_edit.html:32
1030 1037 #: rhodecode/templates/admin/repos/repos.html:36
1031 1038 #: rhodecode/templates/admin/repos/repos.html:82
1032 1039 #: rhodecode/templates/admin/users/user_edit_my_account.html:49
1033 1040 #: rhodecode/templates/admin/users/user_edit_my_account.html:99
1034 1041 #: rhodecode/templates/admin/users/user_edit_my_account.html:165
1035 1042 #: rhodecode/templates/admin/users/user_edit_my_account.html:200
1036 1043 #: rhodecode/templates/bookmarks/bookmarks.html:36
1037 1044 #: rhodecode/templates/bookmarks/bookmarks_data.html:6
1038 1045 #: rhodecode/templates/branches/branches.html:36
1039 1046 #: rhodecode/templates/files/files_browser.html:47
1040 1047 #: rhodecode/templates/journal/journal.html:50
1041 1048 #: rhodecode/templates/journal/journal.html:98
1042 1049 #: rhodecode/templates/journal/journal.html:177
1043 1050 #: rhodecode/templates/settings/repo_settings.html:31
1044 1051 #: rhodecode/templates/summary/summary.html:38
1045 1052 #: rhodecode/templates/summary/summary.html:114
1046 1053 #: rhodecode/templates/tags/tags.html:36 rhodecode/templates/tags/tags_data.html:6
1047 1054 msgid "Name"
1048 1055 msgstr ""
1049 1056
1050 1057 #: rhodecode/templates/index_base.html:68
1051 1058 #: rhodecode/templates/admin/repos/repos.html:38
1052 1059 msgid "Last change"
1053 1060 msgstr ""
1054 1061
1055 1062 #: rhodecode/templates/index_base.html:69 rhodecode/templates/index_base.html:161
1056 1063 #: rhodecode/templates/admin/repos/repos.html:39
1057 1064 #: rhodecode/templates/admin/repos/repos.html:87
1058 1065 #: rhodecode/templates/admin/users/user_edit_my_account.html:167
1059 1066 #: rhodecode/templates/journal/journal.html:179
1060 1067 msgid "Tip"
1061 1068 msgstr ""
1062 1069
1063 1070 #: rhodecode/templates/index_base.html:70 rhodecode/templates/index_base.html:163
1064 1071 #: rhodecode/templates/admin/repos/repo_edit.html:103
1065 1072 #: rhodecode/templates/admin/repos/repos.html:89
1066 1073 msgid "Owner"
1067 1074 msgstr ""
1068 1075
1069 1076 #: rhodecode/templates/index_base.html:71
1070 1077 #: rhodecode/templates/journal/public_journal.html:20
1071 1078 #: rhodecode/templates/summary/summary.html:43
1072 1079 #: rhodecode/templates/summary/summary.html:46
1073 1080 msgid "RSS"
1074 1081 msgstr ""
1075 1082
1076 1083 #: rhodecode/templates/index_base.html:72
1077 1084 #: rhodecode/templates/journal/public_journal.html:23
1078 1085 msgid "Atom"
1079 1086 msgstr ""
1080 1087
1081 1088 #: rhodecode/templates/index_base.html:102 rhodecode/templates/index_base.html:104
1082 1089 #, python-format
1083 1090 msgid "Subscribe to %s rss feed"
1084 1091 msgstr ""
1085 1092
1086 1093 #: rhodecode/templates/index_base.html:109 rhodecode/templates/index_base.html:111
1087 1094 #, python-format
1088 1095 msgid "Subscribe to %s atom feed"
1089 1096 msgstr ""
1090 1097
1091 1098 #: rhodecode/templates/index_base.html:130
1092 1099 msgid "Group Name"
1093 1100 msgstr ""
1094 1101
1095 1102 #: rhodecode/templates/index_base.html:148 rhodecode/templates/index_base.html:188
1096 1103 #: rhodecode/templates/admin/repos/repos.html:112
1097 1104 #: rhodecode/templates/admin/users/user_edit_my_account.html:186
1098 1105 #: rhodecode/templates/bookmarks/bookmarks.html:60
1099 1106 #: rhodecode/templates/branches/branches.html:60
1100 1107 #: rhodecode/templates/journal/journal.html:202
1101 1108 #: rhodecode/templates/tags/tags.html:60
1102 1109 msgid "Click to sort ascending"
1103 1110 msgstr ""
1104 1111
1105 1112 #: rhodecode/templates/index_base.html:149 rhodecode/templates/index_base.html:189
1106 1113 #: rhodecode/templates/admin/repos/repos.html:113
1107 1114 #: rhodecode/templates/admin/users/user_edit_my_account.html:187
1108 1115 #: rhodecode/templates/bookmarks/bookmarks.html:61
1109 1116 #: rhodecode/templates/branches/branches.html:61
1110 1117 #: rhodecode/templates/journal/journal.html:203
1111 1118 #: rhodecode/templates/tags/tags.html:61
1112 1119 msgid "Click to sort descending"
1113 1120 msgstr ""
1114 1121
1115 1122 #: rhodecode/templates/index_base.html:159
1116 1123 #: rhodecode/templates/admin/repos/repos.html:85
1117 1124 msgid "Last Change"
1118 1125 msgstr ""
1119 1126
1120 1127 #: rhodecode/templates/index_base.html:190
1121 1128 #: rhodecode/templates/admin/repos/repos.html:114
1122 1129 #: rhodecode/templates/admin/users/user_edit_my_account.html:188
1123 1130 #: rhodecode/templates/bookmarks/bookmarks.html:62
1124 1131 #: rhodecode/templates/branches/branches.html:62
1125 1132 #: rhodecode/templates/journal/journal.html:204
1126 1133 #: rhodecode/templates/tags/tags.html:62
1127 1134 msgid "No records found."
1128 1135 msgstr ""
1129 1136
1130 1137 #: rhodecode/templates/index_base.html:191
1131 1138 #: rhodecode/templates/admin/repos/repos.html:115
1132 1139 #: rhodecode/templates/admin/users/user_edit_my_account.html:189
1133 1140 #: rhodecode/templates/bookmarks/bookmarks.html:63
1134 1141 #: rhodecode/templates/branches/branches.html:63
1135 1142 #: rhodecode/templates/journal/journal.html:205
1136 1143 #: rhodecode/templates/tags/tags.html:63
1137 1144 msgid "Data error."
1138 1145 msgstr ""
1139 1146
1140 1147 #: rhodecode/templates/index_base.html:192
1141 1148 #: rhodecode/templates/admin/repos/repos.html:116
1142 1149 #: rhodecode/templates/admin/users/user_edit_my_account.html:190
1143 1150 #: rhodecode/templates/bookmarks/bookmarks.html:64
1144 1151 #: rhodecode/templates/branches/branches.html:64
1145 1152 #: rhodecode/templates/journal/journal.html:206
1146 1153 #: rhodecode/templates/tags/tags.html:64
1147 1154 msgid "Loading..."
1148 1155 msgstr ""
1149 1156
1150 1157 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1151 1158 msgid "Sign In"
1152 1159 msgstr ""
1153 1160
1154 1161 #: rhodecode/templates/login.html:21
1155 1162 msgid "Sign In to"
1156 1163 msgstr ""
1157 1164
1158 1165 #: rhodecode/templates/login.html:31 rhodecode/templates/register.html:20
1159 1166 #: rhodecode/templates/admin/admin_log.html:5
1160 1167 #: rhodecode/templates/admin/users/user_add.html:32
1161 1168 #: rhodecode/templates/admin/users/user_edit.html:50
1162 1169 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:26
1163 1170 #: rhodecode/templates/base/base.html:83
1164 1171 #: rhodecode/templates/summary/summary.html:113
1165 1172 msgid "Username"
1166 1173 msgstr ""
1167 1174
1168 1175 #: rhodecode/templates/login.html:40 rhodecode/templates/register.html:29
1169 1176 #: rhodecode/templates/admin/ldap/ldap.html:46
1170 1177 #: rhodecode/templates/admin/users/user_add.html:41
1171 1178 #: rhodecode/templates/base/base.html:92
1172 1179 msgid "Password"
1173 1180 msgstr ""
1174 1181
1175 1182 #: rhodecode/templates/login.html:50
1176 1183 msgid "Remember me"
1177 1184 msgstr ""
1178 1185
1179 1186 #: rhodecode/templates/login.html:60
1180 1187 msgid "Forgot your password ?"
1181 1188 msgstr ""
1182 1189
1183 1190 #: rhodecode/templates/login.html:63 rhodecode/templates/base/base.html:103
1184 1191 msgid "Don't have an account ?"
1185 1192 msgstr ""
1186 1193
1187 1194 #: rhodecode/templates/password_reset.html:5
1188 1195 msgid "Reset your password"
1189 1196 msgstr ""
1190 1197
1191 1198 #: rhodecode/templates/password_reset.html:11
1192 1199 msgid "Reset your password to"
1193 1200 msgstr ""
1194 1201
1195 1202 #: rhodecode/templates/password_reset.html:21
1196 1203 msgid "Email address"
1197 1204 msgstr ""
1198 1205
1199 1206 #: rhodecode/templates/password_reset.html:30
1200 1207 msgid "Reset my password"
1201 1208 msgstr ""
1202 1209
1203 1210 #: rhodecode/templates/password_reset.html:31
1204 1211 msgid "Password reset link will be send to matching email address"
1205 1212 msgstr ""
1206 1213
1207 1214 #: rhodecode/templates/register.html:5 rhodecode/templates/register.html:74
1208 1215 msgid "Sign Up"
1209 1216 msgstr ""
1210 1217
1211 1218 #: rhodecode/templates/register.html:11
1212 1219 msgid "Sign Up to"
1213 1220 msgstr ""
1214 1221
1215 1222 #: rhodecode/templates/register.html:38
1216 1223 msgid "Re-enter password"
1217 1224 msgstr ""
1218 1225
1219 1226 #: rhodecode/templates/register.html:47
1220 1227 #: rhodecode/templates/admin/users/user_add.html:59
1221 1228 #: rhodecode/templates/admin/users/user_edit.html:86
1222 1229 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:53
1223 1230 msgid "First Name"
1224 1231 msgstr ""
1225 1232
1226 1233 #: rhodecode/templates/register.html:56
1227 1234 #: rhodecode/templates/admin/users/user_add.html:68
1228 1235 #: rhodecode/templates/admin/users/user_edit.html:95
1229 1236 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:62
1230 1237 msgid "Last Name"
1231 1238 msgstr ""
1232 1239
1233 1240 #: rhodecode/templates/register.html:65
1234 1241 #: rhodecode/templates/admin/users/user_add.html:77
1235 1242 #: rhodecode/templates/admin/users/user_edit.html:104
1236 1243 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:71
1237 1244 #: rhodecode/templates/summary/summary.html:115
1238 1245 msgid "Email"
1239 1246 msgstr ""
1240 1247
1241 1248 #: rhodecode/templates/register.html:76
1242 1249 msgid "Your account will be activated right after registration"
1243 1250 msgstr ""
1244 1251
1245 1252 #: rhodecode/templates/register.html:78
1246 1253 msgid "Your account must wait for activation by administrator"
1247 1254 msgstr ""
1248 1255
1249 1256 #: rhodecode/templates/repo_switcher_list.html:11
1250 1257 #: rhodecode/templates/admin/repos/repo_add_base.html:56
1251 1258 #: rhodecode/templates/admin/repos/repo_edit.html:76
1252 1259 #: rhodecode/templates/settings/repo_settings.html:67
1253 1260 msgid "Private repository"
1254 1261 msgstr ""
1255 1262
1256 1263 #: rhodecode/templates/repo_switcher_list.html:16
1257 1264 msgid "Public repository"
1258 1265 msgstr ""
1259 1266
1260 1267 #: rhodecode/templates/switch_to_list.html:3
1261 1268 #: rhodecode/templates/branches/branches.html:14
1262 1269 msgid "branches"
1263 1270 msgstr ""
1264 1271
1265 1272 #: rhodecode/templates/switch_to_list.html:10
1266 1273 #: rhodecode/templates/branches/branches_data.html:51
1267 1274 msgid "There are no branches yet"
1268 1275 msgstr ""
1269 1276
1270 1277 #: rhodecode/templates/switch_to_list.html:15
1271 1278 #: rhodecode/templates/shortlog/shortlog_data.html:10
1272 1279 #: rhodecode/templates/tags/tags.html:15
1273 1280 msgid "tags"
1274 1281 msgstr ""
1275 1282
1276 1283 #: rhodecode/templates/switch_to_list.html:22
1277 1284 #: rhodecode/templates/tags/tags_data.html:33
1278 1285 msgid "There are no tags yet"
1279 1286 msgstr ""
1280 1287
1281 1288 #: rhodecode/templates/switch_to_list.html:28
1282 1289 #: rhodecode/templates/bookmarks/bookmarks.html:15
1283 1290 msgid "bookmarks"
1284 1291 msgstr ""
1285 1292
1286 1293 #: rhodecode/templates/switch_to_list.html:35
1287 1294 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1288 1295 msgid "There are no bookmarks yet"
1289 1296 msgstr ""
1290 1297
1291 1298 #: rhodecode/templates/admin/admin.html:5 rhodecode/templates/admin/admin.html:9
1292 1299 msgid "Admin journal"
1293 1300 msgstr ""
1294 1301
1295 1302 #: rhodecode/templates/admin/admin_log.html:6
1296 1303 #: rhodecode/templates/admin/repos/repos.html:41
1297 1304 #: rhodecode/templates/admin/repos/repos.html:90
1298 1305 #: rhodecode/templates/admin/users/user_edit_my_account.html:51
1299 1306 #: rhodecode/templates/admin/users/user_edit_my_account.html:52
1300 1307 #: rhodecode/templates/journal/journal.html:52
1301 1308 #: rhodecode/templates/journal/journal.html:53
1302 1309 msgid "Action"
1303 1310 msgstr ""
1304 1311
1305 1312 #: rhodecode/templates/admin/admin_log.html:7
1306 1313 msgid "Repository"
1307 1314 msgstr ""
1308 1315
1309 1316 #: rhodecode/templates/admin/admin_log.html:8
1310 1317 #: rhodecode/templates/bookmarks/bookmarks.html:37
1311 1318 #: rhodecode/templates/bookmarks/bookmarks_data.html:7
1312 1319 #: rhodecode/templates/branches/branches.html:37
1313 1320 #: rhodecode/templates/tags/tags.html:37 rhodecode/templates/tags/tags_data.html:7
1314 1321 msgid "Date"
1315 1322 msgstr ""
1316 1323
1317 1324 #: rhodecode/templates/admin/admin_log.html:9
1318 1325 msgid "From IP"
1319 1326 msgstr ""
1320 1327
1321 1328 #: rhodecode/templates/admin/admin_log.html:53
1322 1329 msgid "No actions yet"
1323 1330 msgstr ""
1324 1331
1325 1332 #: rhodecode/templates/admin/ldap/ldap.html:5
1326 1333 msgid "LDAP administration"
1327 1334 msgstr ""
1328 1335
1329 1336 #: rhodecode/templates/admin/ldap/ldap.html:11
1330 1337 msgid "Ldap"
1331 1338 msgstr ""
1332 1339
1333 1340 #: rhodecode/templates/admin/ldap/ldap.html:28
1334 1341 msgid "Connection settings"
1335 1342 msgstr ""
1336 1343
1337 1344 #: rhodecode/templates/admin/ldap/ldap.html:30
1338 1345 msgid "Enable LDAP"
1339 1346 msgstr ""
1340 1347
1341 1348 #: rhodecode/templates/admin/ldap/ldap.html:34
1342 1349 msgid "Host"
1343 1350 msgstr ""
1344 1351
1345 1352 #: rhodecode/templates/admin/ldap/ldap.html:38
1346 1353 msgid "Port"
1347 1354 msgstr ""
1348 1355
1349 1356 #: rhodecode/templates/admin/ldap/ldap.html:42
1350 1357 msgid "Account"
1351 1358 msgstr ""
1352 1359
1353 1360 #: rhodecode/templates/admin/ldap/ldap.html:50
1354 1361 msgid "Connection security"
1355 1362 msgstr ""
1356 1363
1357 1364 #: rhodecode/templates/admin/ldap/ldap.html:54
1358 1365 msgid "Certificate Checks"
1359 1366 msgstr ""
1360 1367
1361 1368 #: rhodecode/templates/admin/ldap/ldap.html:57
1362 1369 msgid "Search settings"
1363 1370 msgstr ""
1364 1371
1365 1372 #: rhodecode/templates/admin/ldap/ldap.html:59
1366 1373 msgid "Base DN"
1367 1374 msgstr ""
1368 1375
1369 1376 #: rhodecode/templates/admin/ldap/ldap.html:63
1370 1377 msgid "LDAP Filter"
1371 1378 msgstr ""
1372 1379
1373 1380 #: rhodecode/templates/admin/ldap/ldap.html:67
1374 1381 msgid "LDAP Search Scope"
1375 1382 msgstr ""
1376 1383
1377 1384 #: rhodecode/templates/admin/ldap/ldap.html:70
1378 1385 msgid "Attribute mappings"
1379 1386 msgstr ""
1380 1387
1381 1388 #: rhodecode/templates/admin/ldap/ldap.html:72
1382 1389 msgid "Login Attribute"
1383 1390 msgstr ""
1384 1391
1385 1392 #: rhodecode/templates/admin/ldap/ldap.html:76
1386 1393 msgid "First Name Attribute"
1387 1394 msgstr ""
1388 1395
1389 1396 #: rhodecode/templates/admin/ldap/ldap.html:80
1390 1397 msgid "Last Name Attribute"
1391 1398 msgstr ""
1392 1399
1393 1400 #: rhodecode/templates/admin/ldap/ldap.html:84
1394 1401 msgid "E-mail Attribute"
1395 1402 msgstr ""
1396 1403
1397 1404 #: rhodecode/templates/admin/ldap/ldap.html:89
1398 1405 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1399 1406 #: rhodecode/templates/admin/settings/hooks.html:73
1400 1407 #: rhodecode/templates/admin/users/user_edit.html:129
1401 1408 #: rhodecode/templates/admin/users/user_edit.html:154
1402 1409 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:79
1403 1410 #: rhodecode/templates/admin/users_groups/users_group_edit.html:115
1404 1411 #: rhodecode/templates/settings/repo_settings.html:84
1405 1412 msgid "Save"
1406 1413 msgstr ""
1407 1414
1408 1415 #: rhodecode/templates/admin/notifications/notifications.html:5
1409 1416 #: rhodecode/templates/admin/notifications/notifications.html:9
1410 1417 msgid "My Notifications"
1411 1418 msgstr ""
1412 1419
1413 1420 #: rhodecode/templates/admin/notifications/notifications.html:29
1414 1421 msgid "Mark all read"
1415 1422 msgstr ""
1416 1423
1417 1424 #: rhodecode/templates/admin/notifications/notifications_data.html:38
1418 1425 msgid "No notifications here yet"
1419 1426 msgstr ""
1420 1427
1421 1428 #: rhodecode/templates/admin/notifications/show_notification.html:5
1422 1429 #: rhodecode/templates/admin/notifications/show_notification.html:11
1423 1430 msgid "Show notification"
1424 1431 msgstr ""
1425 1432
1426 1433 #: rhodecode/templates/admin/notifications/show_notification.html:9
1427 1434 msgid "Notifications"
1428 1435 msgstr ""
1429 1436
1430 1437 #: rhodecode/templates/admin/permissions/permissions.html:5
1431 1438 msgid "Permissions administration"
1432 1439 msgstr ""
1433 1440
1434 1441 #: rhodecode/templates/admin/permissions/permissions.html:11
1435 1442 #: rhodecode/templates/admin/repos/repo_edit.html:116
1436 1443 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
1437 1444 #: rhodecode/templates/admin/users/user_edit.html:139
1438 1445 #: rhodecode/templates/admin/users_groups/users_group_edit.html:100
1439 1446 #: rhodecode/templates/settings/repo_settings.html:77
1440 1447 msgid "Permissions"
1441 1448 msgstr ""
1442 1449
1443 1450 #: rhodecode/templates/admin/permissions/permissions.html:24
1444 1451 msgid "Default permissions"
1445 1452 msgstr ""
1446 1453
1447 1454 #: rhodecode/templates/admin/permissions/permissions.html:31
1448 1455 msgid "Anonymous access"
1449 1456 msgstr ""
1450 1457
1451 1458 #: rhodecode/templates/admin/permissions/permissions.html:41
1452 1459 msgid "Repository permission"
1453 1460 msgstr ""
1454 1461
1455 1462 #: rhodecode/templates/admin/permissions/permissions.html:49
1456 1463 msgid ""
1457 1464 "All default permissions on each repository will be reset to choosen "
1458 1465 "permission, note that all custom default permission on repositories will be "
1459 1466 "lost"
1460 1467 msgstr ""
1461 1468
1462 1469 #: rhodecode/templates/admin/permissions/permissions.html:50
1463 1470 msgid "overwrite existing settings"
1464 1471 msgstr ""
1465 1472
1466 1473 #: rhodecode/templates/admin/permissions/permissions.html:55
1467 1474 msgid "Registration"
1468 1475 msgstr ""
1469 1476
1470 1477 #: rhodecode/templates/admin/permissions/permissions.html:63
1471 1478 msgid "Repository creation"
1472 1479 msgstr ""
1473 1480
1474 1481 #: rhodecode/templates/admin/permissions/permissions.html:71
1475 1482 #: rhodecode/templates/admin/repos/repo_edit.html:218
1476 1483 msgid "set"
1477 1484 msgstr ""
1478 1485
1479 1486 #: rhodecode/templates/admin/repos/repo_add.html:5
1480 1487 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
1481 1488 msgid "Add repository"
1482 1489 msgstr ""
1483 1490
1484 1491 #: rhodecode/templates/admin/repos/repo_add.html:11
1485 1492 #: rhodecode/templates/admin/repos/repo_edit.html:11
1486 1493 #: rhodecode/templates/admin/repos/repos.html:10
1487 1494 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
1488 1495 msgid "Repositories"
1489 1496 msgstr ""
1490 1497
1491 1498 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1492 1499 #: rhodecode/templates/summary/summary.html:90
1493 1500 #: rhodecode/templates/summary/summary.html:91
1494 1501 msgid "Clone from"
1495 1502 msgstr ""
1496 1503
1497 1504 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1498 1505 #: rhodecode/templates/admin/repos/repo_edit.html:44
1499 1506 #: rhodecode/templates/settings/repo_settings.html:43
1500 1507 msgid "Optional http[s] url from which repository should be cloned."
1501 1508 msgstr ""
1502 1509
1503 1510 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1504 1511 #: rhodecode/templates/admin/repos/repo_edit.html:49
1505 1512 #: rhodecode/templates/admin/repos_groups/repos_groups.html:4
1506 1513 #: rhodecode/templates/forks/fork.html:41
1507 1514 #: rhodecode/templates/settings/repo_settings.html:48
1508 1515 msgid "Repository group"
1509 1516 msgstr ""
1510 1517
1511 1518 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1512 1519 #: rhodecode/templates/admin/repos/repo_edit.html:53
1513 1520 #: rhodecode/templates/settings/repo_settings.html:52
1514 1521 msgid "Optional select a group to put this repository into."
1515 1522 msgstr ""
1516 1523
1517 1524 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1518 1525 #: rhodecode/templates/admin/repos/repo_edit.html:58
1519 1526 msgid "Type"
1520 1527 msgstr ""
1521 1528
1522 1529 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1523 1530 msgid "Type of repository to create."
1524 1531 msgstr ""
1525 1532
1526 1533 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1527 1534 #: rhodecode/templates/admin/repos/repo_edit.html:70
1528 1535 #: rhodecode/templates/settings/repo_settings.html:61
1529 1536 msgid "Keep it short and to the point. Use a README file for longer descriptions."
1530 1537 msgstr ""
1531 1538
1532 1539 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1533 1540 #: rhodecode/templates/admin/repos/repo_edit.html:80
1534 1541 #: rhodecode/templates/settings/repo_settings.html:71
1535 1542 msgid ""
1536 1543 "Private repositories are only visible to people explicitly added as "
1537 1544 "collaborators."
1538 1545 msgstr ""
1539 1546
1540 1547 #: rhodecode/templates/admin/repos/repo_add_base.html:64
1541 1548 msgid "add"
1542 1549 msgstr ""
1543 1550
1544 1551 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1545 1552 msgid "add new repository"
1546 1553 msgstr ""
1547 1554
1548 1555 #: rhodecode/templates/admin/repos/repo_edit.html:5
1549 1556 msgid "Edit repository"
1550 1557 msgstr ""
1551 1558
1552 1559 #: rhodecode/templates/admin/repos/repo_edit.html:13
1553 1560 #: rhodecode/templates/admin/users/user_edit.html:13
1554 1561 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
1555 1562 #: rhodecode/templates/admin/users_groups/users_group_edit.html:13
1556 1563 #: rhodecode/templates/files/files_source.html:32
1557 1564 #: rhodecode/templates/journal/journal.html:72
1558 1565 msgid "edit"
1559 1566 msgstr ""
1560 1567
1561 1568 #: rhodecode/templates/admin/repos/repo_edit.html:40
1562 1569 #: rhodecode/templates/settings/repo_settings.html:39
1563 1570 msgid "Clone uri"
1564 1571 msgstr ""
1565 1572
1566 1573 #: rhodecode/templates/admin/repos/repo_edit.html:85
1567 1574 msgid "Enable statistics"
1568 1575 msgstr ""
1569 1576
1570 1577 #: rhodecode/templates/admin/repos/repo_edit.html:89
1571 1578 msgid "Enable statistics window on summary page."
1572 1579 msgstr ""
1573 1580
1574 1581 #: rhodecode/templates/admin/repos/repo_edit.html:94
1575 1582 msgid "Enable downloads"
1576 1583 msgstr ""
1577 1584
1578 1585 #: rhodecode/templates/admin/repos/repo_edit.html:98
1579 1586 msgid "Enable download menu on summary page."
1580 1587 msgstr ""
1581 1588
1582 1589 #: rhodecode/templates/admin/repos/repo_edit.html:108
1583 1590 msgid "Change owner of this repository."
1584 1591 msgstr ""
1585 1592
1586 1593 #: rhodecode/templates/admin/repos/repo_edit.html:134
1587 1594 msgid "Administration"
1588 1595 msgstr ""
1589 1596
1590 1597 #: rhodecode/templates/admin/repos/repo_edit.html:137
1591 1598 msgid "Statistics"
1592 1599 msgstr ""
1593 1600
1594 1601 #: rhodecode/templates/admin/repos/repo_edit.html:141
1595 1602 msgid "Reset current statistics"
1596 1603 msgstr ""
1597 1604
1598 1605 #: rhodecode/templates/admin/repos/repo_edit.html:141
1599 1606 msgid "Confirm to remove current statistics"
1600 1607 msgstr ""
1601 1608
1602 1609 #: rhodecode/templates/admin/repos/repo_edit.html:144
1603 1610 msgid "Fetched to rev"
1604 1611 msgstr ""
1605 1612
1606 1613 #: rhodecode/templates/admin/repos/repo_edit.html:145
1607 1614 msgid "Stats gathered"
1608 1615 msgstr ""
1609 1616
1610 1617 #: rhodecode/templates/admin/repos/repo_edit.html:153
1611 1618 msgid "Remote"
1612 1619 msgstr ""
1613 1620
1614 1621 #: rhodecode/templates/admin/repos/repo_edit.html:157
1615 1622 msgid "Pull changes from remote location"
1616 1623 msgstr ""
1617 1624
1618 1625 #: rhodecode/templates/admin/repos/repo_edit.html:157
1619 1626 msgid "Confirm to pull changes from remote side"
1620 1627 msgstr ""
1621 1628
1622 1629 #: rhodecode/templates/admin/repos/repo_edit.html:168
1623 1630 msgid "Cache"
1624 1631 msgstr ""
1625 1632
1626 1633 #: rhodecode/templates/admin/repos/repo_edit.html:172
1627 1634 msgid "Invalidate repository cache"
1628 1635 msgstr ""
1629 1636
1630 1637 #: rhodecode/templates/admin/repos/repo_edit.html:172
1631 1638 msgid "Confirm to invalidate repository cache"
1632 1639 msgstr ""
1633 1640
1634 1641 #: rhodecode/templates/admin/repos/repo_edit.html:183
1635 1642 msgid "Remove from public journal"
1636 1643 msgstr ""
1637 1644
1638 1645 #: rhodecode/templates/admin/repos/repo_edit.html:185
1639 1646 msgid "Add to public journal"
1640 1647 msgstr ""
1641 1648
1642 1649 #: rhodecode/templates/admin/repos/repo_edit.html:190
1643 1650 msgid ""
1644 1651 "All actions made on this repository will be accessible to everyone in public "
1645 1652 "journal"
1646 1653 msgstr ""
1647 1654
1648 1655 #: rhodecode/templates/admin/repos/repo_edit.html:197
1649 1656 #: rhodecode/templates/changeset/changeset_file_comment.html:19
1650 1657 msgid "Delete"
1651 1658 msgstr ""
1652 1659
1653 1660 #: rhodecode/templates/admin/repos/repo_edit.html:201
1654 1661 msgid "Remove this repository"
1655 1662 msgstr ""
1656 1663
1657 1664 #: rhodecode/templates/admin/repos/repo_edit.html:201
1658 1665 msgid "Confirm to delete this repository"
1659 1666 msgstr ""
1660 1667
1661 1668 #: rhodecode/templates/admin/repos/repo_edit.html:205
1662 1669 msgid ""
1663 1670 "This repository will be renamed in a special way in order to be unaccesible "
1664 1671 "for RhodeCode and VCS systems.\n"
1665 1672 " If you need fully delete it from filesystem please "
1666 1673 "do it manually"
1667 1674 msgstr ""
1668 1675
1669 1676 #: rhodecode/templates/admin/repos/repo_edit.html:213
1670 1677 msgid "Set as fork"
1671 1678 msgstr ""
1672 1679
1673 1680 #: rhodecode/templates/admin/repos/repo_edit.html:222
1674 1681 msgid "Manually set this repository as a fork of another"
1675 1682 msgstr ""
1676 1683
1677 1684 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
1678 1685 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
1679 1686 msgid "none"
1680 1687 msgstr ""
1681 1688
1682 1689 #: rhodecode/templates/admin/repos/repo_edit_perms.html:4
1683 1690 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:4
1684 1691 msgid "read"
1685 1692 msgstr ""
1686 1693
1687 1694 #: rhodecode/templates/admin/repos/repo_edit_perms.html:5
1688 1695 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:5
1689 1696 msgid "write"
1690 1697 msgstr ""
1691 1698
1692 1699 #: rhodecode/templates/admin/repos/repo_edit_perms.html:6
1693 1700 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:6
1694 1701 #: rhodecode/templates/admin/users/users.html:38
1695 1702 #: rhodecode/templates/base/base.html:214
1696 1703 msgid "admin"
1697 1704 msgstr ""
1698 1705
1699 1706 #: rhodecode/templates/admin/repos/repo_edit_perms.html:7
1700 1707 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:7
1701 1708 msgid "member"
1702 1709 msgstr ""
1703 1710
1704 1711 #: rhodecode/templates/admin/repos/repo_edit_perms.html:16
1705 1712 #: rhodecode/templates/data_table/_dt_elements.html:61
1706 1713 #: rhodecode/templates/journal/journal.html:123
1707 1714 #: rhodecode/templates/summary/summary.html:71
1708 1715 msgid "private repository"
1709 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 1724 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
1712 1725 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
1713 1726 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
1714 1727 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
1715 1728 msgid "revoke"
1716 1729 msgstr ""
1717 1730
1718 1731 #: rhodecode/templates/admin/repos/repo_edit_perms.html:80
1719 1732 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:64
1720 1733 msgid "Add another member"
1721 1734 msgstr ""
1722 1735
1723 1736 #: rhodecode/templates/admin/repos/repo_edit_perms.html:94
1724 1737 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:78
1725 1738 msgid "Failed to remove user"
1726 1739 msgstr ""
1727 1740
1728 1741 #: rhodecode/templates/admin/repos/repo_edit_perms.html:109
1729 1742 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:93
1730 1743 msgid "Failed to remove users group"
1731 1744 msgstr ""
1732 1745
1733 1746 #: rhodecode/templates/admin/repos/repos.html:5
1734 1747 msgid "Repositories administration"
1735 1748 msgstr ""
1736 1749
1737 1750 #: rhodecode/templates/admin/repos/repos.html:40
1738 1751 #: rhodecode/templates/summary/summary.html:107
1739 1752 msgid "Contact"
1740 1753 msgstr ""
1741 1754
1742 1755 #: rhodecode/templates/admin/repos/repos.html:68
1743 1756 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1744 1757 #: rhodecode/templates/admin/users/users.html:55
1745 1758 #: rhodecode/templates/admin/users_groups/users_groups.html:44
1746 1759 msgid "delete"
1747 1760 msgstr ""
1748 1761
1749 1762 #: rhodecode/templates/admin/repos/repos.html:68
1750 1763 #: rhodecode/templates/admin/users/user_edit_my_account.html:74
1751 1764 #, python-format
1752 1765 msgid "Confirm to delete this repository: %s"
1753 1766 msgstr ""
1754 1767
1755 1768 #: rhodecode/templates/admin/repos_groups/repos_groups.html:8
1756 1769 msgid "Groups"
1757 1770 msgstr ""
1758 1771
1759 1772 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
1760 1773 msgid "with"
1761 1774 msgstr ""
1762 1775
1763 1776 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
1764 1777 msgid "Add repos group"
1765 1778 msgstr ""
1766 1779
1767 1780 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
1768 1781 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
1769 1782 msgid "Repos groups"
1770 1783 msgstr ""
1771 1784
1772 1785 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
1773 1786 msgid "add new repos group"
1774 1787 msgstr ""
1775 1788
1776 1789 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
1777 1790 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
1778 1791 msgid "Group parent"
1779 1792 msgstr ""
1780 1793
1781 1794 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
1782 1795 #: rhodecode/templates/admin/users/user_add.html:94
1783 1796 #: rhodecode/templates/admin/users_groups/users_group_add.html:49
1784 1797 #: rhodecode/templates/admin/users_groups/users_group_edit.html:90
1785 1798 msgid "save"
1786 1799 msgstr ""
1787 1800
1788 1801 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
1789 1802 msgid "Edit repos group"
1790 1803 msgstr ""
1791 1804
1792 1805 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
1793 1806 msgid "edit repos group"
1794 1807 msgstr ""
1795 1808
1796 1809 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:67
1797 1810 #: rhodecode/templates/admin/settings/settings.html:112
1798 1811 #: rhodecode/templates/admin/settings/settings.html:177
1799 1812 #: rhodecode/templates/admin/users/user_edit.html:130
1800 1813 #: rhodecode/templates/admin/users/user_edit.html:155
1801 1814 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:80
1802 1815 #: rhodecode/templates/admin/users_groups/users_group_edit.html:116
1803 1816 #: rhodecode/templates/files/files_add.html:82
1804 1817 #: rhodecode/templates/files/files_edit.html:68
1805 1818 #: rhodecode/templates/settings/repo_settings.html:85
1806 1819 msgid "Reset"
1807 1820 msgstr ""
1808 1821
1809 1822 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
1810 1823 msgid "Repositories groups administration"
1811 1824 msgstr ""
1812 1825
1813 1826 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
1814 1827 msgid "ADD NEW GROUP"
1815 1828 msgstr ""
1816 1829
1817 1830 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
1818 1831 msgid "Number of toplevel repositories"
1819 1832 msgstr ""
1820 1833
1821 1834 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
1822 1835 #: rhodecode/templates/admin/users/users.html:40
1823 1836 #: rhodecode/templates/admin/users_groups/users_groups.html:35
1824 1837 msgid "action"
1825 1838 msgstr ""
1826 1839
1827 1840 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
1828 1841 #, python-format
1829 1842 msgid "Confirm to delete this group: %s"
1830 1843 msgstr ""
1831 1844
1832 1845 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
1833 1846 msgid "There are no repositories groups yet"
1834 1847 msgstr ""
1835 1848
1836 1849 #: rhodecode/templates/admin/settings/hooks.html:5
1837 1850 #: rhodecode/templates/admin/settings/settings.html:5
1838 1851 msgid "Settings administration"
1839 1852 msgstr ""
1840 1853
1841 1854 #: rhodecode/templates/admin/settings/hooks.html:9
1842 1855 #: rhodecode/templates/admin/settings/settings.html:9
1843 #: rhodecode/templates/settings/repo_settings.html:5
1844 1856 #: rhodecode/templates/settings/repo_settings.html:13
1845 1857 msgid "Settings"
1846 1858 msgstr ""
1847 1859
1848 1860 #: rhodecode/templates/admin/settings/hooks.html:24
1849 1861 msgid "Built in hooks - read only"
1850 1862 msgstr ""
1851 1863
1852 1864 #: rhodecode/templates/admin/settings/hooks.html:40
1853 1865 msgid "Custom hooks"
1854 1866 msgstr ""
1855 1867
1856 1868 #: rhodecode/templates/admin/settings/hooks.html:56
1857 1869 msgid "remove"
1858 1870 msgstr ""
1859 1871
1860 1872 #: rhodecode/templates/admin/settings/hooks.html:88
1861 1873 msgid "Failed to remove hook"
1862 1874 msgstr ""
1863 1875
1864 1876 #: rhodecode/templates/admin/settings/settings.html:24
1865 1877 msgid "Remap and rescan repositories"
1866 1878 msgstr ""
1867 1879
1868 1880 #: rhodecode/templates/admin/settings/settings.html:32
1869 1881 msgid "rescan option"
1870 1882 msgstr ""
1871 1883
1872 1884 #: rhodecode/templates/admin/settings/settings.html:38
1873 1885 msgid ""
1874 1886 "In case a repository was deleted from filesystem and there are leftovers in "
1875 1887 "the database check this option to scan obsolete data in database and remove "
1876 1888 "it."
1877 1889 msgstr ""
1878 1890
1879 1891 #: rhodecode/templates/admin/settings/settings.html:39
1880 1892 msgid "destroy old data"
1881 1893 msgstr ""
1882 1894
1883 1895 #: rhodecode/templates/admin/settings/settings.html:45
1884 1896 msgid "Rescan repositories"
1885 1897 msgstr ""
1886 1898
1887 1899 #: rhodecode/templates/admin/settings/settings.html:51
1888 1900 msgid "Whoosh indexing"
1889 1901 msgstr ""
1890 1902
1891 1903 #: rhodecode/templates/admin/settings/settings.html:59
1892 1904 msgid "index build option"
1893 1905 msgstr ""
1894 1906
1895 1907 #: rhodecode/templates/admin/settings/settings.html:64
1896 1908 msgid "build from scratch"
1897 1909 msgstr ""
1898 1910
1899 1911 #: rhodecode/templates/admin/settings/settings.html:70
1900 1912 msgid "Reindex"
1901 1913 msgstr ""
1902 1914
1903 1915 #: rhodecode/templates/admin/settings/settings.html:76
1904 1916 msgid "Global application settings"
1905 1917 msgstr ""
1906 1918
1907 1919 #: rhodecode/templates/admin/settings/settings.html:85
1908 1920 msgid "Application name"
1909 1921 msgstr ""
1910 1922
1911 1923 #: rhodecode/templates/admin/settings/settings.html:94
1912 1924 msgid "Realm text"
1913 1925 msgstr ""
1914 1926
1915 1927 #: rhodecode/templates/admin/settings/settings.html:103
1916 1928 msgid "GA code"
1917 1929 msgstr ""
1918 1930
1919 1931 #: rhodecode/templates/admin/settings/settings.html:111
1920 1932 #: rhodecode/templates/admin/settings/settings.html:176
1921 1933 msgid "Save settings"
1922 1934 msgstr ""
1923 1935
1924 1936 #: rhodecode/templates/admin/settings/settings.html:118
1925 1937 msgid "Mercurial settings"
1926 1938 msgstr ""
1927 1939
1928 1940 #: rhodecode/templates/admin/settings/settings.html:127
1929 1941 msgid "Web"
1930 1942 msgstr ""
1931 1943
1932 1944 #: rhodecode/templates/admin/settings/settings.html:132
1933 1945 msgid "require ssl for pushing"
1934 1946 msgstr ""
1935 1947
1936 1948 #: rhodecode/templates/admin/settings/settings.html:139
1937 1949 msgid "Hooks"
1938 1950 msgstr ""
1939 1951
1940 1952 #: rhodecode/templates/admin/settings/settings.html:144
1941 1953 msgid "Update repository after push (hg update)"
1942 1954 msgstr ""
1943 1955
1944 1956 #: rhodecode/templates/admin/settings/settings.html:148
1945 1957 msgid "Show repository size after push"
1946 1958 msgstr ""
1947 1959
1948 1960 #: rhodecode/templates/admin/settings/settings.html:152
1949 1961 msgid "Log user push commands"
1950 1962 msgstr ""
1951 1963
1952 1964 #: rhodecode/templates/admin/settings/settings.html:156
1953 1965 msgid "Log user pull commands"
1954 1966 msgstr ""
1955 1967
1956 1968 #: rhodecode/templates/admin/settings/settings.html:160
1957 1969 msgid "advanced setup"
1958 1970 msgstr ""
1959 1971
1960 1972 #: rhodecode/templates/admin/settings/settings.html:165
1961 1973 msgid "Repositories location"
1962 1974 msgstr ""
1963 1975
1964 1976 #: rhodecode/templates/admin/settings/settings.html:170
1965 1977 msgid ""
1966 1978 "This a crucial application setting. If you are really sure you need to change"
1967 1979 " this, you must restart application in order to make this setting take "
1968 1980 "effect. Click this label to unlock."
1969 1981 msgstr ""
1970 1982
1971 1983 #: rhodecode/templates/admin/settings/settings.html:171
1972 1984 msgid "unlock"
1973 1985 msgstr ""
1974 1986
1975 1987 #: rhodecode/templates/admin/settings/settings.html:191
1976 1988 msgid "Test Email"
1977 1989 msgstr ""
1978 1990
1979 1991 #: rhodecode/templates/admin/settings/settings.html:199
1980 1992 msgid "Email to"
1981 1993 msgstr ""
1982 1994
1983 1995 #: rhodecode/templates/admin/settings/settings.html:207
1984 1996 msgid "Send"
1985 1997 msgstr ""
1986 1998
1987 1999 #: rhodecode/templates/admin/settings/settings.html:213
1988 2000 msgid "System Info and Packages"
1989 2001 msgstr ""
1990 2002
1991 2003 #: rhodecode/templates/admin/settings/settings.html:216
1992 2004 msgid "show"
1993 2005 msgstr ""
1994 2006
1995 2007 #: rhodecode/templates/admin/users/user_add.html:5
1996 2008 msgid "Add user"
1997 2009 msgstr ""
1998 2010
1999 2011 #: rhodecode/templates/admin/users/user_add.html:10
2000 2012 #: rhodecode/templates/admin/users/user_edit.html:11
2001 2013 #: rhodecode/templates/admin/users/users.html:9
2002 2014 msgid "Users"
2003 2015 msgstr ""
2004 2016
2005 2017 #: rhodecode/templates/admin/users/user_add.html:12
2006 2018 msgid "add new user"
2007 2019 msgstr ""
2008 2020
2009 2021 #: rhodecode/templates/admin/users/user_add.html:50
2010 2022 msgid "Password confirmation"
2011 2023 msgstr ""
2012 2024
2013 2025 #: rhodecode/templates/admin/users/user_add.html:86
2014 2026 #: rhodecode/templates/admin/users/user_edit.html:113
2015 2027 #: rhodecode/templates/admin/users_groups/users_group_add.html:41
2016 2028 #: rhodecode/templates/admin/users_groups/users_group_edit.html:42
2017 2029 msgid "Active"
2018 2030 msgstr ""
2019 2031
2020 2032 #: rhodecode/templates/admin/users/user_edit.html:5
2021 2033 msgid "Edit user"
2022 2034 msgstr ""
2023 2035
2024 2036 #: rhodecode/templates/admin/users/user_edit.html:34
2025 2037 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:10
2026 2038 msgid "Change your avatar at"
2027 2039 msgstr ""
2028 2040
2029 2041 #: rhodecode/templates/admin/users/user_edit.html:35
2030 2042 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:11
2031 2043 msgid "Using"
2032 2044 msgstr ""
2033 2045
2034 2046 #: rhodecode/templates/admin/users/user_edit.html:43
2035 2047 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2036 2048 msgid "API key"
2037 2049 msgstr ""
2038 2050
2039 2051 #: rhodecode/templates/admin/users/user_edit.html:59
2040 2052 msgid "LDAP DN"
2041 2053 msgstr ""
2042 2054
2043 2055 #: rhodecode/templates/admin/users/user_edit.html:68
2044 2056 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
2045 2057 msgid "New password"
2046 2058 msgstr ""
2047 2059
2048 2060 #: rhodecode/templates/admin/users/user_edit.html:77
2049 2061 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2050 2062 msgid "New password confirmation"
2051 2063 msgstr ""
2052 2064
2053 2065 #: rhodecode/templates/admin/users/user_edit.html:147
2054 2066 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2055 2067 msgid "Create repositories"
2056 2068 msgstr ""
2057 2069
2058 2070 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2059 2071 #: rhodecode/templates/base/base.html:124
2060 2072 msgid "My account"
2061 2073 msgstr ""
2062 2074
2063 2075 #: rhodecode/templates/admin/users/user_edit_my_account.html:9
2064 2076 msgid "My Account"
2065 2077 msgstr ""
2066 2078
2067 2079 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2068 2080 #: rhodecode/templates/journal/journal.html:32
2069 2081 msgid "My repos"
2070 2082 msgstr ""
2071 2083
2072 2084 #: rhodecode/templates/admin/users/user_edit_my_account.html:32
2073 2085 msgid "My permissions"
2074 2086 msgstr ""
2075 2087
2076 2088 #: rhodecode/templates/admin/users/user_edit_my_account.html:37
2077 2089 #: rhodecode/templates/journal/journal.html:37
2078 2090 msgid "ADD"
2079 2091 msgstr ""
2080 2092
2081 2093 #: rhodecode/templates/admin/users/user_edit_my_account.html:50
2082 2094 #: rhodecode/templates/bookmarks/bookmarks.html:40
2083 2095 #: rhodecode/templates/bookmarks/bookmarks_data.html:9
2084 2096 #: rhodecode/templates/branches/branches.html:40
2085 2097 #: rhodecode/templates/journal/journal.html:51
2086 2098 #: rhodecode/templates/tags/tags.html:40 rhodecode/templates/tags/tags_data.html:9
2087 2099 msgid "Revision"
2088 2100 msgstr ""
2089 2101
2090 2102 #: rhodecode/templates/admin/users/user_edit_my_account.html:71
2091 2103 #: rhodecode/templates/journal/journal.html:72
2092 2104 msgid "private"
2093 2105 msgstr ""
2094 2106
2095 2107 #: rhodecode/templates/admin/users/user_edit_my_account.html:81
2096 2108 #: rhodecode/templates/journal/journal.html:85
2097 2109 msgid "No repositories yet"
2098 2110 msgstr ""
2099 2111
2100 2112 #: rhodecode/templates/admin/users/user_edit_my_account.html:83
2101 2113 #: rhodecode/templates/journal/journal.html:87
2102 2114 msgid "create one now"
2103 2115 msgstr ""
2104 2116
2105 2117 #: rhodecode/templates/admin/users/user_edit_my_account.html:100
2106 2118 #: rhodecode/templates/admin/users/user_edit_my_account.html:201
2107 2119 msgid "Permission"
2108 2120 msgstr ""
2109 2121
2110 2122 #: rhodecode/templates/admin/users/users.html:5
2111 2123 msgid "Users administration"
2112 2124 msgstr ""
2113 2125
2114 2126 #: rhodecode/templates/admin/users/users.html:23
2115 2127 msgid "ADD NEW USER"
2116 2128 msgstr ""
2117 2129
2118 2130 #: rhodecode/templates/admin/users/users.html:33
2119 2131 msgid "username"
2120 2132 msgstr ""
2121 2133
2122 2134 #: rhodecode/templates/admin/users/users.html:34
2123 2135 #: rhodecode/templates/branches/branches_data.html:6
2124 2136 msgid "name"
2125 2137 msgstr ""
2126 2138
2127 2139 #: rhodecode/templates/admin/users/users.html:35
2128 2140 msgid "lastname"
2129 2141 msgstr ""
2130 2142
2131 2143 #: rhodecode/templates/admin/users/users.html:36
2132 2144 msgid "last login"
2133 2145 msgstr ""
2134 2146
2135 2147 #: rhodecode/templates/admin/users/users.html:37
2136 2148 #: rhodecode/templates/admin/users_groups/users_groups.html:34
2137 2149 msgid "active"
2138 2150 msgstr ""
2139 2151
2140 2152 #: rhodecode/templates/admin/users/users.html:39
2141 2153 #: rhodecode/templates/base/base.html:223
2142 2154 msgid "ldap"
2143 2155 msgstr ""
2144 2156
2145 2157 #: rhodecode/templates/admin/users/users.html:56
2146 2158 #, python-format
2147 2159 msgid "Confirm to delete this user: %s"
2148 2160 msgstr ""
2149 2161
2150 2162 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2151 2163 msgid "Add users group"
2152 2164 msgstr ""
2153 2165
2154 2166 #: rhodecode/templates/admin/users_groups/users_group_add.html:10
2155 2167 #: rhodecode/templates/admin/users_groups/users_groups.html:9
2156 2168 msgid "Users groups"
2157 2169 msgstr ""
2158 2170
2159 2171 #: rhodecode/templates/admin/users_groups/users_group_add.html:12
2160 2172 msgid "add new users group"
2161 2173 msgstr ""
2162 2174
2163 2175 #: rhodecode/templates/admin/users_groups/users_group_edit.html:5
2164 2176 msgid "Edit users group"
2165 2177 msgstr ""
2166 2178
2167 2179 #: rhodecode/templates/admin/users_groups/users_group_edit.html:11
2168 2180 msgid "UsersGroups"
2169 2181 msgstr ""
2170 2182
2171 2183 #: rhodecode/templates/admin/users_groups/users_group_edit.html:50
2172 2184 msgid "Members"
2173 2185 msgstr ""
2174 2186
2175 2187 #: rhodecode/templates/admin/users_groups/users_group_edit.html:58
2176 2188 msgid "Choosen group members"
2177 2189 msgstr ""
2178 2190
2179 2191 #: rhodecode/templates/admin/users_groups/users_group_edit.html:61
2180 2192 msgid "Remove all elements"
2181 2193 msgstr ""
2182 2194
2183 2195 #: rhodecode/templates/admin/users_groups/users_group_edit.html:75
2184 2196 msgid "Available members"
2185 2197 msgstr ""
2186 2198
2187 2199 #: rhodecode/templates/admin/users_groups/users_group_edit.html:79
2188 2200 msgid "Add all elements"
2189 2201 msgstr ""
2190 2202
2191 2203 #: rhodecode/templates/admin/users_groups/users_group_edit.html:126
2192 2204 msgid "Group members"
2193 2205 msgstr ""
2194 2206
2195 2207 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2196 2208 msgid "Users groups administration"
2197 2209 msgstr ""
2198 2210
2199 2211 #: rhodecode/templates/admin/users_groups/users_groups.html:23
2200 2212 msgid "ADD NEW USER GROUP"
2201 2213 msgstr ""
2202 2214
2203 2215 #: rhodecode/templates/admin/users_groups/users_groups.html:32
2204 2216 msgid "group name"
2205 2217 msgstr ""
2206 2218
2207 2219 #: rhodecode/templates/admin/users_groups/users_groups.html:33
2208 2220 #: rhodecode/templates/base/root.html:46
2209 2221 msgid "members"
2210 2222 msgstr ""
2211 2223
2212 2224 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2213 2225 #, python-format
2214 2226 msgid "Confirm to delete this users group: %s"
2215 2227 msgstr ""
2216 2228
2217 2229 #: rhodecode/templates/base/base.html:41
2218 2230 msgid "Submit a bug"
2219 2231 msgstr ""
2220 2232
2221 2233 #: rhodecode/templates/base/base.html:77
2222 2234 msgid "Login to your account"
2223 2235 msgstr ""
2224 2236
2225 2237 #: rhodecode/templates/base/base.html:100
2226 2238 msgid "Forgot password ?"
2227 2239 msgstr ""
2228 2240
2229 2241 #: rhodecode/templates/base/base.html:107
2230 2242 msgid "Log In"
2231 2243 msgstr ""
2232 2244
2233 2245 #: rhodecode/templates/base/base.html:118
2234 2246 msgid "Inbox"
2235 2247 msgstr ""
2236 2248
2237 2249 #: rhodecode/templates/base/base.html:122 rhodecode/templates/base/base.html:289
2238 2250 #: rhodecode/templates/base/base.html:291 rhodecode/templates/base/base.html:293
2239 2251 msgid "Home"
2240 2252 msgstr ""
2241 2253
2242 2254 #: rhodecode/templates/base/base.html:123 rhodecode/templates/base/base.html:298
2243 2255 #: rhodecode/templates/base/base.html:300 rhodecode/templates/base/base.html:302
2244 2256 #: rhodecode/templates/journal/journal.html:4
2245 2257 #: rhodecode/templates/journal/journal.html:17
2246 2258 #: rhodecode/templates/journal/public_journal.html:4
2247 2259 msgid "Journal"
2248 2260 msgstr ""
2249 2261
2250 2262 #: rhodecode/templates/base/base.html:125
2251 2263 msgid "Log Out"
2252 2264 msgstr ""
2253 2265
2254 2266 #: rhodecode/templates/base/base.html:144
2255 2267 msgid "Switch repository"
2256 2268 msgstr ""
2257 2269
2258 2270 #: rhodecode/templates/base/base.html:146
2259 2271 msgid "Products"
2260 2272 msgstr ""
2261 2273
2262 2274 #: rhodecode/templates/base/base.html:152 rhodecode/templates/base/base.html:182
2263 2275 msgid "loading..."
2264 2276 msgstr ""
2265 2277
2266 2278 #: rhodecode/templates/base/base.html:158 rhodecode/templates/base/base.html:160
2267 2279 #: rhodecode/templates/base/base.html:162
2268 2280 #: rhodecode/templates/data_table/_dt_elements.html:9
2269 2281 #: rhodecode/templates/data_table/_dt_elements.html:11
2270 2282 #: rhodecode/templates/data_table/_dt_elements.html:13
2271 #: rhodecode/templates/summary/summary.html:4
2272 2283 msgid "Summary"
2273 2284 msgstr ""
2274 2285
2275 2286 #: rhodecode/templates/base/base.html:166 rhodecode/templates/base/base.html:168
2276 2287 #: rhodecode/templates/base/base.html:170
2277 #: rhodecode/templates/changelog/changelog.html:6
2278 2288 #: rhodecode/templates/changelog/changelog.html:15
2279 2289 #: rhodecode/templates/data_table/_dt_elements.html:17
2280 2290 #: rhodecode/templates/data_table/_dt_elements.html:19
2281 2291 #: rhodecode/templates/data_table/_dt_elements.html:21
2282 2292 msgid "Changelog"
2283 2293 msgstr ""
2284 2294
2285 2295 #: rhodecode/templates/base/base.html:175 rhodecode/templates/base/base.html:177
2286 2296 #: rhodecode/templates/base/base.html:179
2287 2297 msgid "Switch to"
2288 2298 msgstr ""
2289 2299
2290 2300 #: rhodecode/templates/base/base.html:186 rhodecode/templates/base/base.html:188
2291 2301 #: rhodecode/templates/base/base.html:190
2292 2302 #: rhodecode/templates/data_table/_dt_elements.html:25
2293 2303 #: rhodecode/templates/data_table/_dt_elements.html:27
2294 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 2306 msgid "Files"
2297 2307 msgstr ""
2298 2308
2299 2309 #: rhodecode/templates/base/base.html:195 rhodecode/templates/base/base.html:199
2300 2310 msgid "Options"
2301 2311 msgstr ""
2302 2312
2303 2313 #: rhodecode/templates/base/base.html:204 rhodecode/templates/base/base.html:206
2304 2314 #: rhodecode/templates/base/base.html:224
2305 2315 msgid "settings"
2306 2316 msgstr ""
2307 2317
2308 2318 #: rhodecode/templates/base/base.html:209
2309 2319 #: rhodecode/templates/data_table/_dt_elements.html:74
2310 2320 #: rhodecode/templates/forks/fork.html:13
2311 2321 msgid "fork"
2312 2322 msgstr ""
2313 2323
2314 2324 #: rhodecode/templates/base/base.html:210
2315 2325 msgid "search"
2316 2326 msgstr ""
2317 2327
2318 2328 #: rhodecode/templates/base/base.html:217
2319 2329 msgid "journal"
2320 2330 msgstr ""
2321 2331
2322 2332 #: rhodecode/templates/base/base.html:219
2323 2333 msgid "repositories groups"
2324 2334 msgstr ""
2325 2335
2326 2336 #: rhodecode/templates/base/base.html:220
2327 2337 msgid "users"
2328 2338 msgstr ""
2329 2339
2330 2340 #: rhodecode/templates/base/base.html:221
2331 2341 msgid "users groups"
2332 2342 msgstr ""
2333 2343
2334 2344 #: rhodecode/templates/base/base.html:222
2335 2345 msgid "permissions"
2336 2346 msgstr ""
2337 2347
2338 2348 #: rhodecode/templates/base/base.html:235 rhodecode/templates/base/base.html:237
2339 #: rhodecode/templates/followers/followers.html:5
2340 2349 msgid "Followers"
2341 2350 msgstr ""
2342 2351
2343 2352 #: rhodecode/templates/base/base.html:243 rhodecode/templates/base/base.html:245
2344 #: rhodecode/templates/forks/forks.html:5
2345 2353 msgid "Forks"
2346 2354 msgstr ""
2347 2355
2348 2356 #: rhodecode/templates/base/base.html:316 rhodecode/templates/base/base.html:318
2349 2357 #: rhodecode/templates/base/base.html:320 rhodecode/templates/search/search.html:4
2350 2358 #: rhodecode/templates/search/search.html:24
2351 2359 #: rhodecode/templates/search/search.html:46
2352 2360 msgid "Search"
2353 2361 msgstr ""
2354 2362
2355 2363 #: rhodecode/templates/base/root.html:42
2356 2364 msgid "add another comment"
2357 2365 msgstr ""
2358 2366
2359 2367 #: rhodecode/templates/base/root.html:43
2360 2368 #: rhodecode/templates/journal/journal.html:111
2361 2369 #: rhodecode/templates/summary/summary.html:52
2362 2370 msgid "Stop following this repository"
2363 2371 msgstr ""
2364 2372
2365 2373 #: rhodecode/templates/base/root.html:44
2366 2374 #: rhodecode/templates/summary/summary.html:56
2367 2375 msgid "Start following this repository"
2368 2376 msgstr ""
2369 2377
2370 2378 #: rhodecode/templates/base/root.html:45
2371 2379 msgid "Group"
2372 2380 msgstr ""
2373 2381
2374 2382 #: rhodecode/templates/bookmarks/bookmarks.html:5
2375 msgid "Bookmarks"
2383 #, python-format
2384 msgid "%s Bookmarks"
2376 2385 msgstr ""
2377 2386
2378 2387 #: rhodecode/templates/bookmarks/bookmarks.html:39
2379 2388 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2380 2389 #: rhodecode/templates/branches/branches.html:39
2381 2390 #: rhodecode/templates/tags/tags.html:39 rhodecode/templates/tags/tags_data.html:8
2382 2391 msgid "Author"
2383 2392 msgstr ""
2384 2393
2394 #: rhodecode/templates/branches/branches.html:5
2395 #, python-format
2396 msgid "%s Branches"
2397 msgstr ""
2398
2385 2399 #: rhodecode/templates/branches/branches_data.html:7
2386 2400 msgid "date"
2387 2401 msgstr ""
2388 2402
2389 2403 #: rhodecode/templates/branches/branches_data.html:8
2390 2404 #: rhodecode/templates/shortlog/shortlog_data.html:8
2391 2405 msgid "author"
2392 2406 msgstr ""
2393 2407
2394 2408 #: rhodecode/templates/branches/branches_data.html:9
2395 2409 #: rhodecode/templates/shortlog/shortlog_data.html:5
2396 2410 msgid "revision"
2397 2411 msgstr ""
2398 2412
2413 #: rhodecode/templates/changelog/changelog.html:6
2414 #, python-format
2415 msgid "%s Changelog"
2416 msgstr ""
2417
2399 2418 #: rhodecode/templates/changelog/changelog.html:15
2400 2419 #, python-format
2401 2420 msgid "showing %d out of %d revision"
2402 2421 msgid_plural "showing %d out of %d revisions"
2403 2422 msgstr[0] ""
2404 2423 msgstr[1] ""
2405 2424
2406 2425 #: rhodecode/templates/changelog/changelog.html:38
2407 2426 msgid "Show"
2408 2427 msgstr ""
2409 2428
2410 2429 #: rhodecode/templates/changelog/changelog.html:64
2411 2430 #: rhodecode/templates/summary/summary.html:352
2412 2431 msgid "show more"
2413 2432 msgstr ""
2414 2433
2415 2434 #: rhodecode/templates/changelog/changelog.html:68
2416 2435 msgid "Affected number of files, click to show more details"
2417 2436 msgstr ""
2418 2437
2419 2438 #: rhodecode/templates/changelog/changelog.html:82
2420 2439 #: rhodecode/templates/changeset/changeset.html:72
2421 2440 msgid "Parent"
2422 2441 msgstr ""
2423 2442
2424 2443 #: rhodecode/templates/changelog/changelog.html:88
2425 2444 #: rhodecode/templates/changeset/changeset.html:78
2426 2445 msgid "No parents"
2427 2446 msgstr ""
2428 2447
2429 2448 #: rhodecode/templates/changelog/changelog.html:93
2430 2449 #: rhodecode/templates/changeset/changeset.html:82
2431 2450 msgid "merge"
2432 2451 msgstr ""
2433 2452
2434 2453 #: rhodecode/templates/changelog/changelog.html:96
2435 2454 #: rhodecode/templates/changeset/changeset.html:85
2436 2455 #: rhodecode/templates/files/files.html:29
2437 2456 #: rhodecode/templates/files/files_add.html:33
2438 2457 #: rhodecode/templates/files/files_edit.html:33
2439 2458 #: rhodecode/templates/shortlog/shortlog_data.html:9
2440 2459 msgid "branch"
2441 2460 msgstr ""
2442 2461
2443 2462 #: rhodecode/templates/changelog/changelog.html:102
2444 2463 msgid "bookmark"
2445 2464 msgstr ""
2446 2465
2447 2466 #: rhodecode/templates/changelog/changelog.html:108
2448 2467 #: rhodecode/templates/changeset/changeset.html:90
2449 2468 msgid "tag"
2450 2469 msgstr ""
2451 2470
2452 2471 #: rhodecode/templates/changelog/changelog.html:144
2453 2472 msgid "Show selected changes __S -> __E"
2454 2473 msgstr ""
2455 2474
2456 2475 #: rhodecode/templates/changelog/changelog.html:235
2457 2476 msgid "There are no changes yet"
2458 2477 msgstr ""
2459 2478
2460 2479 #: rhodecode/templates/changelog/changelog_details.html:2
2461 2480 #: rhodecode/templates/changeset/changeset.html:60
2462 2481 msgid "removed"
2463 2482 msgstr ""
2464 2483
2465 2484 #: rhodecode/templates/changelog/changelog_details.html:3
2466 2485 #: rhodecode/templates/changeset/changeset.html:61
2467 2486 msgid "changed"
2468 2487 msgstr ""
2469 2488
2470 2489 #: rhodecode/templates/changelog/changelog_details.html:4
2471 2490 #: rhodecode/templates/changeset/changeset.html:62
2472 2491 msgid "added"
2473 2492 msgstr ""
2474 2493
2475 2494 #: rhodecode/templates/changelog/changelog_details.html:6
2476 2495 #: rhodecode/templates/changelog/changelog_details.html:7
2477 2496 #: rhodecode/templates/changelog/changelog_details.html:8
2478 2497 #: rhodecode/templates/changeset/changeset.html:64
2479 2498 #: rhodecode/templates/changeset/changeset.html:65
2480 2499 #: rhodecode/templates/changeset/changeset.html:66
2481 2500 #, python-format
2482 2501 msgid "affected %s files"
2483 2502 msgstr ""
2484 2503
2485 2504 #: rhodecode/templates/changeset/changeset.html:6
2505 #, python-format
2506 msgid "%s Changeset"
2507 msgstr ""
2508
2486 2509 #: rhodecode/templates/changeset/changeset.html:14
2487 2510 msgid "Changeset"
2488 2511 msgstr ""
2489 2512
2490 2513 #: rhodecode/templates/changeset/changeset.html:37
2491 2514 #: rhodecode/templates/changeset/diff_block.html:20
2492 2515 msgid "raw diff"
2493 2516 msgstr ""
2494 2517
2495 2518 #: rhodecode/templates/changeset/changeset.html:38
2496 2519 #: rhodecode/templates/changeset/diff_block.html:21
2497 2520 msgid "download diff"
2498 2521 msgstr ""
2499 2522
2500 2523 #: rhodecode/templates/changeset/changeset.html:42
2501 2524 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2502 2525 #, python-format
2503 2526 msgid "%d comment"
2504 2527 msgid_plural "%d comments"
2505 2528 msgstr[0] ""
2506 2529 msgstr[1] ""
2507 2530
2508 2531 #: rhodecode/templates/changeset/changeset.html:42
2509 2532 #: rhodecode/templates/changeset/changeset_file_comment.html:71
2510 2533 #, python-format
2511 2534 msgid "(%d inline)"
2512 2535 msgid_plural "(%d inline)"
2513 2536 msgstr[0] ""
2514 2537 msgstr[1] ""
2515 2538
2516 2539 #: rhodecode/templates/changeset/changeset.html:97
2517 2540 #, python-format
2518 2541 msgid "%s files affected with %s insertions and %s deletions:"
2519 2542 msgstr ""
2520 2543
2521 2544 #: rhodecode/templates/changeset/changeset.html:113
2522 2545 msgid "Changeset was too big and was cut off..."
2523 2546 msgstr ""
2524 2547
2525 2548 #: rhodecode/templates/changeset/changeset_file_comment.html:35
2526 2549 msgid "Submitting..."
2527 2550 msgstr ""
2528 2551
2529 2552 #: rhodecode/templates/changeset/changeset_file_comment.html:38
2530 2553 msgid "Commenting on line {1}."
2531 2554 msgstr ""
2532 2555
2533 2556 #: rhodecode/templates/changeset/changeset_file_comment.html:39
2534 2557 #: rhodecode/templates/changeset/changeset_file_comment.html:102
2535 2558 #, python-format
2536 2559 msgid "Comments parsed using %s syntax with %s support."
2537 2560 msgstr ""
2538 2561
2539 2562 #: rhodecode/templates/changeset/changeset_file_comment.html:41
2540 2563 #: rhodecode/templates/changeset/changeset_file_comment.html:104
2541 2564 msgid "Use @username inside this text to send notification to this RhodeCode user"
2542 2565 msgstr ""
2543 2566
2544 2567 #: rhodecode/templates/changeset/changeset_file_comment.html:49
2545 2568 #: rhodecode/templates/changeset/changeset_file_comment.html:110
2546 2569 msgid "Comment"
2547 2570 msgstr ""
2548 2571
2549 2572 #: rhodecode/templates/changeset/changeset_file_comment.html:50
2550 2573 #: rhodecode/templates/changeset/changeset_file_comment.html:61
2551 2574 msgid "Hide"
2552 2575 msgstr ""
2553 2576
2554 2577 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2555 2578 msgid "You need to be logged in to comment."
2556 2579 msgstr ""
2557 2580
2558 2581 #: rhodecode/templates/changeset/changeset_file_comment.html:57
2559 2582 msgid "Login now"
2560 2583 msgstr ""
2561 2584
2562 2585 #: rhodecode/templates/changeset/changeset_file_comment.html:99
2563 2586 msgid "Leave a comment"
2564 2587 msgstr ""
2565 2588
2589 #: rhodecode/templates/changeset/changeset_range.html:5
2590 #, python-format
2591 msgid "%s Changesets"
2592 msgstr ""
2593
2566 2594 #: rhodecode/templates/changeset/changeset_range.html:29
2567 2595 msgid "Compare View"
2568 2596 msgstr ""
2569 2597
2570 2598 #: rhodecode/templates/changeset/changeset_range.html:49
2571 2599 msgid "Files affected"
2572 2600 msgstr ""
2573 2601
2574 2602 #: rhodecode/templates/changeset/diff_block.html:19
2575 2603 msgid "diff"
2576 2604 msgstr ""
2577 2605
2578 2606 #: rhodecode/templates/changeset/diff_block.html:27
2579 2607 msgid "show inline comments"
2580 2608 msgstr ""
2581 2609
2582 2610 #: rhodecode/templates/data_table/_dt_elements.html:33
2583 2611 #: rhodecode/templates/data_table/_dt_elements.html:35
2584 2612 #: rhodecode/templates/data_table/_dt_elements.html:37
2585 #: rhodecode/templates/forks/fork.html:5
2586 2613 msgid "Fork"
2587 2614 msgstr ""
2588 2615
2589 2616 #: rhodecode/templates/data_table/_dt_elements.html:54
2590 2617 #: rhodecode/templates/journal/journal.html:117
2591 2618 #: rhodecode/templates/summary/summary.html:63
2592 2619 msgid "Mercurial repository"
2593 2620 msgstr ""
2594 2621
2595 2622 #: rhodecode/templates/data_table/_dt_elements.html:56
2596 2623 #: rhodecode/templates/journal/journal.html:119
2597 2624 #: rhodecode/templates/summary/summary.html:66
2598 2625 msgid "Git repository"
2599 2626 msgstr ""
2600 2627
2601 2628 #: rhodecode/templates/data_table/_dt_elements.html:63
2602 2629 #: rhodecode/templates/journal/journal.html:125
2603 2630 #: rhodecode/templates/summary/summary.html:73
2604 2631 msgid "public repository"
2605 2632 msgstr ""
2606 2633
2607 2634 #: rhodecode/templates/data_table/_dt_elements.html:74
2608 2635 #: rhodecode/templates/summary/summary.html:82
2609 2636 #: rhodecode/templates/summary/summary.html:83
2610 2637 msgid "Fork of"
2611 2638 msgstr ""
2612 2639
2613 2640 #: rhodecode/templates/data_table/_dt_elements.html:86
2614 2641 msgid "No changesets yet"
2615 2642 msgstr ""
2616 2643
2617 2644 #: rhodecode/templates/email_templates/main.html:8
2618 2645 msgid "This is an notification from RhodeCode."
2619 2646 msgstr ""
2620 2647
2621 2648 #: rhodecode/templates/errors/error_document.html:44
2622 2649 #, python-format
2623 2650 msgid "You will be redirected to %s in %s seconds"
2624 2651 msgstr ""
2625 2652
2626 2653 #: rhodecode/templates/files/file_diff.html:4
2654 #, python-format
2655 msgid "%s File diff"
2656 msgstr ""
2657
2627 2658 #: rhodecode/templates/files/file_diff.html:12
2628 2659 msgid "File diff"
2629 2660 msgstr ""
2630 2661
2662 #: rhodecode/templates/files/files.html:4
2663 #, python-format
2664 msgid "%s Files"
2665 msgstr ""
2666
2631 2667 #: rhodecode/templates/files/files.html:12
2632 2668 #: rhodecode/templates/summary/summary.html:328
2633 2669 msgid "files"
2634 2670 msgstr ""
2635 2671
2636 2672 #: rhodecode/templates/files/files.html:44
2637 2673 msgid "search truncated"
2638 2674 msgstr ""
2639 2675
2640 2676 #: rhodecode/templates/files/files.html:45
2641 2677 msgid "no matching files"
2642 2678 msgstr ""
2643 2679
2644 2680 #: rhodecode/templates/files/files_add.html:4
2645 2681 #: rhodecode/templates/files/files_edit.html:4
2646 msgid "Edit file"
2682 #, python-format
2683 msgid "%s Edit file"
2647 2684 msgstr ""
2648 2685
2649 2686 #: rhodecode/templates/files/files_add.html:19
2650 2687 msgid "add file"
2651 2688 msgstr ""
2652 2689
2653 2690 #: rhodecode/templates/files/files_add.html:40
2654 2691 msgid "Add new file"
2655 2692 msgstr ""
2656 2693
2657 2694 #: rhodecode/templates/files/files_add.html:45
2658 2695 msgid "File Name"
2659 2696 msgstr ""
2660 2697
2661 2698 #: rhodecode/templates/files/files_add.html:49
2662 2699 #: rhodecode/templates/files/files_add.html:58
2663 2700 msgid "or"
2664 2701 msgstr ""
2665 2702
2666 2703 #: rhodecode/templates/files/files_add.html:49
2667 2704 #: rhodecode/templates/files/files_add.html:54
2668 2705 msgid "Upload file"
2669 2706 msgstr ""
2670 2707
2671 2708 #: rhodecode/templates/files/files_add.html:58
2672 2709 msgid "Create new file"
2673 2710 msgstr ""
2674 2711
2675 2712 #: rhodecode/templates/files/files_add.html:63
2676 2713 #: rhodecode/templates/files/files_edit.html:39
2677 2714 #: rhodecode/templates/files/files_ypjax.html:3
2678 2715 msgid "Location"
2679 2716 msgstr ""
2680 2717
2681 2718 #: rhodecode/templates/files/files_add.html:67
2682 2719 msgid "use / to separate directories"
2683 2720 msgstr ""
2684 2721
2685 2722 #: rhodecode/templates/files/files_add.html:77
2686 2723 #: rhodecode/templates/files/files_edit.html:63
2687 2724 #: rhodecode/templates/shortlog/shortlog_data.html:6
2688 2725 msgid "commit message"
2689 2726 msgstr ""
2690 2727
2691 2728 #: rhodecode/templates/files/files_add.html:81
2692 2729 #: rhodecode/templates/files/files_edit.html:67
2693 2730 msgid "Commit changes"
2694 2731 msgstr ""
2695 2732
2696 2733 #: rhodecode/templates/files/files_browser.html:13
2697 2734 msgid "view"
2698 2735 msgstr ""
2699 2736
2700 2737 #: rhodecode/templates/files/files_browser.html:14
2701 2738 msgid "previous revision"
2702 2739 msgstr ""
2703 2740
2704 2741 #: rhodecode/templates/files/files_browser.html:16
2705 2742 msgid "next revision"
2706 2743 msgstr ""
2707 2744
2708 2745 #: rhodecode/templates/files/files_browser.html:23
2709 2746 msgid "follow current branch"
2710 2747 msgstr ""
2711 2748
2712 2749 #: rhodecode/templates/files/files_browser.html:27
2713 2750 msgid "search file list"
2714 2751 msgstr ""
2715 2752
2716 2753 #: rhodecode/templates/files/files_browser.html:31
2717 2754 #: rhodecode/templates/shortlog/shortlog_data.html:65
2718 2755 msgid "add new file"
2719 2756 msgstr ""
2720 2757
2721 2758 #: rhodecode/templates/files/files_browser.html:35
2722 2759 msgid "Loading file list..."
2723 2760 msgstr ""
2724 2761
2725 2762 #: rhodecode/templates/files/files_browser.html:48
2726 2763 msgid "Size"
2727 2764 msgstr ""
2728 2765
2729 2766 #: rhodecode/templates/files/files_browser.html:49
2730 2767 msgid "Mimetype"
2731 2768 msgstr ""
2732 2769
2733 2770 #: rhodecode/templates/files/files_browser.html:50
2734 2771 msgid "Last Revision"
2735 2772 msgstr ""
2736 2773
2737 2774 #: rhodecode/templates/files/files_browser.html:51
2738 2775 msgid "Last modified"
2739 2776 msgstr ""
2740 2777
2741 2778 #: rhodecode/templates/files/files_browser.html:52
2742 2779 msgid "Last commiter"
2743 2780 msgstr ""
2744 2781
2745 2782 #: rhodecode/templates/files/files_edit.html:19
2746 2783 msgid "edit file"
2747 2784 msgstr ""
2748 2785
2749 2786 #: rhodecode/templates/files/files_edit.html:49
2750 2787 #: rhodecode/templates/files/files_source.html:26
2751 2788 msgid "show annotation"
2752 2789 msgstr ""
2753 2790
2754 2791 #: rhodecode/templates/files/files_edit.html:50
2755 2792 #: rhodecode/templates/files/files_source.html:28
2756 2793 #: rhodecode/templates/files/files_source.html:56
2757 2794 msgid "show as raw"
2758 2795 msgstr ""
2759 2796
2760 2797 #: rhodecode/templates/files/files_edit.html:51
2761 2798 #: rhodecode/templates/files/files_source.html:29
2762 2799 msgid "download as raw"
2763 2800 msgstr ""
2764 2801
2765 2802 #: rhodecode/templates/files/files_edit.html:54
2766 2803 msgid "source"
2767 2804 msgstr ""
2768 2805
2769 2806 #: rhodecode/templates/files/files_edit.html:59
2770 2807 msgid "Editing file"
2771 2808 msgstr ""
2772 2809
2773 2810 #: rhodecode/templates/files/files_source.html:2
2774 2811 msgid "History"
2775 2812 msgstr ""
2776 2813
2777 2814 #: rhodecode/templates/files/files_source.html:24
2778 2815 msgid "show source"
2779 2816 msgstr ""
2780 2817
2781 2818 #: rhodecode/templates/files/files_source.html:47
2782 2819 #, python-format
2783 2820 msgid "Binary file (%s)"
2784 2821 msgstr ""
2785 2822
2786 2823 #: rhodecode/templates/files/files_source.html:56
2787 2824 msgid "File is too big to display"
2788 2825 msgstr ""
2789 2826
2790 2827 #: rhodecode/templates/files/files_source.html:112
2791 2828 msgid "Selection link"
2792 2829 msgstr ""
2793 2830
2794 2831 #: rhodecode/templates/files/files_ypjax.html:5
2795 2832 msgid "annotation"
2796 2833 msgstr ""
2797 2834
2798 2835 #: rhodecode/templates/files/files_ypjax.html:15
2799 2836 msgid "Go back"
2800 2837 msgstr ""
2801 2838
2802 2839 #: rhodecode/templates/files/files_ypjax.html:16
2803 2840 msgid "No files at given path"
2804 2841 msgstr ""
2805 2842
2843 #: rhodecode/templates/followers/followers.html:5
2844 #, python-format
2845 msgid "%s Followers"
2846 msgstr ""
2847
2806 2848 #: rhodecode/templates/followers/followers.html:13
2807 2849 msgid "followers"
2808 2850 msgstr ""
2809 2851
2810 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 2859 msgstr ""
2813 2860
2814 2861 #: rhodecode/templates/forks/fork.html:31
2815 2862 msgid "Fork name"
2816 2863 msgstr ""
2817 2864
2818 2865 #: rhodecode/templates/forks/fork.html:57
2819 2866 msgid "Private"
2820 2867 msgstr ""
2821 2868
2822 2869 #: rhodecode/templates/forks/fork.html:65
2823 2870 msgid "Copy permissions"
2824 2871 msgstr ""
2825 2872
2826 2873 #: rhodecode/templates/forks/fork.html:73
2827 2874 msgid "Update after clone"
2828 2875 msgstr ""
2829 2876
2830 2877 #: rhodecode/templates/forks/fork.html:80
2831 2878 msgid "fork this repository"
2832 2879 msgstr ""
2833 2880
2881 #: rhodecode/templates/forks/forks.html:5
2882 #, python-format
2883 msgid "%s Forks"
2884 msgstr ""
2885
2834 2886 #: rhodecode/templates/forks/forks.html:13
2835 2887 msgid "forks"
2836 2888 msgstr ""
2837 2889
2838 2890 #: rhodecode/templates/forks/forks_data.html:17
2839 2891 msgid "forked"
2840 2892 msgstr ""
2841 2893
2842 2894 #: rhodecode/templates/forks/forks_data.html:34
2843 2895 msgid "There are no forks yet"
2844 2896 msgstr ""
2845 2897
2846 2898 #: rhodecode/templates/journal/journal.html:20
2847 2899 msgid "Refresh"
2848 2900 msgstr ""
2849 2901
2850 2902 #: rhodecode/templates/journal/journal.html:32
2851 2903 msgid "Watched"
2852 2904 msgstr ""
2853 2905
2854 2906 #: rhodecode/templates/journal/journal.html:105
2855 2907 msgid "following user"
2856 2908 msgstr ""
2857 2909
2858 2910 #: rhodecode/templates/journal/journal.html:105
2859 2911 msgid "user"
2860 2912 msgstr ""
2861 2913
2862 2914 #: rhodecode/templates/journal/journal.html:138
2863 2915 msgid "You are not following any users or repositories"
2864 2916 msgstr ""
2865 2917
2866 2918 #: rhodecode/templates/journal/journal_data.html:47
2867 2919 msgid "No entries yet"
2868 2920 msgstr ""
2869 2921
2870 2922 #: rhodecode/templates/journal/public_journal.html:17
2871 2923 msgid "Public Journal"
2872 2924 msgstr ""
2873 2925
2874 2926 #: rhodecode/templates/search/search.html:7
2875 2927 #: rhodecode/templates/search/search.html:26
2876 2928 msgid "in repository: "
2877 2929 msgstr ""
2878 2930
2879 2931 #: rhodecode/templates/search/search.html:9
2880 2932 #: rhodecode/templates/search/search.html:28
2881 2933 msgid "in all repositories"
2882 2934 msgstr ""
2883 2935
2884 2936 #: rhodecode/templates/search/search.html:42
2885 2937 msgid "Search term"
2886 2938 msgstr ""
2887 2939
2888 2940 #: rhodecode/templates/search/search.html:54
2889 2941 msgid "Search in"
2890 2942 msgstr ""
2891 2943
2892 2944 #: rhodecode/templates/search/search.html:57
2893 2945 msgid "File contents"
2894 2946 msgstr ""
2895 2947
2896 2948 #: rhodecode/templates/search/search.html:59
2897 2949 msgid "File names"
2898 2950 msgstr ""
2899 2951
2900 2952 #: rhodecode/templates/search/search_content.html:21
2901 2953 #: rhodecode/templates/search/search_path.html:15
2902 2954 msgid "Permission denied"
2903 2955 msgstr ""
2904 2956
2957 #: rhodecode/templates/settings/repo_settings.html:5
2958 #, python-format
2959 msgid "%s Settings"
2960 msgstr ""
2961
2905 2962 #: rhodecode/templates/shortlog/shortlog.html:5
2906 #: rhodecode/templates/summary/summary.html:209
2907 msgid "Shortlog"
2963 #, python-format
2964 msgid "%s Shortlog"
2908 2965 msgstr ""
2909 2966
2910 2967 #: rhodecode/templates/shortlog/shortlog.html:14
2911 2968 msgid "shortlog"
2912 2969 msgstr ""
2913 2970
2914 2971 #: rhodecode/templates/shortlog/shortlog_data.html:7
2915 2972 msgid "age"
2916 2973 msgstr ""
2917 2974
2918 2975 #: rhodecode/templates/shortlog/shortlog_data.html:18
2919 2976 msgid "No commit message"
2920 2977 msgstr ""
2921 2978
2922 2979 #: rhodecode/templates/shortlog/shortlog_data.html:62
2923 2980 msgid "Add or upload files directly via RhodeCode"
2924 2981 msgstr ""
2925 2982
2926 2983 #: rhodecode/templates/shortlog/shortlog_data.html:71
2927 2984 msgid "Push new repo"
2928 2985 msgstr ""
2929 2986
2930 2987 #: rhodecode/templates/shortlog/shortlog_data.html:79
2931 2988 msgid "Existing repository?"
2932 2989 msgstr ""
2933 2990
2991 #: rhodecode/templates/summary/summary.html:4
2992 #, python-format
2993 msgid "%s Summary"
2994 msgstr ""
2995
2934 2996 #: rhodecode/templates/summary/summary.html:12
2935 2997 msgid "summary"
2936 2998 msgstr ""
2937 2999
2938 3000 #: rhodecode/templates/summary/summary.html:44
2939 3001 #: rhodecode/templates/summary/summary.html:47
2940 3002 msgid "ATOM"
2941 3003 msgstr ""
2942 3004
2943 3005 #: rhodecode/templates/summary/summary.html:77
2944 3006 #, python-format
2945 3007 msgid "Non changable ID %s"
2946 3008 msgstr ""
2947 3009
2948 3010 #: rhodecode/templates/summary/summary.html:82
2949 3011 msgid "public"
2950 3012 msgstr ""
2951 3013
2952 3014 #: rhodecode/templates/summary/summary.html:90
2953 3015 msgid "remote clone"
2954 3016 msgstr ""
2955 3017
2956 3018 #: rhodecode/templates/summary/summary.html:121
2957 3019 msgid "Clone url"
2958 3020 msgstr ""
2959 3021
2960 3022 #: rhodecode/templates/summary/summary.html:124
2961 3023 msgid "Show by Name"
2962 3024 msgstr ""
2963 3025
2964 3026 #: rhodecode/templates/summary/summary.html:125
2965 3027 msgid "Show by ID"
2966 3028 msgstr ""
2967 3029
2968 3030 #: rhodecode/templates/summary/summary.html:133
2969 3031 msgid "Trending files"
2970 3032 msgstr ""
2971 3033
2972 3034 #: rhodecode/templates/summary/summary.html:141
2973 3035 #: rhodecode/templates/summary/summary.html:157
2974 3036 #: rhodecode/templates/summary/summary.html:185
2975 3037 msgid "enable"
2976 3038 msgstr ""
2977 3039
2978 3040 #: rhodecode/templates/summary/summary.html:149
2979 3041 msgid "Download"
2980 3042 msgstr ""
2981 3043
2982 3044 #: rhodecode/templates/summary/summary.html:153
2983 3045 msgid "There are no downloads yet"
2984 3046 msgstr ""
2985 3047
2986 3048 #: rhodecode/templates/summary/summary.html:155
2987 3049 msgid "Downloads are disabled for this repository"
2988 3050 msgstr ""
2989 3051
3052 #: rhodecode/templates/summary/summary.html:161
3053 msgid "Download as zip"
3054 msgstr ""
3055
2990 3056 #: rhodecode/templates/summary/summary.html:164
2991 3057 msgid "Check this to download archive with subrepos"
2992 3058 msgstr ""
2993 3059
2994 3060 #: rhodecode/templates/summary/summary.html:164
2995 3061 msgid "with subrepos"
2996 3062 msgstr ""
2997 3063
2998 3064 #: rhodecode/templates/summary/summary.html:177
2999 3065 msgid "Commit activity by day / author"
3000 3066 msgstr ""
3001 3067
3002 3068 #: rhodecode/templates/summary/summary.html:188
3003 3069 msgid "Stats gathered: "
3004 3070 msgstr ""
3005 3071
3072 #: rhodecode/templates/summary/summary.html:209
3073 msgid "Shortlog"
3074 msgstr ""
3075
3006 3076 #: rhodecode/templates/summary/summary.html:211
3007 3077 msgid "Quick start"
3008 3078 msgstr ""
3009 3079
3010 3080 #: rhodecode/templates/summary/summary.html:281
3011 3081 #, python-format
3012 3082 msgid "Download %s as %s"
3013 3083 msgstr ""
3014 3084
3015 3085 #: rhodecode/templates/summary/summary.html:638
3016 3086 msgid "commits"
3017 3087 msgstr ""
3018 3088
3019 3089 #: rhodecode/templates/summary/summary.html:639
3020 3090 msgid "files added"
3021 3091 msgstr ""
3022 3092
3023 3093 #: rhodecode/templates/summary/summary.html:640
3024 3094 msgid "files changed"
3025 3095 msgstr ""
3026 3096
3027 3097 #: rhodecode/templates/summary/summary.html:641
3028 3098 msgid "files removed"
3029 3099 msgstr ""
3030 3100
3031 3101 #: rhodecode/templates/summary/summary.html:644
3032 3102 msgid "commit"
3033 3103 msgstr ""
3034 3104
3035 3105 #: rhodecode/templates/summary/summary.html:645
3036 3106 msgid "file added"
3037 3107 msgstr ""
3038 3108
3039 3109 #: rhodecode/templates/summary/summary.html:646
3040 3110 msgid "file changed"
3041 3111 msgstr ""
3042 3112
3043 3113 #: rhodecode/templates/summary/summary.html:647
3044 3114 msgid "file removed"
3045 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 1 """Helper functions
2 2
3 3 Consists of functions to typically be used within templates, but also
4 4 available to Controllers. This module is available to both as 'h'.
5 5 """
6 6 import random
7 7 import hashlib
8 8 import StringIO
9 9 import urllib
10 10 import math
11 11 import logging
12 12
13 13 from datetime import datetime
14 14 from pygments.formatters.html import HtmlFormatter
15 15 from pygments import highlight as code_highlight
16 16 from pylons import url, request, config
17 17 from pylons.i18n.translation import _, ungettext
18 18 from hashlib import md5
19 19
20 20 from webhelpers.html import literal, HTML, escape
21 21 from webhelpers.html.tools import *
22 22 from webhelpers.html.builder import make_tag
23 23 from webhelpers.html.tags import auto_discovery_link, checkbox, css_classes, \
24 24 end_form, file, form, hidden, image, javascript_link, link_to, \
25 25 link_to_if, link_to_unless, ol, required_legend, select, stylesheet_link, \
26 26 submit, text, password, textarea, title, ul, xml_declaration, radio
27 27 from webhelpers.html.tools import auto_link, button_to, highlight, \
28 28 js_obfuscate, mail_to, strip_links, strip_tags, tag_re
29 29 from webhelpers.number import format_byte_size, format_bit_size
30 30 from webhelpers.pylonslib import Flash as _Flash
31 31 from webhelpers.pylonslib.secure_form import secure_form
32 32 from webhelpers.text import chop_at, collapse, convert_accented_entities, \
33 33 convert_misc_entities, lchop, plural, rchop, remove_formatting, \
34 34 replace_whitespace, urlify, truncate, wrap_paragraphs
35 35 from webhelpers.date import time_ago_in_words
36 36 from webhelpers.paginate import Page
37 37 from webhelpers.html.tags import _set_input_attrs, _set_id_attr, \
38 38 convert_boolean_attrs, NotGiven, _make_safe_id_component
39 39
40 40 from rhodecode.lib.annotate import annotate_highlight
41 41 from rhodecode.lib.utils import repo_name_slug
42 42 from rhodecode.lib.utils2 import str2bool, safe_unicode, safe_str, \
43 43 get_changeset_safe
44 44 from rhodecode.lib.markup_renderer import MarkupRenderer
45 45 from rhodecode.lib.vcs.exceptions import ChangesetDoesNotExistError
46 46 from rhodecode.lib.vcs.backends.base import BaseChangeset
47 47 from rhodecode.model.db import URL_SEP
48 48
49 49 log = logging.getLogger(__name__)
50 50
51 51
52 52 def shorter(text, size=20):
53 53 postfix = '...'
54 54 if len(text) > size:
55 55 return text[:size - len(postfix)] + postfix
56 56 return text
57 57
58 58
59 59 def _reset(name, value=None, id=NotGiven, type="reset", **attrs):
60 60 """
61 61 Reset button
62 62 """
63 63 _set_input_attrs(attrs, type, name, value)
64 64 _set_id_attr(attrs, id, name)
65 65 convert_boolean_attrs(attrs, ["disabled"])
66 66 return HTML.input(**attrs)
67 67
68 68 reset = _reset
69 69 safeid = _make_safe_id_component
70 70
71 71
72 72 def FID(raw_id, path):
73 73 """
74 74 Creates a uniqe ID for filenode based on it's hash of path and revision
75 75 it's safe to use in urls
76 76
77 77 :param raw_id:
78 78 :param path:
79 79 """
80 80
81 81 return 'C-%s-%s' % (short_id(raw_id), md5(safe_str(path)).hexdigest()[:12])
82 82
83 83
84 84 def get_token():
85 85 """Return the current authentication token, creating one if one doesn't
86 86 already exist.
87 87 """
88 88 token_key = "_authentication_token"
89 89 from pylons import session
90 90 if not token_key in session:
91 91 try:
92 92 token = hashlib.sha1(str(random.getrandbits(128))).hexdigest()
93 93 except AttributeError: # Python < 2.4
94 94 token = hashlib.sha1(str(random.randrange(2 ** 128))).hexdigest()
95 95 session[token_key] = token
96 96 if hasattr(session, 'save'):
97 97 session.save()
98 98 return session[token_key]
99 99
100 100
101 101 class _GetError(object):
102 102 """Get error from form_errors, and represent it as span wrapped error
103 103 message
104 104
105 105 :param field_name: field to fetch errors for
106 106 :param form_errors: form errors dict
107 107 """
108 108
109 109 def __call__(self, field_name, form_errors):
110 110 tmpl = """<span class="error_msg">%s</span>"""
111 111 if form_errors and form_errors.has_key(field_name):
112 112 return literal(tmpl % form_errors.get(field_name))
113 113
114 114 get_error = _GetError()
115 115
116 116
117 117 class _ToolTip(object):
118 118
119 119 def __call__(self, tooltip_title, trim_at=50):
120 120 """Special function just to wrap our text into nice formatted
121 121 autowrapped text
122 122
123 123 :param tooltip_title:
124 124 """
125 125 return escape(tooltip_title)
126 126 tooltip = _ToolTip()
127 127
128 128
129 129 class _FilesBreadCrumbs(object):
130 130
131 131 def __call__(self, repo_name, rev, paths):
132 132 if isinstance(paths, str):
133 133 paths = safe_unicode(paths)
134 134 url_l = [link_to(repo_name, url('files_home',
135 135 repo_name=repo_name,
136 136 revision=rev, f_path=''))]
137 137 paths_l = paths.split('/')
138 138 for cnt, p in enumerate(paths_l):
139 139 if p != '':
140 140 url_l.append(link_to(p,
141 141 url('files_home',
142 142 repo_name=repo_name,
143 143 revision=rev,
144 144 f_path='/'.join(paths_l[:cnt + 1])
145 145 )
146 146 )
147 147 )
148 148
149 149 return literal('/'.join(url_l))
150 150
151 151 files_breadcrumbs = _FilesBreadCrumbs()
152 152
153 153
154 154 class CodeHtmlFormatter(HtmlFormatter):
155 155 """
156 156 My code Html Formatter for source codes
157 157 """
158 158
159 159 def wrap(self, source, outfile):
160 160 return self._wrap_div(self._wrap_pre(self._wrap_code(source)))
161 161
162 162 def _wrap_code(self, source):
163 163 for cnt, it in enumerate(source):
164 164 i, t = it
165 165 t = '<div id="L%s">%s</div>' % (cnt + 1, t)
166 166 yield i, t
167 167
168 168 def _wrap_tablelinenos(self, inner):
169 169 dummyoutfile = StringIO.StringIO()
170 170 lncount = 0
171 171 for t, line in inner:
172 172 if t:
173 173 lncount += 1
174 174 dummyoutfile.write(line)
175 175
176 176 fl = self.linenostart
177 177 mw = len(str(lncount + fl - 1))
178 178 sp = self.linenospecial
179 179 st = self.linenostep
180 180 la = self.lineanchors
181 181 aln = self.anchorlinenos
182 182 nocls = self.noclasses
183 183 if sp:
184 184 lines = []
185 185
186 186 for i in range(fl, fl + lncount):
187 187 if i % st == 0:
188 188 if i % sp == 0:
189 189 if aln:
190 190 lines.append('<a href="#%s%d" class="special">%*d</a>' %
191 191 (la, i, mw, i))
192 192 else:
193 193 lines.append('<span class="special">%*d</span>' % (mw, i))
194 194 else:
195 195 if aln:
196 196 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
197 197 else:
198 198 lines.append('%*d' % (mw, i))
199 199 else:
200 200 lines.append('')
201 201 ls = '\n'.join(lines)
202 202 else:
203 203 lines = []
204 204 for i in range(fl, fl + lncount):
205 205 if i % st == 0:
206 206 if aln:
207 207 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
208 208 else:
209 209 lines.append('%*d' % (mw, i))
210 210 else:
211 211 lines.append('')
212 212 ls = '\n'.join(lines)
213 213
214 214 # in case you wonder about the seemingly redundant <div> here: since the
215 215 # content in the other cell also is wrapped in a div, some browsers in
216 216 # some configurations seem to mess up the formatting...
217 217 if nocls:
218 218 yield 0, ('<table class="%stable">' % self.cssclass +
219 219 '<tr><td><div class="linenodiv" '
220 220 'style="background-color: #f0f0f0; padding-right: 10px">'
221 221 '<pre style="line-height: 125%">' +
222 222 ls + '</pre></div></td><td id="hlcode" class="code">')
223 223 else:
224 224 yield 0, ('<table class="%stable">' % self.cssclass +
225 225 '<tr><td class="linenos"><div class="linenodiv"><pre>' +
226 226 ls + '</pre></div></td><td id="hlcode" class="code">')
227 227 yield 0, dummyoutfile.getvalue()
228 228 yield 0, '</td></tr></table>'
229 229
230 230
231 231 def pygmentize(filenode, **kwargs):
232 232 """pygmentize function using pygments
233 233
234 234 :param filenode:
235 235 """
236 236
237 237 return literal(code_highlight(filenode.content,
238 238 filenode.lexer, CodeHtmlFormatter(**kwargs)))
239 239
240 240
241 241 def pygmentize_annotation(repo_name, filenode, **kwargs):
242 242 """
243 243 pygmentize function for annotation
244 244
245 245 :param filenode:
246 246 """
247 247
248 248 color_dict = {}
249 249
250 250 def gen_color(n=10000):
251 251 """generator for getting n of evenly distributed colors using
252 252 hsv color and golden ratio. It always return same order of colors
253 253
254 254 :returns: RGB tuple
255 255 """
256 256
257 257 def hsv_to_rgb(h, s, v):
258 258 if s == 0.0:
259 259 return v, v, v
260 260 i = int(h * 6.0) # XXX assume int() truncates!
261 261 f = (h * 6.0) - i
262 262 p = v * (1.0 - s)
263 263 q = v * (1.0 - s * f)
264 264 t = v * (1.0 - s * (1.0 - f))
265 265 i = i % 6
266 266 if i == 0:
267 267 return v, t, p
268 268 if i == 1:
269 269 return q, v, p
270 270 if i == 2:
271 271 return p, v, t
272 272 if i == 3:
273 273 return p, q, v
274 274 if i == 4:
275 275 return t, p, v
276 276 if i == 5:
277 277 return v, p, q
278 278
279 279 golden_ratio = 0.618033988749895
280 280 h = 0.22717784590367374
281 281
282 282 for _ in xrange(n):
283 283 h += golden_ratio
284 284 h %= 1
285 285 HSV_tuple = [h, 0.95, 0.95]
286 286 RGB_tuple = hsv_to_rgb(*HSV_tuple)
287 287 yield map(lambda x: str(int(x * 256)), RGB_tuple)
288 288
289 289 cgenerator = gen_color()
290 290
291 291 def get_color_string(cs):
292 292 if cs in color_dict:
293 293 col = color_dict[cs]
294 294 else:
295 295 col = color_dict[cs] = cgenerator.next()
296 296 return "color: rgb(%s)! important;" % (', '.join(col))
297 297
298 298 def url_func(repo_name):
299 299
300 300 def _url_func(changeset):
301 301 author = changeset.author
302 302 date = changeset.date
303 303 message = tooltip(changeset.message)
304 304
305 305 tooltip_html = ("<div style='font-size:0.8em'><b>Author:</b>"
306 306 " %s<br/><b>Date:</b> %s</b><br/><b>Message:"
307 307 "</b> %s<br/></div>")
308 308
309 309 tooltip_html = tooltip_html % (author, date, message)
310 310 lnk_format = '%5s:%s' % ('r%s' % changeset.revision,
311 311 short_id(changeset.raw_id))
312 312 uri = link_to(
313 313 lnk_format,
314 314 url('changeset_home', repo_name=repo_name,
315 315 revision=changeset.raw_id),
316 316 style=get_color_string(changeset.raw_id),
317 317 class_='tooltip',
318 318 title=tooltip_html
319 319 )
320 320
321 321 uri += '\n'
322 322 return uri
323 323 return _url_func
324 324
325 325 return literal(annotate_highlight(filenode, url_func(repo_name), **kwargs))
326 326
327 327
328 328 def is_following_repo(repo_name, user_id):
329 329 from rhodecode.model.scm import ScmModel
330 330 return ScmModel().is_following_repo(repo_name, user_id)
331 331
332 332 flash = _Flash()
333 333
334 334 #==============================================================================
335 335 # SCM FILTERS available via h.
336 336 #==============================================================================
337 337 from rhodecode.lib.vcs.utils import author_name, author_email
338 338 from rhodecode.lib.utils2 import credentials_filter, age as _age
339 339 from rhodecode.model.db import User
340 340
341 341 age = lambda x: _age(x)
342 342 capitalize = lambda x: x.capitalize()
343 343 email = author_email
344 344 short_id = lambda x: x[:12]
345 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 356 def is_git(repository):
349 357 if hasattr(repository, 'alias'):
350 358 _type = repository.alias
351 359 elif hasattr(repository, 'repo_type'):
352 360 _type = repository.repo_type
353 361 else:
354 362 _type = repository
355 363 return _type == 'git'
356 364
357 365
358 366 def is_hg(repository):
359 367 if hasattr(repository, 'alias'):
360 368 _type = repository.alias
361 369 elif hasattr(repository, 'repo_type'):
362 370 _type = repository.repo_type
363 371 else:
364 372 _type = repository
365 373 return _type == 'hg'
366 374
367 375
368 376 def email_or_none(author):
369 377 _email = email(author)
370 378 if _email != '':
371 379 return _email
372 380
373 381 # See if it contains a username we can get an email from
374 382 user = User.get_by_username(author_name(author), case_insensitive=True,
375 383 cache=True)
376 384 if user is not None:
377 385 return user.email
378 386
379 387 # No valid email, not a valid user in the system, none!
380 388 return None
381 389
382 390
383 391 def person(author):
384 392 # attr to return from fetched user
385 393 person_getter = lambda usr: usr.username
386 394
387 395 # Valid email in the attribute passed, see if they're in the system
388 396 _email = email(author)
389 397 if _email != '':
390 398 user = User.get_by_email(_email, case_insensitive=True, cache=True)
391 399 if user is not None:
392 400 return person_getter(user)
393 401 return _email
394 402
395 403 # Maybe it's a username?
396 404 _author = author_name(author)
397 405 user = User.get_by_username(_author, case_insensitive=True,
398 406 cache=True)
399 407 if user is not None:
400 408 return person_getter(user)
401 409
402 410 # Still nothing? Just pass back the author name then
403 411 return _author
404 412
405 413
406 414 def bool2icon(value):
407 415 """Returns True/False values represented as small html image of true/false
408 416 icons
409 417
410 418 :param value: bool value
411 419 """
412 420
413 421 if value is True:
414 422 return HTML.tag('img', src=url("/images/icons/accept.png"),
415 423 alt=_('True'))
416 424
417 425 if value is False:
418 426 return HTML.tag('img', src=url("/images/icons/cancel.png"),
419 427 alt=_('False'))
420 428
421 429 return value
422 430
423 431
424 432 def action_parser(user_log, feed=False):
425 433 """
426 434 This helper will action_map the specified string action into translated
427 435 fancy names with icons and links
428 436
429 437 :param user_log: user log instance
430 438 :param feed: use output for feeds (no html and fancy icons)
431 439 """
432 440
433 441 action = user_log.action
434 442 action_params = ' '
435 443
436 444 x = action.split(':')
437 445
438 446 if len(x) > 1:
439 447 action, action_params = x
440 448
441 449 def get_cs_links():
442 450 revs_limit = 3 # display this amount always
443 451 revs_top_limit = 50 # show upto this amount of changesets hidden
444 452 revs_ids = action_params.split(',')
445 453 deleted = user_log.repository is None
446 454 if deleted:
447 455 return ','.join(revs_ids)
448 456
449 457 repo_name = user_log.repository.repo_name
450 458
451 459 repo = user_log.repository.scm_instance
452 460
453 461 def lnk(rev, repo_name):
454 462
455 463 if isinstance(rev, BaseChangeset):
456 464 lbl = 'r%s:%s' % (rev.revision, rev.short_id)
457 465 _url = url('changeset_home', repo_name=repo_name,
458 466 revision=rev.raw_id)
459 467 title = tooltip(rev.message)
460 468 else:
461 469 lbl = '%s' % rev
462 470 _url = '#'
463 471 title = _('Changeset not found')
464 472
465 473 return link_to(lbl, _url, title=title, class_='tooltip',)
466 474
467 475 revs = []
468 476 if len(filter(lambda v: v != '', revs_ids)) > 0:
469 477 for rev in revs_ids[:revs_top_limit]:
470 478 try:
471 479 rev = repo.get_changeset(rev)
472 480 revs.append(rev)
473 481 except ChangesetDoesNotExistError:
474 482 log.error('cannot find revision %s in this repo' % rev)
475 483 revs.append(rev)
476 484 continue
477 485 cs_links = []
478 486 cs_links.append(" " + ', '.join(
479 487 [lnk(rev, repo_name) for rev in revs[:revs_limit]]
480 488 )
481 489 )
482 490
483 491 compare_view = (
484 492 ' <div class="compare_view tooltip" title="%s">'
485 493 '<a href="%s">%s</a> </div>' % (
486 494 _('Show all combined changesets %s->%s') % (
487 495 revs_ids[0], revs_ids[-1]
488 496 ),
489 497 url('changeset_home', repo_name=repo_name,
490 498 revision='%s...%s' % (revs_ids[0], revs_ids[-1])
491 499 ),
492 500 _('compare view')
493 501 )
494 502 )
495 503
496 504 # if we have exactly one more than normally displayed
497 505 # just display it, takes less space than displaying
498 506 # "and 1 more revisions"
499 507 if len(revs_ids) == revs_limit + 1:
500 508 rev = revs[revs_limit]
501 509 cs_links.append(", " + lnk(rev, repo_name))
502 510
503 511 # hidden-by-default ones
504 512 if len(revs_ids) > revs_limit + 1:
505 513 uniq_id = revs_ids[0]
506 514 html_tmpl = (
507 515 '<span> %s <a class="show_more" id="_%s" '
508 516 'href="#more">%s</a> %s</span>'
509 517 )
510 518 if not feed:
511 519 cs_links.append(html_tmpl % (
512 520 _('and'),
513 521 uniq_id, _('%s more') % (len(revs_ids) - revs_limit),
514 522 _('revisions')
515 523 )
516 524 )
517 525
518 526 if not feed:
519 527 html_tmpl = '<span id="%s" style="display:none">, %s </span>'
520 528 else:
521 529 html_tmpl = '<span id="%s"> %s </span>'
522 530
523 531 morelinks = ', '.join(
524 532 [lnk(rev, repo_name) for rev in revs[revs_limit:]]
525 533 )
526 534
527 535 if len(revs_ids) > revs_top_limit:
528 536 morelinks += ', ...'
529 537
530 538 cs_links.append(html_tmpl % (uniq_id, morelinks))
531 539 if len(revs) > 1:
532 540 cs_links.append(compare_view)
533 541 return ''.join(cs_links)
534 542
535 543 def get_fork_name():
536 544 repo_name = action_params
537 545 return _('fork name ') + str(link_to(action_params, url('summary_home',
538 546 repo_name=repo_name,)))
539 547
540 548 def get_user_name():
541 549 user_name = action_params
542 550 return user_name
543 551
544 552 def get_users_group():
545 553 group_name = action_params
546 554 return group_name
547 555
548 556 # action : translated str, callback(extractor), icon
549 557 action_map = {
550 558 'user_deleted_repo': (_('[deleted] repository'),
551 559 None, 'database_delete.png'),
552 560 'user_created_repo': (_('[created] repository'),
553 561 None, 'database_add.png'),
554 562 'user_created_fork': (_('[created] repository as fork'),
555 563 None, 'arrow_divide.png'),
556 564 'user_forked_repo': (_('[forked] repository'),
557 565 get_fork_name, 'arrow_divide.png'),
558 566 'user_updated_repo': (_('[updated] repository'),
559 567 None, 'database_edit.png'),
560 568 'admin_deleted_repo': (_('[delete] repository'),
561 569 None, 'database_delete.png'),
562 570 'admin_created_repo': (_('[created] repository'),
563 571 None, 'database_add.png'),
564 572 'admin_forked_repo': (_('[forked] repository'),
565 573 None, 'arrow_divide.png'),
566 574 'admin_updated_repo': (_('[updated] repository'),
567 575 None, 'database_edit.png'),
568 576 'admin_created_user': (_('[created] user'),
569 577 get_user_name, 'user_add.png'),
570 578 'admin_updated_user': (_('[updated] user'),
571 579 get_user_name, 'user_edit.png'),
572 580 'admin_created_users_group': (_('[created] users group'),
573 581 get_users_group, 'group_add.png'),
574 582 'admin_updated_users_group': (_('[updated] users group'),
575 583 get_users_group, 'group_edit.png'),
576 584 'user_commented_revision': (_('[commented] on revision in repository'),
577 585 get_cs_links, 'comment_add.png'),
578 586 'push': (_('[pushed] into'),
579 587 get_cs_links, 'script_add.png'),
580 588 'push_local': (_('[committed via RhodeCode] into repository'),
581 589 get_cs_links, 'script_edit.png'),
582 590 'push_remote': (_('[pulled from remote] into repository'),
583 591 get_cs_links, 'connect.png'),
584 592 'pull': (_('[pulled] from'),
585 593 None, 'down_16.png'),
586 594 'started_following_repo': (_('[started following] repository'),
587 595 None, 'heart_add.png'),
588 596 'stopped_following_repo': (_('[stopped following] repository'),
589 597 None, 'heart_delete.png'),
590 598 }
591 599
592 600 action_str = action_map.get(action, action)
593 601 if feed:
594 602 action = action_str[0].replace('[', '').replace(']', '')
595 603 else:
596 604 action = action_str[0]\
597 605 .replace('[', '<span class="journal_highlight">')\
598 606 .replace(']', '</span>')
599 607
600 608 action_params_func = lambda: ""
601 609
602 610 if callable(action_str[1]):
603 611 action_params_func = action_str[1]
604 612
605 613 def action_parser_icon():
606 614 action = user_log.action
607 615 action_params = None
608 616 x = action.split(':')
609 617
610 618 if len(x) > 1:
611 619 action, action_params = x
612 620
613 621 tmpl = """<img src="%s%s" alt="%s"/>"""
614 622 ico = action_map.get(action, ['', '', ''])[2]
615 623 return literal(tmpl % ((url('/images/icons/')), ico, action))
616 624
617 625 # returned callbacks we need to call to get
618 626 return [lambda: literal(action), action_params_func, action_parser_icon]
619 627
620 628
621 629
622 630 #==============================================================================
623 631 # PERMS
624 632 #==============================================================================
625 633 from rhodecode.lib.auth import HasPermissionAny, HasPermissionAll, \
626 634 HasRepoPermissionAny, HasRepoPermissionAll
627 635
628 636
629 637 #==============================================================================
630 638 # GRAVATAR URL
631 639 #==============================================================================
632 640
633 641 def gravatar_url(email_address, size=30):
634 642 if (not str2bool(config['app_conf'].get('use_gravatar')) or
635 643 not email_address or email_address == 'anonymous@rhodecode.org'):
636 644 f = lambda a, l: min(l, key=lambda x: abs(x - a))
637 645 return url("/images/user%s.png" % f(size, [14, 16, 20, 24, 30]))
638 646
639 647 ssl_enabled = 'https' == request.environ.get('wsgi.url_scheme')
640 648 default = 'identicon'
641 649 baseurl_nossl = "http://www.gravatar.com/avatar/"
642 650 baseurl_ssl = "https://secure.gravatar.com/avatar/"
643 651 baseurl = baseurl_ssl if ssl_enabled else baseurl_nossl
644 652
645 653 if isinstance(email_address, unicode):
646 654 #hashlib crashes on unicode items
647 655 email_address = safe_str(email_address)
648 656 # construct the url
649 657 gravatar_url = baseurl + hashlib.md5(email_address.lower()).hexdigest() + "?"
650 658 gravatar_url += urllib.urlencode({'d': default, 's': str(size)})
651 659
652 660 return gravatar_url
653 661
654 662
655 663 #==============================================================================
656 664 # REPO PAGER, PAGER FOR REPOSITORY
657 665 #==============================================================================
658 666 class RepoPage(Page):
659 667
660 668 def __init__(self, collection, page=1, items_per_page=20,
661 669 item_count=None, url=None, **kwargs):
662 670
663 671 """Create a "RepoPage" instance. special pager for paging
664 672 repository
665 673 """
666 674 self._url_generator = url
667 675
668 676 # Safe the kwargs class-wide so they can be used in the pager() method
669 677 self.kwargs = kwargs
670 678
671 679 # Save a reference to the collection
672 680 self.original_collection = collection
673 681
674 682 self.collection = collection
675 683
676 684 # The self.page is the number of the current page.
677 685 # The first page has the number 1!
678 686 try:
679 687 self.page = int(page) # make it int() if we get it as a string
680 688 except (ValueError, TypeError):
681 689 self.page = 1
682 690
683 691 self.items_per_page = items_per_page
684 692
685 693 # Unless the user tells us how many items the collections has
686 694 # we calculate that ourselves.
687 695 if item_count is not None:
688 696 self.item_count = item_count
689 697 else:
690 698 self.item_count = len(self.collection)
691 699
692 700 # Compute the number of the first and last available page
693 701 if self.item_count > 0:
694 702 self.first_page = 1
695 703 self.page_count = int(math.ceil(float(self.item_count) /
696 704 self.items_per_page))
697 705 self.last_page = self.first_page + self.page_count - 1
698 706
699 707 # Make sure that the requested page number is the range of
700 708 # valid pages
701 709 if self.page > self.last_page:
702 710 self.page = self.last_page
703 711 elif self.page < self.first_page:
704 712 self.page = self.first_page
705 713
706 714 # Note: the number of items on this page can be less than
707 715 # items_per_page if the last page is not full
708 716 self.first_item = max(0, (self.item_count) - (self.page *
709 717 items_per_page))
710 718 self.last_item = ((self.item_count - 1) - items_per_page *
711 719 (self.page - 1))
712 720
713 721 self.items = list(self.collection[self.first_item:self.last_item + 1])
714 722
715 723 # Links to previous and next page
716 724 if self.page > self.first_page:
717 725 self.previous_page = self.page - 1
718 726 else:
719 727 self.previous_page = None
720 728
721 729 if self.page < self.last_page:
722 730 self.next_page = self.page + 1
723 731 else:
724 732 self.next_page = None
725 733
726 734 # No items available
727 735 else:
728 736 self.first_page = None
729 737 self.page_count = 0
730 738 self.last_page = None
731 739 self.first_item = None
732 740 self.last_item = None
733 741 self.previous_page = None
734 742 self.next_page = None
735 743 self.items = []
736 744
737 745 # This is a subclass of the 'list' type. Initialise the list now.
738 746 list.__init__(self, reversed(self.items))
739 747
740 748
741 749 def changed_tooltip(nodes):
742 750 """
743 751 Generates a html string for changed nodes in changeset page.
744 752 It limits the output to 30 entries
745 753
746 754 :param nodes: LazyNodesGenerator
747 755 """
748 756 if nodes:
749 757 pref = ': <br/> '
750 758 suf = ''
751 759 if len(nodes) > 30:
752 760 suf = '<br/>' + _(' and %s more') % (len(nodes) - 30)
753 761 return literal(pref + '<br/> '.join([safe_unicode(x.path)
754 762 for x in nodes[:30]]) + suf)
755 763 else:
756 764 return ': ' + _('No Files')
757 765
758 766
759 767 def repo_link(groups_and_repos):
760 768 """
761 769 Makes a breadcrumbs link to repo within a group
762 770 joins &raquo; on each group to create a fancy link
763 771
764 772 ex::
765 773 group >> subgroup >> repo
766 774
767 775 :param groups_and_repos:
768 776 """
769 777 groups, repo_name = groups_and_repos
770 778
771 779 if not groups:
772 780 return repo_name
773 781 else:
774 782 def make_link(group):
775 783 return link_to(group.name, url('repos_group_home',
776 784 group_name=group.group_name))
777 785 return literal(' &raquo; '.join(map(make_link, groups)) + \
778 786 " &raquo; " + repo_name)
779 787
780 788
781 789 def fancy_file_stats(stats):
782 790 """
783 791 Displays a fancy two colored bar for number of added/deleted
784 792 lines of code on file
785 793
786 794 :param stats: two element list of added/deleted lines of code
787 795 """
788 796
789 797 a, d, t = stats[0], stats[1], stats[0] + stats[1]
790 798 width = 100
791 799 unit = float(width) / (t or 1)
792 800
793 801 # needs > 9% of width to be visible or 0 to be hidden
794 802 a_p = max(9, unit * a) if a > 0 else 0
795 803 d_p = max(9, unit * d) if d > 0 else 0
796 804 p_sum = a_p + d_p
797 805
798 806 if p_sum > width:
799 807 #adjust the percentage to be == 100% since we adjusted to 9
800 808 if a_p > d_p:
801 809 a_p = a_p - (p_sum - width)
802 810 else:
803 811 d_p = d_p - (p_sum - width)
804 812
805 813 a_v = a if a > 0 else ''
806 814 d_v = d if d > 0 else ''
807 815
808 816 def cgen(l_type):
809 817 mapping = {'tr': 'top-right-rounded-corner-mid',
810 818 'tl': 'top-left-rounded-corner-mid',
811 819 'br': 'bottom-right-rounded-corner-mid',
812 820 'bl': 'bottom-left-rounded-corner-mid'}
813 821 map_getter = lambda x: mapping[x]
814 822
815 823 if l_type == 'a' and d_v:
816 824 #case when added and deleted are present
817 825 return ' '.join(map(map_getter, ['tl', 'bl']))
818 826
819 827 if l_type == 'a' and not d_v:
820 828 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
821 829
822 830 if l_type == 'd' and a_v:
823 831 return ' '.join(map(map_getter, ['tr', 'br']))
824 832
825 833 if l_type == 'd' and not a_v:
826 834 return ' '.join(map(map_getter, ['tr', 'br', 'tl', 'bl']))
827 835
828 836 d_a = '<div class="added %s" style="width:%s%%">%s</div>' % (
829 837 cgen('a'), a_p, a_v
830 838 )
831 839 d_d = '<div class="deleted %s" style="width:%s%%">%s</div>' % (
832 840 cgen('d'), d_p, d_v
833 841 )
834 842 return literal('<div style="width:%spx">%s%s</div>' % (width, d_a, d_d))
835 843
836 844
837 845 def urlify_text(text_):
838 846 import re
839 847
840 848 url_pat = re.compile(r'''(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]'''
841 849 '''|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)''')
842 850
843 851 def url_func(match_obj):
844 852 url_full = match_obj.groups()[0]
845 853 return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full})
846 854
847 855 return literal(url_pat.sub(url_func, text_))
848 856
849 857
850 858 def urlify_changesets(text_, repository):
851 859 """
852 860 Extract revision ids from changeset and make link from them
853 861
854 862 :param text_:
855 863 :param repository:
856 864 """
857 865 import re
858 866 URL_PAT = re.compile(r'([0-9a-fA-F]{12,})')
859 867
860 868 def url_func(match_obj):
861 869 rev = match_obj.groups()[0]
862 870 pref = ''
863 871 if match_obj.group().startswith(' '):
864 872 pref = ' '
865 873 tmpl = (
866 874 '%(pref)s<a class="%(cls)s" href="%(url)s">'
867 875 '%(rev)s'
868 876 '</a>'
869 877 )
870 878 return tmpl % {
871 879 'pref': pref,
872 880 'cls': 'revision-link',
873 881 'url': url('changeset_home', repo_name=repository, revision=rev),
874 882 'rev': rev,
875 883 }
876 884
877 885 newtext = URL_PAT.sub(url_func, text_)
878 886
879 887 return newtext
880 888
881 889
882 890 def urlify_commit(text_, repository=None, link_=None):
883 891 """
884 892 Parses given text message and makes proper links.
885 893 issues are linked to given issue-server, and rest is a changeset link
886 894 if link_ is given, in other case it's a plain text
887 895
888 896 :param text_:
889 897 :param repository:
890 898 :param link_: changeset link
891 899 """
892 900 import re
893 901 import traceback
894 902
895 903 def escaper(string):
896 904 return string.replace('<', '&lt;').replace('>', '&gt;')
897 905
898 906 def linkify_others(t, l):
899 907 urls = re.compile(r'(\<a.*?\<\/a\>)',)
900 908 links = []
901 909 for e in urls.split(t):
902 910 if not urls.match(e):
903 911 links.append('<a class="message-link" href="%s">%s</a>' % (l, e))
904 912 else:
905 913 links.append(e)
906 914
907 915 return ''.join(links)
908 916
909 917 # urlify changesets - extrac revisions and make link out of them
910 918 text_ = urlify_changesets(escaper(text_), repository)
911 919
912 920 try:
913 921 conf = config['app_conf']
914 922
915 923 URL_PAT = re.compile(r'%s' % conf.get('issue_pat'))
916 924
917 925 if URL_PAT:
918 926 ISSUE_SERVER_LNK = conf.get('issue_server_link')
919 927 ISSUE_PREFIX = conf.get('issue_prefix')
920 928
921 929 def url_func(match_obj):
922 930 pref = ''
923 931 if match_obj.group().startswith(' '):
924 932 pref = ' '
925 933
926 934 issue_id = ''.join(match_obj.groups())
927 935 tmpl = (
928 936 '%(pref)s<a class="%(cls)s" href="%(url)s">'
929 937 '%(issue-prefix)s%(id-repr)s'
930 938 '</a>'
931 939 )
932 940 url = ISSUE_SERVER_LNK.replace('{id}', issue_id)
933 941 if repository:
934 942 url = url.replace('{repo}', repository)
935 943 repo_name = repository.split(URL_SEP)[-1]
936 944 url = url.replace('{repo_name}', repo_name)
937 945 return tmpl % {
938 946 'pref': pref,
939 947 'cls': 'issue-tracker-link',
940 948 'url': url,
941 949 'id-repr': issue_id,
942 950 'issue-prefix': ISSUE_PREFIX,
943 951 'serv': ISSUE_SERVER_LNK,
944 952 }
945 953
946 954 newtext = URL_PAT.sub(url_func, text_)
947 955
948 956 if link_:
949 957 # wrap not links into final link => link_
950 958 newtext = linkify_others(newtext, link_)
951 959
952 960 return literal(newtext)
953 961 except:
954 962 log.error(traceback.format_exc())
955 963 pass
956 964
957 965 return text_
958 966
959 967
960 968 def rst(source):
961 969 return literal('<div class="rst-block">%s</div>' %
962 970 MarkupRenderer.rst(source))
963 971
964 972
965 973 def rst_w_mentions(source):
966 974 """
967 975 Wrapped rst renderer with @mention highlighting
968 976
969 977 :param source:
970 978 """
971 979 return literal('<div class="rst-block">%s</div>' %
972 980 MarkupRenderer.rst_with_mentions(source))
@@ -1,54 +1,54 b''
1 1 ## -*- coding: utf-8 -*-
2 2 %if c.users_log:
3 3 <table>
4 4 <tr>
5 5 <th class="left">${_('Username')}</th>
6 6 <th class="left">${_('Action')}</th>
7 7 <th class="left">${_('Repository')}</th>
8 8 <th class="left">${_('Date')}</th>
9 9 <th class="left">${_('From IP')}</th>
10 10 </tr>
11 11
12 12 %for cnt,l in enumerate(c.users_log):
13 13 <tr class="parity${cnt%2}">
14 14 <td>${h.link_to(l.user.username,h.url('edit_user', id=l.user.user_id))}</td>
15 15 <td>${h.action_parser(l)[0]()}
16 16 <div class="journal_action_params">
17 17 ${h.literal(h.action_parser(l)[1]())}
18 18 </div>
19 19 </td>
20 20 <td>
21 21 %if l.repository is not None:
22 22 ${h.link_to(l.repository.repo_name,h.url('summary_home',repo_name=l.repository.repo_name))}
23 23 %else:
24 24 ${l.repository_name}
25 25 %endif
26 26 </td>
27 27
28 <td>${l.action_date}</td>
28 <td>${h.fmt_date(l.action_date)}</td>
29 29 <td>${l.user_ip}</td>
30 30 </tr>
31 31 %endfor
32 32 </table>
33 33
34 34 <script type="text/javascript">
35 35 YUE.onDOMReady(function(){
36 36 YUE.delegate("user_log","click",function(e, matchedEl, container){
37 37 ypjax(e.target.href,"user_log",function(){show_more_event();tooltip_activate();});
38 38 YUE.preventDefault(e);
39 39 },'.pager_link');
40 40
41 41 YUE.delegate("user_log","click",function(e,matchedEl,container){
42 42 var el = e.target;
43 43 YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
44 44 YUD.setStyle(el.parentNode,'display','none');
45 45 },'.show_more');
46 46 });
47 47 </script>
48 48
49 49 <div class="pagination-wh pagination-left">
50 50 ${c.users_log.pager('$link_previous ~2~ $link_next')}
51 51 </div>
52 52 %else:
53 53 ${_('No actions yet')}
54 54 %endif
@@ -1,128 +1,128 b''
1 1 <table id="permissions_manage" class="noborder">
2 2 <tr>
3 3 <td>${_('none')}</td>
4 4 <td>${_('read')}</td>
5 5 <td>${_('write')}</td>
6 6 <td>${_('admin')}</td>
7 7 <td>${_('member')}</td>
8 8 <td></td>
9 9 </tr>
10 10 ## USERS
11 11 %for r2p in c.repo_info.repo_to_perm:
12 12 %if r2p.user.username =='default' and c.repo_info.private:
13 13 <tr>
14 14 <td colspan="4">
15 15 <span class="private_repo_msg">
16 16 ${_('private repository')}
17 17 </span>
18 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 20 </tr>
21 21 %else:
22 22 <tr id="id${id(r2p.user.username)}">
23 23 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.none')}</td>
24 24 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.read')}</td>
25 25 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.write')}</td>
26 26 <td>${h.radio('u_perm_%s' % r2p.user.username,'repository.admin')}</td>
27 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 29 </td>
30 30 <td>
31 31 %if r2p.user.username !='default':
32 32 <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
33 33 ${_('revoke')}
34 34 </span>
35 35 %endif
36 36 </td>
37 37 </tr>
38 38 %endif
39 39 %endfor
40 40
41 41 ## USERS GROUPS
42 42 %for g2p in c.repo_info.users_group_to_perm:
43 43 <tr id="id${id(g2p.users_group.users_group_name)}">
44 44 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.none')}</td>
45 45 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.read')}</td>
46 46 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.write')}</td>
47 47 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'repository.admin')}</td>
48 48 <td style="white-space: nowrap;">
49 49 <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>
50 50 %if h.HasPermissionAny('hg.admin')():
51 51 <a href="${h.url('edit_users_group',id=g2p.users_group.users_group_id)}">${g2p.users_group.users_group_name}</a>
52 52 %else:
53 53 ${g2p.users_group.users_group_name}
54 54 %endif
55 55 </td>
56 56 <td>
57 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 58 ${_('revoke')}
59 59 </span>
60 60 </td>
61 61 </tr>
62 62 %endfor
63 63 <tr id="add_perm_input">
64 64 <td>${h.radio('perm_new_member','repository.none')}</td>
65 65 <td>${h.radio('perm_new_member','repository.read')}</td>
66 66 <td>${h.radio('perm_new_member','repository.write')}</td>
67 67 <td>${h.radio('perm_new_member','repository.admin')}</td>
68 68 <td class='ac'>
69 69 <div class="perm_ac" id="perm_ac">
70 70 ${h.text('perm_new_member_name',class_='yui-ac-input')}
71 71 ${h.hidden('perm_new_member_type')}
72 72 <div id="perm_container"></div>
73 73 </div>
74 74 </td>
75 75 <td></td>
76 76 </tr>
77 77 <tr>
78 78 <td colspan="6">
79 79 <span id="add_perm" class="add_icon" style="cursor: pointer;">
80 80 ${_('Add another member')}
81 81 </span>
82 82 </td>
83 83 </tr>
84 84 </table>
85 85 <script type="text/javascript">
86 86 function ajaxActionUser(user_id, field_id) {
87 87 var sUrl = "${h.url('delete_repo_user',repo_name=c.repo_name)}";
88 88 var callback = {
89 89 success: function (o) {
90 90 var tr = YUD.get(String(field_id));
91 91 tr.parentNode.removeChild(tr);
92 92 },
93 93 failure: function (o) {
94 94 alert("${_('Failed to remove user')}");
95 95 },
96 96 };
97 97 var postData = '_method=delete&user_id=' + user_id;
98 98 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
99 99 };
100 100
101 101 function ajaxActionUsersGroup(users_group_id,field_id){
102 102 var sUrl = "${h.url('delete_repo_users_group',repo_name=c.repo_name)}";
103 103 var callback = {
104 104 success:function(o){
105 105 var tr = YUD.get(String(field_id));
106 106 tr.parentNode.removeChild(tr);
107 107 },
108 108 failure:function(o){
109 109 alert("${_('Failed to remove users group')}");
110 110 },
111 111 };
112 112 var postData = '_method=delete&users_group_id='+users_group_id;
113 113 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
114 114 };
115 115
116 116 YUE.onDOMReady(function () {
117 117 if (!YUD.hasClass('perm_new_member_name', 'error')) {
118 118 YUD.setStyle('add_perm_input', 'display', 'none');
119 119 }
120 120 YAHOO.util.Event.addListener('add_perm', 'click', function () {
121 121 YUD.setStyle('add_perm_input', 'display', '');
122 122 YUD.setStyle('add_perm', 'opacity', '0.6');
123 123 YUD.setStyle('add_perm', 'cursor', 'default');
124 124 });
125 125 MembersAutoComplete(${c.users_array|n}, ${c.users_groups_array|n});
126 126 });
127 127
128 128 </script>
@@ -1,112 +1,112 b''
1 1 <table id="permissions_manage" class="noborder">
2 2 <tr>
3 3 <td>${_('none')}</td>
4 4 <td>${_('read')}</td>
5 5 <td>${_('write')}</td>
6 6 <td>${_('admin')}</td>
7 7 <td>${_('member')}</td>
8 8 <td></td>
9 9 </tr>
10 10 ## USERS
11 11 %for r2p in c.repos_group.repo_group_to_perm:
12 12 <tr id="id${id(r2p.user.username)}">
13 13 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.none')}</td>
14 14 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.read')}</td>
15 15 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.write')}</td>
16 16 <td>${h.radio('u_perm_%s' % r2p.user.username,'group.admin')}</td>
17 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 19 </td>
20 20 <td>
21 21 %if r2p.user.username !='default':
22 22 <span class="delete_icon action_button" onclick="ajaxActionUser(${r2p.user.user_id},'${'id%s'%id(r2p.user.username)}')">
23 23 ${_('revoke')}
24 24 </span>
25 25 %endif
26 26 </td>
27 27 </tr>
28 28 %endfor
29 29
30 30 ## USERS GROUPS
31 31 %for g2p in c.repos_group.users_group_to_perm:
32 32 <tr id="id${id(g2p.users_group.users_group_name)}">
33 33 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.none')}</td>
34 34 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.read')}</td>
35 35 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.write')}</td>
36 36 <td>${h.radio('g_perm_%s' % g2p.users_group.users_group_name,'group.admin')}</td>
37 37 <td style="white-space: nowrap;">
38 38 <img class="perm-gravatar" src="${h.url('/images/icons/group.png')}"/>${g2p.users_group.users_group_name}
39 39 </td>
40 40 <td>
41 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 42 ${_('revoke')}
43 43 </span>
44 44 </td>
45 45 </tr>
46 46 %endfor
47 47 <tr id="add_perm_input">
48 48 <td>${h.radio('perm_new_member','group.none')}</td>
49 49 <td>${h.radio('perm_new_member','group.read')}</td>
50 50 <td>${h.radio('perm_new_member','group.write')}</td>
51 51 <td>${h.radio('perm_new_member','group.admin')}</td>
52 52 <td class='ac'>
53 53 <div class="perm_ac" id="perm_ac">
54 54 ${h.text('perm_new_member_name',class_='yui-ac-input')}
55 55 ${h.hidden('perm_new_member_type')}
56 56 <div id="perm_container"></div>
57 57 </div>
58 58 </td>
59 59 <td></td>
60 60 </tr>
61 61 <tr>
62 62 <td colspan="6">
63 63 <span id="add_perm" class="add_icon" style="cursor: pointer;">
64 64 ${_('Add another member')}
65 65 </span>
66 66 </td>
67 67 </tr>
68 68 </table>
69 69 <script type="text/javascript">
70 70 function ajaxActionUser(user_id, field_id) {
71 71 var sUrl = "${h.url('delete_repos_group_user_perm',group_name=c.repos_group.group_name)}";
72 72 var callback = {
73 73 success: function (o) {
74 74 var tr = YUD.get(String(field_id));
75 75 tr.parentNode.removeChild(tr);
76 76 },
77 77 failure: function (o) {
78 78 alert("${_('Failed to remove user')}");
79 79 },
80 80 };
81 81 var postData = '_method=delete&user_id=' + user_id;
82 82 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
83 83 };
84 84
85 85 function ajaxActionUsersGroup(users_group_id,field_id){
86 86 var sUrl = "${h.url('delete_repos_group_users_group_perm',group_name=c.repos_group.group_name)}";
87 87 var callback = {
88 88 success:function(o){
89 89 var tr = YUD.get(String(field_id));
90 90 tr.parentNode.removeChild(tr);
91 91 },
92 92 failure:function(o){
93 93 alert("${_('Failed to remove users group')}");
94 94 },
95 95 };
96 96 var postData = '_method=delete&users_group_id='+users_group_id;
97 97 var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
98 98 };
99 99
100 100 YUE.onDOMReady(function () {
101 101 if (!YUD.hasClass('perm_new_member_name', 'error')) {
102 102 YUD.setStyle('add_perm_input', 'display', 'none');
103 103 }
104 104 YAHOO.util.Event.addListener('add_perm', 'click', function () {
105 105 YUD.setStyle('add_perm_input', 'display', '');
106 106 YUD.setStyle('add_perm', 'opacity', '0.6');
107 107 YUD.setStyle('add_perm', 'cursor', 'default');
108 108 });
109 109 MembersAutoComplete(${c.users_array|n}, ${c.users_groups_array|n});
110 110 });
111 111
112 112 </script>
@@ -1,65 +1,65 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Users administration')} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; ${_('Users')}
10 10 </%def>
11 11
12 12 <%def name="page_nav()">
13 13 ${self.menu('admin')}
14 14 </%def>
15 15
16 16 <%def name="main()">
17 17 <div class="box">
18 18 <!-- box / title -->
19 19 <div class="title">
20 20 ${self.breadcrumbs()}
21 21 <ul class="links">
22 22 <li>
23 23 <span>${h.link_to(_(u'ADD NEW USER'),h.url('new_user'))}</span>
24 24 </li>
25 25
26 26 </ul>
27 27 </div>
28 28 <!-- end box / title -->
29 29 <div class="table">
30 30 <table class="table_disp">
31 31 <tr class="header">
32 32 <th></th>
33 33 <th class="left">${_('username')}</th>
34 34 <th class="left">${_('name')}</th>
35 35 <th class="left">${_('lastname')}</th>
36 36 <th class="left">${_('last login')}</th>
37 37 <th class="left">${_('active')}</th>
38 38 <th class="left">${_('admin')}</th>
39 39 <th class="left">${_('ldap')}</th>
40 40 <th class="left">${_('action')}</th>
41 41 </tr>
42 42 %for cnt,user in enumerate(c.users_list):
43 %if user.name !='default':
43 %if user.username !='default':
44 44 <tr class="parity${cnt%2}">
45 45 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/> </div></td>
46 46 <td>${h.link_to(user.username,h.url('edit_user', id=user.user_id))}</td>
47 47 <td>${user.name}</td>
48 48 <td>${user.lastname}</td>
49 <td>${user.last_login}</td>
49 <td>${h.fmt_date(user.last_login)}</td>
50 50 <td>${h.bool2icon(user.active)}</td>
51 51 <td>${h.bool2icon(user.admin)}</td>
52 52 <td>${h.bool2icon(bool(user.ldap_dn))}</td>
53 53 <td>
54 54 ${h.form(url('delete_user', id=user.user_id),method='delete')}
55 55 ${h.submit('remove_',_('delete'),id="remove_user_%s" % user.user_id,
56 56 class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this user: %s') % user.username+"');")}
57 57 ${h.end_form()}
58 58 </td>
59 59 </tr>
60 60 %endif
61 61 %endfor
62 62 </table>
63 63 </div>
64 64 </div>
65 65 </%def>
@@ -1,78 +1,78 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Bookmarks')} - ${c.rhodecode_name}
5 ${_('%s Bookmarks') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 <input class="q_filter_box" id="q_filter_bookmarks" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
11 11 ${h.link_to(u'Home',h.url('/'))}
12 12 &raquo;
13 13 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
14 14 &raquo;
15 15 ${_('bookmarks')}
16 16 </%def>
17 17
18 18 <%def name="page_nav()">
19 19 ${self.menu('bookmarks')}
20 20 </%def>
21 21 <%def name="main()">
22 22 <div class="box">
23 23 <!-- box / title -->
24 24 <div class="title">
25 25 ${self.breadcrumbs()}
26 26 </div>
27 27 <!-- end box / title -->
28 28 <div class="table">
29 29 <%include file='bookmarks_data.html'/>
30 30 </div>
31 31 </div>
32 32 <script type="text/javascript">
33 33
34 34 // main table sorting
35 35 var myColumnDefs = [
36 36 {key:"name",label:"${_('Name')}",sortable:true},
37 37 {key:"date",label:"${_('Date')}",sortable:true,
38 38 sortOptions: { sortFunction: dateSort }},
39 39 {key:"author",label:"${_('Author')}",sortable:true},
40 40 {key:"revision",label:"${_('Revision')}",sortable:true,
41 41 sortOptions: { sortFunction: revisionSort }},
42 42 ];
43 43
44 44 var myDataSource = new YAHOO.util.DataSource(YUD.get("bookmarks_data"));
45 45
46 46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
47 47
48 48 myDataSource.responseSchema = {
49 49 fields: [
50 50 {key:"name"},
51 51 {key:"date"},
52 52 {key:"author"},
53 53 {key:"revision"},
54 54 ]
55 55 };
56 56
57 57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
58 58 {
59 59 sortedBy:{key:"name",dir:"asc"},
60 60 MSG_SORTASC:"${_('Click to sort ascending')}",
61 61 MSG_SORTDESC:"${_('Click to sort descending')}",
62 62 MSG_EMPTY:"${_('No records found.')}",
63 63 MSG_ERROR:"${_('Data error.')}",
64 64 MSG_LOADING:"${_('Loading...')}",
65 65 }
66 66 );
67 67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
68 68 tooltip_activate();
69 69 var func = function(node){
70 70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
71 71 }
72 72 q_filter('q_filter_bookmarks',YUQ('div.table tr td .logbooks .bookbook a'),func);
73 73 });
74 74
75 75 </script>
76 76
77 77
78 78 </%def>
@@ -1,33 +1,33 b''
1 1 %if c.repo_bookmarks:
2 2 <div id="table_wrap" class="yui-skin-sam">
3 3 <table id="bookmarks_data">
4 4 <thead>
5 5 <tr>
6 6 <th class="left">${_('Name')}</th>
7 7 <th class="left">${_('Date')}</th>
8 8 <th class="left">${_('Author')}</th>
9 9 <th class="left">${_('Revision')}</th>
10 10 </tr>
11 11 </thead>
12 12 %for cnt,book in enumerate(c.repo_bookmarks.items()):
13 13 <tr class="parity${cnt%2}">
14 14 <td>
15 15 <span class="logbooks">
16 16 <span class="bookbook">${h.link_to(book[0],
17 17 h.url('files_home',repo_name=c.repo_name,revision=book[1].raw_id))}</span>
18 18 </span>
19 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 21 <td title="${book[1].author}">${h.person(book[1].author)}</td>
22 22 <td>
23 23 <div>
24 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 25 </div>
26 26 </td>
27 27 </tr>
28 28 %endfor
29 29 </table>
30 30 </div>
31 31 %else:
32 32 ${_('There are no bookmarks yet')}
33 33 %endif
@@ -1,77 +1,77 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Branches')} - ${c.rhodecode_name}
5 ${_('%s Branches') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 <input class="q_filter_box" id="q_filter_branches" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
10 10 ${h.link_to(u'Home',h.url('/'))}
11 11 &raquo;
12 12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 13 &raquo;
14 14 ${_('branches')}
15 15 </%def>
16 16
17 17 <%def name="page_nav()">
18 18 ${self.menu('branches')}
19 19 </%def>
20 20
21 21 <%def name="main()">
22 22 <div class="box">
23 23 <!-- box / title -->
24 24 <div class="title">
25 25 ${self.breadcrumbs()}
26 26 </div>
27 27 <!-- end box / title -->
28 28 <div class="table">
29 29 <%include file='branches_data.html'/>
30 30 </div>
31 31 </div>
32 32 <script type="text/javascript">
33 33
34 34 // main table sorting
35 35 var myColumnDefs = [
36 36 {key:"name",label:"${_('Name')}",sortable:true},
37 37 {key:"date",label:"${_('Date')}",sortable:true,
38 38 sortOptions: { sortFunction: dateSort }},
39 39 {key:"author",label:"${_('Author')}",sortable:true},
40 40 {key:"revision",label:"${_('Revision')}",sortable:true,
41 41 sortOptions: { sortFunction: revisionSort }},
42 42 ];
43 43
44 44 var myDataSource = new YAHOO.util.DataSource(YUD.get("branches_data"));
45 45
46 46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
47 47
48 48 myDataSource.responseSchema = {
49 49 fields: [
50 50 {key:"name"},
51 51 {key:"date"},
52 52 {key:"author"},
53 53 {key:"revision"},
54 54 ]
55 55 };
56 56
57 57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
58 58 {
59 59 sortedBy:{key:"name",dir:"asc"},
60 60 MSG_SORTASC:"${_('Click to sort ascending')}",
61 61 MSG_SORTDESC:"${_('Click to sort descending')}",
62 62 MSG_EMPTY:"${_('No records found.')}",
63 63 MSG_ERROR:"${_('Data error.')}",
64 64 MSG_LOADING:"${_('Loading...')}",
65 65 }
66 66 );
67 67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
68 68 tooltip_activate();
69 69 var func = function(node){
70 70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
71 71 }
72 72 q_filter('q_filter_branches',YUQ('div.table tr td .logtags .branchtag a'),func);
73 73 });
74 74
75 75 </script>
76 76
77 77 </%def>
@@ -1,52 +1,52 b''
1 1 %if c.repo_branches:
2 2 <div id="table_wrap" class="yui-skin-sam">
3 3 <table id="branches_data">
4 4 <thead>
5 5 <tr>
6 6 <th class="left">${_('name')}</th>
7 7 <th class="left">${_('date')}</th>
8 8 <th class="left">${_('author')}</th>
9 9 <th class="left">${_('revision')}</th>
10 10 </tr>
11 11 </thead>
12 12 %for cnt,branch in enumerate(c.repo_branches.items()):
13 13 <tr class="parity${cnt%2}">
14 14 <td>
15 15 <span class="logtags">
16 16 <span class="branchtag">${h.link_to(branch[0],
17 17 h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
18 18 </span>
19 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 21 <td title="${branch[1].author}">${h.person(branch[1].author)}</td>
22 22 <td>
23 23 <div>
24 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 25 </div>
26 26 </td>
27 27 </tr>
28 28 %endfor
29 29 % if hasattr(c,'repo_closed_branches') and c.repo_closed_branches:
30 30 %for cnt,branch in enumerate(c.repo_closed_branches.items()):
31 31 <tr class="parity${cnt%2}">
32 32 <td>
33 33 <span class="logtags">
34 34 <span class="branchtag">${h.link_to(branch[0]+' [closed]',
35 35 h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
36 36 </span>
37 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 39 <td title="${branch[1].author}">${h.person(branch[1].author)}</td>
40 40 <td>
41 41 <div>
42 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 43 </div>
44 44 </td>
45 45 </tr>
46 46 %endfor
47 47 %endif
48 48 </table>
49 49 </div>
50 50 %else:
51 51 ${_('There are no branches yet')}
52 52 %endif
@@ -1,239 +1,239 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 3 <%inherit file="/base/base.html"/>
4 4
5 5 <%def name="title()">
6 ${c.repo_name} ${_('Changelog')} - ${c.rhodecode_name}
6 ${_('%s Changelog') % c.repo_name} - ${c.rhodecode_name}
7 7 </%def>
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 ${h.link_to(u'Home',h.url('/'))}
11 11 &raquo;
12 12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 13 &raquo;
14 14 <% size = c.size if c.size <= c.total_cs else c.total_cs %>
15 15 ${_('Changelog')} - ${ungettext('showing %d out of %d revision', 'showing %d out of %d revisions', size) % (size, c.total_cs)}
16 16 </%def>
17 17
18 18 <%def name="page_nav()">
19 19 ${self.menu('changelog')}
20 20 </%def>
21 21
22 22 <%def name="main()">
23 23 <div class="box">
24 24 <!-- box / title -->
25 25 <div class="title">
26 26 ${self.breadcrumbs()}
27 27 </div>
28 28 <div class="table">
29 29 % if c.pagination:
30 30 <div id="graph">
31 31 <div id="graph_nodes">
32 32 <canvas id="graph_canvas"></canvas>
33 33 </div>
34 34 <div id="graph_content">
35 35 <div class="container_header">
36 36 ${h.form(h.url.current(),method='get')}
37 37 <div class="info_box" style="float:left">
38 38 ${h.submit('set',_('Show'),class_="ui-btn")}
39 39 ${h.text('size',size=1,value=c.size)}
40 40 ${_('revisions')}
41 41 </div>
42 42 ${h.end_form()}
43 43 <div id="rev_range_container" style="display:none"></div>
44 44 <div style="float:right">${h.select('branch_filter',c.branch_name,c.branch_filters)}</div>
45 45 </div>
46 46
47 47 %for cnt,cs in enumerate(c.pagination):
48 48 <div id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
49 49 <div class="left">
50 50 <div>
51 51 ${h.checkbox(cs.short_id,class_="changeset_range")}
52 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 53 </div>
54 54 <div class="author">
55 55 <div class="gravatar">
56 56 <img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),16)}"/>
57 57 </div>
58 58 <div title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</div>
59 59 </div>
60 <div class="date">${cs.date}</div>
60 <div class="date">${h.fmt_date(cs.date)}</div>
61 61 </div>
62 62 <div class="mid">
63 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 64 <div class="expand"><span class="expandtext">&darr; ${_('show more')} &darr;</span></div>
65 65 </div>
66 66 <div class="right">
67 67 <div class="changes">
68 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 69 <div class="comments-container">
70 70 %if len(c.comments.get(cs.raw_id,[])) > 0:
71 71 <div class="comments-cnt" title="${('comments')}">
72 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 73 <div class="comments-cnt">${len(c.comments[cs.raw_id])}</div>
74 74 <img src="${h.url('/images/icons/comments.png')}">
75 75 </a>
76 76 </div>
77 77 %endif
78 78 </div>
79 79 </div>
80 80 %if cs.parents:
81 81 %for p_cs in reversed(cs.parents):
82 82 <div class="parent">${_('Parent')}
83 83 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
84 84 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
85 85 </div>
86 86 %endfor
87 87 %else:
88 88 <div class="parent">${_('No parents')}</div>
89 89 %endif
90 90
91 91 <span class="logtags">
92 92 %if len(cs.parents)>1:
93 93 <span class="merge">${_('merge')}</span>
94 94 %endif
95 95 %if cs.branch:
96 96 <span class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
97 97 ${h.link_to(h.shorter(cs.branch),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
98 98 </span>
99 99 %endif
100 100 %if h.is_hg(c.rhodecode_repo):
101 101 %for book in cs.bookmarks:
102 102 <span class="bookbook" title="${'%s %s' % (_('bookmark'),book)}">
103 103 ${h.link_to(h.shorter(book),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}
104 104 </span>
105 105 %endfor
106 106 %endif
107 107 %for tag in cs.tags:
108 108 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
109 109 ${h.link_to(h.shorter(tag),h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
110 110 %endfor
111 111 </span>
112 112 </div>
113 113 </div>
114 114
115 115 %endfor
116 116 <div class="pagination-wh pagination-left">
117 117 ${c.pagination.pager('$link_previous ~2~ $link_next')}
118 118 </div>
119 119 </div>
120 120 </div>
121 121
122 122 <script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
123 123 <script type="text/javascript">
124 124 YAHOO.util.Event.onDOMReady(function(){
125 125
126 126 //Monitor range checkboxes and build a link to changesets
127 127 //ranges
128 128 var checkboxes = YUD.getElementsByClassName('changeset_range');
129 129 var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
130 130 YUE.on(checkboxes,'click',function(e){
131 131 var checked_checkboxes = [];
132 132 for (pos in checkboxes){
133 133 if(checkboxes[pos].checked){
134 134 checked_checkboxes.push(checkboxes[pos]);
135 135 }
136 136 }
137 137 if(checked_checkboxes.length>1){
138 138 var rev_end = checked_checkboxes[0].name;
139 139 var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
140 140
141 141 var url = url_tmpl.replace('__REVRANGE__',
142 142 rev_start+'...'+rev_end);
143 143
144 144 var link = "<a href="+url+">${_('Show selected changes __S -> __E')}</a>"
145 145 link = link.replace('__S',rev_start);
146 146 link = link.replace('__E',rev_end);
147 147 YUD.get('rev_range_container').innerHTML = link;
148 148 YUD.setStyle('rev_range_container','display','');
149 149 }
150 150 else{
151 151 YUD.setStyle('rev_range_container','display','none');
152 152
153 153 }
154 154 });
155 155
156 156 var msgs = YUQ('.message');
157 157 // get first element height
158 158 var el = YUQ('#graph_content .container')[0];
159 159 var row_h = el.clientHeight;
160 160 for(var i=0;i<msgs.length;i++){
161 161 var m = msgs[i];
162 162
163 163 var h = m.clientHeight;
164 164 var pad = YUD.getStyle(m,'padding');
165 165 if(h > row_h){
166 166 var offset = row_h - (h+12);
167 167 YUD.setStyle(m.nextElementSibling,'display','block');
168 168 YUD.setStyle(m.nextElementSibling,'margin-top',offset+'px');
169 169 };
170 170 }
171 171 YUE.on(YUQ('.expand'),'click',function(e){
172 172 var elem = e.currentTarget.parentNode.parentNode;
173 173 YUD.setStyle(e.currentTarget,'display','none');
174 174 YUD.setStyle(elem,'height','auto');
175 175
176 176 //redraw the graph, max_w and jsdata are global vars
177 177 set_canvas(max_w);
178 178
179 179 var r = new BranchRenderer();
180 180 r.render(jsdata,max_w);
181 181
182 182 })
183 183
184 184 // Fetch changeset details
185 185 YUE.on(YUD.getElementsByClassName('changed_total'),'click',function(e){
186 186 var id = e.currentTarget.id
187 187 var url = "${h.url('changelog_details',repo_name=c.repo_name,cs='__CS__')}"
188 188 var url = url.replace('__CS__',id);
189 189 ypjax(url,id,function(){tooltip_activate()});
190 190 });
191 191
192 192 // change branch filter
193 193 YUE.on(YUD.get('branch_filter'),'change',function(e){
194 194 var selected_branch = e.currentTarget.options[e.currentTarget.selectedIndex].value;
195 195 var url_main = "${h.url('changelog_home',repo_name=c.repo_name)}";
196 196 var url = "${h.url('changelog_home',repo_name=c.repo_name,branch='__BRANCH__')}";
197 197 var url = url.replace('__BRANCH__',selected_branch);
198 198 if(selected_branch != ''){
199 199 window.location = url;
200 200 }else{
201 201 window.location = url_main;
202 202 }
203 203
204 204 });
205 205
206 206 function set_canvas(heads) {
207 207 var c = document.getElementById('graph_nodes');
208 208 var t = document.getElementById('graph_content');
209 209 canvas = document.getElementById('graph_canvas');
210 210 var div_h = t.clientHeight;
211 211 c.style.height=div_h+'px';
212 212 canvas.setAttribute('height',div_h);
213 213 c.style.height=max_w+'px';
214 214 canvas.setAttribute('width',max_w);
215 215 };
216 216 var heads = 1;
217 217 var max_heads = 0;
218 218 var jsdata = ${c.jsdata|n};
219 219
220 220 for( var i=0;i<jsdata.length;i++){
221 221 var m = Math.max.apply(Math, jsdata[i][1]);
222 222 if (m>max_heads){
223 223 max_heads = m;
224 224 }
225 225 }
226 226 var max_w = Math.max(100,max_heads*25);
227 227 set_canvas(max_w);
228 228
229 229 var r = new BranchRenderer();
230 230 r.render(jsdata,max_w);
231 231
232 232 });
233 233 </script>
234 234 %else:
235 235 ${_('There are no changes yet')}
236 236 %endif
237 237 </div>
238 238 </div>
239 239 </%def>
@@ -1,167 +1,167 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 3 <%inherit file="/base/base.html"/>
4 4
5 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 7 </%def>
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 ${h.link_to(u'Home',h.url('/'))}
11 11 &raquo;
12 12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 13 &raquo;
14 14 ${_('Changeset')} - <span class='hash'>r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}</span>
15 15 </%def>
16 16
17 17 <%def name="page_nav()">
18 18 ${self.menu('changelog')}
19 19 </%def>
20 20
21 21 <%def name="main()">
22 22 <div class="box">
23 23 <!-- box / title -->
24 24 <div class="title">
25 25 ${self.breadcrumbs()}
26 26 </div>
27 27 <div class="table">
28 28 <div class="diffblock">
29 29 <div class="code-header">
30 30 <div class="hash">
31 31 r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
32 32 </div>
33 33 <div class="date">
34 ${c.changeset.date}
34 ${h.fmt_date(c.changeset.date)}
35 35 </div>
36 36 <div class="diff-actions">
37 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 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 39 ${c.ignorews_url(request.GET)}
40 40 ${c.context_url(request.GET)}
41 41 </div>
42 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 43 </div>
44 44 </div>
45 45 <div id="changeset_content">
46 46 <div class="container">
47 47 <div class="left">
48 48 <div class="author">
49 49 <div class="gravatar">
50 50 <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),20)}"/>
51 51 </div>
52 52 <span>${h.person(c.changeset.author)}</span><br/>
53 53 <span><a href="mailto:${h.email_or_none(c.changeset.author)}">${h.email_or_none(c.changeset.author)}</a></span><br/>
54 54 </div>
55 55 <div class="message">${h.urlify_commit(h.wrap_paragraphs(c.changeset.message),c.repo_name)}</div>
56 56 </div>
57 57 <div class="right">
58 58 <div class="changes">
59 59 % if len(c.changeset.affected_files) <= c.affected_files_cut_off:
60 60 <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span>
61 61 <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span>
62 62 <span class="added" title="${_('added')}">${len(c.changeset.added)}</span>
63 63 % else:
64 64 <span class="removed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
65 65 <span class="changed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
66 66 <span class="added" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
67 67 % endif
68 68 </div>
69 69
70 70 %if c.changeset.parents:
71 71 %for p_cs in reversed(c.changeset.parents):
72 72 <div class="parent">${_('Parent')}
73 73 <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
74 74 h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
75 75 </div>
76 76 %endfor
77 77 %else:
78 78 <div class="parent">${_('No parents')}</div>
79 79 %endif
80 80 <span class="logtags">
81 81 %if len(c.changeset.parents)>1:
82 82 <span class="merge">${_('merge')}</span>
83 83 %endif
84 84 %if c.changeset.branch:
85 85 <span class="branchtag" title="${'%s %s' % (_('branch'),c.changeset.branch)}">
86 86 ${h.link_to(c.changeset.branch,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}
87 87 </span>
88 88 %endif
89 89 %for tag in c.changeset.tags:
90 90 <span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
91 91 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
92 92 %endfor
93 93 </span>
94 94 </div>
95 95 </div>
96 96 <span>
97 97 ${_('%s files affected with %s insertions and %s deletions:') % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)}
98 98 </span>
99 99 <div class="cs_files">
100 100 %for change,filenode,diff,cs1,cs2,stat in c.changes:
101 101 <div class="cs_${change}">
102 102 <div class="node">
103 103 %if change != 'removed':
104 104 ${h.link_to(h.safe_unicode(filenode.path),c.anchor_url(filenode.changeset.raw_id,filenode.path,request.GET)+"_target")}
105 105 %else:
106 106 ${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID('',filenode.path)))}
107 107 %endif
108 108 </div>
109 109 <div class="changes">${h.fancy_file_stats(stat)}</div>
110 110 </div>
111 111 %endfor
112 112 % if c.cut_off:
113 113 ${_('Changeset was too big and was cut off...')}
114 114 % endif
115 115 </div>
116 116 </div>
117 117
118 118 </div>
119 119 <script>
120 120 var _USERS_AC_DATA = ${c.users_array|n};
121 121 var _GROUPS_AC_DATA = ${c.users_groups_array|n};
122 122 </script>
123 123 ## diff block
124 124 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
125 125 ${diff_block.diff_block(c.changes)}
126 126
127 127 ## template for inline comment form
128 128 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
129 129 ${comment.comment_inline_form(c.changeset)}
130 130
131 131 ## render comments
132 132 ${comment.comments(c.changeset)}
133 133 <script type="text/javascript">
134 134 YUE.onDOMReady(function(){
135 135 AJAX_COMMENT_URL = "${url('changeset_comment',repo_name=c.repo_name,revision=c.changeset.raw_id)}";
136 136 AJAX_COMMENT_DELETE_URL = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"
137 137 YUE.on(YUQ('.show-inline-comments'),'change',function(e){
138 138 var show = 'none';
139 139 var target = e.currentTarget;
140 140 if(target.checked){
141 141 var show = ''
142 142 }
143 143 var boxid = YUD.getAttribute(target,'id_for');
144 144 var comments = YUQ('#{0} .inline-comments'.format(boxid));
145 145 for(c in comments){
146 146 YUD.setStyle(comments[c],'display',show);
147 147 }
148 148 var btns = YUQ('#{0} .inline-comments-button'.format(boxid));
149 149 for(c in btns){
150 150 YUD.setStyle(btns[c],'display',show);
151 151 }
152 152 })
153 153
154 154 YUE.on(YUQ('.line'),'click',function(e){
155 155 var tr = e.currentTarget;
156 156 injectInlineForm(tr);
157 157 });
158 158
159 159 // inject comments into they proper positions
160 160 var file_comments = YUQ('.inline-comment-placeholder');
161 161 renderInlineComments(file_comments);
162 162 })
163 163
164 164 </script>
165 165
166 166 </div>
167 167 </%def>
@@ -1,89 +1,89 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 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 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(u'Home',h.url('/'))}
10 10 &raquo;
11 11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 12 &raquo;
13 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 14 </%def>
15 15
16 16 <%def name="page_nav()">
17 17 ${self.menu('changelog')}
18 18 </%def>
19 19
20 20 <%def name="main()">
21 21 <div class="box">
22 22 <!-- box / title -->
23 23 <div class="title">
24 24 ${self.breadcrumbs()}
25 25 </div>
26 26 <div class="table">
27 27 <div id="body" class="diffblock">
28 28 <div class="code-header cv">
29 29 <h3 class="code-header-title">${_('Compare View')}</h3>
30 30 <div>
31 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 32 </div>
33 33 </div>
34 34 </div>
35 35 <div id="changeset_compare_view_content">
36 36 <div class="container">
37 37 <table class="compare_view_commits noborder">
38 38 %for cs in c.cs_ranges:
39 39 <tr>
40 40 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
41 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 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 44 <td><div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name)}</div></td>
45 45 </tr>
46 46 %endfor
47 47 </table>
48 48 </div>
49 49 <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
50 50 <div class="cs_files">
51 51 %for cs in c.cs_ranges:
52 52 <div class="cur_cs">r${cs}</div>
53 53 %for change,filenode,diff,cs1,cs2,st in c.changes[cs.raw_id]:
54 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 55 %endfor
56 56 %endfor
57 57 </div>
58 58 </div>
59 59
60 60 </div>
61 61 <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
62 62 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
63 63 %for cs in c.cs_ranges:
64 64 ##${comment.comment_inline_form(cs)}
65 65 ## diff block
66 66 <h3 style="border:none;padding-top:8px;">${'r%s:%s' % (cs.revision,h.short_id(cs.raw_id))}</h3>
67 67 ${diff_block.diff_block(c.changes[cs.raw_id])}
68 68 ##${comment.comments(cs)}
69 69
70 70 %endfor
71 71 <script type="text/javascript">
72 72
73 73 YUE.onDOMReady(function(){
74 74
75 75 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
76 76 var act = e.currentTarget.nextElementSibling;
77 77
78 78 if(YUD.hasClass(act,'active')){
79 79 YUD.removeClass(act,'active');
80 80 YUD.setStyle(act,'display','none');
81 81 }else{
82 82 YUD.addClass(act,'active');
83 83 YUD.setStyle(act,'display','');
84 84 }
85 85 });
86 86 })
87 87 </script>
88 88 </div>
89 89 </%def>
@@ -1,47 +1,47 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 ${c.repo_name} ${_('File diff')} - ${c.rhodecode_name}
4 ${_('%s File diff') % c.repo_name} - ${c.rhodecode_name}
5 5 </%def>
6 6
7 7 <%def name="breadcrumbs_links()">
8 8 ${h.link_to(u'Home',h.url('/'))}
9 9 &raquo;
10 10 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 11 &raquo;
12 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 13 </%def>
14 14
15 15 <%def name="page_nav()">
16 16 ${self.menu('files')}
17 17 </%def>
18 18 <%def name="main()">
19 19 <div class="box">
20 20 <!-- box / title -->
21 21 <div class="title">
22 22 ${self.breadcrumbs()}
23 23 </div>
24 24 <div>
25 25 ## diff block
26 26 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
27 27 ${diff_block.diff_block(c.changes)}
28 28 </div>
29 29 </div>
30 30 <script>
31 31 YUE.onDOMReady(function(){
32 32
33 33 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
34 34 var act = e.currentTarget.nextElementSibling;
35 35
36 36 if(YUD.hasClass(act,'active')){
37 37 YUD.removeClass(act,'active');
38 38 YUD.setStyle(act,'display','none');
39 39 }else{
40 40 YUD.addClass(act,'active');
41 41 YUD.setStyle(act,'display','');
42 42 }
43 43 });
44 44
45 45 })
46 46 </script>
47 47 </%def>
@@ -1,48 +1,48 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 ${c.repo_name} ${_('Files')} - ${c.rhodecode_name}
4 ${_('%s Files') % c.repo_name} - ${c.rhodecode_name}
5 5 </%def>
6 6
7 7 <%def name="breadcrumbs_links()">
8 8 ${h.link_to(u'Home',h.url('/'))}
9 9 &raquo;
10 10 ${h.link_to(c.repo_name,h.url('files_home',repo_name=c.repo_name))}
11 11 &raquo;
12 12 ${_('files')}
13 13 %if c.file:
14 14 @ r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
15 15 %endif
16 16 </%def>
17 17
18 18 <%def name="page_nav()">
19 19 ${self.menu('files')}
20 20 </%def>
21 21
22 22 <%def name="main()">
23 23 <div class="box">
24 24 <!-- box / title -->
25 25 <div class="title">
26 26 ${self.breadcrumbs()}
27 27 <ul class="links">
28 28 <li>
29 29 <span style="text-transform: uppercase;"><a href="#">${_('branch')}: ${c.changeset.branch}</a></span>
30 30 </li>
31 31 </ul>
32 32 </div>
33 33 <div class="table">
34 34 <div id="files_data">
35 35 <%include file='files_ypjax.html'/>
36 36 </div>
37 37 </div>
38 38 </div>
39 39 <script type="text/javascript">
40 40 var YPJAX_TITLE = "${c.repo_name} ${_('Files')} - ${c.rhodecode_name}";
41 41 var current_url = "${h.url.current()}";
42 42 var node_list_url = '${h.url("files_home",repo_name=c.repo_name,revision=c.changeset.raw_id,f_path='__FPATH__')}';
43 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 44 var truncated_lbl = "${_('search truncated')}";
45 45 var nomatch_lbl = "${_('no matching files')}";
46 46 fileBrowserListeners(current_url, node_list_url, url_base, truncated_lbl, nomatch_lbl);
47 47 </script>
48 48 </%def>
@@ -1,92 +1,92 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 ${c.repo_name} ${_('Edit file')} - ${c.rhodecode_name}
4 ${_('%s Edit file') % c.repo_name} - ${c.rhodecode_name}
5 5 </%def>
6 6
7 7 <%def name="js_extra()">
8 8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script>
9 9 </%def>
10 10 <%def name="css_extra()">
11 11 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/>
12 12 </%def>
13 13
14 14 <%def name="breadcrumbs_links()">
15 15 ${h.link_to(u'Home',h.url('/'))}
16 16 &raquo;
17 17 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
18 18 &raquo;
19 19 ${_('add file')} @ R${c.cs.revision}:${h.short_id(c.cs.raw_id)}
20 20 </%def>
21 21
22 22 <%def name="page_nav()">
23 23 ${self.menu('files')}
24 24 </%def>
25 25 <%def name="main()">
26 26 <div class="box">
27 27 <!-- box / title -->
28 28 <div class="title">
29 29 ${self.breadcrumbs()}
30 30 <ul class="links">
31 31 <li>
32 32 <span style="text-transform: uppercase;">
33 33 <a href="#">${_('branch')}: ${c.cs.branch}</a></span>
34 34 </li>
35 35 </ul>
36 36 </div>
37 37 <div class="table">
38 38 <div id="files_data">
39 39 ${h.form(h.url.current(),method='post',id='eform',enctype="multipart/form-data")}
40 40 <h3>${_('Add new file')}</h3>
41 41 <div class="form">
42 42 <div class="fields">
43 43 <div id="filename_container" class="field file">
44 44 <div class="label">
45 45 <label for="filename">${_('File Name')}:</label>
46 46 </div>
47 47 <div class="input">
48 48 <input type="text" value="" size="30" name="filename" id="filename">
49 49 ${_('or')} <span class="ui-btn" id="upload_file_enable">${_('Upload file')}</span>
50 50 </div>
51 51 </div>
52 52 <div id="upload_file_container" class="field" style="display:none">
53 53 <div class="label">
54 54 <label for="location">${_('Upload file')}</label>
55 55 </div>
56 56 <div class="file">
57 57 <input type="file" size="30" name="upload_file" id="upload_file">
58 58 ${_('or')} <span class="ui-btn" id="file_enable">${_('Create new file')}</span>
59 59 </div>
60 60 </div>
61 61 <div class="field">
62 62 <div class="label">
63 63 <label for="location">${_('Location')}</label>
64 64 </div>
65 65 <div class="input">
66 66 <input type="text" value="${c.f_path}" size="30" name="location" id="location">
67 67 ${_('use / to separate directories')}
68 68 </div>
69 69 </div>
70 70 </div>
71 71 </div>
72 72 <div id="body" class="codeblock">
73 73 <div id="editor_container">
74 74 <pre id="editor_pre"></pre>
75 75 <textarea id="editor" name="content" style="display:none"></textarea>
76 76 </div>
77 77 <div style="padding: 10px;color:#666666">${_('commit message')}</div>
78 78 <textarea id="commit" name="message" style="height: 100px;width: 99%;margin-left:4px"></textarea>
79 79 </div>
80 80 <div style="text-align: l;padding-top: 5px">
81 81 ${h.submit('commit',_('Commit changes'),class_="ui-btn")}
82 82 ${h.reset('reset',_('Reset'),class_="ui-btn")}
83 83 </div>
84 84 ${h.end_form()}
85 85 <script type="text/javascript">
86 86 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.f_path)}";
87 87 initCodeMirror('editor',reset_url);
88 88 </script>
89 89 </div>
90 90 </div>
91 91 </div>
92 92 </%def>
@@ -1,116 +1,116 b''
1 1 <%def name="file_class(node)">
2 2 %if node.is_file():
3 3 <%return "browser-file" %>
4 4 %else:
5 5 <%return "browser-dir"%>
6 6 %endif
7 7 </%def>
8 8 <div id="body" class="browserblock">
9 9 <div class="browser-header">
10 10 <div class="browser-nav">
11 11 ${h.form(h.url.current())}
12 12 <div class="info_box">
13 13 <span class="rev">${_('view')}@rev</span>
14 14 <a class="ui-btn" href="${c.url_prev}" title="${_('previous revision')}">&laquo;</a>
15 15 ${h.text('at_rev',value=c.changeset.revision,size=5)}
16 16 <a class="ui-btn" href="${c.url_next}" title="${_('next revision')}">&raquo;</a>
17 17 ## ${h.submit('view',_('view'),class_="ui-btn")}
18 18 </div>
19 19 ${h.end_form()}
20 20 </div>
21 21 <div class="browser-branch">
22 22 ${h.checkbox('stay_at_branch',c.changeset.branch,c.changeset.branch==c.branch)}
23 23 <label>${_('follow current branch')}</label>
24 24 </div>
25 25 <div class="browser-search">
26 26 <div id="search_activate_id" class="search_activate">
27 27 <a class="ui-btn" id="filter_activate" href="#">${_('search file list')}</a>
28 28 </div>
29 29 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
30 30 <div id="add_node_id" class="add_node">
31 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 32 </div>
33 33 % endif
34 34 <div>
35 35 <div id="node_filter_box_loading" style="display:none">${_('Loading file list...')}</div>
36 36 <div id="node_filter_box" style="display:none">
37 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 38 </div>
39 39 </div>
40 40 </div>
41 41 </div>
42 42
43 43 <div class="browser-body">
44 44 <table class="code-browser">
45 45 <thead>
46 46 <tr>
47 47 <th>${_('Name')}</th>
48 48 <th>${_('Size')}</th>
49 49 <th>${_('Mimetype')}</th>
50 50 <th>${_('Last Revision')}</th>
51 51 <th>${_('Last modified')}</th>
52 52 <th>${_('Last commiter')}</th>
53 53 </tr>
54 54 </thead>
55 55
56 56 <tbody id="tbody">
57 57 %if c.file.parent:
58 58 <tr class="parity0">
59 59 <td>
60 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 61 </td>
62 62 <td></td>
63 63 <td></td>
64 64 <td></td>
65 65 <td></td>
66 66 <td></td>
67 67 </tr>
68 68 %endif
69 69
70 70 %for cnt,node in enumerate(c.file):
71 71 <tr class="parity${cnt%2}">
72 72 <td>
73 73 %if node.is_submodule():
74 74 ${h.link_to(node.name,node.url or '#',class_="submodule-dir ypjax-link")}
75 75 %else:
76 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 77 %endif:
78 78 </td>
79 79 <td>
80 80 %if node.is_file():
81 81 ${h.format_byte_size(node.size,binary=True)}
82 82 %endif
83 83 </td>
84 84 <td>
85 85 %if node.is_file():
86 86 ${node.mimetype}
87 87 %endif
88 88 </td>
89 89 <td>
90 90 %if node.is_file():
91 91 <div class="tooltip" title="${node.last_changeset.message}">
92 92 <pre>${'r%s:%s' % (node.last_changeset.revision,node.last_changeset.short_id)}</pre>
93 93 </div>
94 94 %endif
95 95 </td>
96 96 <td>
97 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 99 ${h.age(node.last_changeset.date)}</span>
100 100 %endif
101 101 </td>
102 102 <td>
103 103 %if node.is_file():
104 104 <span title="${node.last_changeset.author}">
105 105 ${h.person(node.last_changeset.author)}
106 106 </span>
107 107 %endif
108 108 </td>
109 109 </tr>
110 110 %endfor
111 111 </tbody>
112 112 <tbody id="tbody_filtered" style="display:none">
113 113 </tbody>
114 114 </table>
115 115 </div>
116 116 </div>
@@ -1,78 +1,78 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 ${c.repo_name} ${_('Edit file')} - ${c.rhodecode_name}
4 ${_('%s Edit file') % c.repo_name} - ${c.rhodecode_name}
5 5 </%def>
6 6
7 7 <%def name="js_extra()">
8 8 <script type="text/javascript" src="${h.url('/js/codemirror.js')}"></script>
9 9 </%def>
10 10 <%def name="css_extra()">
11 11 <link rel="stylesheet" type="text/css" href="${h.url('/css/codemirror.css')}"/>
12 12 </%def>
13 13
14 14 <%def name="breadcrumbs_links()">
15 15 ${h.link_to(u'Home',h.url('/'))}
16 16 &raquo;
17 17 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
18 18 &raquo;
19 19 ${_('edit file')} @ R${c.cs.revision}:${h.short_id(c.cs.raw_id)}
20 20 </%def>
21 21
22 22 <%def name="page_nav()">
23 23 ${self.menu('files')}
24 24 </%def>
25 25 <%def name="main()">
26 26 <div class="box">
27 27 <!-- box / title -->
28 28 <div class="title">
29 29 ${self.breadcrumbs()}
30 30 <ul class="links">
31 31 <li>
32 32 <span style="text-transform: uppercase;">
33 33 <a href="#">${_('branch')}: ${c.cs.branch}</a></span>
34 34 </li>
35 35 </ul>
36 36 </div>
37 37 <div class="table">
38 38 <div id="files_data">
39 39 <h3 class="files_location">${_('Location')}: ${h.files_breadcrumbs(c.repo_name,c.cs.revision,c.file.path)}</h3>
40 40 ${h.form(h.url.current(),method='post',id='eform')}
41 41 <div id="body" class="codeblock">
42 42 <div class="code-header">
43 43 <div class="stats">
44 44 <div class="left"><img src="${h.url('/images/icons/file.png')}"/></div>
45 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 46 <div class="left item">${h.format_byte_size(c.file.size,binary=True)}</div>
47 47 <div class="left item last">${c.file.mimetype}</div>
48 48 <div class="buttons">
49 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 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 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 52 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
53 53 % if not c.file.is_binary:
54 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 55 % endif
56 56 % endif
57 57 </div>
58 58 </div>
59 59 <div class="commit">${_('Editing file')}: ${c.file.unicode_path}</div>
60 60 </div>
61 61 <pre id="editor_pre"></pre>
62 62 <textarea id="editor" name="content" style="display:none">${h.escape(c.file.content)|n}</textarea>
63 63 <div style="padding: 10px;color:#666666">${_('commit message')}</div>
64 64 <textarea id="commit" name="message" style="height: 60px;width: 99%;margin-left:4px"></textarea>
65 65 </div>
66 66 <div style="text-align: left;padding-top: 5px">
67 67 ${h.submit('commit',_('Commit changes'),class_="ui-btn")}
68 68 ${h.reset('reset',_('Reset'),class_="ui-btn")}
69 69 </div>
70 70 ${h.end_form()}
71 71 <script type="text/javascript">
72 72 var reset_url = "${h.url('files_home',repo_name=c.repo_name,revision=c.cs.raw_id,f_path=c.file.path)}";
73 73 initCodeMirror('editor',reset_url);
74 74 </script>
75 75 </div>
76 76 </div>
77 77 </div>
78 78 </%def>
@@ -1,114 +1,114 b''
1 1 <dl>
2 2 <dt style="padding-top:10px;font-size:16px">${_('History')}</dt>
3 3 <dd>
4 4 <div>
5 5 ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')}
6 6 ${h.hidden('diff2',c.file.changeset.raw_id)}
7 7 ${h.select('diff1',c.file.changeset.raw_id,c.file_history)}
8 8 ${h.submit('diff','diff to revision',class_="ui-btn")}
9 9 ${h.submit('show_rev','show at revision',class_="ui-btn")}
10 10 ${h.end_form()}
11 11 </div>
12 12 </dd>
13 13 </dl>
14 14
15 15 <div id="body" class="codeblock">
16 16 <div class="code-header">
17 17 <div class="stats">
18 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 20 <div class="left item"><pre>${h.format_byte_size(c.file.size,binary=True)}</pre></div>
21 21 <div class="left item last"><pre>${c.file.mimetype}</pre></div>
22 22 <div class="buttons">
23 23 %if c.annotate:
24 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 25 %else:
26 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 27 %endif
28 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 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 30 % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
31 31 % if not c.file.is_binary:
32 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 33 % endif
34 34 % endif
35 35 </div>
36 36 </div>
37 37 <div class="author">
38 38 <div class="gravatar">
39 39 <img alt="gravatar" src="${h.gravatar_url(h.email(c.file.changeset.author),16)}"/>
40 40 </div>
41 41 <div title="${c.file.changeset.author}" class="user">${h.person(c.file.changeset.author)}</div>
42 42 </div>
43 43 <div class="commit">${h.urlify_commit(c.file.changeset.message,c.repo_name)}</div>
44 44 </div>
45 45 <div class="code-body">
46 46 %if c.file.is_binary:
47 47 ${_('Binary file (%s)') % c.file.mimetype}
48 48 %else:
49 49 % if c.file.size < c.cut_off_limit:
50 50 %if c.annotate:
51 51 ${h.pygmentize_annotation(c.repo_name,c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
52 52 %else:
53 53 ${h.pygmentize(c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
54 54 %endif
55 55 %else:
56 56 ${_('File is too big to display')} ${h.link_to(_('show as raw'),
57 57 h.url('files_raw_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path))}
58 58 %endif
59 59 %endif
60 60 </div>
61 61 </div>
62 62
63 63 <script type="text/javascript">
64 64 YUE.onDOMReady(function(){
65 65 function highlight_lines(lines){
66 66 for(pos in lines){
67 67 YUD.setStyle('L'+lines[pos],'background-color','#FFFFBE');
68 68 }
69 69 }
70 70 page_highlights = location.href.substring(location.href.indexOf('#')+1).split('L');
71 71 if (page_highlights.length == 2){
72 72 highlight_ranges = page_highlights[1].split(",");
73 73
74 74 var h_lines = [];
75 75 for (pos in highlight_ranges){
76 76 var _range = highlight_ranges[pos].split('-');
77 77 if(_range.length == 2){
78 78 var start = parseInt(_range[0]);
79 79 var end = parseInt(_range[1]);
80 80 if (start < end){
81 81 for(var i=start;i<=end;i++){
82 82 h_lines.push(i);
83 83 }
84 84 }
85 85 }
86 86 else{
87 87 h_lines.push(parseInt(highlight_ranges[pos]));
88 88 }
89 89 }
90 90 highlight_lines(h_lines);
91 91
92 92 //remember original location
93 93 var old_hash = location.href.substring(location.href.indexOf('#'));
94 94
95 95 // this makes a jump to anchor moved by 3 posstions for padding
96 96 window.location.hash = '#L'+Math.max(parseInt(h_lines[0])-3,1);
97 97
98 98 //sets old anchor
99 99 window.location.hash = old_hash;
100 100
101 101 }
102 102 YUE.on('show_rev','click',function(e){
103 103 YUE.preventDefault(e);
104 104 var cs = YUD.get('diff1').value;
105 105 %if c.annotate:
106 106 var url = "${h.url('files_annotate_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
107 107 %else:
108 108 var url = "${h.url('files_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
109 109 %endif
110 110 window.location = url;
111 111 });
112 112 YUE.on('hlcode','mouseup',getSelectionLink("${_('Selection link')}"))
113 113 });
114 114 </script>
@@ -1,32 +1,32 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Followers')} - ${c.rhodecode_name}
5 ${_('%s Followers') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(u'Home',h.url('/'))}
10 10 &raquo;
11 11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 12 &raquo;
13 13 ${_('followers')}
14 14 </%def>
15 15
16 16 <%def name="page_nav()">
17 17 ${self.menu('followers')}
18 18 </%def>
19 19 <%def name="main()">
20 20 <div class="box">
21 21 <!-- box / title -->
22 22 <div class="title">
23 23 ${self.breadcrumbs()}
24 24 </div>
25 25 <!-- end box / title -->
26 26 <div class="table">
27 27 <div id="followers">
28 28 ${c.followers_data}
29 29 </div>
30 30 </div>
31 31 </div>
32 32 </%def>
@@ -1,28 +1,28 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 3 % for f in c.followers_pager:
4 4 <div>
5 5 <div class="follower_user">
6 6 <div class="gravatar">
7 7 <img alt="gravatar" src="${h.gravatar_url(f.user.email,24)}"/>
8 8 </div>
9 9 <span style="font-size: 20px"> <b>${f.user.username}</b> (${f.user.name} ${f.user.lastname})</span>
10 10 </div>
11 11 <div style="clear:both;padding-top: 10px"></div>
12 <div class="follower_date">${_('Started following')} -
12 <div class="follower_date">${_('Started following -')}
13 13 <span class="tooltip" title="${f.follows_from}"> ${h.age(f.follows_from)}</span></div>
14 14 <div style="border-bottom: 1px solid #DDD;margin:10px 0px 10px 0px"></div>
15 15 </div>
16 16 % endfor
17 17
18 18 <div class="pagination-wh pagination-left">
19 19 <script type="text/javascript">
20 20 YUE.onDOMReady(function(){
21 21 YUE.delegate("followers","click",function(e, matchedEl, container){
22 22 ypjax(e.target.href,"followers",function(){show_more_event();tooltip_activate();});
23 23 YUE.preventDefault(e);
24 24 },'.pager_link');
25 25 });
26 26 </script>
27 27 ${c.followers_pager.pager('$link_previous ~2~ $link_next')}
28 28 </div>
@@ -1,86 +1,86 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Fork')} - ${c.rhodecode_name}
5 ${_('%s Fork') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(u'Home',h.url('/'))}
10 10 &raquo;
11 11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
12 12 &raquo;
13 13 ${_('fork')}
14 14 </%def>
15 15
16 16 <%def name="page_nav()">
17 17 ${self.menu('')}
18 18 </%def>
19 19 <%def name="main()">
20 20 <div class="box">
21 21 <!-- box / title -->
22 22 <div class="title">
23 23 ${self.breadcrumbs()}
24 24 </div>
25 25 ${h.form(url('repo_fork_create_home',repo_name=c.repo_info.repo_name))}
26 26 <div class="form">
27 27 <!-- fields -->
28 28 <div class="fields">
29 29 <div class="field">
30 30 <div class="label">
31 31 <label for="repo_name">${_('Fork name')}:</label>
32 32 </div>
33 33 <div class="input">
34 34 ${h.text('repo_name',class_="small")}
35 35 ${h.hidden('repo_type',c.repo_info.repo_type)}
36 36 ${h.hidden('fork_parent_id',c.repo_info.repo_id)}
37 37 </div>
38 38 </div>
39 39 <div class="field">
40 40 <div class="label">
41 41 <label for="repo_group">${_('Repository group')}:</label>
42 42 </div>
43 43 <div class="input">
44 44 ${h.select('repo_group','',c.repo_groups,class_="medium")}
45 45 </div>
46 46 </div>
47 47 <div class="field">
48 48 <div class="label label-textarea">
49 49 <label for="description">${_('Description')}:</label>
50 50 </div>
51 51 <div class="textarea text-area editor">
52 52 ${h.textarea('description',cols=23,rows=5)}
53 53 </div>
54 54 </div>
55 55 <div class="field">
56 56 <div class="label label-checkbox">
57 57 <label for="private">${_('Private')}:</label>
58 58 </div>
59 59 <div class="checkboxes">
60 60 ${h.checkbox('private',value="True")}
61 61 </div>
62 62 </div>
63 63 <div class="field">
64 64 <div class="label label-checkbox">
65 65 <label for="private">${_('Copy permissions')}:</label>
66 66 </div>
67 67 <div class="checkboxes">
68 68 ${h.checkbox('copy_permissions',value="True", checked="checked")}
69 69 </div>
70 70 </div>
71 71 <div class="field">
72 72 <div class="label label-checkbox">
73 73 <label for="private">${_('Update after clone')}:</label>
74 74 </div>
75 75 <div class="checkboxes">
76 76 ${h.checkbox('update_after_clone',value="True")}
77 77 </div>
78 78 </div>
79 79 <div class="buttons">
80 80 ${h.submit('',_('fork this repository'),class_="ui-button")}
81 81 </div>
82 82 </div>
83 83 </div>
84 84 ${h.end_form()}
85 85 </div>
86 86 </%def>
@@ -1,32 +1,32 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Forks')} - ${c.rhodecode_name}
5 ${_('%s Forks') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(u'Home',h.url('/'))}
10 10 &raquo;
11 11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 12 &raquo;
13 13 ${_('forks')}
14 14 </%def>
15 15
16 16 <%def name="page_nav()">
17 17 ${self.menu('forks')}
18 18 </%def>
19 19 <%def name="main()">
20 20 <div class="box">
21 21 <!-- box / title -->
22 22 <div class="title">
23 23 ${self.breadcrumbs()}
24 24 </div>
25 25 <!-- end box / title -->
26 26 <div class="table">
27 27 <div id="forks">
28 28 ${c.forks_data}
29 29 </div>
30 30 </div>
31 31 </div>
32 32 </%def>
@@ -1,201 +1,201 b''
1 1 <%page args="parent" />
2 2 <div class="box">
3 3 <!-- box / title -->
4 4 <div class="title">
5 5 <h5>
6 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 7 </h5>
8 8 %if c.rhodecode_user.username != 'default':
9 9 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
10 10 <ul class="links">
11 11 <li>
12 12 %if c.group:
13 13 <span>${h.link_to(_('ADD REPOSITORY'),h.url('admin_settings_create_repository',parent_group=c.group.group_id))}</span>
14 14 %else:
15 15 <span>${h.link_to(_('ADD REPOSITORY'),h.url('admin_settings_create_repository'))}</span>
16 16 %endif
17 17 </li>
18 18 </ul>
19 19 %endif
20 20 %endif
21 21 </div>
22 22 <!-- end box / title -->
23 23 <div class="table">
24 24 % if c.groups:
25 25 <div id='groups_list_wrap' class="yui-skin-sam">
26 26 <table id="groups_list">
27 27 <thead>
28 28 <tr>
29 29 <th class="left"><a href="#">${_('Group name')}</a></th>
30 30 <th class="left"><a href="#">${_('Description')}</a></th>
31 31 ##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
32 32 </tr>
33 33 </thead>
34 34
35 35 ## REPO GROUPS
36 36 % for gr in c.groups:
37 37 <tr>
38 38 <td>
39 39 <div style="white-space: nowrap">
40 40 <img class="icon" alt="${_('Repositories group')}" src="${h.url('/images/icons/database_link.png')}"/>
41 41 ${h.link_to(gr.name,url('repos_group_home',group_name=gr.group_name))}
42 42 </div>
43 43 </td>
44 44 <td>${gr.group_description}</td>
45 45 ## this is commented out since for multi nested repos can be HEAVY!
46 46 ## in number of executed queries during traversing uncomment at will
47 47 ##<td><b>${gr.repositories_recursive_count}</b></td>
48 48 </tr>
49 49 % endfor
50 50
51 51 </table>
52 52 </div>
53 53 <div style="height: 20px"></div>
54 54 % endif
55 55 <div id="welcome" style="display:none;text-align:center">
56 56 <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
57 57 </div>
58 58 <div id='repos_list_wrap' class="yui-skin-sam">
59 59 <%cnt=0%>
60 60 <%namespace name="dt" file="/data_table/_dt_elements.html"/>
61 61
62 62 <table id="repos_list">
63 63 <thead>
64 64 <tr>
65 65 <th class="left"></th>
66 66 <th class="left">${_('Name')}</th>
67 67 <th class="left">${_('Description')}</th>
68 68 <th class="left">${_('Last change')}</th>
69 69 <th class="left">${_('Tip')}</th>
70 70 <th class="left">${_('Owner')}</th>
71 71 <th class="left">${_('RSS')}</th>
72 72 <th class="left">${_('Atom')}</th>
73 73 </tr>
74 74 </thead>
75 75 <tbody>
76 76 %for cnt,repo in enumerate(c.repos_list):
77 77 <tr class="parity${(cnt+1)%2}">
78 78 ##QUICK MENU
79 79 <td class="quick_repo_menu">
80 80 ${dt.quick_menu(repo['name'])}
81 81 </td>
82 82 ##REPO NAME AND ICONS
83 83 <td class="reponame">
84 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 85 </td>
86 86 ##DESCRIPTION
87 87 <td><span class="tooltip" title="${h.tooltip(repo['description'])}">
88 88 ${h.truncate(repo['description'],60)}</span>
89 89 </td>
90 90 ##LAST CHANGE DATE
91 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 93 </td>
94 94 ##LAST REVISION
95 95 <td>
96 96 ${dt.revision(repo['name'],repo['rev'],repo['tip'],repo['author'],repo['last_msg'])}
97 97 </td>
98 98 ##
99 99 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
100 100 <td>
101 101 %if c.rhodecode_user.username != 'default':
102 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 103 %else:
104 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 105 %endif:
106 106 </td>
107 107 <td>
108 108 %if c.rhodecode_user.username != 'default':
109 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 110 %else:
111 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 112 %endif:
113 113 </td>
114 114 </tr>
115 115 %endfor
116 116 </tbody>
117 117 </table>
118 118 </div>
119 119 </div>
120 120 </div>
121 121 <script>
122 122 YUD.get('repo_count').innerHTML = ${cnt+1};
123 123 var func = function(node){
124 124 return node.parentNode.parentNode.parentNode.parentNode;
125 125 }
126 126
127 127
128 128 // groups table sorting
129 129 var myColumnDefs = [
130 130 {key:"name",label:"${_('Group Name')}",sortable:true,
131 131 sortOptions: { sortFunction: groupNameSort }},
132 132 {key:"desc",label:"${_('Description')}",sortable:true},
133 133 ];
134 134
135 135 var myDataSource = new YAHOO.util.DataSource(YUD.get("groups_list"));
136 136
137 137 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
138 138 myDataSource.responseSchema = {
139 139 fields: [
140 140 {key:"name"},
141 141 {key:"desc"},
142 142 ]
143 143 };
144 144
145 145 var myDataTable = new YAHOO.widget.DataTable("groups_list_wrap", myColumnDefs, myDataSource,
146 146 {
147 147 sortedBy:{key:"name",dir:"asc"},
148 148 MSG_SORTASC:"${_('Click to sort ascending')}",
149 149 MSG_SORTDESC:"${_('Click to sort descending')}"
150 150 }
151 151 );
152 152
153 153 // main table sorting
154 154 var myColumnDefs = [
155 155 {key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"},
156 156 {key:"name",label:"${_('Name')}",sortable:true,
157 157 sortOptions: { sortFunction: nameSort }},
158 158 {key:"desc",label:"${_('Description')}",sortable:true},
159 159 {key:"last_change",label:"${_('Last Change')}",sortable:true,
160 160 sortOptions: { sortFunction: ageSort }},
161 161 {key:"tip",label:"${_('Tip')}",sortable:true,
162 162 sortOptions: { sortFunction: revisionSort }},
163 163 {key:"owner",label:"${_('Owner')}",sortable:true},
164 164 {key:"rss",label:"",sortable:false},
165 165 {key:"atom",label:"",sortable:false},
166 166 ];
167 167
168 168 var myDataSource = new YAHOO.util.DataSource(YUD.get("repos_list"));
169 169
170 170 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
171 171
172 172 myDataSource.responseSchema = {
173 173 fields: [
174 174 {key:"menu"},
175 175 {key:"name"},
176 176 {key:"desc"},
177 177 {key:"last_change"},
178 178 {key:"tip"},
179 179 {key:"owner"},
180 180 {key:"rss"},
181 181 {key:"atom"},
182 182 ]
183 183 };
184 184
185 185 var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,
186 186 {
187 187 sortedBy:{key:"name",dir:"asc"},
188 188 MSG_SORTASC:"${_('Click to sort ascending')}",
189 189 MSG_SORTDESC:"${_('Click to sort descending')}",
190 190 MSG_EMPTY:"${_('No records found.')}",
191 191 MSG_ERROR:"${_('Data error.')}",
192 192 MSG_LOADING:"${_('Loading...')}",
193 193 }
194 194 );
195 195 myDataTable.subscribe('postRenderEvent',function(oArgs) {
196 196 tooltip_activate();
197 197 quick_repo_menu();
198 198 q_filter('q_filter',YUQ('div.table tr td a.repo_name'),func);
199 199 });
200 200
201 201 </script>
@@ -1,49 +1,49 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 3 %if c.journal_day_aggreagate:
4 4 %for day,items in c.journal_day_aggreagate:
5 5 <div class="journal_day">${day}</div>
6 6 % for user,entries in items:
7 7 <div class="journal_container">
8 8 <div class="gravatar">
9 9 <img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/>
10 10 </div>
11 11 <div class="journal_user">${user.name} ${user.lastname}</div>
12 12 <div class="journal_action_container">
13 13 % for entry in entries:
14 14 <div class="journal_icon"> ${h.action_parser(entry)[2]()}</div>
15 15 <div class="journal_action">${h.action_parser(entry)[0]()}</div>
16 16 <div class="journal_repo">
17 17 <span class="journal_repo_name">
18 18 %if entry.repository is not None:
19 19 ${h.link_to(entry.repository.repo_name,
20 20 h.url('summary_home',repo_name=entry.repository.repo_name))}
21 21 %else:
22 22 ${entry.repository_name}
23 23 %endif
24 24 </span>
25 25 </div>
26 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 28 %endfor
29 29 </div>
30 30 </div>
31 31 %endfor
32 32 %endfor
33 33
34 34 <div class="pagination-wh pagination-left">
35 35 <script type="text/javascript">
36 36 YUE.onDOMReady(function(){
37 37 YUE.delegate("journal","click",function(e, matchedEl, container){
38 38 ypjax(e.target.href,"journal",function(){show_more_event();tooltip_activate();});
39 39 YUE.preventDefault(e);
40 40 },'.pager_link');
41 41 });
42 42 </script>
43 43 ${c.journal_pager.pager('$link_previous ~2~ $link_next')}
44 44 </div>
45 45 %else:
46 46 <div style="padding:5px 0px 10px 10px;">
47 47 ${_('No entries yet')}
48 48 </div>
49 49 %endif
@@ -1,20 +1,20 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 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 5 </li>
6 6
7 7 %for repo in c.repos_list:
8 8
9 9 %if repo['dbrepo']['private']:
10 10 <li>
11 11 <img src="${h.url('/images/icons/lock.png')}" alt="${_('Private repository')}" class="repo_switcher_type"/>
12 12 ${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']),class_="repo_name %s" % repo['dbrepo']['repo_type'])}
13 13 </li>
14 14 %else:
15 15 <li>
16 16 <img src="${h.url('/images/icons/lock_open.png')}" alt="${_('Public repository')}" class="repo_switcher_type" />
17 17 ${h.link_to(repo['name'],h.url('summary_home',repo_name=repo['name']),class_="repo_name %s" % repo['dbrepo']['repo_type'])}
18 18 </li>
19 19 %endif
20 20 %endfor
@@ -1,92 +1,92 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Settings')} - ${c.rhodecode_name}
5 ${_('%s Settings') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8 <%def name="breadcrumbs_links()">
9 9 ${h.link_to(u'Home',h.url('/'))}
10 10 &raquo;
11 11 ${h.link_to(c.repo_info.repo_name,h.url('summary_home',repo_name=c.repo_info.repo_name))}
12 12 &raquo;
13 13 ${_('Settings')}
14 14 </%def>
15 15
16 16 <%def name="page_nav()">
17 17 ${self.menu('settings')}
18 18 </%def>
19 19 <%def name="main()">
20 20 <div class="box">
21 21 <!-- box / title -->
22 22 <div class="title">
23 23 ${self.breadcrumbs()}
24 24 </div>
25 25 ${h.form(url('repo_settings_update', repo_name=c.repo_info.repo_name),method='put')}
26 26 <div class="form">
27 27 <!-- fields -->
28 28 <div class="fields">
29 29 <div class="field">
30 30 <div class="label">
31 31 <label for="repo_name">${_('Name')}:</label>
32 32 </div>
33 33 <div class="input input-medium">
34 34 ${h.text('repo_name',class_="small")}
35 35 </div>
36 36 </div>
37 37 <div class="field">
38 38 <div class="label">
39 39 <label for="clone_uri">${_('Clone uri')}:</label>
40 40 </div>
41 41 <div class="input">
42 42 ${h.text('clone_uri',class_="medium")}
43 43 <span class="help-block">${_('Optional http[s] url from which repository should be cloned.')}</span>
44 44 </div>
45 45 </div>
46 46 <div class="field">
47 47 <div class="label">
48 48 <label for="repo_group">${_('Repository group')}:</label>
49 49 </div>
50 50 <div class="input">
51 51 ${h.select('repo_group','',c.repo_groups,class_="medium")}
52 52 <span class="help-block">${_('Optional select a group to put this repository into.')}</span>
53 53 </div>
54 54 </div>
55 55 <div class="field">
56 56 <div class="label label-textarea">
57 57 <label for="description">${_('Description')}:</label>
58 58 </div>
59 59 <div class="textarea text-area editor">
60 60 ${h.textarea('description')}
61 61 <span class="help-block">${_('Keep it short and to the point. Use a README file for longer descriptions.')}</span>
62 62 </div>
63 63 </div>
64 64
65 65 <div class="field">
66 66 <div class="label label-checkbox">
67 67 <label for="private">${_('Private repository')}:</label>
68 68 </div>
69 69 <div class="checkboxes">
70 70 ${h.checkbox('private',value="True")}
71 71 <span class="help-block">${_('Private repositories are only visible to people explicitly added as collaborators.')}</span>
72 72 </div>
73 73 </div>
74 74
75 75 <div class="field">
76 76 <div class="label">
77 77 <label for="">${_('Permissions')}:</label>
78 78 </div>
79 79 <div class="input">
80 80 <%include file="../admin/repos/repo_edit_perms.html"/>
81 81 </div>
82 82
83 83 <div class="buttons">
84 84 ${h.submit('save',_('Save'),class_="ui-button")}
85 85 ${h.reset('reset',_('Reset'),class_="ui-button")}
86 86 </div>
87 87 </div>
88 88 </div>
89 89 ${h.end_form()}
90 90 </div>
91 91 </div>
92 92 </%def>
@@ -1,33 +1,33 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Shortlog')} - ${c.rhodecode_name}
5 ${_('%s Shortlog') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 ${h.link_to(u'Home',h.url('/'))}
11 11 &raquo;
12 12 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
13 13 &raquo;
14 14 ${_('shortlog')}
15 15 </%def>
16 16
17 17 <%def name="page_nav()">
18 18 ${self.menu('shortlog')}
19 19 </%def>
20 20 <%def name="main()">
21 21 <div class="box">
22 22 <!-- box / title -->
23 23 <div class="title">
24 24 ${self.breadcrumbs()}
25 25 </div>
26 26 <!-- end box / title -->
27 27 <div class="table">
28 28 <div id="shortlog_data">
29 29 ${c.shortlog_data}
30 30 </div>
31 31 </div>
32 32 </div>
33 33 </%def>
@@ -1,83 +1,83 b''
1 1 ## -*- coding: utf-8 -*-
2 2 %if c.repo_changesets:
3 3 <table class="table_disp">
4 4 <tr>
5 5 <th class="left">${_('revision')}</th>
6 6 <th class="left">${_('commit message')}</th>
7 7 <th class="left">${_('age')}</th>
8 8 <th class="left">${_('author')}</th>
9 9 <th class="left">${_('branch')}</th>
10 10 <th class="left">${_('tags')}</th>
11 11 </tr>
12 12 %for cnt,cs in enumerate(c.repo_changesets):
13 13 <tr class="parity${cnt%2}">
14 14 <td>
15 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 16 </td>
17 17 <td>
18 18 ${h.link_to(h.truncate(cs.message,50) or _('No commit message'),
19 19 h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id),
20 20 title=cs.message)}
21 21 </td>
22 <td><span class="tooltip" title="${cs.date}">
22 <td><span class="tooltip" title="${h.fmt_date(cs.date)}">
23 23 ${h.age(cs.date)}</span>
24 24 </td>
25 25 <td title="${cs.author}">${h.person(cs.author)}</td>
26 26 <td>
27 27 <span class="logtags">
28 28 %if cs.branch:
29 29 <span class="branchtag">
30 30 ${cs.branch}
31 31 </span>
32 32 %endif
33 33 </span>
34 34 </td>
35 35 <td>
36 36 <span class="logtags">
37 37 %for tag in cs.tags:
38 38 <span class="tagtag">${tag}</span>
39 39 %endfor
40 40 </span>
41 41 </td>
42 42 </tr>
43 43 %endfor
44 44
45 45 </table>
46 46
47 47 <script type="text/javascript">
48 48 YUE.onDOMReady(function(){
49 49 YUE.delegate("shortlog_data","click",function(e, matchedEl, container){
50 50 ypjax(e.target.href,"shortlog_data",function(){tooltip_activate();});
51 51 YUE.preventDefault(e);
52 52 },'.pager_link');
53 53 });
54 54 </script>
55 55
56 56 <div class="pagination-wh pagination-left">
57 57 ${c.repo_changesets.pager('$link_previous ~2~ $link_next')}
58 58 </div>
59 59 %else:
60 60
61 61 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
62 62 <h4>${_('Add or upload files directly via RhodeCode')}</h4>
63 63 <div style="margin: 20px 30px;">
64 64 <div id="add_node_id" class="add_node">
65 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 66 </div>
67 67 </div>
68 68 %endif
69 69
70 70
71 71 <h4>${_('Push new repo')}</h4>
72 72 <pre>
73 73 ${c.rhodecode_repo.alias} clone ${c.clone_repo_url}
74 74 ${c.rhodecode_repo.alias} add README # add first file
75 75 ${c.rhodecode_repo.alias} commit -m "Initial" # commit with message
76 76 ${c.rhodecode_repo.alias} push ${'origin master' if h.is_git(c.rhodecode_repo) else ''} # push changes back
77 77 </pre>
78 78
79 79 <h4>${_('Existing repository?')}</h4>
80 80 <pre>
81 81 ${c.rhodecode_repo.alias} push ${c.clone_repo_url}
82 82 </pre>
83 83 %endif
@@ -1,703 +1,703 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 ${c.repo_name} ${_('Summary')} - ${c.rhodecode_name}
4 ${_('%s Summary') % c.repo_name} - ${c.rhodecode_name}
5 5 </%def>
6 6
7 7 <%def name="breadcrumbs_links()">
8 8 ${h.link_to(u'Home',h.url('/'))}
9 9 &raquo;
10 10 ${h.link_to(c.dbrepo.just_name,h.url('summary_home',repo_name=c.repo_name))}
11 11 &raquo;
12 12 ${_('summary')}
13 13 </%def>
14 14
15 15 <%def name="page_nav()">
16 16 ${self.menu('summary')}
17 17 </%def>
18 18
19 19 <%def name="head_extra()">
20 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 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 22 </%def>
23 23
24 24 <%def name="main()">
25 25 <%
26 26 summary = lambda n:{False:'summary-short'}.get(n)
27 27 %>
28 28 %if c.show_stats:
29 29 <div class="box box-left">
30 30 %else:
31 31 <div class="box">
32 32 %endif
33 33 <!-- box / title -->
34 34 <div class="title">
35 35 ${self.breadcrumbs()}
36 36 </div>
37 37 <!-- end box / title -->
38 38 <div class="form">
39 39 <div id="summary" class="fields">
40 40
41 41 <div class="field">
42 42 <div class="label-summary">
43 43 <label>${_('Name')}:</label>
44 44 </div>
45 45 <div class="input ${summary(c.show_stats)}">
46 46 <div style="float:right;padding:5px 0px 0px 5px">
47 47 %if c.rhodecode_user.username != 'default':
48 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 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 50 %else:
51 51 ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.dbrepo.repo_name),class_='rss_icon')}
52 52 ${h.link_to(_('ATOM'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='atom_icon')}
53 53 %endif
54 54 </div>
55 55 %if c.rhodecode_user.username != 'default':
56 56 %if c.following:
57 57 <span id="follow_toggle" class="following" title="${_('Stop following this repository')}"
58 58 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
59 59 </span>
60 60 %else:
61 61 <span id="follow_toggle" class="follow" title="${_('Start following this repository')}"
62 62 onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
63 63 </span>
64 64 %endif
65 65 %endif:
66 66 ##REPO TYPE
67 67 %if h.is_hg(c.dbrepo):
68 68 <img style="margin-bottom:2px" class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
69 69 %endif
70 70 %if h.is_git(c.dbrepo):
71 71 <img style="margin-bottom:2px" class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
72 72 %endif
73 73
74 74 ##PUBLIC/PRIVATE
75 75 %if c.dbrepo.private:
76 76 <img style="margin-bottom:2px" class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url('/images/icons/lock.png')}"/>
77 77 %else:
78 78 <img style="margin-bottom:2px" class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url('/images/icons/lock_open.png')}"/>
79 79 %endif
80 80
81 81 ##REPO NAME
82 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 84 ##FORK
85 85 %if c.dbrepo.fork:
86 86 <div style="margin-top:5px;clear:both"">
87 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 88 ${_('Fork of')} ${c.dbrepo.fork.repo_name}
89 89 </a>
90 90 </div>
91 91 %endif
92 92 ##REMOTE
93 93 %if c.dbrepo.clone_uri:
94 94 <div style="margin-top:5px;clear:both">
95 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 96 ${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}
97 97 </a>
98 98 </div>
99 99 %endif
100 100 </div>
101 101 </div>
102 102
103 103 <div class="field">
104 104 <div class="label-summary">
105 105 <label>${_('Description')}:</label>
106 106 </div>
107 107 <div class="input ${summary(c.show_stats)} desc">${h.urlify_text(c.dbrepo.description)}</div>
108 108 </div>
109 109
110 110 <div class="field">
111 111 <div class="label-summary">
112 112 <label>${_('Contact')}:</label>
113 113 </div>
114 114 <div class="input ${summary(c.show_stats)}">
115 115 <div class="gravatar">
116 116 <img alt="gravatar" src="${h.gravatar_url(c.dbrepo.user.email)}"/>
117 117 </div>
118 118 ${_('Username')}: ${c.dbrepo.user.username}<br/>
119 119 ${_('Name')}: ${c.dbrepo.user.name} ${c.dbrepo.user.lastname}<br/>
120 120 ${_('Email')}: <a href="mailto:${c.dbrepo.user.email}">${c.dbrepo.user.email}</a>
121 121 </div>
122 122 </div>
123 123
124 124 <div class="field">
125 125 <div class="label-summary">
126 126 <label>${_('Clone url')}:</label>
127 127 </div>
128 128 <div class="input ${summary(c.show_stats)}">
129 129 <div style="display:none" id="clone_by_name" class="ui-btn clone">${_('Show by Name')}</div>
130 130 <div id="clone_by_id" class="ui-btn clone">${_('Show by ID')}</div>
131 131 <input style="width:80%;margin-left:105px" type="text" id="clone_url" readonly="readonly" value="${c.clone_repo_url}"/>
132 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 133 </div>
134 134 </div>
135 135
136 136 <div class="field">
137 137 <div class="label-summary">
138 138 <label>${_('Trending files')}:</label>
139 139 </div>
140 140 <div class="input ${summary(c.show_stats)}">
141 141 %if c.show_stats:
142 142 <div id="lang_stats"></div>
143 143 %else:
144 144 ${_('Statistics are disabled for this repository')}
145 145 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
146 146 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
147 147 %endif
148 148 %endif
149 149 </div>
150 150 </div>
151 151
152 152 <div class="field">
153 153 <div class="label-summary">
154 154 <label>${_('Download')}:</label>
155 155 </div>
156 156 <div class="input ${summary(c.show_stats)}">
157 157 %if len(c.rhodecode_repo.revisions) == 0:
158 158 ${_('There are no downloads yet')}
159 159 %elif c.enable_downloads is False:
160 160 ${_('Downloads are disabled for this repository')}
161 161 %if h.HasPermissionAll('hg.admin')('enable downloads on from summary'):
162 162 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
163 163 %endif
164 164 %else:
165 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 167 <span style="vertical-align: bottom">
168 168 <input id="archive_subrepos" type="checkbox" name="subrepos" />
169 169 <label for="archive_subrepos" class="tooltip" title="${_('Check this to download archive with subrepos')}" >${_('with subrepos')}</label>
170 170 </span>
171 171 %endif
172 172 </div>
173 173 </div>
174 174 </div>
175 175 </div>
176 176 </div>
177 177
178 178 %if c.show_stats:
179 179 <div class="box box-right" style="min-height:455px">
180 180 <!-- box / title -->
181 181 <div class="title">
182 182 <h5>${_('Commit activity by day / author')}</h5>
183 183 </div>
184 184
185 185 <div class="graph">
186 186 <div style="padding:0 10px 10px 17px;">
187 187 %if c.no_data:
188 188 ${c.no_data_msg}
189 189 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
190 190 ${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name),class_="ui-btn")}
191 191 %endif
192 192 %else:
193 193 ${_('Stats gathered: ')} ${c.stats_percentage}%
194 194 %endif
195 195 </div>
196 196 <div id="commit_history" style="width:450px;height:300px;float:left"></div>
197 197 <div style="clear: both;height: 10px"></div>
198 198 <div id="overview" style="width:450px;height:100px;float:left"></div>
199 199
200 200 <div id="legend_data" style="clear:both;margin-top:10px;">
201 201 <div id="legend_container"></div>
202 202 <div id="legend_choices">
203 203 <table id="legend_choices_tables" class="noborder" style="font-size:smaller;color:#545454"></table>
204 204 </div>
205 205 </div>
206 206 </div>
207 207 </div>
208 208 %endif
209 209
210 210 <div class="box">
211 211 <div class="title">
212 212 <div class="breadcrumbs">
213 213 %if c.repo_changesets:
214 214 ${h.link_to(_('Shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}
215 215 %else:
216 216 ${_('Quick start')}
217 217 %endif
218 218 </div>
219 219 </div>
220 220 <div class="table">
221 221 <div id="shortlog_data">
222 222 <%include file='../shortlog/shortlog_data.html'/>
223 223 </div>
224 224 </div>
225 225 </div>
226 226
227 227 %if c.readme_data:
228 228 <div id="readme" class="box header-pos-fix" style="background-color: #FAFAFA">
229 229 <div id="readme" class="title">
230 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 231 </div>
232 232 <div id="readme" class="readme">
233 233 <div class="readme_box">
234 234 ${c.readme_data|n}
235 235 </div>
236 236 </div>
237 237 </div>
238 238 %endif
239 239
240 240 <script type="text/javascript">
241 241 var clone_url = 'clone_url';
242 242 YUE.on(clone_url,'click',function(e){
243 243 if(YUD.hasClass(clone_url,'selected')){
244 244 return
245 245 }
246 246 else{
247 247 YUD.addClass(clone_url,'selected');
248 248 YUD.get(clone_url).select();
249 249 }
250 250 })
251 251
252 252 YUE.on('clone_by_name','click',function(e){
253 253 // show url by name and hide name button
254 254 YUD.setStyle('clone_url','display','');
255 255 YUD.setStyle('clone_by_name','display','none');
256 256
257 257 // hide url by id and show name button
258 258 YUD.setStyle('clone_by_id','display','');
259 259 YUD.setStyle('clone_url_id','display','none');
260 260
261 261 })
262 262 YUE.on('clone_by_id','click',function(e){
263 263
264 264 // show url by id and hide id button
265 265 YUD.setStyle('clone_by_id','display','none');
266 266 YUD.setStyle('clone_url_id','display','');
267 267
268 268 // hide url by name and show id button
269 269 YUD.setStyle('clone_by_name','display','');
270 270 YUD.setStyle('clone_url','display','none');
271 271 })
272 272
273 273
274 274 var tmpl_links = {};
275 275 %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
276 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 277 %endfor
278 278
279 279 YUE.on(['download_options','archive_subrepos'],'change',function(e){
280 280 var sm = YUD.get('download_options');
281 281 var new_cs = sm.options[sm.selectedIndex];
282 282
283 283 for(k in tmpl_links){
284 284 var s = YUD.get(k+'_link');
285 285 if(s){
286 286 var title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}";
287 287 title_tmpl= title_tmpl.replace('__CS_NAME__',new_cs.text);
288 288 title_tmpl = title_tmpl.replace('__CS_EXT__',k);
289 289
290 290 var url = tmpl_links[k].replace('__CS__',new_cs.value);
291 291 var subrepos = YUD.get('archive_subrepos').checked;
292 292 url = url.replace('__SUB__',subrepos);
293 293 url = url.replace('__NAME__',title_tmpl);
294 294 s.innerHTML = url
295 295 }
296 296 }
297 297 });
298 298 </script>
299 299 %if c.show_stats:
300 300 <script type="text/javascript">
301 301 var data = ${c.trending_languages|n};
302 302 var total = 0;
303 303 var no_data = true;
304 304 var tbl = document.createElement('table');
305 305 tbl.setAttribute('class','trending_language_tbl');
306 306 var cnt = 0;
307 307 for (var i=0;i<data.length;i++){
308 308 total+= data[i][1].count;
309 309 }
310 310 for (var i=0;i<data.length;i++){
311 311 cnt += 1;
312 312 no_data = false;
313 313
314 314 var hide = cnt>2;
315 315 var tr = document.createElement('tr');
316 316 if (hide){
317 317 tr.setAttribute('style','display:none');
318 318 tr.setAttribute('class','stats_hidden');
319 319 }
320 320 var k = data[i][0];
321 321 var obj = data[i][1];
322 322 var percentage = Math.round((obj.count/total*100),2);
323 323
324 324 var td1 = document.createElement('td');
325 325 td1.width = 150;
326 326 var trending_language_label = document.createElement('div');
327 327 trending_language_label.innerHTML = obj.desc+" ("+k+")";
328 328 td1.appendChild(trending_language_label);
329 329
330 330 var td2 = document.createElement('td');
331 331 td2.setAttribute('style','padding-right:14px !important');
332 332 var trending_language = document.createElement('div');
333 333 var nr_files = obj.count+" ${_('files')}";
334 334
335 335 trending_language.title = k+" "+nr_files;
336 336
337 337 if (percentage>22){
338 338 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"% "+nr_files+ "</b>";
339 339 }
340 340 else{
341 341 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"%</b>";
342 342 }
343 343
344 344 trending_language.setAttribute("class", 'trending_language top-right-rounded-corner bottom-right-rounded-corner');
345 345 trending_language.style.width=percentage+"%";
346 346 td2.appendChild(trending_language);
347 347
348 348 tr.appendChild(td1);
349 349 tr.appendChild(td2);
350 350 tbl.appendChild(tr);
351 351 if(cnt == 3){
352 352 var show_more = document.createElement('tr');
353 353 var td = document.createElement('td');
354 354 lnk = document.createElement('a');
355 355
356 356 lnk.href='#';
357 357 lnk.innerHTML = "${_('show more')}";
358 358 lnk.id='code_stats_show_more';
359 359 td.appendChild(lnk);
360 360
361 361 show_more.appendChild(td);
362 362 show_more.appendChild(document.createElement('td'));
363 363 tbl.appendChild(show_more);
364 364 }
365 365
366 366 }
367 367
368 368 YUD.get('lang_stats').appendChild(tbl);
369 369 YUE.on('code_stats_show_more','click',function(){
370 370 l = YUD.getElementsByClassName('stats_hidden')
371 371 for (e in l){
372 372 YUD.setStyle(l[e],'display','');
373 373 };
374 374 YUD.setStyle(YUD.get('code_stats_show_more'),
375 375 'display','none');
376 376 });
377 377 </script>
378 378 <script type="text/javascript">
379 379 /**
380 380 * Plots summary graph
381 381 *
382 382 * @class SummaryPlot
383 383 * @param {from} initial from for detailed graph
384 384 * @param {to} initial to for detailed graph
385 385 * @param {dataset}
386 386 * @param {overview_dataset}
387 387 */
388 388 function SummaryPlot(from,to,dataset,overview_dataset) {
389 389 var initial_ranges = {
390 390 "xaxis":{
391 391 "from":from,
392 392 "to":to,
393 393 },
394 394 };
395 395 var dataset = dataset;
396 396 var overview_dataset = [overview_dataset];
397 397 var choiceContainer = YUD.get("legend_choices");
398 398 var choiceContainerTable = YUD.get("legend_choices_tables");
399 399 var plotContainer = YUD.get('commit_history');
400 400 var overviewContainer = YUD.get('overview');
401 401
402 402 var plot_options = {
403 403 bars: {show:true,align:'center',lineWidth:4},
404 404 legend: {show:true, container:"legend_container"},
405 405 points: {show:true,radius:0,fill:false},
406 406 yaxis: {tickDecimals:0,},
407 407 xaxis: {
408 408 mode: "time",
409 409 timeformat: "%d/%m",
410 410 min:from,
411 411 max:to,
412 412 },
413 413 grid: {
414 414 hoverable: true,
415 415 clickable: true,
416 416 autoHighlight:true,
417 417 color: "#999"
418 418 },
419 419 //selection: {mode: "x"}
420 420 };
421 421 var overview_options = {
422 422 legend:{show:false},
423 423 bars: {show:true,barWidth: 2,},
424 424 shadowSize: 0,
425 425 xaxis: {mode: "time", timeformat: "%d/%m/%y",},
426 426 yaxis: {ticks: 3, min: 0,tickDecimals:0,},
427 427 grid: {color: "#999",},
428 428 selection: {mode: "x"}
429 429 };
430 430
431 431 /**
432 432 *get dummy data needed in few places
433 433 */
434 434 function getDummyData(label){
435 435 return {"label":label,
436 436 "data":[{"time":0,
437 437 "commits":0,
438 438 "added":0,
439 439 "changed":0,
440 440 "removed":0,
441 441 }],
442 442 "schema":["commits"],
443 443 "color":'#ffffff',
444 444 }
445 445 }
446 446
447 447 /**
448 448 * generate checkboxes accordindly to data
449 449 * @param keys
450 450 * @returns
451 451 */
452 452 function generateCheckboxes(data) {
453 453 //append checkboxes
454 454 var i = 0;
455 455 choiceContainerTable.innerHTML = '';
456 456 for(var pos in data) {
457 457
458 458 data[pos].color = i;
459 459 i++;
460 460 if(data[pos].label != ''){
461 461 choiceContainerTable.innerHTML +=
462 462 '<tr><td><input type="checkbox" id="id_user_{0}" name="{0}" checked="checked" /> \
463 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 469 * ToolTip show
470 470 */
471 471 function showTooltip(x, y, contents) {
472 472 var div=document.getElementById('tooltip');
473 473 if(!div) {
474 474 div = document.createElement('div');
475 475 div.id="tooltip";
476 476 div.style.position="absolute";
477 477 div.style.border='1px solid #fdd';
478 478 div.style.padding='2px';
479 479 div.style.backgroundColor='#fee';
480 480 document.body.appendChild(div);
481 481 }
482 482 YUD.setStyle(div, 'opacity', 0);
483 483 div.innerHTML = contents;
484 484 div.style.top=(y + 5) + "px";
485 485 div.style.left=(x + 5) + "px";
486 486
487 487 var anim = new YAHOO.util.Anim(div, {opacity: {to: 0.8}}, 0.2);
488 488 anim.animate();
489 489 }
490 490
491 491 /**
492 492 * This function will detect if selected period has some changesets
493 493 for this user if it does this data is then pushed for displaying
494 494 Additionally it will only display users that are selected by the checkbox
495 495 */
496 496 function getDataAccordingToRanges(ranges) {
497 497
498 498 var data = [];
499 499 var new_dataset = {};
500 500 var keys = [];
501 501 var max_commits = 0;
502 502 for(var key in dataset){
503 503
504 504 for(var ds in dataset[key].data){
505 505 commit_data = dataset[key].data[ds];
506 506 if (commit_data.time >= ranges.xaxis.from && commit_data.time <= ranges.xaxis.to){
507 507
508 508 if(new_dataset[key] === undefined){
509 509 new_dataset[key] = {data:[],schema:["commits"],label:key};
510 510 }
511 511 new_dataset[key].data.push(commit_data);
512 512 }
513 513 }
514 514 if (new_dataset[key] !== undefined){
515 515 data.push(new_dataset[key]);
516 516 }
517 517 }
518 518
519 519 if (data.length > 0){
520 520 return data;
521 521 }
522 522 else{
523 523 //just return dummy data for graph to plot itself
524 524 return [getDummyData('')];
525 525 }
526 526 }
527 527
528 528 /**
529 529 * redraw using new checkbox data
530 530 */
531 531 function plotchoiced(e,args){
532 532 var cur_data = args[0];
533 533 var cur_ranges = args[1];
534 534
535 535 var new_data = [];
536 536 var inputs = choiceContainer.getElementsByTagName("input");
537 537
538 538 //show only checked labels
539 539 for(var i=0; i<inputs.length; i++) {
540 540 var checkbox_key = inputs[i].name;
541 541
542 542 if(inputs[i].checked){
543 543 for(var d in cur_data){
544 544 if(cur_data[d].label == checkbox_key){
545 545 new_data.push(cur_data[d]);
546 546 }
547 547 }
548 548 }
549 549 else{
550 550 //push dummy data to not hide the label
551 551 new_data.push(getDummyData(checkbox_key));
552 552 }
553 553 }
554 554
555 555 var new_options = YAHOO.lang.merge(plot_options, {
556 556 xaxis: {
557 557 min: cur_ranges.xaxis.from,
558 558 max: cur_ranges.xaxis.to,
559 559 mode:"time",
560 560 timeformat: "%d/%m",
561 561 },
562 562 });
563 563 if (!new_data){
564 564 new_data = [[0,1]];
565 565 }
566 566 // do the zooming
567 567 plot = YAHOO.widget.Flot(plotContainer, new_data, new_options);
568 568
569 569 plot.subscribe("plotselected", plotselected);
570 570
571 571 //resubscribe plothover
572 572 plot.subscribe("plothover", plothover);
573 573
574 574 // don't fire event on the overview to prevent eternal loop
575 575 overview.setSelection(cur_ranges, true);
576 576
577 577 }
578 578
579 579 /**
580 580 * plot only selected items from overview
581 581 * @param ranges
582 582 * @returns
583 583 */
584 584 function plotselected(ranges,cur_data) {
585 585 //updates the data for new plot
586 586 var data = getDataAccordingToRanges(ranges);
587 587 generateCheckboxes(data);
588 588
589 589 var new_options = YAHOO.lang.merge(plot_options, {
590 590 xaxis: {
591 591 min: ranges.xaxis.from,
592 592 max: ranges.xaxis.to,
593 593 mode:"time",
594 594 timeformat: "%d/%m",
595 595 },
596 596 });
597 597 // do the zooming
598 598 plot = YAHOO.widget.Flot(plotContainer, data, new_options);
599 599
600 600 plot.subscribe("plotselected", plotselected);
601 601
602 602 //resubscribe plothover
603 603 plot.subscribe("plothover", plothover);
604 604
605 605 // don't fire event on the overview to prevent eternal loop
606 606 overview.setSelection(ranges, true);
607 607
608 608 //resubscribe choiced
609 609 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, ranges]);
610 610 }
611 611
612 612 var previousPoint = null;
613 613
614 614 function plothover(o) {
615 615 var pos = o.pos;
616 616 var item = o.item;
617 617
618 618 //YUD.get("x").innerHTML = pos.x.toFixed(2);
619 619 //YUD.get("y").innerHTML = pos.y.toFixed(2);
620 620 if (item) {
621 621 if (previousPoint != item.datapoint) {
622 622 previousPoint = item.datapoint;
623 623
624 624 var tooltip = YUD.get("tooltip");
625 625 if(tooltip) {
626 626 tooltip.parentNode.removeChild(tooltip);
627 627 }
628 628 var x = item.datapoint.x.toFixed(2);
629 629 var y = item.datapoint.y.toFixed(2);
630 630
631 631 if (!item.series.label){
632 632 item.series.label = 'commits';
633 633 }
634 634 var d = new Date(x*1000);
635 635 var fd = d.toDateString()
636 636 var nr_commits = parseInt(y);
637 637
638 638 var cur_data = dataset[item.series.label].data[item.dataIndex];
639 639 var added = cur_data.added;
640 640 var changed = cur_data.changed;
641 641 var removed = cur_data.removed;
642 642
643 643 var nr_commits_suffix = " ${_('commits')} ";
644 644 var added_suffix = " ${_('files added')} ";
645 645 var changed_suffix = " ${_('files changed')} ";
646 646 var removed_suffix = " ${_('files removed')} ";
647 647
648 648
649 649 if(nr_commits == 1){nr_commits_suffix = " ${_('commit')} ";}
650 650 if(added==1){added_suffix=" ${_('file added')} ";}
651 651 if(changed==1){changed_suffix=" ${_('file changed')} ";}
652 652 if(removed==1){removed_suffix=" ${_('file removed')} ";}
653 653
654 654 showTooltip(item.pageX, item.pageY, item.series.label + " on " + fd
655 655 +'<br/>'+
656 656 nr_commits + nr_commits_suffix+'<br/>'+
657 657 added + added_suffix +'<br/>'+
658 658 changed + changed_suffix + '<br/>'+
659 659 removed + removed_suffix + '<br/>');
660 660 }
661 661 }
662 662 else {
663 663 var tooltip = YUD.get("tooltip");
664 664
665 665 if(tooltip) {
666 666 tooltip.parentNode.removeChild(tooltip);
667 667 }
668 668 previousPoint = null;
669 669 }
670 670 }
671 671
672 672 /**
673 673 * MAIN EXECUTION
674 674 */
675 675
676 676 var data = getDataAccordingToRanges(initial_ranges);
677 677 generateCheckboxes(data);
678 678
679 679 //main plot
680 680 var plot = YAHOO.widget.Flot(plotContainer,data,plot_options);
681 681
682 682 //overview
683 683 var overview = YAHOO.widget.Flot(overviewContainer,
684 684 overview_dataset, overview_options);
685 685
686 686 //show initial selection on overview
687 687 overview.setSelection(initial_ranges);
688 688
689 689 plot.subscribe("plotselected", plotselected);
690 690 plot.subscribe("plothover", plothover)
691 691
692 692 overview.subscribe("plotselected", function (ranges) {
693 693 plot.setSelection(ranges);
694 694 });
695 695
696 696 // user choices on overview
697 697 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, initial_ranges]);
698 698 }
699 699 SummaryPlot(${c.ts_min},${c.ts_max},${c.commit_data|n},${c.overview_data|n});
700 700 </script>
701 701 %endif
702 702
703 703 </%def>
@@ -1,76 +1,76 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 ${c.repo_name} ${_('Tags')} - ${c.rhodecode_name}
5 ${_('%s Tags') % c.repo_name} - ${c.rhodecode_name}
6 6 </%def>
7 7
8 8
9 9 <%def name="breadcrumbs_links()">
10 10 <input class="q_filter_box" id="q_filter_tags" size="15" type="text" name="filter" value="${_('quick filter...')}"/>
11 11 ${h.link_to(u'Home',h.url('/'))}
12 12 &raquo;
13 13 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
14 14 &raquo;
15 15 ${_('tags')}
16 16 </%def>
17 17
18 18 <%def name="page_nav()">
19 19 ${self.menu('tags')}
20 20 </%def>
21 21 <%def name="main()">
22 22 <div class="box">
23 23 <!-- box / title -->
24 24 <div class="title">
25 25 ${self.breadcrumbs()}
26 26 </div>
27 27 <!-- end box / title -->
28 28 <div class="table">
29 29 <%include file='tags_data.html'/>
30 30 </div>
31 31 </div>
32 32 <script type="text/javascript">
33 33
34 34 // main table sorting
35 35 var myColumnDefs = [
36 36 {key:"name",label:"${_('Name')}",sortable:true},
37 37 {key:"date",label:"${_('Date')}",sortable:true,
38 38 sortOptions: { sortFunction: dateSort }},
39 39 {key:"author",label:"${_('Author')}",sortable:true},
40 40 {key:"revision",label:"${_('Revision')}",sortable:true,
41 41 sortOptions: { sortFunction: revisionSort }},
42 42 ];
43 43
44 44 var myDataSource = new YAHOO.util.DataSource(YUD.get("tags_data"));
45 45
46 46 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
47 47
48 48 myDataSource.responseSchema = {
49 49 fields: [
50 50 {key:"name"},
51 51 {key:"date"},
52 52 {key:"author"},
53 53 {key:"revision"},
54 54 ]
55 55 };
56 56
57 57 var myDataTable = new YAHOO.widget.DataTable("table_wrap", myColumnDefs, myDataSource,
58 58 {
59 59 sortedBy:{key:"name",dir:"asc"},
60 60 MSG_SORTASC:"${_('Click to sort ascending')}",
61 61 MSG_SORTDESC:"${_('Click to sort descending')}",
62 62 MSG_EMPTY:"${_('No records found.')}",
63 63 MSG_ERROR:"${_('Data error.')}",
64 64 MSG_LOADING:"${_('Loading...')}",
65 65 }
66 66 );
67 67 myDataTable.subscribe('postRenderEvent',function(oArgs) {
68 68 tooltip_activate();
69 69 var func = function(node){
70 70 return node.parentNode.parentNode.parentNode.parentNode.parentNode;
71 71 }
72 72 q_filter('q_filter_tags',YUQ('div.table tr td .logtags .tagtag a'),func);
73 73 });
74 74
75 75 </script>
76 76 </%def>
@@ -1,34 +1,34 b''
1 1 %if c.repo_tags:
2 2 <div id="table_wrap" class="yui-skin-sam">
3 3 <table id="tags_data">
4 4 <thead>
5 5 <tr>
6 6 <th class="left">${_('Name')}</th>
7 7 <th class="left">${_('Date')}</th>
8 8 <th class="left">${_('Author')}</th>
9 9 <th class="left">${_('Revision')}</th>
10 10 </tr>
11 11 </thead>
12 12 %for cnt,tag in enumerate(c.repo_tags.items()):
13 13 <tr class="parity${cnt%2}">
14 14 <td>
15 15 <span class="logtags">
16 16 <span class="tagtag">${h.link_to(tag[0],
17 17 h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
18 18 </span>
19 19 </span>
20 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 22 <td title="${tag[1].author}">${h.person(tag[1].author)}</td>
23 23 <td>
24 24 <div>
25 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 26 </div>
27 27 </td>
28 28 </tr>
29 29 %endfor
30 30 </table>
31 31 </div>
32 32 %else:
33 33 ${_('There are no tags yet')}
34 34 %endif
General Comments 0
You need to be logged in to leave comments. Login now