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