##// END OF EJS Templates
Merge branch beta into stable
marcink -
r2854:d998cc84 merge rhodecode-0.0.1.4.2 default
parent child Browse files
Show More
@@ -9,6 +9,10 b' env:'
9 - TEST_DB=mysql://root@127.0.0.1/rhodecode_test
9 - TEST_DB=mysql://root@127.0.0.1/rhodecode_test
10 - TEST_DB=postgresql://postgres@127.0.0.1/rhodecode_test
10 - TEST_DB=postgresql://postgres@127.0.0.1/rhodecode_test
11
11
12 services:
13 - mysql
14 - postgresql
15
12 # command to install dependencies
16 # command to install dependencies
13 before_script:
17 before_script:
14 - mysql -e 'create database rhodecode_test;'
18 - mysql -e 'create database rhodecode_test;'
@@ -23,4 +23,5 b' List of contributors to RhodeCode projec'
23 Takumi IINO <trot.thunder@gmail.com>
23 Takumi IINO <trot.thunder@gmail.com>
24 Indra Talip <indra.talip@gmail.com>
24 Indra Talip <indra.talip@gmail.com>
25 James Rhodes <jrhodes@redpointsoftware.com.au>
25 James Rhodes <jrhodes@redpointsoftware.com.au>
26 Dominik Ruf <dominikruf@gmail.com> No newline at end of file
26 Dominik Ruf <dominikruf@gmail.com>
27 xpol <xpolife@gmail.com> No newline at end of file
@@ -69,6 +69,8 b' use_gravatar = true'
69 ## {email} user email
69 ## {email} user email
70 ## {md5email} md5 hash of the user email (like at gravatar.com)
70 ## {md5email} md5 hash of the user email (like at gravatar.com)
71 ## {size} size of the image that is expected from the server application
71 ## {size} size of the image that is expected from the server application
72 ## {scheme} http/https from RhodeCode server
73 ## {netloc} network location from RhodeCode server
72 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
74 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
73 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
75 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
74
76
@@ -5,11 +5,32 b' Changelog'
5 =========
5 =========
6
6
7
7
8 1.4.1 (**2012-09-07**)
8 1.4.2 (**2012-09-12**)
9 ----------------------
9 ----------------------
10
10
11 :status: in-progress
11 news
12 :branch: beta
12 ++++
13
14 - added option to menu to quick lock/unlock repository for users that have
15 write access to
16 - Implemented permissions for writing to repo
17 groups. Now only write access to group allows to create a repostiory
18 within that group
19 - #565 Add support for {netloc} and {scheme} to alternative_gravatar_url
20 - updated translation for zh_CN
21
22 fixes
23 +++++
24
25 - fixed visual permissions check on repos groups inside groups
26 - fixed issues with non-ascii search terms in search, and indexers
27 - fixed parsing of page number in GET parameters
28 - fixed issues with generating pull-request overview for repos with
29 bookmarks and tags, also preview doesn't loose chosen revision from
30 select dropdown
31
32 1.4.1 (**2012-09-07**)
33 ----------------------
13
34
14 news
35 news
15 ++++
36 ++++
@@ -7,9 +7,15 b' Step by step Installation for Windows'
7
7
8 RhodeCode step-by-step install Guide for Windows
8 RhodeCode step-by-step install Guide for Windows
9
9
10 Target OS: Windows XP SP3 English (Clean installation)
10 Target OS: Windows XP SP3 32bit English (Clean installation)
11 + All Windows Updates until 24-may-2012
11 + All Windows Updates until 24-may-2012
12
12
13 .. note::
14
15 This installation is for 32bit systems, for 64bit windows you might need
16 to download proper 64bit version of "Windows Installer" and Win32py
17 extensions
18
13 Step1 - Install Visual Studio 2008 Express
19 Step1 - Install Visual Studio 2008 Express
14 ------------------------------------------
20 ------------------------------------------
15
21
@@ -69,6 +69,8 b' use_gravatar = true'
69 ## {email} user email
69 ## {email} user email
70 ## {md5email} md5 hash of the user email (like at gravatar.com)
70 ## {md5email} md5 hash of the user email (like at gravatar.com)
71 ## {size} size of the image that is expected from the server application
71 ## {size} size of the image that is expected from the server application
72 ## {scheme} http/https from RhodeCode server
73 ## {netloc} network location from RhodeCode server
72 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
74 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
73 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
75 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
74
76
@@ -26,7 +26,7 b''
26 import sys
26 import sys
27 import platform
27 import platform
28
28
29 VERSION = (1, 4, 1)
29 VERSION = (1, 4, 2)
30
30
31 try:
31 try:
32 from rhodecode.lib import get_current_revision
32 from rhodecode.lib import get_current_revision
@@ -69,6 +69,8 b' use_gravatar = true'
69 ## {email} user email
69 ## {email} user email
70 ## {md5email} md5 hash of the user email (like at gravatar.com)
70 ## {md5email} md5 hash of the user email (like at gravatar.com)
71 ## {size} size of the image that is expected from the server application
71 ## {size} size of the image that is expected from the server application
72 ## {scheme} http/https from RhodeCode server
73 ## {netloc} network location from RhodeCode server
72 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
74 #alternative_gravatar_url = http://myavatarserver.com/getbyemail/{email}/{size}
73 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
75 #alternative_gravatar_url = http://myavatarserver.com/getbymd5/{md5email}?s={size}
74
76
@@ -141,6 +141,7 b' def make_map(config):'
141 m.connect('repo_locking', "/repo_locking/{repo_name:.*?}",
141 m.connect('repo_locking', "/repo_locking/{repo_name:.*?}",
142 action="repo_locking", conditions=dict(method=["PUT"],
142 action="repo_locking", conditions=dict(method=["PUT"],
143 function=check_repo))
143 function=check_repo))
144
144 with rmap.submapper(path_prefix=ADMIN_PREFIX,
145 with rmap.submapper(path_prefix=ADMIN_PREFIX,
145 controller='admin/repos_groups') as m:
146 controller='admin/repos_groups') as m:
146 m.connect("repos_groups", "/repos_groups",
147 m.connect("repos_groups", "/repos_groups",
@@ -561,6 +562,10 b' def make_map(config):'
561 controller='settings', action='index',
562 controller='settings', action='index',
562 conditions=dict(function=check_repo))
563 conditions=dict(function=check_repo))
563
564
565 rmap.connect('toggle_locking', "/{repo_name:.*?}/locking_toggle",
566 controller='settings', action="toggle_locking",
567 conditions=dict(method=["GET"], function=check_repo))
568
564 rmap.connect('repo_fork_create_home', '/{repo_name:.*?}/fork',
569 rmap.connect('repo_fork_create_home', '/{repo_name:.*?}/fork',
565 controller='forks', action='fork_create',
570 controller='forks', action='fork_create',
566 conditions=dict(function=check_repo, method=["POST"]))
571 conditions=dict(function=check_repo, method=["POST"]))
@@ -32,6 +32,7 b' from webhelpers.paginate import Page'
32 from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator
32 from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator
33 from rhodecode.lib.base import BaseController, render
33 from rhodecode.lib.base import BaseController, render
34 from rhodecode.model.db import UserLog
34 from rhodecode.model.db import UserLog
35 from rhodecode.lib.utils2 import safe_int
35
36
36 log = logging.getLogger(__name__)
37 log = logging.getLogger(__name__)
37
38
@@ -50,7 +51,7 b' class AdminController(BaseController):'
50 .options(joinedload(UserLog.repository))\
51 .options(joinedload(UserLog.repository))\
51 .order_by(UserLog.action_date.desc())
52 .order_by(UserLog.action_date.desc())
52
53
53 p = int(request.params.get('page', 1))
54 p = safe_int(request.params.get('page', 1), 1)
54 c.users_log = Page(users_log, page=p, items_per_page=10)
55 c.users_log = Page(users_log, page=p, items_per_page=10)
55 c.log_data = render('admin/admin_log.html')
56 c.log_data = render('admin/admin_log.html')
56
57
@@ -39,6 +39,7 b' from rhodecode.model.notification import'
39 from rhodecode.lib.auth import LoginRequired, NotAnonymous
39 from rhodecode.lib.auth import LoginRequired, NotAnonymous
40 from rhodecode.lib import helpers as h
40 from rhodecode.lib import helpers as h
41 from rhodecode.model.meta import Session
41 from rhodecode.model.meta import Session
42 from rhodecode.lib.utils2 import safe_int
42
43
43
44
44 log = logging.getLogger(__name__)
45 log = logging.getLogger(__name__)
@@ -62,7 +63,8 b' class NotificationsController(BaseContro'
62 c.user = self.rhodecode_user
63 c.user = self.rhodecode_user
63 notif = NotificationModel().get_for_user(self.rhodecode_user.user_id,
64 notif = NotificationModel().get_for_user(self.rhodecode_user.user_id,
64 filter_=request.GET.getall('type'))
65 filter_=request.GET.getall('type'))
65 p = int(request.params.get('page', 1))
66
67 p = safe_int(request.params.get('page', 1), 1)
66 c.notifications = Page(notif, page=p, items_per_page=10)
68 c.notifications = Page(notif, page=p, items_per_page=10)
67 c.pull_request_type = Notification.TYPE_PULL_REQUEST
69 c.pull_request_type = Notification.TYPE_PULL_REQUEST
68 c.comment_type = [Notification.TYPE_CHANGESET_COMMENT,
70 c.comment_type = [Notification.TYPE_CHANGESET_COMMENT,
@@ -66,7 +66,7 b' class ReposController(BaseController):'
66 super(ReposController, self).__before__()
66 super(ReposController, self).__before__()
67
67
68 def __load_defaults(self):
68 def __load_defaults(self):
69 c.repo_groups = RepoGroup.groups_choices()
69 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
70 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
70 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
71
71
72 repo_model = RepoModel()
72 repo_model = RepoModel()
@@ -292,9 +292,9 b' class ReposGroupsController(BaseControll'
292
292
293 c.repo_cnt = 0
293 c.repo_cnt = 0
294
294
295 c.groups = RepoGroup.query().order_by(RepoGroup.group_name)\
295 groups = RepoGroup.query().order_by(RepoGroup.group_name)\
296 .filter(RepoGroup.group_parent_id == id).all()
296 .filter(RepoGroup.group_parent_id == id).all()
297
297 c.groups = self.scm_model.get_repos_groups(groups)
298 return render('admin/repos_groups/repos_groups.html')
298 return render('admin/repos_groups/repos_groups.html')
299
299
300 @HasPermissionAnyDecorator('hg.admin')
300 @HasPermissionAnyDecorator('hg.admin')
@@ -256,14 +256,31 b' class SettingsController(BaseController)'
256
256
257 ## EXTENSIONS
257 ## EXTENSIONS
258 sett = RhodeCodeUi.get_by_key('largefiles')
258 sett = RhodeCodeUi.get_by_key('largefiles')
259 if not sett:
260 #make one if it's not there !
261 sett = RhodeCodeUi()
262 sett.ui_key = 'largefiles'
263 sett.ui_section = 'extensions'
259 sett.ui_active = form_result[_f('extensions_largefiles')]
264 sett.ui_active = form_result[_f('extensions_largefiles')]
260 Session().add(sett)
265 Session().add(sett)
261
266
262 sett = RhodeCodeUi.get_by_key('hgsubversion')
267 sett = RhodeCodeUi.get_by_key('hgsubversion')
268 if not sett:
269 #make one if it's not there !
270 sett = RhodeCodeUi()
271 sett.ui_key = 'hgsubversion'
272 sett.ui_section = 'extensions'
273
263 sett.ui_active = form_result[_f('extensions_hgsubversion')]
274 sett.ui_active = form_result[_f('extensions_hgsubversion')]
264 Session().add(sett)
275 Session().add(sett)
265
276
266 # sett = RhodeCodeUi.get_by_key('hggit')
277 # sett = RhodeCodeUi.get_by_key('hggit')
278 # if not sett:
279 # #make one if it's not there !
280 # sett = RhodeCodeUi()
281 # sett.ui_key = 'hggit'
282 # sett.ui_section = 'extensions'
283 #
267 # sett.ui_active = form_result[_f('extensions_hggit')]
284 # sett.ui_active = form_result[_f('extensions_hggit')]
268 # Session().add(sett)
285 # Session().add(sett)
269
286
@@ -451,7 +468,7 b' class SettingsController(BaseController)'
451 def create_repository(self):
468 def create_repository(self):
452 """GET /_admin/create_repository: Form to create a new item"""
469 """GET /_admin/create_repository: Form to create a new item"""
453
470
454 c.repo_groups = RepoGroup.groups_choices()
471 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
455 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
472 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
456 choices, c.landing_revs = ScmModel().get_repo_landing_revs()
473 choices, c.landing_revs = ScmModel().get_repo_landing_revs()
457
474
@@ -37,6 +37,7 b' from rhodecode.lib.helpers import RepoPa'
37 from rhodecode.lib.compat import json
37 from rhodecode.lib.compat import json
38 from rhodecode.lib.graphmod import _colored, _dagwalker
38 from rhodecode.lib.graphmod import _colored, _dagwalker
39 from rhodecode.lib.vcs.exceptions import RepositoryError, ChangesetDoesNotExistError
39 from rhodecode.lib.vcs.exceptions import RepositoryError, ChangesetDoesNotExistError
40 from rhodecode.lib.utils2 import safe_int
40
41
41 log = logging.getLogger(__name__)
42 log = logging.getLogger(__name__)
42
43
@@ -65,7 +66,7 b' class ChangelogController(BaseRepoContro'
65 c.size = int(session.get('changelog_size', default))
66 c.size = int(session.get('changelog_size', default))
66 # min size must be 1
67 # min size must be 1
67 c.size = max(c.size, 1)
68 c.size = max(c.size, 1)
68 p = int(request.params.get('page', 1))
69 p = safe_int(request.params.get('page', 1), 1)
69 branch_name = request.params.get('branch', None)
70 branch_name = request.params.get('branch', None)
70 try:
71 try:
71 if branch_name:
72 if branch_name:
@@ -39,6 +39,7 b' from rhodecode.lib import diffs'
39
39
40 from rhodecode.model.db import Repository
40 from rhodecode.model.db import Repository
41 from rhodecode.model.pull_request import PullRequestModel
41 from rhodecode.model.pull_request import PullRequestModel
42 from webob.exc import HTTPBadRequest
42
43
43 log = logging.getLogger(__name__)
44 log = logging.getLogger(__name__)
44
45
@@ -51,10 +52,12 b' class CompareController(BaseRepoControll'
51 def __before__(self):
52 def __before__(self):
52 super(CompareController, self).__before__()
53 super(CompareController, self).__before__()
53
54
54 def __get_cs_or_redirect(self, rev, repo, redirect_after=True):
55 def __get_cs_or_redirect(self, rev, repo, redirect_after=True,
56 partial=False):
55 """
57 """
56 Safe way to get changeset if error occur it redirects to changeset with
58 Safe way to get changeset if error occur it redirects to changeset with
57 proper message
59 proper message. If partial is set then don't do redirect raise Exception
60 instead
58
61
59 :param rev: revision to fetch
62 :param rev: revision to fetch
60 :param repo: repo instance
63 :param repo: repo instance
@@ -73,7 +76,9 b' class CompareController(BaseRepoControll'
73 except RepositoryError, e:
76 except RepositoryError, e:
74 log.error(traceback.format_exc())
77 log.error(traceback.format_exc())
75 h.flash(str(e), category='warning')
78 h.flash(str(e), category='warning')
76 redirect(h.url('summary_home', repo_name=repo.repo_name))
79 if not partial:
80 redirect(h.url('summary_home', repo_name=repo.repo_name))
81 raise HTTPBadRequest()
77
82
78 def index(self, org_ref_type, org_ref, other_ref_type, other_ref):
83 def index(self, org_ref_type, org_ref, other_ref_type, other_ref):
79
84
@@ -97,9 +102,9 b' class CompareController(BaseRepoControll'
97 if c.org_repo.scm_instance.alias != 'hg':
102 if c.org_repo.scm_instance.alias != 'hg':
98 log.error('Review not available for GIT REPOS')
103 log.error('Review not available for GIT REPOS')
99 raise HTTPNotFound
104 raise HTTPNotFound
100
105 partial = request.environ.get('HTTP_X_PARTIAL_XHR')
101 self.__get_cs_or_redirect(rev=org_ref, repo=org_repo)
106 self.__get_cs_or_redirect(rev=org_ref, repo=org_repo, partial=partial)
102 self.__get_cs_or_redirect(rev=other_ref, repo=other_repo)
107 self.__get_cs_or_redirect(rev=other_ref, repo=other_repo, partial=partial)
103
108
104 c.cs_ranges, discovery_data = PullRequestModel().get_compare_data(
109 c.cs_ranges, discovery_data = PullRequestModel().get_compare_data(
105 org_repo, org_ref, other_repo, other_ref
110 org_repo, org_ref, other_repo, other_ref
@@ -110,7 +115,7 b' class CompareController(BaseRepoControll'
110 c.target_repo = c.repo_name
115 c.target_repo = c.repo_name
111 # defines that we need hidden inputs with changesets
116 # defines that we need hidden inputs with changesets
112 c.as_form = request.GET.get('as_form', False)
117 c.as_form = request.GET.get('as_form', False)
113 if request.environ.get('HTTP_X_PARTIAL_XHR'):
118 if partial:
114 return render('compare/compare_cs.html')
119 return render('compare/compare_cs.html')
115
120
116 c.org_ref = org_ref[1]
121 c.org_ref = org_ref[1]
@@ -30,6 +30,7 b' from rhodecode.lib.helpers import Page'
30 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
30 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
31 from rhodecode.lib.base import BaseRepoController, render
31 from rhodecode.lib.base import BaseRepoController, render
32 from rhodecode.model.db import Repository, User, UserFollowing
32 from rhodecode.model.db import Repository, User, UserFollowing
33 from rhodecode.lib.utils2 import safe_int
33
34
34 log = logging.getLogger(__name__)
35 log = logging.getLogger(__name__)
35
36
@@ -43,7 +44,7 b' class FollowersController(BaseRepoContro'
43 super(FollowersController, self).__before__()
44 super(FollowersController, self).__before__()
44
45
45 def followers(self, repo_name):
46 def followers(self, repo_name):
46 p = int(request.params.get('page', 1))
47 p = safe_int(request.params.get('page', 1), 1)
47 repo_id = c.rhodecode_db_repo.repo_id
48 repo_id = c.rhodecode_db_repo.repo_id
48 d = UserFollowing.get_repo_followers(repo_id)\
49 d = UserFollowing.get_repo_followers(repo_id)\
49 .order_by(UserFollowing.follows_from)
50 .order_by(UserFollowing.follows_from)
@@ -42,6 +42,7 b' from rhodecode.model.db import Repositor'
42 from rhodecode.model.repo import RepoModel
42 from rhodecode.model.repo import RepoModel
43 from rhodecode.model.forms import RepoForkForm
43 from rhodecode.model.forms import RepoForkForm
44 from rhodecode.model.scm import ScmModel
44 from rhodecode.model.scm import ScmModel
45 from rhodecode.lib.utils2 import safe_int
45
46
46 log = logging.getLogger(__name__)
47 log = logging.getLogger(__name__)
47
48
@@ -53,7 +54,7 b' class ForksController(BaseRepoController'
53 super(ForksController, self).__before__()
54 super(ForksController, self).__before__()
54
55
55 def __load_defaults(self):
56 def __load_defaults(self):
56 c.repo_groups = RepoGroup.groups_choices()
57 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
57 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
58 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
58 choices, c.landing_revs = ScmModel().get_repo_landing_revs()
59 choices, c.landing_revs = ScmModel().get_repo_landing_revs()
59 c.landing_revs_choices = choices
60 c.landing_revs_choices = choices
@@ -105,7 +106,7 b' class ForksController(BaseRepoController'
105 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
106 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
106 'repository.admin')
107 'repository.admin')
107 def forks(self, repo_name):
108 def forks(self, repo_name):
108 p = int(request.params.get('page', 1))
109 p = safe_int(request.params.get('page', 1), 1)
109 repo_id = c.rhodecode_db_repo.repo_id
110 repo_id = c.rhodecode_db_repo.repo_id
110 d = []
111 d = []
111 for r in Repository.get_repo_forks(repo_id):
112 for r in Repository.get_repo_forks(repo_id):
@@ -41,6 +41,7 b' from rhodecode.model.db import UserLog, '
41 from rhodecode.model.meta import Session
41 from rhodecode.model.meta import Session
42 from sqlalchemy.sql.expression import func
42 from sqlalchemy.sql.expression import func
43 from rhodecode.model.scm import ScmModel
43 from rhodecode.model.scm import ScmModel
44 from rhodecode.lib.utils2 import safe_int
44
45
45 log = logging.getLogger(__name__)
46 log = logging.getLogger(__name__)
46
47
@@ -57,7 +58,7 b' class JournalController(BaseController):'
57 @NotAnonymous()
58 @NotAnonymous()
58 def index(self):
59 def index(self):
59 # Return a rendered template
60 # Return a rendered template
60 p = int(request.params.get('page', 1))
61 p = safe_int(request.params.get('page', 1), 1)
61
62
62 c.user = User.get(self.rhodecode_user.user_id)
63 c.user = User.get(self.rhodecode_user.user_id)
63 all_repos = self.sa.query(Repository)\
64 all_repos = self.sa.query(Repository)\
@@ -177,7 +178,7 b' class JournalController(BaseController):'
177 @LoginRequired()
178 @LoginRequired()
178 def public_journal(self):
179 def public_journal(self):
179 # Return a rendered template
180 # Return a rendered template
180 p = int(request.params.get('page', 1))
181 p = safe_int(request.params.get('page', 1), 1)
181
182
182 c.following = self.sa.query(UserFollowing)\
183 c.following = self.sa.query(UserFollowing)\
183 .filter(UserFollowing.user_id == self.rhodecode_user.user_id)\
184 .filter(UserFollowing.user_id == self.rhodecode_user.user_id)\
@@ -81,6 +81,19 b' class PullrequestsController(BaseRepoCon'
81
81
82 return hist_l
82 return hist_l
83
83
84 def _get_default_rev(self, repo):
85 """
86 Get's default revision to do compare on pull request
87
88 :param repo:
89 """
90 repo = repo.scm_instance
91 if 'default' in repo.branches:
92 return 'default'
93 else:
94 #if repo doesn't have default branch return first found
95 return repo.branches.keys()[0]
96
84 def show_all(self, repo_name):
97 def show_all(self, repo_name):
85 c.pull_requests = PullRequestModel().get_all(repo_name)
98 c.pull_requests = PullRequestModel().get_all(repo_name)
86 c.repo_name = repo_name
99 c.repo_name = repo_name
@@ -106,7 +119,8 b' class PullrequestsController(BaseRepoCon'
106 # add org repo to other so we can open pull request agains itself
119 # add org repo to other so we can open pull request agains itself
107 c.other_repos.extend(c.org_repos)
120 c.other_repos.extend(c.org_repos)
108
121
109 c.default_pull_request = org_repo.repo_name
122 c.default_pull_request = org_repo.repo_name # repo name pre-selected
123 c.default_pull_request_rev = self._get_default_rev(org_repo) # revision pre-selected
110 c.default_revs = self._get_repo_refs(org_repo.scm_instance)
124 c.default_revs = self._get_repo_refs(org_repo.scm_instance)
111 #add orginal repo
125 #add orginal repo
112 other_repos_info[org_repo.repo_name] = {
126 other_repos_info[org_repo.repo_name] = {
@@ -130,6 +144,8 b' class PullrequestsController(BaseRepoCon'
130 #add parents of this fork also
144 #add parents of this fork also
131 if org_repo.parent:
145 if org_repo.parent:
132 c.default_pull_request = org_repo.parent.repo_name
146 c.default_pull_request = org_repo.parent.repo_name
147 c.default_pull_request_rev = self._get_default_rev(org_repo.parent)
148 c.default_revs = self._get_repo_refs(org_repo.parent.scm_instance)
133 c.other_repos.append((org_repo.parent.repo_name, '%s/%s' % (
149 c.other_repos.append((org_repo.parent.repo_name, '%s/%s' % (
134 org_repo.parent.user.username,
150 org_repo.parent.user.username,
135 org_repo.parent.repo_name))
151 org_repo.parent.repo_name))
@@ -40,6 +40,7 b' from whoosh.index import open_dir, Empty'
40 from whoosh.qparser import QueryParser, QueryParserError
40 from whoosh.qparser import QueryParser, QueryParserError
41 from whoosh.query import Phrase, Wildcard, Term, Prefix
41 from whoosh.query import Phrase, Wildcard, Term, Prefix
42 from rhodecode.model.repo import RepoModel
42 from rhodecode.model.repo import RepoModel
43 from rhodecode.lib.utils2 import safe_str, safe_int
43
44
44 log = logging.getLogger(__name__)
45 log = logging.getLogger(__name__)
45
46
@@ -82,7 +83,7 b' class SearchController(BaseController):'
82 log.debug(cur_query)
83 log.debug(cur_query)
83
84
84 if c.cur_query:
85 if c.cur_query:
85 p = int(request.params.get('page', 1))
86 p = safe_int(request.params.get('page', 1), 1)
86 highlight_items = set()
87 highlight_items = set()
87 try:
88 try:
88 idx = open_dir(config['app_conf']['index_dir'],
89 idx = open_dir(config['app_conf']['index_dir'],
@@ -116,7 +117,7 b' class SearchController(BaseController):'
116
117
117 def url_generator(**kw):
118 def url_generator(**kw):
118 return update_params("?q=%s&type=%s" \
119 return update_params("?q=%s&type=%s" \
119 % (c.cur_query, c.cur_type), **kw)
120 % (safe_str(c.cur_query), safe_str(c.cur_type)), **kw)
120 repo_location = RepoModel().repos_path
121 repo_location = RepoModel().repos_path
121 c.formated_results = Page(
122 c.formated_results = Page(
122 WhooshResultWrapper(search_type, searcher, matcher,
123 WhooshResultWrapper(search_type, searcher, matcher,
@@ -35,13 +35,14 b' from pylons.i18n.translation import _'
35
35
36 import rhodecode.lib.helpers as h
36 import rhodecode.lib.helpers as h
37
37
38 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAllDecorator
38 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAllDecorator,\
39 HasRepoPermissionAnyDecorator
39 from rhodecode.lib.base import BaseRepoController, render
40 from rhodecode.lib.base import BaseRepoController, render
40 from rhodecode.lib.utils import invalidate_cache, action_logger
41 from rhodecode.lib.utils import invalidate_cache, action_logger
41
42
42 from rhodecode.model.forms import RepoSettingsForm
43 from rhodecode.model.forms import RepoSettingsForm
43 from rhodecode.model.repo import RepoModel
44 from rhodecode.model.repo import RepoModel
44 from rhodecode.model.db import RepoGroup
45 from rhodecode.model.db import RepoGroup, Repository
45 from rhodecode.model.meta import Session
46 from rhodecode.model.meta import Session
46 from rhodecode.model.scm import ScmModel
47 from rhodecode.model.scm import ScmModel
47
48
@@ -55,7 +56,7 b' class SettingsController(BaseRepoControl'
55 super(SettingsController, self).__before__()
56 super(SettingsController, self).__before__()
56
57
57 def __load_defaults(self):
58 def __load_defaults(self):
58 c.repo_groups = RepoGroup.groups_choices()
59 c.repo_groups = RepoGroup.groups_choices(check_perms=True)
59 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
60 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
60
61
61 repo_model = RepoModel()
62 repo_model = RepoModel()
@@ -109,7 +110,7 b' class SettingsController(BaseRepoControl'
109 changed_name = form_result['repo_name_full']
110 changed_name = form_result['repo_name_full']
110 action_logger(self.rhodecode_user, 'user_updated_repo',
111 action_logger(self.rhodecode_user, 'user_updated_repo',
111 changed_name, self.ip_addr, self.sa)
112 changed_name, self.ip_addr, self.sa)
112 Session.commit()
113 Session().commit()
113 except formencode.Invalid, errors:
114 except formencode.Invalid, errors:
114 c.repo_info = repo_model.get_by_repo_name(repo_name)
115 c.repo_info = repo_model.get_by_repo_name(repo_name)
115 c.users_array = repo_model.get_users_js()
116 c.users_array = repo_model.get_users_js()
@@ -153,10 +154,38 b' class SettingsController(BaseRepoControl'
153 repo_model.delete(repo)
154 repo_model.delete(repo)
154 invalidate_cache('get_repo_cached_%s' % repo_name)
155 invalidate_cache('get_repo_cached_%s' % repo_name)
155 h.flash(_('deleted repository %s') % repo_name, category='success')
156 h.flash(_('deleted repository %s') % repo_name, category='success')
156 Session.commit()
157 Session().commit()
157 except Exception:
158 except Exception:
158 log.error(traceback.format_exc())
159 log.error(traceback.format_exc())
159 h.flash(_('An error occurred during deletion of %s') % repo_name,
160 h.flash(_('An error occurred during deletion of %s') % repo_name,
160 category='error')
161 category='error')
161
162
162 return redirect(url('home'))
163 return redirect(url('home'))
164
165 @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
166 def toggle_locking(self, repo_name):
167 """
168 Toggle locking of repository by simple GET call to url
169
170 :param repo_name:
171 """
172
173 try:
174 repo = Repository.get_by_repo_name(repo_name)
175
176 if repo.enable_locking:
177 if repo.locked[0]:
178 Repository.unlock(repo)
179 action = _('unlocked')
180 else:
181 Repository.lock(repo, c.rhodecode_user.user_id)
182 action = _('locked')
183
184 h.flash(_('Repository has been %s') % action,
185 category='success')
186 except Exception, e:
187 log.error(traceback.format_exc())
188 h.flash(_('An error occurred during unlocking'),
189 category='error')
190 return redirect(url('summary_home', repo_name=repo_name))
191
@@ -31,6 +31,7 b' from rhodecode.lib.auth import LoginRequ'
31 from rhodecode.lib.base import BaseRepoController, render
31 from rhodecode.lib.base import BaseRepoController, render
32 from rhodecode.lib.helpers import RepoPage
32 from rhodecode.lib.helpers import RepoPage
33 from pylons.controllers.util import redirect
33 from pylons.controllers.util import redirect
34 from rhodecode.lib.utils2 import safe_int
34
35
35 log = logging.getLogger(__name__)
36 log = logging.getLogger(__name__)
36
37
@@ -44,8 +45,8 b' class ShortlogController(BaseRepoControl'
44 super(ShortlogController, self).__before__()
45 super(ShortlogController, self).__before__()
45
46
46 def index(self, repo_name):
47 def index(self, repo_name):
47 p = int(request.params.get('page', 1))
48 p = safe_int(request.params.get('page', 1), 1)
48 size = int(request.params.get('size', 20))
49 size = safe_int(request.params.get('size', 20), 20)
49
50
50 def url_generator(**kw):
51 def url_generator(**kw):
51 return url('shortlog_home', repo_name=repo_name, size=size, **kw)
52 return url('shortlog_home', repo_name=repo_name, size=size, **kw)
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
This diff has been collapsed as it changes many lines, (1286 lines changed) Show them Hide them
@@ -3,37 +3,40 b''
3 # This file is distributed under the same license as the RhodeCode project.
3 # This file is distributed under the same license as the RhodeCode project.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
5 # mikespook <mikespook@gmail.com>, 2012.
5 # mikespook <mikespook@gmail.com>, 2012.
6 # xpol <xpolife@gmail.com>, 2012.
6 msgid ""
7 msgid ""
7 msgstr ""
8 msgstr ""
8 "Project-Id-Version: RhodeCode 1.2.0\n"
9 "Project-Id-Version: RhodeCode 1.2.0\n"
9 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10 "POT-Creation-Date: 2012-09-02 20:30+0200\n"
11 "POT-Creation-Date: 2012-09-02 20:30+0200\n"
11 "PO-Revision-Date: 2012-04-05 17:37+0800\n"
12 "PO-Revision-Date: 2012-09-19 13:27+0800\n"
12 "Last-Translator: mikespook <mikespook@gmail.com>\n"
13 "Last-Translator: xpol <xpolife@gmail.com>\n"
13 "Language-Team: mikespook\n"
14 "Language-Team: mikespook\n"
14 "Plural-Forms: nplurals=1; plural=0\n"
15 "Plural-Forms: nplurals=1; plural=0;\n"
15 "MIME-Version: 1.0\n"
16 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=utf-8\n"
17 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18 "Content-Transfer-Encoding: 8bit\n"
18 "Generated-By: Babel 0.9.6\n"
19 "Generated-By: Babel 0.9.6\n"
20 "X-Generator: Poedit 1.5.3\n"
21 "X-Poedit-Basepath: E:\\home\\rhodecode\n"
22 "X-Poedit-SourceCharset: UTF-8\n"
19
23
20 #: rhodecode/controllers/changelog.py:94
24 #: rhodecode/controllers/changelog.py:94
21 #, fuzzy
22 msgid "All Branches"
25 msgid "All Branches"
23 msgstr "分支"
26 msgstr "所有分支"
24
27
25 #: rhodecode/controllers/changeset.py:83
28 #: rhodecode/controllers/changeset.py:83
26 msgid "show white space"
29 msgid "show white space"
27 msgstr ""
30 msgstr "显示空白字符"
28
31
29 #: rhodecode/controllers/changeset.py:90 rhodecode/controllers/changeset.py:97
32 #: rhodecode/controllers/changeset.py:90 rhodecode/controllers/changeset.py:97
30 msgid "ignore white space"
33 msgid "ignore white space"
31 msgstr ""
34 msgstr "忽略空白字符"
32
35
33 #: rhodecode/controllers/changeset.py:157
36 #: rhodecode/controllers/changeset.py:157
34 #, fuzzy, python-format
37 #, python-format
35 msgid "%s line context"
38 msgid "%s line context"
36 msgstr "文件内容"
39 msgstr "%s 行上下文"
37
40
38 #: rhodecode/controllers/changeset.py:333
41 #: rhodecode/controllers/changeset.py:333
39 #: rhodecode/controllers/changeset.py:348 rhodecode/lib/diffs.py:70
42 #: rhodecode/controllers/changeset.py:348 rhodecode/lib/diffs.py:70
@@ -42,21 +45,21 b' msgstr "\xe4\xba\x8c\xe8\xbf\x9b\xe5\x88\xb6\xe6\x96\x87\xe4\xbb\xb6"'
42
45
43 #: rhodecode/controllers/changeset.py:408
46 #: rhodecode/controllers/changeset.py:408
44 msgid ""
47 msgid ""
45 "Changing status on a changeset associated witha closed pull request is "
48 "Changing status on a changeset associated witha closed pull request is not "
46 "not allowed"
49 "allowed"
47 msgstr ""
50 msgstr "不允许修改已关闭拉取请求的修订集状态"
48
51
49 #: rhodecode/controllers/compare.py:69
52 #: rhodecode/controllers/compare.py:69
50 #, fuzzy
51 msgid "There are no changesets yet"
53 msgid "There are no changesets yet"
52 msgstr "没有任何变更"
54 msgstr "还没有修订集"
53
55
54 #: rhodecode/controllers/error.py:69
56 #: rhodecode/controllers/error.py:69
55 msgid "Home page"
57 msgid "Home page"
56 msgstr "主页"
58 msgstr "主页"
57
59
58 #: rhodecode/controllers/error.py:98
60 #: rhodecode/controllers/error.py:98
59 msgid "The request could not be understood by the server due to malformed syntax."
61 msgid ""
62 "The request could not be understood by the server due to malformed syntax."
60 msgstr "由于错误的语法,服务器无法对请求进行响应。"
63 msgstr "由于错误的语法,服务器无法对请求进行响应。"
61
64
62 #: rhodecode/controllers/error.py:101
65 #: rhodecode/controllers/error.py:101
@@ -88,24 +91,22 b' msgid "%s %s feed"'
88 msgstr "%s %s 订阅"
91 msgstr "%s %s 订阅"
89
92
90 #: rhodecode/controllers/feed.py:75
93 #: rhodecode/controllers/feed.py:75
91 #, fuzzy
92 msgid "commited on"
94 msgid "commited on"
93 msgstr "提交"
95 msgstr "提交"
94
96
95 #: rhodecode/controllers/files.py:84
97 #: rhodecode/controllers/files.py:84
96 #, fuzzy
97 msgid "click here to add new file"
98 msgid "click here to add new file"
98 msgstr "添加新用户"
99 msgstr "点击此处添加新文件"
99
100
100 #: rhodecode/controllers/files.py:85
101 #: rhodecode/controllers/files.py:85
101 #, fuzzy, python-format
102 #, python-format
102 msgid "There are no files yet %s"
103 msgid "There are no files yet %s"
103 msgstr "尚无文件"
104 msgstr "还没有文件 %s"
104
105
105 #: rhodecode/controllers/files.py:239 rhodecode/controllers/files.py:299
106 #: rhodecode/controllers/files.py:239 rhodecode/controllers/files.py:299
106 #, python-format
107 #, python-format
107 msgid "This repository is has been locked by %s on %s"
108 msgid "This repository is has been locked by %s on %s"
108 msgstr ""
109 msgstr "版本库由 %s 于 %s 锁定"
109
110
110 #: rhodecode/controllers/files.py:266
111 #: rhodecode/controllers/files.py:266
111 #, python-format
112 #, python-format
@@ -126,19 +127,17 b' msgid "Error occurred during commit"'
126 msgstr "提交时发生错误"
127 msgstr "提交时发生错误"
127
128
128 #: rhodecode/controllers/files.py:318
129 #: rhodecode/controllers/files.py:318
129 #, fuzzy, python-format
130 #, python-format
130 msgid "Added %s via RhodeCode"
131 msgid "Added %s via RhodeCode"
131 msgstr "通过 RhodeCode 修改了 %s"
132 msgstr "通过 RhodeCode 添加了 %s"
132
133
133 #: rhodecode/controllers/files.py:332
134 #: rhodecode/controllers/files.py:332
134 #, fuzzy
135 msgid "No content"
135 msgid "No content"
136 msgstr "文件内容"
136 msgstr "内容"
137
137
138 #: rhodecode/controllers/files.py:336
138 #: rhodecode/controllers/files.py:336
139 #, fuzzy
140 msgid "No filename"
139 msgid "No filename"
141 msgstr "文件名"
140 msgstr "文件名"
142
141
143 #: rhodecode/controllers/files.py:378
142 #: rhodecode/controllers/files.py:378
144 msgid "downloads disabled"
143 msgid "downloads disabled"
@@ -161,7 +160,7 b' msgstr "\xe6\x9c\xaa\xe7\x9f\xa5\xe5\x8c\x85\xe7\xb1\xbb\xe5\x9e\x8b"'
161 #: rhodecode/templates/changeset/changeset_range.html:13
160 #: rhodecode/templates/changeset/changeset_range.html:13
162 #: rhodecode/templates/changeset/changeset_range.html:31
161 #: rhodecode/templates/changeset/changeset_range.html:31
163 msgid "Changesets"
162 msgid "Changesets"
164 msgstr "变更集"
163 msgstr "修订集"
165
164
166 #: rhodecode/controllers/files.py:495 rhodecode/controllers/pullrequests.py:72
165 #: rhodecode/controllers/files.py:495 rhodecode/controllers/pullrequests.py:72
167 #: rhodecode/controllers/summary.py:232 rhodecode/model/scm.py:543
166 #: rhodecode/controllers/summary.py:232 rhodecode/model/scm.py:543
@@ -176,18 +175,20 b' msgstr "\xe6\xa0\x87\xe7\xad\xbe"'
176 #: rhodecode/controllers/forks.py:73 rhodecode/controllers/admin/repos.py:90
175 #: rhodecode/controllers/forks.py:73 rhodecode/controllers/admin/repos.py:90
177 #, python-format
176 #, python-format
178 msgid ""
177 msgid ""
179 "%s repository is not mapped to db perhaps it was created or renamed from "
178 "%s repository is not mapped to db perhaps it was created or renamed from the "
180 "the filesystem please run the application again in order to rescan "
179 "filesystem please run the application again in order to rescan repositories"
181 "repositories"
182 msgstr ""
180 msgstr ""
181 "版本库 %s 没有映射到数据库,可能是从文件系统创建或者重命名,请重启 RhodeCode "
182 "以重新扫描版本库"
183
183
184 #: rhodecode/controllers/forks.py:133 rhodecode/controllers/settings.py:72
184 #: rhodecode/controllers/forks.py:133 rhodecode/controllers/settings.py:72
185 #, python-format
185 #, python-format
186 msgid ""
186 msgid ""
187 "%s repository is not mapped to db perhaps it was created or renamed from "
187 "%s repository is not mapped to db perhaps it was created or renamed from the "
188 "the file system please run the application again in order to rescan "
188 "file system please run the application again in order to rescan repositories"
189 "repositories"
190 msgstr ""
189 msgstr ""
190 " 版本库 %s 没有映射到数据库,可能是从文件系统创建或者重命名,请重启 "
191 "RhodeCode 以重新扫描版本库"
191
192
192 #: rhodecode/controllers/forks.py:167
193 #: rhodecode/controllers/forks.py:167
193 #, python-format
194 #, python-format
@@ -197,10 +198,9 b' msgstr "\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93 %s \xe8\xa2\xab\xe5\x88\x86\xe6\x94\xaf\xe5\x88\xb0 %s"'
197 #: rhodecode/controllers/forks.py:181
198 #: rhodecode/controllers/forks.py:181
198 #, python-format
199 #, python-format
199 msgid "An error occurred during repository forking %s"
200 msgid "An error occurred during repository forking %s"
200 msgstr ""
201 msgstr "在分支版本库 %s 的时候发生错误"
201
202
202 #: rhodecode/controllers/journal.py:202 rhodecode/controllers/journal.py:239
203 #: rhodecode/controllers/journal.py:202 rhodecode/controllers/journal.py:239
203 #, fuzzy
204 msgid "public journal"
204 msgid "public journal"
205 msgstr "公共日志"
205 msgstr "公共日志"
206
206
@@ -219,37 +219,32 b' msgstr "\xe5\xaf\x86\xe7\xa0\x81\xe9\x87\x8d\xe7\xbd\xae\xe9\x93\xbe\xe6\x8e\xa5\xe5\xb7\xb2\xe7\xbb\x8f\xe5\x8f\x91\xe9\x80\x81"'
219
219
220 #: rhodecode/controllers/login.py:184
220 #: rhodecode/controllers/login.py:184
221 msgid ""
221 msgid ""
222 "Your password reset was successful, new password has been sent to your "
222 "Your password reset was successful, new password has been sent to your email"
223 "email"
224 msgstr "密码已经成功重置,新密码已经发送到你的邮箱"
223 msgstr "密码已经成功重置,新密码已经发送到你的邮箱"
225
224
226 #: rhodecode/controllers/pullrequests.py:74 rhodecode/model/scm.py:549
225 #: rhodecode/controllers/pullrequests.py:74 rhodecode/model/scm.py:549
227 msgid "Bookmarks"
226 msgid "Bookmarks"
228 msgstr ""
227 msgstr "书签"
229
228
230 #: rhodecode/controllers/pullrequests.py:158
229 #: rhodecode/controllers/pullrequests.py:158
231 msgid "Pull request requires a title with min. 3 chars"
230 msgid "Pull request requires a title with min. 3 chars"
232 msgstr ""
231 msgstr "拉取请求的标题至少 3 个字符"
233
232
234 #: rhodecode/controllers/pullrequests.py:160
233 #: rhodecode/controllers/pullrequests.py:160
235 #, fuzzy
236 msgid "error during creation of pull request"
234 msgid "error during creation of pull request"
237 msgstr "提交时发生错误"
235 msgstr "提交拉取请求时发生错误"
238
236
239 #: rhodecode/controllers/pullrequests.py:181
237 #: rhodecode/controllers/pullrequests.py:181
240 #, fuzzy
241 msgid "Successfully opened new pull request"
238 msgid "Successfully opened new pull request"
242 msgstr "用户删除成功"
239 msgstr "成功提交拉取请求"
243
240
244 #: rhodecode/controllers/pullrequests.py:184
241 #: rhodecode/controllers/pullrequests.py:184
245 #, fuzzy
246 msgid "Error occurred during sending pull request"
242 msgid "Error occurred during sending pull request"
247 msgstr "提交时发生错误"
243 msgstr "提交拉取请求时发生错误"
248
244
249 #: rhodecode/controllers/pullrequests.py:217
245 #: rhodecode/controllers/pullrequests.py:217
250 #, fuzzy
251 msgid "Successfully deleted pull request"
246 msgid "Successfully deleted pull request"
252 msgstr "用户删除成功"
247 msgstr "成功删除拉取请求"
253
248
254 #: rhodecode/controllers/search.py:131
249 #: rhodecode/controllers/search.py:131
255 msgid "Invalid search query. Try quoting it."
250 msgid "Invalid search query. Try quoting it."
@@ -273,16 +268,17 b' msgstr "\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93 %s \xe6\x88\x90\xe5\x8a\x9f\xe6\x9b\xb4\xe6\x96\xb0"'
273 #: rhodecode/controllers/admin/repos.py:284
268 #: rhodecode/controllers/admin/repos.py:284
274 #, python-format
269 #, python-format
275 msgid "error occurred during update of repository %s"
270 msgid "error occurred during update of repository %s"
276 msgstr ""
271 msgstr "在更新版本库 %s 的时候发生错误"
277
272
278 #: rhodecode/controllers/settings.py:143
273 #: rhodecode/controllers/settings.py:143
279 #: rhodecode/controllers/admin/repos.py:302
274 #: rhodecode/controllers/admin/repos.py:302
280 #, python-format
275 #, python-format
281 msgid ""
276 msgid ""
282 "%s repository is not mapped to db perhaps it was moved or renamed from "
277 "%s repository is not mapped to db perhaps it was moved or renamed from the "
283 "the filesystem please run the application again in order to rescan "
278 "filesystem please run the application again in order to rescan repositories"
284 "repositories"
285 msgstr ""
279 msgstr ""
280 "版本库 %s 没有映射到数据库,可能是从文件系统创建或者重命名,请重启 RhodeCode "
281 "以重新扫描版本库"
286
282
287 #: rhodecode/controllers/settings.py:155
283 #: rhodecode/controllers/settings.py:155
288 #: rhodecode/controllers/admin/repos.py:314
284 #: rhodecode/controllers/admin/repos.py:314
@@ -295,11 +291,11 b' msgstr "\xe5\xb7\xb2\xe7\xbb\x8f\xe5\x88\xa0\xe9\x99\xa4\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93 %s"'
295 #: rhodecode/controllers/admin/repos.py:330
291 #: rhodecode/controllers/admin/repos.py:330
296 #, python-format
292 #, python-format
297 msgid "An error occurred during deletion of %s"
293 msgid "An error occurred during deletion of %s"
298 msgstr ""
294 msgstr "在删除 %s 的时候发生错误"
299
295
300 #: rhodecode/controllers/summary.py:138
296 #: rhodecode/controllers/summary.py:138
301 msgid "No data loaded yet"
297 msgid "No data loaded yet"
302 msgstr ""
298 msgstr "数据未加载"
303
299
304 #: rhodecode/controllers/summary.py:142
300 #: rhodecode/controllers/summary.py:142
305 #: rhodecode/templates/summary/summary.html:148
301 #: rhodecode/templates/summary/summary.html:148
@@ -308,35 +304,35 b' msgstr "\xe8\xaf\xa5\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe7\xbb\x9f\xe8\xae\xa1\xe5\x8a\x9f\xe8\x83\xbd\xe5\xb7\xb2\xe7\xbb\x8f\xe7\xa6\x81\xe7\x94\xa8"'
308
304
309 #: rhodecode/controllers/admin/ldap_settings.py:50
305 #: rhodecode/controllers/admin/ldap_settings.py:50
310 msgid "BASE"
306 msgid "BASE"
311 msgstr ""
307 msgstr "BASE"
312
308
313 #: rhodecode/controllers/admin/ldap_settings.py:51
309 #: rhodecode/controllers/admin/ldap_settings.py:51
314 msgid "ONELEVEL"
310 msgid "ONELEVEL"
315 msgstr ""
311 msgstr "ONELEVEL"
316
312
317 #: rhodecode/controllers/admin/ldap_settings.py:52
313 #: rhodecode/controllers/admin/ldap_settings.py:52
318 msgid "SUBTREE"
314 msgid "SUBTREE"
319 msgstr ""
315 msgstr "SUBTREE"
320
316
321 #: rhodecode/controllers/admin/ldap_settings.py:56
317 #: rhodecode/controllers/admin/ldap_settings.py:56
322 msgid "NEVER"
318 msgid "NEVER"
323 msgstr ""
319 msgstr "NEVER"
324
320
325 #: rhodecode/controllers/admin/ldap_settings.py:57
321 #: rhodecode/controllers/admin/ldap_settings.py:57
326 msgid "ALLOW"
322 msgid "ALLOW"
327 msgstr ""
323 msgstr "ALLOW"
328
324
329 #: rhodecode/controllers/admin/ldap_settings.py:58
325 #: rhodecode/controllers/admin/ldap_settings.py:58
330 msgid "TRY"
326 msgid "TRY"
331 msgstr ""
327 msgstr "TRY"
332
328
333 #: rhodecode/controllers/admin/ldap_settings.py:59
329 #: rhodecode/controllers/admin/ldap_settings.py:59
334 msgid "DEMAND"
330 msgid "DEMAND"
335 msgstr ""
331 msgstr "DEMAND"
336
332
337 #: rhodecode/controllers/admin/ldap_settings.py:60
333 #: rhodecode/controllers/admin/ldap_settings.py:60
338 msgid "HARD"
334 msgid "HARD"
339 msgstr ""
335 msgstr "HARD"
340
336
341 #: rhodecode/controllers/admin/ldap_settings.py:64
337 #: rhodecode/controllers/admin/ldap_settings.py:64
342 msgid "No encryption"
338 msgid "No encryption"
@@ -344,11 +340,11 b' msgstr "\xe6\x9c\xaa\xe5\x8a\xa0\xe5\xaf\x86"'
344
340
345 #: rhodecode/controllers/admin/ldap_settings.py:65
341 #: rhodecode/controllers/admin/ldap_settings.py:65
346 msgid "LDAPS connection"
342 msgid "LDAPS connection"
347 msgstr ""
343 msgstr "LDAPS 连接"
348
344
349 #: rhodecode/controllers/admin/ldap_settings.py:66
345 #: rhodecode/controllers/admin/ldap_settings.py:66
350 msgid "START_TLS on LDAP connection"
346 msgid "START_TLS on LDAP connection"
351 msgstr ""
347 msgstr "LDAP 连接上的 START_TLS"
352
348
353 #: rhodecode/controllers/admin/ldap_settings.py:126
349 #: rhodecode/controllers/admin/ldap_settings.py:126
354 msgid "Ldap settings updated successfully"
350 msgid "Ldap settings updated successfully"
@@ -356,11 +352,11 b' msgstr "LDAP \xe8\xae\xbe\xe7\xbd\xae\xe5\xb7\xb2\xe7\xbb\x8f\xe6\x88\x90\xe5\x8a\x9f\xe6\x9b\xb4\xe6\x96\xb0"'
356
352
357 #: rhodecode/controllers/admin/ldap_settings.py:130
353 #: rhodecode/controllers/admin/ldap_settings.py:130
358 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
354 msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
359 msgstr "无法启用 LDAP。“python-ldap”缺失。"
355 msgstr "无法启用 LDAP。缺失“python-ldap”。"
360
356
361 #: rhodecode/controllers/admin/ldap_settings.py:147
357 #: rhodecode/controllers/admin/ldap_settings.py:147
362 msgid "error occurred during update of ldap settings"
358 msgid "error occurred during update of ldap settings"
363 msgstr ""
359 msgstr "更新 LDAP 设置时发生错误"
364
360
365 #: rhodecode/controllers/admin/permissions.py:59
361 #: rhodecode/controllers/admin/permissions.py:59
366 msgid "None"
362 msgid "None"
@@ -427,11 +423,11 b' msgstr "\xe6\x88\x90\xe5\x8a\x9f\xe6\x9b\xb4\xe6\x96\xb0\xe9\xbb\x98\xe8\xae\xa4\xe6\x9d\x83\xe9\x99\x90"'
427
423
428 #: rhodecode/controllers/admin/permissions.py:130
424 #: rhodecode/controllers/admin/permissions.py:130
429 msgid "error occurred during update of permissions"
425 msgid "error occurred during update of permissions"
430 msgstr ""
426 msgstr "更新权限时发生错误"
431
427
432 #: rhodecode/controllers/admin/repos.py:123
428 #: rhodecode/controllers/admin/repos.py:123
433 msgid "--REMOVE FORK--"
429 msgid "--REMOVE FORK--"
434 msgstr ""
430 msgstr "-- 移除分支 --"
435
431
436 #: rhodecode/controllers/admin/repos.py:192
432 #: rhodecode/controllers/admin/repos.py:192
437 #, python-format
433 #, python-format
@@ -446,67 +442,65 b' msgstr "\xe5\xbb\xba\xe7\xab\x8b\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93 %s"'
446 #: rhodecode/controllers/admin/repos.py:227
442 #: rhodecode/controllers/admin/repos.py:227
447 #, python-format
443 #, python-format
448 msgid "error occurred during creation of repository %s"
444 msgid "error occurred during creation of repository %s"
449 msgstr ""
445 msgstr "创建版本库时发生错误 %s"
450
446
451 #: rhodecode/controllers/admin/repos.py:319
447 #: rhodecode/controllers/admin/repos.py:319
452 #, python-format
448 #, python-format
453 msgid "Cannot delete %s it still contains attached forks"
449 msgid "Cannot delete %s it still contains attached forks"
454 msgstr ""
450 msgstr "无法删除 %s 因为它还有其他分支版本库"
455
451
456 #: rhodecode/controllers/admin/repos.py:348
452 #: rhodecode/controllers/admin/repos.py:348
457 msgid "An error occurred during deletion of repository user"
453 msgid "An error occurred during deletion of repository user"
458 msgstr ""
454 msgstr "删除版本库用户时发生错误"
459
455
460 #: rhodecode/controllers/admin/repos.py:367
456 #: rhodecode/controllers/admin/repos.py:367
461 msgid "An error occurred during deletion of repository users groups"
457 msgid "An error occurred during deletion of repository users groups"
462 msgstr ""
458 msgstr "删除版本库用户组时发生错误"
463
459
464 #: rhodecode/controllers/admin/repos.py:385
460 #: rhodecode/controllers/admin/repos.py:385
465 msgid "An error occurred during deletion of repository stats"
461 msgid "An error occurred during deletion of repository stats"
466 msgstr ""
462 msgstr "删除版本库统计时发生错误"
467
463
468 #: rhodecode/controllers/admin/repos.py:402
464 #: rhodecode/controllers/admin/repos.py:402
469 msgid "An error occurred during cache invalidation"
465 msgid "An error occurred during cache invalidation"
470 msgstr ""
466 msgstr "清除缓存时发生错误"
471
467
472 #: rhodecode/controllers/admin/repos.py:422
468 #: rhodecode/controllers/admin/repos.py:422
473 #, fuzzy
474 msgid "An error occurred during unlocking"
469 msgid "An error occurred during unlocking"
475 msgstr "在搜索操作中发生异常"
470 msgstr "解锁时发生错误"
476
471
477 #: rhodecode/controllers/admin/repos.py:442
472 #: rhodecode/controllers/admin/repos.py:442
478 msgid "Updated repository visibility in public journal"
473 msgid "Updated repository visibility in public journal"
479 msgstr ""
474 msgstr "成功更新在公共日志中的可见性"
480
475
481 #: rhodecode/controllers/admin/repos.py:446
476 #: rhodecode/controllers/admin/repos.py:446
482 msgid "An error occurred during setting this repository in public journal"
477 msgid "An error occurred during setting this repository in public journal"
483 msgstr ""
478 msgstr "设置版本库到公共日志时发生错误"
484
479
485 #: rhodecode/controllers/admin/repos.py:451 rhodecode/model/validators.py:299
480 #: rhodecode/controllers/admin/repos.py:451 rhodecode/model/validators.py:299
486 msgid "Token mismatch"
481 msgid "Token mismatch"
487 msgstr ""
482 msgstr "令牌不匹配"
488
483
489 #: rhodecode/controllers/admin/repos.py:464
484 #: rhodecode/controllers/admin/repos.py:464
490 msgid "Pulled from remote location"
485 msgid "Pulled from remote location"
491 msgstr ""
486 msgstr "成功拉取自远程路径"
492
487
493 #: rhodecode/controllers/admin/repos.py:466
488 #: rhodecode/controllers/admin/repos.py:466
494 msgid "An error occurred during pull from remote location"
489 msgid "An error occurred during pull from remote location"
495 msgstr ""
490 msgstr "从远程路径拉取时发生错误"
496
491
497 #: rhodecode/controllers/admin/repos.py:482
492 #: rhodecode/controllers/admin/repos.py:482
498 msgid "Nothing"
493 msgid "Nothing"
499 msgstr ""
494 msgstr ""
500
495
501 #: rhodecode/controllers/admin/repos.py:484
496 #: rhodecode/controllers/admin/repos.py:484
502 #, fuzzy, python-format
497 #, python-format
503 msgid "Marked repo %s as fork of %s"
498 msgid "Marked repo %s as fork of %s"
504 msgstr "新版本库 %s 基于 %s 建立。"
499 msgstr "成功将版本库 %s 标记为从 %s 分支"
505
500
506 #: rhodecode/controllers/admin/repos.py:488
501 #: rhodecode/controllers/admin/repos.py:488
507 #, fuzzy
508 msgid "An error occurred during this operation"
502 msgid "An error occurred during this operation"
509 msgstr "在搜索操作中发生异常"
503 msgstr "在搜索操作中发生错误"
510
504
511 #: rhodecode/controllers/admin/repos_groups.py:116
505 #: rhodecode/controllers/admin/repos_groups.py:116
512 #, python-format
506 #, python-format
@@ -516,7 +510,7 b' msgstr "\xe5\xbb\xba\xe7\xab\x8b\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe7\xbb\x84 %s"'
516 #: rhodecode/controllers/admin/repos_groups.py:129
510 #: rhodecode/controllers/admin/repos_groups.py:129
517 #, python-format
511 #, python-format
518 msgid "error occurred during creation of repos group %s"
512 msgid "error occurred during creation of repos group %s"
519 msgstr ""
513 msgstr "创建版本库组时发生错误 %s"
520
514
521 #: rhodecode/controllers/admin/repos_groups.py:163
515 #: rhodecode/controllers/admin/repos_groups.py:163
522 #, python-format
516 #, python-format
@@ -526,12 +520,12 b' msgstr "\xe6\x9b\xb4\xe6\x96\xb0\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe7\xbb\x84 %s"'
526 #: rhodecode/controllers/admin/repos_groups.py:176
520 #: rhodecode/controllers/admin/repos_groups.py:176
527 #, python-format
521 #, python-format
528 msgid "error occurred during update of repos group %s"
522 msgid "error occurred during update of repos group %s"
529 msgstr ""
523 msgstr "更新版本库组时发生错误 %s"
530
524
531 #: rhodecode/controllers/admin/repos_groups.py:194
525 #: rhodecode/controllers/admin/repos_groups.py:194
532 #, python-format
526 #, python-format
533 msgid "This group contains %s repositores and cannot be deleted"
527 msgid "This group contains %s repositores and cannot be deleted"
534 msgstr ""
528 msgstr "这个组内有 %s 个版本库因而无法删除"
535
529
536 #: rhodecode/controllers/admin/repos_groups.py:202
530 #: rhodecode/controllers/admin/repos_groups.py:202
537 #, python-format
531 #, python-format
@@ -540,27 +534,26 b' msgstr "\xe7\xa7\xbb\xe9\x99\xa4\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe7\xbb\x84 %s"'
540
534
541 #: rhodecode/controllers/admin/repos_groups.py:208
535 #: rhodecode/controllers/admin/repos_groups.py:208
542 msgid "Cannot delete this group it still contains subgroups"
536 msgid "Cannot delete this group it still contains subgroups"
543 msgstr ""
537 msgstr "不能删除包含子组的组"
544
538
545 #: rhodecode/controllers/admin/repos_groups.py:213
539 #: rhodecode/controllers/admin/repos_groups.py:213
546 #: rhodecode/controllers/admin/repos_groups.py:218
540 #: rhodecode/controllers/admin/repos_groups.py:218
547 #, python-format
541 #, python-format
548 msgid "error occurred during deletion of repos group %s"
542 msgid "error occurred during deletion of repos group %s"
549 msgstr ""
543 msgstr "删除版本库组时发生错误 %s"
550
544
551 #: rhodecode/controllers/admin/repos_groups.py:238
545 #: rhodecode/controllers/admin/repos_groups.py:238
552 #, fuzzy
553 msgid "An error occurred during deletion of group user"
546 msgid "An error occurred during deletion of group user"
554 msgstr "在搜索操作中发生异常"
547 msgstr "删除组用户时发生错误"
555
548
556 #: rhodecode/controllers/admin/repos_groups.py:258
549 #: rhodecode/controllers/admin/repos_groups.py:258
557 msgid "An error occurred during deletion of group users groups"
550 msgid "An error occurred during deletion of group users groups"
558 msgstr ""
551 msgstr "删除版本库组的用户组时发生错误"
559
552
560 #: rhodecode/controllers/admin/settings.py:121
553 #: rhodecode/controllers/admin/settings.py:121
561 #, python-format
554 #, python-format
562 msgid "Repositories successfully rescanned added: %s,removed: %s"
555 msgid "Repositories successfully rescanned added: %s,removed: %s"
563 msgstr ""
556 msgstr "重新扫描版本库成功,增加 %s, 移除 %s"
564
557
565 #: rhodecode/controllers/admin/settings.py:129
558 #: rhodecode/controllers/admin/settings.py:129
566 msgid "Whoosh reindex task scheduled"
559 msgid "Whoosh reindex task scheduled"
@@ -573,26 +566,23 b' msgstr "\xe6\x9b\xb4\xe6\x96\xb0\xe5\xba\x94\xe7\x94\xa8\xe8\xae\xbe\xe7\xbd\xae"'
573 #: rhodecode/controllers/admin/settings.py:164
566 #: rhodecode/controllers/admin/settings.py:164
574 #: rhodecode/controllers/admin/settings.py:275
567 #: rhodecode/controllers/admin/settings.py:275
575 msgid "error occurred during updating application settings"
568 msgid "error occurred during updating application settings"
576 msgstr ""
569 msgstr "更新设置时发生错误"
577
570
578 #: rhodecode/controllers/admin/settings.py:200
571 #: rhodecode/controllers/admin/settings.py:200
579 #, fuzzy
580 msgid "Updated visualisation settings"
572 msgid "Updated visualisation settings"
581 msgstr "更新应用设置"
573 msgstr "成功更新可视化设置"
582
574
583 #: rhodecode/controllers/admin/settings.py:205
575 #: rhodecode/controllers/admin/settings.py:205
584 #, fuzzy
585 msgid "error occurred during updating visualisation settings"
576 msgid "error occurred during updating visualisation settings"
586 msgstr "提交时发生错误"
577 msgstr "更新可视化设置时发生错误"
587
578
588 #: rhodecode/controllers/admin/settings.py:271
579 #: rhodecode/controllers/admin/settings.py:271
589 #, fuzzy
590 msgid "Updated VCS settings"
580 msgid "Updated VCS settings"
591 msgstr "更新 mercurial 设置"
581 msgstr "成功更新版本控制系统设置"
592
582
593 #: rhodecode/controllers/admin/settings.py:285
583 #: rhodecode/controllers/admin/settings.py:285
594 msgid "Added new hook"
584 msgid "Added new hook"
595 msgstr "新钩子"
585 msgstr "新钩子"
596
586
597 #: rhodecode/controllers/admin/settings.py:297
587 #: rhodecode/controllers/admin/settings.py:297
598 msgid "Updated hooks"
588 msgid "Updated hooks"
@@ -600,15 +590,15 b' msgstr "\xe6\x9b\xb4\xe6\x96\xb0\xe9\x92\xa9\xe5\xad\x90"'
600
590
601 #: rhodecode/controllers/admin/settings.py:301
591 #: rhodecode/controllers/admin/settings.py:301
602 msgid "error occurred during hook creation"
592 msgid "error occurred during hook creation"
603 msgstr ""
593 msgstr "创建钩子时发生错误"
604
594
605 #: rhodecode/controllers/admin/settings.py:320
595 #: rhodecode/controllers/admin/settings.py:320
606 msgid "Email task created"
596 msgid "Email task created"
607 msgstr ""
597 msgstr "已创建电子邮件任务"
608
598
609 #: rhodecode/controllers/admin/settings.py:375
599 #: rhodecode/controllers/admin/settings.py:375
610 msgid "You can't edit this user since it's crucial for entire application"
600 msgid "You can't edit this user since it's crucial for entire application"
611 msgstr ""
601 msgstr "由于是系统帐号,无法编辑该用户"
612
602
613 #: rhodecode/controllers/admin/settings.py:406
603 #: rhodecode/controllers/admin/settings.py:406
614 msgid "Your account was updated successfully"
604 msgid "Your account was updated successfully"
@@ -618,7 +608,7 b' msgstr "\xe4\xbd\xa0\xe7\x9a\x84\xe5\xb8\x90\xe5\x8f\xb7\xe5\xb7\xb2\xe7\xbb\x8f\xe6\x9b\xb4\xe6\x96\xb0\xe5\xae\x8c\xe6\x88\x90"'
618 #: rhodecode/controllers/admin/users.py:191
608 #: rhodecode/controllers/admin/users.py:191
619 #, python-format
609 #, python-format
620 msgid "error occurred during update of user %s"
610 msgid "error occurred during update of user %s"
621 msgstr ""
611 msgstr "更新用户 %s 时发生错误"
622
612
623 #: rhodecode/controllers/admin/users.py:130
613 #: rhodecode/controllers/admin/users.py:130
624 #, python-format
614 #, python-format
@@ -628,7 +618,7 b' msgstr "\xe5\x88\x9b\xe5\xbb\xba\xe7\x94\xa8\xe6\x88\xb7 %s"'
628 #: rhodecode/controllers/admin/users.py:142
618 #: rhodecode/controllers/admin/users.py:142
629 #, python-format
619 #, python-format
630 msgid "error occurred during creation of user %s"
620 msgid "error occurred during creation of user %s"
631 msgstr ""
621 msgstr "创建用户 %s 时发生错误"
632
622
633 #: rhodecode/controllers/admin/users.py:171
623 #: rhodecode/controllers/admin/users.py:171
634 msgid "User updated successfully"
624 msgid "User updated successfully"
@@ -640,7 +630,7 b' msgstr "\xe7\x94\xa8\xe6\x88\xb7\xe5\x88\xa0\xe9\x99\xa4\xe6\x88\x90\xe5\x8a\x9f"'
640
630
641 #: rhodecode/controllers/admin/users.py:212
631 #: rhodecode/controllers/admin/users.py:212
642 msgid "An error occurred during deletion of user"
632 msgid "An error occurred during deletion of user"
643 msgstr ""
633 msgstr "删除用户时发生错误"
644
634
645 #: rhodecode/controllers/admin/users.py:226
635 #: rhodecode/controllers/admin/users.py:226
646 msgid "You can't edit this user"
636 msgid "You can't edit this user"
@@ -648,42 +638,37 b' msgstr "\xe6\x97\xa0\xe6\xb3\x95\xe7\xbc\x96\xe8\xbe\x91\xe8\xaf\xa5\xe7\x94\xa8\xe6\x88\xb7"'
648
638
649 #: rhodecode/controllers/admin/users.py:266
639 #: rhodecode/controllers/admin/users.py:266
650 msgid "Granted 'repository create' permission to user"
640 msgid "Granted 'repository create' permission to user"
651 msgstr ""
641 msgstr "已授予用户‘创建版本库’的权限"
652
642
653 #: rhodecode/controllers/admin/users.py:271
643 #: rhodecode/controllers/admin/users.py:271
654 msgid "Revoked 'repository create' permission to user"
644 msgid "Revoked 'repository create' permission to user"
655 msgstr ""
645 msgstr "已撤销用户‘创建版本库’的权限"
656
646
657 #: rhodecode/controllers/admin/users.py:277
647 #: rhodecode/controllers/admin/users.py:277
658 #, fuzzy
659 msgid "Granted 'repository fork' permission to user"
648 msgid "Granted 'repository fork' permission to user"
660 msgstr "版本库权限"
649 msgstr "成功授予了用户“分支版本库权限"
661
650
662 #: rhodecode/controllers/admin/users.py:282
651 #: rhodecode/controllers/admin/users.py:282
663 #, fuzzy
664 msgid "Revoked 'repository fork' permission to user"
652 msgid "Revoked 'repository fork' permission to user"
665 msgstr "版本库权限"
653 msgstr "成功撤销用户“分支版本库权限"
666
654
667 #: rhodecode/controllers/admin/users.py:288
655 #: rhodecode/controllers/admin/users.py:288
668 #: rhodecode/controllers/admin/users_groups.py:255
656 #: rhodecode/controllers/admin/users_groups.py:255
669 #, fuzzy
670 msgid "An error occurred during permissions saving"
657 msgid "An error occurred during permissions saving"
671 msgstr "在搜索操作中发生异常"
658 msgstr "保存权限时发生错误"
672
659
673 #: rhodecode/controllers/admin/users.py:303
660 #: rhodecode/controllers/admin/users.py:303
674 #, python-format
661 #, python-format
675 msgid "Added email %s to user"
662 msgid "Added email %s to user"
676 msgstr ""
663 msgstr "已为用户添加电子邮件 %s"
677
664
678 #: rhodecode/controllers/admin/users.py:309
665 #: rhodecode/controllers/admin/users.py:309
679 #, fuzzy
680 msgid "An error occurred during email saving"
666 msgid "An error occurred during email saving"
681 msgstr "在搜索操作中发生异常"
667 msgstr "保存电子邮件时发生错误"
682
668
683 #: rhodecode/controllers/admin/users.py:319
669 #: rhodecode/controllers/admin/users.py:319
684 #, fuzzy
685 msgid "Removed email from user"
670 msgid "Removed email from user"
686 msgstr "移除版本库组 %s"
671 msgstr "成功删除用户电子邮件"
687
672
688 #: rhodecode/controllers/admin/users_groups.py:84
673 #: rhodecode/controllers/admin/users_groups.py:84
689 #, python-format
674 #, python-format
@@ -693,7 +678,7 b' msgstr "\xe5\xbb\xba\xe7\xab\x8b\xe7\x94\xa8\xe6\x88\xb7\xe7\xbb\x84 %s"'
693 #: rhodecode/controllers/admin/users_groups.py:95
678 #: rhodecode/controllers/admin/users_groups.py:95
694 #, python-format
679 #, python-format
695 msgid "error occurred during creation of users group %s"
680 msgid "error occurred during creation of users group %s"
696 msgstr ""
681 msgstr "创建用户组 %s 时发生错误"
697
682
698 #: rhodecode/controllers/admin/users_groups.py:135
683 #: rhodecode/controllers/admin/users_groups.py:135
699 #, python-format
684 #, python-format
@@ -703,7 +688,7 b' msgstr "\xe6\x9b\xb4\xe6\x96\xb0\xe7\x94\xa8\xe6\x88\xb7\xe7\xbb\x84 %s"'
703 #: rhodecode/controllers/admin/users_groups.py:157
688 #: rhodecode/controllers/admin/users_groups.py:157
704 #, python-format
689 #, python-format
705 msgid "error occurred during update of users group %s"
690 msgid "error occurred during update of users group %s"
706 msgstr ""
691 msgstr "更新用户组 %s 时发生错误"
707
692
708 #: rhodecode/controllers/admin/users_groups.py:174
693 #: rhodecode/controllers/admin/users_groups.py:174
709 msgid "successfully deleted users group"
694 msgid "successfully deleted users group"
@@ -711,23 +696,23 b' msgstr "\xe5\x88\xa0\xe9\x99\xa4\xe7\x94\xa8\xe6\x88\xb7\xe7\xbb\x84\xe6\x88\x90\xe5\x8a\x9f"'
711
696
712 #: rhodecode/controllers/admin/users_groups.py:179
697 #: rhodecode/controllers/admin/users_groups.py:179
713 msgid "An error occurred during deletion of users group"
698 msgid "An error occurred during deletion of users group"
714 msgstr ""
699 msgstr "删除用户组时发生错误"
715
700
716 #: rhodecode/controllers/admin/users_groups.py:233
701 #: rhodecode/controllers/admin/users_groups.py:233
717 msgid "Granted 'repository create' permission to users group"
702 msgid "Granted 'repository create' permission to users group"
718 msgstr ""
703 msgstr "已授予用户组‘创建版本库’的权限"
719
704
720 #: rhodecode/controllers/admin/users_groups.py:238
705 #: rhodecode/controllers/admin/users_groups.py:238
721 msgid "Revoked 'repository create' permission to users group"
706 msgid "Revoked 'repository create' permission to users group"
722 msgstr ""
707 msgstr "已撤销用户组‘创建版本库’的权限"
723
708
724 #: rhodecode/controllers/admin/users_groups.py:244
709 #: rhodecode/controllers/admin/users_groups.py:244
725 msgid "Granted 'repository fork' permission to users group"
710 msgid "Granted 'repository fork' permission to users group"
726 msgstr ""
711 msgstr "已授予用户组‘分支版本库’的权限"
727
712
728 #: rhodecode/controllers/admin/users_groups.py:249
713 #: rhodecode/controllers/admin/users_groups.py:249
729 msgid "Revoked 'repository fork' permission to users group"
714 msgid "Revoked 'repository fork' permission to users group"
730 msgstr ""
715 msgstr "已撤销用户组‘分支版本库’的权限"
731
716
732 #: rhodecode/lib/auth.py:499
717 #: rhodecode/lib/auth.py:499
733 msgid "You need to be a registered user to perform this action"
718 msgid "You need to be a registered user to perform this action"
@@ -738,51 +723,51 b' msgid "You need to be a signed in to vie'
738 msgstr "必须登录才能访问该页面"
723 msgstr "必须登录才能访问该页面"
739
724
740 #: rhodecode/lib/diffs.py:86
725 #: rhodecode/lib/diffs.py:86
741 msgid "Changeset was too big and was cut off, use diff menu to display this diff"
726 msgid ""
742 msgstr "变更集因过大而被截断,可查看原始变更集作为替代"
727 "Changeset was too big and was cut off, use diff menu to display this diff"
728 msgstr "修订集因过大而被截断,可查看原始修订集作为替代"
743
729
744 #: rhodecode/lib/diffs.py:96
730 #: rhodecode/lib/diffs.py:96
745 #, fuzzy
746 msgid "No changes detected"
731 msgid "No changes detected"
747 msgstr "尚无修订"
732 msgstr "未发现差异"
748
733
749 #: rhodecode/lib/helpers.py:372
734 #: rhodecode/lib/helpers.py:372
750 #, python-format
735 #, python-format
751 msgid "%a, %d %b %Y %H:%M:%S"
736 msgid "%a, %d %b %Y %H:%M:%S"
752 msgstr ""
737 msgstr "%Y/%b/%d %H:%M:%S %a"
753
738
754 #: rhodecode/lib/helpers.py:484
739 #: rhodecode/lib/helpers.py:484
755 msgid "True"
740 msgid "True"
756 msgstr ""
741 msgstr ""
757
742
758 #: rhodecode/lib/helpers.py:488
743 #: rhodecode/lib/helpers.py:488
759 msgid "False"
744 msgid "False"
760 msgstr ""
745 msgstr ""
761
746
762 #: rhodecode/lib/helpers.py:532
747 #: rhodecode/lib/helpers.py:532
763 #, fuzzy
764 msgid "Changeset not found"
748 msgid "Changeset not found"
765 msgstr "修改"
749 msgstr "未找到修订集"
766
750
767 #: rhodecode/lib/helpers.py:555
751 #: rhodecode/lib/helpers.py:555
768 #, python-format
752 #, python-format
769 msgid "Show all combined changesets %s->%s"
753 msgid "Show all combined changesets %s->%s"
770 msgstr ""
754 msgstr "显示合并的修订集 %s->%s"
771
755
772 #: rhodecode/lib/helpers.py:561
756 #: rhodecode/lib/helpers.py:561
773 msgid "compare view"
757 msgid "compare view"
774 msgstr ""
758 msgstr "比较显示"
775
759
776 #: rhodecode/lib/helpers.py:581
760 #: rhodecode/lib/helpers.py:581
777 msgid "and"
761 msgid "and"
778 msgstr ""
762 msgstr "还有"
779
763
780 #: rhodecode/lib/helpers.py:582
764 #: rhodecode/lib/helpers.py:582
781 #, python-format
765 #, python-format
782 msgid "%s more"
766 msgid "%s more"
783 msgstr ""
767 msgstr "%s 个"
784
768
785 #: rhodecode/lib/helpers.py:583 rhodecode/templates/changelog/changelog.html:48
769 #: rhodecode/lib/helpers.py:583
770 #: rhodecode/templates/changelog/changelog.html:48
786 msgid "revisions"
771 msgid "revisions"
787 msgstr "修订"
772 msgstr "修订"
788
773
@@ -795,257 +780,235 b' msgstr "\xe5\x88\x86\xe6\x94\xaf\xe5\x90\x8d\xe7\xa7\xb0"'
795 #: rhodecode/templates/pullrequests/pullrequest_show.html:12
780 #: rhodecode/templates/pullrequests/pullrequest_show.html:12
796 #, python-format
781 #, python-format
797 msgid "Pull request #%s"
782 msgid "Pull request #%s"
798 msgstr ""
783 msgstr "拉取请求 #%s"
799
784
800 #: rhodecode/lib/helpers.py:626
785 #: rhodecode/lib/helpers.py:626
801 msgid "[deleted] repository"
786 msgid "[deleted] repository"
802 msgstr ""
787 msgstr "[删除] 版本库"
803
788
804 #: rhodecode/lib/helpers.py:628 rhodecode/lib/helpers.py:638
789 #: rhodecode/lib/helpers.py:628 rhodecode/lib/helpers.py:638
805 msgid "[created] repository"
790 msgid "[created] repository"
806 msgstr ""
791 msgstr "[创建] 版本库"
807
792
808 #: rhodecode/lib/helpers.py:630
793 #: rhodecode/lib/helpers.py:630
809 #, fuzzy
810 msgid "[created] repository as fork"
794 msgid "[created] repository as fork"
811 msgstr "建立版本库 %s"
795 msgstr "[创建] 分支版本库"
812
796
813 #: rhodecode/lib/helpers.py:632 rhodecode/lib/helpers.py:640
797 #: rhodecode/lib/helpers.py:632 rhodecode/lib/helpers.py:640
814 msgid "[forked] repository"
798 msgid "[forked] repository"
815 msgstr ""
799 msgstr "[分支] 版本库"
816
800
817 #: rhodecode/lib/helpers.py:634 rhodecode/lib/helpers.py:642
801 #: rhodecode/lib/helpers.py:634 rhodecode/lib/helpers.py:642
818 msgid "[updated] repository"
802 msgid "[updated] repository"
819 msgstr ""
803 msgstr "[更新] 版本库"
820
804
821 #: rhodecode/lib/helpers.py:636
805 #: rhodecode/lib/helpers.py:636
822 msgid "[delete] repository"
806 msgid "[delete] repository"
823 msgstr ""
807 msgstr "[删除] 版本库"
824
808
825 #: rhodecode/lib/helpers.py:644
809 #: rhodecode/lib/helpers.py:644
826 #, fuzzy
827 msgid "[created] user"
810 msgid "[created] user"
828 msgstr "创建用户 %s"
811 msgstr "[创建] 用户"
829
812
830 #: rhodecode/lib/helpers.py:646
813 #: rhodecode/lib/helpers.py:646
831 #, fuzzy
832 msgid "[updated] user"
814 msgid "[updated] user"
833 msgstr "更新用户组 %s"
815 msgstr "[更新] 用户"
834
816
835 #: rhodecode/lib/helpers.py:648
817 #: rhodecode/lib/helpers.py:648
836 #, fuzzy
837 msgid "[created] users group"
818 msgid "[created] users group"
838 msgstr "建立用户组 %s"
819 msgstr "[创建] 用户组"
839
820
840 #: rhodecode/lib/helpers.py:650
821 #: rhodecode/lib/helpers.py:650
841 #, fuzzy
842 msgid "[updated] users group"
822 msgid "[updated] users group"
843 msgstr "更新用户组 %s"
823 msgstr "[更新] 用户组"
844
824
845 #: rhodecode/lib/helpers.py:652
825 #: rhodecode/lib/helpers.py:652
846 msgid "[commented] on revision in repository"
826 msgid "[commented] on revision in repository"
847 msgstr ""
827 msgstr "[评论] 了版本库中的修订"
848
828
849 #: rhodecode/lib/helpers.py:654
829 #: rhodecode/lib/helpers.py:654
850 #, fuzzy
851 msgid "[commented] on pull request for"
830 msgid "[commented] on pull request for"
852 msgstr "创建用户 %s"
831 msgstr "[评论] 拉取请求"
853
832
854 #: rhodecode/lib/helpers.py:656
833 #: rhodecode/lib/helpers.py:656
855 msgid "[closed] pull request for"
834 msgid "[closed] pull request for"
856 msgstr ""
835 msgstr "[关闭] 拉取请求"
857
836
858 #: rhodecode/lib/helpers.py:658
837 #: rhodecode/lib/helpers.py:658
859 msgid "[pushed] into"
838 msgid "[pushed] into"
860 msgstr ""
839 msgstr "[推送] 到"
861
840
862 #: rhodecode/lib/helpers.py:660
841 #: rhodecode/lib/helpers.py:660
863 msgid "[committed via RhodeCode] into repository"
842 msgid "[committed via RhodeCode] into repository"
864 msgstr ""
843 msgstr "[通过 RhodeCode 提交] 到版本库"
865
844
866 #: rhodecode/lib/helpers.py:662
845 #: rhodecode/lib/helpers.py:662
867 msgid "[pulled from remote] into repository"
846 msgid "[pulled from remote] into repository"
868 msgstr ""
847 msgstr "[远程拉取] 到版本库"
869
848
870 #: rhodecode/lib/helpers.py:664
849 #: rhodecode/lib/helpers.py:664
871 msgid "[pulled] from"
850 msgid "[pulled] from"
872 msgstr ""
851 msgstr "[拉取] 自"
873
852
874 #: rhodecode/lib/helpers.py:666
853 #: rhodecode/lib/helpers.py:666
875 msgid "[started following] repository"
854 msgid "[started following] repository"
876 msgstr ""
855 msgstr "[开始关注] 版本库"
877
856
878 #: rhodecode/lib/helpers.py:668
857 #: rhodecode/lib/helpers.py:668
879 msgid "[stopped following] repository"
858 msgid "[stopped following] repository"
880 msgstr ""
859 msgstr "[停止关注] 版本库"
881
860
882 #: rhodecode/lib/helpers.py:840
861 #: rhodecode/lib/helpers.py:840
883 #, python-format
862 #, python-format
884 msgid " and %s more"
863 msgid " and %s more"
885 msgstr ""
864 msgstr "还有 %s 个"
886
865
887 #: rhodecode/lib/helpers.py:844
866 #: rhodecode/lib/helpers.py:844
888 msgid "No Files"
867 msgid "No Files"
889 msgstr "没有文件"
868 msgstr "没有文件"
890
869
891 #: rhodecode/lib/utils2.py:335
870 #: rhodecode/lib/utils2.py:335
892 #, fuzzy, python-format
871 #, python-format
893 msgid "%d year"
872 msgid "%d year"
894 msgid_plural "%d years"
873 msgid_plural "%d years"
895 msgstr[0] "年"
874 msgstr[0] "%d 年"
896
875
897 #: rhodecode/lib/utils2.py:336
876 #: rhodecode/lib/utils2.py:336
898 #, fuzzy, python-format
877 #, python-format
899 msgid "%d month"
878 msgid "%d month"
900 msgid_plural "%d months"
879 msgid_plural "%d months"
901 msgstr[0] "月"
880 msgstr[0] "%d 月"
902
881
903 #: rhodecode/lib/utils2.py:337
882 #: rhodecode/lib/utils2.py:337
904 #, fuzzy, python-format
883 #, python-format
905 msgid "%d day"
884 msgid "%d day"
906 msgid_plural "%d days"
885 msgid_plural "%d days"
907 msgstr[0] ""
886 msgstr[0] "%d 天"
908
887
909 #: rhodecode/lib/utils2.py:338
888 #: rhodecode/lib/utils2.py:338
910 #, fuzzy, python-format
889 #, python-format
911 msgid "%d hour"
890 msgid "%d hour"
912 msgid_plural "%d hours"
891 msgid_plural "%d hours"
913 msgstr[0] "时"
892 msgstr[0] "%d 小时"
914
893
915 #: rhodecode/lib/utils2.py:339
894 #: rhodecode/lib/utils2.py:339
916 #, fuzzy, python-format
895 #, python-format
917 msgid "%d minute"
896 msgid "%d minute"
918 msgid_plural "%d minutes"
897 msgid_plural "%d minutes"
919 msgstr[0] "分"
898 msgstr[0] "%d "
920
899
921 #: rhodecode/lib/utils2.py:340
900 #: rhodecode/lib/utils2.py:340
922 #, fuzzy, python-format
901 #, python-format
923 msgid "%d second"
902 msgid "%d second"
924 msgid_plural "%d seconds"
903 msgid_plural "%d seconds"
925 msgstr[0] "秒"
904 msgstr[0] "%d 秒"
926
905
927 #: rhodecode/lib/utils2.py:355
906 #: rhodecode/lib/utils2.py:355
928 #, fuzzy, python-format
907 #, python-format
929 msgid "%s ago"
908 msgid "%s ago"
930 msgstr "之前"
909 msgstr "%s 之前"
931
910
932 #: rhodecode/lib/utils2.py:357
911 #: rhodecode/lib/utils2.py:357
933 #, python-format
912 #, python-format
934 msgid "%s and %s ago"
913 msgid "%s and %s ago"
935 msgstr ""
914 msgstr "%s 零 %s 之前"
936
915
937 #: rhodecode/lib/utils2.py:360
916 #: rhodecode/lib/utils2.py:360
938 msgid "just now"
917 msgid "just now"
939 msgstr "现在"
918 msgstr "刚才"
940
919
941 #: rhodecode/lib/celerylib/tasks.py:269
920 #: rhodecode/lib/celerylib/tasks.py:269
942 #, fuzzy
943 msgid "password reset link"
921 msgid "password reset link"
944 msgstr "密码重置链接已经发送"
922 msgstr "密码重置链接"
945
923
946 #: rhodecode/model/comment.py:110
924 #: rhodecode/model/comment.py:110
947 #, python-format
925 #, python-format
948 msgid "on line %s"
926 msgid "on line %s"
949 msgstr ""
927 msgstr "在 %s 行"
950
928
951 #: rhodecode/model/comment.py:157
929 #: rhodecode/model/comment.py:157
952 msgid "[Mention]"
930 msgid "[Mention]"
953 msgstr ""
931 msgstr "[提及]"
954
932
955 #: rhodecode/model/db.py:1140
933 #: rhodecode/model/db.py:1140
956 #, fuzzy
957 msgid "Repository no access"
934 msgid "Repository no access"
958 msgstr "个版本库"
935 msgstr "无版本库访问权限"
959
936
960 #: rhodecode/model/db.py:1141
937 #: rhodecode/model/db.py:1141
961 #, fuzzy
962 msgid "Repository read access"
938 msgid "Repository read access"
963 msgstr "这个版本库已经存在"
939 msgstr "版本库读取权限"
964
940
965 #: rhodecode/model/db.py:1142
941 #: rhodecode/model/db.py:1142
966 #, fuzzy
967 msgid "Repository write access"
942 msgid "Repository write access"
968 msgstr "版本库"
943 msgstr "版本库写入权限"
969
944
970 #: rhodecode/model/db.py:1143
945 #: rhodecode/model/db.py:1143
971 #, fuzzy
972 msgid "Repository admin access"
946 msgid "Repository admin access"
973 msgstr "版本库"
947 msgstr "版本库管理权限"
974
948
975 #: rhodecode/model/db.py:1145
949 #: rhodecode/model/db.py:1145
976 #, fuzzy
977 msgid "Repositories Group no access"
950 msgid "Repositories Group no access"
978 msgstr "版本库组"
951 msgstr "版本库组访问权限"
979
952
980 #: rhodecode/model/db.py:1146
953 #: rhodecode/model/db.py:1146
981 #, fuzzy
982 msgid "Repositories Group read access"
954 msgid "Repositories Group read access"
983 msgstr "版本库组"
955 msgstr "版本库组读取权限"
984
956
985 #: rhodecode/model/db.py:1147
957 #: rhodecode/model/db.py:1147
986 #, fuzzy
987 msgid "Repositories Group write access"
958 msgid "Repositories Group write access"
988 msgstr "版本库组"
959 msgstr "版本库组写入"
989
960
990 #: rhodecode/model/db.py:1148
961 #: rhodecode/model/db.py:1148
991 #, fuzzy
992 msgid "Repositories Group admin access"
962 msgid "Repositories Group admin access"
993 msgstr "版本库组"
963 msgstr "版本库组管理权限"
994
964
995 #: rhodecode/model/db.py:1150
965 #: rhodecode/model/db.py:1150
996 #, fuzzy
997 msgid "RhodeCode Administrator"
966 msgid "RhodeCode Administrator"
998 msgstr "用户管理员"
967 msgstr "RhodeCode 管理员"
999
968
1000 #: rhodecode/model/db.py:1151
969 #: rhodecode/model/db.py:1151
1001 #, fuzzy
1002 msgid "Repository creation disabled"
970 msgid "Repository creation disabled"
1003 msgstr "建版本库"
971 msgstr "禁用创建版本库"
1004
972
1005 #: rhodecode/model/db.py:1152
973 #: rhodecode/model/db.py:1152
1006 #, fuzzy
1007 msgid "Repository creation enabled"
974 msgid "Repository creation enabled"
1008 msgstr "建版本库"
975 msgstr "允许创建版本库"
1009
976
1010 #: rhodecode/model/db.py:1153
977 #: rhodecode/model/db.py:1153
1011 #, fuzzy
1012 msgid "Repository forking disabled"
978 msgid "Repository forking disabled"
1013 msgstr "建立版本库"
979 msgstr "禁用分支 版本库"
1014
980
1015 #: rhodecode/model/db.py:1154
981 #: rhodecode/model/db.py:1154
1016 #, fuzzy
1017 msgid "Repository forking enabled"
982 msgid "Repository forking enabled"
1018 msgstr "建立版本库"
983 msgstr "允许分支版本库"
1019
984
1020 #: rhodecode/model/db.py:1155
985 #: rhodecode/model/db.py:1155
1021 #, fuzzy
1022 msgid "Register disabled"
986 msgid "Register disabled"
1023 msgstr "禁用"
987 msgstr "禁用注册"
1024
988
1025 #: rhodecode/model/db.py:1156
989 #: rhodecode/model/db.py:1156
1026 msgid "Register new user with RhodeCode with manual activation"
990 msgid "Register new user with RhodeCode with manual activation"
1027 msgstr ""
991 msgstr "用手动激活注册新用户"
1028
992
1029 #: rhodecode/model/db.py:1159
993 #: rhodecode/model/db.py:1159
1030 msgid "Register new user with RhodeCode with auto activation"
994 msgid "Register new user with RhodeCode with auto activation"
1031 msgstr ""
995 msgstr "用自动激活注册新用户"
1032
996
1033 #: rhodecode/model/db.py:1579
997 #: rhodecode/model/db.py:1579
1034 msgid "Not Reviewed"
998 msgid "Not Reviewed"
1035 msgstr ""
999 msgstr "未检视"
1036
1000
1037 #: rhodecode/model/db.py:1580
1001 #: rhodecode/model/db.py:1580
1038 #, fuzzy
1039 msgid "Approved"
1002 msgid "Approved"
1040 msgstr "移除"
1003 msgstr "已批准"
1041
1004
1042 #: rhodecode/model/db.py:1581
1005 #: rhodecode/model/db.py:1581
1043 msgid "Rejected"
1006 msgid "Rejected"
1044 msgstr ""
1007 msgstr "驳回"
1045
1008
1046 #: rhodecode/model/db.py:1582
1009 #: rhodecode/model/db.py:1582
1047 msgid "Under Review"
1010 msgid "Under Review"
1048 msgstr ""
1011 msgstr "检视中"
1049
1012
1050 #: rhodecode/model/forms.py:43
1013 #: rhodecode/model/forms.py:43
1051 msgid "Please enter a login"
1014 msgid "Please enter a login"
@@ -1054,7 +1017,7 b' msgstr "\xe8\xaf\xb7\xe7\x99\xbb\xe5\xbd\x95"'
1054 #: rhodecode/model/forms.py:44
1017 #: rhodecode/model/forms.py:44
1055 #, python-format
1018 #, python-format
1056 msgid "Enter a value %(min)i characters long or more"
1019 msgid "Enter a value %(min)i characters long or more"
1057 msgstr ""
1020 msgstr "输入一个不少于 %(min)i 个字符的值"
1058
1021
1059 #: rhodecode/model/forms.py:52
1022 #: rhodecode/model/forms.py:52
1060 msgid "Please enter a password"
1023 msgid "Please enter a password"
@@ -1063,46 +1026,42 b' msgstr "\xe8\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5\xe5\xaf\x86\xe7\xa0\x81"'
1063 #: rhodecode/model/forms.py:53
1026 #: rhodecode/model/forms.py:53
1064 #, python-format
1027 #, python-format
1065 msgid "Enter %(min)i characters or more"
1028 msgid "Enter %(min)i characters or more"
1066 msgstr ""
1029 msgstr "输入少于 %(min)i 个字符"
1067
1030
1068 #: rhodecode/model/notification.py:220
1031 #: rhodecode/model/notification.py:220
1069 msgid "commented on commit"
1032 msgid "commented on commit"
1070 msgstr ""
1033 msgstr "评论了评论"
1071
1034
1072 #: rhodecode/model/notification.py:221
1035 #: rhodecode/model/notification.py:221
1073 #, fuzzy
1074 msgid "sent message"
1036 msgid "sent message"
1075 msgstr "提交信息"
1037 msgstr "发送信息"
1076
1038
1077 #: rhodecode/model/notification.py:222
1039 #: rhodecode/model/notification.py:222
1078 msgid "mentioned you"
1040 msgid "mentioned you"
1079 msgstr ""
1041 msgstr "提到了你"
1080
1042
1081 #: rhodecode/model/notification.py:223
1043 #: rhodecode/model/notification.py:223
1082 #, fuzzy
1083 msgid "registered in RhodeCode"
1044 msgid "registered in RhodeCode"
1084 msgstr "成功注册到 rhodecode"
1045 msgstr "注册到 RhodeCode"
1085
1046
1086 #: rhodecode/model/notification.py:224
1047 #: rhodecode/model/notification.py:224
1087 msgid "opened new pull request"
1048 msgid "opened new pull request"
1088 msgstr ""
1049 msgstr "创建新的拉取请求"
1089
1050
1090 #: rhodecode/model/notification.py:225
1051 #: rhodecode/model/notification.py:225
1091 msgid "commented on pull request"
1052 msgid "commented on pull request"
1092 msgstr ""
1053 msgstr "评论了拉取请求"
1093
1054
1094 #: rhodecode/model/pull_request.py:84
1055 #: rhodecode/model/pull_request.py:84
1095 #, python-format
1056 #, python-format
1096 msgid "%(user)s wants you to review pull request #%(pr_id)s"
1057 msgid "%(user)s wants you to review pull request #%(pr_id)s"
1097 msgstr ""
1058 msgstr "%(user)s 想要你检视拉取请求 #%(pr_id)s"
1098
1059
1099 #: rhodecode/model/scm.py:535
1060 #: rhodecode/model/scm.py:535
1100 #, fuzzy
1101 msgid "latest tip"
1061 msgid "latest tip"
1102 msgstr "最后登录"
1062 msgstr "最后 tip 版本"
1103
1063
1104 #: rhodecode/model/user.py:230
1064 #: rhodecode/model/user.py:230
1105 #, fuzzy
1106 msgid "new user registration"
1065 msgid "new user registration"
1107 msgstr "[RhodeCode] 新用户注册"
1066 msgstr "[RhodeCode] 新用户注册"
1108
1067
@@ -1116,71 +1075,73 b' msgid "You can\'t remove this user since '
1116 msgstr "由于是系统帐号,无法删除该用户"
1075 msgstr "由于是系统帐号,无法删除该用户"
1117
1076
1118 #: rhodecode/model/user.py:329
1077 #: rhodecode/model/user.py:329
1119 #, fuzzy, python-format
1078 #, python-format
1120 msgid ""
1079 msgid ""
1121 "user \"%s\" still owns %s repositories and cannot be removed. Switch "
1080 "user \"%s\" still owns %s repositories and cannot be removed. Switch owners "
1122 "owners or remove those repositories. %s"
1081 "or remove those repositories. %s"
1123 msgstr "由于该用户拥有版本库 %s 因而无法删除,请变更版本库所有者或删除版本库"
1082 msgstr ""
1083 "由于用户 \"%s\" 拥有版本库 %s 因而无法删除,请修改版本库所有者或删除版本"
1084 "库。%s"
1124
1085
1125 #: rhodecode/model/validators.py:35 rhodecode/model/validators.py:36
1086 #: rhodecode/model/validators.py:35 rhodecode/model/validators.py:36
1126 msgid "Value cannot be an empty list"
1087 msgid "Value cannot be an empty list"
1127 msgstr ""
1088 msgstr "值不能为空"
1128
1089
1129 #: rhodecode/model/validators.py:82
1090 #: rhodecode/model/validators.py:82
1130 #, fuzzy, python-format
1091 #, python-format
1131 msgid "Username \"%(username)s\" already exists"
1092 msgid "Username \"%(username)s\" already exists"
1132 msgstr "用户名已经存在"
1093 msgstr "用户名称 %(username)s 已经存在"
1133
1094
1134 #: rhodecode/model/validators.py:84
1095 #: rhodecode/model/validators.py:84
1135 #, python-format
1096 #, python-format
1136 msgid "Username \"%(username)s\" is forbidden"
1097 msgid "Username \"%(username)s\" is forbidden"
1137 msgstr ""
1098 msgstr "不允许用户名 \"%(username)s\""
1138
1099
1139 #: rhodecode/model/validators.py:86
1100 #: rhodecode/model/validators.py:86
1140 msgid ""
1101 msgid ""
1141 "Username may only contain alphanumeric characters underscores, periods or"
1102 "Username may only contain alphanumeric characters underscores, periods or "
1142 " dashes and must begin with alphanumeric character"
1103 "dashes and must begin with alphanumeric character"
1143 msgstr "只能使用字母、数字、下划线、小数点或减号作为用户名,且必须由数字或字母开头"
1104 msgstr ""
1105 "只能使用字母、数字、下划线、小数点或减号作为用户名,且必须由数字或字母开头"
1144
1106
1145 #: rhodecode/model/validators.py:114
1107 #: rhodecode/model/validators.py:114
1146 #, fuzzy, python-format
1108 #, python-format
1147 msgid "Username %(username)s is not valid"
1109 msgid "Username %(username)s is not valid"
1148 msgstr "用户或用户组名称无效"
1110 msgstr "用户名称 %(username)s 无效"
1149
1111
1150 #: rhodecode/model/validators.py:133
1112 #: rhodecode/model/validators.py:133
1151 #, fuzzy
1152 msgid "Invalid users group name"
1113 msgid "Invalid users group name"
1153 msgstr "无效用户名"
1114 msgstr "无效用户名"
1154
1115
1155 #: rhodecode/model/validators.py:134
1116 #: rhodecode/model/validators.py:134
1156 #, fuzzy, python-format
1117 #, python-format
1157 msgid "Users group \"%(usersgroup)s\" already exists"
1118 msgid "Users group \"%(usersgroup)s\" already exists"
1158 msgstr "该用户组名称已经存在"
1119 msgstr "用户组 \"%(usersgroup)s\" 已经存在"
1159
1120
1160 #: rhodecode/model/validators.py:136
1121 #: rhodecode/model/validators.py:136
1161 msgid ""
1122 msgid ""
1162 "users group name may only contain alphanumeric characters underscores, "
1123 "users group name may only contain alphanumeric characters underscores, "
1163 "periods or dashes and must begin with alphanumeric character"
1124 "periods or dashes and must begin with alphanumeric character"
1164 msgstr "只能使用字母、数字、下划线、小数点或减号作为用户组名,且必须由数字或字母开头"
1125 msgstr ""
1126 "只能使用字母、数字、下划线、小数点或减号作为用户组名,且必须由数字或字母开头"
1165
1127
1166 #: rhodecode/model/validators.py:174
1128 #: rhodecode/model/validators.py:174
1167 msgid "Cannot assign this group as parent"
1129 msgid "Cannot assign this group as parent"
1168 msgstr ""
1130 msgstr "不能将这个组作为 parent"
1169
1131
1170 #: rhodecode/model/validators.py:175
1132 #: rhodecode/model/validators.py:175
1171 #, fuzzy, python-format
1133 #, python-format
1172 msgid "Group \"%(group_name)s\" already exists"
1134 msgid "Group \"%(group_name)s\" already exists"
1173 msgstr "该用户名已经存在"
1135 msgstr "组 \"%(group_name)s\" 已经存在"
1174
1136
1175 #: rhodecode/model/validators.py:177
1137 #: rhodecode/model/validators.py:177
1176 #, fuzzy, python-format
1138 #, python-format
1177 msgid "Repository with name \"%(group_name)s\" already exists"
1139 msgid "Repository with name \"%(group_name)s\" already exists"
1178 msgstr "这个版本库已经存在"
1140 msgstr "已经存在名为 \"%(group_name)s\" 的版本库"
1179
1141
1180 #: rhodecode/model/validators.py:235
1142 #: rhodecode/model/validators.py:235
1181 #, fuzzy
1182 msgid "Invalid characters (non-ascii) in password"
1143 msgid "Invalid characters (non-ascii) in password"
1183 msgstr "密码含有无效字符"
1144 msgstr "密码含有无效(非ASCII)字符"
1184
1145
1185 #: rhodecode/model/validators.py:250
1146 #: rhodecode/model/validators.py:250
1186 msgid "Passwords do not match"
1147 msgid "Passwords do not match"
@@ -1199,37 +1160,36 b' msgid "Your account is disabled"'
1199 msgstr "该帐号已被禁用"
1160 msgstr "该帐号已被禁用"
1200
1161
1201 #: rhodecode/model/validators.py:313
1162 #: rhodecode/model/validators.py:313
1202 #, fuzzy, python-format
1163 #, python-format
1203 msgid "Repository name %(repo)s is disallowed"
1164 msgid "Repository name %(repo)s is disallowed"
1204 msgstr "该版本库名称被禁用"
1165 msgstr "版本库名称不能为 %(repo)s"
1205
1166
1206 #: rhodecode/model/validators.py:315
1167 #: rhodecode/model/validators.py:315
1207 #, fuzzy, python-format
1168 #, python-format
1208 msgid "Repository named %(repo)s already exists"
1169 msgid "Repository named %(repo)s already exists"
1209 msgstr "这个版本库已经存在"
1170 msgstr "已经存在版本库 %(repo)s"
1210
1171
1211 #: rhodecode/model/validators.py:316
1172 #: rhodecode/model/validators.py:316
1212 #, fuzzy, python-format
1173 #, python-format
1213 msgid "Repository \"%(repo)s\" already exists in group \"%(group)s\""
1174 msgid "Repository \"%(repo)s\" already exists in group \"%(group)s\""
1214 msgstr "组中已经存在该版本库"
1175 msgstr "版本库组 \"%(group)s\" 中已经存在版本库 \"%(repo)s\""
1215
1176
1216 #: rhodecode/model/validators.py:318
1177 #: rhodecode/model/validators.py:318
1217 #, fuzzy, python-format
1178 #, python-format
1218 msgid "Repositories group with name \"%(repo)s\" already exists"
1179 msgid "Repositories group with name \"%(repo)s\" already exists"
1219 msgstr "这个版本库已经存在"
1180 msgstr "已经存在名为 \"%(repo)s\" 的版本库组"
1220
1181
1221 #: rhodecode/model/validators.py:431
1182 #: rhodecode/model/validators.py:431
1222 msgid "invalid clone url"
1183 msgid "invalid clone url"
1223 msgstr "无效的 clone 地址"
1184 msgstr "无效的克隆地址"
1224
1185
1225 #: rhodecode/model/validators.py:432
1186 #: rhodecode/model/validators.py:432
1226 msgid "Invalid clone url, provide a valid clone http(s)/svn+http(s) url"
1187 msgid "Invalid clone url, provide a valid clone http(s)/svn+http(s) url"
1227 msgstr ""
1188 msgstr "无效的克隆地址,提供一个有效的克隆 http(s) 或 svn+http(s) 地址"
1228
1189
1229 #: rhodecode/model/validators.py:457
1190 #: rhodecode/model/validators.py:457
1230 #, fuzzy
1231 msgid "Fork have to be the same type as parent"
1191 msgid "Fork have to be the same type as parent"
1232 msgstr "分支必须使用相同的版本库类型"
1192 msgstr "分支必须使用和父版本库相同的类型"
1233
1193
1234 #: rhodecode/model/validators.py:478
1194 #: rhodecode/model/validators.py:478
1235 msgid "This username or users group name is not valid"
1195 msgid "This username or users group name is not valid"
@@ -1244,24 +1204,24 b' msgid "This e-mail address is already ta'
1244 msgstr "该邮件地址已被使用"
1204 msgstr "该邮件地址已被使用"
1245
1205
1246 #: rhodecode/model/validators.py:597
1206 #: rhodecode/model/validators.py:597
1247 #, fuzzy, python-format
1207 #, python-format
1248 msgid "e-mail \"%(email)s\" does not exist."
1208 msgid "e-mail \"%(email)s\" does not exist."
1249 msgstr "邮件地址不存在"
1209 msgstr "邮件地址 \"%(email)s\" 不存在"
1250
1210
1251 #: rhodecode/model/validators.py:634
1211 #: rhodecode/model/validators.py:634
1252 msgid ""
1212 msgid ""
1253 "The LDAP Login attribute of the CN must be specified - this is the name "
1213 "The LDAP Login attribute of the CN must be specified - this is the name of "
1254 "of the attribute that is equivalent to \"username\""
1214 "the attribute that is equivalent to \"username\""
1255 msgstr ""
1215 msgstr "LDAP 登陆属性的 CN 必须指定 - 这个名字作为用户名"
1256
1216
1257 #: rhodecode/model/validators.py:653
1217 #: rhodecode/model/validators.py:653
1258 #, python-format
1218 #, python-format
1259 msgid "Revisions %(revs)s are already part of pull request or have set status"
1219 msgid "Revisions %(revs)s are already part of pull request or have set status"
1260 msgstr ""
1220 msgstr "修订 %(revs)s 已经包含在拉取请求中或者或者已经设置状态"
1261
1221
1262 #: rhodecode/templates/index.html:3
1222 #: rhodecode/templates/index.html:3
1263 msgid "Dashboard"
1223 msgid "Dashboard"
1264 msgstr ""
1224 msgstr "控制面板"
1265
1225
1266 #: rhodecode/templates/index_base.html:6
1226 #: rhodecode/templates/index_base.html:6
1267 #: rhodecode/templates/repo_switcher_list.html:4
1227 #: rhodecode/templates/repo_switcher_list.html:4
@@ -1285,7 +1245,7 b' msgstr "\xe4\xb8\xaa\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
1285 #: rhodecode/templates/index_base.html:15
1245 #: rhodecode/templates/index_base.html:15
1286 #: rhodecode/templates/admin/repos/repos.html:21
1246 #: rhodecode/templates/admin/repos/repos.html:21
1287 msgid "ADD REPOSITORY"
1247 msgid "ADD REPOSITORY"
1288 msgstr "新版本库"
1248 msgstr "新版本库"
1289
1249
1290 #: rhodecode/templates/index_base.html:29
1250 #: rhodecode/templates/index_base.html:29
1291 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
1251 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
@@ -1351,7 +1311,7 b' msgstr "\xe6\x9c\x80\xe5\x90\x8e\xe4\xbf\xae\xe6\x94\xb9"'
1351 #: rhodecode/templates/admin/users/user_edit_my_account.html:159
1311 #: rhodecode/templates/admin/users/user_edit_my_account.html:159
1352 #: rhodecode/templates/journal/journal.html:188
1312 #: rhodecode/templates/journal/journal.html:188
1353 msgid "Tip"
1313 msgid "Tip"
1354 msgstr ""
1314 msgstr "Tip"
1355
1315
1356 #: rhodecode/templates/index_base.html:74
1316 #: rhodecode/templates/index_base.html:74
1357 #: rhodecode/templates/index_base.html:173
1317 #: rhodecode/templates/index_base.html:173
@@ -1364,26 +1324,25 b' msgstr "\xe6\x89\x80\xe6\x9c\x89\xe8\x80\x85"'
1364 #: rhodecode/templates/summary/summary.html:48
1324 #: rhodecode/templates/summary/summary.html:48
1365 #: rhodecode/templates/summary/summary.html:51
1325 #: rhodecode/templates/summary/summary.html:51
1366 msgid "RSS"
1326 msgid "RSS"
1367 msgstr ""
1327 msgstr "RSS"
1368
1328
1369 #: rhodecode/templates/index_base.html:76
1329 #: rhodecode/templates/index_base.html:76
1370 msgid "Atom"
1330 msgid "Atom"
1371 msgstr ""
1331 msgstr "Atom"
1372
1332
1373 #: rhodecode/templates/index_base.html:110
1333 #: rhodecode/templates/index_base.html:110
1374 #: rhodecode/templates/index_base.html:112
1334 #: rhodecode/templates/index_base.html:112
1375 #, python-format
1335 #, python-format
1376 msgid "Subscribe to %s rss feed"
1336 msgid "Subscribe to %s rss feed"
1377 msgstr "订阅 rss %s"
1337 msgstr "订阅 %s 的 RSS"
1378
1338
1379 #: rhodecode/templates/index_base.html:117
1339 #: rhodecode/templates/index_base.html:117
1380 #: rhodecode/templates/index_base.html:119
1340 #: rhodecode/templates/index_base.html:119
1381 #, python-format
1341 #, python-format
1382 msgid "Subscribe to %s atom feed"
1342 msgid "Subscribe to %s atom feed"
1383 msgstr "订阅 atom %s"
1343 msgstr "订阅 %s 的 Atom"
1384
1344
1385 #: rhodecode/templates/index_base.html:140
1345 #: rhodecode/templates/index_base.html:140
1386 #, fuzzy
1387 msgid "Group Name"
1346 msgid "Group Name"
1388 msgstr "组名"
1347 msgstr "组名"
1389
1348
@@ -1397,7 +1356,7 b' msgstr "\xe7\xbb\x84\xe5\x90\x8d"'
1397 #: rhodecode/templates/journal/journal.html:211
1356 #: rhodecode/templates/journal/journal.html:211
1398 #: rhodecode/templates/tags/tags.html:60
1357 #: rhodecode/templates/tags/tags.html:60
1399 msgid "Click to sort ascending"
1358 msgid "Click to sort ascending"
1400 msgstr ""
1359 msgstr "点击以升序排列"
1401
1360
1402 #: rhodecode/templates/index_base.html:159
1361 #: rhodecode/templates/index_base.html:159
1403 #: rhodecode/templates/index_base.html:199
1362 #: rhodecode/templates/index_base.html:199
@@ -1409,10 +1368,9 b' msgstr ""'
1409 #: rhodecode/templates/journal/journal.html:212
1368 #: rhodecode/templates/journal/journal.html:212
1410 #: rhodecode/templates/tags/tags.html:61
1369 #: rhodecode/templates/tags/tags.html:61
1411 msgid "Click to sort descending"
1370 msgid "Click to sort descending"
1412 msgstr ""
1371 msgstr "点击以降序排列"
1413
1372
1414 #: rhodecode/templates/index_base.html:169
1373 #: rhodecode/templates/index_base.html:169
1415 #, fuzzy
1416 msgid "Last Change"
1374 msgid "Last Change"
1417 msgstr "最后修改"
1375 msgstr "最后修改"
1418
1376
@@ -1425,7 +1383,7 b' msgstr "\xe6\x9c\x80\xe5\x90\x8e\xe4\xbf\xae\xe6\x94\xb9"'
1425 #: rhodecode/templates/journal/journal.html:213
1383 #: rhodecode/templates/journal/journal.html:213
1426 #: rhodecode/templates/tags/tags.html:62
1384 #: rhodecode/templates/tags/tags.html:62
1427 msgid "No records found."
1385 msgid "No records found."
1428 msgstr ""
1386 msgstr "没有找到记录"
1429
1387
1430 #: rhodecode/templates/index_base.html:201
1388 #: rhodecode/templates/index_base.html:201
1431 #: rhodecode/templates/admin/repos/repos.html:97
1389 #: rhodecode/templates/admin/repos/repos.html:97
@@ -1436,7 +1394,7 b' msgstr ""'
1436 #: rhodecode/templates/journal/journal.html:214
1394 #: rhodecode/templates/journal/journal.html:214
1437 #: rhodecode/templates/tags/tags.html:63
1395 #: rhodecode/templates/tags/tags.html:63
1438 msgid "Data error."
1396 msgid "Data error."
1439 msgstr ""
1397 msgstr "数据错误"
1440
1398
1441 #: rhodecode/templates/index_base.html:202
1399 #: rhodecode/templates/index_base.html:202
1442 #: rhodecode/templates/admin/repos/repos.html:98
1400 #: rhodecode/templates/admin/repos/repos.html:98
@@ -1446,9 +1404,8 b' msgstr ""'
1446 #: rhodecode/templates/branches/branches.html:81
1404 #: rhodecode/templates/branches/branches.html:81
1447 #: rhodecode/templates/journal/journal.html:215
1405 #: rhodecode/templates/journal/journal.html:215
1448 #: rhodecode/templates/tags/tags.html:64
1406 #: rhodecode/templates/tags/tags.html:64
1449 #, fuzzy
1450 msgid "Loading..."
1407 msgid "Loading..."
1451 msgstr "加载文件列表..."
1408 msgstr "载入中..."
1452
1409
1453 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1410 #: rhodecode/templates/login.html:5 rhodecode/templates/login.html:54
1454 msgid "Sign In"
1411 msgid "Sign In"
@@ -1476,9 +1433,8 b' msgid "Password"'
1476 msgstr "密码"
1433 msgstr "密码"
1477
1434
1478 #: rhodecode/templates/login.html:50
1435 #: rhodecode/templates/login.html:50
1479 #, fuzzy
1480 msgid "Remember me"
1436 msgid "Remember me"
1481 msgstr "成员"
1437 msgstr "记住密码"
1482
1438
1483 #: rhodecode/templates/login.html:60
1439 #: rhodecode/templates/login.html:60
1484 msgid "Forgot your password ?"
1440 msgid "Forgot your password ?"
@@ -1585,13 +1541,12 b' msgstr "\xe6\xb2\xa1\xe6\x9c\x89\xe4\xbb\xbb\xe4\xbd\x95\xe6\xa0\x87\xe7\xad\xbe"'
1585 #: rhodecode/templates/switch_to_list.html:28
1541 #: rhodecode/templates/switch_to_list.html:28
1586 #: rhodecode/templates/bookmarks/bookmarks.html:15
1542 #: rhodecode/templates/bookmarks/bookmarks.html:15
1587 msgid "bookmarks"
1543 msgid "bookmarks"
1588 msgstr ""
1544 msgstr "书签"
1589
1545
1590 #: rhodecode/templates/switch_to_list.html:35
1546 #: rhodecode/templates/switch_to_list.html:35
1591 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1547 #: rhodecode/templates/bookmarks/bookmarks_data.html:32
1592 #, fuzzy
1593 msgid "There are no bookmarks yet"
1548 msgid "There are no bookmarks yet"
1594 msgstr "尚未有任何分支"
1549 msgstr "无书签"
1595
1550
1596 #: rhodecode/templates/admin/admin.html:5
1551 #: rhodecode/templates/admin/admin.html:5
1597 #: rhodecode/templates/admin/admin.html:9
1552 #: rhodecode/templates/admin/admin.html:9
@@ -1626,7 +1581,7 b' msgstr "\xe6\x9d\xa5\xe6\xba\x90 IP"'
1626
1581
1627 #: rhodecode/templates/admin/admin_log.html:53
1582 #: rhodecode/templates/admin/admin_log.html:53
1628 msgid "No actions yet"
1583 msgid "No actions yet"
1629 msgstr "无操作"
1584 msgstr "无操作"
1630
1585
1631 #: rhodecode/templates/admin/ldap/ldap.html:5
1586 #: rhodecode/templates/admin/ldap/ldap.html:5
1632 msgid "LDAP administration"
1587 msgid "LDAP administration"
@@ -1634,7 +1589,7 b' msgstr "LDAP \xe7\xae\xa1\xe7\x90\x86\xe5\x91\x98"'
1634
1589
1635 #: rhodecode/templates/admin/ldap/ldap.html:11
1590 #: rhodecode/templates/admin/ldap/ldap.html:11
1636 msgid "Ldap"
1591 msgid "Ldap"
1637 msgstr ""
1592 msgstr "LDAP"
1638
1593
1639 #: rhodecode/templates/admin/ldap/ldap.html:28
1594 #: rhodecode/templates/admin/ldap/ldap.html:28
1640 msgid "Connection settings"
1595 msgid "Connection settings"
@@ -1670,15 +1625,15 b' msgstr "\xe6\x90\x9c\xe7\xb4\xa2\xe8\xae\xbe\xe7\xbd\xae"'
1670
1625
1671 #: rhodecode/templates/admin/ldap/ldap.html:59
1626 #: rhodecode/templates/admin/ldap/ldap.html:59
1672 msgid "Base DN"
1627 msgid "Base DN"
1673 msgstr ""
1628 msgstr "Base DN"
1674
1629
1675 #: rhodecode/templates/admin/ldap/ldap.html:63
1630 #: rhodecode/templates/admin/ldap/ldap.html:63
1676 msgid "LDAP Filter"
1631 msgid "LDAP Filter"
1677 msgstr ""
1632 msgstr "LDAP 过滤器"
1678
1633
1679 #: rhodecode/templates/admin/ldap/ldap.html:67
1634 #: rhodecode/templates/admin/ldap/ldap.html:67
1680 msgid "LDAP Search Scope"
1635 msgid "LDAP Search Scope"
1681 msgstr ""
1636 msgstr "LDAP 搜索范围"
1682
1637
1683 #: rhodecode/templates/admin/ldap/ldap.html:70
1638 #: rhodecode/templates/admin/ldap/ldap.html:70
1684 msgid "Attribute mappings"
1639 msgid "Attribute mappings"
@@ -1715,42 +1670,38 b' msgstr "\xe4\xbf\x9d\xe5\xad\x98"'
1715 #: rhodecode/templates/admin/notifications/notifications.html:5
1670 #: rhodecode/templates/admin/notifications/notifications.html:5
1716 #: rhodecode/templates/admin/notifications/notifications.html:9
1671 #: rhodecode/templates/admin/notifications/notifications.html:9
1717 msgid "My Notifications"
1672 msgid "My Notifications"
1718 msgstr ""
1673 msgstr "我的通知"
1719
1674
1720 #: rhodecode/templates/admin/notifications/notifications.html:29
1675 #: rhodecode/templates/admin/notifications/notifications.html:29
1721 msgid "All"
1676 msgid "All"
1722 msgstr ""
1677 msgstr "全部"
1723
1678
1724 #: rhodecode/templates/admin/notifications/notifications.html:30
1679 #: rhodecode/templates/admin/notifications/notifications.html:30
1725 #, fuzzy
1726 msgid "Comments"
1680 msgid "Comments"
1727 msgstr "提交"
1681 msgstr "评论"
1728
1682
1729 #: rhodecode/templates/admin/notifications/notifications.html:31
1683 #: rhodecode/templates/admin/notifications/notifications.html:31
1730 #: rhodecode/templates/base/base.html:254
1684 #: rhodecode/templates/base/base.html:254
1731 #: rhodecode/templates/base/base.html:256
1685 #: rhodecode/templates/base/base.html:256
1732 msgid "Pull requests"
1686 msgid "Pull requests"
1733 msgstr ""
1687 msgstr "拉取请求"
1734
1688
1735 #: rhodecode/templates/admin/notifications/notifications.html:35
1689 #: rhodecode/templates/admin/notifications/notifications.html:35
1736 msgid "Mark all read"
1690 msgid "Mark all read"
1737 msgstr ""
1691 msgstr "全部标记为已读"
1738
1692
1739 #: rhodecode/templates/admin/notifications/notifications_data.html:39
1693 #: rhodecode/templates/admin/notifications/notifications_data.html:39
1740 #, fuzzy
1741 msgid "No notifications here yet"
1694 msgid "No notifications here yet"
1742 msgstr "尚无操作"
1695 msgstr "无通知"
1743
1696
1744 #: rhodecode/templates/admin/notifications/show_notification.html:5
1697 #: rhodecode/templates/admin/notifications/show_notification.html:5
1745 #: rhodecode/templates/admin/notifications/show_notification.html:11
1698 #: rhodecode/templates/admin/notifications/show_notification.html:11
1746 #, fuzzy
1747 msgid "Show notification"
1699 msgid "Show notification"
1748 msgstr "显示注释"
1700 msgstr "显示通知"
1749
1701
1750 #: rhodecode/templates/admin/notifications/show_notification.html:9
1702 #: rhodecode/templates/admin/notifications/show_notification.html:9
1751 #, fuzzy
1752 msgid "Notifications"
1703 msgid "Notifications"
1753 msgstr "位置"
1704 msgstr "通知"
1754
1705
1755 #: rhodecode/templates/admin/permissions/permissions.html:5
1706 #: rhodecode/templates/admin/permissions/permissions.html:5
1756 msgid "Permissions administration"
1707 msgid "Permissions administration"
@@ -1780,9 +1731,10 b' msgstr "\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe6\x9d\x83\xe9\x99\x90"'
1780 #: rhodecode/templates/admin/permissions/permissions.html:49
1731 #: rhodecode/templates/admin/permissions/permissions.html:49
1781 msgid ""
1732 msgid ""
1782 "All default permissions on each repository will be reset to choosen "
1733 "All default permissions on each repository will be reset to choosen "
1783 "permission, note that all custom default permission on repositories will "
1734 "permission, note that all custom default permission on repositories will be "
1784 "be lost"
1735 "lost"
1785 msgstr ""
1736 msgstr ""
1737 "所有版本库的默认权限将被重置到选择的权限,所有版本库的自定义权限将被丢弃"
1786
1738
1787 #: rhodecode/templates/admin/permissions/permissions.html:50
1739 #: rhodecode/templates/admin/permissions/permissions.html:50
1788 msgid "overwrite existing settings"
1740 msgid "overwrite existing settings"
@@ -1797,9 +1749,8 b' msgid "Repository creation"'
1797 msgstr "建立版本库"
1749 msgstr "建立版本库"
1798
1750
1799 #: rhodecode/templates/admin/permissions/permissions.html:71
1751 #: rhodecode/templates/admin/permissions/permissions.html:71
1800 #, fuzzy
1801 msgid "Repository forking"
1752 msgid "Repository forking"
1802 msgstr "建立版本库"
1753 msgstr "版本库分支"
1803
1754
1804 #: rhodecode/templates/admin/permissions/permissions.html:78
1755 #: rhodecode/templates/admin/permissions/permissions.html:78
1805 #: rhodecode/templates/admin/repos/repo_edit.html:241
1756 #: rhodecode/templates/admin/repos/repo_edit.html:241
@@ -1819,19 +1770,19 b' msgstr "\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
1819
1770
1820 #: rhodecode/templates/admin/repos/repo_add.html:13
1771 #: rhodecode/templates/admin/repos/repo_add.html:13
1821 msgid "add new"
1772 msgid "add new"
1822 msgstr "新"
1773 msgstr "新"
1823
1774
1824 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1775 #: rhodecode/templates/admin/repos/repo_add_base.html:20
1825 #: rhodecode/templates/summary/summary.html:95
1776 #: rhodecode/templates/summary/summary.html:95
1826 #: rhodecode/templates/summary/summary.html:96
1777 #: rhodecode/templates/summary/summary.html:96
1827 msgid "Clone from"
1778 msgid "Clone from"
1828 msgstr "clone 自"
1779 msgstr "克隆自"
1829
1780
1830 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1781 #: rhodecode/templates/admin/repos/repo_add_base.html:24
1831 #: rhodecode/templates/admin/repos/repo_edit.html:44
1782 #: rhodecode/templates/admin/repos/repo_edit.html:44
1832 #: rhodecode/templates/settings/repo_settings.html:43
1783 #: rhodecode/templates/settings/repo_settings.html:43
1833 msgid "Optional http[s] url from which repository should be cloned."
1784 msgid "Optional http[s] url from which repository should be cloned."
1834 msgstr ""
1785 msgstr "可选的,指定版本库应该从哪个 http[s] 地址克隆。"
1835
1786
1836 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1787 #: rhodecode/templates/admin/repos/repo_add_base.html:29
1837 #: rhodecode/templates/admin/repos/repo_edit.html:49
1788 #: rhodecode/templates/admin/repos/repo_edit.html:49
@@ -1844,7 +1795,7 b' msgstr "\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe7\xbb\x84"'
1844 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1795 #: rhodecode/templates/admin/repos/repo_add_base.html:33
1845 #: rhodecode/templates/forks/fork.html:54
1796 #: rhodecode/templates/forks/fork.html:54
1846 msgid "Optionaly select a group to put this repository into."
1797 msgid "Optionaly select a group to put this repository into."
1847 msgstr ""
1798 msgstr "可选的,选择一个组将版本库放到其中"
1848
1799
1849 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1800 #: rhodecode/templates/admin/repos/repo_add_base.html:38
1850 #: rhodecode/templates/admin/repos/repo_edit.html:58
1801 #: rhodecode/templates/admin/repos/repo_edit.html:58
@@ -1852,31 +1803,30 b' msgid "Type"'
1852 msgstr "类型"
1803 msgstr "类型"
1853
1804
1854 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1805 #: rhodecode/templates/admin/repos/repo_add_base.html:42
1855 #, fuzzy
1856 msgid "Type of repository to create."
1806 msgid "Type of repository to create."
1857 msgstr "建立版本库"
1807 msgstr "要创建的版本库类型"
1858
1808
1859 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1809 #: rhodecode/templates/admin/repos/repo_add_base.html:47
1860 #: rhodecode/templates/admin/repos/repo_edit.html:66
1810 #: rhodecode/templates/admin/repos/repo_edit.html:66
1861 #: rhodecode/templates/forks/fork.html:41
1811 #: rhodecode/templates/forks/fork.html:41
1862 #: rhodecode/templates/settings/repo_settings.html:57
1812 #: rhodecode/templates/settings/repo_settings.html:57
1863 #, fuzzy
1864 msgid "Landing revision"
1813 msgid "Landing revision"
1865 msgstr "下一个修订"
1814 msgstr "默认修订"
1866
1815
1867 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1816 #: rhodecode/templates/admin/repos/repo_add_base.html:51
1868 #: rhodecode/templates/admin/repos/repo_edit.html:70
1817 #: rhodecode/templates/admin/repos/repo_edit.html:70
1869 #: rhodecode/templates/forks/fork.html:45
1818 #: rhodecode/templates/forks/fork.html:45
1870 #: rhodecode/templates/settings/repo_settings.html:61
1819 #: rhodecode/templates/settings/repo_settings.html:61
1871 msgid "Default revision for files page, downloads, whoosh and readme"
1820 msgid "Default revision for files page, downloads, whoosh and readme"
1872 msgstr ""
1821 msgstr "文件浏览、下载、whoosh和readme的默认修订版本"
1873
1822
1874 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1823 #: rhodecode/templates/admin/repos/repo_add_base.html:60
1875 #: rhodecode/templates/admin/repos/repo_edit.html:79
1824 #: rhodecode/templates/admin/repos/repo_edit.html:79
1876 #: rhodecode/templates/forks/fork.html:63
1825 #: rhodecode/templates/forks/fork.html:63
1877 #: rhodecode/templates/settings/repo_settings.html:70
1826 #: rhodecode/templates/settings/repo_settings.html:70
1878 msgid "Keep it short and to the point. Use a README file for longer descriptions."
1827 msgid ""
1879 msgstr ""
1828 "Keep it short and to the point. Use a README file for longer descriptions."
1829 msgstr "保持简短。用 README 文件来写更长的描述。"
1880
1830
1881 #: rhodecode/templates/admin/repos/repo_add_base.html:69
1831 #: rhodecode/templates/admin/repos/repo_add_base.html:69
1882 #: rhodecode/templates/admin/repos/repo_edit.html:89
1832 #: rhodecode/templates/admin/repos/repo_edit.html:89
@@ -1885,15 +1835,15 b' msgstr ""'
1885 msgid ""
1835 msgid ""
1886 "Private repositories are only visible to people explicitly added as "
1836 "Private repositories are only visible to people explicitly added as "
1887 "collaborators."
1837 "collaborators."
1888 msgstr ""
1838 msgstr "私有版本库只对显示添加的合作者可见。"
1889
1839
1890 #: rhodecode/templates/admin/repos/repo_add_base.html:73
1840 #: rhodecode/templates/admin/repos/repo_add_base.html:73
1891 msgid "add"
1841 msgid "add"
1892 msgstr "新"
1842 msgstr "新"
1893
1843
1894 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1844 #: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
1895 msgid "add new repository"
1845 msgid "add new repository"
1896 msgstr "新版本库"
1846 msgstr "新版本库"
1897
1847
1898 #: rhodecode/templates/admin/repos/repo_edit.html:5
1848 #: rhodecode/templates/admin/repos/repo_edit.html:5
1899 msgid "Edit repository"
1849 msgid "Edit repository"
@@ -1913,12 +1863,12 b' msgstr "\xe7\xbc\x96\xe8\xbe\x91"'
1913 #: rhodecode/templates/admin/repos/repo_edit.html:40
1863 #: rhodecode/templates/admin/repos/repo_edit.html:40
1914 #: rhodecode/templates/settings/repo_settings.html:39
1864 #: rhodecode/templates/settings/repo_settings.html:39
1915 msgid "Clone uri"
1865 msgid "Clone uri"
1916 msgstr "clone 地址"
1866 msgstr "克隆地址"
1917
1867
1918 #: rhodecode/templates/admin/repos/repo_edit.html:53
1868 #: rhodecode/templates/admin/repos/repo_edit.html:53
1919 #: rhodecode/templates/settings/repo_settings.html:52
1869 #: rhodecode/templates/settings/repo_settings.html:52
1920 msgid "Optional select a group to put this repository into."
1870 msgid "Optional select a group to put this repository into."
1921 msgstr ""
1871 msgstr "可选的,选择一个组将版本库放到其中"
1922
1872
1923 #: rhodecode/templates/admin/repos/repo_edit.html:94
1873 #: rhodecode/templates/admin/repos/repo_edit.html:94
1924 msgid "Enable statistics"
1874 msgid "Enable statistics"
@@ -1926,7 +1876,7 b' msgstr "\xe5\x90\xaf\xe7\x94\xa8\xe7\xbb\x9f\xe8\xae\xa1"'
1926
1876
1927 #: rhodecode/templates/admin/repos/repo_edit.html:98
1877 #: rhodecode/templates/admin/repos/repo_edit.html:98
1928 msgid "Enable statistics window on summary page."
1878 msgid "Enable statistics window on summary page."
1929 msgstr ""
1879 msgstr "启用概况页的统计窗口"
1930
1880
1931 #: rhodecode/templates/admin/repos/repo_edit.html:103
1881 #: rhodecode/templates/admin/repos/repo_edit.html:103
1932 msgid "Enable downloads"
1882 msgid "Enable downloads"
@@ -1934,22 +1884,20 b' msgstr "\xe5\x90\xaf\xe7\x94\xa8\xe4\xb8\x8b\xe8\xbd\xbd"'
1934
1884
1935 #: rhodecode/templates/admin/repos/repo_edit.html:107
1885 #: rhodecode/templates/admin/repos/repo_edit.html:107
1936 msgid "Enable download menu on summary page."
1886 msgid "Enable download menu on summary page."
1937 msgstr ""
1887 msgstr "启用概况页的下载菜单"
1938
1888
1939 #: rhodecode/templates/admin/repos/repo_edit.html:112
1889 #: rhodecode/templates/admin/repos/repo_edit.html:112
1940 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1890 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:66
1941 #, fuzzy
1942 msgid "Enable locking"
1891 msgid "Enable locking"
1943 msgstr "启用"
1892 msgstr "启用锁定"
1944
1893
1945 #: rhodecode/templates/admin/repos/repo_edit.html:116
1894 #: rhodecode/templates/admin/repos/repo_edit.html:116
1946 msgid "Enable lock-by-pulling on repository."
1895 msgid "Enable lock-by-pulling on repository."
1947 msgstr ""
1896 msgstr "启用版本库的拉取锁定"
1948
1897
1949 #: rhodecode/templates/admin/repos/repo_edit.html:126
1898 #: rhodecode/templates/admin/repos/repo_edit.html:126
1950 #, fuzzy
1951 msgid "Change owner of this repository."
1899 msgid "Change owner of this repository."
1952 msgstr "%s 库的修改"
1900 msgstr "修改这个版本库的所有者"
1953
1901
1954 #: rhodecode/templates/admin/repos/repo_edit.html:142
1902 #: rhodecode/templates/admin/repos/repo_edit.html:142
1955 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:75
1903 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:75
@@ -1986,11 +1934,11 b' msgstr "\xe7\xa1\xae\xe8\xae\xa4\xe7\xa7\xbb\xe9\x99\xa4\xe5\xbd\x93\xe5\x89\x8d\xe7\xbb\x9f\xe8\xae\xa1"'
1986
1934
1987 #: rhodecode/templates/admin/repos/repo_edit.html:162
1935 #: rhodecode/templates/admin/repos/repo_edit.html:162
1988 msgid "Fetched to rev"
1936 msgid "Fetched to rev"
1989 msgstr ""
1937 msgstr "获取到修订"
1990
1938
1991 #: rhodecode/templates/admin/repos/repo_edit.html:163
1939 #: rhodecode/templates/admin/repos/repo_edit.html:163
1992 msgid "Stats gathered"
1940 msgid "Stats gathered"
1993 msgstr ""
1941 msgstr "已收集的统计"
1994
1942
1995 #: rhodecode/templates/admin/repos/repo_edit.html:171
1943 #: rhodecode/templates/admin/repos/repo_edit.html:171
1996 msgid "Remote"
1944 msgid "Remote"
@@ -1998,11 +1946,11 b' msgstr "\xe8\xbf\x9c\xe7\xa8\x8b"'
1998
1946
1999 #: rhodecode/templates/admin/repos/repo_edit.html:175
1947 #: rhodecode/templates/admin/repos/repo_edit.html:175
2000 msgid "Pull changes from remote location"
1948 msgid "Pull changes from remote location"
2001 msgstr ""
1949 msgstr "从远程路径拉取修订集"
2002
1950
2003 #: rhodecode/templates/admin/repos/repo_edit.html:175
1951 #: rhodecode/templates/admin/repos/repo_edit.html:175
2004 msgid "Confirm to pull changes from remote side"
1952 msgid "Confirm to pull changes from remote side"
2005 msgstr ""
1953 msgstr "确认从远程拉取修订集"
2006
1954
2007 #: rhodecode/templates/admin/repos/repo_edit.html:186
1955 #: rhodecode/templates/admin/repos/repo_edit.html:186
2008 msgid "Cache"
1956 msgid "Cache"
@@ -2010,7 +1958,7 b' msgstr "\xe7\xbc\x93\xe5\xad\x98"'
2010
1958
2011 #: rhodecode/templates/admin/repos/repo_edit.html:190
1959 #: rhodecode/templates/admin/repos/repo_edit.html:190
2012 msgid "Invalidate repository cache"
1960 msgid "Invalidate repository cache"
2013 msgstr ""
1961 msgstr "清除版本库缓存"
2014
1962
2015 #: rhodecode/templates/admin/repos/repo_edit.html:190
1963 #: rhodecode/templates/admin/repos/repo_edit.html:190
2016 msgid "Confirm to invalidate repository cache"
1964 msgid "Confirm to invalidate repository cache"
@@ -2033,49 +1981,46 b' msgstr "\xe6\xb7\xbb\xe5\x8a\xa0\xe5\x88\xb0\xe5\x85\xac\xe5\x85\xb1\xe6\x97\xa5\xe5\xbf\x97"'
2033
1981
2034 #: rhodecode/templates/admin/repos/repo_edit.html:208
1982 #: rhodecode/templates/admin/repos/repo_edit.html:208
2035 msgid ""
1983 msgid ""
2036 "All actions made on this repository will be accessible to everyone in "
1984 "All actions made on this repository will be accessible to everyone in public "
2037 "public journal"
1985 "journal"
2038 msgstr ""
1986 msgstr "任何人都可以在公共日志上看到这个版本库上的所有动作"
2039
1987
2040 #: rhodecode/templates/admin/repos/repo_edit.html:215
1988 #: rhodecode/templates/admin/repos/repo_edit.html:215
2041 #, fuzzy
2042 msgid "Locking"
1989 msgid "Locking"
2043 msgstr "锁"
1990 msgstr "锁"
2044
1991
2045 #: rhodecode/templates/admin/repos/repo_edit.html:220
1992 #: rhodecode/templates/admin/repos/repo_edit.html:220
2046 msgid "Unlock locked repo"
1993 msgid "Unlock locked repo"
2047 msgstr ""
1994 msgstr "解锁版本库"
2048
1995
2049 #: rhodecode/templates/admin/repos/repo_edit.html:220
1996 #: rhodecode/templates/admin/repos/repo_edit.html:220
2050 #, fuzzy
2051 msgid "Confirm to unlock repository"
1997 msgid "Confirm to unlock repository"
2052 msgstr "确认删除版本库"
1998 msgstr "确认解锁版本库"
2053
1999
2054 #: rhodecode/templates/admin/repos/repo_edit.html:223
2000 #: rhodecode/templates/admin/repos/repo_edit.html:223
2055 msgid "lock repo"
2001 msgid "lock repo"
2056 msgstr ""
2002 msgstr "锁定版本库"
2057
2003
2058 #: rhodecode/templates/admin/repos/repo_edit.html:223
2004 #: rhodecode/templates/admin/repos/repo_edit.html:223
2059 #, fuzzy
2060 msgid "Confirm to lock repository"
2005 msgid "Confirm to lock repository"
2061 msgstr "确认删除版本库"
2006 msgstr "确认锁定版本库"
2062
2007
2063 #: rhodecode/templates/admin/repos/repo_edit.html:224
2008 #: rhodecode/templates/admin/repos/repo_edit.html:224
2064 #, fuzzy
2065 msgid "Repository is not locked"
2009 msgid "Repository is not locked"
2066 msgstr "版本库"
2010 msgstr "版本库未锁定"
2067
2011
2068 #: rhodecode/templates/admin/repos/repo_edit.html:229
2012 #: rhodecode/templates/admin/repos/repo_edit.html:229
2069 msgid "Force locking on repository. Works only when anonymous access is disabled"
2013 msgid ""
2070 msgstr ""
2014 "Force locking on repository. Works only when anonymous access is disabled"
2015 msgstr "强制锁定版本库。只有在禁止匿名访问时候才有效"
2071
2016
2072 #: rhodecode/templates/admin/repos/repo_edit.html:236
2017 #: rhodecode/templates/admin/repos/repo_edit.html:236
2073 msgid "Set as fork of"
2018 msgid "Set as fork of"
2074 msgstr ""
2019 msgstr "设置 fork 自"
2075
2020
2076 #: rhodecode/templates/admin/repos/repo_edit.html:245
2021 #: rhodecode/templates/admin/repos/repo_edit.html:245
2077 msgid "Manually set this repository as a fork of another from the list"
2022 msgid "Manually set this repository as a fork of another from the list"
2078 msgstr ""
2023 msgstr "从列表中手动设置这个版本库 fork 自另一版本库"
2079
2024
2080 #: rhodecode/templates/admin/repos/repo_edit.html:251
2025 #: rhodecode/templates/admin/repos/repo_edit.html:251
2081 #: rhodecode/templates/changeset/changeset_file_comment.html:26
2026 #: rhodecode/templates/changeset/changeset_file_comment.html:26
@@ -2093,11 +2038,13 b' msgstr "\xe7\xa1\xae\xe8\xae\xa4\xe5\x88\xa0\xe9\x99\xa4\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
2093
2038
2094 #: rhodecode/templates/admin/repos/repo_edit.html:259
2039 #: rhodecode/templates/admin/repos/repo_edit.html:259
2095 msgid ""
2040 msgid ""
2096 "This repository will be renamed in a special way in order to be "
2041 "This repository will be renamed in a special way in order to be unaccesible "
2097 "unaccesible for RhodeCode and VCS systems.\n"
2042 "for RhodeCode and VCS systems.\n"
2098 " If you need fully delete it from filesystem "
2043 " If you need fully delete it from filesystem please "
2099 "please do it manually"
2044 "do it manually"
2100 msgstr ""
2045 msgstr ""
2046 "这个版本库将以特殊的方式重命名这样 RhodeCode 和版本控制系统将不能访问它。\n"
2047 " 如果需要从文件系统完全删除,你需要手动操作"
2101
2048
2102 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
2049 #: rhodecode/templates/admin/repos/repo_edit_perms.html:3
2103 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
2050 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:3
@@ -2136,16 +2083,15 b' msgstr "\xe7\xa7\x81\xe6\x9c\x89\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
2136 #: rhodecode/templates/admin/repos/repo_edit_perms.html:19
2083 #: rhodecode/templates/admin/repos/repo_edit_perms.html:19
2137 #: rhodecode/templates/admin/repos/repo_edit_perms.html:28
2084 #: rhodecode/templates/admin/repos/repo_edit_perms.html:28
2138 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:18
2085 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:18
2139 #, fuzzy
2140 msgid "default"
2086 msgid "default"
2141 msgstr "删除"
2087 msgstr "默认"
2142
2088
2143 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
2089 #: rhodecode/templates/admin/repos/repo_edit_perms.html:33
2144 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
2090 #: rhodecode/templates/admin/repos/repo_edit_perms.html:58
2145 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
2091 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:23
2146 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
2092 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:42
2147 msgid "revoke"
2093 msgid "revoke"
2148 msgstr ""
2094 msgstr "移除"
2149
2095
2150 #: rhodecode/templates/admin/repos/repo_edit_perms.html:83
2096 #: rhodecode/templates/admin/repos/repo_edit_perms.html:83
2151 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:67
2097 #: rhodecode/templates/admin/repos_groups/repos_group_edit_perms.html:67
@@ -2172,7 +2118,7 b' msgstr "\xe7\xbb\x84"'
2172
2118
2173 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
2119 #: rhodecode/templates/admin/repos_groups/repos_groups.html:12
2174 msgid "with"
2120 msgid "with"
2175 msgstr ""
2121 msgstr ""
2176
2122
2177 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
2123 #: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
2178 msgid "Add repos group"
2124 msgid "Add repos group"
@@ -2210,9 +2156,9 b' msgstr "\xe7\xbc\x96\xe8\xbe\x91\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe7\xbb\x84"'
2210
2156
2211 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:70
2157 #: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:70
2212 msgid ""
2158 msgid ""
2213 "Enable lock-by-pulling on group. This option will be applied to all other"
2159 "Enable lock-by-pulling on group. This option will be applied to all other "
2214 " groups and repositories inside"
2160 "groups and repositories inside"
2215 msgstr ""
2161 msgstr "启用组的拉取锁定。这个选项将应用到组内的其他组和版本库"
2216
2162
2217 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
2163 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
2218 msgid "Repositories groups administration"
2164 msgid "Repositories groups administration"
@@ -2223,9 +2169,8 b' msgid "ADD NEW GROUP"'
2223 msgstr "添加组"
2169 msgstr "添加组"
2224
2170
2225 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
2171 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
2226 #, fuzzy
2227 msgid "Number of toplevel repositories"
2172 msgid "Number of toplevel repositories"
2228 msgstr "版本库数量"
2173 msgstr "顶层版本库数量"
2229
2174
2230 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
2175 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
2231 #: rhodecode/templates/admin/users/users.html:87
2176 #: rhodecode/templates/admin/users/users.html:87
@@ -2242,9 +2187,9 b' msgid "delete"'
2242 msgstr "删除"
2187 msgstr "删除"
2243
2188
2244 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
2189 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
2245 #, fuzzy, python-format
2190 #, python-format
2246 msgid "Confirm to delete this group: %s"
2191 msgid "Confirm to delete this group: %s"
2247 msgstr "确认删除该组"
2192 msgstr "确认删除该版本库: %s"
2248
2193
2249 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
2194 #: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
2250 msgid "There are no repositories groups yet"
2195 msgid "There are no repositories groups yet"
@@ -2287,10 +2232,11 b' msgstr "\xe9\x87\x8d\xe6\x96\xb0\xe6\x89\xab\xe6\x8f\x8f\xe9\x80\x89\xe9\xa1\xb9"'
2287
2232
2288 #: rhodecode/templates/admin/settings/settings.html:38
2233 #: rhodecode/templates/admin/settings/settings.html:38
2289 msgid ""
2234 msgid ""
2290 "In case a repository was deleted from filesystem and there are leftovers "
2235 "In case a repository was deleted from filesystem and there are leftovers in "
2291 "in the database check this option to scan obsolete data in database and "
2236 "the database check this option to scan obsolete data in database and remove "
2292 "remove it."
2237 "it."
2293 msgstr "如果版本库已经从文件系统删除,但数据库仍然有遗留信息,请勾选该项进行清理"
2238 msgstr ""
2239 "如果版本库已经从文件系统删除,但数据库仍然有遗留信息,请勾选该项进行清理"
2294
2240
2295 #: rhodecode/templates/admin/settings/settings.html:39
2241 #: rhodecode/templates/admin/settings/settings.html:39
2296 msgid "destroy old data"
2242 msgid "destroy old data"
@@ -2298,9 +2244,10 b' msgstr "\xe6\xb8\x85\xe7\x90\x86\xe6\x97\xa7\xe6\x95\xb0\xe6\x8d\xae"'
2298
2244
2299 #: rhodecode/templates/admin/settings/settings.html:41
2245 #: rhodecode/templates/admin/settings/settings.html:41
2300 msgid ""
2246 msgid ""
2301 "Rescan repositories location for new repositories. Also deletes obsolete "
2247 "Rescan repositories location for new repositories. Also deletes obsolete if "
2302 "if `destroy` flag is checked "
2248 "`destroy` flag is checked "
2303 msgstr ""
2249 msgstr ""
2250 "重新扫描版本库路径以发现新版本库。 同时删除过时的,如果设置有 `destroy` 标志"
2304
2251
2305 #: rhodecode/templates/admin/settings/settings.html:46
2252 #: rhodecode/templates/admin/settings/settings.html:46
2306 msgid "Rescan repositories"
2253 msgid "Rescan repositories"
@@ -2332,11 +2279,11 b' msgstr "\xe5\xba\x94\xe7\x94\xa8\xe5\x90\x8d\xe7\xa7\xb0"'
2332
2279
2333 #: rhodecode/templates/admin/settings/settings.html:95
2280 #: rhodecode/templates/admin/settings/settings.html:95
2334 msgid "Realm text"
2281 msgid "Realm text"
2335 msgstr ""
2282 msgstr "Realm text"
2336
2283
2337 #: rhodecode/templates/admin/settings/settings.html:104
2284 #: rhodecode/templates/admin/settings/settings.html:104
2338 msgid "GA code"
2285 msgid "GA code"
2339 msgstr ""
2286 msgstr "GA code"
2340
2287
2341 #: rhodecode/templates/admin/settings/settings.html:112
2288 #: rhodecode/templates/admin/settings/settings.html:112
2342 #: rhodecode/templates/admin/settings/settings.html:167
2289 #: rhodecode/templates/admin/settings/settings.html:167
@@ -2345,56 +2292,52 b' msgid "Save settings"'
2345 msgstr "保存设置"
2292 msgstr "保存设置"
2346
2293
2347 #: rhodecode/templates/admin/settings/settings.html:119
2294 #: rhodecode/templates/admin/settings/settings.html:119
2348 #, fuzzy
2349 msgid "Visualisation settings"
2295 msgid "Visualisation settings"
2350 msgstr "全局设置"
2296 msgstr "可视化设置"
2351
2297
2352 #: rhodecode/templates/admin/settings/settings.html:128
2298 #: rhodecode/templates/admin/settings/settings.html:128
2353 #, fuzzy
2354 msgid "Icons"
2299 msgid "Icons"
2355 msgstr "选项"
2300 msgstr "图标"
2356
2301
2357 #: rhodecode/templates/admin/settings/settings.html:133
2302 #: rhodecode/templates/admin/settings/settings.html:133
2358 msgid "Show public repo icon on repositories"
2303 msgid "Show public repo icon on repositories"
2359 msgstr ""
2304 msgstr "显示公共版本库图标"
2360
2305
2361 #: rhodecode/templates/admin/settings/settings.html:137
2306 #: rhodecode/templates/admin/settings/settings.html:137
2362 #, fuzzy
2363 msgid "Show private repo icon on repositories"
2307 msgid "Show private repo icon on repositories"
2364 msgstr "私有版本库"
2308 msgstr "显示私有版本库图标"
2365
2309
2366 #: rhodecode/templates/admin/settings/settings.html:144
2310 #: rhodecode/templates/admin/settings/settings.html:144
2367 #, fuzzy
2368 msgid "Meta-Tagging"
2311 msgid "Meta-Tagging"
2369 msgstr "设置"
2312 msgstr "元标记"
2370
2313
2371 #: rhodecode/templates/admin/settings/settings.html:149
2314 #: rhodecode/templates/admin/settings/settings.html:149
2372 msgid "Stylify recognised metatags:"
2315 msgid "Stylify recognised metatags:"
2373 msgstr ""
2316 msgstr "样式化识别的元标记"
2374
2317
2375 #: rhodecode/templates/admin/settings/settings.html:176
2318 #: rhodecode/templates/admin/settings/settings.html:176
2376 #, fuzzy
2377 msgid "VCS settings"
2319 msgid "VCS settings"
2378 msgstr "设置"
2320 msgstr "版本控制系统设置"
2379
2321
2380 #: rhodecode/templates/admin/settings/settings.html:185
2322 #: rhodecode/templates/admin/settings/settings.html:185
2381 msgid "Web"
2323 msgid "Web"
2382 msgstr ""
2324 msgstr "网络"
2383
2325
2384 #: rhodecode/templates/admin/settings/settings.html:190
2326 #: rhodecode/templates/admin/settings/settings.html:190
2385 #, fuzzy
2386 msgid "require ssl for vcs operations"
2327 msgid "require ssl for vcs operations"
2387 msgstr "使用 SSL 推送"
2328 msgstr "要求使用 SSL进行版本控制系统操作"
2388
2329
2389 #: rhodecode/templates/admin/settings/settings.html:192
2330 #: rhodecode/templates/admin/settings/settings.html:192
2390 msgid ""
2331 msgid ""
2391 "RhodeCode will require SSL for pushing or pulling. If SSL is missing it "
2332 "RhodeCode will require SSL for pushing or pulling. If SSL is missing it will "
2392 "will return HTTP Error 406: Not Acceptable"
2333 "return HTTP Error 406: Not Acceptable"
2393 msgstr ""
2334 msgstr ""
2335 "勾选后 RhodeCode 将要求使用 SSL 进行推送和拉取。如果没有使用 SSL 将返回 HTTP "
2336 "406错误:Not Acceptable"
2394
2337
2395 #: rhodecode/templates/admin/settings/settings.html:198
2338 #: rhodecode/templates/admin/settings/settings.html:198
2396 msgid "Hooks"
2339 msgid "Hooks"
2397 msgstr ""
2340 msgstr "钩子"
2398
2341
2399 #: rhodecode/templates/admin/settings/settings.html:203
2342 #: rhodecode/templates/admin/settings/settings.html:203
2400 msgid "Update repository after push (hg update)"
2343 msgid "Update repository after push (hg update)"
@@ -2417,23 +2360,22 b' msgid "advanced setup"'
2417 msgstr "高级设置"
2360 msgstr "高级设置"
2418
2361
2419 #: rhodecode/templates/admin/settings/settings.html:224
2362 #: rhodecode/templates/admin/settings/settings.html:224
2420 #, fuzzy
2421 msgid "Mercurial Extensions"
2363 msgid "Mercurial Extensions"
2422 msgstr "Mercurial 版本库"
2364 msgstr "Mercurial 扩展"
2423
2365
2424 #: rhodecode/templates/admin/settings/settings.html:229
2366 #: rhodecode/templates/admin/settings/settings.html:229
2425 msgid "largefiles extensions"
2367 msgid "largefiles extensions"
2426 msgstr ""
2368 msgstr "大文件扩展"
2427
2369
2428 #: rhodecode/templates/admin/settings/settings.html:233
2370 #: rhodecode/templates/admin/settings/settings.html:233
2429 msgid "hgsubversion extensions"
2371 msgid "hgsubversion extensions"
2430 msgstr ""
2372 msgstr "hgsubversion 扩展"
2431
2373
2432 #: rhodecode/templates/admin/settings/settings.html:235
2374 #: rhodecode/templates/admin/settings/settings.html:235
2433 msgid ""
2375 msgid ""
2434 "Requires hgsubversion library installed. Allows clonning from svn remote "
2376 "Requires hgsubversion library installed. Allows clonning from svn remote "
2435 "locations"
2377 "locations"
2436 msgstr ""
2378 msgstr " 允许从远程 svn 地址克隆。需要安装 hgsubversion 库"
2437
2379
2438 #: rhodecode/templates/admin/settings/settings.html:245
2380 #: rhodecode/templates/admin/settings/settings.html:245
2439 msgid "Repositories location"
2381 msgid "Repositories location"
@@ -2442,8 +2384,8 b' msgstr "\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93\xe8\xb7\xaf\xe5\xbe\x84"'
2442 #: rhodecode/templates/admin/settings/settings.html:250
2384 #: rhodecode/templates/admin/settings/settings.html:250
2443 msgid ""
2385 msgid ""
2444 "This a crucial application setting. If you are really sure you need to "
2386 "This a crucial application setting. If you are really sure you need to "
2445 "change this, you must restart application in order to make this setting "
2387 "change this, you must restart application in order to make this setting take "
2446 "take effect. Click this label to unlock."
2388 "effect. Click this label to unlock."
2447 msgstr "这是一个关键设置。如果确认修改该项设置,请重启服务以便设置生效。"
2389 msgstr "这是一个关键设置。如果确认修改该项设置,请重启服务以便设置生效。"
2448
2390
2449 #: rhodecode/templates/admin/settings/settings.html:251
2391 #: rhodecode/templates/admin/settings/settings.html:251
@@ -2452,30 +2394,27 b' msgstr "\xe8\xa7\xa3\xe9\x94\x81"'
2452
2394
2453 #: rhodecode/templates/admin/settings/settings.html:252
2395 #: rhodecode/templates/admin/settings/settings.html:252
2454 msgid ""
2396 msgid ""
2455 "Location where repositories are stored. After changing this value a "
2397 "Location where repositories are stored. After changing this value a restart, "
2456 "restart, and rescan is required"
2398 "and rescan is required"
2457 msgstr ""
2399 msgstr "版本库存储路径。 修改后需要重启和重新扫描"
2458
2400
2459 #: rhodecode/templates/admin/settings/settings.html:272
2401 #: rhodecode/templates/admin/settings/settings.html:272
2460 msgid "Test Email"
2402 msgid "Test Email"
2461 msgstr ""
2403 msgstr "测试邮件"
2462
2404
2463 #: rhodecode/templates/admin/settings/settings.html:280
2405 #: rhodecode/templates/admin/settings/settings.html:280
2464 #, fuzzy
2465 msgid "Email to"
2406 msgid "Email to"
2466 msgstr "电子邮件"
2407 msgstr "发送到"
2467
2408
2468 #: rhodecode/templates/admin/settings/settings.html:288
2409 #: rhodecode/templates/admin/settings/settings.html:288
2469 #, fuzzy
2470 msgid "Send"
2410 msgid "Send"
2471 msgstr ""
2411 msgstr "发送"
2472
2412
2473 #: rhodecode/templates/admin/settings/settings.html:294
2413 #: rhodecode/templates/admin/settings/settings.html:294
2474 msgid "System Info and Packages"
2414 msgid "System Info and Packages"
2475 msgstr ""
2415 msgstr "系统和软件包信息"
2476
2416
2477 #: rhodecode/templates/admin/settings/settings.html:297
2417 #: rhodecode/templates/admin/settings/settings.html:297
2478 #, fuzzy
2479 msgid "show"
2418 msgid "show"
2480 msgstr "显示"
2419 msgstr "显示"
2481
2420
@@ -2493,9 +2432,8 b' msgid "add new user"'
2493 msgstr "添加新用户"
2432 msgstr "添加新用户"
2494
2433
2495 #: rhodecode/templates/admin/users/user_add.html:50
2434 #: rhodecode/templates/admin/users/user_add.html:50
2496 #, fuzzy
2497 msgid "Password confirmation"
2435 msgid "Password confirmation"
2498 msgstr "密码不符"
2436 msgstr "确认密码"
2499
2437
2500 #: rhodecode/templates/admin/users/user_add.html:86
2438 #: rhodecode/templates/admin/users/user_add.html:86
2501 #: rhodecode/templates/admin/users/user_edit.html:113
2439 #: rhodecode/templates/admin/users/user_edit.html:113
@@ -2521,11 +2459,11 b' msgstr "\xe4\xbd\xbf\xe7\x94\xa8\xe4\xb8\xad"'
2521 #: rhodecode/templates/admin/users/user_edit.html:43
2459 #: rhodecode/templates/admin/users/user_edit.html:43
2522 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2460 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:20
2523 msgid "API key"
2461 msgid "API key"
2524 msgstr ""
2462 msgstr "API 密钥"
2525
2463
2526 #: rhodecode/templates/admin/users/user_edit.html:59
2464 #: rhodecode/templates/admin/users/user_edit.html:59
2527 msgid "LDAP DN"
2465 msgid "LDAP DN"
2528 msgstr ""
2466 msgstr "LDAP DN"
2529
2467
2530 #: rhodecode/templates/admin/users/user_edit.html:68
2468 #: rhodecode/templates/admin/users/user_edit.html:68
2531 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
2469 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:35
@@ -2535,13 +2473,12 b' msgstr "\xe6\x96\xb0\xe5\xaf\x86\xe7\xa0\x81"'
2535 #: rhodecode/templates/admin/users/user_edit.html:77
2473 #: rhodecode/templates/admin/users/user_edit.html:77
2536 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2474 #: rhodecode/templates/admin/users/user_edit_my_account_form.html:44
2537 msgid "New password confirmation"
2475 msgid "New password confirmation"
2538 msgstr ""
2476 msgstr "确认新密码"
2539
2477
2540 #: rhodecode/templates/admin/users/user_edit.html:147
2478 #: rhodecode/templates/admin/users/user_edit.html:147
2541 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2479 #: rhodecode/templates/admin/users_groups/users_group_edit.html:108
2542 #, fuzzy
2543 msgid "Inherit default permissions"
2480 msgid "Inherit default permissions"
2544 msgstr "默认权限"
2481 msgstr "继承默认权限"
2545
2482
2546 #: rhodecode/templates/admin/users/user_edit.html:152
2483 #: rhodecode/templates/admin/users/user_edit.html:152
2547 #: rhodecode/templates/admin/users_groups/users_group_edit.html:113
2484 #: rhodecode/templates/admin/users_groups/users_group_edit.html:113
@@ -2549,7 +2486,7 b' msgstr "\xe9\xbb\x98\xe8\xae\xa4\xe6\x9d\x83\xe9\x99\x90"'
2549 msgid ""
2486 msgid ""
2550 "Select to inherit permissions from %s settings. With this selected below "
2487 "Select to inherit permissions from %s settings. With this selected below "
2551 "options does not have any action"
2488 "options does not have any action"
2552 msgstr ""
2489 msgstr "勾选以从 %s 继承权限设置。 勾选后下面的选项将不起作用"
2553
2490
2554 #: rhodecode/templates/admin/users/user_edit.html:158
2491 #: rhodecode/templates/admin/users/user_edit.html:158
2555 #: rhodecode/templates/admin/users_groups/users_group_edit.html:119
2492 #: rhodecode/templates/admin/users_groups/users_group_edit.html:119
@@ -2558,48 +2495,41 b' msgstr "\xe5\x88\x9b\xe5\xbb\xba\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
2558
2495
2559 #: rhodecode/templates/admin/users/user_edit.html:166
2496 #: rhodecode/templates/admin/users/user_edit.html:166
2560 #: rhodecode/templates/admin/users_groups/users_group_edit.html:127
2497 #: rhodecode/templates/admin/users_groups/users_group_edit.html:127
2561 #, fuzzy
2562 msgid "Fork repositories"
2498 msgid "Fork repositories"
2563 msgstr "版本库"
2499 msgstr "分支版本库"
2564
2500
2565 #: rhodecode/templates/admin/users/user_edit.html:186
2501 #: rhodecode/templates/admin/users/user_edit.html:186
2566 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:22
2502 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:22
2567 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:39
2503 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:39
2568 #, fuzzy
2569 msgid "Nothing here yet"
2504 msgid "Nothing here yet"
2570 msgstr "尚无操作"
2505 msgstr "无条目"
2571
2506
2572 #: rhodecode/templates/admin/users/user_edit.html:193
2507 #: rhodecode/templates/admin/users/user_edit.html:193
2573 #: rhodecode/templates/admin/users/user_edit_my_account.html:60
2508 #: rhodecode/templates/admin/users/user_edit_my_account.html:60
2574 #: rhodecode/templates/admin/users/user_edit_my_account.html:194
2509 #: rhodecode/templates/admin/users/user_edit_my_account.html:194
2575 #, fuzzy
2576 msgid "Permission"
2510 msgid "Permission"
2577 msgstr "权限"
2511 msgstr "权限"
2578
2512
2579 #: rhodecode/templates/admin/users/user_edit.html:194
2513 #: rhodecode/templates/admin/users/user_edit.html:194
2580 #, fuzzy
2581 msgid "Edit Permission"
2514 msgid "Edit Permission"
2582 msgstr "版本库权限"
2515 msgstr "编辑权限"
2583
2516
2584 #: rhodecode/templates/admin/users/user_edit.html:243
2517 #: rhodecode/templates/admin/users/user_edit.html:243
2585 #, fuzzy
2586 msgid "Email addresses"
2518 msgid "Email addresses"
2587 msgstr "邮件地址"
2519 msgstr "邮件地址"
2588
2520
2589 #: rhodecode/templates/admin/users/user_edit.html:256
2521 #: rhodecode/templates/admin/users/user_edit.html:256
2590 #, fuzzy, python-format
2522 #, python-format
2591 msgid "Confirm to delete this email: %s"
2523 msgid "Confirm to delete this email: %s"
2592 msgstr "确认删除该用户"
2524 msgstr "确认删除邮件地址: %s"
2593
2525
2594 #: rhodecode/templates/admin/users/user_edit.html:270
2526 #: rhodecode/templates/admin/users/user_edit.html:270
2595 #, fuzzy
2596 msgid "New email address"
2527 msgid "New email address"
2597 msgstr "邮件地址"
2528 msgstr "增加邮件地址"
2598
2529
2599 #: rhodecode/templates/admin/users/user_edit.html:277
2530 #: rhodecode/templates/admin/users/user_edit.html:277
2600 #, fuzzy
2601 msgid "Add"
2531 msgid "Add"
2602 msgstr "增"
2532 msgstr "增"
2603
2533
2604 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2534 #: rhodecode/templates/admin/users/user_edit_my_account.html:5
2605 #: rhodecode/templates/base/base.html:124
2535 #: rhodecode/templates/base/base.html:124
@@ -2611,49 +2541,44 b' msgid "My Account"'
2611 msgstr "我的账户"
2541 msgstr "我的账户"
2612
2542
2613 #: rhodecode/templates/admin/users/user_edit_my_account.html:35
2543 #: rhodecode/templates/admin/users/user_edit_my_account.html:35
2614 #, fuzzy
2615 msgid "My permissions"
2544 msgid "My permissions"
2616 msgstr "权限"
2545 msgstr "我的权限"
2617
2546
2618 #: rhodecode/templates/admin/users/user_edit_my_account.html:38
2547 #: rhodecode/templates/admin/users/user_edit_my_account.html:38
2619 #: rhodecode/templates/journal/journal.html:41
2548 #: rhodecode/templates/journal/journal.html:41
2620 #, fuzzy
2621 msgid "My repos"
2549 msgid "My repos"
2622 msgstr "版本库"
2550 msgstr "我的版本库"
2623
2551
2624 #: rhodecode/templates/admin/users/user_edit_my_account.html:41
2552 #: rhodecode/templates/admin/users/user_edit_my_account.html:41
2625 #, fuzzy
2626 msgid "My pull requests"
2553 msgid "My pull requests"
2627 msgstr "创建用户 %s"
2554 msgstr "我的拉取请求"
2628
2555
2629 #: rhodecode/templates/admin/users/user_edit_my_account.html:45
2556 #: rhodecode/templates/admin/users/user_edit_my_account.html:45
2630 #, fuzzy
2631 msgid "Add repo"
2557 msgid "Add repo"
2632 msgstr "新"
2558 msgstr "新建版本库"
2633
2559
2634 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:2
2560 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:2
2635 msgid "Opened by me"
2561 msgid "Opened by me"
2636 msgstr ""
2562 msgstr "我创建的"
2637
2563
2638 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:10
2564 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:10
2639 #, python-format
2565 #, python-format
2640 msgid "Pull request #%s opened on %s"
2566 msgid "Pull request #%s opened on %s"
2641 msgstr ""
2567 msgstr "拉取请求 #%s 创建于 %s"
2642
2568
2643 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:15
2569 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:15
2644 #, fuzzy
2645 msgid "Confirm to delete this pull request"
2570 msgid "Confirm to delete this pull request"
2646 msgstr "确认删除版本库"
2571 msgstr "确认删除拉取请求"
2647
2572
2648 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:26
2573 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:26
2649 msgid "I participate in"
2574 msgid "I participate in"
2650 msgstr ""
2575 msgstr "我参与的"
2651
2576
2652 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:33
2577 #: rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html:33
2653 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:30
2578 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:30
2654 #, python-format
2579 #, python-format
2655 msgid "Pull request #%s opened by %s on %s"
2580 msgid "Pull request #%s opened by %s on %s"
2656 msgstr ""
2581 msgstr "拉取请求 #%s 由 %s 创建于 %s"
2657
2582
2658 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:7
2583 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:7
2659 #: rhodecode/templates/bookmarks/bookmarks.html:40
2584 #: rhodecode/templates/bookmarks/bookmarks.html:40
@@ -2672,9 +2597,9 b' msgstr "\xe7\xa7\x81\xe6\x9c\x89"'
2672
2597
2673 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:31
2598 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:31
2674 #: rhodecode/templates/data_table/_dt_elements.html:7
2599 #: rhodecode/templates/data_table/_dt_elements.html:7
2675 #, fuzzy, python-format
2600 #, python-format
2676 msgid "Confirm to delete this repository: %s"
2601 msgid "Confirm to delete this repository: %s"
2677 msgstr "确认删除版本库"
2602 msgstr "确认删除版本库: %s"
2678
2603
2679 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:38
2604 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:38
2680 #: rhodecode/templates/journal/journal.html:94
2605 #: rhodecode/templates/journal/journal.html:94
@@ -2684,7 +2609,7 b' msgstr "\xe6\xb2\xa1\xe6\x9c\x89\xe4\xbb\xbb\xe4\xbd\x95\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
2684 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:40
2609 #: rhodecode/templates/admin/users/user_edit_my_account_repos.html:40
2685 #: rhodecode/templates/journal/journal.html:96
2610 #: rhodecode/templates/journal/journal.html:96
2686 msgid "create one now"
2611 msgid "create one now"
2687 msgstr ""
2612 msgstr "创建一个"
2688
2613
2689 #: rhodecode/templates/admin/users/users.html:5
2614 #: rhodecode/templates/admin/users/users.html:5
2690 msgid "Users administration"
2615 msgid "Users administration"
@@ -2704,7 +2629,6 b' msgid "username"'
2704 msgstr "用户名"
2629 msgstr "用户名"
2705
2630
2706 #: rhodecode/templates/admin/users/users.html:80
2631 #: rhodecode/templates/admin/users/users.html:80
2707 #, fuzzy
2708 msgid "firstname"
2632 msgid "firstname"
2709 msgstr "名"
2633 msgstr "名"
2710
2634
@@ -2724,7 +2648,7 b' msgstr "\xe5\x90\xaf\xe7\x94\xa8"'
2724 #: rhodecode/templates/admin/users/users.html:86
2648 #: rhodecode/templates/admin/users/users.html:86
2725 #: rhodecode/templates/base/base.html:226
2649 #: rhodecode/templates/base/base.html:226
2726 msgid "ldap"
2650 msgid "ldap"
2727 msgstr ""
2651 msgstr "LDAP"
2728
2652
2729 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2653 #: rhodecode/templates/admin/users_groups/users_group_add.html:5
2730 msgid "Add users group"
2654 msgid "Add users group"
@@ -2768,9 +2692,8 b' msgid "Add all elements"'
2768 msgstr "添加全部项目"
2692 msgstr "添加全部项目"
2769
2693
2770 #: rhodecode/templates/admin/users_groups/users_group_edit.html:146
2694 #: rhodecode/templates/admin/users_groups/users_group_edit.html:146
2771 #, fuzzy
2772 msgid "Group members"
2695 msgid "Group members"
2773 msgstr "选择组成员"
2696 msgstr "拥护者成员"
2774
2697
2775 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2698 #: rhodecode/templates/admin/users_groups/users_groups.html:5
2776 msgid "Users groups administration"
2699 msgid "Users groups administration"
@@ -2790,9 +2713,9 b' msgid "members"'
2790 msgstr "成员"
2713 msgstr "成员"
2791
2714
2792 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2715 #: rhodecode/templates/admin/users_groups/users_groups.html:45
2793 #, fuzzy, python-format
2716 #, python-format
2794 msgid "Confirm to delete this users group: %s"
2717 msgid "Confirm to delete this users group: %s"
2795 msgstr "确认删除该组"
2718 msgstr "确认删除该组: %s"
2796
2719
2797 #: rhodecode/templates/base/base.html:41
2720 #: rhodecode/templates/base/base.html:41
2798 msgid "Submit a bug"
2721 msgid "Submit a bug"
@@ -2800,20 +2723,19 b' msgstr "\xe6\x8f\x90\xe4\xba\xa4 bug"'
2800
2723
2801 #: rhodecode/templates/base/base.html:77
2724 #: rhodecode/templates/base/base.html:77
2802 msgid "Login to your account"
2725 msgid "Login to your account"
2803 msgstr ""
2726 msgstr "登录"
2804
2727
2805 #: rhodecode/templates/base/base.html:100
2728 #: rhodecode/templates/base/base.html:100
2806 msgid "Forgot password ?"
2729 msgid "Forgot password ?"
2807 msgstr "忘记密码?"
2730 msgstr "忘记密码?"
2808
2731
2809 #: rhodecode/templates/base/base.html:107
2732 #: rhodecode/templates/base/base.html:107
2810 #, fuzzy
2811 msgid "Log In"
2733 msgid "Log In"
2812 msgstr "登录"
2734 msgstr "登录"
2813
2735
2814 #: rhodecode/templates/base/base.html:118
2736 #: rhodecode/templates/base/base.html:118
2815 msgid "Inbox"
2737 msgid "Inbox"
2816 msgstr ""
2738 msgstr "收件箱"
2817
2739
2818 #: rhodecode/templates/base/base.html:122
2740 #: rhodecode/templates/base/base.html:122
2819 #: rhodecode/templates/base/base.html:300
2741 #: rhodecode/templates/base/base.html:300
@@ -2830,7 +2752,8 b' msgstr ""'
2830 #: rhodecode/templates/files/files_add.html:15
2752 #: rhodecode/templates/files/files_add.html:15
2831 #: rhodecode/templates/files/files_edit.html:15
2753 #: rhodecode/templates/files/files_edit.html:15
2832 #: rhodecode/templates/followers/followers.html:9
2754 #: rhodecode/templates/followers/followers.html:9
2833 #: rhodecode/templates/forks/fork.html:9 rhodecode/templates/forks/forks.html:9
2755 #: rhodecode/templates/forks/fork.html:9
2756 #: rhodecode/templates/forks/forks.html:9
2834 #: rhodecode/templates/pullrequests/pullrequest.html:8
2757 #: rhodecode/templates/pullrequests/pullrequest.html:8
2835 #: rhodecode/templates/pullrequests/pullrequest_show.html:8
2758 #: rhodecode/templates/pullrequests/pullrequest_show.html:8
2836 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:8
2759 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:8
@@ -2861,12 +2784,12 b' msgstr "\xe5\x88\x87\xe6\x8d\xa2\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
2861
2784
2862 #: rhodecode/templates/base/base.html:146
2785 #: rhodecode/templates/base/base.html:146
2863 msgid "Products"
2786 msgid "Products"
2864 msgstr ""
2787 msgstr "产品"
2865
2788
2866 #: rhodecode/templates/base/base.html:152
2789 #: rhodecode/templates/base/base.html:152
2867 #: rhodecode/templates/base/base.html:182
2790 #: rhodecode/templates/base/base.html:182
2868 msgid "loading..."
2791 msgid "loading..."
2869 msgstr ""
2792 msgstr "载入中..."
2870
2793
2871 #: rhodecode/templates/base/base.html:158
2794 #: rhodecode/templates/base/base.html:158
2872 #: rhodecode/templates/base/base.html:160
2795 #: rhodecode/templates/base/base.html:160
@@ -2885,7 +2808,7 b' msgstr "\xe6\xa6\x82\xe5\x86\xb5"'
2885 #: rhodecode/templates/data_table/_dt_elements.html:25
2808 #: rhodecode/templates/data_table/_dt_elements.html:25
2886 #: rhodecode/templates/data_table/_dt_elements.html:27
2809 #: rhodecode/templates/data_table/_dt_elements.html:27
2887 msgid "Changelog"
2810 msgid "Changelog"
2888 msgstr "修记录"
2811 msgstr "修记录"
2889
2812
2890 #: rhodecode/templates/base/base.html:175
2813 #: rhodecode/templates/base/base.html:175
2891 #: rhodecode/templates/base/base.html:177
2814 #: rhodecode/templates/base/base.html:177
@@ -2900,7 +2823,7 b' msgstr "\xe5\x88\x87\xe6\x8d\xa2\xe5\x88\xb0"'
2900 #: rhodecode/templates/data_table/_dt_elements.html:33
2823 #: rhodecode/templates/data_table/_dt_elements.html:33
2901 #: rhodecode/templates/data_table/_dt_elements.html:35
2824 #: rhodecode/templates/data_table/_dt_elements.html:35
2902 msgid "Files"
2825 msgid "Files"
2903 msgstr "档案"
2826 msgstr "浏览"
2904
2827
2905 #: rhodecode/templates/base/base.html:195
2828 #: rhodecode/templates/base/base.html:195
2906 #: rhodecode/templates/base/base.html:199
2829 #: rhodecode/templates/base/base.html:199
@@ -2917,12 +2840,12 b' msgstr "\xe8\xae\xbe\xe7\xbd\xae"'
2917 #: rhodecode/templates/data_table/_dt_elements.html:80
2840 #: rhodecode/templates/data_table/_dt_elements.html:80
2918 #: rhodecode/templates/forks/fork.html:13
2841 #: rhodecode/templates/forks/fork.html:13
2919 msgid "fork"
2842 msgid "fork"
2920 msgstr ""
2843 msgstr "分支"
2921
2844
2922 #: rhodecode/templates/base/base.html:211
2845 #: rhodecode/templates/base/base.html:211
2923 #: rhodecode/templates/changelog/changelog.html:40
2846 #: rhodecode/templates/changelog/changelog.html:40
2924 msgid "Open new pull request"
2847 msgid "Open new pull request"
2925 msgstr ""
2848 msgstr "新建拉取请求"
2926
2849
2927 #: rhodecode/templates/base/base.html:213
2850 #: rhodecode/templates/base/base.html:213
2928 msgid "search"
2851 msgid "search"
@@ -2943,12 +2866,12 b' msgstr "\xe6\x9d\x83\xe9\x99\x90"'
2943 #: rhodecode/templates/base/base.html:238
2866 #: rhodecode/templates/base/base.html:238
2944 #: rhodecode/templates/base/base.html:240
2867 #: rhodecode/templates/base/base.html:240
2945 msgid "Followers"
2868 msgid "Followers"
2946 msgstr "跟随者"
2869 msgstr "关注者"
2947
2870
2948 #: rhodecode/templates/base/base.html:246
2871 #: rhodecode/templates/base/base.html:246
2949 #: rhodecode/templates/base/base.html:248
2872 #: rhodecode/templates/base/base.html:248
2950 msgid "Forks"
2873 msgid "Forks"
2951 msgstr ""
2874 msgstr "分支"
2952
2875
2953 #: rhodecode/templates/base/base.html:327
2876 #: rhodecode/templates/base/base.html:327
2954 #: rhodecode/templates/base/base.html:329
2877 #: rhodecode/templates/base/base.html:329
@@ -2958,20 +2881,19 b' msgid "Search"'
2958 msgstr "搜索"
2881 msgstr "搜索"
2959
2882
2960 #: rhodecode/templates/base/root.html:42
2883 #: rhodecode/templates/base/root.html:42
2961 #, fuzzy
2962 msgid "add another comment"
2884 msgid "add another comment"
2963 msgstr "添加成员"
2885 msgstr "添加新的评论"
2964
2886
2965 #: rhodecode/templates/base/root.html:43
2887 #: rhodecode/templates/base/root.html:43
2966 #: rhodecode/templates/journal/journal.html:120
2888 #: rhodecode/templates/journal/journal.html:120
2967 #: rhodecode/templates/summary/summary.html:57
2889 #: rhodecode/templates/summary/summary.html:57
2968 msgid "Stop following this repository"
2890 msgid "Stop following this repository"
2969 msgstr "停止跟随该版本库"
2891 msgstr "停止关注该版本库"
2970
2892
2971 #: rhodecode/templates/base/root.html:44
2893 #: rhodecode/templates/base/root.html:44
2972 #: rhodecode/templates/summary/summary.html:61
2894 #: rhodecode/templates/summary/summary.html:61
2973 msgid "Start following this repository"
2895 msgid "Start following this repository"
2974 msgstr "开始跟随该版本库"
2896 msgstr "开始关注该版本库"
2975
2897
2976 #: rhodecode/templates/base/root.html:45
2898 #: rhodecode/templates/base/root.html:45
2977 msgid "Group"
2899 msgid "Group"
@@ -2979,7 +2901,7 b' msgstr "\xe7\xbb\x84"'
2979
2901
2980 #: rhodecode/templates/base/root.html:47
2902 #: rhodecode/templates/base/root.html:47
2981 msgid "search truncated"
2903 msgid "search truncated"
2982 msgstr ""
2904 msgstr "搜索被截断"
2983
2905
2984 #: rhodecode/templates/base/root.html:48
2906 #: rhodecode/templates/base/root.html:48
2985 msgid "no matching files"
2907 msgid "no matching files"
@@ -2988,31 +2910,28 b' msgstr "\xe6\xb2\xa1\xe6\x9c\x89\xe7\xac\xa6\xe5\x90\x88\xe7\x9a\x84\xe6\x96\x87\xe4\xbb\xb6"'
2988 #: rhodecode/templates/bookmarks/bookmarks.html:5
2910 #: rhodecode/templates/bookmarks/bookmarks.html:5
2989 #, python-format
2911 #, python-format
2990 msgid "%s Bookmarks"
2912 msgid "%s Bookmarks"
2991 msgstr ""
2913 msgstr "%s 书签"
2992
2914
2993 #: rhodecode/templates/bookmarks/bookmarks.html:39
2915 #: rhodecode/templates/bookmarks/bookmarks.html:39
2994 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2916 #: rhodecode/templates/bookmarks/bookmarks_data.html:8
2995 #: rhodecode/templates/branches/branches.html:54
2917 #: rhodecode/templates/branches/branches.html:54
2996 #: rhodecode/templates/tags/tags.html:39
2918 #: rhodecode/templates/tags/tags.html:39
2997 #: rhodecode/templates/tags/tags_data.html:8
2919 #: rhodecode/templates/tags/tags_data.html:8
2998 #, fuzzy
2999 msgid "Author"
2920 msgid "Author"
3000 msgstr "作者"
2921 msgstr "作者"
3001
2922
3002 #: rhodecode/templates/branches/branches.html:5
2923 #: rhodecode/templates/branches/branches.html:5
3003 #, fuzzy, python-format
2924 #, python-format
3004 msgid "%s Branches"
2925 msgid "%s Branches"
3005 msgstr "分支"
2926 msgstr "%s 分支"
3006
2927
3007 #: rhodecode/templates/branches/branches.html:29
2928 #: rhodecode/templates/branches/branches.html:29
3008 #, fuzzy
3009 msgid "Compare branches"
2929 msgid "Compare branches"
3010 msgstr "分支"
2930 msgstr "比较分支"
3011
2931
3012 #: rhodecode/templates/branches/branches.html:57
2932 #: rhodecode/templates/branches/branches.html:57
3013 #: rhodecode/templates/compare/compare_diff.html:5
2933 #: rhodecode/templates/compare/compare_diff.html:5
3014 #: rhodecode/templates/compare/compare_diff.html:13
2934 #: rhodecode/templates/compare/compare_diff.html:13
3015 #, fuzzy
3016 msgid "Compare"
2935 msgid "Compare"
3017 msgstr "比较显示"
2936 msgstr "比较显示"
3018
2937
@@ -3035,31 +2954,30 b' msgid "revision"'
3035 msgstr "修订"
2954 msgstr "修订"
3036
2955
3037 #: rhodecode/templates/branches/branches_data.html:10
2956 #: rhodecode/templates/branches/branches_data.html:10
3038 #, fuzzy
3039 msgid "compare"
2957 msgid "compare"
3040 msgstr "比较显示"
2958 msgstr "比较显示"
3041
2959
3042 #: rhodecode/templates/changelog/changelog.html:6
2960 #: rhodecode/templates/changelog/changelog.html:6
3043 #, fuzzy, python-format
2961 #, python-format
3044 msgid "%s Changelog"
2962 msgid "%s Changelog"
3045 msgstr "修改记录"
2963 msgstr "%s 修订记录"
3046
2964
3047 #: rhodecode/templates/changelog/changelog.html:15
2965 #: rhodecode/templates/changelog/changelog.html:15
3048 #, python-format
2966 #, python-format
3049 msgid "showing %d out of %d revision"
2967 msgid "showing %d out of %d revision"
3050 msgid_plural "showing %d out of %d revisions"
2968 msgid_plural "showing %d out of %d revisions"
3051 msgstr[0] ""
2969 msgstr[0] "显示 %2d 中的 %1d 个版本"
3052
2970
3053 #: rhodecode/templates/changelog/changelog.html:37
2971 #: rhodecode/templates/changelog/changelog.html:37
3054 #: rhodecode/templates/forks/forks_data.html:19
2972 #: rhodecode/templates/forks/forks_data.html:19
3055 #, python-format
2973 #, python-format
3056 msgid "compare fork with %s"
2974 msgid "compare fork with %s"
3057 msgstr ""
2975 msgstr "与 %s 比较"
3058
2976
3059 #: rhodecode/templates/changelog/changelog.html:37
2977 #: rhodecode/templates/changelog/changelog.html:37
3060 #: rhodecode/templates/forks/forks_data.html:21
2978 #: rhodecode/templates/forks/forks_data.html:21
3061 msgid "Compare fork"
2979 msgid "Compare fork"
3062 msgstr ""
2980 msgstr "比较分支"
3063
2981
3064 #: rhodecode/templates/changelog/changelog.html:46
2982 #: rhodecode/templates/changelog/changelog.html:46
3065 msgid "Show"
2983 msgid "Show"
@@ -3068,33 +2986,32 b' msgstr "\xe6\x98\xbe\xe7\xa4\xba"'
3068 #: rhodecode/templates/changelog/changelog.html:72
2986 #: rhodecode/templates/changelog/changelog.html:72
3069 #: rhodecode/templates/summary/summary.html:364
2987 #: rhodecode/templates/summary/summary.html:364
3070 msgid "show more"
2988 msgid "show more"
3071 msgstr ""
2989 msgstr "显示更多"
3072
2990
3073 #: rhodecode/templates/changelog/changelog.html:76
2991 #: rhodecode/templates/changelog/changelog.html:76
3074 msgid "Affected number of files, click to show more details"
2992 msgid "Affected number of files, click to show more details"
3075 msgstr ""
2993 msgstr "影响的文件数,点击显示详细信息"
3076
2994
3077 #: rhodecode/templates/changelog/changelog.html:89
2995 #: rhodecode/templates/changelog/changelog.html:89
3078 #: rhodecode/templates/changeset/changeset.html:38
2996 #: rhodecode/templates/changeset/changeset.html:38
3079 #: rhodecode/templates/changeset/changeset_file_comment.html:20
2997 #: rhodecode/templates/changeset/changeset_file_comment.html:20
3080 #: rhodecode/templates/changeset/changeset_range.html:46
2998 #: rhodecode/templates/changeset/changeset_range.html:46
3081 #, fuzzy
3082 msgid "Changeset status"
2999 msgid "Changeset status"
3083 msgstr "变更集"
3000 msgstr "修订集状态"
3084
3001
3085 #: rhodecode/templates/changelog/changelog.html:92
3002 #: rhodecode/templates/changelog/changelog.html:92
3086 msgid "Click to open associated pull request"
3003 msgid "Click to open associated pull request"
3087 msgstr ""
3004 msgstr "点击建立相关的拉取请求"
3088
3005
3089 #: rhodecode/templates/changelog/changelog.html:102
3006 #: rhodecode/templates/changelog/changelog.html:102
3090 #: rhodecode/templates/changeset/changeset.html:78
3007 #: rhodecode/templates/changeset/changeset.html:78
3091 msgid "Parent"
3008 msgid "Parent"
3092 msgstr ""
3009 msgstr "父版本"
3093
3010
3094 #: rhodecode/templates/changelog/changelog.html:108
3011 #: rhodecode/templates/changelog/changelog.html:108
3095 #: rhodecode/templates/changeset/changeset.html:84
3012 #: rhodecode/templates/changeset/changeset.html:84
3096 msgid "No parents"
3013 msgid "No parents"
3097 msgstr ""
3014 msgstr "无父版本"
3098
3015
3099 #: rhodecode/templates/changelog/changelog.html:113
3016 #: rhodecode/templates/changelog/changelog.html:113
3100 #: rhodecode/templates/changeset/changeset.html:88
3017 #: rhodecode/templates/changeset/changeset.html:88
@@ -3112,7 +3029,7 b' msgstr "\xe5\x88\x86\xe6\x94\xaf"'
3112
3029
3113 #: rhodecode/templates/changelog/changelog.html:122
3030 #: rhodecode/templates/changelog/changelog.html:122
3114 msgid "bookmark"
3031 msgid "bookmark"
3115 msgstr ""
3032 msgstr "书签"
3116
3033
3117 #: rhodecode/templates/changelog/changelog.html:128
3034 #: rhodecode/templates/changelog/changelog.html:128
3118 #: rhodecode/templates/changeset/changeset.html:96
3035 #: rhodecode/templates/changeset/changeset.html:96
@@ -3121,7 +3038,7 b' msgstr "\xe6\xa0\x87\xe7\xad\xbe"'
3121
3038
3122 #: rhodecode/templates/changelog/changelog.html:164
3039 #: rhodecode/templates/changelog/changelog.html:164
3123 msgid "Show selected changes __S -> __E"
3040 msgid "Show selected changes __S -> __E"
3124 msgstr ""
3041 msgstr "显示选定的修订集 __S -> __E"
3125
3042
3126 #: rhodecode/templates/changelog/changelog.html:255
3043 #: rhodecode/templates/changelog/changelog.html:255
3127 msgid "There are no changes yet"
3044 msgid "There are no changes yet"
@@ -3150,16 +3067,16 b' msgstr "\xe6\xb7\xbb\xe5\x8a\xa0"'
3150 #: rhodecode/templates/changeset/changeset.html:72
3067 #: rhodecode/templates/changeset/changeset.html:72
3151 #, python-format
3068 #, python-format
3152 msgid "affected %s files"
3069 msgid "affected %s files"
3153 msgstr ""
3070 msgstr "影响 %s 文件"
3154
3071
3155 #: rhodecode/templates/changeset/changeset.html:6
3072 #: rhodecode/templates/changeset/changeset.html:6
3156 #, fuzzy, python-format
3073 #, python-format
3157 msgid "%s Changeset"
3074 msgid "%s Changeset"
3158 msgstr "无变更"
3075 msgstr "%s 修订集"
3159
3076
3160 #: rhodecode/templates/changeset/changeset.html:14
3077 #: rhodecode/templates/changeset/changeset.html:14
3161 msgid "Changeset"
3078 msgid "Changeset"
3162 msgstr ""
3079 msgstr "修订集"
3163
3080
3164 #: rhodecode/templates/changeset/changeset.html:43
3081 #: rhodecode/templates/changeset/changeset.html:43
3165 #: rhodecode/templates/changeset/diff_block.html:20
3082 #: rhodecode/templates/changeset/diff_block.html:20
@@ -3173,87 +3090,85 b' msgstr "\xe4\xb8\x8b\xe8\xbd\xbd diff"'
3173
3090
3174 #: rhodecode/templates/changeset/changeset.html:48
3091 #: rhodecode/templates/changeset/changeset.html:48
3175 #: rhodecode/templates/changeset/changeset_file_comment.html:82
3092 #: rhodecode/templates/changeset/changeset_file_comment.html:82
3176 #, fuzzy, python-format
3093 #, python-format
3177 msgid "%d comment"
3094 msgid "%d comment"
3178 msgid_plural "%d comments"
3095 msgid_plural "%d comments"
3179 msgstr[0] "提交"
3096 msgstr[0] "%d 条评论"
3180
3097
3181 #: rhodecode/templates/changeset/changeset.html:48
3098 #: rhodecode/templates/changeset/changeset.html:48
3182 #: rhodecode/templates/changeset/changeset_file_comment.html:82
3099 #: rhodecode/templates/changeset/changeset_file_comment.html:82
3183 #, python-format
3100 #, python-format
3184 msgid "(%d inline)"
3101 msgid "(%d inline)"
3185 msgid_plural "(%d inline)"
3102 msgid_plural "(%d inline)"
3186 msgstr[0] ""
3103 msgstr[0] "(%d 内嵌)"
3187
3104
3188 #: rhodecode/templates/changeset/changeset.html:103
3105 #: rhodecode/templates/changeset/changeset.html:103
3189 #, python-format
3106 #, python-format
3190 msgid "%s files affected with %s insertions and %s deletions:"
3107 msgid "%s files affected with %s insertions and %s deletions:"
3191 msgstr ""
3108 msgstr "%s 个文件受影响包括 %s 行插入和 %s 行删除:"
3192
3109
3193 #: rhodecode/templates/changeset/changeset.html:119
3110 #: rhodecode/templates/changeset/changeset.html:119
3194 msgid "Changeset was too big and was cut off..."
3111 msgid "Changeset was too big and was cut off..."
3195 msgstr ""
3112 msgstr "修订集太大已被截断......"
3196
3113
3197 #: rhodecode/templates/changeset/changeset_file_comment.html:42
3114 #: rhodecode/templates/changeset/changeset_file_comment.html:42
3198 msgid "Submitting..."
3115 msgid "Submitting..."
3199 msgstr ""
3116 msgstr "提交中……"
3200
3117
3201 #: rhodecode/templates/changeset/changeset_file_comment.html:45
3118 #: rhodecode/templates/changeset/changeset_file_comment.html:45
3202 msgid "Commenting on line {1}."
3119 msgid "Commenting on line {1}."
3203 msgstr ""
3120 msgstr "在 {1} 行上评论"
3204
3121
3205 #: rhodecode/templates/changeset/changeset_file_comment.html:46
3122 #: rhodecode/templates/changeset/changeset_file_comment.html:46
3206 #: rhodecode/templates/changeset/changeset_file_comment.html:121
3123 #: rhodecode/templates/changeset/changeset_file_comment.html:121
3207 #, python-format
3124 #, python-format
3208 msgid "Comments parsed using %s syntax with %s support."
3125 msgid "Comments parsed using %s syntax with %s support."
3209 msgstr ""
3126 msgstr "评论使用 %s 语法并支持 %s"
3210
3127
3211 #: rhodecode/templates/changeset/changeset_file_comment.html:48
3128 #: rhodecode/templates/changeset/changeset_file_comment.html:48
3212 #: rhodecode/templates/changeset/changeset_file_comment.html:123
3129 #: rhodecode/templates/changeset/changeset_file_comment.html:123
3213 msgid "Use @username inside this text to send notification to this RhodeCode user"
3130 msgid ""
3214 msgstr ""
3131 "Use @username inside this text to send notification to this RhodeCode user"
3132 msgstr "在文本中使用 @用户名 以发送通知到该 RhodeCode 用户"
3215
3133
3216 #: rhodecode/templates/changeset/changeset_file_comment.html:59
3134 #: rhodecode/templates/changeset/changeset_file_comment.html:59
3217 #: rhodecode/templates/changeset/changeset_file_comment.html:138
3135 #: rhodecode/templates/changeset/changeset_file_comment.html:138
3218 #, fuzzy
3219 msgid "Comment"
3136 msgid "Comment"
3220 msgstr "提交"
3137 msgstr "评论"
3221
3138
3222 #: rhodecode/templates/changeset/changeset_file_comment.html:60
3139 #: rhodecode/templates/changeset/changeset_file_comment.html:60
3223 #: rhodecode/templates/changeset/changeset_file_comment.html:71
3140 #: rhodecode/templates/changeset/changeset_file_comment.html:71
3224 msgid "Hide"
3141 msgid "Hide"
3225 msgstr ""
3142 msgstr "影藏"
3226
3143
3227 #: rhodecode/templates/changeset/changeset_file_comment.html:67
3144 #: rhodecode/templates/changeset/changeset_file_comment.html:67
3228 #, fuzzy
3229 msgid "You need to be logged in to comment."
3145 msgid "You need to be logged in to comment."
3230 msgstr "必须登录才能访问该页面"
3146 msgstr "必须登录才能评论"
3231
3147
3232 #: rhodecode/templates/changeset/changeset_file_comment.html:67
3148 #: rhodecode/templates/changeset/changeset_file_comment.html:67
3233 msgid "Login now"
3149 msgid "Login now"
3234 msgstr ""
3150 msgstr "现在登陆"
3235
3151
3236 #: rhodecode/templates/changeset/changeset_file_comment.html:118
3152 #: rhodecode/templates/changeset/changeset_file_comment.html:118
3237 msgid "Leave a comment"
3153 msgid "Leave a comment"
3238 msgstr ""
3154 msgstr "发表评论"
3239
3155
3240 #: rhodecode/templates/changeset/changeset_file_comment.html:124
3156 #: rhodecode/templates/changeset/changeset_file_comment.html:124
3241 msgid "Check this to change current status of code-review for this changeset"
3157 msgid "Check this to change current status of code-review for this changeset"
3242 msgstr ""
3158 msgstr "勾选以改变这个修订集的代码审查状态"
3243
3159
3244 #: rhodecode/templates/changeset/changeset_file_comment.html:124
3160 #: rhodecode/templates/changeset/changeset_file_comment.html:124
3245 #, fuzzy
3246 msgid "change status"
3161 msgid "change status"
3247 msgstr "变更集"
3162 msgstr "改变状态"
3248
3163
3249 #: rhodecode/templates/changeset/changeset_file_comment.html:140
3164 #: rhodecode/templates/changeset/changeset_file_comment.html:140
3250 msgid "Comment and close"
3165 msgid "Comment and close"
3251 msgstr ""
3166 msgstr "评论并关闭"
3252
3167
3253 #: rhodecode/templates/changeset/changeset_range.html:5
3168 #: rhodecode/templates/changeset/changeset_range.html:5
3254 #, fuzzy, python-format
3169 #, python-format
3255 msgid "%s Changesets"
3170 msgid "%s Changesets"
3256 msgstr "变更集"
3171 msgstr "%s 修订集"
3257
3172
3258 #: rhodecode/templates/changeset/changeset_range.html:29
3173 #: rhodecode/templates/changeset/changeset_range.html:29
3259 #: rhodecode/templates/compare/compare_diff.html:29
3174 #: rhodecode/templates/compare/compare_diff.html:29
@@ -3264,26 +3179,23 b' msgstr "\xe6\xaf\x94\xe8\xbe\x83\xe6\x98\xbe\xe7\xa4\xba"'
3264 #: rhodecode/templates/compare/compare_diff.html:41
3179 #: rhodecode/templates/compare/compare_diff.html:41
3265 #: rhodecode/templates/pullrequests/pullrequest_show.html:69
3180 #: rhodecode/templates/pullrequests/pullrequest_show.html:69
3266 msgid "Files affected"
3181 msgid "Files affected"
3267 msgstr ""
3182 msgstr "影响文件"
3268
3183
3269 #: rhodecode/templates/changeset/diff_block.html:19
3184 #: rhodecode/templates/changeset/diff_block.html:19
3270 msgid "diff"
3185 msgid "diff"
3271 msgstr ""
3186 msgstr "差别"
3272
3187
3273 #: rhodecode/templates/changeset/diff_block.html:27
3188 #: rhodecode/templates/changeset/diff_block.html:27
3274 #, fuzzy
3275 msgid "show inline comments"
3189 msgid "show inline comments"
3276 msgstr "文件内容"
3190 msgstr "显示内嵌评论"
3277
3191
3278 #: rhodecode/templates/compare/compare_cs.html:5
3192 #: rhodecode/templates/compare/compare_cs.html:5
3279 #, fuzzy
3280 msgid "No changesets"
3193 msgid "No changesets"
3281 msgstr "无修订"
3194 msgstr "无修订"
3282
3195
3283 #: rhodecode/templates/compare/compare_diff.html:37
3196 #: rhodecode/templates/compare/compare_diff.html:37
3284 #, fuzzy
3285 msgid "Outgoing changesets"
3197 msgid "Outgoing changesets"
3286 msgstr "尚无修订"
3198 msgstr "传出修订集"
3287
3199
3288 #: rhodecode/templates/data_table/_dt_elements.html:39
3200 #: rhodecode/templates/data_table/_dt_elements.html:39
3289 #: rhodecode/templates/data_table/_dt_elements.html:41
3201 #: rhodecode/templates/data_table/_dt_elements.html:41
@@ -3313,40 +3225,40 b' msgstr "\xe5\x85\xac\xe5\x85\xb1\xe7\x89\x88\xe6\x9c\xac\xe5\xba\x93"'
3313 #: rhodecode/templates/summary/summary.html:87
3225 #: rhodecode/templates/summary/summary.html:87
3314 #: rhodecode/templates/summary/summary.html:88
3226 #: rhodecode/templates/summary/summary.html:88
3315 msgid "Fork of"
3227 msgid "Fork of"
3316 msgstr ""
3228 msgstr "分支自"
3317
3229
3318 #: rhodecode/templates/data_table/_dt_elements.html:92
3230 #: rhodecode/templates/data_table/_dt_elements.html:92
3319 msgid "No changesets yet"
3231 msgid "No changesets yet"
3320 msgstr "无修订"
3232 msgstr "无修订"
3321
3233
3322 #: rhodecode/templates/data_table/_dt_elements.html:104
3234 #: rhodecode/templates/data_table/_dt_elements.html:104
3323 #, fuzzy, python-format
3235 #, python-format
3324 msgid "Confirm to delete this user: %s"
3236 msgid "Confirm to delete this user: %s"
3325 msgstr "确认删除用户"
3237 msgstr "确认删除用户: %s"
3326
3238
3327 #: rhodecode/templates/email_templates/main.html:8
3239 #: rhodecode/templates/email_templates/main.html:8
3328 msgid "This is an notification from RhodeCode."
3240 msgid "This is an notification from RhodeCode."
3329 msgstr ""
3241 msgstr "这是 RhodeCode 发送的一个通知。"
3330
3242
3331 #: rhodecode/templates/errors/error_document.html:46
3243 #: rhodecode/templates/errors/error_document.html:46
3332 #, python-format
3244 #, python-format
3333 msgid "You will be redirected to %s in %s seconds"
3245 msgid "You will be redirected to %s in %s seconds"
3334 msgstr ""
3246 msgstr "%1s 秒后你将重定向到 %2s"
3335
3247
3336 #: rhodecode/templates/files/file_diff.html:4
3248 #: rhodecode/templates/files/file_diff.html:4
3337 #, fuzzy, python-format
3249 #, python-format
3338 msgid "%s File diff"
3250 msgid "%s File diff"
3339 msgstr "文件 diff"
3251 msgstr "%s 文件差异"
3340
3252
3341 #: rhodecode/templates/files/file_diff.html:12
3253 #: rhodecode/templates/files/file_diff.html:12
3342 msgid "File diff"
3254 msgid "File diff"
3343 msgstr "文件 diff"
3255 msgstr "文件差异"
3344
3256
3345 #: rhodecode/templates/files/files.html:4
3257 #: rhodecode/templates/files/files.html:4
3346 #: rhodecode/templates/files/files.html:72
3258 #: rhodecode/templates/files/files.html:72
3347 #, fuzzy, python-format
3259 #, python-format
3348 msgid "%s files"
3260 msgid "%s files"
3349 msgstr "文件"
3261 msgstr "%s 文件"
3350
3262
3351 #: rhodecode/templates/files/files.html:12
3263 #: rhodecode/templates/files/files.html:12
3352 #: rhodecode/templates/summary/summary.html:340
3264 #: rhodecode/templates/summary/summary.html:340
@@ -3355,41 +3267,35 b' msgstr "\xe6\x96\x87\xe4\xbb\xb6"'
3355
3267
3356 #: rhodecode/templates/files/files_add.html:4
3268 #: rhodecode/templates/files/files_add.html:4
3357 #: rhodecode/templates/files/files_edit.html:4
3269 #: rhodecode/templates/files/files_edit.html:4
3358 #, fuzzy, python-format
3270 #, python-format
3359 msgid "%s Edit file"
3271 msgid "%s Edit file"
3360 msgstr "编辑文件"
3272 msgstr "%s 编辑文件"
3361
3273
3362 #: rhodecode/templates/files/files_add.html:19
3274 #: rhodecode/templates/files/files_add.html:19
3363 #, fuzzy
3364 msgid "add file"
3275 msgid "add file"
3365 msgstr "编辑文件"
3276 msgstr "新建文件"
3366
3277
3367 #: rhodecode/templates/files/files_add.html:40
3278 #: rhodecode/templates/files/files_add.html:40
3368 #, fuzzy
3369 msgid "Add new file"
3279 msgid "Add new file"
3370 msgstr "添加新用户"
3280 msgstr "新建文件"
3371
3281
3372 #: rhodecode/templates/files/files_add.html:45
3282 #: rhodecode/templates/files/files_add.html:45
3373 #, fuzzy
3374 msgid "File Name"
3283 msgid "File Name"
3375 msgstr "文件名"
3284 msgstr "文件名"
3376
3285
3377 #: rhodecode/templates/files/files_add.html:49
3286 #: rhodecode/templates/files/files_add.html:49
3378 #: rhodecode/templates/files/files_add.html:58
3287 #: rhodecode/templates/files/files_add.html:58
3379 #, fuzzy
3380 msgid "or"
3288 msgid "or"
3381 msgstr ""
3289 msgstr "或者"
3382
3290
3383 #: rhodecode/templates/files/files_add.html:49
3291 #: rhodecode/templates/files/files_add.html:49
3384 #: rhodecode/templates/files/files_add.html:54
3292 #: rhodecode/templates/files/files_add.html:54
3385 #, fuzzy
3386 msgid "Upload file"
3293 msgid "Upload file"
3387 msgstr "编辑文件"
3294 msgstr "上传文件"
3388
3295
3389 #: rhodecode/templates/files/files_add.html:58
3296 #: rhodecode/templates/files/files_add.html:58
3390 #, fuzzy
3391 msgid "Create new file"
3297 msgid "Create new file"
3392 msgstr "创建用户 %s"
3298 msgstr "创建新文件"
3393
3299
3394 #: rhodecode/templates/files/files_add.html:63
3300 #: rhodecode/templates/files/files_add.html:63
3395 #: rhodecode/templates/files/files_edit.html:39
3301 #: rhodecode/templates/files/files_edit.html:39
@@ -3399,7 +3305,7 b' msgstr "\xe4\xbd\x8d\xe7\xbd\xae"'
3399
3305
3400 #: rhodecode/templates/files/files_add.html:67
3306 #: rhodecode/templates/files/files_add.html:67
3401 msgid "use / to separate directories"
3307 msgid "use / to separate directories"
3402 msgstr ""
3308 msgstr "使用 / 目录分隔符"
3403
3309
3404 #: rhodecode/templates/files/files_add.html:77
3310 #: rhodecode/templates/files/files_add.html:77
3405 #: rhodecode/templates/files/files_edit.html:63
3311 #: rhodecode/templates/files/files_edit.html:63
@@ -3426,7 +3332,7 b' msgstr "\xe4\xb8\x8b\xe4\xb8\x80\xe4\xb8\xaa\xe4\xbf\xae\xe8\xae\xa2"'
3426
3332
3427 #: rhodecode/templates/files/files_browser.html:23
3333 #: rhodecode/templates/files/files_browser.html:23
3428 msgid "follow current branch"
3334 msgid "follow current branch"
3429 msgstr ""
3335 msgstr "沿着当前分支"
3430
3336
3431 #: rhodecode/templates/files/files_browser.html:27
3337 #: rhodecode/templates/files/files_browser.html:27
3432 msgid "search file list"
3338 msgid "search file list"
@@ -3434,9 +3340,8 b' msgstr "\xe6\x90\x9c\xe7\xb4\xa2\xe6\x96\x87\xe4\xbb\xb6\xe5\x88\x97\xe8\xa1\xa8"'
3434
3340
3435 #: rhodecode/templates/files/files_browser.html:31
3341 #: rhodecode/templates/files/files_browser.html:31
3436 #: rhodecode/templates/shortlog/shortlog_data.html:65
3342 #: rhodecode/templates/shortlog/shortlog_data.html:65
3437 #, fuzzy
3438 msgid "add new file"
3343 msgid "add new file"
3439 msgstr "添加新用户"
3344 msgstr "新建文件"
3440
3345
3441 #: rhodecode/templates/files/files_browser.html:35
3346 #: rhodecode/templates/files/files_browser.html:35
3442 msgid "Loading file list..."
3347 msgid "Loading file list..."
@@ -3448,20 +3353,19 b' msgstr "\xe5\xa4\xa7\xe5\xb0\x8f"'
3448
3353
3449 #: rhodecode/templates/files/files_browser.html:49
3354 #: rhodecode/templates/files/files_browser.html:49
3450 msgid "Mimetype"
3355 msgid "Mimetype"
3451 msgstr ""
3356 msgstr "MIME 类型"
3452
3357
3453 #: rhodecode/templates/files/files_browser.html:50
3358 #: rhodecode/templates/files/files_browser.html:50
3454 #, fuzzy
3455 msgid "Last Revision"
3359 msgid "Last Revision"
3456 msgstr "下一个修订"
3360 msgstr "最后修订号"
3457
3361
3458 #: rhodecode/templates/files/files_browser.html:51
3362 #: rhodecode/templates/files/files_browser.html:51
3459 msgid "Last modified"
3363 msgid "Last modified"
3460 msgstr "最后修改"
3364 msgstr "最后修改"
3461
3365
3462 #: rhodecode/templates/files/files_browser.html:52
3366 #: rhodecode/templates/files/files_browser.html:52
3463 msgid "Last commiter"
3367 msgid "Last commiter"
3464 msgstr "最后提交"
3368 msgstr "最后提交"
3465
3369
3466 #: rhodecode/templates/files/files_edit.html:19
3370 #: rhodecode/templates/files/files_edit.html:19
3467 msgid "edit file"
3371 msgid "edit file"
@@ -3484,12 +3388,10 b' msgid "download as raw"'
3484 msgstr "下载原始文件"
3388 msgstr "下载原始文件"
3485
3389
3486 #: rhodecode/templates/files/files_edit.html:54
3390 #: rhodecode/templates/files/files_edit.html:54
3487 #, fuzzy
3488 msgid "source"
3391 msgid "source"
3489 msgstr "显示代码"
3392 msgstr "显示源文件"
3490
3393
3491 #: rhodecode/templates/files/files_edit.html:59
3394 #: rhodecode/templates/files/files_edit.html:59
3492 #, fuzzy
3493 msgid "Editing file"
3395 msgid "Editing file"
3494 msgstr "编辑文件"
3396 msgstr "编辑文件"
3495
3397
@@ -3498,20 +3400,18 b' msgid "History"'
3498 msgstr "历史"
3400 msgstr "历史"
3499
3401
3500 #: rhodecode/templates/files/files_source.html:9
3402 #: rhodecode/templates/files/files_source.html:9
3501 #, fuzzy
3502 msgid "diff to revision"
3403 msgid "diff to revision"
3503 msgstr "下一个修订"
3404 msgstr "比较差异"
3504
3405
3505 #: rhodecode/templates/files/files_source.html:10
3406 #: rhodecode/templates/files/files_source.html:10
3506 #, fuzzy
3507 msgid "show at revision"
3407 msgid "show at revision"
3508 msgstr "下一个修订"
3408 msgstr "显示修订"
3509
3409
3510 #: rhodecode/templates/files/files_source.html:14
3410 #: rhodecode/templates/files/files_source.html:14
3511 #, fuzzy, python-format
3411 #, python-format
3512 msgid "%s author"
3412 msgid "%s author"
3513 msgid_plural "%s authors"
3413 msgid_plural "%s authors"
3514 msgstr[0] "作者"
3414 msgstr[0] "%s 个作者"
3515
3415
3516 #: rhodecode/templates/files/files_source.html:36
3416 #: rhodecode/templates/files/files_source.html:36
3517 msgid "show source"
3417 msgid "show source"
@@ -3528,39 +3428,37 b' msgstr "\xe6\x96\x87\xe4\xbb\xb6\xe8\xbf\x87\xe5\xa4\xa7\xef\xbc\x8c\xe4\xb8\x8d\xe8\x83\xbd\xe6\x98\xbe\xe7\xa4\xba"'
3528
3428
3529 #: rhodecode/templates/files/files_source.html:124
3429 #: rhodecode/templates/files/files_source.html:124
3530 msgid "Selection link"
3430 msgid "Selection link"
3531 msgstr ""
3431 msgstr "选择链接"
3532
3432
3533 #: rhodecode/templates/files/files_ypjax.html:5
3433 #: rhodecode/templates/files/files_ypjax.html:5
3534 #, fuzzy
3535 msgid "annotation"
3434 msgid "annotation"
3536 msgstr "显示注释"
3435 msgstr "显示注释"
3537
3436
3538 #: rhodecode/templates/files/files_ypjax.html:15
3437 #: rhodecode/templates/files/files_ypjax.html:15
3539 msgid "Go back"
3438 msgid "Go back"
3540 msgstr ""
3439 msgstr "返回"
3541
3440
3542 #: rhodecode/templates/files/files_ypjax.html:16
3441 #: rhodecode/templates/files/files_ypjax.html:16
3543 msgid "No files at given path"
3442 msgid "No files at given path"
3544 msgstr ""
3443 msgstr "指定的路径中没有文件"
3545
3444
3546 #: rhodecode/templates/followers/followers.html:5
3445 #: rhodecode/templates/followers/followers.html:5
3547 #, fuzzy, python-format
3446 #, python-format
3548 msgid "%s Followers"
3447 msgid "%s Followers"
3549 msgstr "跟随者"
3448 msgstr "%s 个关注者"
3550
3449
3551 #: rhodecode/templates/followers/followers.html:13
3450 #: rhodecode/templates/followers/followers.html:13
3552 msgid "followers"
3451 msgid "followers"
3553 msgstr "跟随者"
3452 msgstr "关注者"
3554
3453
3555 #: rhodecode/templates/followers/followers_data.html:12
3454 #: rhodecode/templates/followers/followers_data.html:12
3556 #, fuzzy
3557 msgid "Started following -"
3455 msgid "Started following -"
3558 msgstr "开始跟随"
3456 msgstr "开始关注 - "
3559
3457
3560 #: rhodecode/templates/forks/fork.html:5
3458 #: rhodecode/templates/forks/fork.html:5
3561 #, fuzzy, python-format
3459 #, python-format
3562 msgid "%s Fork"
3460 msgid "%s Fork"
3563 msgstr "分支"
3461 msgstr "%s 的分支"
3564
3462
3565 #: rhodecode/templates/forks/fork.html:31
3463 #: rhodecode/templates/forks/fork.html:31
3566 msgid "Fork name"
3464 msgid "Fork name"
@@ -3571,30 +3469,29 b' msgid "Private"'
3571 msgstr "私有"
3469 msgstr "私有"
3572
3470
3573 #: rhodecode/templates/forks/fork.html:77
3471 #: rhodecode/templates/forks/fork.html:77
3574 #, fuzzy
3575 msgid "Copy permissions"
3472 msgid "Copy permissions"
3576 msgstr "权限"
3473 msgstr "拷贝权限"
3577
3474
3578 #: rhodecode/templates/forks/fork.html:81
3475 #: rhodecode/templates/forks/fork.html:81
3579 msgid "Copy permissions from forked repository"
3476 msgid "Copy permissions from forked repository"
3580 msgstr ""
3477 msgstr "从被分支版本库拷贝权限"
3581
3478
3582 #: rhodecode/templates/forks/fork.html:86
3479 #: rhodecode/templates/forks/fork.html:86
3583 msgid "Update after clone"
3480 msgid "Update after clone"
3584 msgstr ""
3481 msgstr "克隆后更新"
3585
3482
3586 #: rhodecode/templates/forks/fork.html:90
3483 #: rhodecode/templates/forks/fork.html:90
3587 msgid "Checkout source after making a clone"
3484 msgid "Checkout source after making a clone"
3588 msgstr ""
3485 msgstr "完成克隆后检出源代码"
3589
3486
3590 #: rhodecode/templates/forks/fork.html:94
3487 #: rhodecode/templates/forks/fork.html:94
3591 msgid "fork this repository"
3488 msgid "fork this repository"
3592 msgstr "对该版本库建立分支"
3489 msgstr "对该版本库建立分支"
3593
3490
3594 #: rhodecode/templates/forks/forks.html:5
3491 #: rhodecode/templates/forks/forks.html:5
3595 #, fuzzy, python-format
3492 #, python-format
3596 msgid "%s Forks"
3493 msgid "%s Forks"
3597 msgstr "分支"
3494 msgstr "%s 的分支"
3598
3495
3599 #: rhodecode/templates/forks/forks.html:13
3496 #: rhodecode/templates/forks/forks.html:13
3600 msgid "forks"
3497 msgid "forks"
@@ -3606,47 +3503,42 b' msgstr "\xe5\xb7\xb2\xe6\x9c\x89\xe5\x88\x86\xe6\x94\xaf"'
3606
3503
3607 #: rhodecode/templates/forks/forks_data.html:38
3504 #: rhodecode/templates/forks/forks_data.html:38
3608 msgid "There are no forks yet"
3505 msgid "There are no forks yet"
3609 msgstr "尚未有任何分支"
3506 msgstr "分支"
3610
3507
3611 #: rhodecode/templates/journal/journal.html:13
3508 #: rhodecode/templates/journal/journal.html:13
3612 #, fuzzy
3613 msgid "ATOM journal feed"
3509 msgid "ATOM journal feed"
3614 msgstr "公共日志 %s %s 订阅"
3510 msgstr "订阅日志 ATOM"
3615
3511
3616 #: rhodecode/templates/journal/journal.html:14
3512 #: rhodecode/templates/journal/journal.html:14
3617 #, fuzzy
3618 msgid "RSS journal feed"
3513 msgid "RSS journal feed"
3619 msgstr "公共日志 %s %s 订阅"
3514 msgstr "订阅日志 RSS"
3620
3515
3621 #: rhodecode/templates/journal/journal.html:24
3516 #: rhodecode/templates/journal/journal.html:24
3622 #: rhodecode/templates/pullrequests/pullrequest.html:27
3517 #: rhodecode/templates/pullrequests/pullrequest.html:27
3623 msgid "Refresh"
3518 msgid "Refresh"
3624 msgstr ""
3519 msgstr "刷新"
3625
3520
3626 #: rhodecode/templates/journal/journal.html:27
3521 #: rhodecode/templates/journal/journal.html:27
3627 #: rhodecode/templates/journal/public_journal.html:24
3522 #: rhodecode/templates/journal/public_journal.html:24
3628 #, fuzzy
3629 msgid "RSS feed"
3523 msgid "RSS feed"
3630 msgstr "%s %s 订阅"
3524 msgstr "订阅 RSS"
3631
3525
3632 #: rhodecode/templates/journal/journal.html:30
3526 #: rhodecode/templates/journal/journal.html:30
3633 #: rhodecode/templates/journal/public_journal.html:27
3527 #: rhodecode/templates/journal/public_journal.html:27
3634 msgid "ATOM feed"
3528 msgid "ATOM feed"
3635 msgstr ""
3529 msgstr "订阅 ATOM"
3636
3530
3637 #: rhodecode/templates/journal/journal.html:41
3531 #: rhodecode/templates/journal/journal.html:41
3638 #, fuzzy
3639 msgid "Watched"
3532 msgid "Watched"
3640 msgstr "缓存"
3533 msgstr "关注的"
3641
3534
3642 #: rhodecode/templates/journal/journal.html:46
3535 #: rhodecode/templates/journal/journal.html:46
3643 #, fuzzy
3644 msgid "ADD"
3536 msgid "ADD"
3645 msgstr "新"
3537 msgstr "新建版本库"
3646
3538
3647 #: rhodecode/templates/journal/journal.html:114
3539 #: rhodecode/templates/journal/journal.html:114
3648 msgid "following user"
3540 msgid "following user"
3649 msgstr "跟随中用户"
3541 msgstr "关注用户"
3650
3542
3651 #: rhodecode/templates/journal/journal.html:114
3543 #: rhodecode/templates/journal/journal.html:114
3652 msgid "user"
3544 msgid "user"
@@ -3654,21 +3546,19 b' msgstr "\xe7\x94\xa8\xe6\x88\xb7"'
3654
3546
3655 #: rhodecode/templates/journal/journal.html:147
3547 #: rhodecode/templates/journal/journal.html:147
3656 msgid "You are not following any users or repositories"
3548 msgid "You are not following any users or repositories"
3657 msgstr "尚未跟随任何用户或版本库"
3549 msgstr "未关注任何用户或版本库"
3658
3550
3659 #: rhodecode/templates/journal/journal_data.html:47
3551 #: rhodecode/templates/journal/journal_data.html:47
3660 msgid "No entries yet"
3552 msgid "No entries yet"
3661 msgstr ""
3553 msgstr "没有条目"
3662
3554
3663 #: rhodecode/templates/journal/public_journal.html:13
3555 #: rhodecode/templates/journal/public_journal.html:13
3664 #, fuzzy
3665 msgid "ATOM public journal feed"
3556 msgid "ATOM public journal feed"
3666 msgstr "公共日志 %s %s 订阅"
3557 msgstr "订阅公共日志 ATOM"
3667
3558
3668 #: rhodecode/templates/journal/public_journal.html:14
3559 #: rhodecode/templates/journal/public_journal.html:14
3669 #, fuzzy
3670 msgid "RSS public journal feed"
3560 msgid "RSS public journal feed"
3671 msgstr "公共日志 %s %s 订阅"
3561 msgstr "订阅公共日志 RSS"
3672
3562
3673 #: rhodecode/templates/journal/public_journal.html:21
3563 #: rhodecode/templates/journal/public_journal.html:21
3674 msgid "Public Journal"
3564 msgid "Public Journal"
@@ -3677,127 +3567,117 b' msgstr "\xe5\x85\xac\xe5\x85\xb1\xe6\x97\xa5\xe5\xbf\x97"'
3677 #: rhodecode/templates/pullrequests/pullrequest.html:4
3567 #: rhodecode/templates/pullrequests/pullrequest.html:4
3678 #: rhodecode/templates/pullrequests/pullrequest.html:12
3568 #: rhodecode/templates/pullrequests/pullrequest.html:12
3679 msgid "New pull request"
3569 msgid "New pull request"
3680 msgstr ""
3570 msgstr "新建拉取请求"
3681
3571
3682 #: rhodecode/templates/pullrequests/pullrequest.html:28
3572 #: rhodecode/templates/pullrequests/pullrequest.html:28
3683 msgid "refresh overview"
3573 msgid "refresh overview"
3684 msgstr ""
3574 msgstr "刷新概览"
3685
3575
3686 #: rhodecode/templates/pullrequests/pullrequest.html:66
3576 #: rhodecode/templates/pullrequests/pullrequest.html:66
3687 #, fuzzy
3688 msgid "Detailed compare view"
3577 msgid "Detailed compare view"
3689 msgstr "比较显示"
3578 msgstr "详细比较显示"
3690
3579
3691 #: rhodecode/templates/pullrequests/pullrequest.html:70
3580 #: rhodecode/templates/pullrequests/pullrequest.html:70
3692 #: rhodecode/templates/pullrequests/pullrequest_show.html:82
3581 #: rhodecode/templates/pullrequests/pullrequest_show.html:82
3693 msgid "Pull request reviewers"
3582 msgid "Pull request reviewers"
3694 msgstr ""
3583 msgstr "拉取请求检视人员"
3695
3584
3696 #: rhodecode/templates/pullrequests/pullrequest.html:79
3585 #: rhodecode/templates/pullrequests/pullrequest.html:79
3697 #: rhodecode/templates/pullrequests/pullrequest_show.html:94
3586 #: rhodecode/templates/pullrequests/pullrequest_show.html:94
3698 #, fuzzy
3699 msgid "owner"
3587 msgid "owner"
3700 msgstr "所有者"
3588 msgstr "所有者"
3701
3589
3702 #: rhodecode/templates/pullrequests/pullrequest.html:91
3590 #: rhodecode/templates/pullrequests/pullrequest.html:91
3703 #: rhodecode/templates/pullrequests/pullrequest_show.html:109
3591 #: rhodecode/templates/pullrequests/pullrequest_show.html:109
3704 msgid "Add reviewer to this pull request."
3592 msgid "Add reviewer to this pull request."
3705 msgstr ""
3593 msgstr "为这个拉取请求增加检视人员"
3706
3594
3707 #: rhodecode/templates/pullrequests/pullrequest.html:97
3595 #: rhodecode/templates/pullrequests/pullrequest.html:97
3708 #, fuzzy
3709 msgid "Create new pull request"
3596 msgid "Create new pull request"
3710 msgstr "创建用户 %s"
3597 msgstr "创建新的拉取请求"
3711
3598
3712 #: rhodecode/templates/pullrequests/pullrequest.html:106
3599 #: rhodecode/templates/pullrequests/pullrequest.html:106
3713 #: rhodecode/templates/pullrequests/pullrequest_show.html:25
3600 #: rhodecode/templates/pullrequests/pullrequest_show.html:25
3714 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:33
3601 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:33
3715 #, fuzzy
3716 msgid "Title"
3602 msgid "Title"
3717 msgstr ""
3603 msgstr "标题"
3718
3604
3719 #: rhodecode/templates/pullrequests/pullrequest.html:115
3605 #: rhodecode/templates/pullrequests/pullrequest.html:115
3720 #, fuzzy
3721 msgid "description"
3606 msgid "description"
3722 msgstr "描述"
3607 msgstr "描述"
3723
3608
3724 #: rhodecode/templates/pullrequests/pullrequest.html:123
3609 #: rhodecode/templates/pullrequests/pullrequest.html:123
3725 msgid "Send pull request"
3610 msgid "Send pull request"
3726 msgstr ""
3611 msgstr "发送拉取请求"
3727
3612
3728 #: rhodecode/templates/pullrequests/pullrequest_show.html:23
3613 #: rhodecode/templates/pullrequests/pullrequest_show.html:23
3729 #, python-format
3614 #, python-format
3730 msgid "Closed %s"
3615 msgid "Closed %s"
3731 msgstr ""
3616 msgstr "关闭于 %s"
3732
3617
3733 #: rhodecode/templates/pullrequests/pullrequest_show.html:31
3618 #: rhodecode/templates/pullrequests/pullrequest_show.html:31
3734 #, fuzzy
3735 msgid "Status"
3619 msgid "Status"
3736 msgstr "变更集"
3620 msgstr "状态"
3737
3621
3738 #: rhodecode/templates/pullrequests/pullrequest_show.html:36
3622 #: rhodecode/templates/pullrequests/pullrequest_show.html:36
3739 msgid "Pull request status"
3623 msgid "Pull request status"
3740 msgstr ""
3624 msgstr "拉取请求状态"
3741
3625
3742 #: rhodecode/templates/pullrequests/pullrequest_show.html:44
3626 #: rhodecode/templates/pullrequests/pullrequest_show.html:44
3743 msgid "Still not reviewed by"
3627 msgid "Still not reviewed by"
3744 msgstr ""
3628 msgstr "还未检视的检视人员"
3745
3629
3746 #: rhodecode/templates/pullrequests/pullrequest_show.html:47
3630 #: rhodecode/templates/pullrequests/pullrequest_show.html:47
3747 #, python-format
3631 #, python-format
3748 msgid "%d reviewer"
3632 msgid "%d reviewer"
3749 msgid_plural "%d reviewers"
3633 msgid_plural "%d reviewers"
3750 msgstr[0] ""
3634 msgstr[0] "%d 个检视者"
3751
3635
3752 #: rhodecode/templates/pullrequests/pullrequest_show.html:54
3636 #: rhodecode/templates/pullrequests/pullrequest_show.html:54
3753 #, fuzzy
3754 msgid "Created on"
3637 msgid "Created on"
3755 msgstr "创建用户 %s"
3638 msgstr "创建 %s"
3756
3639
3757 #: rhodecode/templates/pullrequests/pullrequest_show.html:61
3640 #: rhodecode/templates/pullrequests/pullrequest_show.html:61
3758 #, fuzzy
3759 msgid "Compare view"
3641 msgid "Compare view"
3760 msgstr "比较显示"
3642 msgstr "比较显示"
3761
3643
3762 #: rhodecode/templates/pullrequests/pullrequest_show.html:65
3644 #: rhodecode/templates/pullrequests/pullrequest_show.html:65
3763 #, fuzzy
3764 msgid "Incoming changesets"
3645 msgid "Incoming changesets"
3765 msgstr "尚无修订"
3646 msgstr "传入修订集"
3766
3647
3767 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:4
3648 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:4
3768 #, fuzzy
3769 msgid "all pull requests"
3649 msgid "all pull requests"
3770 msgstr "创建用户 %s"
3650 msgstr "所有拉取请求"
3771
3651
3772 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:12
3652 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:12
3773 msgid "All pull requests"
3653 msgid "All pull requests"
3774 msgstr ""
3654 msgstr "所有拉取请求"
3775
3655
3776 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:27
3656 #: rhodecode/templates/pullrequests/pullrequest_show_all.html:27
3777 msgid "Closed"
3657 msgid "Closed"
3778 msgstr ""
3658 msgstr "已关闭"
3779
3659
3660 # 中文中 repo name 在前面 serch term在后面
3780 #: rhodecode/templates/search/search.html:6
3661 #: rhodecode/templates/search/search.html:6
3781 #, fuzzy, python-format
3662 #, python-format
3782 msgid "Search \"%s\" in repository: %s"
3663 msgid "Search \"%s\" in repository: %s"
3783 msgstr "在版本库"
3664 msgstr "在版本库 %2s 中搜索 \"%1s\""
3784
3665
3785 #: rhodecode/templates/search/search.html:8
3666 #: rhodecode/templates/search/search.html:8
3786 #, fuzzy, python-format
3667 #, python-format
3787 msgid "Search \"%s\" in all repositories"
3668 msgid "Search \"%s\" in all repositories"
3788 msgstr "在所有的版本库"
3669 msgstr "在所有的版本库中搜索 \"%s\""
3789
3670
3790 #: rhodecode/templates/search/search.html:12
3671 #: rhodecode/templates/search/search.html:12
3791 #: rhodecode/templates/search/search.html:32
3672 #: rhodecode/templates/search/search.html:32
3792 #, fuzzy, python-format
3673 #, python-format
3793 msgid "Search in repository: %s"
3674 msgid "Search in repository: %s"
3794 msgstr "在版本库"
3675 msgstr "在版本库 %s 中搜索"
3795
3676
3796 #: rhodecode/templates/search/search.html:14
3677 #: rhodecode/templates/search/search.html:14
3797 #: rhodecode/templates/search/search.html:34
3678 #: rhodecode/templates/search/search.html:34
3798 #, fuzzy
3799 msgid "Search in all repositories"
3679 msgid "Search in all repositories"
3800 msgstr "在所有的版本库"
3680 msgstr "在所有的版本库中搜索"
3801
3681
3802 #: rhodecode/templates/search/search.html:48
3682 #: rhodecode/templates/search/search.html:48
3803 msgid "Search term"
3683 msgid "Search term"
@@ -3812,7 +3692,6 b' msgid "File contents"'
3812 msgstr "文件内容"
3692 msgstr "文件内容"
3813
3693
3814 #: rhodecode/templates/search/search.html:64
3694 #: rhodecode/templates/search/search.html:64
3815 #, fuzzy
3816 msgid "Commit messages"
3695 msgid "Commit messages"
3817 msgstr "提交信息"
3696 msgstr "提交信息"
3818
3697
@@ -3827,14 +3706,14 b' msgid "Permission denied"'
3827 msgstr "权限不足"
3706 msgstr "权限不足"
3828
3707
3829 #: rhodecode/templates/settings/repo_settings.html:5
3708 #: rhodecode/templates/settings/repo_settings.html:5
3830 #, fuzzy, python-format
3709 #, python-format
3831 msgid "%s Settings"
3710 msgid "%s Settings"
3832 msgstr "设置"
3711 msgstr "%s 设置"
3833
3712
3834 #: rhodecode/templates/shortlog/shortlog.html:5
3713 #: rhodecode/templates/shortlog/shortlog.html:5
3835 #, fuzzy, python-format
3714 #, python-format
3836 msgid "%s Shortlog"
3715 msgid "%s Shortlog"
3837 msgstr "简短日志"
3716 msgstr "%s 简短日志"
3838
3717
3839 #: rhodecode/templates/shortlog/shortlog.html:14
3718 #: rhodecode/templates/shortlog/shortlog.html:14
3840 msgid "shortlog"
3719 msgid "shortlog"
@@ -3842,55 +3721,52 b' msgstr "\xe7\xae\x80\xe7\x9f\xad\xe6\x97\xa5\xe5\xbf\x97"'
3842
3721
3843 #: rhodecode/templates/shortlog/shortlog_data.html:7
3722 #: rhodecode/templates/shortlog/shortlog_data.html:7
3844 msgid "age"
3723 msgid "age"
3845 msgstr ""
3724 msgstr "时间"
3846
3725
3847 #: rhodecode/templates/shortlog/shortlog_data.html:18
3726 #: rhodecode/templates/shortlog/shortlog_data.html:18
3848 #, fuzzy
3849 msgid "No commit message"
3727 msgid "No commit message"
3850 msgstr "提交信息"
3728 msgstr "没有提交信息"
3851
3729
3852 #: rhodecode/templates/shortlog/shortlog_data.html:62
3730 #: rhodecode/templates/shortlog/shortlog_data.html:62
3853 msgid "Add or upload files directly via RhodeCode"
3731 msgid "Add or upload files directly via RhodeCode"
3854 msgstr ""
3732 msgstr "通过 RhodeCode 直接添加或者上传文件"
3855
3733
3856 #: rhodecode/templates/shortlog/shortlog_data.html:71
3734 #: rhodecode/templates/shortlog/shortlog_data.html:71
3857 msgid "Push new repo"
3735 msgid "Push new repo"
3858 msgstr ""
3736 msgstr "Push 新版本库"
3859
3737
3860 #: rhodecode/templates/shortlog/shortlog_data.html:79
3738 #: rhodecode/templates/shortlog/shortlog_data.html:79
3861 #, fuzzy
3862 msgid "Existing repository?"
3739 msgid "Existing repository?"
3863 msgstr "Git 版本库"
3740 msgstr "现有版本库?"
3864
3741
3865 #: rhodecode/templates/summary/summary.html:4
3742 #: rhodecode/templates/summary/summary.html:4
3866 #, fuzzy, python-format
3743 #, python-format
3867 msgid "%s Summary"
3744 msgid "%s Summary"
3868 msgstr "概要"
3745 msgstr "%s 概要"
3869
3746
3870 #: rhodecode/templates/summary/summary.html:12
3747 #: rhodecode/templates/summary/summary.html:12
3871 msgid "summary"
3748 msgid "summary"
3872 msgstr "概要"
3749 msgstr "概要"
3873
3750
3874 #: rhodecode/templates/summary/summary.html:20
3751 #: rhodecode/templates/summary/summary.html:20
3875 #, fuzzy, python-format
3752 #, python-format
3876 msgid "repo %s ATOM feed"
3753 msgid "repo %s ATOM feed"
3877 msgstr "订阅 atom %s"
3754 msgstr "订阅 ATOM %s"
3878
3755
3879 #: rhodecode/templates/summary/summary.html:21
3756 #: rhodecode/templates/summary/summary.html:21
3880 #, fuzzy, python-format
3757 #, python-format
3881 msgid "repo %s RSS feed"
3758 msgid "repo %s RSS feed"
3882 msgstr "订阅 rss %s"
3759 msgstr "订阅 RSS %s"
3883
3760
3884 #: rhodecode/templates/summary/summary.html:49
3761 #: rhodecode/templates/summary/summary.html:49
3885 #: rhodecode/templates/summary/summary.html:52
3762 #: rhodecode/templates/summary/summary.html:52
3886 #, fuzzy
3887 msgid "ATOM"
3763 msgid "ATOM"
3888 msgstr "作者"
3764 msgstr "ATOM"
3889
3765
3890 #: rhodecode/templates/summary/summary.html:82
3766 #: rhodecode/templates/summary/summary.html:82
3891 #, fuzzy, python-format
3767 #, python-format
3892 msgid "Non changable ID %s"
3768 msgid "Non changable ID %s"
3893 msgstr "无变更"
3769 msgstr "不可变 ID %s"
3894
3770
3895 #: rhodecode/templates/summary/summary.html:87
3771 #: rhodecode/templates/summary/summary.html:87
3896 msgid "public"
3772 msgid "public"
@@ -3898,7 +3774,7 b' msgstr "\xe5\x85\xac\xe5\x85\xb1"'
3898
3774
3899 #: rhodecode/templates/summary/summary.html:95
3775 #: rhodecode/templates/summary/summary.html:95
3900 msgid "remote clone"
3776 msgid "remote clone"
3901 msgstr "远程 clone"
3777 msgstr "远程克隆"
3902
3778
3903 #: rhodecode/templates/summary/summary.html:116
3779 #: rhodecode/templates/summary/summary.html:116
3904 msgid "Contact"
3780 msgid "Contact"
@@ -3906,20 +3782,19 b' msgstr "\xe8\x81\x94\xe7\xb3\xbb\xe6\x96\xb9\xe5\xbc\x8f"'
3906
3782
3907 #: rhodecode/templates/summary/summary.html:130
3783 #: rhodecode/templates/summary/summary.html:130
3908 msgid "Clone url"
3784 msgid "Clone url"
3909 msgstr "clone 地址"
3785 msgstr "克隆地址"
3910
3786
3911 #: rhodecode/templates/summary/summary.html:133
3787 #: rhodecode/templates/summary/summary.html:133
3912 msgid "Show by Name"
3788 msgid "Show by Name"
3913 msgstr ""
3789 msgstr "以名字显示"
3914
3790
3915 #: rhodecode/templates/summary/summary.html:134
3791 #: rhodecode/templates/summary/summary.html:134
3916 msgid "Show by ID"
3792 msgid "Show by ID"
3917 msgstr ""
3793 msgstr "以 ID 显示"
3918
3794
3919 #: rhodecode/templates/summary/summary.html:142
3795 #: rhodecode/templates/summary/summary.html:142
3920 #, fuzzy
3921 msgid "Trending files"
3796 msgid "Trending files"
3922 msgstr "编辑文件"
3797 msgstr "文件趋势图"
3923
3798
3924 #: rhodecode/templates/summary/summary.html:150
3799 #: rhodecode/templates/summary/summary.html:150
3925 #: rhodecode/templates/summary/summary.html:166
3800 #: rhodecode/templates/summary/summary.html:166
@@ -3933,50 +3808,48 b' msgstr "\xe4\xb8\x8b\xe8\xbd\xbd"'
3933
3808
3934 #: rhodecode/templates/summary/summary.html:162
3809 #: rhodecode/templates/summary/summary.html:162
3935 msgid "There are no downloads yet"
3810 msgid "There are no downloads yet"
3936 msgstr "任何下载"
3811 msgstr "无下载"
3937
3812
3938 #: rhodecode/templates/summary/summary.html:164
3813 #: rhodecode/templates/summary/summary.html:164
3939 msgid "Downloads are disabled for this repository"
3814 msgid "Downloads are disabled for this repository"
3940 msgstr "这个版本库的下载已经禁用"
3815 msgstr "这个版本库的下载已经禁用"
3941
3816
3942 #: rhodecode/templates/summary/summary.html:170
3817 #: rhodecode/templates/summary/summary.html:170
3943 #, fuzzy
3944 msgid "Download as zip"
3818 msgid "Download as zip"
3945 msgstr "下载原始文件"
3819 msgstr "下载 zip 包"
3946
3820
3947 #: rhodecode/templates/summary/summary.html:173
3821 #: rhodecode/templates/summary/summary.html:173
3948 msgid "Check this to download archive with subrepos"
3822 msgid "Check this to download archive with subrepos"
3949 msgstr ""
3823 msgstr "勾选以下载包含子版本库的压缩包"
3950
3824
3951 #: rhodecode/templates/summary/summary.html:173
3825 #: rhodecode/templates/summary/summary.html:173
3952 msgid "with subrepos"
3826 msgid "with subrepos"
3953 msgstr ""
3827 msgstr "包括子版本库"
3954
3828
3955 #: rhodecode/templates/summary/summary.html:186
3829 #: rhodecode/templates/summary/summary.html:186
3956 msgid "Commit activity by day / author"
3830 msgid "Commit activity by day / author"
3957 msgstr ""
3831 msgstr "按日期或作者的提交活动"
3958
3832
3959 #: rhodecode/templates/summary/summary.html:197
3833 #: rhodecode/templates/summary/summary.html:197
3960 msgid "Stats gathered: "
3834 msgid "Stats gathered: "
3961 msgstr ""
3835 msgstr "已收集的统计: "
3962
3836
3963 #: rhodecode/templates/summary/summary.html:218
3837 #: rhodecode/templates/summary/summary.html:218
3964 msgid "Shortlog"
3838 msgid "Shortlog"
3965 msgstr "简短日志"
3839 msgstr "简短日志"
3966
3840
3967 #: rhodecode/templates/summary/summary.html:220
3841 #: rhodecode/templates/summary/summary.html:220
3968 #, fuzzy
3969 msgid "Quick start"
3842 msgid "Quick start"
3970 msgstr "快速过滤..."
3843 msgstr "快速入门"
3971
3844
3972 #: rhodecode/templates/summary/summary.html:233
3845 #: rhodecode/templates/summary/summary.html:233
3973 #, python-format
3846 #, python-format
3974 msgid "Readme file at revision '%s'"
3847 msgid "Readme file at revision '%s'"
3975 msgstr ""
3848 msgstr "修订 '%s' 中的README"
3976
3849
3977 #: rhodecode/templates/summary/summary.html:236
3850 #: rhodecode/templates/summary/summary.html:236
3978 msgid "Permalink to this readme"
3851 msgid "Permalink to this readme"
3979 msgstr ""
3852 msgstr "这个 README 的固定链接"
3980
3853
3981 #: rhodecode/templates/summary/summary.html:293
3854 #: rhodecode/templates/summary/summary.html:293
3982 #, python-format
3855 #, python-format
@@ -4016,7 +3889,6 b' msgid "file removed"'
4016 msgstr "文件已删除"
3889 msgstr "文件已删除"
4017
3890
4018 #: rhodecode/templates/tags/tags.html:5
3891 #: rhodecode/templates/tags/tags.html:5
4019 #, fuzzy, python-format
3892 #, python-format
4020 msgid "%s Tags"
3893 msgid "%s Tags"
4021 msgstr "之前"
3894 msgstr "%s 标签"
4022
@@ -44,6 +44,7 b' from rhodecode.lib.vcs.nodes import File'
44 from rhodecode.lib.vcs.backends.base import EmptyChangeset
44 from rhodecode.lib.vcs.backends.base import EmptyChangeset
45 from rhodecode.lib.helpers import escape
45 from rhodecode.lib.helpers import escape
46 from rhodecode.lib.utils import make_ui
46 from rhodecode.lib.utils import make_ui
47 from rhodecode.lib.utils2 import safe_unicode
47
48
48
49
49 def wrap_to_table(str_):
50 def wrap_to_table(str_):
@@ -214,7 +215,7 b' class DiffProcessor(object):'
214 self.adds += 1
215 self.adds += 1
215 elif l.startswith('-') and not l.startswith('---'):
216 elif l.startswith('-') and not l.startswith('---'):
216 self.removes += 1
217 self.removes += 1
217 return l.decode('utf8', 'replace')
218 return safe_unicode(l)
218
219
219 output = list(diffiterator)
220 output = list(diffiterator)
220 size = len(output)
221 size = len(output)
@@ -10,6 +10,7 b' import urllib'
10 import math
10 import math
11 import logging
11 import logging
12 import re
12 import re
13 import urlparse
13
14
14 from datetime import datetime
15 from datetime import datetime
15 from pygments.formatters.html import HtmlFormatter
16 from pygments.formatters.html import HtmlFormatter
@@ -711,11 +712,15 b' HasRepoPermissionAny, HasRepoPermissionA'
711 #==============================================================================
712 #==============================================================================
712
713
713 def gravatar_url(email_address, size=30):
714 def gravatar_url(email_address, size=30):
715 from pylons import url ## doh, we need to re-import url to mock it later
714 if(str2bool(config['app_conf'].get('use_gravatar')) and
716 if(str2bool(config['app_conf'].get('use_gravatar')) and
715 config['app_conf'].get('alternative_gravatar_url')):
717 config['app_conf'].get('alternative_gravatar_url')):
716 tmpl = config['app_conf'].get('alternative_gravatar_url', '')
718 tmpl = config['app_conf'].get('alternative_gravatar_url', '')
719 parsed_url = urlparse.urlparse(url.current(qualified=True))
717 tmpl = tmpl.replace('{email}', email_address)\
720 tmpl = tmpl.replace('{email}', email_address)\
718 .replace('{md5email}', hashlib.md5(email_address.lower()).hexdigest())\
721 .replace('{md5email}', hashlib.md5(email_address.lower()).hexdigest()) \
722 .replace('{netloc}', parsed_url.netloc)\
723 .replace('{scheme}', parsed_url.scheme)\
719 .replace('{size}', str(size))
724 .replace('{size}', str(size))
720 return tmpl
725 return tmpl
721
726
@@ -77,6 +77,8 b' class WhooshIndexingDaemon(object):'
77
77
78 #filter repo list
78 #filter repo list
79 if repo_list:
79 if repo_list:
80 #Fix non-ascii repo names to unicode
81 repo_list = map(safe_unicode, repo_list)
80 self.filtered_repo_paths = {}
82 self.filtered_repo_paths = {}
81 for repo_name, repo in self.repo_paths.items():
83 for repo_name, repo in self.repo_paths.items():
82 if repo_name in repo_list:
84 if repo_name in repo_list:
@@ -238,6 +240,7 b' class WhooshIndexingDaemon(object):'
238 writer_is_dirty = False
240 writer_is_dirty = False
239 try:
241 try:
240 indexed_total = 0
242 indexed_total = 0
243 repo_name = None
241 for repo_name, repo in self.repo_paths.items():
244 for repo_name, repo in self.repo_paths.items():
242 # skip indexing if there aren't any revs in the repo
245 # skip indexing if there aren't any revs in the repo
243 num_of_revs = len(repo)
246 num_of_revs = len(repo)
@@ -279,10 +282,10 b' class WhooshIndexingDaemon(object):'
279 if writer_is_dirty:
282 if writer_is_dirty:
280 log.debug('>> COMMITING CHANGES TO CHANGESET INDEX<<')
283 log.debug('>> COMMITING CHANGES TO CHANGESET INDEX<<')
281 writer.commit(merge=True)
284 writer.commit(merge=True)
282 log.debug('>> COMMITTED CHANGES TO CHANGESET INDEX<<')
285 log.debug('>>> FINISHED REBUILDING CHANGESET INDEX <<<')
283 else:
286 else:
284 writer.cancel
287 writer.cancel
285 log.debug('>> NOTHING TO COMMIT<<')
288 log.debug('>> NOTHING TO COMMIT TO CHANGESET INDEX<<')
286
289
287 def update_file_index(self):
290 def update_file_index(self):
288 log.debug((u'STARTING INCREMENTAL INDEXING UPDATE FOR EXTENSIONS %s '
291 log.debug((u'STARTING INCREMENTAL INDEXING UPDATE FOR EXTENSIONS %s '
@@ -364,11 +367,11 b' class WhooshIndexingDaemon(object):'
364 )
367 )
365 finally:
368 finally:
366 if writer_is_dirty:
369 if writer_is_dirty:
367 log.debug('>> COMMITING CHANGES <<')
370 log.debug('>> COMMITING CHANGES TO FILE INDEX <<')
368 writer.commit(merge=True)
371 writer.commit(merge=True)
369 log.debug('>>> FINISHED REBUILDING INDEX <<<')
372 log.debug('>>> FINISHED REBUILDING FILE INDEX <<<')
370 else:
373 else:
371 log.debug('>> NOTHING TO COMMIT<<')
374 log.debug('>> NOTHING TO COMMIT TO FILE INDEX <<')
372 writer.cancel()
375 writer.cancel()
373
376
374 def build_indexes(self):
377 def build_indexes(self):
@@ -147,6 +147,23 b' def generate_api_key(username, salt=None'
147 return hashlib.sha1(username + salt).hexdigest()
147 return hashlib.sha1(username + salt).hexdigest()
148
148
149
149
150 def safe_int(val, default=None):
151 """
152 Returns int() of val if val is not convertable to int use default
153 instead
154
155 :param val:
156 :param default:
157 """
158
159 try:
160 val = int(val)
161 except ValueError:
162 val = default
163
164 return val
165
166
150 def safe_unicode(str_, from_encoding=None):
167 def safe_unicode(str_, from_encoding=None):
151 """
168 """
152 safe unicode function. Does few trick to turn str_ into unicode
169 safe unicode function. Does few trick to turn str_ into unicode
@@ -13,6 +13,7 b' from mercurial.match import match'
13
13
14 from rhodecode.lib.vcs.exceptions import VCSError
14 from rhodecode.lib.vcs.exceptions import VCSError
15 from rhodecode.lib.vcs.nodes import FileNode, NodeError
15 from rhodecode.lib.vcs.nodes import FileNode, NodeError
16 from rhodecode.lib.vcs.utils import safe_unicode
16
17
17
18
18 def get_udiff(filenode_old, filenode_new, show_whitespace=True):
19 def get_udiff(filenode_old, filenode_new, show_whitespace=True):
@@ -149,7 +150,7 b' class DiffProcessor(object):'
149 self.adds += 1
150 self.adds += 1
150 elif l.startswith('-') and not l.startswith('---'):
151 elif l.startswith('-') and not l.startswith('---'):
151 self.removes += 1
152 self.removes += 1
152 return l.decode('utf8', 'replace')
153 return safe_unicode(l)
153
154
154 output = list(diffiterator)
155 output = list(diffiterator)
155 size = len(output)
156 size = len(output)
@@ -1027,14 +1027,20 b' class RepoGroup(Base, BaseModel):'
1027 self.group_name)
1027 self.group_name)
1028
1028
1029 @classmethod
1029 @classmethod
1030 def groups_choices(cls):
1030 def groups_choices(cls, check_perms=False):
1031 from webhelpers.html import literal as _literal
1031 from webhelpers.html import literal as _literal
1032 from rhodecode.model.scm import ScmModel
1033 groups = cls.query().all()
1034 if check_perms:
1035 #filter group user have access to, it's done
1036 #magically inside ScmModel based on current user
1037 groups = ScmModel().get_repos_groups(groups)
1032 repo_groups = [('', '')]
1038 repo_groups = [('', '')]
1033 sep = ' &raquo; '
1039 sep = ' &raquo; '
1034 _name = lambda k: _literal(sep.join(k))
1040 _name = lambda k: _literal(sep.join(k))
1035
1041
1036 repo_groups.extend([(x.group_id, _name(x.full_path_splitted))
1042 repo_groups.extend([(x.group_id, _name(x.full_path_splitted))
1037 for x in cls.query().all()])
1043 for x in groups])
1038
1044
1039 repo_groups = sorted(repo_groups, key=lambda t: t[1].split(sep)[0])
1045 repo_groups = sorted(repo_groups, key=lambda t: t[1].split(sep)[0])
1040 return repo_groups
1046 return repo_groups
@@ -177,7 +177,8 b' def RepoForm(edit=False, old_data={}, su'
177 repo_name = All(v.UnicodeString(strip=True, min=1, not_empty=True),
177 repo_name = All(v.UnicodeString(strip=True, min=1, not_empty=True),
178 v.SlugifyName())
178 v.SlugifyName())
179 clone_uri = All(v.UnicodeString(strip=True, min=1, not_empty=False))
179 clone_uri = All(v.UnicodeString(strip=True, min=1, not_empty=False))
180 repo_group = v.OneOf(repo_groups, hideList=True)
180 repo_group = All(v.CanWriteGroup(),
181 v.OneOf(repo_groups, hideList=True))
181 repo_type = v.OneOf(supported_backends)
182 repo_type = v.OneOf(supported_backends)
182 description = v.UnicodeString(strip=True, min=1, not_empty=False)
183 description = v.UnicodeString(strip=True, min=1, not_empty=False)
183 private = v.StringBoolean(if_missing=False)
184 private = v.StringBoolean(if_missing=False)
@@ -203,7 +204,8 b' def RepoForkForm(edit=False, old_data={}'
203 filter_extra_fields = False
204 filter_extra_fields = False
204 repo_name = All(v.UnicodeString(strip=True, min=1, not_empty=True),
205 repo_name = All(v.UnicodeString(strip=True, min=1, not_empty=True),
205 v.SlugifyName())
206 v.SlugifyName())
206 repo_group = v.OneOf(repo_groups, hideList=True)
207 repo_group = All(v.CanWriteGroup(),
208 v.OneOf(repo_groups, hideList=True))
207 repo_type = All(v.ValidForkType(old_data), v.OneOf(supported_backends))
209 repo_type = All(v.ValidForkType(old_data), v.OneOf(supported_backends))
208 description = v.UnicodeString(strip=True, min=1, not_empty=True)
210 description = v.UnicodeString(strip=True, min=1, not_empty=True)
209 private = v.StringBoolean(if_missing=False)
211 private = v.StringBoolean(if_missing=False)
@@ -19,6 +19,7 b' from rhodecode.model.db import RepoGroup'
19 ChangesetStatus
19 ChangesetStatus
20 from rhodecode.lib.exceptions import LdapImportError
20 from rhodecode.lib.exceptions import LdapImportError
21 from rhodecode.config.routing import ADMIN_PREFIX
21 from rhodecode.config.routing import ADMIN_PREFIX
22 from rhodecode.lib.auth import HasReposGroupPermissionAny
22
23
23 # silence warnings and pylint
24 # silence warnings and pylint
24 UnicodeString, OneOf, Int, Number, Regex, Email, Bool, StringBoolean, Set, \
25 UnicodeString, OneOf, Int, Number, Regex, Email, Bool, StringBoolean, Set, \
@@ -466,6 +467,25 b' def ValidForkType(old_data={}):'
466 return _validator
467 return _validator
467
468
468
469
470 def CanWriteGroup():
471 class _validator(formencode.validators.FancyValidator):
472 messages = {
473 'permission_denied': _(u"You don't have permissions "
474 "to create repository in this group")
475 }
476
477 def validate_python(self, value, state):
478 gr = RepoGroup.get(value)
479 if not HasReposGroupPermissionAny(
480 'group.write', 'group.admin'
481 )(gr.group_name, 'get group of repo form'):
482 msg = M(self, 'permission_denied', state)
483 raise formencode.Invalid(msg, value, state,
484 error_dict=dict(repo_type=msg)
485 )
486 return _validator
487
488
469 def ValidPerms(type_='repo'):
489 def ValidPerms(type_='repo'):
470 if type_ == 'group':
490 if type_ == 'group':
471 EMPTY_PERM = 'group.none'
491 EMPTY_PERM = 'group.none'
@@ -658,6 +658,24 b' div:hover > a.permalink {'
658 padding: 12px 9px 7px 24px;
658 padding: 12px 9px 7px 24px;
659 }
659 }
660
660
661 #header #header-inner #quick li ul li a.locking_add,#header #header-inner #quick li ul li a.locking_add:hover
662 {
663 background: #FFF url("../images/icons/lock_add.png") no-repeat 4px
664 9px;
665 width: 167px;
666 margin: 0;
667 padding: 12px 9px 7px 24px;
668 }
669
670 #header #header-inner #quick li ul li a.locking_del,#header #header-inner #quick li ul li a.locking_del:hover
671 {
672 background: #FFF url("../images/icons/lock_delete.png") no-repeat 4px
673 9px;
674 width: 167px;
675 margin: 0;
676 padding: 12px 9px 7px 24px;
677 }
678
661 #header #header-inner #quick li ul li a.pull_request,#header #header-inner #quick li ul li a.pull_request:hover
679 #header #header-inner #quick li ul li a.pull_request,#header #header-inner #quick li ul li a.pull_request:hover
662 {
680 {
663 background: #FFF url("../images/icons/arrow_join.png") no-repeat 4px
681 background: #FFF url("../images/icons/arrow_join.png") no-repeat 4px
@@ -86,7 +86,18 b' var prevElementSibling = function( el ) '
86 }
86 }
87 }
87 }
88
88
89
89 var setSelectValue = function(select, val){
90 var selection = YUD.get(select);
91
92 // select element
93 for(var i=0;i<selection.options.length;i++){
94 console.log(selection.options[i].innerHTML);
95 if (selection.options[i].innerHTML == val) {
96 selection.selectedIndex = i;
97 break;
98 }
99 }
100 }
90
101
91
102
92 /**
103 /**
@@ -70,7 +70,7 b''
70 </tr>
70 </tr>
71 <tr>
71 <tr>
72 <td colspan="6">
72 <td colspan="6">
73 ${h.checkbox('recursive',value="True", label=_('apply to parents'))}
73 ${h.checkbox('recursive',value="True", label=_('apply to children'))}
74 <span class="help-block">${_('Set or revoke permission to all children of that group, including repositories and other groups')}</span>
74 <span class="help-block">${_('Set or revoke permission to all children of that group, including repositories and other groups')}</span>
75 </td>
75 </td>
76 </tr>
76 </tr>
@@ -201,17 +201,26 b''
201 <ul>
201 <ul>
202 %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
202 %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
203 %if h.HasPermissionAll('hg.admin')('access settings on repository'):
203 %if h.HasPermissionAll('hg.admin')('access settings on repository'):
204 <li>${h.link_to(_('settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
204 <li>${h.link_to(_('repository settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
205 %else:
205 %else:
206 <li>${h.link_to(_('settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li>
206 <li>${h.link_to(_('repository settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li>
207 %endif
207 %endif
208 %endif
208 %endif
209
209 <li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li>
210 <li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li>
210 %if h.is_hg(c.rhodecode_repo):
211 %if h.is_hg(c.rhodecode_repo):
211 <li>${h.link_to(_('Open new pull request'),h.url('pullrequest_home',repo_name=c.repo_name),class_='pull_request')}</li>
212 <li>${h.link_to(_('Open new pull request'),h.url('pullrequest_home',repo_name=c.repo_name),class_='pull_request')}</li>
212 %endif
213 %endif
213 <li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li>
214 <li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li>
214
215
216 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking:
217 %if c.rhodecode_db_repo.locked[0]:
218 <li>${h.link_to(_('unlock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_del')}</li>
219 %else:
220 <li>${h.link_to(_('lock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_add')}</li>
221 %endif
222 %endif
223
215 % if h.HasPermissionAll('hg.admin')('access admin main page'):
224 % if h.HasPermissionAll('hg.admin')('access admin main page'):
216 <li>
225 <li>
217 ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}
226 ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}
@@ -227,7 +236,7 b''
227 <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li>
236 <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li>
228 </ul>
237 </ul>
229 </%def>
238 </%def>
230
239 ## ADMIN MENU
231 ${admin_menu()}
240 ${admin_menu()}
232 </li>
241 </li>
233 % endif
242 % endif
@@ -9,8 +9,8 b''
9
9
10 ## CSS ###
10 ## CSS ###
11 <%def name="css()">
11 <%def name="css()">
12 <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css')}" media="screen"/>
12 <link rel="stylesheet" type="text/css" href="${h.url('/css/style.css', ver=c.rhodecode_version)}" media="screen"/>
13 <link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css')}"/>
13 <link rel="stylesheet" type="text/css" href="${h.url('/css/pygments.css', ver=c.rhodecode_version)}"/>
14 ## EXTRA FOR CSS
14 ## EXTRA FOR CSS
15 ${self.css_extra()}
15 ${self.css_extra()}
16 </%def>
16 </%def>
@@ -50,13 +50,13 b''
50 };
50 };
51 var _TM = TRANSLATION_MAP;
51 var _TM = TRANSLATION_MAP;
52 </script>
52 </script>
53 <script type="text/javascript" src="${h.url('/js/yui.2.9.js')}"></script>
53 <script type="text/javascript" src="${h.url('/js/yui.2.9.js', ver=c.rhodecode_version)}"></script>
54 <!--[if lt IE 9]>
54 <!--[if lt IE 9]>
55 <script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script>
55 <script language="javascript" type="text/javascript" src="${h.url('/js/excanvas.min.js')}"></script>
56 <![endif]-->
56 <![endif]-->
57 <script type="text/javascript" src="${h.url('/js/yui.flot.js')}"></script>
57 <script type="text/javascript" src="${h.url('/js/yui.flot.js', ver=c.rhodecode_version)}"></script>
58 <script type="text/javascript" src="${h.url('/js/native.history.js')}"></script>
58 <script type="text/javascript" src="${h.url('/js/native.history.js', ver=c.rhodecode_version)}"></script>
59 <script type="text/javascript" src="${h.url('/js/rhodecode.js')}"></script>
59 <script type="text/javascript" src="${h.url('/js/rhodecode.js', ver=c.rhodecode_version)}"></script>
60 ## EXTRA FOR JS
60 ## EXTRA FOR JS
61 ${self.js_extra()}
61 ${self.js_extra()}
62
62
@@ -53,7 +53,7 b''
53 <img id="other_repo_gravatar" alt="gravatar" src=""/>
53 <img id="other_repo_gravatar" alt="gravatar" src=""/>
54 </div>
54 </div>
55 <span style="font-size: 20px">
55 <span style="font-size: 20px">
56 ${h.select('other_repo',c.default_pull_request ,c.other_repos,class_='refs')}:${h.select('other_ref','',c.default_revs,class_='refs')}
56 ${h.select('other_repo',c.default_pull_request ,c.other_repos,class_='refs')}:${h.select('other_ref',c.default_pull_request_rev,c.default_revs,class_='refs')}
57 </span>
57 </span>
58 <div id="other_repo_desc" style="padding:5px 3px 3px 42px;"></div>
58 <div id="other_repo_desc" style="padding:5px 3px 3px 42px;"></div>
59 </div>
59 </div>
@@ -135,6 +135,7 b''
135 PullRequestAutoComplete('user', 'reviewers_container', _USERS_AC_DATA, _GROUPS_AC_DATA);
135 PullRequestAutoComplete('user', 'reviewers_container', _USERS_AC_DATA, _GROUPS_AC_DATA);
136
136
137 var other_repos_info = ${c.other_repos_info|n};
137 var other_repos_info = ${c.other_repos_info|n};
138
138 var loadPreview = function(){
139 var loadPreview = function(){
139 YUD.setStyle(YUD.get('pull_request_overview_url').parentElement,'display','none');
140 YUD.setStyle(YUD.get('pull_request_overview_url').parentElement,'display','none');
140 var url = "${h.url('compare_url',
141 var url = "${h.url('compare_url',
@@ -145,28 +146,38 b''
145 as_form=True)}";
146 as_form=True)}";
146
147
147 var select_refs = YUQ('#pull_request_form select.refs')
148 var select_refs = YUQ('#pull_request_form select.refs')
148
149 var rev_data = {}; // gather the org/other ref and repo here
149 for(var i=0;i<select_refs.length;i++){
150 for(var i=0;i<select_refs.length;i++){
150 var select_ref = select_refs[i];
151 var select_ref = select_refs[i];
151 var select_ref_data = select_ref.value.split(':');
152 var select_ref_data = select_ref.value.split(':');
152 var key = null;
153 var key = null;
153 var val = null;
154 var val = null;
155
154 if(select_ref_data.length>1){
156 if(select_ref_data.length>1){
155 key = select_ref.name+"_type";
157 key = select_ref.name+"_type";
156 val = select_ref_data[0];
158 val = select_ref_data[0];
157 url = url.replace(key,val);
159 url = url.replace(key,val);
158
160 rev_data[key] = val;
161
159 key = select_ref.name;
162 key = select_ref.name;
160 val = select_ref_data[1];
163 val = select_ref_data[1];
161 url = url.replace(key,val);
164 url = url.replace(key,val);
162
165 rev_data[key] = val;
166
163 }else{
167 }else{
164 key = select_ref.name;
168 key = select_ref.name;
165 val = select_ref.value;
169 val = select_ref.value;
166 url = url.replace(key,val);
170 url = url.replace(key,val);
171 rev_data[key] = val;
167 }
172 }
168 }
173 }
169
174
175 YUE.on('other_repo', 'change', function(e){
176 var repo_name = e.currentTarget.value;
177 // replace the <select> of changed repo
178 YUD.get('other_ref').innerHTML = other_repos_info[repo_name]['revs'];
179 });
180
170 ypjax(url,'pull_request_overview', function(data){
181 ypjax(url,'pull_request_overview', function(data){
171 var sel_box = YUQ('#pull_request_form #other_repo')[0];
182 var sel_box = YUQ('#pull_request_form #other_repo')[0];
172 var repo_name = sel_box.options[sel_box.selectedIndex].value;
183 var repo_name = sel_box.options[sel_box.selectedIndex].value;
@@ -175,6 +186,8 b''
175 YUD.get('other_repo_gravatar').src = other_repos_info[repo_name]['gravatar'];
186 YUD.get('other_repo_gravatar').src = other_repos_info[repo_name]['gravatar'];
176 YUD.get('other_repo_desc').innerHTML = other_repos_info[repo_name]['description'];
187 YUD.get('other_repo_desc').innerHTML = other_repos_info[repo_name]['description'];
177 YUD.get('other_ref').innerHTML = other_repos_info[repo_name]['revs'];
188 YUD.get('other_ref').innerHTML = other_repos_info[repo_name]['revs'];
189 // select back the revision that was just compared
190 setSelectValue(YUD.get('other_ref'), rev_data['other_ref']);
178 })
191 })
179 }
192 }
180 YUE.on('refresh','click',function(e){
193 YUE.on('refresh','click',function(e){
@@ -159,19 +159,40 b' class TestLibs(unittest.TestCase):'
159 config['app_conf']['use_gravatar'] = True
159 config['app_conf']['use_gravatar'] = True
160 config['app_conf'].update(kwargs)
160 config['app_conf'].update(kwargs)
161 return config
161 return config
162 fake = fake_conf(alternative_gravatar_url='http://test.com/{email}')
162
163 with mock.patch('pylons.config', fake):
163 class fake_url():
164 grav = gravatar_url(email_address='test@foo.com', size=24)
164 @classmethod
165 assert grav == 'http://test.com/test@foo.com'
165 def current(cls, *args, **kwargs):
166 return 'https://server.com'
167
168 with mock.patch('pylons.url', fake_url):
169 fake = fake_conf(alternative_gravatar_url='http://test.com/{email}')
170 with mock.patch('pylons.config', fake):
171 from pylons import url
172 assert url.current() == 'https://server.com'
173 grav = gravatar_url(email_address='test@foo.com', size=24)
174 assert grav == 'http://test.com/test@foo.com'
175
176 fake = fake_conf(alternative_gravatar_url='http://test.com/{email}')
177 with mock.patch('pylons.config', fake):
178 grav = gravatar_url(email_address='test@foo.com', size=24)
179 assert grav == 'http://test.com/test@foo.com'
166
180
167 fake = fake_conf(alternative_gravatar_url='http://test.com/{md5email}')
181 fake = fake_conf(alternative_gravatar_url='http://test.com/{md5email}')
168 with mock.patch('pylons.config', fake):
182 with mock.patch('pylons.config', fake):
169 em = 'test@foo.com'
183 em = 'test@foo.com'
170 grav = gravatar_url(email_address=em, size=24)
184 grav = gravatar_url(email_address=em, size=24)
171 assert grav == 'http://test.com/%s' % (_md5(em))
185 assert grav == 'http://test.com/%s' % (_md5(em))
172
186
173 fake = fake_conf(alternative_gravatar_url='http://test.com/{md5email}/{size}')
187 fake = fake_conf(alternative_gravatar_url='http://test.com/{md5email}/{size}')
174 with mock.patch('pylons.config', fake):
188 with mock.patch('pylons.config', fake):
175 em = 'test@foo.com'
189 em = 'test@foo.com'
176 grav = gravatar_url(email_address=em, size=24)
190 grav = gravatar_url(email_address=em, size=24)
177 assert grav == 'http://test.com/%s/%s' % (_md5(em), 24)
191 assert grav == 'http://test.com/%s/%s' % (_md5(em), 24)
192
193 fake = fake_conf(alternative_gravatar_url='{scheme}://{netloc}/{md5email}/{size}')
194 with mock.patch('pylons.config', fake):
195 em = 'test@foo.com'
196 grav = gravatar_url(email_address=em, size=24)
197 assert grav == 'https://server.com/%s/%s' % (_md5(em), 24)
198
General Comments 0
You need to be logged in to leave comments. Login now