Commits

Marcin Kuzminski committed 36f7d7c Merge

merged stable into demo

Comments (0)

Files changed (25)

     Lukasz Balcerzak <lukaszbalcerzak@gmail.com>
     Jason Harris <jason@jasonfharris.com>
     Thayne Harbaugh  <thayne@fusionio.com>
-    cejones
+    cejones <>
     Thomas Waldmann <tw-public@gmx.de>
     Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
-    Dmitri Kuznetsov
+    Dmitri Kuznetsov <>
     Jared Bunting <jared.bunting@peachjean.com>
     Steve Romanow <slestak989@gmail.com>
     Augosto Hermann <augusto.herrmann@planejamento.gov.br>    
     Matt Zuba <matt.zuba@goodwillaz.org>
     Aras Pranckevicius <aras@unity3d.com>
     Tony Bussieres <t.bussieres@gmail.com>
-    Erwin Kroon <e.kroon@smartmetersolutions.nl>
+    Erwin Kroon <e.kroon@smartmetersolutions.nl>
+    nansenat16 <nansenat16@null.tw>
 however RhodeCode can be run as standalone hosted application on your own server.
 It is open source and donation ware and focuses more on providing a customized, 
 self administered interface for Mercurial_ and GIT_  repositories. 
-RhodeCode works on *nix systems and Windows it is powered by a vcs_ library 
+RhodeCode works on \*nix systems and Windows it is powered by a vcs_ library 
 that Lukasz Balcerzak and Marcin Kuzminski created to handle multiple 
 different version control systems.
 

docs/changelog.rst

 Changelog
 =========
 
+1.3.6 (**2012-05-17**)
+----------------------
+
+news
+++++
+
+- chinese traditional translation
+- changed setup-app into setup-rhodecode and added arguments for auto-setup 
+  mode that doesn't need user interaction 
+
+fixes
++++++
+
+- fixed no scm found warning
+- fixed __future__ import error on rcextensions
+- made simplejson required lib for speedup on JSON encoding
+- fixes #449 bad regex could get more than revisions from parsing history
+- don't clear DB session when CELERY_EAGER is turned ON
+
 1.3.5 (**2012-05-10**)
 ----------------------
 
 postgresql, sqlite and mysql databases. Create the database by running
 the following command::
 
-    paster setup-app production.ini
+    paster setup-rhodecode production.ini
 
 This will prompt you for a "root" path. This "root" path is the location where
 RhodeCode will store all of its repositories on the current machine. After
-entering this "root" path ``setup-app`` will also prompt you for a username 
-and password for the initial admin account which ``setup-app`` sets up for you.
+entering this "root" path ``setup-rhodecode`` will also prompt you for a username 
+and password for the initial admin account which ``setup-rhodecode`` sets 
+up for you.
 
-- The ``setup-app`` command will create all of the needed tables and an admin
-  account. When choosing a root path you can either use a new empty location, 
-  or a location which already contains existing repositories. If you choose a 
-  location which contains existing repositories RhodeCode will simply add all 
-  of the repositories at the chosen location to it's database. (Note: make 
-  sure you specify the correct path to the root).
+- The ``setup-rhodecode`` command will create all of the needed tables and an 
+  admin account. When choosing a root path you can either use a new empty 
+  location, or a location which already contains existing repositories. If you
+  choose a location which contains existing repositories RhodeCode will simply 
+  add all of the repositories at the chosen location to it's database. 
+  (Note: make sure you specify the correct path to the root).
 - Note: the given path for mercurial_ repositories **must** be write accessible
   for the application. It's very important since the RhodeCode web interface 
   will work without write access, but when trying to do a push it will 
 - This command runs the RhodeCode server. The web app should be available at the 
   127.0.0.1:5000. This ip and port is configurable via the production.ini 
   file created in previous step
-- Use the admin account you created above when running ``setup-app`` to login 
-  to the web app.
+- Use the admin account you created above when running ``setup-rhodecode`` 
+  to login to the web app.
 - The default permissions on each repository is read, and the owner is admin. 
   Remember to update these if needed.
 - In the admin panel you can toggle ldap, anonymous, permissions settings. As
 WebHelpers==1.3
 formencode==1.2.4
 SQLAlchemy==0.7.6
-Mako==0.6.2
+Mako==0.7.0
 pygments>=1.4
-whoosh>=2.3.0,<2.4
+whoosh>=2.4.0,<2.5
 celery>=2.2.5,<2.3
 babel
 python-dateutil>=1.5.0,<2.0.0
-dulwich>=0.8.4,<0.9.0
+dulwich>=0.8.5,<0.9.0
 webob==1.0.8
 markdown==2.1.1
 docutils==0.8.1
-simplejson
-pysqlite
+simplejson==2.5.2
 py-bcrypt
-mercurial>=2.1,<2.2
+mercurial>=2.2.1,<2.3

rhodecode/__init__.py

 import sys
 import platform
 
-VERSION = (1, 3, 5)
+VERSION = (1, 3, 6)
 
 try:
     from rhodecode.lib import get_current_revision
-    _rev = get_current_revision()
+    _rev = get_current_revision(quiet=True)
     if _rev and len(VERSION) > 3:
         VERSION += ('dev%s' % _rev[0],)
 except ImportError:
     "webob==1.0.8",
     "markdown==2.1.1",
     "docutils==0.8.1",
+    "simplejson==2.5.2",
 ]
 
 if __py_version__ < (2, 6):
-    requirements.append("simplejson")
     requirements.append("pysqlite")
 
 if is_windows:
 }
 
 CELERY_ON = False
+CELERY_EAGER = False
 
 # link to config for pylons
 CONFIG = {}

rhodecode/config/environment.py

 
     # store some globals into rhodecode
     rhodecode.CELERY_ON = str2bool(config['app_conf'].get('use_celery'))
+    rhodecode.CELERY_EAGER = str2bool(config['app_conf'].get('celery.always.eager'))
 
     config['routes.map'] = make_map(config)
     config['pylons.app_globals'] = app_globals.Globals(config)

rhodecode/config/rcextensions/make_rcextensions.py

 #
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+from __future__ import with_statement
+
 import os
 import sys
 import pkg_resources
 import traceback
 import logging
-from __future__ import with_statement
 from os.path import dirname as dn, join as jn
 
 #to get the rhodecode import

rhodecode/config/setup_rhodecode.py

+import os
+from paste.script.appinstall import AbstractInstallCommand
+from paste.script.command import BadCommand
+from paste.deploy import appconfig
+
+
+class SetupCommand(AbstractInstallCommand):
+
+    default_verbosity = 1
+    max_args = 1
+    min_args = 1
+    summary = "Setup an application, given a config file"
+    usage = "CONFIG_FILE"
+
+    description = """\
+    Note: this is an experimental command, and it will probably change
+    in several ways by the next release.
+
+    Setup an application according to its configuration file.  This is
+    the second part of a two-phase web application installation
+    process (the first phase is prepare-app).  The setup process may
+    consist of things like creating directories and setting up
+    databases.
+    """
+
+    parser = AbstractInstallCommand.standard_parser(
+        simulate=True, quiet=True, interactive=True)
+    parser.add_option('--user',
+                      action='store',
+                      dest='username',
+                      default=None,
+                      help='Admin Username')
+    parser.add_option('--email',
+                      action='store',
+                      dest='email',
+                      default=None,
+                      help='Admin Email')
+    parser.add_option('--password',
+                      action='store',
+                      dest='password',
+                      default=None,
+                      help='Admin password min 6 chars')
+    parser.add_option('--repos',
+                      action='store',
+                      dest='repos_location',
+                      default=None,
+                      help='Absolute path to repositories location')
+    parser.add_option('--name',
+                      action='store',
+                      dest='section_name',
+                      default=None,
+                      help='The name of the section to set up (default: app:main)')
+
+    def command(self):
+        config_spec = self.args[0]
+        section = self.options.section_name
+        if section is None:
+            if '#' in config_spec:
+                config_spec, section = config_spec.split('#', 1)
+            else:
+                section = 'main'
+        if not ':' in section:
+            plain_section = section
+            section = 'app:'+section
+        else:
+            plain_section = section.split(':', 1)[0]
+        if not config_spec.startswith('config:'):
+            config_spec = 'config:' + config_spec
+        if plain_section != 'main':
+            config_spec += '#' + plain_section
+        config_file = config_spec[len('config:'):].split('#', 1)[0]
+        config_file = os.path.join(os.getcwd(), config_file)
+        self.logging_file_config(config_file)
+        conf = appconfig(config_spec, relative_to=os.getcwd())
+        ep_name = conf.context.entry_point_name
+        ep_group = conf.context.protocol
+        dist = conf.context.distribution
+        if dist is None:
+            raise BadCommand(
+                "The section %r is not the application (probably a filter).  "
+                "You should add #section_name, where section_name is the "
+                "section that configures your application" % plain_section)
+        installer = self.get_installer(dist, ep_group, ep_name)
+        installer.setup_config(
+            self, config_file, section, self.sysconfig_install_vars(installer))
+        self.call_sysconfig_functions(
+            'post_setup_hook', installer, config_file)

rhodecode/controllers/files.py

 #
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
+from __future__ import with_statement
 import os
 import logging
 import traceback
+import tempfile
 
 from pylons import request, response, tmpl_context as c, url
 from pylons.i18n.translation import _
 from pylons.controllers.util import redirect
 from pylons.decorators import jsonify
+from paste.fileapp import FileApp, _FileIter
 
 from rhodecode.lib import diffs
 from rhodecode.lib import helpers as h
         except (ImproperArchiveTypeError, KeyError):
             return _('Unknown archive type')
 
-        response.content_type = content_type
-        response.content_disposition = 'attachment; filename=%s-%s%s' \
-            % (repo_name, revision, ext)
+        fd, _archive_name = tempfile.mkstemp(suffix='rcarchive')
+        with open(_archive_name, 'wb') as f:
+            cs.fill_archive(stream=f, kind=fileformat, subrepos=subrepos)
 
-        import tempfile
-        archive = tempfile.mkstemp()[1]
-        t = open(archive, 'wb')
-        cs.fill_archive(stream=t, kind=fileformat, subrepos=subrepos)
+        content_disposition = 'attachment; filename=%s-%s%s' \
+            % (repo_name, revision[:12], ext)
+        content_length = os.path.getsize(_archive_name)
 
-        def get_chunked_archive(archive):
-            stream = open(archive, 'rb')
-            while True:
-                data = stream.read(4096)
-                if not data:
-                    os.remove(archive)
-                    break
-                yield data
+        headers = [('Content-Disposition', str(content_disposition)),
+                   ('Content-Type', str(content_type)),
+                   ('Content-Length', str(content_length))]
 
-        return get_chunked_archive(archive)
+        class _DestroyingFileWrapper(_FileIter):
+            def close(self):
+                self.file.close
+                os.remove(self.file.name)
+
+        request.environ['wsgi.file_wrapper'] = _DestroyingFileWrapper
+        fapp = FileApp(_archive_name, headers=headers)
+        return fapp(request.environ, self.start_response)
 
     @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
                                    'repository.admin')
Add a comment to this file

rhodecode/i18n/zh_TW/LC_MESSAGES/rhodecode.mo

Binary file added.

rhodecode/i18n/zh_TW/LC_MESSAGES/rhodecode.po

+# Translations template for RhodeCode.
+# Copyright (C) 2011 ORGANIZATION
+# This file is distributed under the same license as the RhodeCode project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: RhodeCode 1.2.0\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2011-09-14 15:50-0300\n"
+"PO-Revision-Date: 2012-05-09 22:23+0800\n"
+"Last-Translator: Nansen <nansenat16@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+"X-Poedit-Language: Chinese\n"
+"X-Poedit-Country: TAIWAN\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: rhodecode/controllers/changeset.py:108
+#: rhodecode/controllers/changeset.py:149
+#: rhodecode/controllers/changeset.py:216
+#: rhodecode/controllers/changeset.py:229
+msgid "binary file"
+msgstr "二進位檔"
+
+#: rhodecode/controllers/changeset.py:123
+#: rhodecode/controllers/changeset.py:168
+msgid "Changeset is to big and was cut off, see raw changeset instead"
+msgstr ""
+
+#: rhodecode/controllers/changeset.py:159
+msgid "Diff is to big and was cut off, see raw diff instead"
+msgstr ""
+
+#: rhodecode/controllers/error.py:69
+msgid "Home page"
+msgstr "首頁"
+
+#: rhodecode/controllers/error.py:98
+msgid "The request could not be understood by the server due to malformed syntax."
+msgstr ""
+
+#: rhodecode/controllers/error.py:101
+msgid "Unauthorized access to resource"
+msgstr ""
+
+#: rhodecode/controllers/error.py:103
+msgid "You don't have permission to view this page"
+msgstr "您沒有權限瀏覽這個頁面"
+
+#: rhodecode/controllers/error.py:105
+msgid "The resource could not be found"
+msgstr "找不到這個資源"
+
+#: rhodecode/controllers/error.py:107
+msgid "The server encountered an unexpected condition which prevented it from fulfilling the request."
+msgstr ""
+
+#: rhodecode/controllers/feed.py:48
+#, python-format
+msgid "Changes on %s repository"
+msgstr "修改於版本庫 %s"
+
+#: rhodecode/controllers/feed.py:49
+#, python-format
+msgid "%s %s feed"
+msgstr ""
+
+#: rhodecode/controllers/files.py:72
+msgid "There are no files yet"
+msgstr "尚未有任何檔案"
+
+#: rhodecode/controllers/files.py:262
+#, python-format
+msgid "Edited %s via RhodeCode"
+msgstr "使用 RhodeCode 編輯 %s"
+
+#: rhodecode/controllers/files.py:267
+#: rhodecode/templates/files/file_diff.html:40
+msgid "No changes"
+msgstr "沒有修改"
+
+#: rhodecode/controllers/files.py:278
+#, python-format
+msgid "Successfully committed to %s"
+msgstr "成功遞交至 %s"
+
+#: rhodecode/controllers/files.py:283
+msgid "Error occurred during commit"
+msgstr ""
+
+#: rhodecode/controllers/files.py:308
+msgid "downloads disabled"
+msgstr "下載已關閉"
+
+#: rhodecode/controllers/files.py:313
+#, python-format
+msgid "Unknown revision %s"
+msgstr "未知修訂 %s"
+
+#: rhodecode/controllers/files.py:315
+msgid "Empty repository"
+msgstr "空的版本庫"
+
+#: rhodecode/controllers/files.py:317
+msgid "Unknown archive type"
+msgstr "未知的存檔類型"
+
+#: rhodecode/controllers/files.py:385
+#: rhodecode/controllers/files.py:398
+msgid "Binary file"
+msgstr "二進位檔"
+
+#: rhodecode/controllers/files.py:417
+#: rhodecode/templates/changeset/changeset_range.html:4
+#: rhodecode/templates/changeset/changeset_range.html:12
+#: rhodecode/templates/changeset/changeset_range.html:29
+msgid "Changesets"
+msgstr "變更"
+
+#: rhodecode/controllers/files.py:418
+#: rhodecode/controllers/summary.py:175
+#: rhodecode/templates/branches/branches.html:5
+#: rhodecode/templates/summary/summary.html:690
+msgid "Branches"
+msgstr "分支"
+
+#: rhodecode/controllers/files.py:419
+#: rhodecode/controllers/summary.py:176
+#: rhodecode/templates/summary/summary.html:679
+#: rhodecode/templates/tags/tags.html:5
+msgid "Tags"
+msgstr "標籤"
+
+#: rhodecode/controllers/journal.py:50
+#, python-format
+msgid "%s public journal %s feed"
+msgstr "%s 公開日誌 %s feed"
+
+#: rhodecode/controllers/journal.py:178
+#: rhodecode/controllers/journal.py:212
+#: rhodecode/templates/admin/repos/repo_edit.html:171
+#: rhodecode/templates/base/base.html:50
+msgid "Public journal"
+msgstr "公開日誌"
+
+#: rhodecode/controllers/login.py:111
+msgid "You have successfully registered into rhodecode"
+msgstr "您已經成功註冊rhodecode"
+
+#: rhodecode/controllers/login.py:133
+msgid "Your password reset link was sent"
+msgstr "您的密碼重設連結已寄出"
+
+#: rhodecode/controllers/login.py:155
+msgid "Your password reset was successful, new password has been sent to your email"
+msgstr "您的密碼重設動作已完成,新的密碼已寄至您的信箱"
+
+#: rhodecode/controllers/search.py:109
+msgid "Invalid search query. Try quoting it."
+msgstr "無效的查詢。請使用跳脫字元"
+
+#: rhodecode/controllers/search.py:114
+msgid "There is no index to search in. Please run whoosh indexer"
+msgstr "沒有任何索引可以搜尋。請執行 whoosh 建立索引"
+
+#: rhodecode/controllers/search.py:118
+msgid "An error occurred during this search operation"
+msgstr ""
+
+#: rhodecode/controllers/settings.py:61
+#: rhodecode/controllers/settings.py:171
+#, python-format
+msgid "%s repository is not mapped to db perhaps it was created or renamed from the file system please run the application again in order to rescan repositories"
+msgstr ""
+
+#: rhodecode/controllers/settings.py:109
+#: rhodecode/controllers/admin/repos.py:239
+#, python-format
+msgid "Repository %s updated successfully"
+msgstr "版本庫 %s 更新完成"
+
+#: rhodecode/controllers/settings.py:126
+#: rhodecode/controllers/admin/repos.py:257
+#, python-format
+msgid "error occurred during update of repository %s"
+msgstr ""
+
+#: rhodecode/controllers/settings.py:144
+#: rhodecode/controllers/admin/repos.py:275
+#, python-format
+msgid "%s repository is not mapped to db perhaps it was moved or renamed  from the filesystem please run the application again in order to rescan repositories"
+msgstr ""
+
+#: rhodecode/controllers/settings.py:156
+#: rhodecode/controllers/admin/repos.py:287
+#, python-format
+msgid "deleted repository %s"
+msgstr "刪除版本庫 %s"
+
+#: rhodecode/controllers/settings.py:159
+#: rhodecode/controllers/admin/repos.py:297
+#: rhodecode/controllers/admin/repos.py:303
+#, python-format
+msgid "An error occurred during deletion of %s"
+msgstr ""
+
+#: rhodecode/controllers/settings.py:193
+#, python-format
+msgid "forked %s repository as %s"
+msgstr "forked %s 版本庫為 %s"
+
+#: rhodecode/controllers/settings.py:211
+#, python-format
+msgid "An error occurred during repository forking %s"
+msgstr ""
+
+#: rhodecode/controllers/summary.py:123
+msgid "No data loaded yet"
+msgstr ""
+
+#: rhodecode/controllers/summary.py:126
+msgid "Statistics are disabled for this repository"
+msgstr "這個版本庫的統計功能已停用"
+
+#: rhodecode/controllers/admin/ldap_settings.py:49
+msgid "BASE"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:50
+msgid "ONELEVEL"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:51
+msgid "SUBTREE"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:55
+msgid "NEVER"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:56
+msgid "ALLOW"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:57
+msgid "TRY"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:58
+msgid "DEMAND"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:59
+msgid "HARD"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:63
+msgid "No encryption"
+msgstr "無加密"
+
+#: rhodecode/controllers/admin/ldap_settings.py:64
+msgid "LDAPS connection"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:65
+msgid "START_TLS on LDAP connection"
+msgstr ""
+
+#: rhodecode/controllers/admin/ldap_settings.py:115
+msgid "Ldap settings updated successfully"
+msgstr "LDAP設定更新完成"
+
+#: rhodecode/controllers/admin/ldap_settings.py:120
+msgid "Unable to activate ldap. The \"python-ldap\" library is missing."
+msgstr "無法啟用LDAP。找不到python-ldap函式庫"
+
+#: rhodecode/controllers/admin/ldap_settings.py:134
+msgid "error occurred during update of ldap settings"
+msgstr ""
+
+#: rhodecode/controllers/admin/permissions.py:56
+msgid "None"
+msgstr "無"
+
+#: rhodecode/controllers/admin/permissions.py:57
+msgid "Read"
+msgstr "讀"
+
+#: rhodecode/controllers/admin/permissions.py:58
+msgid "Write"
+msgstr "寫"
+
+#: rhodecode/controllers/admin/permissions.py:59
+#: rhodecode/templates/admin/ldap/ldap.html:9
+#: rhodecode/templates/admin/permissions/permissions.html:9
+#: rhodecode/templates/admin/repos/repo_add.html:9
+#: rhodecode/templates/admin/repos/repo_edit.html:9
+#: rhodecode/templates/admin/repos/repos.html:10
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:8
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:8
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
+#: rhodecode/templates/admin/settings/hooks.html:9
+#: rhodecode/templates/admin/settings/settings.html:9
+#: rhodecode/templates/admin/users/user_add.html:8
+#: rhodecode/templates/admin/users/user_edit.html:9
+#: rhodecode/templates/admin/users/user_edit.html:110
+#: rhodecode/templates/admin/users/users.html:9
+#: rhodecode/templates/admin/users_groups/users_group_add.html:8
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:9
+#: rhodecode/templates/admin/users_groups/users_groups.html:9
+#: rhodecode/templates/base/base.html:279
+#: rhodecode/templates/base/base.html:366
+#: rhodecode/templates/base/base.html:368
+#: rhodecode/templates/base/base.html:370
+msgid "Admin"
+msgstr "管理"
+
+#: rhodecode/controllers/admin/permissions.py:62
+msgid "disabled"
+msgstr "停用"
+
+#: rhodecode/controllers/admin/permissions.py:64
+msgid "allowed with manual account activation"
+msgstr "允許手動啟用帳號"
+
+#: rhodecode/controllers/admin/permissions.py:66
+msgid "allowed with automatic account activation"
+msgstr "允許自動啟用帳號"
+
+#: rhodecode/controllers/admin/permissions.py:68
+msgid "Disabled"
+msgstr "停用"
+
+#: rhodecode/controllers/admin/permissions.py:69
+msgid "Enabled"
+msgstr "啟用"
+
+#: rhodecode/controllers/admin/permissions.py:102
+msgid "Default permissions updated successfully"
+msgstr "預設權限更新完成"
+
+#: rhodecode/controllers/admin/permissions.py:119
+msgid "error occurred during update of permissions"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:96
+#, python-format
+msgid "%s repository is not mapped to db perhaps it was created or renamed from the filesystem please run the application again in order to rescan repositories"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:172
+#, python-format
+msgid "created repository %s from %s"
+msgstr "建立版本庫 %s 到 %s"
+
+#: rhodecode/controllers/admin/repos.py:176
+#, python-format
+msgid "created repository %s"
+msgstr "建立版本庫 %s"
+
+#: rhodecode/controllers/admin/repos.py:205
+#, python-format
+msgid "error occurred during creation of repository %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:292
+#, python-format
+msgid "Cannot delete %s it still contains attached forks"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:320
+msgid "An error occurred during deletion of repository user"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:335
+msgid "An error occurred during deletion of repository users groups"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:352
+msgid "An error occurred during deletion of repository stats"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:367
+msgid "An error occurred during cache invalidation"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:387
+msgid "Updated repository visibility in public journal"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:390
+msgid "An error occurred during setting this repository in public journal"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:395
+#: rhodecode/model/forms.py:53
+msgid "Token mismatch"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:408
+msgid "Pulled from remote location"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos.py:410
+msgid "An error occurred during pull from remote location"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos_groups.py:83
+#, python-format
+msgid "created repos group %s"
+msgstr "建立版本庫群組 %s"
+
+#: rhodecode/controllers/admin/repos_groups.py:96
+#, python-format
+msgid "error occurred during creation of repos group %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos_groups.py:130
+#, python-format
+msgid "updated repos group %s"
+msgstr "更新版本庫群組 %s"
+
+#: rhodecode/controllers/admin/repos_groups.py:143
+#, python-format
+msgid "error occurred during update of repos group %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos_groups.py:164
+#, python-format
+msgid "This group contains %s repositores and cannot be deleted"
+msgstr ""
+
+#: rhodecode/controllers/admin/repos_groups.py:171
+#, python-format
+msgid "removed repos group %s"
+msgstr "移除版本庫群組 %s"
+
+#: rhodecode/controllers/admin/repos_groups.py:175
+#, python-format
+msgid "error occurred during deletion of repos group %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/settings.py:109
+#, python-format
+msgid "Repositories successfully rescanned added: %s,removed: %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/settings.py:118
+msgid "Whoosh reindex task scheduled"
+msgstr "Whoosh 重新索引工作排程"
+
+#: rhodecode/controllers/admin/settings.py:143
+msgid "Updated application settings"
+msgstr "更新應用設定"
+
+#: rhodecode/controllers/admin/settings.py:148
+#: rhodecode/controllers/admin/settings.py:215
+msgid "error occurred during updating application settings"
+msgstr ""
+
+#: rhodecode/controllers/admin/settings.py:210
+msgid "Updated mercurial settings"
+msgstr "更新 mercurial 設定"
+
+#: rhodecode/controllers/admin/settings.py:236
+msgid "Added new hook"
+msgstr "新增hook"
+
+#: rhodecode/controllers/admin/settings.py:247
+msgid "Updated hooks"
+msgstr "更新hook"
+
+#: rhodecode/controllers/admin/settings.py:251
+msgid "error occurred during hook creation"
+msgstr ""
+
+#: rhodecode/controllers/admin/settings.py:310
+msgid "You can't edit this user since it's crucial for entire application"
+msgstr ""
+
+#: rhodecode/controllers/admin/settings.py:339
+msgid "Your account was updated successfully"
+msgstr "您的帳號已更新完成"
+
+#: rhodecode/controllers/admin/settings.py:359
+#: rhodecode/controllers/admin/users.py:130
+#, python-format
+msgid "error occurred during update of user %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/users.py:78
+#, python-format
+msgid "created user %s"
+msgstr "建立使用者 %s"
+
+#: rhodecode/controllers/admin/users.py:90
+#, python-format
+msgid "error occurred during creation of user %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/users.py:116
+msgid "User updated successfully"
+msgstr "使用者更新完成"
+
+#: rhodecode/controllers/admin/users.py:146
+msgid "successfully deleted user"
+msgstr "成功刪除使用者"
+
+#: rhodecode/controllers/admin/users.py:150
+msgid "An error occurred during deletion of user"
+msgstr ""
+
+#: rhodecode/controllers/admin/users.py:166
+msgid "You can't edit this user"
+msgstr "您無法編輯這位使用者"
+
+#: rhodecode/controllers/admin/users.py:195
+#: rhodecode/controllers/admin/users_groups.py:202
+msgid "Granted 'repository create' permission to user"
+msgstr ""
+
+#: rhodecode/controllers/admin/users.py:204
+#: rhodecode/controllers/admin/users_groups.py:211
+msgid "Revoked 'repository create' permission to user"
+msgstr ""
+
+#: rhodecode/controllers/admin/users_groups.py:74
+#, python-format
+msgid "created users group %s"
+msgstr "建立使用者群組 %s"
+
+#: rhodecode/controllers/admin/users_groups.py:86
+#, python-format
+msgid "error occurred during creation of users group %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/users_groups.py:119
+#, python-format
+msgid "updated users group %s"
+msgstr "更新使用者群組 %s"
+
+#: rhodecode/controllers/admin/users_groups.py:138
+#, python-format
+msgid "error occurred during update of users group %s"
+msgstr ""
+
+#: rhodecode/controllers/admin/users_groups.py:154
+msgid "successfully deleted users group"
+msgstr "成功移除使用者群組"
+
+#: rhodecode/controllers/admin/users_groups.py:158
+msgid "An error occurred during deletion of users group"
+msgstr ""
+
+#: rhodecode/lib/__init__.py:279
+msgid "year"
+msgstr "年"
+
+#: rhodecode/lib/__init__.py:280
+msgid "month"
+msgstr "月"
+
+#: rhodecode/lib/__init__.py:281
+msgid "day"
+msgstr "日"
+
+#: rhodecode/lib/__init__.py:282
+msgid "hour"
+msgstr "時"
+
+#: rhodecode/lib/__init__.py:283
+msgid "minute"
+msgstr "分"
+
+#: rhodecode/lib/__init__.py:284
+msgid "second"
+msgstr "秒"
+
+#: rhodecode/lib/__init__.py:293
+msgid "ago"
+msgstr "之前"
+
+#: rhodecode/lib/__init__.py:296
+msgid "just now"
+msgstr "現在"
+
+#: rhodecode/lib/auth.py:377
+msgid "You need to be a registered user to perform this action"
+msgstr "您必須是註冊使用者才能執行這個動作"
+
+#: rhodecode/lib/auth.py:421
+msgid "You need to be a signed in to view this page"
+msgstr "您必須登入後才能瀏覽這個頁面"
+
+#: rhodecode/lib/helpers.py:307
+msgid "True"
+msgstr "真"
+
+#: rhodecode/lib/helpers.py:311
+msgid "False"
+msgstr "假"
+
+#: rhodecode/lib/helpers.py:352
+#, python-format
+msgid "Show all combined changesets %s->%s"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:356
+msgid "compare view"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:365
+msgid "and"
+msgstr "和"
+
+#: rhodecode/lib/helpers.py:365
+#, python-format
+msgid "%s more"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:367
+#: rhodecode/templates/changelog/changelog.html:14
+#: rhodecode/templates/changelog/changelog.html:39
+msgid "revisions"
+msgstr "修訂"
+
+#: rhodecode/lib/helpers.py:385
+msgid "fork name "
+msgstr "fork 名稱"
+
+#: rhodecode/lib/helpers.py:388
+msgid "[deleted] repository"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:389
+#: rhodecode/lib/helpers.py:393
+msgid "[created] repository"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:390
+#: rhodecode/lib/helpers.py:394
+msgid "[forked] repository"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:391
+#: rhodecode/lib/helpers.py:395
+msgid "[updated] repository"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:392
+msgid "[delete] repository"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:396
+msgid "[pushed] into"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:397
+msgid "[committed via RhodeCode] into"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:398
+msgid "[pulled from remote] into"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:399
+msgid "[pulled] from"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:400
+msgid "[started following] repository"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:401
+msgid "[stopped following] repository"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:577
+#, python-format
+msgid " and %s more"
+msgstr ""
+
+#: rhodecode/lib/helpers.py:581
+msgid "No Files"
+msgstr "沒有檔案"
+
+#: rhodecode/model/forms.py:66
+msgid "Invalid username"
+msgstr "無效的使用者名稱"
+
+#: rhodecode/model/forms.py:75
+msgid "This username already exists"
+msgstr "使用者名稱已存在"
+
+#: rhodecode/model/forms.py:79
+msgid "Username may only contain alphanumeric characters underscores, periods or dashes and must begin with alphanumeric character"
+msgstr "使用者名稱只能使用字母數字、底線、小數點或破折號,且必須使用數字或字母開頭"
+
+#: rhodecode/model/forms.py:94
+msgid "Invalid group name"
+msgstr "無效的群組名稱"
+
+#: rhodecode/model/forms.py:104
+msgid "This users group already exists"
+msgstr "這個使用者群組已存在"
+
+#: rhodecode/model/forms.py:110
+msgid "Group name may only contain alphanumeric characters underscores, periods or dashes and must begin with alphanumeric character"
+msgstr "群組名稱只能使用字母數字、底線、小數點或破折號,且必須使用數字或字母開頭"
+
+#: rhodecode/model/forms.py:132
+msgid "Cannot assign this group as parent"
+msgstr ""
+
+#: rhodecode/model/forms.py:148
+msgid "This group already exists"
+msgstr "這個群組已存在"
+
+#: rhodecode/model/forms.py:164
+#: rhodecode/model/forms.py:172
+#: rhodecode/model/forms.py:180
+msgid "Invalid characters in password"
+msgstr "無效的字元在密碼中"
+
+#: rhodecode/model/forms.py:191
+msgid "Passwords do not match"
+msgstr "密碼不相符"
+
+#: rhodecode/model/forms.py:196
+msgid "invalid password"
+msgstr "無效的密碼"
+
+#: rhodecode/model/forms.py:197
+msgid "invalid user name"
+msgstr "無效的使用者名稱"
+
+#: rhodecode/model/forms.py:198
+msgid "Your account is disabled"
+msgstr "您的帳號已被停用"
+
+#: rhodecode/model/forms.py:233
+msgid "This username is not valid"
+msgstr "無效的使用者名稱"
+
+#: rhodecode/model/forms.py:245
+msgid "This repository name is disallowed"
+msgstr "不允許的版本庫名稱"
+
+#: rhodecode/model/forms.py:266
+#, python-format
+msgid "This repository already exists in group \"%s\""
+msgstr "這個版本庫已存在於群組 \"%s\""
+
+#: rhodecode/model/forms.py:274
+msgid "This repository already exists"
+msgstr "這個版本庫已經存在"
+
+#: rhodecode/model/forms.py:312
+#: rhodecode/model/forms.py:319
+msgid "invalid clone url"
+msgstr "無效的複製URL"
+
+#: rhodecode/model/forms.py:322
+msgid "Invalid clone url, provide a valid clone http\\s url"
+msgstr ""
+
+#: rhodecode/model/forms.py:334
+msgid "Fork have to be the same type as original"
+msgstr "Fork 必須使用相同的版本庫類型"
+
+#: rhodecode/model/forms.py:341
+msgid "This username or users group name is not valid"
+msgstr "使用者名稱或群組名稱無效"
+
+#: rhodecode/model/forms.py:403
+msgid "This is not a valid path"
+msgstr "不是一個有效的路徑"
+
+#: rhodecode/model/forms.py:416
+msgid "This e-mail address is already taken"
+msgstr "這個郵件位址已經使用了"
+
+#: rhodecode/model/forms.py:427
+msgid "This e-mail address doesn't exist."
+msgstr "這個郵件位址不存在"
+
+#: rhodecode/model/forms.py:447
+msgid "The LDAP Login attribute of the CN must be specified - this is the name of the attribute that is equivalent to 'username'"
+msgstr ""
+
+#: rhodecode/model/forms.py:466
+msgid "Please enter a login"
+msgstr "請登入"
+
+#: rhodecode/model/forms.py:467
+#, python-format
+msgid "Enter a value %(min)i characters long or more"
+msgstr ""
+
+#: rhodecode/model/forms.py:475
+msgid "Please enter a password"
+msgstr "請輸入密碼"
+
+#: rhodecode/model/forms.py:476
+#, python-format
+msgid "Enter %(min)i characters or more"
+msgstr ""
+
+#: rhodecode/model/user.py:145
+msgid "[RhodeCode] New User registration"
+msgstr "[RhodeCode] 新使用者註冊"
+
+#: rhodecode/model/user.py:157
+#: rhodecode/model/user.py:179
+msgid "You can't Edit this user since it's crucial for entire application"
+msgstr "您無法編輯這個使用者,因為他是系統帳號"
+
+#: rhodecode/model/user.py:201
+msgid "You can't remove this user since it's crucial for entire application"
+msgstr "您無法移除這個使用者,因為他是系統帳號"
+
+#: rhodecode/model/user.py:204
+#, python-format
+msgid "This user still owns %s repositories and cannot be removed. Switch owners or remove those repositories"
+msgstr "這個使用者擁有 %s 個版本庫所以無法移除,請先變更版本庫擁有者或者刪除版本庫"
+
+#: rhodecode/templates/index.html:4
+msgid "Dashboard"
+msgstr "儀表板"
+
+#: rhodecode/templates/index_base.html:22
+#: rhodecode/templates/admin/users/user_edit_my_account.html:102
+msgid "quick filter..."
+msgstr "快速過濾..."
+
+#: rhodecode/templates/index_base.html:23
+#: rhodecode/templates/base/base.html:300
+msgid "repositories"
+msgstr "個版本庫"
+
+#: rhodecode/templates/index_base.html:29
+#: rhodecode/templates/admin/repos/repos.html:22
+msgid "ADD NEW REPOSITORY"
+msgstr "新增版本庫"
+
+#: rhodecode/templates/index_base.html:41
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:32
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:32
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:33
+#: rhodecode/templates/admin/users_groups/users_group_add.html:32
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:33
+msgid "Group name"
+msgstr "群組名稱"
+
+#: rhodecode/templates/index_base.html:42
+#: rhodecode/templates/index_base.html:73
+#: rhodecode/templates/admin/repos/repo_add_base.html:44
+#: rhodecode/templates/admin/repos/repo_edit.html:64
+#: rhodecode/templates/admin/repos/repos.html:31
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:41
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:41
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:34
+#: rhodecode/templates/settings/repo_fork.html:40
+#: rhodecode/templates/settings/repo_settings.html:40
+#: rhodecode/templates/summary/summary.html:92
+msgid "Description"
+msgstr "描述"
+
+#: rhodecode/templates/index_base.html:53
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:46
+msgid "Repositories group"
+msgstr "版本庫群組"
+
+#: rhodecode/templates/index_base.html:72
+#: rhodecode/templates/admin/repos/repo_add_base.html:9
+#: rhodecode/templates/admin/repos/repo_edit.html:32
+#: rhodecode/templates/admin/repos/repos.html:30
+#: rhodecode/templates/admin/users/user_edit_my_account.html:117
+#: rhodecode/templates/files/files_browser.html:157
+#: rhodecode/templates/settings/repo_settings.html:31
+#: rhodecode/templates/summary/summary.html:31
+#: rhodecode/templates/summary/summary.html:107
+msgid "Name"
+msgstr "名稱"
+
+#: rhodecode/templates/index_base.html:74
+#: rhodecode/templates/admin/repos/repos.html:32
+#: rhodecode/templates/summary/summary.html:114
+msgid "Last change"
+msgstr "最後修改"
+
+#: rhodecode/templates/index_base.html:75
+#: rhodecode/templates/admin/repos/repos.html:33
+msgid "Tip"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:76
+#: rhodecode/templates/admin/repos/repo_edit.html:97
+msgid "Owner"
+msgstr "擁有者"
+
+#: rhodecode/templates/index_base.html:77
+#: rhodecode/templates/journal/public_journal.html:20
+#: rhodecode/templates/summary/summary.html:180
+#: rhodecode/templates/summary/summary.html:183
+msgid "RSS"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:78
+#: rhodecode/templates/journal/public_journal.html:23
+#: rhodecode/templates/summary/summary.html:181
+#: rhodecode/templates/summary/summary.html:184
+msgid "Atom"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:87
+#: rhodecode/templates/index_base.html:89
+#: rhodecode/templates/index_base.html:91
+#: rhodecode/templates/base/base.html:209
+#: rhodecode/templates/base/base.html:211
+#: rhodecode/templates/base/base.html:213
+#: rhodecode/templates/summary/summary.html:4
+msgid "Summary"
+msgstr "概況"
+
+#: rhodecode/templates/index_base.html:95
+#: rhodecode/templates/index_base.html:97
+#: rhodecode/templates/index_base.html:99
+#: rhodecode/templates/base/base.html:225
+#: rhodecode/templates/base/base.html:227
+#: rhodecode/templates/base/base.html:229
+#: rhodecode/templates/changelog/changelog.html:6
+#: rhodecode/templates/changelog/changelog.html:14
+msgid "Changelog"
+msgstr "修改紀錄"
+
+#: rhodecode/templates/index_base.html:103
+#: rhodecode/templates/index_base.html:105
+#: rhodecode/templates/index_base.html:107
+#: rhodecode/templates/base/base.html:268
+#: rhodecode/templates/base/base.html:270
+#: rhodecode/templates/base/base.html:272
+#: rhodecode/templates/files/files.html:4
+msgid "Files"
+msgstr "檔案"
+
+#: rhodecode/templates/index_base.html:116
+#: rhodecode/templates/admin/repos/repos.html:42
+#: rhodecode/templates/admin/users/user_edit_my_account.html:127
+#: rhodecode/templates/summary/summary.html:48
+msgid "Mercurial repository"
+msgstr "Mercurial 版本庫"
+
+#: rhodecode/templates/index_base.html:118
+#: rhodecode/templates/admin/repos/repos.html:44
+#: rhodecode/templates/admin/users/user_edit_my_account.html:129
+#: rhodecode/templates/summary/summary.html:51
+msgid "Git repository"
+msgstr "Git 版本庫"
+
+#: rhodecode/templates/index_base.html:123
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:16
+#: rhodecode/templates/journal/journal.html:53
+#: rhodecode/templates/summary/summary.html:56
+msgid "private repository"
+msgstr "私有版本庫"
+
+#: rhodecode/templates/index_base.html:125
+#: rhodecode/templates/journal/journal.html:55
+#: rhodecode/templates/summary/summary.html:58
+msgid "public repository"
+msgstr "公開版本庫"
+
+#: rhodecode/templates/index_base.html:133
+#: rhodecode/templates/base/base.html:291
+#: rhodecode/templates/settings/repo_fork.html:13
+msgid "fork"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:134
+#: rhodecode/templates/admin/repos/repos.html:60
+#: rhodecode/templates/admin/users/user_edit_my_account.html:143
+#: rhodecode/templates/summary/summary.html:69
+#: rhodecode/templates/summary/summary.html:71
+msgid "Fork of"
+msgstr ""
+
+#: rhodecode/templates/index_base.html:155
+#: rhodecode/templates/admin/repos/repos.html:73
+msgid "No changesets yet"
+msgstr "尚未有任何變更"
+
+#: rhodecode/templates/index_base.html:161
+#: rhodecode/templates/index_base.html:163
+#, python-format
+msgid "Subscribe to %s rss feed"
+msgstr "訂閱 %s rss"
+
+#: rhodecode/templates/index_base.html:168
+#: rhodecode/templates/index_base.html:170
+#, python-format
+msgid "Subscribe to %s atom feed"
+msgstr "訂閱 %s atom"
+
+#: rhodecode/templates/login.html:5
+#: rhodecode/templates/login.html:54
+#: rhodecode/templates/base/base.html:38
+msgid "Sign In"
+msgstr "登入"
+
+#: rhodecode/templates/login.html:21
+msgid "Sign In to"
+msgstr "登入"
+
+#: rhodecode/templates/login.html:31
+#: rhodecode/templates/register.html:20
+#: rhodecode/templates/admin/admin_log.html:5
+#: rhodecode/templates/admin/users/user_add.html:32
+#: rhodecode/templates/admin/users/user_edit.html:47
+#: rhodecode/templates/admin/users/user_edit_my_account.html:45
+#: rhodecode/templates/base/base.html:15
+#: rhodecode/templates/summary/summary.html:106
+msgid "Username"
+msgstr "帳號"
+
+#: rhodecode/templates/login.html:40
+#: rhodecode/templates/register.html:29
+#: rhodecode/templates/admin/ldap/ldap.html:46
+#: rhodecode/templates/admin/users/user_add.html:41
+#: rhodecode/templates/base/base.html:24
+msgid "Password"
+msgstr "密碼"
+
+#: rhodecode/templates/login.html:60
+msgid "Forgot your password ?"
+msgstr "忘記您的密碼?"
+
+#: rhodecode/templates/login.html:63
+#: rhodecode/templates/base/base.html:35
+msgid "Don't have an account ?"
+msgstr "沒有帳號?"
+
+#: rhodecode/templates/password_reset.html:5
+msgid "Reset your password"
+msgstr "重設您的密碼"
+
+#: rhodecode/templates/password_reset.html:11
+msgid "Reset your password to"
+msgstr "重設您的密碼"
+
+#: rhodecode/templates/password_reset.html:21
+msgid "Email address"
+msgstr "郵件位址"
+
+#: rhodecode/templates/password_reset.html:30
+msgid "Reset my password"
+msgstr "重設我的密碼"
+
+#: rhodecode/templates/password_reset.html:31
+msgid "Password reset link will be send to matching email address"
+msgstr "密碼重設連結已郵寄至您的信箱"
+
+#: rhodecode/templates/register.html:5
+#: rhodecode/templates/register.html:74
+msgid "Sign Up"
+msgstr "登入"
+
+#: rhodecode/templates/register.html:11
+msgid "Sign Up to"
+msgstr "登入"
+
+#: rhodecode/templates/register.html:38
+msgid "Re-enter password"
+msgstr "確認密碼"
+
+#: rhodecode/templates/register.html:47
+#: rhodecode/templates/admin/users/user_add.html:50
+#: rhodecode/templates/admin/users/user_edit.html:74
+#: rhodecode/templates/admin/users/user_edit_my_account.html:63
+msgid "First Name"
+msgstr "名"
+
+#: rhodecode/templates/register.html:56
+#: rhodecode/templates/admin/users/user_add.html:59
+#: rhodecode/templates/admin/users/user_edit.html:83
+#: rhodecode/templates/admin/users/user_edit_my_account.html:72
+msgid "Last Name"
+msgstr "姓"
+
+#: rhodecode/templates/register.html:65
+#: rhodecode/templates/admin/users/user_add.html:68
+#: rhodecode/templates/admin/users/user_edit.html:92
+#: rhodecode/templates/admin/users/user_edit_my_account.html:81
+#: rhodecode/templates/summary/summary.html:108
+msgid "Email"
+msgstr "電子郵件"
+
+#: rhodecode/templates/register.html:76
+msgid "Your account will be activated right after registration"
+msgstr "您的帳號註冊後將會啟用"
+
+#: rhodecode/templates/register.html:78
+msgid "Your account must wait for activation by administrator"
+msgstr "您的帳號註冊後將等待管理員啟用"
+
+#: rhodecode/templates/repo_switcher_list.html:14
+msgid "Private repository"
+msgstr "私有的版本庫"
+
+#: rhodecode/templates/repo_switcher_list.html:19
+msgid "Public repository"
+msgstr "公開的版本庫"
+
+#: rhodecode/templates/admin/admin.html:5
+#: rhodecode/templates/admin/admin.html:9
+msgid "Admin journal"
+msgstr "管理員日誌"
+
+#: rhodecode/templates/admin/admin_log.html:6
+msgid "Action"
+msgstr "動作"
+
+#: rhodecode/templates/admin/admin_log.html:7
+msgid "Repository"
+msgstr "版本庫"
+
+#: rhodecode/templates/admin/admin_log.html:8
+msgid "Date"
+msgstr "時間"
+
+#: rhodecode/templates/admin/admin_log.html:9
+msgid "From IP"
+msgstr "來源IP"
+
+#: rhodecode/templates/admin/admin_log.html:52
+msgid "No actions yet"
+msgstr ""
+
+#: rhodecode/templates/admin/ldap/ldap.html:5
+msgid "LDAP administration"
+msgstr "LDAP管理者"
+
+#: rhodecode/templates/admin/ldap/ldap.html:11
+msgid "Ldap"
+msgstr ""
+
+#: rhodecode/templates/admin/ldap/ldap.html:28
+msgid "Connection settings"
+msgstr "連接設定"
+
+#: rhodecode/templates/admin/ldap/ldap.html:30
+msgid "Enable LDAP"
+msgstr "啟動LDAP"
+
+#: rhodecode/templates/admin/ldap/ldap.html:34
+msgid "Host"
+msgstr "主機"
+
+#: rhodecode/templates/admin/ldap/ldap.html:38
+msgid "Port"
+msgstr "連接埠"
+
+#: rhodecode/templates/admin/ldap/ldap.html:42
+msgid "Account"
+msgstr "帳號"
+
+#: rhodecode/templates/admin/ldap/ldap.html:50
+msgid "Connection security"
+msgstr "連接安全性"
+
+#: rhodecode/templates/admin/ldap/ldap.html:54
+msgid "Certificate Checks"
+msgstr "憑證確認"
+
+#: rhodecode/templates/admin/ldap/ldap.html:57
+msgid "Search settings"
+msgstr "搜尋選項"
+
+#: rhodecode/templates/admin/ldap/ldap.html:59
+msgid "Base DN"
+msgstr ""
+
+#: rhodecode/templates/admin/ldap/ldap.html:63
+msgid "LDAP Filter"
+msgstr ""
+
+#: rhodecode/templates/admin/ldap/ldap.html:67
+msgid "LDAP Search Scope"
+msgstr ""
+
+#: rhodecode/templates/admin/ldap/ldap.html:70
+msgid "Attribute mappings"
+msgstr "屬性對應"
+
+#: rhodecode/templates/admin/ldap/ldap.html:72
+msgid "Login Attribute"
+msgstr "登入屬性"
+
+#: rhodecode/templates/admin/ldap/ldap.html:76
+msgid "First Name Attribute"
+msgstr "名"
+
+#: rhodecode/templates/admin/ldap/ldap.html:80
+msgid "Last Name Attribute"
+msgstr "姓"
+
+#: rhodecode/templates/admin/ldap/ldap.html:84
+msgid "E-mail Attribute"
+msgstr "電子郵件屬性"
+
+#: rhodecode/templates/admin/ldap/ldap.html:89
+#: rhodecode/templates/admin/settings/hooks.html:73
+#: rhodecode/templates/admin/users/user_edit.html:117
+#: rhodecode/templates/admin/users/user_edit.html:142
+#: rhodecode/templates/admin/users/user_edit_my_account.html:89
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:263
+msgid "Save"
+msgstr "儲存"
+
+#: rhodecode/templates/admin/permissions/permissions.html:5
+msgid "Permissions administration"
+msgstr "權限管理員"
+
+#: rhodecode/templates/admin/permissions/permissions.html:11
+#: rhodecode/templates/admin/repos/repo_edit.html:109
+#: rhodecode/templates/admin/users/user_edit.html:127
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:248
+#: rhodecode/templates/settings/repo_settings.html:58
+msgid "Permissions"
+msgstr "權限"
+
+#: rhodecode/templates/admin/permissions/permissions.html:24
+msgid "Default permissions"
+msgstr "預設權限"
+
+#: rhodecode/templates/admin/permissions/permissions.html:31
+msgid "Anonymous access"
+msgstr "訪客權限"
+
+#: rhodecode/templates/admin/permissions/permissions.html:41
+msgid "Repository permission"
+msgstr "版本庫權限"
+
+#: rhodecode/templates/admin/permissions/permissions.html:49
+msgid "All default permissions on each repository will be reset to choosen permission, note that all custom default permission on repositories will be lost"
+msgstr ""
+
+#: rhodecode/templates/admin/permissions/permissions.html:50
+msgid "overwrite existing settings"
+msgstr "複寫已存在設定"
+
+#: rhodecode/templates/admin/permissions/permissions.html:55
+msgid "Registration"
+msgstr "註冊"
+
+#: rhodecode/templates/admin/permissions/permissions.html:63
+msgid "Repository creation"
+msgstr "版本庫建立"
+
+#: rhodecode/templates/admin/permissions/permissions.html:71
+msgid "set"
+msgstr "設定"
+
+#: rhodecode/templates/admin/repos/repo_add.html:5
+#: rhodecode/templates/admin/repos/repo_add_create_repository.html:5
+msgid "Add repository"
+msgstr "新增版本庫"
+
+#: rhodecode/templates/admin/repos/repo_add.html:11
+#: rhodecode/templates/admin/repos/repo_edit.html:11
+#: rhodecode/templates/admin/repos/repos.html:10
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:10
+msgid "Repositories"
+msgstr "版本庫"
+
+#: rhodecode/templates/admin/repos/repo_add.html:13
+msgid "add new"
+msgstr "新增"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:20
+#: rhodecode/templates/summary/summary.html:80
+#: rhodecode/templates/summary/summary.html:82
+msgid "Clone from"
+msgstr "複製由"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:28
+#: rhodecode/templates/admin/repos/repo_edit.html:48
+#: rhodecode/templates/admin/repos_groups/repos_groups.html:4
+msgid "Repository group"
+msgstr "版本庫群組"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:36
+#: rhodecode/templates/admin/repos/repo_edit.html:56
+msgid "Type"
+msgstr "類型"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:52
+#: rhodecode/templates/admin/repos/repo_edit.html:73
+#: rhodecode/templates/settings/repo_fork.html:48
+#: rhodecode/templates/settings/repo_settings.html:49
+msgid "Private"
+msgstr "私有"
+
+#: rhodecode/templates/admin/repos/repo_add_base.html:59
+msgid "add"
+msgstr "新增"
+
+#: rhodecode/templates/admin/repos/repo_add_create_repository.html:9
+msgid "add new repository"
+msgstr "新增版本庫"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:5
+msgid "Edit repository"
+msgstr "編輯版本庫"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:13
+#: rhodecode/templates/admin/users/user_edit.html:13
+#: rhodecode/templates/admin/users/user_edit_my_account.html:148
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:13
+#: rhodecode/templates/files/files_annotate.html:49
+#: rhodecode/templates/files/files_source.html:20
+msgid "edit"
+msgstr "編輯"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:40
+msgid "Clone uri"
+msgstr "複製URL"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:81
+msgid "Enable statistics"
+msgstr "啟用統計"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:89
+msgid "Enable downloads"
+msgstr "啟用下載"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:127
+msgid "Administration"
+msgstr "管理者"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:130
+msgid "Statistics"
+msgstr "統計"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:134
+msgid "Reset current statistics"
+msgstr "重設目前的統計"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:134
+msgid "Confirm to remove current statistics"
+msgstr "確認移除目前的統計"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:137
+msgid "Fetched to rev"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:138
+msgid "Percentage of stats gathered"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:147
+msgid "Remote"
+msgstr "遠端"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:151
+msgid "Pull changes from remote location"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:151
+msgid "Confirm to pull changes from remote side"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:162
+msgid "Cache"
+msgstr "快取"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:166
+msgid "Invalidate repository cache"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit.html:166
+msgid "Confirm to invalidate repository cache"
+msgstr "確認廢止版本庫快取"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:177
+msgid "Remove from public journal"
+msgstr "從公開日誌移除"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:179
+msgid "Add to public journal"
+msgstr "新增至公開日誌"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:185
+msgid "Delete"
+msgstr "移除"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:189
+msgid "Remove this repository"
+msgstr "移除版本庫"
+
+#: rhodecode/templates/admin/repos/repo_edit.html:189
+#: rhodecode/templates/admin/repos/repos.html:79
+msgid "Confirm to delete this repository"
+msgstr "確認移除這個版本庫"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:3
+msgid "none"
+msgstr "無"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:4
+msgid "read"
+msgstr "讀"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:5
+msgid "write"
+msgstr "寫"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:6
+#: rhodecode/templates/admin/users/users.html:38
+#: rhodecode/templates/base/base.html:296
+msgid "admin"
+msgstr "管理員"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:7
+msgid "member"
+msgstr "成員"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:33
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:53
+msgid "revoke"
+msgstr ""
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:75
+msgid "Add another member"
+msgstr "新增另ㄧ位成員"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:89
+msgid "Failed to remove user"
+msgstr "移除使用者失敗"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:104
+msgid "Failed to remove users group"
+msgstr "移除使用者群組失敗"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:205
+msgid "Group"
+msgstr "群組"
+
+#: rhodecode/templates/admin/repos/repo_edit_perms.html:206
+#: rhodecode/templates/admin/users_groups/users_groups.html:33
+msgid "members"
+msgstr "成員"
+
+#: rhodecode/templates/admin/repos/repos.html:5
+msgid "Repositories administration"
+msgstr "版本庫管理員"
+
+#: rhodecode/templates/admin/repos/repos.html:34
+#: rhodecode/templates/summary/summary.html:100
+msgid "Contact"
+msgstr "聯絡方式"
+
+#: rhodecode/templates/admin/repos/repos.html:35
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:36
+#: rhodecode/templates/admin/users/user_edit_my_account.html:119
+#: rhodecode/templates/admin/users/users.html:40
+#: rhodecode/templates/admin/users_groups/users_groups.html:35
+msgid "action"
+msgstr "動作"
+
+#: rhodecode/templates/admin/repos/repos.html:51
+#: rhodecode/templates/admin/users/user_edit_my_account.html:134
+#: rhodecode/templates/admin/users/user_edit_my_account.html:148
+msgid "private"
+msgstr "私有"
+
+#: rhodecode/templates/admin/repos/repos.html:53
+#: rhodecode/templates/admin/repos/repos.html:59
+#: rhodecode/templates/admin/users/user_edit_my_account.html:136
+#: rhodecode/templates/admin/users/user_edit_my_account.html:142
+#: rhodecode/templates/summary/summary.html:68
+msgid "public"
+msgstr "公開"
+
+#: rhodecode/templates/admin/repos/repos.html:79
+#: rhodecode/templates/admin/users/users.html:55
+msgid "delete"
+msgstr "刪除"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups.html:8
+msgid "Groups"
+msgstr "群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups.html:13
+msgid "with"
+msgstr ""
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:5
+msgid "Add repos group"
+msgstr "新增版本庫群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:10
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:10
+msgid "Repos groups"
+msgstr "版本庫群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:12
+msgid "add new repos group"
+msgstr "新增版本庫群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:50
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:50
+msgid "Group parent"
+msgstr "父群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_add.html:58
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:58
+#: rhodecode/templates/admin/users/user_add.html:85
+#: rhodecode/templates/admin/users_groups/users_group_add.html:49
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:90
+msgid "save"
+msgstr "儲存"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:5
+msgid "Edit repos group"
+msgstr "編輯版本庫群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_edit.html:12
+msgid "edit repos group"
+msgstr "編輯版本庫群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:5
+msgid "Repositories groups administration"
+msgstr "版本庫群組管理員"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:22
+msgid "ADD NEW GROUP"
+msgstr "新增群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:35
+msgid "Number of repositories"
+msgstr "版本庫數量"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:54
+msgid "Confirm to delete this group"
+msgstr "確認刪除這個群組"
+
+#: rhodecode/templates/admin/repos_groups/repos_groups_show.html:62
+msgid "There are no repositories groups yet"
+msgstr "沒有任何版本庫群組"
+
+#: rhodecode/templates/admin/settings/hooks.html:5
+#: rhodecode/templates/admin/settings/settings.html:5
+msgid "Settings administration"
+msgstr "設定管理員"
+
+#: rhodecode/templates/admin/settings/hooks.html:9
+#: rhodecode/templates/admin/settings/settings.html:9
+#: rhodecode/templates/settings/repo_settings.html:5
+#: rhodecode/templates/settings/repo_settings.html:13
+msgid "Settings"
+msgstr "設定"
+
+#: rhodecode/templates/admin/settings/hooks.html:24
+msgid "Built in hooks - read only"
+msgstr "內建hook - 唯讀"
+
+#: rhodecode/templates/admin/settings/hooks.html:40
+msgid "Custom hooks"
+msgstr "自訂hook"
+
+#: rhodecode/templates/admin/settings/hooks.html:56
+msgid "remove"
+msgstr "移除"
+
+#: rhodecode/templates/admin/settings/hooks.html:88
+msgid "Failed to remove hook"
+msgstr "移除hook失敗"
+
+#: rhodecode/templates/admin/settings/settings.html:24
+msgid "Remap and rescan repositories"
+msgstr "重新對映與掃描版本庫"
+
+#: rhodecode/templates/admin/settings/settings.html:32
+msgid "rescan option"
+msgstr "重新掃描選項"
+
+#: rhodecode/templates/admin/settings/settings.html:38
+msgid "In case a repository was deleted from filesystem and there are leftovers in the database check this option to scan obsolete data in database and remove it."
+msgstr "如果版本庫已從檔案系統中刪除,但是資料還留在資料庫,請勾選這個項目清理資料庫中舊的資料"
+
+#: rhodecode/templates/admin/settings/settings.html:39
+msgid "destroy old data"
+msgstr "移除舊資料"
+
+#: rhodecode/templates/admin/settings/settings.html:45
+msgid "Rescan repositories"
+msgstr "重新掃描版本庫"
+
+#: rhodecode/templates/admin/settings/settings.html:51
+msgid "Whoosh indexing"
+msgstr "Whoosh 索引"
+
+#: rhodecode/templates/admin/settings/settings.html:59
+msgid "index build option"
+msgstr "索引選項"
+
+#: rhodecode/templates/admin/settings/settings.html:64
+msgid "build from scratch"
+msgstr "重頭建立索引"
+
+#: rhodecode/templates/admin/settings/settings.html:70
+msgid "Reindex"
+msgstr "重新索引"
+
+#: rhodecode/templates/admin/settings/settings.html:76
+msgid "Global application settings"
+msgstr "全域設定"
+
+#: rhodecode/templates/admin/settings/settings.html:85
+msgid "Application name"
+msgstr "應用名稱"
+
+#: rhodecode/templates/admin/settings/settings.html:94
+msgid "Realm text"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:103
+msgid "GA code"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:111
+#: rhodecode/templates/admin/settings/settings.html:177
+msgid "Save settings"
+msgstr "儲存設定"
+
+#: rhodecode/templates/admin/settings/settings.html:112
+#: rhodecode/templates/admin/settings/settings.html:178
+#: rhodecode/templates/admin/users/user_edit.html:118
+#: rhodecode/templates/admin/users/user_edit.html:143
+#: rhodecode/templates/admin/users/user_edit_my_account.html:90
+#: rhodecode/templates/admin/users_groups/users_group_edit.html:264
+#: rhodecode/templates/files/files_edit.html:50
+msgid "Reset"
+msgstr "重設"
+
+#: rhodecode/templates/admin/settings/settings.html:118
+msgid "Mercurial settings"
+msgstr "Mercurial 設定"
+
+#: rhodecode/templates/admin/settings/settings.html:127
+msgid "Web"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:132
+msgid "require ssl for pushing"
+msgstr "推送時要求使用SSL"
+
+#: rhodecode/templates/admin/settings/settings.html:139
+msgid "Hooks"
+msgstr ""
+
+#: rhodecode/templates/admin/settings/settings.html:142
+msgid "advanced setup"